-
Notifications
You must be signed in to change notification settings - Fork 155
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
OMP Protocol support. only need cc2500 for tx&rx. telemetry support ! #1007
base: master
Are you sure you want to change the base?
Conversation
Thanks for finding the error which was preventing to receive a big majority of the packets: wrong BW filter value...
It's still not perfect since with the nrf without the motor running I get 100% of the packets with a good CRC but with the CC2500 it goes down to around 95%. I can see some bits not being received correctly. Note that the implementation you've taken from me is hidding it since even if the CRC is wrong and the payload is not too damage it will count the packet as good. So may be there is still some value tuning to apply the cc2500 config registers. Pascal |
I've just done an experiment by assigning a pot to the channel bandwith:
|
Yes, I did think of using xn297 address as sync word but I warry about other protocol which using cc2500 for xnl297, because I don't have those models to test, so don't want to change code a lot. and I do agree your implementation, it will be very good.
As for crc error. I did notified that. In my d7e the LQI would be around 40~70, and as you said it would not decode every packet. but in my test. the LQI may not change a lot with or without motor running. I had made some tweaks to the cc2500 config registers. but got nothing. I dont have any instruments or tools to do futher research, what I have are only a d7e with cc2500 and a arduino nano with nrf24l01 for xn297dump.
I guess the problem may cause by the preamble byte. cause cc2500 suggest 4 byte of 0xAA as preamble.
BTW, I amd reading the sx1280 datasheet these days. and found it can do gfsk also. and it's highly configurable.
I'm thinking maybe we can use sx1280 to take place of a7105/cc2500/nrf24l01 as well as ELRS.
…________________________________
发件人: pascallanger ***@***.***>
发送时间: 2021年3月17日 14:28
收件人: DeviationTX/deviation ***@***.***>
抄送: smaller09 ***@***.***>; Author ***@***.***>
主题: Re: [DeviationTX/deviation] OMP Protocol support. only need cc2500 for tx&rx. telemetry support ! (#1007)
Thanks for finding the error which was preventing to receive packets: wrong BW filter value...
I've now implemented the RX method differently in Multi:
* Don't care about the header (C) 71 0F. Note that the "C" is sent if a XN297 is used but not in case of the OMP which has a XN297L.
* Consider the 55 of the XN297(L) header as a CC2500 preamble.
* Configure SYNC1 & SYNC0 & ADDR as the first 3 bytes of the XN297 address -> This way the CC2500 starts to filter packets not sent to our attention.
* Check the other address bytes based on the XN297 address len (3, 4 or 5 bytes) ie 0, 1 or 2 bytes additional check . Note: your implementation does not verify that you are receiving a packet for you...
* Decode as a standard xn297 packet in normal or enhanced mode.
I'm getting pretty good results on the bench with a tuned frequency.
It's still not perfect since with the nrf without the motor running I get 100% of the packets with a good CRC but with the CC2500 it goes down to around 95%. I can see some bits not being received correctly. Note that the implementation you've taken from me is hidding it since even if the CRC is wrong and the payload is not too damage it will count the packet as good. So may be there is still some value tuning to apply the cc2500 config registers.
Pascal
―
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1007 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AJ3C3KAU4PCRONI7OSDIXB3TEC4ARANCNFSM4Y3KNRXA>.
|
3D = 464K BW filter. that means the received signal have a big offset from the center frequency. |
My implementation is available on GitHub if you want to check. I forgot in my previous post to add that switching the CC2500 from TX<->RX is only 2 additonnal CC2500 commands to run so not a lot of overhead added. |
I looked at it too. I was thinking it could even do the cyrf but no way... |
I do notified that cyrf was EOL. and also think of take place of it. for GFSK that should be ok by sx1280. but for DSSS it's more difficult. I first found A7157, but no datasheet around the internet, and then em357 or em358x. but don't have detal of the RF module. |
is this protocol include newest firmware? |
it was not included in mainline. |
a3b0c66
to
6b5d34d
Compare
I tried to build my docker desktop, but failed. |
it's because there are too many protocol for DEVO8 to fit into it's memery. |
I already flash this firmware into my DEVO8S. |
Hi, i have t8sg v2 and same problem with memory, can you port it for me? I spend full night trying to delete something and only reasult is when i close my eyes i See docker console |
Telemetry works now, tested on devo10(4in1 module) & devo7e(cc2500) + omp m1. only need cc2500 to work.
this replace #1006