omi-firmware-patterns
Firmware C C++ BLE services audio codecs Opus PCM Mu-law nRF ESP32 Zephyr Arduino embedded systems
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Firmware C C++ BLE services audio codecs Opus PCM Mu-law nRF ESP32 Zephyr Arduino embedded systems
How to use
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.