Tool/software:
Hi friends I have a question about a project using sub-1ghz and I2S in CC1312R1.
SDK is using simplelink_cc13x_cc26x_sdk_7_41_00_17, and I constructed the project based on rfEchoRx and rfEchoTx among samples.
The symptom is that Tx only sends Send 1 time with RF_cmdRun when sending data read from I2S to Rx and then the receive to Rx is normal but not echoing. By the way,
Tx, Rx echo works when I2S_startClocks(i2sHandle) of I2S; is removed and performed. Please let me know the cause of this symptom and how to resolve it.
CMD_PROP_RX, CMD_PROP_TX settings are as follows.
------. Tx
/* Modify CMD_PROP_TX and CMD_PROP_RX commands for application needs */
RF_cmdPropTx_2gfsk1mbps868_0.pktLen = PAYLOAD_LENGTH;
RF_cmdPropTx_2gfsk1mbps868_0.pPkt = txPacket;
RF_cmdPropTx_2gfsk1mbps868_0.startTrigger.triggerType = TRIG_NOW; //TRIG_NOW; //TRIG_ABSTIME;
RF_cmdPropTx_2gfsk1mbps868_0.startTrigger.pastTrig = 1;
RF_cmdPropTx_2gfsk1mbps868_0.startTime = 0;
RF_cmdPropTx_2gfsk1mbps868_0.pNextOp = (rfc_radioOp_t *)&RF_cmdPropRx_2gfsk1mbps868_0;
/* Only run the RX command if TX is successful */
RF_cmdPropTx_2gfsk1mbps868_0.condition.rule = COND_ALWAYS; //COND_ALWAYS; //COND_STOP_ON_FALSE;
/* Set the Data Entity queue for received data */
RF_cmdPropRx_2gfsk1mbps868_0.pQueue = &dataQueue;
/* Discard ignored packets from Rx queue */
RF_cmdPropRx_2gfsk1mbps868_0.rxConf.bAutoFlushIgnored = 1;
/* Discard packets with CRC error from Rx queue */
RF_cmdPropRx_2gfsk1mbps868_0.rxConf.bAutoFlushCrcErr = 1;
/* Implement packet length filtering to avoid PROP_ERROR_RXBUF */
RF_cmdPropRx_2gfsk1mbps868_0.maxPktLen = PAYLOAD_LENGTH;
RF_cmdPropRx_2gfsk1mbps868_0.pktConf.bRepeatOk = 0;
RF_cmdPropRx_2gfsk1mbps868_0.pktConf.bRepeatNok = 1;
RF_cmdPropRx_2gfsk1mbps868_0.pOutput = (uint8_t *)&rxStatistics;
/* Receive operation will end RX_TIMEOUT ms after command starts */
RF_cmdPropRx_2gfsk1mbps868_0.endTrigger.triggerType = TRIG_NOW; //TRIG_NOW; //TRIG_REL_PREVEND;
RF_cmdPropRx_2gfsk1mbps868_0.condition.rule = COND_ALWAYS;
RF_cmdPropRx_2gfsk1mbps868_0.endTime = RX_TIMEOUT;
------. Rx
/* Modify CMD_PROP_TX and CMD_PROP_RX commands for application needs */
/* Set the Data Entity queue for received data */
RF_cmdPropRx_2gfsk1mbps868_0.pQueue = &dataQueue;
/* Discard ignored packets from Rx queue */
RF_cmdPropRx_2gfsk1mbps868_0.rxConf.bAutoFlushIgnored = 1;
/* Discard packets with CRC error from Rx queue */
RF_cmdPropRx_2gfsk1mbps868_0.rxConf.bAutoFlushCrcErr = 1;
/* Implement packet length filtering to avoid PROP_ERROR_RXBUF */
RF_cmdPropRx_2gfsk1mbps868_0.maxPktLen = PAYLOAD_LENGTH; //PAYLOAD_LENGTH+NUM_APPENDED_BYTES+1;
/* End RX operation when a packet is received correctly and move on to the
* next command in the chain */
RF_cmdPropRx_2gfsk1mbps868_0.pktConf.bRepeatOk = 0;
RF_cmdPropRx_2gfsk1mbps868_0.pktConf.bRepeatNok = 0;
RF_cmdPropRx_2gfsk1mbps868_0.startTrigger.triggerType = TRIG_NOW;
RF_cmdPropRx_2gfsk1mbps868_0.pNextOp = (rfc_radioOp_t *)&RF_cmdPropTx_2gfsk1mbps868_0;
/* Only run the TX command if RX is successful */
RF_cmdPropRx_2gfsk1mbps868_0.condition.rule = COND_STOP_ON_FALSE; //COND_ALWAYS; //COND_STOP_ON_FALSE;
RF_cmdPropRx_2gfsk1mbps868_0.pOutput = (uint8_t *)&rxStatistics;
RF_cmdPropTx_2gfsk1mbps868_0.pktLen = PAYLOAD_LENGTH; //PAYLOAD_LENGTH+NUM_APPENDED_BYTES+1;
RF_cmdPropTx_2gfsk1mbps868_0.pPkt = txPacket;
RF_cmdPropTx_2gfsk1mbps868_0.startTrigger.triggerType = TRIG_NOW;//TRIG_REL_PREVEND;
RF_cmdPropTx_2gfsk1mbps868_0.startTime = 0;