th9x
This project is an alternative firmware for the 9 channel rc-control FS-TH9X manufactured by FlySky (other brand names: Turnigy 9X / Eurgle 9X / iMax 9X)
Documentation
Installation Instructions
Forums
Links to similar Projects
Binary Images
You can find some Snapshots as binary-Images below:
Attention!! This software is developed continuously.
We try to convert the persistent data from one version to the next one automatically as good as it can be done.
There might also be some bugs in any version, if you find some, then please report them with the issue-form
It is possible to safe the whole eeprom-contents from time to time as a backup with each flash progammer.
This data can be replayed afterwards if anything goes wrong. It can also be analyzed offline e.g. with the ruby-script in utils/eeprom.rb:
> ruby utils/eeprom.rb info eeprom.bin
> ruby utils/eeprom.rb info eeprom.bin -v
th9x is free to use under the GNU v2.0 License. Feel free to use, copy and modify it as you wish! If you feel that this software has been beneficial you can show your support by donating. This will be greatly appreciated and you'll be added to the "contributors" list in the code.
This is the newest version with minor changes or fixes or even with incomplete new features.
VERS: V1.3155-thus
DATE: 24.09.2015
TIME: 20:09:19
- simulation with device shape
- prepared for avr-libc >= 1.8
- experimental adc-filter
- faster blink-pattern, frame-cursor
- calibrated bat-voltage measurement
- list navigation: insert at end of block, edit-end with menu-key, select-cursor=solid
- 8-Binary-Switches in one output channel
VERS: V1.2976-thus
DATE: 23.10.2011
TIME: 00:14:16
SVN: trunk-r232
- issue99, SWIFT protocol without 38KHz modulation
- issue70, template servo-test
- switch check warning with step-by-step hints
- bugfix simu-calib-template, submenu restore in menu0
- Attention!! eeprom format V06 in r229 is slightly incompatible to r226!!! Please check switches-menu and trim values. Maybe you have to delete the switches lines and generate them new. Conversion from V05 should be ok.
- menunavigation: 3-column ranges: 1.chan-column for new lines, 2.value columns 3.line edit coumn
- list header can scroll away when more than 6 lines are needed.
- setup option navigation: simple/advanced
- issue96, issue97: Setup Key Long, issue98
- bugfix Trim-Mode T-
- different trim-modes 1,2,4,8 experimental
- new main-screen, less beeps in silent mode, issue75
- new menunavigation with Up-Down,Left-Right. The Value-Change-Mode is entered with a LONG-Press to the Left- or Right-Key, issue78, issue94, issue95
- Timer now controlled by a switch, second Timer displays current flight-time issue45, issue34
- model data version: V06, converted from older versions 1,2,3,4,5
- issue57, issue59, issue88, issue89, issue90, issue92
- 8 virtual switches. experimental version
- New Protocols DSM2, Swift, Picco-z
VERS: V1.2245-thus
DATE: 13.07.2011
TIME: 22:12:02
SVN: trunk-r199
- model data version: 4, converted from older versions 1,2,3
- issue74, issue77, issue76, issue84, issue85, issue86, issue63
- instant trim
- mix mode + x =
- switch mode oOff iNeg,iNul,Ipos
- Input FUL is now removed. Same function is done with Input MAX and switch-mode iNeg
- negativ curves f(-x) allows ´querruderdifferenzierung´ with one single curve
- assym potis as input (p1-p3)
- trainer1-8 as input (T1-T8)
- CH1-8 as inputs (Ch1-Ch8)
- accept any Trainer Inputs from 3ch to 8ch
- slightly enhanced file compression, saves some Bytes
VERS: V1.2038-thus
DATE: 27.01.2011
TIME: 00:15:51
SVN: trunk-r184
-
model data version: 4, converted from older versions 1,2,3
Attention!! save old eeprom contents in case you want to go back to the previous version
-
issue73 mode change works each time
-
Issue71:Unterschiedliche Expo Werte fuer Flugphasen
-
Issue36:special assymetric trim mode for throttle
-
Issue18:EXPO with curve,
-
issue17:three values for expo,
-
issue16:split expo values,
-
use foldedlist for mixers
-
edit all values in mixer menu
-
use foldedlist for expo
-
expo values are unequally distributed like limit-values 0 10 20 30 40 50 55 60 65 70 75 80 85 90 95 100
-
same change has happened to the dualrate values: 0 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
VERS: V1.1869-thus
DATE: 07.12.2010
TIME: 23:17:49
SVN: trunk-r167
- model data version: 3
- issue69: only trim beep in mode 1 (silent)
- issue68: thr-alert sign-bug, larger stick zero limit
- issue64: double clicks (changed to tripple click)
- issue60: vbat blinks, bat warn up to 12V
- issue58: falsches tasten-handling
- issue55: limit with scaling. This feature is activated in the Limits Menu 6/7 when a ´
*
´ is visible in the Scale-column (´scl´)
- The values for the limits are no longer with stepwidth 1. Now the values are unequally distributed 0 1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150
- adc-peak-filter, show adc errors (experimental)
- optional adc-statistic (not activated)
- experimental double-beep and inc-dec dynamic
- measuring output calculation time
- move and duplicate mixer lines
- show slope-vals in sec
- leave THR-Alarm with THR-movement
- show slave-mode in trainer menu
- trim repeat slow
- inc/dec with nicevals when doubleclick
VERS: V1.1710-thus
DATE: 22.09.2010
TIME: 00:04:44
SVN: trunk-r153
- menucontrol refined: Some Menus now navigate with left-right (as in early revisions) some Menus allow column change via their header-lines
- FADE renamed to SLOPE
- copy expo and weight when dualrate switch is activated
- Potis are calibrated like the sticks
- adjutable inactivity warning (1-30min)
- show file version info in model overview
- automatic light-control triggered by keypress (adjustable timeout)
- Trainer input is shown in main screen as 'Stud.'
- issue54: new Model-template: 'Empty' (is used by default)
- issue53: doku
- issue51: Backlight OFF when error message, should be ON
- issue49: Sim calibration enhancement (new template 'Sim Calib')
- issue42: key repeat changed from 160ms -> 320ms
VERS: V1.1613-thus
DATE: 14.09.2010
TIME: 22:06:17
SVN: trunk-r146
- mixer debug support
- trim steps and max range halved (50%)
- issue 48 negativ trim large steps.
- 4 default models plain,v-tail,delta,CCCP
- issue 38, calibration simplified
- issue 47 filesize larger 256
VERS: V1.1562-thus
DATE: 09.09.2010
TIME: 00:49:58
SVN: trunk-r143
Attention!! Bug negative Trim (iss48)
-
eeprom data is changed! Auto-conversion from previous version
-
model data version: 2
-
issue 15 Enhancement: Neue Standard-Kurve : additional 3*3-point curves
-
(issue 26) more curves
-
issue 37 THR warning with inverted THR use.: like proposed with auto learning
- Procedure in case you have the incorrect THR alarm:
- Put the stick in the THR idle position
- Go to the alarms menu, and turn the THR alarm off and on again.
-
issue 42 Key-debounce insufficient: increased from 20ms to 40ms
-
issue 46 Stick latency : Filter degree adjustable from 0-3
-
change in mixercalculation: sign of weight is evaluated before curve is evaluated this allows 'querruderdifferenzierung' with one single 3-point-curve
VERS: V1.1538-thus
DATE: 27.08.2010
TIME: 17:07:04
SVN: trunk-r141
VERS: V1.1532-thus
DATE: 15.07.2010
TIME: 00:08:12
SVN: trunk-r133
- model data is changed! Auto-conversion from previous version
- issue 33
- TRIM-menu changed into TRIM-SUBTRIM menu. This allows rearrangement of current trim-values into subtrim-values shown in the limits menu. Attention!! the former values trim-base are converted to trim values. Please use now the subtrim function.
- edit function is now available for all values shown in the expo-overview
- 4 beep levels: quiet,silent,normal,loud
- (issue 31) changed the navigation logic. Now any cursor navigation is done with the up-down keys
- a short key-press moves the cursor up-down
- a long key-press moves the cursor left-right (if needed in menu)
- issue 30 Throttle warning NON functioning
- issue 20 Timer für Flugzeit sollte in Statistiken angezeigt werden können
VERS: V1.1385-thus
DATE: 06.07.2010
TIME: 00:27:22
SVN: trunk-r119
- model data is changed! Auto-conversion from previous version
- issue 27: Trim action will interfere with CH4
- issue 23: Sticks have dead band
- issue 14: the speed steps are a little bit inhomogenuous
- auto convert eeprom-format for older revisions oldrev <r119
- !! no backward conversion of eeprom possible. (save old eeprom before)
VERS: V1.1346-thus
DATE: 30.06.2010
TIME: 00:58:18
SVN: trunk-r116
- issue 7
- issue 13
- issue 19
- issue 21
- issue 22
- issue 24
- fsck with repair
- DR with expo and weight
- Limits with offset -63% to +63%
- increased mixers from 20 to 25
- auto convert eeprom-format from some older revisions r46<= oldrev <r84
- !! no backward conversion of eeprom possible. (save old eeprom before)
VERS: V1.1281-thus
DATE: 07.06.2010
TIME: 00:16:41
- bugfix calibration overflow, THR error detection
VERS: V1.1268-thus
DATE: 17.05.2010
TIME: 22:09:43
- optimized latency
- default mixer with 4 chans
- inc/dec pause at zero pos
- handling of switches in mixer lines differentiated by input source
- handling of curves now after delay function
VERS: V1.1233-thus
DATE: 10.05.2010
TIME: 22:37:39
- bugfix: scrolling to end of mixer menu
- bugfix: uncomplete model copy
- Curves with Range -100 .. +100 instead of (-128..+127)
- additional throttle- and memory-warning.
- Warnings customizable
- stick-mode is now global instead of model-specific
VERS: V1.1163-thus
DATE: 04.05.2010
TIME: 22:07:05
- bugfix bad negativ switches display
- bugfix potential endlessloop
VERS: V1.1161-thus
DATE: 03.05.2010
TIME: 23:51:57
- bugfix: write time overflow
- temporary backup-files used for data reliability
- timer beep stop with exit-key
- timer restart with exit-key-long
- timer in silent mode when value is 0
- two view-modes: numeric output channels or bargraphes for output channels switched with cursor up/down
Attention
bug in r44-r54: Due to very long writing times of the eeprom-data, a watchdog reset can occur during configuration. In this case the curent model data is corrupted and gets deleted.
a bugfix is in preparation...
VERS: V1.1045-thus
DATE: 21.04.2010
TIME: 23:11:50
- with dynamic eeprom manager
- up to 16 models
- 4 curves per model
- delay up and down
- hw-watchdog
- !! eeprom incompatible to revs before
VERS: V1.952-thus
DATE: 16.04.2010
TIME: 11:51:49
- with persistent Trainermode
- Delay and Curves
- !! eeprom incompatible to revs before
VERS: V1.938-thus
DATE: 16.04.2010
TIME: 10:14:49
- with Delay and Curves
- eeprom incompatible to revs before
VERS: V1.926-thus
DATE: 11.04.2010
TIME: 12:33:48
- with Trainermode, not persistent