-
Notifications
You must be signed in to change notification settings - Fork 409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CC1101 Parameters issue, receiving all packets only with invalid bandwidth parameter set #1366
Comments
After reading #1261 I tried 5.7.0 and replaced
and
TX seems to work, but RX node seems to get interrupt continuously
It receives packets however every now and then. |
This is interesting, I guess it is possible we broke the Rx bandwidth configuration at some point. Though quickly checking with ESP32+CC1101, the configuration seems to be correct, at least for the default 58.0 kHz value.
I would suggest sticking to the latest release, or better yet the master, there were quite a few bufixes to CC1101 since 5.7.0. 6.6.0 is also quite outdated. |
Did some more testing, now with master instead of 6.6.0. I tried doing a ping pong test (A transmitting at interval, B transmitting response to A), packet loss with different bandwidths
Settings used (only changed BW from these): I have not calibrated the modules or changed anything. But I expected that is not required with low bit rates. Should I do something like that? |
Seems like there's definitely something weird going on. I'll try to get a test setup with transmitter and receiver up and running. No calibration should be necessary here. The default bitrate is rather slow, the signal is narrow and the receiver bandwidth should be wide enough. |
Using CC1101_Receive_Interrupt and CC1101_Transmit_Interrupt, any bandwidth setting does not work, except setting unacceptable value such as "100"
EDIT: after some testing other parameter combinations do receive, but lot of packets are lost. Best result I found is with Radiolib defaults and just setting frequency deviation to 25.4 (
radio.begin(434, 4.8, 25.4, 135, 10, 16);
), which is able to receive maybe 75% of packets:I'm unable to get the module receive anything (EDIT: all packets) with the example templates, except one empty ghost message after booting. However by setting "unacceptable" value such as "100" for bandwidth filter value I can get messages sent/received. With 6.6.0. this works, I get -104 [RADIOLIB_ERR_INVALID_RX_BANDWIDTH] error at start, but after this it works fine. With 7.1.1. I get -104 error also from startReveive, which prevents this "workaround". I have tried few acceptable values for bandwidth filter based on datasheet with no avail.
I use platformio in VScode with
I tried also ELECHOUSE based library https://github.com/LSatan/SmartRC-CC1101-Driver-Lib, which works, but the STM32 crashes after sending for a while. I did not investigate that further since I found your library, but now this made me think is there something wrong with my hardware?
_CC1101_Receive_Interrupt_ and _CC1101_Transmit_Interrupt_ code
RX END (only modified pins and radio.begin):TX END (only modified pins, radio.begin and added onboard led to light up on TX):
Hardware setup
Both
Debug mode output
Debug mode output
Additional info (please complete):
The text was updated successfully, but these errors were encountered: