Other Parts Discussed in Thread: TEST2,
Hello siri,
I am facing couple of issues. It would be very helpful if you help me out.
1.) While sending data device stuck in line while(!(PIND & (1 <<GDO2 ))); "Wait for GDO2 to be set -> sync transmitted". Please have a look to my send function of data sending & all the other register settings. Device is in WOR mode.void WS_SendData(char *txBuffer,char size)
{
SpiWriteReg(CC1101_TXFIFO,size);
SpiWriteBurstReg(CC1101_TXFIFO,txBuffer,size); //write data to send
SpiStrobe(CC1101_STX); //start send
while(!(PIND & (1 <<GDO2 ))); //DEVICE STUCK in this while LOOP //-- Wait for GDO0 to be set -> sync transmitted
while((PIND & (1 << GDO2))); // Wait for GDO0 to be cleared -> end of packet
SpiStrobe(CC1101_SFTX); //flush TXfifo
SpiStrobe(CC1101_SIDLE);
SpiStrobe(CC1101_SWOR);
}
NOTE:- DEVICE is in WOR mode with following settings.
PATABLE value is 0xC0
#define VAL_IOCFG2 0x06
#define VAL_IOCFG1 0x5c
#define VAL_IOCFG0 0x07
#define VAL_FIFOTHR 0x47
#define VAL_SYNC1 0xD3
#define VAL_SYNC0 0x91
#define VAL_PKTLEN 0x3d
#define VAL_PKTCTRL1 0x44 //0x05--Address checking enable//0x04--Add. check disabled
#define VAL_PKTCTRL0 0x05
#define VAL_ADDR 0x00
#define VAL_CHANNR 0x00
#define VAL_FSCTRL1 0x06
#define VAL_FSCTRL0 0x00
#define VAL_FREQ2 0x10
#define VAL_FREQ1 0xA7
#define VAL_FREQ0 0x62
#define VAL_MDMCFG4 0xF5
#define VAL_MDMCFG3 0x83
#define VAL_MDMCFG2 0x13 //GFSK -- 0X13// FSK -- 0X03 // OOK/ASK--0X33// 4-FSK--0X43 //MSK --0X73
#define VAL_MDMCFG1 0x22 //0x72// preamble set to 0x72-->24 bytes //older 0x22-->4 bytes
#define VAL_MDMCFG0 0xF8
#define VAL_DEVIATN 0x15
#define VAL_MCSM2 0x16
#define VAL_MCSM1 0x33
#define VAL_MCSM0 0x38
#define VAL_FOCCFG 0x16
#define VAL_BSCFG 0x6C
#define VAL_AGCCTRL2 0x03
#define VAL_AGCCTRL1 0x40
#define VAL_AGCCTRL0 0x91
#define VAL_WOREVT1 0x87
#define VAL_WOREVT0 0x6B
#define VAL_WORCTRL 0x78
#define VAL_FREND1 0x56
#define VAL_FREND0 0x10
#define VAL_FSCAL3 0xE9
#define VAL_FSCAL2 0x2A
#define VAL_FSCAL1 0x00
#define VAL_FSCAL0 0x1F
#define VAL_FSTEST 0x59
#define VAL_PTEST 0x7F
#define VAL_AGCTEST 0x3F
#define VAL_TEST2 0x81
#define VAL_TEST1 0x35
#define VAL_TEST0 0x09
#define VAL_PARTNUM 0x00
#define VAL_VERSION 0x06
#define VAL_FREQEST 0x00
#define VAL_LQI 0x00
#define VAL_RSSI 0x00
#define VAL_MARCSTATE 0x00
#define VAL_WORTIME1 0x00
#define VAL_WORTIME0 0x00
#define VAL_PKTSTATUS 0x00
#define VAL_VCO_VC_DAC 0x00
#define VAL_TXBYTES 0x00
#define VAL_RXBYTES 0x00
#define VAL_RF1AIFCTL0 0x00
#define VAL_RF1AIFCTL1 0x00
#define VAL_RF1AIFCTL2 0x00
#define VAL_RF1AIFERR 0x00
#define VAL_RF1AIFERRV 0x00
#define VAL_RF1AIFIV 0x00
#define VAL_RF1AINSTRW 0x00
#define VAL_RF1AINSTR1W 0x00
#define VAL_RF1AINSTR2W 0x00
#define VAL_RF1ADINW 0x00
#define VAL_RF1ASTAT0W 0x00
#define VAL_RF1ASTAT1W 0x00
#define VAL_RF1ASTAT2W 0x00
#define VAL_RF1ADOUT0W 0x00
#define VAL_RF1ADOUT1W 0x00
#define VAL_RF1ADOUT2W 0x00
#define VAL_RF1AIN 0x00
#define VAL_RF1AIFG 0x00
#define VAL_RF1AIES 0x00
#define VAL_RF1AIE 0x00
#define VAL_RF1AIV 0x00
#define VAL_RF1ARXFIFO 0x00
#define VAL_RF1ATXFIFO 0x00
2. My second problem is that i am not getting any interrupt on GDO0 in WOR mode. Please help me with the register settings of transmitter side so that receiver can receive the interrupt in WOR with this settings. Also let me know is any changes required in the above receiver settings.
NOTE:- Above provided code & register values are of receiver side of CC1101.
Thanks in advance