crossfire protocol ...
 
Notifications
Clear all

crossfire protocol via ERLS pitch channel glitches

13 Posts
3 Users
0 Reactions
108 Views
(@scooper1)
Active Member Customer
Joined: 5 months ago
Posts: 8
Topic starter  

The following problem occurs on multiple tx16s, multiple ERLS models and multiple rx's  using multiple brain 2 running the latest firmware for each part

when the pitch channel is at zero then all the cyclic servos jump between positive and negative pitch continuously.  

this problem can be seen in both the recorded logs and real-time logs. in addition, a glitch occurs around +- 50% but only occurs once on each pass through that value

It shows as uncommanded rx pitch input no channels are affected just channel 6

if I go back to firmware 3.4.122 then all is normal and no glitches occur 

this problem exists for the two current firmware versions after this  which include the current latest version as of writing 

To me, this appears to be an issue with crossfire protocol decoding when driven via ERLS rx

I have tried multiple ERLS frame rates  but all at 16 channel-wide mode   most at 333 hz \2   at 100hz\2 the effect is the same but with glitches lasting longer 

before version 3.4.122  i have been using this mode without any noticeable glitches 

 


   
Quote
(@customercare)
Reputable Member Admin Registered
Joined: 6 years ago
Posts: 1139
 

To the best of our knowledge, with ELRS the most common problem is related to radio channel 5, which with recent firmware versions for ELRS transmitter modules and receivers is used as the "ARMING" command, even when using the 16 channel-wide mode.

