I'm using a CC1101 radio to communicate with an existing protocol. The settings I've used to configure the radio seem sound, as I'm able to receive messages from the 'other end' without errors. My returning transmissions, however, are detected less than 20% of the time. The receiving end has a debug option that shows all data received after detecting a start-byte, and when a start-byte is actually detected, the data received is correct. The amount of detected start-bytes is far too low, though.
I've confirmed my own transmissions are occurring when they should using a logic analyser, a spectrum analyser and an oscilloscope, but I can't figure out why my answers aren't detected. Other devices communicating with the receiving end do so without any problems.
How can I debug my transmitting configuration? Specifically, what steps can I take to rule out potential problems?
I've tried tuning the following settings, to either no effect or worsening the problem:
- Number of preamble bytes
- Transmit power
I've also implemented the CC1101's
FREQEST feature, which required me to filter values beyond a certain threshold to prevent disabling reception altogether.
The datasheet seems to elaborate far more on reception than it does on transmission, which, in this case, isn't very helpful either.