TGViewer
Channel Public Channel
IggyTech

IggyTech

@iggy_tech

Привет! В этом канале делюсь опытом из мира электроники и программирования: как собрать отечественную игровую консоль, запрограммировать робота, настроить ci/cd. Также новости, мемы, ошибки - все в этом технодневнике

https://boosty.to/voryabchevsky
Subscribers
48
Photos
80
Videos
17
Links
59

Showing posts older than #73 · Back to latest

Older Posts 20 shown
Post #72 92
В рамках опроса по целевой ОС на устройстве, восьмая часть респондентов выбрала android. С одной стороны — под него сделано действительно немало игр, но большинство из них заточены на сенсорный экран. Малая часть игр поддерживает геймпады, но если поддерживают, то это порты или клоны с ПК версий.
В рамках gameдни мне попалась в руки DVTech Android 001 (OEM GameMT E6 Max). По названию девайса (обзор чуть позже, но в интернете явно уже есть) понятно какая ОС, и она меня разочаровывает. Как ОС в общем случае — окей, оно поддерживает многозадачность, работу с файлами и переферией. Но встроенная игровая оболочка, сами игры, неадаптированность ОС к железу — довольно печально.
Как отметил @divannyi_it

Делюсь, мне абсолютно неважно, какая система будет стоять. Я считаю, что должно быть несколько консолей на нескольких системах.

На мой взгляд, в этих консолях важно, чтобы пользовательский опыт не множился на ноль.


И кажется, что андроид не наш вариант. Это достаточно большой и тяжелый программный продукт с неочевидными плюсами. В целом, я согласен даже на оболочку phosh (😭), но это должен быть стабильный linux с хорошей интеграцией консольного взаимодействия (ну примерно как steam os). Но, пока есть все исходники железа есть неплохие шансы выпустить хороший продукт.
  • 😱 2
Post #70 73
Трассировка плат — прикольный и увлекательный процесс, пока это простые и небольшие схемы. Большую часть девайсов последнее время пректирую в kicad. Взял микруху, согласовал уровни и прибор готов. Нередко игрался с автотрассировщиками. При грамотном расположении компонентов он быстро прокладывал дорожки между всеми компонентами. В какой то момент с выводных компонентов перешел на smd, платы стали меньше, изготовление проще, но сложнее в пайке.
При разработке материнской платы консоли столкнулся с резко возросшей сложностью и очень кропотливой работы. Сейчас необходимо четко прописывать все шины, правила и ограничения на каждую из них, учитывать длину дорожки, импеданс дифф пар, частоты интерфейсов. Это только часть что вспомнил. Также нужно учитывать ограничения производства, и не повышать класс точности без необходимости, иначе стоимость улетает в небо (хотя такие технологии сейчас у всех в кармане). Еще из ньюансов — в открытых источниках недостаточно информации о грамотном проектировании современных высокоскоростных интерфейсов и приходится добывать знания на отдельных курсах 🧐 (так что с изучением языка и тремя курсами по созданию устройств сейчас снова как студент🤷‍♂️)
GitHub KiCad EDA KiCad, your open source tool for schematic design and pcb capture - KiCad EDA
  • 🔥 4
Post #69 70
После проверки дифференциальных пар интерфейса дисплей по какому-то волшебству завелся. Пока что снова на 6.1 и с костылями в драйвере, но работает 🐧
  • 🔥 5
  • 👍 1
Post #68 82
За выходные успешно собралось ядро, драйвер дисплея, дерево устройств, части корпуса. Загрузка ОС проходит без ошибок и стабильно, дисплей определяется, но картинка не выводится 🤷‍♂️ пока выясняю, проблема на физическом уровне или все же системном. Надеюсь, за следующий вечер смогу пофиксить это ньюанс
  • 🔥 5
Post #67 75
Выходной для сборки операционной системы. Попробую завести новый драйвер для дисплея и обновить некоторые пакеты
  • 🔥 5
Post #66 76
Драйвер для новой панели в работе. Вроде те же вызовы mipi dsi, те же 4 линии, но контроллер другой 🤷‍♂️
  • 🔥 5
