ERSKY9X Coding

erskyTx runs on many radios and upgrade boards
ersky9x was a port of er9x for use on the sky9x board.
User avatar
MikeB
9x Developer
Posts: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

Handling the pots would be OK, however the switches (physical and logical) would be much more difficult to handle, and I'm not sure it would be safe (e.g. what happens to the switch/switches you use to enable/disable trainer 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: ERSKY9X Coding

Post by jhsa »

Switches could be replaced only in the mixer. That means when we try to use something instead of a switch, it would be allowed only in the mixer, If that switch was selected somewhere else (backlight, voice, trainer, safety switches, etc), it wouldn't be allowed.

A pot/stick could be replaced by a PPMx Channel controlled by a switch., the effect would then be the value of the switch. For 2 pos, +/- value as defined by the programming of the corresponding PPMx channel. So it doesn't really matter what is controlling what on the student radio. What the trainer setup cares about is the value of the PPMx it was assigned to the input. If the input is progressive (pot/stick, GVAR, etc, it doesn't matter), and if you choose to replace something controlled by a switch (mixer only), the end effect will also be progressive.
Example, The Master (teacher) might like to control the flaps with a pot so he can fine tune them. For the student would be easier the 3 position switch.. So, the Pot from the teacher radio would be replaced by the PPMx channel value that is controlled by the 3 position switch on the student radio.. very flexible.. ;)

On a trainer setup, as far as I understand, we don't have inputs replacing inputs.. We have a PPM channel replacing an input right?
I think the biggest problem would be to handle "HALF"?
"FULL" would just be the value of the PPMX channel I guess..

Is there something I'm not seeing right?? :)

Also, as I said on my other post, we could create a new line for a new trainer condition just as we need it. We don't need the screen cluttered with empty lines??
I can visualize the ideas, just find difficult to explain what I mean :(

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: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

I think I realised some of that after I posted.
I'll need a bit of time to sort other things first before I can give this much time.

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: ERSKY9X Coding

Post by jhsa »

Thanks Mike.. This would make the trainer setup much more flexible and powerful

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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

Mike, what about if momentary switches responded also to a LONG press? That would double their capabilities as 2 functions could be assigned to just one switch.
For example:
PB1 short - Play the battery voltage, altitude, etc..
PB1 long - reset a timer..

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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

Another idea ;)

Yesterday when I was at the field testing the BT trainer setup I had to reprogram the trainer menu completely because I had all set for my son that is just starting, but I wanted a friend to fly my plane to help me test the system and have some fun together.
It would be nice if we could Load/Save trainer profiles that could be saved to the eeprom and/or SD Card. It would save time when setting up trainer :)
Long menu when in the trainer menu could bring a popup asking if we want to load or save a profile. If save, insert a name.
Calibration values could perhaps be also saved..
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: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

jhsa wrote:Mike, what about if momentary switches responded also to a LONG press? That would double their capabilities as 2 functions could be assigned to just one switch.
For example:
PB1 short - Play the battery voltage, altitude, etc..
PB1 long - reset a timer..
That would require handling them in a completely different way. Currently they are just like any other switch. They would need to be handled like the buttons (MENU, UP etc.).

It may be possible to use some logical switches to make this work however.

I'll need to look into possible trainer profiles.

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

Re: ERSKY9X Coding

Post by MikeB »

L1 1-shotR PB1 0.4
L2 AND !PB1 L1
L3 1-shot PB1 1
L4 AND !L1 L3 and PB1

L2 pulses on if PB1 is pressed short.
L4 pulses on of PB1 is pressed long.

Note, while called PBx for push button, these could be just ordinary 2-position switches.

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: ERSKY9X Coding

Post by jhsa »

MikeB wrote:
That would require handling them in a completely different way. Currently they are just like any other switch. They would need to be handled like the buttons (MENU, UP etc.).
That sounds really good to me ;) :lol: Look how much the "Buttons" can do. ;)
It would be wonderful if the momentary switches did the same :)
I'll need to look into possible trainer profiles.

