Константин Аладышев
@Kostr
Инженер-программист
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Embedded Software Engineer
Lead
babooshka tv, как самодельный видео-показатор сместил «точку сборки» моих пожилых родителей
У меня правда немного другой концепт. Дома валялась Raspberry Pi 3b+ и я просто подключил её к монитору по HDMI. Дополнительно для более мощного звука подключил колонки к монитору (а то родные мне нормально, а вот бабуле боюсь тиховато были бы). Через активный USB хаб подключил к малине жёсткий диск на 500ГБ, куда записываю фото-видео в папки Program_1, Program_2,… Скрипт на Python при загрузке системы парсит содержимое папок (определяет длительности видео) и считает «продолжительность канала». Определяем текущее время канала по формуле «время малины % продолжительность канала», и таким образом делаем ощущение, что каналы работают в реальном времени. Управление точно также с ИК датчика (у меня это стандартный KY-022) через lirc, пульт купил с самыми большими кнопками в обычном магазине.
У меня каналы тематические:
— Передачи про животных (Документали Дэвида Аттенборо вроде «Семь миров одна планета»)
— Старые советские фильмы
— Научно-популярные передачи («Космос: пространство и время», «Неизвестная планета Земля»...)
— Старые французские фильмы (Пьер Ришар, Луи Де Фюнес, Фантомас и все-все-все)
— Современное кино
— Опера
— Балет
— Цирк Дю Солеи
— Старые семейные ЧБ фотографии
— Цветные семейные фотографии и видео
Видео проигрываю с помощью VLC и python-bindings для него, а фотки показываю с помощью feh.
Модный корпус делать не стал, просто купил пилот с кнопкой, включил в него все БП, и упаковал так, чтобы только кнопка виднелась с огоньком (чтобы можно было на неё нажать, и всё обесточить, чтобы бабуля была максимально спокойна). А малину прикрепил к обратной стороне монитора.
Для пульта сделал фотоинструкцию с тем, какие кнопки, что значат. Я правда ограничился кнопками программ, выключения, «громче-тише звук» и «следующая-предыдущая программа». Дополнительно сделал «перемотку на следующую-предыдущую» передачу и «показать/скрыть название фильма и оставшееся время», но пока их не презентовал бабуле, жду пока освоит основной функционал =)
Связь драйвера и устройства по _HID методу ACPI на примере GPIO контроллера Lynxpoint
Для своих плат мы просто снимаем лог с UART, т.к. специально проектировали платы с соответствующим SuperIO, чтобы была такая возможность. В этом случае необходимости ни в Post карте, ни в USB-debug не возникает.
При портировании coreboot на проприетарные платы как-то пришлось ковыряться с LPC анализатором, чтобы посмотреть, как надо инициализировать местный SuperIO на который не было даташита в открытом доступе.
Помимо открытых источников информации у нас есть NDA с Intel и AMD, это даёт нам доступ к программным даташитам на процессор и чипсет, этого хватает. Без них же остаётся только уповать на то, что в coreboot всё портировали правильно (спойлер — это маловероятно), и модификация крайне затруднена.
В итоге порог вхождения в тему зависит от того насколько ваша кастомная плата будет отличаться от ближайшего аналога в coreboot, и от того насколько хорошо этот аналог поддерживается сам в coreboot.
Прерывания от внешних устройств в системе x86. Часть 1. Эволюция контроллеров прерываний
Прерывания от внешних устройств в системе x86. Часть 3. Настройка роутинга прерываний в чипсете на примере coreboot
Прерывания от внешних устройств в системе x86. Часть 2. Опции загрузки ядра Linux
Прерывания от внешних устройств в системе x86. Часть 2. Опции загрузки ядра Linux
Прерывания от внешних устройств в системе x86. Часть 1. Эволюция контроллеров прерываний
Прерывания от внешних устройств в системе x86. Часть 1. Эволюция контроллеров прерываний
Прерывания от внешних устройств в системе x86. Часть 1. Эволюция контроллеров прерываний