CC1101 OOK weirdness after upping speed to 38.4kbaud

So I’ve modified the AM650 setting to change the Baudrate to 38.4k (26us per bit), and I am getting some pauses in the data stream. The raw data is pasted at the bottom.

This Audacity screenshot shows the whole rtl-sdr captured waveform that the flipper emitted:

A closeup of the short burst towards the end:

Each burst suspicously seems to be 128 bit periods, but I cannot find anything indicating 16-byte buffers stalling somewhere.

This is for a total of what should be 512 bit periods of total data.

Now, by combining the shorter RAW_Data rows below, I managed to get the 512 bits sent without interruption, but longer sequences (eg. repeating the same data a few times) still show the same behavior, though with different periodicity:


Any idea what might cause the breaks? I have tried tweaking the buffer size of the subghz_tx_rx_worker, but the behavior does not change. Is there any log output that might be worth enabling and looking at?

Preset: FuriHalSubGhzPresetCustom
Custom_preset_module: CC1101
Custom_preset_data: 02 0D 03 47 08 32 0B 06 14 00 13 00 12 30 11 83 10 1B 18 18 19 18 1D 91 1C 00 1B 07 20 FB 22 11 21 B6 00 00 00 C0 00 00 00 00 00 00
Protocol: RAW
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26
RAW_Data: -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -26 26 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52 -52 52

the flash drive is not rubber to read how much data in such a time. at intervals of less than 50 µs, transmission dips are already observed and delays are noticeable when downloading DMA. what exactly do you want to get?

Well, I do need exactly this pattern on air without the breaks. Is there a /tmp mechanism in the flipper firmware? I’m thinking to pre-process the text file into a bit-stream binary that can be streamed straight to the CC1101 FIFO.

jamming is better done on 4fsk, and you do not need to send raw data, there is a batch mode for this, at least 500 kbps

I am not sure I follow. This is an actual OOK data stream used by a radio remote of mine that I’m trying to recreate, I don’t think FSK would work for that, but where can I look at this batch mode mechanism?

some interesting remote control, not 1 has come across with such a transfer rate yet … see how SubGhz chat works

Just a quick question, where can i get more info about those CC1101 presets ? I want to add to my setting files some more custom preset for common remotes with different transefr rate, deviations, etc … is there any place to get that info ?

furi_hal_subghz_configs.h and the CC1101 datasheet. The register settings in those configs corresponds exactly to the bytes used in the Custom_preset_data fields, eg. REG VAL pairs of bytes plus a few extras:

# format for CC1101 "Custom_preset_data:" XX YY XX YY .. 00 00 ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ, where: XX-register, YY - register data, 00 00 - end load register, ZZ - 8 byte Pa table register

Thanks.