Post #65 84
Напечатал печатную плату 🤷‍♂️ сносный вариант для макетирования, но не самая высокая точность. Можно сделать точнее на sla принтере, но много химии, щелочи. Здесь же от задумки до макета ушел час. Идея в целом не новая, но крайне годная.
По наставлению друга заменил «шумные» kls7 на тихие smd кнопочки 👉
  • 😱 1
Post #64 81
Не без приключений, но сообщество в вк создано! Так что подписывайтесь на всякий случай и там, по возможности настрою автоматический кросспостинг и докину уже созданный «контент». Ну, по крайней мере все видосики теперь будут в одном месте
  • ❤ 2
Post #63 80
Тестирую новый вариант изготовления толкателей кнопок и работу ams системы. Зачем-то напечатался блок, по массе как все кнопки 🤷‍♂️
  • 🔥 1
  • 😁 1
Post #62 86
IggyOS — вероятное название моей операционной системы, которую вы скорее всего не увидите. Почему? — сделать свою ОС на базе opensource решений очень просто. Нужно всего лишь собрать ядро linux, саму ОС и загрузчик (например, uboot). Также можно создать свой репозиторий с приложениями, поднять сервера для обновлений и тд и тп. Но дальше все это придется поддерживать, обновлять, следить, устранять уязвимости, помогать пользователям — долго, дорого, лениво. Но есть компании, которые разрабатывают ОС и поддерживают их. Именно по этому пути и планирую пойти в будущем.
В дальнейшем все наработки (драйвера, патчи ядра и загрузчика) будут переданы ответственным за адаптацию командам. А я тем временем смогу продолжить заниматься железом, дизайном и другими менее софтаерными вещами.

Также напоминаю о голосовании. Сейчас большинство за ВК, так что на выходных займусь оформлением группы.
  • 🔥 5
Post #61 72
Дисплеев и модулей экранов существует огромнейшее множество. От простых любительских и старых из телефонов или КПК, до производимых отдельно под каждый смартфон сегодня. Но, к счастью, большинство из них имеют один из стандартных интерфейсов:
- SPI или I2C — крайне простой интерфейс, который используют микроконтроллеры и кнопочные телефоны. Также есть в современных ePaper. Драйверов нет, просто рисуй пиксели. Идеален для микроконтроллеров, но медленный (ютубчик не посмотришь).
- LVDS (low-voltage differential signaling) — передача картинки по витой паре. Можно найти во многих потративных телевизорах и fpv мониторах. Зачастую низкое разрешение, но дешевые матрицы. Некоторые ПЛИС имею нативные дифференциальные пины для этого (думаю, попробовать на своей плате)
- RGB — параллельная шина. Бывает 24 разрядная, 16-ти (5 бит красной и синей компоненты, 6 зеленый) и меньше (а зачем?). Хорош для 32х битных МК, но практически не останется ножек для других сигналов.
- MIPI DSI — самый производительный интерфейс. Именно он в большинстве современных смартфонах. Использует 4 дифференциальные пары для данных и одну для тактирования. Работает только со специализированными чипами.
- eDP — display port для встраиваемых систем. Помимо ножек DP имеет пару дополнительных и расширенный набор команд. Для современных ноутбуков, пришел на замену LVDS.

Для консоли был выбран mipi dsi, но по началу было сплошное мучение. Пришлось выяснять у китайцев инициализирующую последовательность, анализировать их исходники с линуксом. Но теперь дисплей отлажен, работает и можно заменить на другой 👓
  • ✍ 2
Post #60 74
Сегодня без особых обновлений. Подобрал компоненты для новой версии девайса (на ней же попробую печатать платы), напечатал пару новых штучек для скалиса, забрал со сдека графические экраны с шиной RGB888. Последние хочу попробовать подключить к ПЛИС, такая шина наиболее нативна для них.

Из интересного: знакомый преподаватель из ОмГТУ написал про быстрый старт ПЛИС на хабр.

И прошу ответить вас на опрос выше. Кто знает, когда тг станет недоступным 🤷‍♂️ Если есть мысли по этому поводу — пишите в сообщениях или в личку
  • ❤ 5
