omi-firmware-patterns
Wzorce firmware dla urządzeń Omi — BLE, kodeki audio i komunikacja embedded
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill zawierający gotowe wzorce i dokumentację do pracy z firmware'em urządzenia Omi. Obejmuje definicje usług BLE (w tym Audio Streaming Service), obsługę kodeków audio (Opus, PCM, Mu-law), format pakietów audio oraz przykłady kodu w C/C++ dla platform Zephyr RTOS, ESP32 i Arduino. Przydatny przy implementacji komunikacji bezprzewodowej, debugowaniu transmisji audio i konfigurowaniu charakterystyk BLE na urządzeniach wbudowanych.
Jak używać
Zainstaluj skill w swoim edytorze kodu (np. Cursor) wskazując repozytorium BasedHardware/omi — skill znajduje się w ścieżce .cursor/skills/omi-firmware-patterns.
Otwórz plik firmware'u w katalogu omi/ lub omiGlass/ i załaduj skill, gdy pracujesz nad kodem związanym z BLE lub audio.
Zapoznaj się z UUID usługi Audio Streaming (19B10000-E8F2-537E-4F6C-D104768A1214) oraz jej charakterystykami — Audio Data i Codec Type — aby poprawnie zdefiniować serwis BLE w swoim kodzie.
Zaimplementuj obsługę kodów kodeków: PCM 16-bit 16 kHz (kod 0), PCM 16-bit 8 kHz (kod 1), Mu-law 16 kHz (kod 10), Mu-law 8 kHz (kod 11) lub Opus 16 kHz (kod 20, domyślny od v1.0.3).
Strukturyzuj pakiety audio zgodnie z formatem: nagłówek 3 bajtów (numer pakietu + indeks) + ładunek 160 próbek audio. Jeśli pakiet przekracza MTU BLE, podziel go na wiele notyfikacji.
Użyj dostarczonych fragmentów kodu Zephyr RTOS (BT_GATT_SERVICE_DEFINE, send_audio_packet) jako szablonu do implementacji własnego serwisu BLE i transmisji danych audio na urządzeniu.