Devo7e work

More
31 Dec 2012 16:54 - 29 Mar 2013 02:05 #4432 by PhracturedBlue
Devo7e work was created by PhracturedBlue
I've started work on the the Devo7e port. It looks like it is going to be very challenging.
I've already removed support for languages and for the simplified mixer. Even so, the build is still 28kB too big to fit into the memory available.
I've looked at various options, and the most likely to succeed would be to do a lot of optimization of the Devo10 GUI. This will not be an easy project, and 28kB is a lot of space to recover.
An alternative would be to remove filesystem support, which would probably do it, but that would basically cripple the whole premise of Deviation, and is not something I really want to contemplate.

Latest experimental build: 2013-01-22
You do not need to do anything with the included debug zip file. It is only needed should you need to report bugs to me

To install, install the dfu, install the filesystem, then copy the 'protocol' directory to the Tx.
When upgrading you must always install the dfu, then copy the corresponding files from the protocol dir
Attachments:
Last edit: 29 Mar 2013 02:05 by PhracturedBlue.

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

More
31 Dec 2012 17:35 #4435 by PhracturedBlue
Replied by PhracturedBlue on topic Devo7e work
Oops. I forgot to use the optimized printf routines.

With the optimized printf routines, I'm within 8kB of being able to fit in the needed memory.
If I remove support for ini handling, I can then actually get into the needed footprint with room to spare (which we'll need).

There are a couple of downsides of course:
1) you won't be able to load ini files from the forums onto the devo7e without converting them
2) model files won't be compatible between firmware upgrades (it may be possible to do something about that)
3) model files won't be human readable

If I take this path, I'll provide a utility to convert between the binary format and ini format.

Note, all I've done so far is to strip down the Devo10 firmware to be able to fit in the Devo7E available memory. I have not actually loaded firmware onto the Devo7e, and have no idea yet what the effort will be to make it actually work.

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

More
31 Dec 2012 17:44 #4438 by RugWarrior
Replied by RugWarrior on topic Devo7e work
Sounds like a lot of work for me.

But hopefully many out there can enjoy a new feeling of owning a Devo 7E.

I was so happy the first time I powered on my optimized Devo 8S...

No comparison to the original firmware :)

Happy new year for you!

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

More
31 Dec 2012 21:29 #4449 by Hexperience
Replied by Hexperience on topic Devo7e work
I know I read your comments on this PB, but I can't recall what was said.

Was the Devo12 a different architecture, or had no usb? There was something that made it not worth doing?

I would LOVE to have that radio with deViation on it.

There are 10 types of people in this world. Those that understand binary and those that don't.

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

More
31 Dec 2012 21:46 #4450 by PhracturedBlue
Replied by PhracturedBlue on topic Devo7e work
The main concern with the Devo12 is that the screen resolution is much higher, and there are a bunch of capabilities not available in other models (RTC for instance). So the effort to do the 12 properly is very high. The 7e should be easier since the GUI from the 10 can mostly be reused.

Now that I have a 12 in my possession, I'm sure it is just a matter of time till I start work on it.

But this thread is for the 7e :)

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

More
02 Jan 2013 02:38 #4496 by othercents
Replied by othercents on topic Devo7e work
Fantastic news about starting the 7E. I have been thinking about getting a Mini CP with 7E, but was concerned about loosing out on deviationtx.

Could you run a USB boot loader to run or load the configs and such from the USB port?

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

More
02 Jan 2013 03:57 #4499 by PhracturedBlue
Replied by PhracturedBlue on topic Devo7e work
Well, I built a dfu image and loaded it onto my Devo7e without once boting Walkera's firmware. Since they haven't released a firmware upgrade for the 7e, there is now no way for me to go back :)

I can power on/off with the power switch, and read/write to the SPI Flash, CYRF chip, and UART, so things are going well. I'm currently working on the display which seems to be based on the sT7595 protocol (though I see an additional command in the initialization that I don't know: command = 0xea), so I'll likely have the display operational soon. after that, it is just a question of mapping the sticks and buttons, and I should have an initial functional firmware.

Moving USB support into the bootloader may be an option, but I don't think it will gain enough to add ini support which is very expensive. I'd rather not have to write a custom bootloader if I can help it though.

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

More
02 Jan 2013 12:29 #4516 by Tom_ate
Replied by Tom_ate on topic Devo7e work

If I remove support for ini handling, I can then actually get into the needed footprint with room to spare (which we'll need).

There are a couple of downsides of course:
1) you won't be able to load ini files from the forums onto the devo7e without converting them
2) model files won't be compatible between firmware upgrades (it may be possible to do something about that)
3) model files won't be human readable

If I take this path, I'll provide a utility to convert between the binary format and ini format.


Given that you can provide the converting-utility, for me this would be a very good option:

Reg. your downside 1):
To load ini files from the forum the PC must be up and running anyway, so using your utility for converting would be no problem or hurdle.

Reg. your downside 2):
same thing: To upgrade the firmware you need a PC. So you would have to
- extract the configs from the TX,
-than convert them to textfiles,
-then upgrade the TX,
- then reconvert the textfiles with an also upgraded converter back to a binary format for the new firmware-version
- than upload them to the TX

I see no problem in this procedere.

Reg. your downside 3):
... with the utility they would be...