Mike.
That would be great, 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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

MikeB wrote:L1 1-shotR PB1 0.4
L2 AND !PB1 L1
L3 1-shot PB1 1
L4 AND !L1 L3 and PB1

L2 pulses on if PB1 is pressed short.
L4 pulses on of PB1 is pressed long.
Nice, but it takes 4 logical switches to handle a single button. If we have 3 buttons we have to assign double functions, we need 12 logical switches, which is half of the L. switches available in Ersky9x :D ;) :mrgreen:
Note, while called PBx for push button, these could be just ordinary 2-position switches.

Mike.
Yes of course, I said PB1 but I could have said TRN. And the others can be used as well.

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: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

While the idea seems simple, the switches (including PB1/PB2 which may be switches) and the buttons (MENU etc.) are handled by completely different software. Also, the switches are only tested for being ON or OFF when requested.
Basically, trying to add "short" and "long" presses to PB1 and PB2 requires the firmware to have a significant re-write.
Possibly the best that might be done is to create a new logical switch function to detect this idea, but even this is not easy.
When, say, PB1 is pressed, we would need to start timing for how long it is pressed. If pressed for a long time, then some new switch item (PB1L?) could become ON, and stay on while PB1 is still pressed. If only pressed for a short time, then another new switch item (PB1S?) would need to become ON, but since PB1 is no longer pressed, we would need to time how long to keep PB1S ON.

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

Re: ERSKY9X Coding

Post by MikeB »

New test versions posted:
BT 'List' option added
BT scan no longer links to the found address.
Checksum on SBUS frames over BT
3 Trainer profiles available

Link as a 'List' option now working.

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: ERSKY9X Coding

Post by jhsa »

Thanks Mike.. Can't wait to get home now :D

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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

Hi Mike, just flashed the radios.. I can see that the debug screen changed a bit.. what do the numbers mean now?
Here is a pic of the slave radio.
Theres a big number o the right side.. also the number that used to be around 120 is now on the 300's.
Thanks
João
Image

And Master radio

Image
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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

Also isn't the name supposed to replace the ID?
Attachments
BT ID.jpg
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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

Mike, "Set Default" seems not to be doing anything.
I select a model, go to the BT menu, select a ID that I already changed the name, and select "Set Default".
Turn the radio OFF and ON again.. Then turn another radio ON (ID is also on the list, but not default for that model), and it connects to the same model as well. it shouldn't??

Thanks

João

EDIT: Trainer menu_profiles.. Very nice thank you, But could you also include the Trainer "Source" as an option of every profile?
Possible at least one more profile? :P :D

Thanks
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: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

The top row of numbers are now 16-bit instead of 8-bit.
First number is the number of sent SBUS frames per second.
Second number is the number of received SBUS frames per second.
Third number is the number of times the BT task is scheduled per second, it should be the same as the first number on the master BT module. It's changed from 120ish to 376ish because it is 16-bit, 8-bits overflowed so it is 256 higher.
The fourth number is the number of characters received per second. I added this to help me debug my 'dodgy' BT module.

I'll run some more tests on the default address setting.

The name on the list screen is in addition to the address. I've done this so I can see what is going on better.

I'll look into adding the trainer source to the profiles. You need FOUR profiles!

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

Re: ERSKY9X Coding

Post by MikeB »

The default address seems to be used correctly if you poewer on with AutoConnect set ON, but not if you power on with this OFF, and then turn it on.

I'm looking in to fixing this.

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: ERSKY9X Coding

Post by jhsa »

MikeB wrote:
The name on the list screen is in addition to the address. I've done this so I can see what is going on better.
Understood. maybe you could display only the name in the future? With the name there I guess the ID is not needed? maybe increase the number of allowed characters?? ;)
I'll look into adding the trainer source to the profiles. You need FOUR profiles!

Mike.
Yes please, if possible ;) If it doesn't take too much of the radio resources (eeprom space, RAM, etc) of course ;) :)
I do think that 4 would also be a good number..

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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

