FrSkyRC / ETHOS-Feedback-Community

Feedback & suggestions are welcomed here for ETHOS by FrSky
180 stars 83 forks source link

Accelerometer telemetry appears to be inverted #4019

Open Jedsters opened 2 months ago

Jedsters commented 2 months ago

Tested with TD SR10 and X20S. I've calibrated the SR10 (twice, just to be sure). The setup is just normal horizontal however the accelerometer telemetry data appears to all be reversed.

With the Rx the right way up (writing on top) AccZ shows -1.0g which should obviously be 1.0g image

However when rx is upside down (writing on bottom) AccZ shows 1.0g which again should be -1.0g image

The required installation is that pins should be backwards and antennae forwards, so I'd expect in a hover (pins down) that the rx would feel 1g, however pins down AccX is showing -1.0g, that obviously changes to 1.0g with pins up. image

I wouldn't like to comment on what I'd expect for AccY but this is what I get image Given that AccZ and AccX are inverted, I'm going to take a punt this is also inverted, but I suspect it makes less difference.

Thanks

Jedsters commented 2 months ago

Assuming that P.angle is pitch angle and R.angle are pitch and roll angle, I suspect that P.angle is inverted too. Given that the antennae need to point forwards I'd expect that positive pitch is nose up however raising the antennae end results in a negative angle (photos above show this too). Curiously, when I roll the rx clockwise (looking from the pins end) the R.angle goes positive. I'd say this is correct (although I have a funny feeling that it is supposed to go the other way).

robthomson commented 2 months ago

I suspect this is because the board has been told its installed 'upside down'.

Jedsters commented 2 months ago

@robthomson yes, I had wondered whether the relevant component (accelerometer) was installed differently in different rx but only have one tandem SR rx to test against so I'm not sure if this is a problem for all TD rx or just some of the TD series. Either way something needs to be corrected. I have checked and my model definition says the Rx is TD SR10 so if Ethos is making any adjustments for different rx that's not working in this case. I did notice while performing the calibration that the writing on the front was upside down which did make me wonder, but that's hardly proof of anything as the pictures are little more than an indication and are no doubt generic for all SRX rx which may have different internals.

bsongis-frsky commented 2 months ago

Those values are sent by the receiver, Ethos just displays them. I will forward to the RF engineer

SmartTommy commented 2 months ago

do you have any other S receivers? Can you make a comparison?

Jedsters commented 2 months ago

The only other S receivers I have are S8R, but they don't have accelerometers in them.

mawzthefinn commented 2 months ago

The only other S receivers I have are S8R, but they don't have accelerometers in them.

They do actually (it's necessary for the stabilization system to work), but they do not report as telemetry unlike the newer receivers.

Jedsters commented 2 months ago

Thanks Mawz. @SmartTommy I've been corrected by Mawz as above. I'm not sure if this helps you or if there is a way I can access the telemetry to test?

Jedsters commented 2 months ago

A little more testing suggests something doesn't quite add up! It isn't simply a case of the telemetry being inverted.

Look at the following:

image

I held the rx right way up (writing up) and sharply lifted the rx up. AccZ went from -1.0g to -0.3g.
I then inverted the rx (writing down) and did the same, this time AccZ went from 1.0g to 0..3g.

Considering the second test, if the output was just inverted as per my initial thought then I'd expect AccZ to go from 1.0g to 1.7g not to reduce! As best I can think, the first test is essentially giving the same result, you'd expect -1.0g to -1.7g.

Out of curiosity I also created a DIY sensor and probably unsurprisingly it shows the same as AccZ.

I suspect that points to the problem, although currently I can't think what that'd be!

EDIT: This needs to be retested, it looks like I may have had bounds defaulted to 1.024g.

I was right first time, I had not noticed that the default bounds were +-1.024g so the graph above was showing clipping and not picking up the initial part of the test.

I have redone with a DIY graph of AccZ * -1 and appear to get what I'd expect so this probably is just a case of something being inverted. Apologies for any confusion.