On the gitub of the ELRS site, ( https://github.com/ExpressLRS/ExpressLRS/releases) from version 3.3.1 in November 2023 this information appeared:
"Arming must be on AUX1 for safety and feature reasons, having this fixed allows us to maintain small packet sizes and deliver better aux channel options."

This means that radio channel 5 unlike the other radio channels does not have linear behavior, and the sequence of bytes transmitted in packets containing radio channel information changes starting with channel 5.

Channel 5, since, with all other radio systems by default would adjust the tail gain, could also affect the behavior of the other functions of the flight controller.

Also, since ELRS as written above decided to "compress" the size of radio packets containing radio signals, it would be better to use for analog controls the channels before channel 5 (1,2,3,4).

This may be fine with drones, airplanes, boats, cars, motorized gliders, but it is not good with RC helicopters which being more complex than all other types of RC models, in addition to Aileron, Elevator, Motor and Tail must also handle Pitch.

We did a compare of our sources for decoding radio channels with Crossfire protocol and we find no difference between the source version of our firmware 3.4.122 and the sources of later versions.

We can therefore only assume that the problems you are experiencing did not occur as a result of a firmware upgrade of our flight controllers but as a result of a firmware upgrade of the ELRS transmitter modules and/or the firmware of the ELRS receivers.

As we have said many times before in other threads and repeated here above as well, the ELRS protocol was unfortunately not born with even RC helicopters in mind where it is essential to be able to handle 5 channels but thinking only of all other types of models where only 4 analog channels are sufficient for model control.

Therefore, until ELRS allows to be able to disable by means of the configuration programs this anomalous behavior of channel 5 (anomalous for RC helicopters) and therefore of the subsequent channels, the simplest thing is to use for transmitter and receiver modules, ELRS firmware prior to version 3.3.1

Or, another possible solution is to use channel 3 for Pitch and channel 6 for Throttle and instead of channel 5 for full tail gain control from transmitter, use channel 9 or 10 or 11, etc. etc. or disable the tail gain control by transmitter and have it managed directly by the flight controller using the "Is set in software" checkbox.


   
ReplyQuote
(@scooper1)
Active Member Customer
Joined: 5 months ago
Posts: 8
Topic starter  

I am well aware of channel 5 issues and that is why I use the full 16 channel mode 

The problem only starts after version 3.4.122. 

I am able to provide logs to prove the issue

I would look at changes to code to spot the issue but this option is not available to me


   
ReplyQuote
(@customercare)
Reputable Member Admin Registered
Joined: 6 years ago
Posts: 1139
 

Warning!
The OpenTX and EdgeTX operating systems provide a Fail Safe mode called "No Pulses" Contrary to what the description might imply, when a Faill Safe occurs with this mode, the various channel signals are not removed from the output of the receivers, but all signals are set to minimum (to zero). This if it were to occur would cause a simultaneous and instantaneous maximum rotation of the model's aileron, elevator and tail which would be most dangerous. For that reason, for the safety of pilots, spectators, animals and property as well as the model itself, we had to implement a safety function that brings all signals to 0% when the receiver output brings the channels to absolute minimum.
Therefore, it must be prevented that channel excursions can fall below -100% / -105% otherwise if the -110% values are exceeded, the commands are brought to zero by this function.
Therefore, since you signal that at maximum and minimum the pitch signal shifts, we suggest that you check the maximum and minimum excursions of the various channels.

As for the jumps you see in the channel 6 adjustment, however, we have modified in the transmitter the management of channel 6 by having it automatically generate a ramp that rises from -100% to +100% by means of a switch, and recorded by means of the diagnostic section the signal trend. This is the result, and no signal jumps or reversals appear to be present:

immagine
immagine

   
ReplyQuote
(@scooper1)
Active Member Customer
Joined: 5 months ago
Posts: 8
Topic starter  

The full extent of all channels are set to show the 100% travel at full stick defections

The problem occurs at zero pitch  and a single blip at -+50%.    In other words just using 0 to 100 travel  with 50 being stick at centre.  50 is were the problem occurs and glitches at 25 and 75

Fail safe for pitch should not be doing any ramping normally fail safe would be center except for motor control where it would turn motor off

I would expect fail safe to occur after a period of no frames.  Or immediately on value out of range 

As only pitch channel is effected and no events are recorded then I dont believe failsafe is occuring

 

 


   
ReplyQuote
(@scooper1)
Active Member Customer
Joined: 5 months ago
Posts: 8
Topic starter  

The graph above is what does happen on 3.4.122

After that version. The centre can glitch and maybe at25% and 75%. I suspect that related in time. Domain of when frames are reciceved

It could be a erls bug but it was corrected with firmware up to 3.4.122  

Have used crossfire from start on many model I not had this problem on many firmware versions

 

I would guess I help setup over 50 different brain installations with me owning about 10 on my models 

 


   
ReplyQuote
(@customercare)
Reputable Member Admin Registered
Joined: 6 years ago
Posts: 1139
 

As you can see above from the two graph, we don't have the problem with 3.4.122 or 3.4.139 fw.

if we don't have and cannot reproduce a problem, we also cannot analyze it, identify it, solve it and verify that is really solved.

At the very least, to see if we can reproduce your problem, we would need to know what transmitter module you use, what receiver model you use, what firmware the two devices use, what ELRS configuration you have, and the configuration file of your Flight Control Unit as written here:
https://www.msh-electronics.com/faq/#Q01

Or here:
https://www.msh-electronics.com/forum/support/when-you-ask-for-support/


   
ReplyQuote
(@scooper1)
Active Member Customer
Joined: 5 months ago
Posts: 8
Topic starter  

I happy to supply my files after the weekend of flying .... I will update to version with problem and post the before and after 

I appreciate it's hard to debug a problem you can't see  I just assumed that it would be easy to reproduce as had problem with two independent systems 

Thanks for trying

 

I will  post some files as soon I got time to temporarily flash to lastest version

It maybe to do erls version and brain version combination 

I can go all the way to record the interface with a logic analyzer if required

For your info the use of erls is becoming very common with about 10 people out 40 in just my club witch is primary a heli club


   
ReplyQuote
(@scooper1)
Active Member Customer
Joined: 5 months ago
Posts: 8
Topic starter  

I will also check my failsafe mode  I never intend to no pluses as this does not work nicely with frame based protocols

 


   
ReplyQuote
(@serge-da-cunha)
Active Member Customer
Joined: 6 months ago
Posts: 5
 

Posted by: @scooper1

The following problem occurs on multiple tx16s, multiple ERLS models and multiple rx's  using multiple brain 2 running the latest firmware for each part

when the pitch channel is at zero then all the cyclic servos jump between positive and negative pitch continuously.  

this problem can be seen in both the recorded logs and real-time logs. in addition, a glitch occurs around +- 50% but only occurs once on each pass through that value

It shows as uncommanded rx pitch input no channels are affected just channel 6

if I go back to firmware 3.4.122 then all is normal and no glitches occur 

this problem exists for the two current firmware versions after this  which include the current latest version as of writing 

To me, this appears to be an issue with crossfire protocol decoding when driven via ERLS rx

I have tried multiple ERLS frame rates  but all at 16 channel-wide mode   most at 333 hz \2   at 100hz\2 the effect is the same but with glitches lasting longer 

before version 3.4.122  i have been using this mode without any noticeable glitches 

 

Do you still have the issue?

I had the same issue. My solution was to put the receiver on 8 Channels instead of 16 (you can use 12 ch mixed also) so you can us channel 1 to 4 and 6 to 9 full rez full rate and I also swap the pitch and throttle channel. Pitch to channel 1 and throtlle to channel 6 as it's generally a fixed value (and not near 0). 

 

 


   
ReplyQuote
(@scooper1)
Active Member Customer
Joined: 5 months ago
Posts: 8
Topic starter  

It happens any channel rate and mode for channel six 

Moving pitch away from channel six works and stops the pitch problem

I have raise this directly with technical support I have offered them  to do deep analysis of problem  but no response as lees then 2% use the erls protocol according to them 

So more people recording responding they have the problem the better

The other response they gave was there is no change in erls codebases.... The release notes say different but that old version is not available from severs to test

 


   
ReplyQuote
(@customercare)
Reputable Member Admin Registered
Joined: 6 years ago
Posts: 1139
 

We suggest careful reading of the following section of the ExpressLRS website regarding possible configurations:
expresslrs switch-config


   
ReplyQuote
(@scooper1)
Active Member Customer
Joined: 5 months ago
Posts: 8
Topic starter  

@customercare 

Please read the support ticket  I mostly understand the erls protocol options 

This is msh bug that your team are not accepting I can not help debug this issue without support from msh

Boiler plate replies are not useful for all sides

I know you don't like erls but it is being used a lot more then your stats show


   
ReplyQuote
Join Waitlist We will inform you when the product arrives in stock. Just leave your valid email address below.
Email Quantity We won't share your address with anybody else.