New FrSkyX protocol

More
13 Nov 2016 07:48 #55891 by petsmith
Replied by petsmith on topic New FrSkyX protocol
Since I compile my own build, I've no issues in disabling the telemetry serial out myself. However, I still think it's not a good idea to enable it by default in the general built. For the majority of FrskyX users, I don't think many of them will ever use the telemetry serial out feature. Protocol timing is critical and adding unnecessary serial port handling within the protocol code is kind of wasting system resource, especially when people can't even turn it off (unless they can compile their own source). I remembered I had added some serial logging statements in FrskyX code before, and those logging statements sometimes resulted in dropouts due to they consumed extra CPU cycles. Anyway, that's just my 2 cents.

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

More
13 Nov 2016 20:08 #55908 by hexfet
Replied by hexfet on topic New FrSkyX protocol
I appreciate your input and will keep in mind. Wanted you to know why I implemented it as it is.

Another reason it's on by default is that if there's any problems I'd rather know right away. It has to work no matter what other options are turned on. The telemetry serial out is implemented with DMA so the only extra processing is calculating the checksum and setting up the transfer, and a final termination interrupt. The DMA and interrupt are at lower priority than ADC DMA and timer interrupt. The serial output takes about 1.8ms and occurs during the 4ms window for processing the s.port packet. Since it takes 2 over-the-air telemetry packets to receive one s.port packet at least 72ms separates each telemetry serial out packet.

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

More
14 Nov 2016 14:10 #55923 by Fernandez
Replied by Fernandez on topic New FrSkyX protocol
Just quick report:
I have been flying first time outside, using x4r with sbus to betaflighht 3.1 and the u7e build of HappyHarry, flew some lipos and I had no problems to report with this protocol. Telemetry I use the analog port for my battery not used smart port yet.
Do we have some more field reports people flying the x protocol with success? Can we conclude it is stable?

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

More
14 Nov 2016 18:42 #55930 by LumpyLouis
Replied by LumpyLouis on topic New FrSkyX protocol
Thanks hexfet and petesmith for the info! I'd like to look into the altered firmware option before I have to pull my quad apart again and build the divider.

As a relative newb wrt coding, could you offer some resources on what I would need to do specially to a firmware file to remove standard GUI and enable s.port telemetry? I didn't see any anything in the test builds section that look like a good jumping off point.

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

More
14 Nov 2016 19:55 #55931 by hexfet
Replied by hexfet on topic New FrSkyX protocol
Follow the directions here to set up your build environment. Make sure you can build the unmodified 7e software.

Then edit file deviation/src/target/devo7e/target_defs.h. Where you see HAS_STANDARD_GUI 1, change the 1 to 0. On the line with HAS_EXTENDED_TELEMETRY change the 0 to a 1.

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

More
14 Nov 2016 21:06 #55932 by LumpyLouis
Replied by LumpyLouis on topic New FrSkyX protocol

hexfet wrote: Follow the directions here to set up your build environment. Make sure you can build the unmodified 7e software.

Then edit file deviation/src/target/devo7e/target_defs.h. Where you see HAS_STANDARD_GUI 1, change the 1 to 0. On the line with HAS_EXTENDED_TELEMETRY change the 0 to a 1.


OK thanks. So this process will build a firmware file with the FrSkyX protocol currently only available in the Nightlies?

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

More
15 Nov 2016 06:21 #55943 by hexfet
Replied by hexfet on topic New FrSkyX protocol
Yes, the default is to build the master branch which is where the nightly build comes from.

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

More
17 Nov 2016 05:10 #55979 by LumpyLouis
Replied by LumpyLouis on topic New FrSkyX protocol

hexfet wrote: Follow the directions here to set up your build environment. Make sure you can build the unmodified 7e software.

Then edit file deviation/src/target/devo7e/target_defs.h. Where you see HAS_STANDARD_GUI 1, change the 1 to 0. On the line with HAS_EXTENDED_TELEMETRY change the 0 to a 1.


So I was able to get docker installed and was able to follow all of the steps down to creating the image. When I select "Build" it just creates the image and it looks like any other download of deviation. I do not see a folder for "deviation" in the zip file. How do I access deviation/src/target/devo7e/target_defs.h? If this is something I need to do before i select "Build" how do I do so? Thanks again for the assistance.

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

More
17 Nov 2016 05:32 #55981 by hexfet
Replied by hexfet on topic New FrSkyX protocol
The change needs to be made before you build. Tab over to the Shell menu item and select it. That will put you at a linux command line inside the docker container. The deviation directory should be under /git I think (my setup is slightly different).

After you make the changes type "exit" at the command prompt and you'll be back in the menu. Select Build and you know the rest.

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

More
17 Nov 2016 12:27 #55983 by LumpyLouis
Replied by LumpyLouis on topic New FrSkyX protocol

hexfet wrote: The change needs to be made before you build. Tab over to the Shell menu item and select it. That will put you at a linux command line inside the docker container. The deviation directory should be under /git I think (my setup is slightly different).

After you make the changes type "exit" at the command prompt and you'll be back in the menu. Select Build and you know the rest.


Im sorry again but i am still not grasping it. i am able to get to the linux command line through shell. i have typed

dir git/deviation/src/target/devo7e/target_defs.h

which is what i think i need to do but it just repeats what i typed and drops me to the next command line. i dont see an option to select or edit a file.

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

