DSM Telemetry support

More
02 May 2015 21:37 #31986 by Thomas.Heiss
Replied by Thomas.Heiss on topic DSM Telemetry support
I couldn't get really much distance with 100uW on DSMx (some meters).

Isn't it the same test db for all Spektrum transmitters like DX6, DX9, DX18, DX10T? Not only DX8/DX7s?
It is protocol dependent?

I don't care how Futaba, Hott, MPX senders do it as the protocols are not used.
I agree with you that FrSky Taranis and FrSky protocol might be different again for output power. Same for other 3rd-party protocols.

I really liked the idea of the introduced test page feature.
It could happen that you forget to put back the model setting to 100mW, once you played around with 100uW/300uW/1mW.
A simple drop down box for output power would be OK with me. But that might confuse others (e.g newbies).

Maybe its best to hardwire the range test page output in the code or a general config screen per protocol?

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

More
02 May 2015 21:53 #31988 by mwm
Replied by mwm on topic DSM Telemetry support
Different manufacturers use different values for range test, but all the ones I've seen drop the value around 30db. That's what the drop from 100mw to 100uw gets you. I thought about drop-down boxes, and reporting things like the reduction in signal strength or range. I eventually decided that those would just confuse newbies and wouldn't provide any extra information to people who knew what they were doing.

At 100uw, I still get good reception with a 350QX1 at Spektrum's recommended range test distance of 30 paces. On the OrangeRX 610 in the Orion, I only tested it to 20 feet. Which translates to effective ranges of about 900 yards and 600 feet, far further than I'm likely to need them to work.

There was a bitbucket issue that made exactly the point you mention - that you want to be sure you don't leave it in the low power mode. Which is why I added it.

Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.

My remotely piloted vehicle ("drone") is a yacht.

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

More
03 May 2015 17:18 - 03 May 2015 17:26 #32010 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
I see the problem at the next place:
        if (state == DSM2_CH2_READ_A && num_channels < 8) {
            state = DSM2_CH2_READ_B;
            CYRF_WriteRegister(CYRF_05_RX_CTRL, 0x80); //Prepare to receive
            return 11000;
        }

What happened if first receive is not completed in case error? RX_GO bit can be still active. "This bit must not be set again until after it self clears."

Probably it can be:
        if (state == DSM2_CH2_READ_A && num_channels < 8) {
            state = DSM2_CH2_READ_B;
            if (CYRF_ReadRegister(CYRF_05_RX_CTRL) & 0x80) { // We're still in receive mode    
                CYRF_WriteRegister(CYRF_0F_XACT_CFG, 0x28);  // Force end state
                int i = 0;
                while (CYRF_ReadRegister(CYRF_0F_XACT_CFG) & 0x20) {
                    if(++i > NUM_WAIT_LOOPS)
                        break;
                }
            }
            CYRF_WriteRegister(CYRF_05_RX_CTRL, 0x80); //Prepare to receive
            return 11000;
        }
Last edit: 03 May 2015 17:26 by vlad_vy.

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

More
04 May 2015 04:14 - 04 May 2015 04:16 #32040 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
Indigo, about your last changes, do you think that RX_IRQ_STATUS register will be valid after Force End State?
Last edit: 04 May 2015 04:16 by vlad_vy.

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

More
04 May 2015 06:38 #32048 by Indigo
Replied by Indigo on topic DSM Telemetry support

vlad_vy wrote: Indigo, about your last changes, do you think that RX_IRQ_STATUS register will be valid after Force End State?


I would expect that when receive is complete that RX_IRQ_STATUS is correct.

If not complete then error bit might not be set but it doesn't matter, The buffer will be forced empty and the number of bytes read is returned only if data is ok, Parse_Telemetry_Packet() will only get called if receive complete, no error bit set and received byte count = 16.

I would expect the DSM protocol timing is such that the receiving should have completed. If the current receive is not complete, then the faster "we discard data and clean up" the better.

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

More
04 May 2015 11:26 #32056 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support

vlad_vy wrote: if 'Holds'=255 -> Telemetry Range Warning
if 'A' or 'B' or 'L' or 'R' not equal to its previous value and >=512 (usually =65535) -> Telemetry Range Warning

-> A, B, L, R, F, H -> not valid (must be filtered)


Probably will be worth to filter these values.

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