MikeB wrote:The default address seems to be used correctly if you poewer on with AutoConnect set ON, but not if you power on with this OFF, and then turn it on.

I'm looking in to fixing this.

Mike.
Mike, I have the auto connect set to ON on both radios, so I always power them with the setting already ON. And it does what I described above. it doesn't seem to be working. Unless we have a different idea of what "Working" is in this case.

I understand by setting a default address for a certain model, that the radio will only respond and connect to the BT with that address, and ignore the others.
That means if I turn ON the master radio and the slave radio that has the default address for the selected model, the BT will connect, but if I turn ON a slave radio with another address, a BT connection will NOT be established.. Is this the correct thinking, or am I completely wrong? ;)

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: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

Seems a bit random, what it connects to, sometimes it connects correctly, sometimes to the wrong one!

Your description is correct.

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: ERSKY9X Coding

Post by jhsa »

I always managed to connect any of the slaves to the master, no matter what the default ID was for the selected model.
Always connected automatically, and played the alarm when I turned the slave radio OFF

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: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

I've done some experiments, and read the 'manual' of the HC-05 again. The 'manual' is not that clear, but I think I may need to get the list of addresses stored in the HC-05 before it will accept a specific address to link to.
This will take some (more) experimentation.

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: ERSKY9X Coding

Post by jhsa »

Are the addresses stored in the BT module? I thought they were stored in the radio..

Thanks Mike..

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: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

The addresses are stored in the radio, but the BT module also can store addresses. The BT module isn't quite doing what I expect from what the 'manual' says. It isn't linking to the address I give it, even if I store the addresses in the BT module. I have some more ideas, just need to keep testing to find what works.

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: ERSKY9X Coding

Post by jhsa »

Thank you..

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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

Mike, latest test ersky9x, Voice menu "Function"
"v~=val" shows as "v~=valv"

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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

Mike, would be possible in the future to give the trainer profiles a name? the reason is they might hold the calibration for different transmitters, so we could just give them the name of the transmitter, student, etc.
The name could probably replace the word "Trainer" and profile number at the top of the menu, as we already know that we are in the trainer menu.. We clicked on "Trainer" before to get to it ;) :)
So, in my opinion that "Trainer" word is taking valuable space unnecessarily.. :)

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
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: ERSKY9X Coding

Post by jhsa »

Mike, I have been trying to help someone detecting 6 positions from a pot. I can easily do it using v~=val. The problem is that when I use the logical switches in the mixer the channel returns to -100% when the pot is in between the detected positions.
I know there is a way of doing it using many logical switches. But i think all could really simplified if we could detect a range instead: So, a logical switch like this would do the job

L1 RANGE P3 -40 -20

L1 would be ON when the source was between the 2 values.

This could obviously replace the v~=val function..

Or take the v~=val and do something like this:

L1 v~=val P3 40 (centre value) 30 (L1 will stay On for values of 40-30 and 40+30, so between 10% and 70%)

This lets us decide how approximate the value is.. Very useful in many cases..

I know this takes another field in the logical switches, but maybe using the AND switch field for this function if not possible to create a new one??
I think this could be very useful and easy to understand.. I'm hitting my head in the wall trying to figure out the 6 positions. very difficult to get there easily. The new option would allow that even without a big explanation on the manual ;)

João

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: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: ERSKY9X Coding

Post by MikeB »

See this post for setting up 7 logical switches to handle the RANGE type decoding: viewtopic.php?f=7&t=40&p=74051&hilit=po ... +20#p74051.

I knew you would be asking for the trainer profiles to be named! I hadn't done it as there was no room on the screen for it.
I still like the heading to be present, if only for consistency with all the other screens.
I'll see what might be possible.

When I get some time I'll look into allowing a pot input to be used as THE 6-pos switch, while still keeping the ELE switch as normal (or 3-pos).

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

Post Reply

Return to “erskyTx (was ersky9x)”