SDAA260 April 2026 CC1310 , CC1311P3 , CC1312PSIP , CC1312R , CC1312R7 , CC1314R10 , CC1350 , CC1352P , CC1352P7 , CC1352R , CC1354P10 , CC1354R10
1: //---------------------------------------------------------------------------------------------
2: // Transmit Standard Packet Format (2 Length Bytes) with PHYs using CMD_PROP_TX_ADV by Default
3: //---------------------------------------------------------------------------------------------
4:
5: // Defines
6: #define PAYLOAD_LENGTH 3 // Max 4093 bytes
7: #define LENGTH_FIELD 2 // Changed from 1
8:
9: uint8_t packet[LENGTH_FIELD + PAYLOAD_LENGTH];
10:
11: static RF_Object rfObject;
12: static RF_Handle rfHandle;
13:
14: void *mainThread(void *arg0)
15: {
16: RF_Params rfParams;
17: RF_Params_init(&rfParams);
18:
19: RF_cmdPropTxAdv.startTrigger.triggerType = 0x0; // Application specific settings
20: RF_cmdPropTxAdv.startTrigger.pastTrig = 0x0;
21: RF_cmdPropTxAdv.numHdrBits = 0x0;
22: RF_cmdPropTxAdv.pktLen = LENGTH_FIELD + PAYLOAD_LENGTH;
23: RF_cmdPropTxAdv.preTrigger.triggerType = 0x0;
24: RF_cmdPropTxAdv.preTrigger.pastTrig = 0x0;
25: RF_cmdPropTxAdv.syncWord = 0x930B51DE;
26: RF_cmdPropTxAdv.pPkt = packet;
27:
28: // Necessary changes to the Setup command to support the standard packet format
29: RF_cmdPropRadioDivSetup.formatConf.nSwBits = 0x20; // 32 bits sync word
30: RF_cmdPropRadioDivSetup.formatConf.whitenMode = 0x0; // No whitening
31:
32: rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdPropRadioDivSetup,
33: &rfParams);
34: RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0);
35:
36: while(1)
37: {
38: //-------------------------------------------------------------------------------------
39: // Could be placed outside the while(1) since the packet does not change
40: #ifdef SLR_MODE
41: packet[0] = (uint8_t)(PAYLOAD_LENGTH);
42: packet[1] = (uint8_t)(PAYLOAD_LENGTH >> 8);
43: #else
44: packet[0] = (uint8_t)(PAYLOAD_LENGTH >> 8);
45: packet[1] = (uint8_t)(PAYLOAD_LENGTH);
46: #endif
47: for (uint16_t i = 2; i < (LENGTH_FIELD + PAYLOAD_LENGTH); i++)
48: {
49: packet[i] = i - 1;
50: }
51: //-------------------------------------------------------------------------------------
52: RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropTxAdv, RF_PriorityNormal, NULL, 0);
53: RF_yield(rfHandle);
54: usleep(500000);
55: }
56: }