I attached both the original (originalRadioConfig.isc) and modified (radioConfigDSSSEnabled.isc) configuration files for comparison.
Some additional notes about the attached .isc files:
The original .isc configuration is based on the 915M 2GFSK 50Kbps 25K PHY. The only difference between the premade configuration and mine is that I enabled a 2-byte header in the packet to allow variable-length packets.
Here is a list of the changes made to the original .isc file to produce the DSSS-enabled configuration that I'm having issues with:
Enabled DSSS symbol encoding
Changed DSSS chipping code length to 8
Changed DSSS spreading factor to 4
Changed DSSS chipping code base to 4D
Changed Deviation (under Modem) from 25 kHz to 100 kHz
Calculated as new_deviation = (original_deviation * spreading factor); where original_deviation is 25 kHz and spreading factor is 4
I want to highlight, that there might be two issues, which were addressed by Jim:
1. By importing your radio configuration into a RAILTest project the packet transmission fails due to the RAILTest's default packet isn't in accordance with your variable length configuration: it fires a RAIL_EVENT_TX_ABORTED event, and the TX shuts off before the first preamble chip.
2. Even if the packet is transmitted correctly, the detection performance will be terrible poor on the RX side, due to the inappropriate packet detection mechanism. It can be configured in the Advanced fields section of the radio configurator GUI.
I did not test the configuration Jim shared - I suppose it uses correct detection configuration - using the following config resulted much better detection performance (i.e., the PER decreased dramatically), than what you have in radioConfigDSSSEnabled.isc.
Let us know, if you managed to get it work, or if you have any concerns!
Issue enabling DSSS in radio configuration for BRD4164A
I have two BRD4164A radio boards communicating wirelessly with a radio configuration based on the 915M 2GFSK 50Kbps 25K PHY. However, the board acting as the receiver will not receive any packets and trigger the RAIL_EVENT_RX_PACKET_RECEIVED event if I enable DSSS in their radio configurations. I followed this guide to modify my configuration to enable DSSS: https://www.silabs.com/community/wireless/proprietary/knowledge-base.entry.html/2020/08/26/understanding_dsssencodinganddecodingonefr32-WQxu
I attached both the original (originalRadioConfig.isc) and modified (radioConfigDSSSEnabled.isc) configuration files for comparison.
Some additional notes about the attached .isc files:
Please help me determine what the issue could be.
Which sample are you using to test?
Can you test with the DSSS disable, but the frame format kept the same? You need to make sure this works well first.
Please pay attention that if you use a variable length, the last two bytes of the header should contain the payload length.
The attached is a project I tested on my side. Please take it as a reference.
Hi Juan,

I want to highlight, that there might be two issues, which were addressed by Jim:
1. By importing your radio configuration into a RAILTest project the packet transmission fails due to the RAILTest's default packet isn't in accordance with your variable length configuration: it fires a RAIL_EVENT_TX_ABORTED event, and the TX shuts off before the first preamble chip.
2. Even if the packet is transmitted correctly, the detection performance will be terrible poor on the RX side, due to the inappropriate packet detection mechanism. It can be configured in the Advanced fields section of the radio configurator GUI.
I did not test the configuration Jim shared - I suppose it uses correct detection configuration - using the following config resulted much better detection performance (i.e., the PER decreased dramatically), than what you have in radioConfigDSSSEnabled.isc.
Let us know, if you managed to get it work, or if you have any concerns!
Best Regards,
Bence