Hi everyone!
I'm trying to send packets with the strobe command ISTXONCCA but the CC2431 doesn't send anything yet. I'm using the following function to transmit on CCA:
char transmitOnCCA(void) {
long timeout = tickCount + 5; // 5 ms Timeout
FSMTC1 |= 0x04; // RX2RX_TIME_OFF (mentioned in the datasheet)
RFST = ISTXONCCA;
do {
if (RFIF & 0x40) { // Tx done
FSMTC1 &= ~0x04;
RFIF &= ~0x50; // delete Tx done & SFD detected Flag
return 0;
}
} while (tickCount < timeout);
FSMTC1 &= ~0x04;
return 1;
}
The fsm-state of the radio is 6 (RX_SFD_SEARCH) when I call this function. It returns always 1 and no packet is sent. What am I doing wrong? Do I have to turn on some interrupts to get ISTXONCCA working? It is nothing mentioned in the datasheet and I haven't found example code.
Thanks in advance
P.S.: The carrier sense threshold is 0x3F (about 23 dBm I think) to ensure the channel is detected as free.