I fixed the RSSI problem with
// instance of the radio driver now called rf24
RH_RF24 rf24module1(10, 2, 9); // pin 10 cs, pin 2 inturrupt IRQ pin on module, Nsel ( power ) pin 9
RH_RF24 rf24module2(11, 3, 8); // pin 11 cs, pin 3 inturrupt IRQ pin on module, Nsel ( power ) pin 8
basically the NSEL ( or power ) pin on the modules needed there individual pin in the RadioHead library. so I used digital pin 8 & 9 on the arduino.
I took of the transmitter antenna and the recieve antennas and moved the transmitter near one reciever connecter to the other and both RSSI values were updated in real time.
One confusiing aspect here is the RSSI value is returned after recieving a packet.
So at the momnent I am recieving both packets and then determining there RSSI value and only copying the one that has the higher value into the circular buffer ( the cue for wating to be decoded back to 16 bit samples from 4 bit )
The LMA_ADPCM encoder encodes 16bits into 4bit samples so I am putting 2 LMA_ADPCM samples in each byte. 24 bytes are being sent in each packet.
OK, next I have to impliment the LAM_ADPCM decoder and rebuilt the 16bit samples so I can shove them back out to I2S. The I2S Library cliaims it just left justifys the samples in a 32bit per channel slot. we will see.
more news when I get the decoding written for the reciever. it should be the reverse of the encoder but I'm scepticle I got that correct the forst time !
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.