Post #58 71
Робот запущен, протестирован, на выходных запаяю провода (кроме схвата, его заменю). Запуск не без приколов: тестовой программой чуть не выкинул ноутбук, за ним дисплей, потом увернулся и сам. Выяснил ньюанс: приводы в основании выставил недостаточно точно, они работают в противофазе, но постоянно перетягивают друг друга. За поездку от офиса до дома накидал решение обратной задачи кинематики, на 4 оси решается школьным курсом геометрии.

Написал ли я статью? Да, накидал половину черновика, осталось причесать код и отправлю редактору ❤️
  • 🔥 6
Post #57 68
Механика собрана. Вышло не без костылей, но все сидит достаточно плотно чтобы не развалиться при первом запуске. Теперь надо бы подготовить электропитание и накидать минимальную прошивку. Все ж промоделирую с ардуино, проверю каждый привод и потом уже буду тюнячить.

Инсайдерская инфа по консоли: нашел новый дисплей. На самом деле сейчас веду работы по изменению формы корпуса (вы ж проголосовали за psp), плюс формирую dts под материнскую плату, ищу новые драйверы (ну или опять писать придется за китайцев),так что скоро все увидите.
  • 🔥 6
  • 👍 1
  • 😱 1
Post #56 87
Закончив блок задач по ПЛИС возникло острое желание сделать робота. Файлы для принтера нашел в bambulab. Это довольно простой 5-осевой манипулятор. Чтобы kuka не подумали, что это их девайс - основание напечатал белым цветом. Сама конструкция (особенно схват) вызывает вопросы, но рефакторить и переделывать в ближайшем будущем не планирую (идею сделать своего коллаборативного робота все рано не откладываю).
Остается все это собрать, накидать прошивку. Однако, на arduino это сделать слишком просто, нет вызова. Думаю, попробую на отечественном чипе или даже на ПЛИС (это ведь будет VeriBot) По возможности — управление с телефона (выйдет не сложнее машинки).
Тем же вечером заказал на маркетплейсе кучу делалей (подшипников вышло в 5 раз больше необходимого). Занимательно, что один из продажников указал в карточке товара винты с головкой под шестигранник, а прислал болты с шестигранной головкой. Пришлось напечатать миниключ на 5.5 👓

Если кто в Питере захочет собрать аналогичный манипулятор — могу отсыпать метизов и подшипников и пару серв для схвата
  • 😱 4
  • 👍 1
  • 🔥 1
Post #55 64
Для успешной отладки заданий по курсу на столе начали появляться дополнительные приборы. Например, вечером ловил частоты и фазы делителя сигналов осциллографом. Думаю, теперь можно считать себя RTL инженером, пойду создавать свою SoC. Правда, я вообще слабо помню verilog, но quartus умеет экспортировать схему в этот язык описания устройств (уверен, этого достаточно)
  • 🔥 4
  • 😱 3
  • 💯 1
Post #54 66
Год назад сделал макет с трекпадом! За это время успел:
- написать драйвер для геймпада и дисплея;
- собрать linux;
- разработать платы для soc и для контроллера ввода;
- научиться правильно писать драйвера;
- сделать кучу вариантов корпуса;
- собрать рабочий макет.
Впереди — доработка, тюнячка и изготовление опытных образцов.

За все это время написал на хабр всего три статьи, будто стал резко непродуктивным 🤤 Написать текст длиннее 1000 символов стало сложной работой, мозг будто «закис». Так, задачка на неделю растянулась на полтора месяца. Думаю, надо вернуться к старо упоминание ритму, чтобы к концу года получить значок «звезда» на Хабр.
  • 🔥 6
  • ⚡ 1
Post #53 70
Sashikknox недавно портил Luanti (аналог minecraft) и легендарную GTA III. Это интересные проекты (а еще и opensource), однозначно пересоберу их под консоль. Из интересного: текущая soc консоли (на не самом свежем процессоре) поддерживает графику OpenGL 3.1 и Vulkan 1.4. Я надеялся запихать на девайс Proton, но в команде подсказали: с ходу не взлетит. Что ж, в первой итерации девайса придется играть в аналогичные порты и эмуляторы консолей😛
  • 🤔 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →