DSM Telemetry support

More
25 Mar 2015 11:02 - 25 Mar 2015 12:53 #30233 by Thomas.Heiss
Replied by Thomas.Heiss on topic DSM Telemetry support
Further DSMx range testing with build devo10-v4.0.1-70993a8 on Blade 200QX quad with a MicroHeli carbon tuning frame:
Had enabled telemetry config warnings for framelosses and holds this time.

- Hold error ">= 1" should stop flickering after ENT button press
(as noted by Indigo above starting with nightly test version 412a)

- telemetry config warning for hold:
each increment by 1 should start a new alarm AND a new flickering (for hold field)


Hold example:
Holds 0: start flying after plugging in flight pack

Hold 1 warning:
- active alarm, jump into DSM telemetry monitor screen
- pressing ENT muting alarm sound
- flicking hold field is stopped

....More flying 200QX in distance...

Hold 2 warning:
- new alarm sound
- new flickering hold field with value 2
....


Fades is 4x 0 on 200QX (not supported) btw...


DSMx FrameLosses:
I tried three different antenna mounts with the carbon frame.
~150 FrameLosses / no holds on 1st mount (angular below top frame platter)
~250 FrameLosses / 1-2 holds on 2nd mount (vertical)
~250 FrameLosses / 1-2 holds on 3rd mount (angular above top frame platter)


FrameLoss >=40 alarm activated in telemetry config page.
First flights I had not enabled telemetry alarm, just showing DSM telemetry screen.
FrameLoss alarm is fired once I reach >=40 FL.


Question (getting back to previous posts):
How shall we handle re-occuring framelosses and alarms, flickering?
What makes sense?
When shall the 2nd / 3rd FL occurance start a new alarm? Each 40? Each more 20 FL? Bigger step?
Do we only want to avoid the 1st hold or also a 2nd/3rd hold by giving new FrameLoss warnings?


I can't remember how the Spektrum DX8 handles re-occuring (high) FL alarms, sorry...it does for sure. I had >20 / >40 FL configured most of the times.


In my case flying the 200QX I did of course NOT land at once I see >=40 FL but where in the process of continually checking distance for 4 mins and highest FrameLosses.
But I might have been interested in new FrameLoss warnings each 20 / 40?!?
In my case particular probably a disable of FL warnings makes more sense???


For my 1st Hold example above I had ~150 FrameLosses (0 holds).
But that only means that the antenna is not placed perfectly, some SBEC ESC or something else might disturb a Spektrum RX.
Can't remember to have had those high FrameLosses with the original plastic HH 200QX chassis.



FlightLog explanation:
www.atlantahobby.com/Store/pc/Spektrum-Flight-Log-p6743.htm

The DSMx telemetry problem is relying in the fact, that

"a hold occurs when 45 contiguous (one right after the other) frame losses occur. This takes about one second."



So with DSM FrameLoss checking and alarms you can never know if:
- displayed framelosses have been singular from time to time
- shown 20-40 (<45) framelosses have been contiguous (bad)
- that no more contiguous framelosses will occur after a FL > 20 / FL > 40 configured alarm
- if FL > 40 alarm might already be too late to avoid first hold (and more following holds)
-> HH FlightSpec recommends to have <=20 FrameLosses.
-> HH recommended to send in DX8 having >40 FrameLosses each time
- even a FL steady display field increment of >40 does not necessarily result in 1..2/3...more holds.
-> always had 40-90+ FrameLosses on DX8+EGP with even re-alarming, but never >=1 holds.


DSM flightlog telemetry FrameLosses displays IMHO both:
singular + contiguous FrameLosses (could an expert verify+confirm?)


Possible alarm config improvements:
- re-fire on each configured occurance
e.g FL > 20 / >= 21, FL > 40 / FL >= 41
- fire on configurable 1st, 2nd/3rd... numbers
e.g FL >40 1st, FL >20 / 40 /.. 2nd/3rd


What is your opinion?
Shall we stay flexible for configuration as best as we can (if reasonable)?



