er9x development

er9x is the best known firmware. It has a superb range of features and is well supported by the community. Well worth trying out.
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: er9x development

Post by jhsa »

Good idea..

Sent from my GT-I9195 using Tapatalk
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW

User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

Seems to work as well!

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
Iksbob
Posts: 121
Joined: Wed Dec 28, 2011 1:06 pm
Country: -

Re: er9x development

Post by Iksbob »

Or perhaps rather than mysterious integer values, you could use decimal values that correspond to standard measurable quantities, i.e. seconds per full swing.
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

But that is what the integer values are, the time in seconds from -100% to +100%.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
Iksbob
Posts: 121
Joined: Wed Dec 28, 2011 1:06 pm
Country: -

Re: er9x development

Post by Iksbob »

Ah, ok. How about skip the on/off setting, and use the single eeprom bit you save as part of the decimal value? Values of 0-31 would come out to 0-6.2 seconds in 0.2 second increments. You would get the greater resolution as well as extend the functional range.
Perhaps even make it an exponential function, as is done with the Exp trim option? That way you get fine control at the short end of the delay range, without sacrificing options at the long end.

User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: er9x development

Post by jhsa »

Can't it be done the same way as for fhe timer? Little steps for lower values and bigger steps for higher?

Joao

Sent from my GT-I9195 using Tapatalk
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

I'm suggesting a single bit for the MODEL, not the individual mixes, so I haven't got an extra bit available for all the up/down delay/slow settings.
The exponential idea is interesting, although that would mean users may have to re-program any mixes using delay/slow when they update.

I do have my idea actually implemented already, but I'll give it a bit more thought. With this you have either 0 to 3 seconds in steps of 0.2 or 0 to 15 seconds in steps of 1 second.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: er9x development

Post by jhsa »

MikeB wrote: The exponential idea is interesting, although that would mean users may have to re-program any mixes using delay/slow when they update.
Mike, that is called DEVELOPMENT. ;) :D
when changes are needed to make it better, why not?? ;)

Just need a warning "Please check your slow/delay settings" ;)
Or "Delay/slow Changed. Please check your models"

João
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

Another variation is based on whether you need BOTH slow and delay on a single mix.
We have 2 bytes available, currently used as 4 bits for each of delay-up, delay-down, slow-up and slow-down.
We could have a byte for up and a byte for down. 1 bit to specify slow or delay, the other 7 for the time as 0 to 12.7 seconds in steps of 0.1, or 0 to 25.4 in steps of 0.2.
If you really need both slow and delay on a channel, you would just need to use 2 mixes, the first with the delay, the second with the slow.
I could still use the model option bit to switch slow/delay into this mode.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: er9x development

Post by jhsa »

I think I use both on one model

Sent from my GT-I9195 using Tapatalk
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
andrewju
Posts: 784
Joined: Tue Aug 21, 2012 7:29 am
Country: Russian Federation
Location: Moscow

Re: er9x development

Post by andrewju »

All,

I suspect this has been discussed already, but I'd like to ask once again. There's an issue being discussed at another forum (it's Russian-speaking, so I won't post a link), and I think this is quite important. It's all about Trims that seem to affect Limits.

The example is quite simple: let's say a new model has limits set to -50 ... +10 on Channel 4. With trims = 0, moving the stick will change the output from -50 to +10 as expected. But if we move trims, for example, to -10, the 'right endpoint' will decrease to +7.8 instead of +10. The more trim we add, the further endpoint moves from the limit we set for it.
I just confirmed it on my radio (v808) and in the latest eepe (v391).

Is there some logic behind this?

Sample .eepm is here.

P.S. It's even more significant with limits at -100 ... +100: moving trim to -10 actually "moves" the positive endpoint to around 90 instead of 100. Perhaps I'm missing something, as it looks wrong to me...
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

This is always confusing. When you apply a trim, you are, sort of, moving your centre position. Yes, having trim at =-10 does leave you with a positive end at +90, but this IS +100 from your trimmed centre. If anything, it is the 'other' end that suffers as you only get movement from -10 to -100, a total of only 90.