More
05 May 2015 09:08 - 05 May 2015 09:10 #32096 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
Indigo, can you test your "Holds" problem with next code? If you will get any "DelayChN" message, we probably can locate problem more precisely. At least we will know that something hang up transmission.

    } else if(state == DSM2_CH1_CHECK_A || state == DSM2_CH1_CHECK_B) {
        int i = 0;
        while (! (CYRF_ReadRegister(0x04) & 0x02)) {
            if(++i > NUM_WAIT_LOOPS) {
                printf("DelayCh1");
                break;
            }
        }
        set_sop_data_crc();
        state++;
        return CH1_CH2_DELAY - WRITE_DELAY;
    } else if(state == DSM2_CH2_CHECK_A || state == DSM2_CH2_CHECK_B) {
        int i = 0;
        while (! (CYRF_ReadRegister(0x04) & 0x02)) {
            if(++i > NUM_WAIT_LOOPS) {
                printf("DelayCh2");
                break;
            }
        }
Last edit: 05 May 2015 09:10 by vlad_vy.

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

More
06 May 2015 10:16 - 06 May 2015 10:21 #32167 by Thomas.Heiss
Replied by Thomas.Heiss on topic DSM Telemetry support

vlad_vy wrote:

vlad_vy wrote: if 'Holds'=255 -> Telemetry Range Warning
if 'A' or 'B' or 'L' or 'R' not equal to its previous value and >=512 (usually =65535) -> Telemetry Range Warning

-> A, B, L, R, F, H -> not valid (must be filtered)


Probably will be worth to filter these values.


Thomas.Heiss wrote:
FlightLog 0xFF / 255 max value
Do the latest pull requests (without protocol changes), which are merged into deviationtx team repository (trunk), have some more code changes / reviews for displaying 0xFF/255 values?
Have you been already working on this Indigo?

As posted before in this thread I had the problem that the Fades A, B, L, R reset to "0" suddenly once "255" had been reached.
The valid max value (fades) for AR6210/AR600 is 255. It went no further on DX8 so it is receiver hardware.
It is fine to display 255 therefore. It is not a bad value (for fades).

AR8000 and probably 9-12CH receivers can go >255 for fades (I tested this on AR8000 on L before).

You must NOT reset or suppress flightlog data 0xFF (at least not for fades).


Is 255 reset to 0 fixed yet?

In my AR8000 + TM1000 video you can see that I successfully tested showing fades value >512 (e.g 2217) on Fades L as well on FrameLosses.


So:

"if 'A' or 'B' or 'L' or 'R' not equal to its previous value and >=512 (usually =65535) -> Telemetry Range Warning"


-> is not correct??!?? I was in range when display showed >512 (so real fades, real FrameLosses).

"F, H > x -> not valid (must be filtered)"


-> i had successfully tested F 859 in my video as a real number (real losses).

So >512 does not apply for FrameLosses too.


Do you guys have an idea why for some received (bogus) telemetry data F and H show (switch to) 0 in the monitor instead of a real number e.g 32767 or 65535?


I think we have to test it a bit more if there is any fixed number applying for F which triggers a real "telemetry range warning".
Last edit: 06 May 2015 10:21 by Thomas.Heiss.

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

More
06 May 2015 10:27 - 06 May 2015 11:01 #32168 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
If Spektrum have not definitive condition for telemetry range warning, we also have not. I think Fades, Frame Losses and Holds can't change more than 45 for 1 second, so it can be signal for filtering values or range warning. Hold equal 45 or more consecutive frame losses, so no more that 1 in a second.
Last edit: 06 May 2015 11:01 by vlad_vy.

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

More
07 May 2015 11:15 #32204 by Indigo
Replied by Indigo on topic DSM Telemetry support

Thomas.Heiss wrote: FlightLog 0xFF / 255 max value
Do the latest pull requests (without protocol changes), which are merged into deviationtx team repository (trunk), have some more code changes / reviews for displaying 0xFF/255 values?
Have you been already working on this Indigo?

0 and 255 are displayed as a real values. If 255 overflows and becomes 0 again, it must be fault in receiver.
The min/max values in deviation are only used to limit range of telemetry alarm.

Thomas.Heiss wrote: Do you guys have an idea why for some received (bogus) telemetry data F and H show (switch to) 0 in the monitor instead of a real number e.g 32767 or 65535?

Deviation only displays the value it receives. If value is not the special "not connected" value 65535 (-32768) then it is treated as a real value (even if greater than max value, or less than min value), if real value then display "as is".
Currently as a interim measure 32767 is also treated same as special "not connected" value 65535. (I think this can now be removed)

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

More
12 May 2015 07:16 - 12 May 2015 07:19 #32434 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
Time from DSM2_CH2_READ_B to exit from dsm2_cb() ("return READ_DELAY") equal to max 188usec. So, we have plenty of time after telemetry parsing up to transmit, more than 200usec.
Last edit: 12 May 2015 07:19 by vlad_vy.

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

More
13 May 2015 04:44 - 13 May 2015 05:24 #32482 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
New test version. DSM protocol - More structured CYRF programming. CYRF programming divided to: cyrf_startup_config(), cyrf_bind_config() and cyrf_transfer_config(). This is version used for last test.

www.deviationtx.com/downloads-new/catego...lad-vy-devo-dsm-test


vlad_vy wrote: New test version with "Rst CYRF" enabled.

www.deviationtx.com/downloads-new/catego...lad-vy-devo-dsm-test

Minor change for DEVO protocol, require testing. Minor changes for DSM protocol.

DSMX protocol testing. I had not many time for testing, but for 10 min test:

AR6210+TM1000 (100uW) 18 meters - I havn't any Holds, but many Fades and Losses.
AR6210+TM1000 (300uW) 30 meters - I havn't any Holds, but many Fades and Losses.

I think it is not bad result for town testing with 2 WiFi access points near me, one around 6 meters to RX and other around 8 meters to Tx.

vlad_vy wrote: One more DSMX protocol testing, last time I forgot about TM1000 antenna position. I had not many time for testing, but for two 10 min test:

AR6210+TM1000, 100uW, 30 meters - I havn't any Holds, but many Fades and Losses.
AR6210+TM1000, 100uW, 30 meters - I havn't any Holds, but many Fades and Losses.

Last edit: 13 May 2015 05:24 by vlad_vy.

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

More
18 May 2015 08:31 - 21 May 2015 04:29 #32725 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
Hands up, I can't fit any changes to Devo7e, so it's final code for DSM and Devo protocols what I can fit to Devo7e. Probably it will work fine. I don't see any sense to continue.

Deleted, it doesn't work fine.
Last edit: 21 May 2015 04:29 by vlad_vy.

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

More
18 May 2015 12:35 #32729 by mwm
Replied by mwm on topic DSM Telemetry support
You could always disable advanced GUI editing on the 7E. Or re-disable it, as it wasn't fitting before we switched to the latest toolchain.

I had to do that for the new toggles code as well.

Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.

My remotely piloted vehicle ("drone") is a yacht.

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

More
20 May 2015 01:33 #32784 by ohhorob
Replied by ohhorob on topic DSM Telemetry support
Has anyone reported seeing only 7 channels in their Flight Controller? (instead of the expected 8)

I have the LemonRx DSM2 Satellite on a nano quad, providing Serial input to Cleanflight running on a Naze compatible FC.

The TX is a Devo 12S, running Deviation v4.0.1, model configured as DSM2 / 8 Channels.
name=Lulfro
mixermode=Advanced
[radio]
protocol=DSM2
num_channels=8
fixed_id=2705
tx_power=150mW

There should be an Aux 4 in this section:

Attachments:

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

More
20 May 2015 06:10 - 20 May 2015 06:11 #32788 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
I'm forgot about changed 'Scanner page'
Last edit: 20 May 2015 06:11 by vlad_vy.

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

More
20 May 2015 15:15 - 22 May 2015 06:31 #32798 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
Next version of 'RF Scanner', with 'Average' and 'Peak' modes. 'Peak' mode useful for locating occupied channels. For example, I can see two DSM2 channels occupied by nearby DSM2 transmitter.

Changed files
Last edit: 22 May 2015 06:31 by vlad_vy.

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

More
20 May 2015 16:12 #32799 by PhracturedBlue
Replied by PhracturedBlue on topic DSM Telemetry support

mwm wrote: You could always disable advanced GUI editing on the 7E. Or re-disable it, as it wasn't fitting before we switched to the latest toolchain.

I had to do that for the new toggles code as well.


The issue is actually with the protocol code which has a hard limit of 4096 bytes for all code+rom.

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

More
21 May 2015 09:21 #32824 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
I like scanner 'Peak' mode more and more. I can see nearby WiFi points that occupied wide set of channels.

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

More
28 May 2015 16:42 #33134 by vlad_vy
Replied by vlad_vy on topic DSM Telemetry support
Can anybody try new RF Scanner from test build? Scanner works for Devo 6, 8, and 12.

www.deviationtx.com/downloads-new/catego...m-rf-scanner-updates

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

Time to create page: 0.121 seconds
Powered by Kunena Forum