150-250 FrameLosses is way to much on the carbon frame, with additional 1-2 holds absolute NO-GO :(
Not sure what I will / can do with the board antenna if I always get >40 FrameLosses.
To my understand new counting framelosses shall not be bigger than 20 / 40 until next alarm??

Probably I will have to live with it and disable telemetry FrameLoss alarm or have to re-solder another longer antenna with 31mm at the end.
The last is surely not an easy job for the board and small antenna holes :-(

Greetings from Germany

Thomas
Last edit: 25 Mar 2015 12:53 by Thomas.Heiss.

Please Log in or Create an account to join the conversation.

More
25 Mar 2015 11:55 #30234 by Indigo
Replied by Indigo on topic DSM Telemetry support
I think the only practical solution is to reset the displayed value.

. . eg. FrameLoss >=40 alarm
  1. Alarm sounds when FrameLosses is 40 or more.
  2. When ENT is pressed to mute the alarm, the value at that moment in time is stored. That value is now subtracted from received telemetry value and the adjusted value is displayed instead of the actual value. So for example the FrameLoss value when in alarm state will appear to be reset by ENT key.
  3. When ENT is pressed only values in an alarm state shall be reset. If no values are in an alarm state, nothing happens.
  4. Alarm is triggered each time the displayed value exceeds the alarm value.
  5. When no more telemetry values are received (ie. when rx is switched off) and the telemetry display values change colour, the actual last received values are then displayed. -- So you can then see the actual totals (instead of adjusted values).

To make it work for any telemetry alarm value we must also record the actual initial received telemetry value and make 'reset' adjust displayed value to that initial value.

I can do this for next build, so you can test and see if you like it.

Please Log in or Create an account to join the conversation.

More
25 Mar 2015 13:16 - 26 Mar 2015 15:23 #30238 by Thomas.Heiss
Replied by Thomas.Heiss on topic DSM Telemetry support
Fire alarm values 2nd/3rd time:
Wow, sounds like a complete code rewrite :-)
Not sure what way it is easier to implement in code...

How about just leaving the DSM monitor fields to be displayed as they are (actual live last data), that would be consistent with data like Fades A/B/L/R you do not put a alarm on.
You can always see the last-updated values even with the flightpack on.


Instead you store the value per each alarm monitored field when the ENT button was pressed internally as you suggested.
Displayed live / last values are not reset.

When checking for an alarm event (alarm is a 2nd/3rd time fired), you just compare if there has been a stored alarm value before (not 1st time / 0) and if you need to alarm the 2nd... time.


Of course the IF logic FL xx > 20/40 does not really work anymore because it is relative to 0 or to the last stored alarm value.

I start to believe that the telemetry config page gets a different meaning anyways (>20/40, >1 relative for each occurance).
It would be going to a "step compare" instead of "max value compare".

So display stays but alarming is only optimized internally?


Not sure how we handle special cases / if that works with changed code already like:
AR6210 - Fades bit counter max 255 (stays 255 always)

-> If one chooses to alarm between 50-100 fades (like >80)
-> may work on good previous tested equipment where almost no framelosses/higher fades


I am not aware of max limits for holds and framelosses for different RX.

Does that maybe sound easier to you to implement (only part code improve, no rewrite)?


RangeTest with DSM telemetry screen:
Is there a way to combine the Transmitter menu / Range Test with the DSM telemetry monitor screen?

Has been the same for Spektrum DX8++.

If there is telemetry data received (e.g TM1000 connected), the Flightlog screen is being used with the Range test.

If no telemetry, the simple range test menu is "hold the trainer button for reduced TX" or "press ENT to stop" (in the case of Devo senders).


Thomas
Last edit: 26 Mar 2015 15:23 by Thomas.Heiss.

Please Log in or Create an account to join the conversation.

More
26 Mar 2015 12:00 #30293 by Indigo
Replied by Indigo on topic DSM Telemetry support
New build is now available. When ENT is pressed any values in alarm state will be stored. The stored value is then subtracted from real value before comparing with set alarm value.

So if alarm is set: HOLDS >= 40, if that value is in alarm state (flickers) then ENT will give you another 40 holds before alarm is triggered again.

Please Log in or Create an account to join the conversation.

More
26 Mar 2015 12:11 - 26 Mar 2015 12:16 #30295 by Thomas.Heiss
Replied by Thomas.Heiss on topic DSM Telemetry support
Telemetry config bug in test version 887aaac and versions before

">=" is in real ">"

"Holds >= 1" does NOT alarm on telemetry flightlog Hold 1 field counter.

You really have to enter in the config page:

Holds >= 0


Same error as head/trunk deviation-devo10-v4.0.1-92e1705 build version.


We talked about this issue on BitBucket #1 Pull request for telemetry fixes.
I can remember that you changed or wanted to change something in the code, Indigo.

Maybe you have to replace the icon ">=" by ">"?

Hard to test the max for FrameLosses, Fades...will try.

"Holds > 0" (max) maybe makes more sense than "Holds >= 1" but remember:

We probably need to change the max to a stepping for the "Telemetry config page", so Holds stepping 1 is the right one instead of max >0.
How would the stepping for Holds "1" work with >0?

For FrameLosses >20, >40, Fades >80, >100 the stepping would be OK, even with ">" instead of ">=".

Do you want to include the icons for the code comparison
- >
- >=
- <
- <=

or stick to only two "<>" or "<= / >="?

Thomas
Last edit: 26 Mar 2015 12:16 by Thomas.Heiss.

Please Log in or Create an account to join the conversation.

More
26 Mar 2015 13:41 #30298 by Indigo
Replied by Indigo on topic DSM Telemetry support
Thanks for reporting this bug.

Yes, months ago I did have it working correctly, but since then I've reduced the code from 4 test statements down to 1. I'll need to add back in a 2nd test statement. One for each sign '>=' and '<='.

Replacing the button icon '>=' with '>' looks like < > > which is odd/confusing. So best to fix the code. No need to test other fields; they will all have the same behaviour.

Please Log in or Create an account to join the conversation.

More
26 Mar 2015 19:23 #30305 by Thomas.Heiss
Replied by Thomas.Heiss on topic DSM Telemetry support
Tested re-occuring holds with test build devo10-v4.0.1-72057cf:

Holds >= 1

on 2nd/3rd hold does not always re-alarm (sound) even the hold counter is incremented.


This specifically is the situation once you re-plugin the flight pack.


Example:
1) turn on Devo
2) plugin flight pack
3) move Devo so such FrameLosses increment
4) move Devo 180 degree so such Hold is incremented to 1
-> alarm and hold field flickering

5) press ENT to stop alarm


- re-do steps 3-4 + 5)

So re-alarming and stopping flickering with ENT + re-alarming again seems to work basically


6) Un-plug flight pack
7) Wait until DSM monitor screen / fields are inverted / black
-> can take 2-3 seconds to recognize that the RX (200QX in my case) is "dead"?

8) Re-plug flight pack
9) Wait until DSM monitor screen fields FrameLosses/Holds are zero'd

- re-do steps 3) to create a hold (but without black/inverted telemetry loss)
-> Sometimes re-alarming (flickering+sound) works, sometimes not
-> Hold field is incremented, but no new alarm states are always thrown

- repeated step 4) move Devo 180 degree
- wait until telemetry monitor fields turn black / inverted
- move Devo 180 degree pointing to 200QX
-> connection + telemetry connection will be back
-> FrameLosses + Holds will be non-inverted / normal again
-> Hold may be incremented

->-> For the last steps this brought me back re-alarming on Hold.


Final thought: Does this seen behavior (especially on flight pack re-connects) without turning Devo OFF/ON has something to do with this:

"When ENT is pressed any values in alarm state will be stored. The stored value is then subtracted from real value before comparing with set alarm value.


When will be the alarm stored values be reset?
Are they always be reset on a flight-pack disconnect?


How do you detect a flight-pack disconnect? How is it different from a telemetry temporary out-of-sight disconnect which also may take 2-3 seconds?

When I turned Devo10 OFF + back ON, re-alarming seemed to work fine.

Please Log in or Create an account to join the conversation.

