Tidied up Timer1 ISR code -- numerous little issues resolved, comments corrected.
Obviously, anything to do with this ISR requires thorough physical testing.
I have tested DSM2_SERIAL and the PCBV4 PPM_out is working properly. Someone
should double-check PPM/16/sim and I guess DSM2=PPM, on the stock board.
Thanks.
However, I don't like that the only place I could find to turn off range check mode when the SETUP menus is exited, was in popMenu ...
void popMenu()
{
if (g_menuStackPtr>0) {
#ifdef DSM2
s_rangecheck_mode = 0;
#endif
...
}
It was the only way I could find to trap the event of [EXIT long] being pressed
while in the RANGE field and s_editMode==true. But this solution gets executed
for all menu exits -- not just menuProcModels. It works, but there must be a
more eloquent method?
(It only took me about an hour and a half! :-/)
Also increased max filename length handled by "Restore Model" to 16 chars
(only when long filename support is configured in FatFs/ffconf.h)
Bertrand: I had to comment out a call to sdPollmS() as it doesn't seem to exist.
Hopefully the system freeze when I try to select "Restore Model" is
just a symptom of this same issue ... though I fear not.
Half -- because I don't yet know how to make warning sounds in this
new code. HELP! :P
... otherwise it's working. I have confirmed that
the range check bit appears on the scope, while watching the DSM2
data stream.
Some DSM2 modules take longer than others to power up. Thus, sending a
single BIND packet is not sufficient in some cases. I have implemented
here an approimately 4 second period (after power-up) during which
time the trainer swtich can activate BIND mode.
This is in fact not strictly needed, since the DSM module will by
itself reject bind packets after a short time. (I have confirmed this
again with my DSM2 module today.) However, we like to be sure, so the
limited time window for BIND activation remains.
The word "BIND" also now appears as confirmation in upper-right of
the main view, whenever bind packets are being sent to the DSM module.
(I did not consider it important to add this "BIND" word to the
language files. Please feel free to do so though, if warranted.)
Gruvin.
RSSI Tx and Rx before A1 and A2
Rotary Encoder on ersky9x board
A Mix may be defined in many Phases (idea from Romolo, thanks!)
Differential is now a Curve (private Curve of a Mix)
Issue 56 fixed (native stick as Mix input)
EEPROM saving (LimitData structure)
Issue 79 fixed (Audio Queue)
Trims now working in ersky9x simu