Balon podczas VII Mazowieckiego Pikniku Krótkofalarskiego w Celestynowie 22 września 2024 |
SP5LOT pisze: Dziękuję Ci. To bardzo pomocne. Spróbuję też coś pokombinować. To co na razie wykombinowałem to to, że: – tryb jest ustawiony na 11 – ofdmtv obsługuje tylko tryb 1 (dlatego twierdzi, że tryb jest nieobsługiwany) – Assempix ma dekoder napisany w C++ z nakładką w Javie – dekoder w Assempix obsługuje tryby od 6 do 13 (tryb 11 to parametry: carrier_count = 384, symbol_count = 56, mod_bits = 3) – te dwa dekodery niestety nie są łatwo podmienialne – mają inne API Skompilowałem dekoder z Assempix z pustym programem – kompiluje się. Trzeba tylko go teraz jakoś użyć. Jest API, ale nieudokumentowane – trzeba zagłębić się w kod Assempix: int process(uint32_t *spectrum_pixels, uint32_t *spectrogram_pixels, uint32_t *constellation_pixels, uint32_t *peak_meter_pixels, const int16_t *audio_buffer, int channel_select, int color_tint), void cached(float *cfo, int32_t *mode, int8_t *call), int fetch(uint8_t *payload), Jakbym miał strzelać to pewnie: – do audio_buffer w process() podajemy próbki wejściowe (w jakim formacie? Signed 16-bit w natywnym endianie? Do ustalenia), process() też aktualizuje spektrogram, konstelację, peak meter – cached() zwraca wartości, które sobie process() wczytało (CFO, tryb, znak) – fetch() zwraca obrazek Inna sprawa, że sam Assempix na komórce też nie chce mi nic dekodować (dekoduje znak i to wszystko, pokazuje błąd dekodowania) – testowane z głośników w laptopie i ze słuchawek przy mikrofonie telefonu. Z filmu, który wrzuciłeś w pierwszym poście, coś próbuje zdekodować, ale też nie dekoduje do końca. Pobawię się tym jeszcze, tylko nie wiem jak będzie z czasem (zależy czym mnie zawalą w pracy) – jak ktoś chce to pociągnąć dalej to śmiało. |