More
27 Mar 2015 07:59 - 27 Mar 2015 08:01 #30319 by linux-user
Replied by linux-user on topic DSM Telemetry support

Thomas.Heiss wrote: Tested re-occuring holds with test build devo10-v4.0.1-72057cf:
How do you detect a flight-pack disconnect? How is it different from a telemetry temporary out-of-sight disconnect which also may take 2-3 seconds?

When I turned Devo10 OFF + back ON, re-alarming seemed to work fine.


flight-pack disconnect
= reset RX

telemetry temporary out-of-sight
= RX is still running and counting Holds FrameLosses etc.
Last edit: 27 Mar 2015 08:01 by linux-user.

Please Log in or Create an account to join the conversation.

More
27 Mar 2015 23:21 - 27 Mar 2015 23:30 #30342 by Thomas.Heiss
Replied by Thomas.Heiss on topic DSM Telemetry support
(Probably) New bug in test build devo10-v4.0.1-72057cf: monitor looses telemetry connection forever

Error: No further telemetry flightlog data (FrameLosses, Holds) is being shown. All fields are black / inverted.

Re-produced: 2x with 100uw
Range: Blade 200QX quad was 20-50cm away

Test: #1 test today by turning quad 360 degree, also to weakest RX antenna point. Had not tested it before with 100uw with previous test build versions.
Before I was just live flying 200QX in the air.


Description:
DSMx connection to the RX is there / fine and TX (Devo 10) sends out DSMx transmitter packets just fine.
I can arm the motors (beep) by letting go TH.
I can also start the 4 motors.

So the RX section with the new code seems to lock up.
It never gets out of the "I do not RX any telemetry data". FlightLog data is freezed (old FrameLosses / Holds) + all fields black / inverted.

I changed back from 100uw to 100mw.
Does not help.
I also turned the quad to a side (back / 45 degrees sideways) so it MUST receive again data (good antenna link).


Indigo as you changed / further improved the DSM telemetry code for locking / receiving and switching RX<->TX I could imagine that it has something to do with it??

Can we exclude that 200QX is doing something wrong (e.g does not send telemetry anymore)?
Maybe I should make another test and just reboot the Devo sender next time once telemetry locks up and see if after a fresh reboot all is fine?


Test #2: When the telemetry screen lost connection (black, inverted fields) I waited for another test. I got back there but it took longer (multiple seconds) after I turned the quad.
So there is a noticable delay from some time for the RX routine to recognize?
That longer delay does NOT always occur, but sporadically.
The other two tests above never re-established RX connection, even waiting a longer time.

Thomas
Last edit: 27 Mar 2015 23:30 by Thomas.Heiss.

Please Log in or Create an account to join the conversation.

More
28 Mar 2015 06:50 #30349 by Indigo
Replied by Indigo on topic DSM Telemetry support
Looks like vlad_vy has spotted my error here

This will be fixed in next test version which I'm publish shortly.

Please Log in or Create an account to join the conversation.

More
28 Mar 2015 07:23 - 28 Mar 2015 07:27 #30350 by Indigo
Replied by Indigo on topic DSM Telemetry support
New version c810bb4 available here:
bitbucket.org/Indigo1/deviation/downloads

This fixes reported bugs found in the Telemetry alarm function:
  • Alarms should sound at the right time.
  • Alarms should reset automatically when required.
  • Mute keys ENT or EXT should always work.
  • Alarm <= 0 will now fire on a received zero value. Previously zero would never trigger an alarm.
  • After time-out when all fields go inverted all alarms are now reset. eg. when changing RX battery.

Edit: Other reported issues should also be fixed. The Devo tx lockout with Telemetry ON problem might be fixed too. Please report any problems you find. :)
Last edit: 28 Mar 2015 07:27 by Indigo.

Please Log in or Create an account to join the conversation.

More
28 Mar 2015 12:12 #30358 by Thomas.Heiss
Replied by Thomas.Heiss on topic DSM Telemetry support
Hi Indigo,

Thanks for update.

