Cleric-K / FlySky-i6X_Firmware_BugFix

Fixes a bug in the original FS-i6X firmware

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Could you improve the trainer mode of the I6X firmware?

human890209 opened this issue · comments

Hi,
The original firmware of I6X in trainer mode only takes CH1-CH4 of the student's PPM input. CH5-CH10 can only be operated with the switches of the trainer's controller. But the student's PPM signal carries CH1-CH8.
I reported this to Flysky a long time ago but no firmware update was given.
Could you modify the trainer mode part of the firmware to take CH1-CH8 of the student's PPM input?

Hi, unfortunately at this time I simply don't have the time needed to reverse engineer the code and find where all this is happening. I guess it will be more complicated than that. I have never used student mode but isn't it the case that this mode should be controlled with a switch? If the student overrides all the channels then the trainer will lose the possibility to regain control. At least one of the channels would have to be reserved.

Trainer mode is controlled with a switch that can be chosen by its settings and doesn't consume a channel. When the switch is turned on, trainer mode is activated. The student then can override CH1-CH4 only 4 channels but not 8 channels carried in the cable. But CH5-CH10 is still controlled by the trainer controller which limits the student's practice. I hope it could be fixed by changing a loop count of 4 into 8 or something simple. Hope you could see if it could be a simple fix when you have free time and good mood : )

I see. Changing the loop count may not be enough. It depends on the implementation.
If internally the trainer switch is mapped to a channel, then overriding that channel from the student may cause strange effects. Imagine that the switch corresponding to ch5 is used for trainer mode. When it is HIGH, control is given to the student. But imagine that the student's ch5 is LOW. Then as soon as the mode is activated it will seem like it is commanded to be turned off again. The controller will look again at the local ch5 which is HIGH and thus we get in back and forth loop. It really depends on how the firmware is written but as I said, right in this moment I won't be able to look into it. It might be indeed a small tweak but finding where to do it may take many nights of reverse engineering machine code :)

Thanks. I guess a future version of OpenTX for I6X which adds trainer mode may be the sooner solution : )
Edit:
I've found that the current version of ER9X and OpenTX firmware for Flysky I6X could use Mixer to take the PPM input channels as a Mixer Source.