Giter VIP home page Giter VIP logo

confu_vr's Introduction

confu_vr

VR system based on Confu HDMI to MIPI board with two OLED displays

VR шлем на основе платы Confu HDMI to MIPI.

image

Плата содержит в себе конвертер HDMI to MIPI DSI Toshiba TC358870 и управляющий мироконтроллер STM32F103, в углу платы золтоая маркировка HDMI to DSI Version 1.2, в комплекте поставлялись дисплеи H381DLN01.2. На плате был обнаружен вывод разьема SWD, что позволило без труда считать оригинальную прошивку. В составе прошивки был обнаружен стандартный DFU загрузчик STM располагающийся по адресам 0х0000000 0х0003000, начиная со смещения 0х0003000 располагается основная прошивка микроконтрорллера. Ближняя к разьему DSI кнопка платы отвечает за передачу управления встроенному загрузчику. Необходимо зажать кнопку и подключить плату через USB к компьютеру. Плата будет обнаружена компьютером как STM Device in DFU mode. Используя утилиту DfuSe Demo от STM можно сделать резервную копию прошивки в формате .DFU и произвести загрузку новой прошивки. Интерфейс сохранения копии прошивки выделен красным на рисунке. image

Загрузчик по старой китайской традиции собран абы как и имеет два интерфеса DFU, один для внутренней flash а второй (не работающий) для SPI flash, что вызывает неадекватную работу ряда сторонних утилит позволяющих работать с DFU. Для быстрой прошивки кода в плату прямо из VS Code пришлось подправить немного проект https://github.com/IntergatedCircuits/LibUsbDfu, скомпилированная утилита включена в проект, скрипт Build and load from DFU при выполнении сразу прошивает скомпилированный код в плату используя утилиту для DFU. Для сборки проекта используется VS Code. Быстрая прошивка кода доступна через меню "Терминал->Запуск задачи->DFU: Build and load from DFU" VS Code". По неизвестной мне причине, разработчки платы не использовали линии аппаратного I2C процессора STM32. Что бы не менять дизайн платы пришлось использовать программный I2C в проекте. Точки подключения I2C на плате показаны на рисунке ниже image Что бы не отломить резисторы, я подпаял тонкие проводки к площадкам резисторов подтяжки и вывел I2C используя дорожки от неиспользуемых в схеме микросхем. К шине I2C подключен датчик трекера BNO055 и OLED дисплей 128x32 на базе SSD1306. Дисплей отображает информацию регистра состояния Toshiba TC358870, загруженный EDID, прочую информацию Дисплей можно не устанавливать, наличие дисплея код определит самостоятельно в процессе инициализации. Датчик трекера на базе GY-BNO055 9DOF. В качестве основы были использованы очки Fit VR, отладочный макет выглядит сегодня так image

Порядок действий

  1. Сохранить резервную копию прошивки платы используя DfuSe Demo или через STlink SWD
  2. Перевести плату в режим DFU (зажав нижнюю кнопку подключить USB)
  3. Открыть проект в VS Code, произвести сборку и прошивку проекта "Терминал->Запуск задачи->DFU: Build and load from DFU" VS Code".
  4. Скачать и установить комплект программного обеспечения OSVR http://assets.razerzone.com/eeimages/osvr/HDK_Windows_Installer_Beta_0.8.0.0.exe
  5. Скачать файлы конфигурации https://github.com/fa1ke5/confu_vr/blob/main/doc/srv_config.rar и распаковать содержимое в каталог C:\Program Files\HDK-Software-Suite\OSVR-Core\bin
  6. В утилите HDK Tray Application выбрать Options->Custom, указать файл osvr_config_HDK_2_extended_mode_no_cam_my.json
  7. Запустить сервер, установить и запустить SteamVR. Должен быть обнаружен VR шлем с трекером и запустится процедура настрoйки комнаты.

!!!!Важно

В текущих файлах конфигурации настройка дисторции соответствует оригинальному HDK OSVR находится она в файле OSVR_HDK_2_0_my.json раздел: "distortion": { "type": "mono_point_samples", "mono_point_samples_built_in": "OSVR_HDK_20_V1" }, Процедуру настройки выложу чуть позже......

Микропрограмма контроллера имеет встроенный USB Serial поддерживающий отладку. Краткий список команд доступен по команде h

Commands list:

H - help.

S - status register.

D - Display status register on OLED.

I - get chip ID.

F - find I2C devices.

confu_vr's People

Contributors

fa1ke5 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

confu_vr's Issues

Question

Здравствуйте. Я наткнулся на Ваш проект в процессе поиска информации по данным платам HDMI to MIPI. У меня аналогичная плата с разрешением экрана 2560х540, которая шла в комплекте с монохромным дисплеем для фотополимерного принтера разрешением 2560х1620. Для корректного отображения картинок с такой платой необходимо сжимать изображение по вертикали или горизонтали в три раза, что очень неудобно и уменьшает разрешение. Прошивок для платы в свободном доступе нет. Хотел узнать у Вас, возможно ли сконфигурировать Ваш проект под разрешение экрана 2560х1620?
[email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.