There is also another consideration. "Commercial" radios often only provide about 75 to 80% of full servo movement from the stick, the other 20 to 25% is left for the trim. Try with the weight of the mix set to 80%. With no trim, you get -80 to +80. With full negative trim (-20), you get -100 to +60, the same range but centered at -20.

One question is what you want the trim for? If it is to trim the 'plane, then it is usually suggested that the mechanical linkage is adjusted so no trim is than needed.
If you need the trim permanently, then the trim value required should be placed in the offset (sub-trim) field on the limits menu. This is calculated differently. This offset moves the centre position, but the stick range is maintained to the set limits. So if the offset is -10, the stick will still move to -100 (90 movement) and +100 (110 movement).

There is also an option in the model setup for 'auto limits'. This may be set to a value between 0 and 10.0. This causes the set limits to be adjusted by the sub-trim (offset in limits menu) up to the amount set.
If you set auto limits to 5.0, then set the sub-trim to 4.0, a negative limit of -100 will adjust to -96 and a positive limit of +100 will adjust to +104. If the sub-trim is set to -7.5, the limits will adjust to -105 and +95, limited to a change of 5 due to the value set in auto limits.

Interesting to know why a main control (AIL, ELE or RUD) might want limits of -50 and +10 you mention.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
andrewju
Posts: 784
Joined: Tue Aug 21, 2012 7:29 am
Country: Russian Federation
Location: Moscow

Re: er9x development

Post by andrewju »

Mike, that's an extremely valuable piece of information! Thanks a lot!!!
I believe it needs to go into Wiki, so that people could find it.
I translated this text into Russian, and will share if there are still concerns (for me it looks clear now, but there are much more experienced people on the Russian forum than I am, so maybe they will raise additional questions).

As for the limits of -50 to +10, this was just a 'synthetic' test suggested by one of the forum members. In fact, it then appeared there was a mistype, and he actually meant a range of -50 to +50. But since a few people made their tests with the +10 already, I decided to keep it as a "reference test" value. So there's no practical use that I know of. :)
User avatar
bob195558
Posts: 2377
Joined: Sun Dec 16, 2012 7:24 pm
Country: United States
Location: New England, Vermont
Contact:

Re: er9x development

Post by bob195558 »

