- Posts: 4402
Devo7e work
- PhracturedBlue
- Topic Author
- Offline
Please Log in or Create an account to join the conversation.
- SadSack
- Offline
- Posts: 317
Any reason that we can't swap out SST25VF016B would there be anything to be gained would it help keep features?
Its only 8 pin soic after all and cheap enough.
www.aliexpress.com/item/SST25VF032B-80-4...pping/727649109.html
And
uk.rs-online.com/web/p/flash-memory-chip...462677633D424F544826
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
SadSack wrote: Just a random thought ...
Any reason that we can't swap out SST25VF016B would there be anything to be gained would it help keep features?
(If it would help) This would divide the users in those wo are able and willing to solder inside their tx and those who are not. Two different versions of deViation should exist (and be maintained...).
Please Log in or Create an account to join the conversation.
- SadSack
- Offline
- Posts: 317
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
What would help would be to swap out the MCU for the STM32F103RCT6, but the number of folks with the equipment to swap a 64pin LQFP package is probably pretty small.
If I could figure out how to use flash for code space, it would make things much better, sinc 2MB of flash is a lot more than we need for resources and model data.
I am currently battling RAM usage. We use too much RAM in stack and heap today.
Please Log in or Create an account to join the conversation.
- SadSack
- Offline
- Posts: 317
Please Log in or Create an account to join the conversation.
- SadSack
- Offline
- Posts: 317
Please Log in or Create an account to join the conversation.
- dc59
- Offline
- Posts: 799
Tom_ate wrote: ...up to now there is no Devo7E deviation version...
yes,i see.
I mean that dose devo7e hardware support 100mw output?
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
I got slowed down by unrelated stuff, but did manage to get Deviation to boot on the Devo7e. Currently there are no menus, and no way to save changes, so it isn't useful for anything other than testing that the hardware works. I'm struggling to figure out how to handle INI files. My original idea of translating them into binary on the PC before uploading is still very appealing, but I'm having difficulty actually doing it without a large amount of maintenance code which I don't want.
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
When I wrote this down I got more and more sure that you reflected this already. When I unterstand the problem correct, then the code needed for handling ini-files with all their advantages takes too much space. If we could go without
- random places for attributes and their values in the file
- number values written as strings
- open length of values (strings)
- reconverting numbers to strings when saving (might be necessary for displaying too)
it could bring some spare code space.
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
using a memory-dump of the relevant structures requires virtually no code, so is ideal, but requires some mechanism to generate those files on the host-PC (ideally without needing to write/support a lot of additional code). I have an idea that I'll give a try, and see how well it works.
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
Please Log in or Create an account to join the conversation.
- RandMental
- Offline
- Posts: 521
1) Model Upload
2) Model Download
3) Model New Model
4) Model Edit (existing model)
5) Model Copy (duplicate existing model)
6) Model Compare (to another model)
7) Model Archive (to PC disk)
etc.
May be such a PC suppport environment for Deviation is not a bad idea!
Please Log in or Create an account to join the conversation.
- FDR
- Offline
suvsuv wrote:
Here is a sample project showing how to run a program from external NOR Flash, I don't try it as I don't have Keil and JLink, but one of my friends told me it works. The original post is in Chinese, if you are interested, I can have the post translated in English.PhracturedBlue wrote: It wouldn't help anyway. We can't use the flash for code-space.
What would help would be to swap out the MCU for the STM32F103RCT6, but the number of folks with the equipment to swap a 64pin LQFP package is probably pretty small.
If I could figure out how to use flash for code space, it would make things much better, sinc 2MB of flash is a lot more than we need for resources and model data.
I am currently battling RAM usage. We use too much RAM in stack and heap today.
Even it is possible to run codes from the NOR flash, it could be very slow and might not be usable for deviation as the TX program is timing-critical. You might consider only put some large size constants into the NOR Flash
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
I've been doing major surgery to the GUI to drastically reduce memory usage.
I have a branch I'm working on here:
bitbucket.org/PhracturedBlue/deviation7e
The code as it is doesn't fit on the 7e, but I'm primarily working on reducing RAM usage. I'm targetting 6kB of RAM reduction (down to ~10kB on the 7e). My hope is that I can then fit a full page of ROM into ram, and can then run programs on the 7e. I'm then hoping I can load the protocol code into RAM. If it works out, I'll have enough room to support model ini files. As I've looked at it, I am really not happy with a solution without this feature.
The amount of work is really large, so it is taking a lot longer than I'd hoped.
Please Log in or Create an account to join the conversation.
- Xermalk
- Offline
- Posts: 181
Edit, has Walkera released any updates for their 7e firmware?
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
It has taken a lot of effort, but I've reduced the Devo10 build by 24kB of ROM and almost 7kb of RAM without significantly changing functionality.
Part of that was done by using improved stdlib functions, but the hard partwas reworking the GUI to only allocate exactly the number of widgets needed, and removing the virtual-page support (which while easy to use was memory intensive)
The devo7e build now fits in the available ROM and RAM. I removed A7105 support (no Flysky/Hubsan) to achieve that though, so I am not done yet.
The good:
* Devo7e build has INI support (full compatibility with all model files)
* There is more than 4kB of RAM available. This should be enough to run 'programs' from Flash ROM (specifically the protocol code)
The not so good:
* Devo7e does not have language support. There really isn't much to be done here. Just not enough RAM. One possibility would be to build different dfus with the languages compiled in.
* Devo7e does not support the 'standard' mixer. It takes up ~10kB of ROM which just isn't available. Even getting rid of the 'Advanced' mixer doesn't make it even close
* Devo7e does not support the A7105 module. This is next on my list to remedy
* The changes have completely trashed the Devo8 build. merging the code is going to take a large amount of work.
Please Log in or Create an account to join the conversation.
- Xermalk
- Offline
- Posts: 181
Edit: if you get the A7105 working, will there be a guide on how to wire/solder it? id love to rip one out from a faulty 911 tx(bad sticks) and use in my 7e.
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
So I now have 10kB of ROM free and can support as many protocols as needed. I can use that 10kB of ROM for the 'Standard' mixer (though it doesn't leave any room for future expansion).
Now I just need to get eveything cleaned up and we should be ready for an Alpha release
Please Log in or Create an account to join the conversation.
- RoGuE_StreaK
- Offline
- Posts: 486
I'm contemplating buying a Super CP with a Devo 7E, depending on the outcome here; I want to move from my analogue 36MHz TX to a programmable 2.4GHz, with cheap available RXs. Previously I was going to get a Turnigy 9X, but if the 7E can be made to bind with the OrangeRx R610, then a Super CP combo for $140 shipped looks like a good deal to me!
I think I won't mind a "mini" TX, as I've become used to using the TX of the NE Solo Pro II, and I want something portable. Want a TX for use with a 400-size CP heli, a 4ch plane, and a tricopter, so don't need too many extra features. Though would be interesting to see if another channel or two can be hacked in, using the blank spaces where switches are in the Devo6? Any obvious unconnected spots on the main board?
Or as someone suggested in another thread, using the menu buttons for dual purposes?
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Development
- Devo7e work