Manchester encoding

Many legacy protocols use manchester encoding to increase robustness. This is not needed on modern devices like the CC13x0 and we do not recommend using manchester encoding. Manchester encoding consumes half the channel bandwidth and reduces spectral efficiency. Instead, the CC13x0 offers a powerful sync word correlator. It also provides whitening in order to improve the spectral efficiency.

The CC13x0 supports manchester encoding of the payload and the CRC only. This feature can be enabled by setting formatConf.fecMode in CMD_PROP_RADIO_DIV_SETUP to 0x0A. Since the sync word is not encoded, it must be done manually which limits the effective length to 16 bits.

Manchester encoding of the preamble is only possible via an additional override:

// Set new preamble pattern 1100110011001100 (0xCCCC)
(uint32_t)0xCCCC0043,

The pattern length is limited to 16 bits and will be repeated afterwards, depending on the configured preamble length in the setup command.

When using an RFE patch (default since TI-RTOS 2.16) for the RF core in combination with manchester encoding, then the following override must be adjusted:

// Use this override when manchester encoding is disabled:
// MCE_RFE_OVERRIDE(0,4,0,1,0,0),
// Use this override when manchester encoding is enabled:
MCE_RFE_OVERRIDE(0,5,0,1,0,0),

When no RFE patch is present, then the override can be omitted and the RF core firmware takes care of the correct MCE settings.