Thanks for the testing! .No, nothing specific to test.
Been spending a lot of time on the serial data errors. One part of the problem is a small bug in ELRS. An ELRS build with
this PR
reduces the errors. With that change in place I think I see the final boss. At the higher data rate ELRS takes the opportunity to send more than one message in a single interval. Need to think on how best to handle that in Deviation. It may not even happen at 500Hz packet rate - ELRS adjusts what it sends based on how much time is available.
On the model match subject, one thing to understand is that Deviation does not send the model ID to the RX. It sends it to the TX module. The module will try to use it to connect to the RX. If the device menu on the TX is used to change model match from Off to On, the module then will program the RX to the configured model ID.
Also the ELRS module keeps some parameters separate based on the model ID even if no receiver is matched to the model ID. So if model match is on with fixed id 16, if the fixed id is changed to 17 and 17 has never been bound to a receiver, then in the CRSF device menu the ModelMatch will be Off.
So considering the case of adding a new model (receiver) there are four cases: TX model match on or off, and RX model ID at 255 or 0-63.
1. TX model match off, RX with model id 255. This would be the case with a brand-new RX and in Deviation setting the fixed ID to a value that hasn't been bound to any receiver before, or going to the device menu and turning model match off. In this case when both T8 and RX are powered on they will connect. Go to the TX device page and change ModelMatch to On. The RX will be programmed with the selected fixed ID.
2. TX model match off with fixed ID 20, RX with model id 16. Turn on T8 and RX. Go to device page and set ModelMatch to On. RX is bound to ID 20. This takes about 30 seconds with the ES900RX. LEDs go through several states but eventually solid on.
3. TX model match on with ID 16, RX model id 255. Power on T8 and RX. Go to device page and set ModelMatch to Off. Then set ModelMatch On. RX is bound with ID 16.
4. TX model match on with ID 16, RX model id 10. Power on T8. Go to device page and set ModelMatch to Off. Turn on RX and it will connect. On device page set ModelMatch On. The RX will be programmed with model ID 16.
All this seems fairly reasonable to me, but I'm not a UI guy
![:) :)](/media/kunena/emoticons/smile.png)
One thing I don't want to do is send CRSF device parameter settings outside of the menu presented by the device. For one thing in Deviation the parameter data only exists while in the CRSF device page. Also it just seems like opportunity for confusion if parameters could be changed in multiple places.