More
18 Nov 2016 08:07 - 18 Nov 2016 23:28 #55998 by Nitro_123
Replied by Nitro_123 on topic New FrSkyX protocol
Ignoring all that, can you tell me why it's telling me this
Error response from daemon: create ~/devo_builds: "~/devo_builds" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed

edit: so the above problem is solved by removing the ~/ in front of devo_builds.

Now when I compile there's nothing in devo_builds.

Dockers shell has vim preinstalled. Using that to edit files


P.S.
I really like this docker thing. Thanks mwm :)
P.P.S getting errors :/
Building devo module
 + Compiling 'protocol/dsm2_cyrf6936.c' as module
 + Building 'objs/devo7e/dsm2_cyrf6936.bin'
arm-none-eabi-ld: objs/devo7e/dsm2_cyrf6936.elf section `.text' will not fit in region `ram'
make[1]: *** [objs/devo7e/dsm2_cyrf6936.bin] Error 1
make: *** [zip_devo7e] Error 2
PS C:\Users\Hamza>
Last edit: 18 Nov 2016 23:28 by Nitro_123. Reason: stuffs not working sad

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

More
19 Nov 2016 04:25 #56030 by hexfet
Replied by hexfet on topic New FrSkyX protocol
From the recent commit messages for DSM improvements seems like it's already a squeeze for the 7e and dropping standard GUI doesn't get enough memory back to allow extended telemetry. Don't see an easy workaround at the moment.

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

More
21 Nov 2016 13:21 - 21 Nov 2016 13:24 #56140 by LumpyLouis
Replied by LumpyLouis on topic New FrSkyX protocol
Bummer. Looks like its time for Plan B. Please update if there are any changes and thanks again.

@petesmith: Do you use a non-ultimate 7e? If so, is there a way you can share the custom build you got working?
Last edit: 21 Nov 2016 13:24 by LumpyLouis.

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

More
21 Nov 2016 13:58 - 21 Nov 2016 13:59 #56141 by vlad_vy
Replied by vlad_vy on topic New FrSkyX protocol
You can't use extended telemetry for Devo7e, DSM2/X protocol module (and probably other telemetry protocol) doesn't fit to 4K memory allocated for protocol modules.
Last edit: 21 Nov 2016 13:59 by vlad_vy.

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

More
22 Nov 2016 12:24 #56159 by petsmith
Replied by petsmith on topic New FrSkyX protocol

LumpyLouis wrote: Bummer. Looks like its time for Plan B. Please update if there are any changes and thanks again.

@petesmith: Do you use a non-ultimate 7e? If so, is there a way you can share the custom build you got working?


I'm using an Ultimate 7e. When you remove standard GUI, you will gain around 5KB space in flash ROM. However, the extended telemetry code are part of the protocol module which resides in RAM (4KB RAM on the Devo 7e is dedicated for loading protocol modules dynamically). It's possible to move the Frksy extended telemetry code (and/or part of its protocol code) to ROM space and allowing it to fit on the 7e. However, this will require code changes and will become very messy to maintain. I don't think any Deviation developer will want to go this route. Sorry to get your hopes up as I didn't realise this until I checked out the source code.

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

More
22 Nov 2016 13:16 #56162 by Nitro_123
Replied by Nitro_123 on topic New FrSkyX protocol
@vlad_vy @petsmith would it be possible to create my own build after rolling back some of vlad's changes (or better yet, disabling the dsm2 compile ) so that I can compile a frsky build with telemetry ?

I understand that the 7e is restrictive but i hope there are workarounds :)

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

More
22 Nov 2016 14:05 #56163 by petsmith
Replied by petsmith on topic New FrSkyX protocol
It's nothing to do with DSM2. You can easily disable extended telemetry for dsm2 and making it fit within 4K. The problem is FrskyX with extended telemetry, it will not fit in 4K RAM space. If you are good at C programming, you can move the FrskyX telemetry code from RAM space to ROM space. It will require some work but it's definitely doable. However, it will also result in messy code and will be hard to maintain in the future, so I don't think any Deviation developer will want to do it.

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

More
22 Nov 2016 14:52 #56164 by sfersystem
Replied by sfersystem on topic New FrSkyX protocol
on my Devo10, is it now possible to have the battery voltage with the XSR ?

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

More
22 Nov 2016 16:07 - 22 Nov 2016 16:09 #56165 by petsmith
Replied by petsmith on topic New FrSkyX protocol
okay, I took the time to move the FrskyX Extended Telemetry code from RAM to ROM and created a special version for Devo7e. Pls note the following:

- Standard GUI is removed
- FrskyX with Extended Telemetry
- DSM2 without Extended Telemetry (I suppose we can also support it if needed. We seem to still have enough ROM space for it.)
- it's based on the latest nightly

I don't have a standard Devo 7e to test. Let me know how it works out.

PS. The zip file is too big to be attached in the forum. I uploaded it to some free hosting site.

www.sendspace.com/file/9wwq9z
Last edit: 22 Nov 2016 16:09 by petsmith.

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

More
22 Nov 2016 16:11 #56166 by petsmith
Replied by petsmith on topic New FrSkyX protocol

sfersystem wrote: on my Devo10, is it now possible to have the battery voltage with the XSR ?


Yes, extended telemetry is supported on Devo 10. That is, you can see your model's battery on your Devo 10, provided your FC can supply the battery info to XSR via s.port.

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

Time to create page: 0.114 seconds
Powered by Kunena Forum