I would upgrade my daughters Devo7E immediately to DeViation - without one second of doubt about the "one-way" with no possibility to go back to Devo-Original. DeViation is sooo much better!

Kind regards,

Matthias

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

More
02 Jan 2013 17:32 #4522 by othercents
Replied by othercents on topic Devo7e work
How many models do you foresee the 7E being able to hold? Did you notice if the same modifications can be made to fly the v911 with the 7E? With space issues, would there be issues adding DSMX or other protocols in the future? These all might be decision factors for getting a 10 or 8S over a 7E.

I haven't looked at the size of the protocols, but I would suspect some people who use the 7E wouldn't mind a Walkera only flash if that would save more space. Even a modular flash option where you can add in the protocols you need and leave out the ones you don't. For me anything past the Walkera line of Helis I would probably want to upgrade to a 10 or 8S, other than being able to fly my v911 with the same Tx.

Hopefully I can get one of these in hand soon and help out instead of bombarding you with questions. :ohmy:

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

More
02 Jan 2013 17:42 #4524 by PhracturedBlue
Replied by PhracturedBlue on topic Devo7e work
I will not sacrifice the protocol support over any other feature for the 7e. The main reason people choose Deviation is for the Protocol support so I will ensure that we keep them all. I didn't try it, but I don't foresee any issue attaching the V911 transceiver.

The 7e has 2MB of external Flash (half that of the devo8/10). The Devo10 filesystem takes up about 500kB (and that includes language support which we may need to remove). That leaves 1.5MB for model data. Each model is 4kB. So...around 375 models. We're actually limited in the firmware to < 256 at the moment, but I don't think you'll be running out of models anytime soon.

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

More
02 Jan 2013 18:37 #4527 by Fishfiend
Replied by Fishfiend on topic Devo7e work
You might want to try and range test the 7e as my model loses signal after 150ft, not much good for a park flier tried it with 2 rx601's and a mini cp. It might be the radio, but everything inside looks to be well soldered. There's no range boost in the 7e menu, or range check either, could that be implemented into this firmware? Excellent work by the way, I'm amazed you boys have day jobs too!

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

More
04 Jan 2013 09:52 #4648 by dc59
Replied by dc59 on topic Devo7e work
Can DEVO7E(deviation version) support 100mw tx output?

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

More
04 Jan 2013 11:07 #4653 by Tom_ate
Replied by Tom_ate on topic Devo7e work
...up to now there is no Devo7E deviation version...

Kind regards,

Matthias

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

More
04 Jan 2013 17:56 #4666 by PhracturedBlue
Replied by PhracturedBlue on topic Devo7e work
I've spent the past 3 days banging my head against the wall. I would have code that worked fine, and then make a slight change, and it would hang the Tx. i was able to narrow it down to adding a single 'nop' (no operation) command in main() would toggle whether the firmware compiled or not. this indicated some sort of alignment issue, and I've been chasing it for 3 days. These types of issues are incredibly frustrating to debug, so I wasn't making much progress.

Today, I finally figured out that the cause was a change introduced in September to support a newer libopencm3, which could cause this to happen under very specific circumstances.

Fixing it in a way that can support old and new libopencm3 is not really reliable, so instead I'll be updating to the latest libopencm3, and that will be required going forward.

But hopefully this will let me move forward with the actual Devo7e work instead of fighting random hangs.

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

More
04 Jan 2013 18:37 #4667 by FDR
Replied by FDR on topic Devo7e work
I feel for you... ;)

Does that mean, that everybody will have to upgrade the development environment?

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

More
04 Jan 2013 18:52 #4668 by PhracturedBlue
Replied by PhracturedBlue on topic Devo7e work
To prevent this from ever happening again, I'm going to distribute libopencm3 with Deviation and configure it to use the local one instead of any pre-installed version.

So no, you won't need to update your build env.

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

More
05 Jan 2013 06:24 #4684 by PhracturedBlue
Replied by PhracturedBlue on topic Devo7e work
Well, now that I found the bug in the linker script, I made good progress. I've gotten virtually all of the I/O mapped now, and the screen is working. I'm about ready to start putting everything together and actually building a working firmware. Hopefully some time this weekend.

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

More
05 Jan 2013 14:59 #4697 by quique65
Replied by quique65 on topic Devo7e work

PhracturedBlue wrote: Well, now that I found the bug in the linker script, I made good progress. I've gotten virtually all of the I/O mapped now, and the screen is working. I'm about ready to start putting everything together and actually building a working firmware. Hopefully some time this weekend.


Excellent!, waiting to fly with the 7E on Sunday...

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

More
05 Jan 2013 16:54 #4699 by PhracturedBlue
Replied by PhracturedBlue on topic Devo7e work
I've uploaded the necessary hardware connection data here:
www.deviationtx.com/articles/18-devo-7e-hardware-connections

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

More
05 Jan 2013 17:11 #4700 by domcars0
Replied by domcars0 on topic Devo7e work
Hi PB
small mistake you wrote
"The following documents the hardware inside the Devo-10 transmitter"
I think is Devo-7e ? ;)

Devo 10 (+7e) owner. It's mine, please don't touch it with your big fingers :angry:

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

Time to create page: 0.095 seconds
Powered by Kunena Forum