Thank you Mike, for your Clarification on how trims work in er9x firmware. :D
Er9x on 9x radio, with Smartieparts Programmer and TelemetrEZ Board.
ErSky9x on Taranis, Sky9x, 9Xtreme radios.
3D-Printing: (https://openrcforums.com/forum/viewforum.php?f=129).
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

I noticed on openTx that on the CURVES menu, rather than display the 5 or 9 numbers for each curve, it displays a graph of the currently highlighted curve index. This seems more useful so I will be changing er9x to do the same.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

Done that change then! I've also looked at the graph drawing for the expo display. I've revamped that as well resulting in saving 456 bytes of flash!

Mike.

Edit: Also just copied the trim description above to the Wiki.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
jennifer6
Posts: 38
Joined: Wed Dec 28, 2011 3:41 am
Country: -
Location: Hobart, Tasmania

Re: er9x development

Post by jennifer6 »

Just decided to clean up my 9x tx's, and download via eepe(R391), er9x NOHT , instead of the plain vanilla er9x R808 that I have been using.
And flashed hex code into the first 9x to find it shows R803.? on the TX.
I was hoping to find some extra model memory, because I have been running a bit close, as I found out when demonstrating my FRSKY failsafe setting on a glider by turning off the transmitter during flight, when I turned it back on to complete the demo the tx didn,t complete its bootup because of short memory message.Luckily I fumbled the EXIT button and it fired up OK.Saved the model and a little egg on my face.
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: er9x development

Post by Kilrah »

Changing FW version won't give you more model memory.
FW and models are not stored in the same memory, so saving program memory does nothing to free data memory.
User avatar
LTMNO
Posts: 1049
Joined: Fri Nov 30, 2012 9:31 pm
Country: Canada
Location: Toronto, Canada

Re: er9x development

Post by LTMNO »

The following on comment to that post is that you need to upgrade the m64 chip to m128 or m2561.
That will give you more memory for models and features available in later firmware versions.
Hope that helps. There are many threads on the upgrade path.
Custom 9x with M64/Telemetry Mod
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

Pre-release of the next version of er9x is now available, see here:
http://openrcforums.com/forum/viewtopic ... 969#p64969

Setting which sticks are reversed is slightly odd (to save using too much flash). It's basically a 4 bit binary value, each bit set corresponds to a stick reversed, but you cycle through the 16 different possibilities. THe stick image is inverse video is the stick is reversed. You will need to re-calibrate if you reverse a stick.

If you are interested in seeing the changes/testing them, and the version you need is not on the post, just let me know and I'll add it.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
andrewju
Posts: 784
Joined: Tue Aug 21, 2012 7:29 am
Country: Russian Federation
Location: Moscow

Re: er9x development

Post by andrewju »

MikeB wrote:which sticks are reversed
Mike, is this a feature for non-stock sticks? Like those from Taranis on a stock 9x board?
ReSt
Posts: 1581
Joined: Tue Dec 27, 2011 11:34 pm
Country: -

Re: er9x development

Post by ReSt »

Small Bug in r808 in the templates menu
Due to removing the 'CHANNEL ORDER .......' entry, the next menu entry "CLEAR MIXES[MENU]" does not work.

My solution:

In menus.cpp procedure 'menuProcTemplates' at the 'case EVT_KEY_LONG(KEY_MENU):'
change the line that will call clearMixes from

if(sub==NUM_TEMPLATES+1)
clearMixes();

into

if(sub==NUM_TEMPLATES)
clearMixes();

This does work for me.

Reinhard
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

andrewju wrote:Mike, is this a feature for non-stock sticks? Like those from Taranis on a stock 9x board?
Yes.

Mike.

Edit: Templates fix in the next revision.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
flybabo
Posts: 143
Joined: Wed May 16, 2012 11:41 pm
Country: United States
Location: SF Bay Area, CA

Re: er9x development

Post by flybabo »

Mike,
The getValue(uint8_t i) function returns calibratedStick if i < PPM_BASE.
Is it correct implementation?
Note that the size of calibratedStick array is 7 while PPM_BASE is defined as MIX_CYC3 which is 12.
HT
Last edited by flybabo on Thu Nov 28, 2013 1:14 am, edited 1 time in total.
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

Interesting, can't say I've looked that closely at the function. I'll investigate it further.

Mike.

Edit: It seems its been like that for years!
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

In the short term, I'll change the code to:

if(i<7) return calibratedStick;//-512..512
if(i<PPM_BASE) return 0 ;
else if(i<CHOUT_BASE)

This, at least, will be safe. I'm not sure having HALF and FULL in the list is actually useful, I guess it was just using the same list as the mix sources. I don't want to change the list as this would mean all users reprogramming any models that used any value above P3.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: er9x development

Post by jhsa »

Mike, I've noticed that you have changed the names of the costum switches in the menu. They are now called S1,S2, etc. Before they were called SW 1, SW2, etc. Wouldn't it be better to change the names in all the other places also for consistency?
Thanks.

João

Sent from my GT-I9195 using Tapatalk
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

Probably! I changed the name in the menu to save a character across the display in order get everything to fit.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: er9x development

Post by jhsa »

Yeah, I thought that was the reason ;)
Yesterday, when I was updating my voice guide in the wiki, I've noticed that..
Thanks.

João
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: er9x development

Post by MikeB »

Prompted by an 'issue' on the er9x googlecode site (Erazz only recently sorted me permission to deal with these), I've been looking at the "sticky throttle cut" feature. As pointed out in the issue, it uses 4 mix lines and 2 custom switches to implement.
I've just added one extra switch option to the switch list in the safety switches menu "STHR". This effectively provides the "sticky throttle cut" function, hard coded to use the THR switch and the throttle stick, as this seems the most likely use, and is the implementation of the template. It only adds 84 bytes of flash and 1 byte of RAM usage, so seems a worthwhile addition.
This will also be added to ersky9x, first in the same way, but I may be able to provide a greater choice of switches there later on (and maybe for the '128/'2561 version of er9x).

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!

Post Reply

Return to “er9x”