Indigo wrote: New version c810bb4 available here:
bitbucket.org/Indigo1/deviation/downloads

  • Alarm <= 0 will now fire on a received zero value. Previously zero would never trigger an alarm.

  • "on a received zero value"?
    What alarm would that be for? Can you give an example?

    Indigo wrote:

  • After time-out when all fields go inverted all alarms are now reset. eg. when changing RX battery.

  • Can you go into more technical details?

    I seem not to understand how you can check in DeviationTX if the RX is reset / permanently disconnected.
    Can you reset the previously stored alarm values just in that case?
    What is a time-out (yes I see sometimes that the fields go black / inverted; switching intervals vary)?


    I would be very OK like I did with DX8:
    You had to hit the CLEAR button for zeroing values (specially true for min/max RxV, battV, temp,...) after you plug in a new flight pack.
    For FlightLog it worked out of the box without CLEAR (but I would not matter).


    What happens in this scenario with auto-reset on time-out:
    - telemetry warning is configured for >= 20 FrameLosses
    - displayed FrameLosses is 35 (monitor)
    - 1st FrameLosses warning has been already issued on 21 FL and supressed with ENT button
    - telemetry signal suddenly is temporarily disonnected for 1-3 seconds (TM1000 out of range)
    - DSMx connection to RX is however NOT LOST
    - telemetry signal is back (in range)

    -> previously stored value 20/21 (supressed 1st alarm) MUST NOT be reset

    -> if you reset the alarm values for re-occuring events just on a telemetry connection signal problem or lost (flickering 0,x-1 seconds, 1-3 seconds, etc.) re-alarms for FlightLog will not work?? Or do they?


    One have to be involved very low-level technical spoken and read / written some code parts to fully understand how DSMx + telemetry works.

    Sorry for asking.

    Thomas

    Please Log in or Create an account to join the conversation.

    More
    28 Mar 2015 13:09 - 28 Mar 2015 13:15 #30362 by Indigo
    Replied by Indigo on topic DSM Telemetry support

    Thomas.Heiss wrote: Hi Indigo,

    Thanks for update.

    Indigo wrote: New version c810bb4 available here:
    bitbucket.org/Indigo1/deviation/downloads

  • Alarm <= 0 will now fire on a received zero value. Previously zero would never trigger an alarm.

  • "on a received zero value"?
    What alarm would that be for? Can you give an example?

    eg. altitude <= 0m

    When testing this myself, to make sure it was working properly I had mine set to Holds <= 0. What this did was automatically display the telemetry monitor screen as soon as I plugged in the RX battery. I would then just hit ENT to mute it and it would stay muted until reset by disconnecting RX battery for 10seconds. If no telemetry data is received for 10seconds it times-out.

    There's 2 examples. :P


    Thomas.Heiss wrote:

    Indigo wrote:

  • After time-out when all fields go inverted all alarms are now reset. eg. when changing RX battery.

  • Can you go into more technical details?

    I seem not to understand how you can check in DeviationTX if the RX is reset / permanently disconnected.
    Can you reset the previously stored alarm values just in that case?
    What is a time-out (yes I see sometimes that the fields go black / inverted; switching intervals vary)?

    Source code if you wish to review it, is currently in a different bitbucket repository to my downloads. Source code is here:
    bitbucket.org/Indigo1/deviationtx/commits/all


    Thomas.Heiss wrote: I would be very OK like I did with DX8:
    You had to hit the CLEAR button for zeroing values (specially true for min/max RxV, battV, temp,...) after you plug in a new flight pack.
    For FlightLog it worked out of the box without CLEAR (but I would not matter).

    Would you like 'alarm mute' ENT button to reset all displayed values to zero?


    Thomas.Heiss wrote: What happens in this scenario with auto-reset on time-out:
    - telemetry warning is configured for >= 20 FrameLosses
    - displayed FrameLosses is 35 (monitor)
    - 1st FrameLosses warning has been already issued on 21 FL and supressed with ENT button
    - telemetry signal suddenly is temporarily disonnected for 1-3 seconds (TM1000 out of range)
    - DSMx connection to RX is however NOT LOST
    - telemetry signal is back (in range)

    -> previously stored value 20/21 (supressed 1st alarm) MUST NOT be reset

    -> if you reset the alarm values for re-occuring events just on a telemetry connection signal problem or lost (flickering 0,x-1 seconds, 1-3 seconds, etc.) re-alarms for FlightLog will not work?? Or do they?


    One have to be involved very low-level technical spoken and read / written some code parts to fully understand how DSMx + telemetry works.

    Sorry for asking.

    Thomas

    Short periods of no telemtry has no effect.

    You would have to loose connection for 10seconds before stored mute values are reset, in which case the telemetry values remain unchanged (if RX remained powered on) and previously muted alarms would all start flickering again with the alarm sound playing.

    To mute it, just press ENT button again and new mute values are set. :)
    Last edit: 28 Mar 2015 13:15 by Indigo.

    Please Log in or Create an account to join the conversation.

    More
    29 Mar 2015 05:37 #30391 by Indigo
    Replied by Indigo on topic DSM Telemetry support
    My last 2 builds have had a high rate of frame losses. I noted this change but accepted it as less holds equals more frame losses reported by RX.

    These issues are now fixed: :woohoo:
    • telemetry stops working after a while.
    • high rate of frame losses.

    Currently a bitbucket bug 'field can not be empty' is stopping me from sync'ing with latest nightly's. However, I have done a local merge with latest nightly's to create this new build.

    So I make it available as 093e33f in my downloads .

    Please Log in or Create an account to join the conversation.

    More
    29 Mar 2015 18:41 - 30 Mar 2015 06:37 #30411 by Thomas.Heiss
    Replied by Thomas.Heiss on topic DSM Telemetry support
    Test results test build c810bb4:


    Tested with: Blade 200QX (on-board RX, antenna, basic telemetry) - no TM1000.


    Severe problems:

    1. Locked out TX state at the ground - Devo could not transmit / bind to 200QX anymore

    - loosing connection just sitting in front of 200QX with 100uw (not 100mw)
    -> played around with FrameLosses / holds by pointing away Devo antenna
    -> 1-11 Holds
    -> re-pointing Devo antenna to 200QX, checking 200QX re-connect sound, trying to arm (Throttle Hold) / start motors

    - even waiting 20-30 seconds for plugging in new flight pack did not even get me a BIND back
    -> 200QX jumped into NEW BIND / blinking mode (even Devo 10 was turned on)
    -> never had that for the last test releases

    - during flight with 200QX TX state never locked out (so happend only once at ground at table)


    2. Telemetry RX state froozen - can not receive new data even on flight pack reconnect
    -> never had that for the last test releases (at least releases before c810bb4 and 72057cf before)


    2.1 black / inverted (telemetry signal lost) didn't come out of its state even for minutes

    This also happend with 200QX for 10 flight packs during flight
    -> after 1 hold and a view framelosses telemetry locked and did not update anymore
    -> reproduced multiple times
    -> re-testing again today a view minutes with 100uw did not lock state anymore

    Telemetry stop had happend quite fast while flying within first ~20-60 seconds.


    2.2 RX state seems to hang a longer time, had to often wait 20-30 seconds for flight pack reconnect to re-display new telemetry data (FL 0/0 Holds)
    - sometimes it works (after 20-30 seconds)
    - sometimes it does not work (froozen state)


    2.3 in flight with 200QX re-alarms of hold re-displayed hold 1 over and over again
    -> had to mute alarm sound for hold by pressing ENT but that alarm re-appeared multiple times
    -> today on table with 100uw and telemetry config "hold >0" I could not reproduce this scenario anymore (holds incremented by 1, and new hold values flicker once stopped by ENT)

    Maybe some unknown side effects?


    Are you 100% sure that the RX telemetry code can NEVER lock out TX state?
    The good news is that this did not happen during the flight with 200QX.


    How often is in the code switched between the both states?

    How long should it take maximum that the telemetry monitor screen be updated again with new telemetry data once available after telemetry signal loss?


    Is there any code place for a possible RX-deadlock, where the Devo sender never switches back to TX state?

    Could you please double-check this Indigo?


    My multiple holds (even with only a view framelosses) are just because of the ~24mm?? (should be 30-31,xxmm) short 200QX antenna and bad mounting options because of carbon frame platters / arms.

    Will re-test it with newer version 093e33f++.

    Indigo wrote: My latest builds c810bb4 and 093e33f suffer from some sort of bind or rebind problem.

    If it looses binding for more than half a second it takes forever to rebind, and when it does rebind it easily looses binding again. Could this be a sync problem?

    Up until the first long Hold occurs it works great, but then :sick:



    I can confirm your statement that during flight testing with 10 flight packs point 2) telemetry was locking once hold was 1 (short hold!!).

    On ground / table my tests showed different test results. Not always it is completely locking / freezing.

    Thomas
    Last edit: 30 Mar 2015 06:37 by Thomas.Heiss.

    Please Log in or Create an account to join the conversation.

    More
    06 Apr 2015 14:44 - 07 Apr 2015 08:13 #30843 by vlad_vy
    Replied by vlad_vy on topic DSM Telemetry support
    For Indigo,

    DSM telemetry errors:

    1. Data type = 0x16 and 0x17 GPS Sensor - all bytes swapped. GPS sensor sends bytes with different order = first LSB, next MSB.

    Latitude always = N 0 00' 00.001"
    Longitude always = E 0 00' 00.001"
    all others values have not any sense (wrong values).

    2. Data type = 0x15 JetCat Sensor - also has different bytes order = first LSB, next MSB.

    3. Data type = 0x34: Flight Pack Cap Sensor (SPMA9605) - also has different bytes order = first LSB, next MSB.

    4. Data type = 0x18: RX Pack Cap Sensor (SPMA9604) - also has different bytes order = first LSB, next MSB.

    Spektrum sensors can have different bytes order (MSB+LSB or LSB+MSB). Now it difficult to control at code, since buffer has integer format with unknown bytes order.

    5. Also, 'Temp' with value '18186C', if sensor is disconnected, confuse me.

    For DSM telemetry: If (Temp <-40 || Temp > 538) Temp = 0; //(-40F~1000F or -40C~538C)
    For Devo telemetry: If (Temp > 220) Temp = 0; //(-20C ~ 220C)

    6. Telemetry module (TM1000) now do not work (do not bind) with 6ch DSMX Rx (Spektrum AR6210) with any protocol options (OFF. ON, A1).

    7. For me, will be better display 'Speed' as 'km/h', but not as 'm/sec'.
    Last edit: 07 Apr 2015 08:13 by vlad_vy.

    Please Log in or Create an account to join the conversation.

    More
    06 Apr 2015 17:41 - 06 Apr 2015 18:51 #30847 by Thomas.Heiss
    Replied by Thomas.Heiss on topic DSM Telemetry support
    Confirm 5) Temp value '18186C' for disconnected sensor (tested on AR8000)

    New error: Fades will be reset to 0 after some time (max 0xFF/255 bit counter on A for 6CH RX a problem?)


    Flightlog (fades): Jumping numbers as previously described (problem goes back to nightly version 92e1705)


    FlightLog test videos 36cce5c with 100uw (not 100mw) output power:

    modellbau.theiss-nbg.de/Deviation-TX-Nig...5c-DSmx_TM1000_Tests

    Sorry for reoccuring in-/out auto zooming in macro mode!
    I am not aware how to avoid / improve this.
    You better turn the sound off.


    StrykerQ: AR600 + TM1000 (only A active, 1 RX, antenna diversity)
    P51D: AR6210 + TM1000 (A internal RX, B external SAT, 2 multiple RX: main RX + SAT; A max 255)
    Blade4503D: AR8000 + TM1000 (A internal RX, L external SAT, 2 multiple RX: main RX + SAT; B/R: NOT_CONNECTED)

    All videos finished uploading.


    Thomas
    Last edit: 06 Apr 2015 18:51 by Thomas.Heiss.

    Please Log in or Create an account to join the conversation.

    More
    14 Apr 2015 00:05 - 14 Apr 2015 00:18 #31143 by Indigo
    Replied by Indigo on topic DSM Telemetry support

    Thomas.Heiss wrote:

    Indigo wrote:

  • After time-out when all fields go inverted all alarms are now reset. eg. when changing RX battery.

  • Can you go into more technical details?
    ...
    Thomas

    Actually my statement above is wrong. An alarm will self reset when value received is ok. (not an alarm value)

    When RX is powered ON again any received value that is less than configured alarm value will reset that alarm.
    If works like this:
    • there are 3 alarm states: off = 0, on = 1, mute = 2.
    • when you mute an alarm, the alarm state is still true (just silenced).
    • if a received value is not an alarm value, the alarm state is set to 0 (off). So alarm will self reset if received value is ok.

    How is alarm state set back to zero? The alarm state is incremented until it becomes zero. Here is the code:
            if (value >= alarm_value) {     // if alarm condition is true
                if (! alarm_state[k]) {     // if alarm_state = off, then make alarm_state = on
                    alarm_state[k]++;
                }
            } else {                        // (not an alarm value)
                if (alarm_state[k]) {       // if alarm_state = on/mute, increment alarm_state
                    alarm_state[k]++;       // on -> mute -> mute -> 4
                    alarm_state[k] &= 3;    // value of 4 becomes 0 (off)
    Last edit: 14 Apr 2015 00:18 by Indigo.

    Please Log in or Create an account to join the conversation.

    More
    14 Apr 2015 00:46 #31146 by Indigo
    Replied by Indigo on topic DSM Telemetry support

    vlad_vy wrote: For Indigo,

    DSM telemetry errors:

    1. Data type = 0x16 and 0x17 GPS Sensor - all bytes swapped. GPS sensor sends bytes with different order = first LSB, next MSB.

    Latitude always = N 0 00' 00.001"
    Longitude always = E 0 00' 00.001"
    all others values have not any sense (wrong values).

    2. Data type = 0x15 JetCat Sensor - also has different bytes order = first LSB, next MSB.

    3. Data type = 0x34: Flight Pack Cap Sensor (SPMA9605) - also has different bytes order = first LSB, next MSB.

    4. Data type = 0x18: RX Pack Cap Sensor (SPMA9604) - also has different bytes order = first LSB, next MSB.

    Spektrum sensors can have different bytes order (MSB+LSB or LSB+MSB). Now it difficult to control at code, since buffer has integer format with unknown bytes order.

    5. Also, 'Temp' with value '18186C', if sensor is disconnected, confuse me.

    For DSM telemetry: If (Temp <-40 || Temp > 538) Temp = 0; //(-40F~1000F or -40C~538C)
    For Devo telemetry: If (Temp > 220) Temp = 0; //(-20C ~ 220C)

    6. Telemetry module (TM1000) now do not work (do not bind) with 6ch DSMX Rx (Spektrum AR6210) with any protocol options (OFF. ON, A1).

    7. For me, will be better display 'Speed' as 'km/h', but not as 'm/sec'.


    DSM telemetry errors: 1 - 5 and 7 are fixed (I hope)

    Latest code is available here .

    To download and test, click on Downloads (link on left),
    then click on Test Builds and then [Indigo]Devo/DSMx Telemetry Updates

    Please Log in or Create an account to join the conversation.

    More
    14 Apr 2015 01:07 - 14 Apr 2015 01:11 #31148 by Indigo
    Replied by Indigo on topic DSM Telemetry support
    In order to make latest code fit on Devo7e, I had to remove (Devo7e only) GPS telemetry data support from DSM protocol.

    Devo7e now gets support for other DSM telemetry sensors: Airspeed, Altitude, G-Force, RxpCap, FpCap and Vario.

    I could restore GPS telemetry data support by storing raw gps data values and make other protocols store their gps data in same raw dsm gps format. However, there is now growing space (Devo7e) in dsm protocol for adding more sensors in future, and restoring GPS support to Devo7e would use up all that growing space.

    For other Devo Tx's, DSM Hypothetic sensor has been added to supported Telemetry data.
    Last edit: 14 Apr 2015 01:11 by Indigo.

    Please Log in or Create an account to join the conversation.

    Time to create page: 0.094 seconds
    Powered by Kunena Forum