Category: Protocol Development
Failsafes and telemetry not working are not good. Was there any strange behavior on the T8 screen or with the buttons after these incidents?
The flashing when you go on the device page happens because the screen is repainted as the parameters are received from the TX (or other CRSF device). These packets are received at the same rate as the packet rate, so lower rates take longer. For the TX it's a little over 1K of data.
The issue with the 250/500 packet rate display apparently wrong is puzzling. I can think of a couple of possibilities though neither seems likely. First a question though - when you say " packet rate shows 250 while 500 is selected" do you mean the bad/good ratio shows 0/250 while the packet rate is 500? or that the packet rate config box shows 250 when you know the last time you left the menu it was 500?
If it's the first case it's because the bad/good ratio is not updated while on the device page. If you enter the page at 250, change to 500, then look at the bad/good ratio it will still show 250.
The other way I could see this happening is if the setting is changed while the parameters are still loading. This should be almost impossible in practice, but be sure the screen stops flashing and the LOADING tag on the top line disappears before navigating the menu. I'll look into disabling the buttons until all parameters are loaded.
For the issue of starting up with throttle warning the info about 250 and 500 behavior suggests something to try. My mention of opentx was just to note that the hardware it runs on has a different power-up behavior than Jumper hardware in that with Jumper the TX powers up immediately even if no serial data is being sent from the T8. Maybe that interacts with the TX baudrate detection in some way that causes a problem. Also the baud rate change that Deviation does may be involved. I'd like to be able to just set the baudrate in Deviation instead of trying to detect when the module is ELRS, but since the protocol options are taken over by the CRSF pages there's no good place to put a baudrate selection.
From what I can see in the code ELRS keeps trying different baud rates forever, but maybe there's a timeout somewhere that depends on packet rate. Easy enough to test. Please try test build
1610498
. This build has the baudrate fixed at 1.87Mbps, instead of elevating to that rate only when ELRS module is detected.
When I tested this build there was a strange behavior with model match. I had model match on with the previous version of Deviation, installed the build above, and powered on the T8. The RX LED started flashing the model mismatch code. I went to the 900TX device page, turned model match off and the RX connected, then I turned model match back on. Next I changed Deviation back to the previous build, which bumps the datarate from 400K to 1.87M when ELRS is detected. Again the model ID setting was lost! Finally I changed back to the test version above, but this time model ID was not lost! Still puzzled about this behavior.