ER9x Users Guide
ER9x Users Guide
1
Table of Contents
Disclaimer..................................................................................................................................................3
Introduction................................................................................................................................................4
How it works.........................................................................................................................................5
Nomenclature........................................................................................................................................6
Edit buttons............................................................................................................................................7
Navigation.............................................................................................................................................7
Editing and Saving................................................................................................................................8
On Startup – Quick Model Select..........................................................................................................8
Transmitter Layout................................................................................................................................9
Main Screen.............................................................................................................................................10
General view........................................................................................................................................10
Statistics Screens Statistics Screens....................................................................................................11
General Settings.......................................................................................................................................12
Radio Setup (1/6).................................................................................................................................13
PPM In (2/6)........................................................................................................................................15
Version Info (3/6)................................................................................................................................15
Diagnostics (4/6).................................................................................................................................16
Analog Inputs (5/6).............................................................................................................................16
Calibration (6/6)..................................................................................................................................17
Model Setup.............................................................................................................................................18
Model Select (1/10).............................................................................................................................19
Model Setup (2/10)..............................................................................................................................20
Heli Setup (3/10).................................................................................................................................22
Expo/Dr (4/10)....................................................................................................................................23
Triple Dr Example..........................................................................................................................23
Mixer (5/10)........................................................................................................................................24
Main Screen....................................................................................................................................24
Edit Mix..........................................................................................................................................25
Limits (6/10)........................................................................................................................................27
Curves (7/10).......................................................................................................................................28
Custom Switches (8/10)......................................................................................................................29
Safety Switches (9/10).........................................................................................................................30
Templates (10/10)................................................................................................................................31
Examples..................................................................................................................................................32
Programming a throttle cut..................................................................................................................32
Build and Program Instructions...............................................................................................................34
Building from Source..........................................................................................................................34
Flashing ..............................................................................................................................................34
make targets.........................................................................................................................................35
make options .......................................................................................................................................35
MORE......................................................................................................................................................36
2
Disclaimer
3
Introduction
The big thing about this transmitter is the price. At the time of writing radios may cost anywhere from
$180 for simple units up to $1000+ for super blinged out bazillion channel super heavyweight
monsters.
Where's the catch then? (you might ask) The catch is in the software (firmware - FW). The original
FW is less-than-perfect. It has bugs, funky navigation and the most annoying beeping I have ever
heard. Not good.
However, some neat guy called Thus figured out that the whole radio is made from gimbals, switches,
funky trim and a very generic main processing unit that does absolutely everything. He had one of
those ah-ha moments where insanity overrides common-sense and decided to completely rewrite the
original software and replace it with his own.
At some point I decided that while Thus' FW is great I really wanted more bling for my TX. So in the
spirit of open-source Thus' source was stolen and ER9x was born. (Yeah, I was vain. ER are my
initials)
You might want to check out Thus' code – it's available here: http://code.google.com/p/th9x/
While you're at it check out RadioClone's code – which also runs on the 9x. While ER9x is based on
Thus' code, I have managed to pilfer some of RC's excellent code. His FW is more complex but also
more powerful. Check it out here: http://radioclone.org/
Got you all worked up about this? Good. Go now to the kitchen, make yourself a nice cup of coffee.
This is a long read. I'll wait here till you're ready. Promise!
4
How it works
Pots Sticks
Trims Switches
(P1,P2,P3) (RUD,THR,ELE,AIL)
Calibration Calibration
Expo / Dr
MIXER
Limits
Output
5
What the heck was that?
The system receives 4 types of inputs:
1. Main Sticks
2. Potentiometers
3. Trims
4. Switches
The analog inputs (sticks and pots) go through a calibration phase. The sticks can also go through
Expo and Dr filters before going to the mixer.
The mixer does it all. It directs each input to the desired output (CH1..CH16). It controls how the
inputs are added. It also controls the timing of each function.
After the inputs are processed by the mixer they are directed to the relevant output channels. The limit
procedure takes over and makes sure no output goes too far.
Finally the channels are encoded and sent to the RF module to take that nice little hike through the air
to your model.
Nomenclature
(just so we understand each other)
Inputs:
1. RUD – Rudder.
2. ELE – Elevator.
3. THR – Throttle.
4. AIL – Aileron.
5. P1/P2/P3 – Pots.
6. Switches:
1. THR – Throttle cut switch, don't confuse this with the THR stick. The THR switch is
located on the back left side.
2. RUD – Rudder Dr switch.
3. ELE – Elevator Dr switch.
4. ID0, ID1, ID2 – Three position switch. These 3 define the 3-position switch. ID0 is the top
position, ID1 – mid position and ID2 – bottom position.
5. AIL – Aileron Dr switch.
6. GEA – Gear switch.
7. TRN – Trainer switch. This switch is spring loaded.
8. SW1..SW6 – Custom switches. More on these later.
It should be stated that every function in this FW is assignable. There are no fixed switches. You can
choose the TRN switch to be throttle cut and use the triple switch to control Dr. The names are useful
since they are labeled like that on the Tx.
6
Edit buttons
There are 6 edit buttons on the Tx. In this manual they are noted with square brackets ([MENU]).
Some functions need the button to be pressed and held for a second or so. The are noted as “long”
presses like so: [MENU LONG]
Also since the “+” and “-” keys are placed stupidly in the original Tx I've switched their position. So
[+] is actually [-] and vice-versa. This is actually more intuitive than the original (trust me, I've tried
using them as is).
Since to upload this FW you need to open up your Tx and do some modifications (which void your
non-existent warranty FYI) it is highly recommended you switch between the [+] and [-] keys. It's a
simple job, so don't skimp, you'll thank me later.
To avoid confusion with people who modded their keys and all the others I'll refer to the [+] and [-]
keys as [LEFT] and [RIGHT] from now on. (I hope that left and right are still universal values – you
can never tell today)
The “!” sign. Whenever you see the “!” sign you can read that as “not” or “inverted”. Switches can be
“normal” or “inverted”. So when choosing the elevator d/r switch ELE is normal operation and !ELE
denotes inverted operation.
Navigation
As a general rule the [UP]/[DOWN]/[LEFT]/[RIGHT] move the cursor appropriately The [MENU] key
is used for selection and for editing. The [EXIT] key is used for exiting (surprise). Pressing [EXIT]
will generally bring the cursor to the top of the screen. Another press will exit the menu to the main
screen. Pressing [EXIT LONG] will exit immediately to the main screen.
Pressing [MENU] from the main screen will take you back to the last menu.
From the main screen you can press [RIGHT LONG] to enter the model setup pages. Pressing [LEFT
LONG] will enter the general setup menus.
Once in the menus you can navigate between different screens using the [LEFT]/[RIGHT] keys as long
as the cursor is at the top right position of the screen.
7
Editing and Saving
As a rule once a value is changed it is saved. You can turn off your Tx and turn it back on and the
values will be saved. The values are saved internally in the MCU's eeprom. However there is a slight
delay sometimes so it's probably a good idea to wait a couple of seconds before turning off.
There is no undo functionality. Once something is erased/changed it's changed for good.
Generally, when a value is highlighted and you cannot move left or right then pressing [LEFT]/
[RIGHT] will change that value.
When moving left or right is possible you need to press [MENU] to edit that value. Edit-mode is
displayed by the cursor blinking. To exit edit-mode press either [MENU] or [EXIT].
When editing, pressing both [LEFT] and [RIGHT] simultaneously inverts the value. Try it, it's cool!
Also , with r155 and up it is now possible to change values with the P3 pot (the one at the front of the
Tx called PIT. TRIM/AUX 2).
8
Transmitter Layout
P2
P3
GEA SW
THR SW P1
TRN SW
RUD SW
AIL SW
ELE SW
ID0/1/2
Right Stick
[UP]
[MENU]
[LEFT]
Left Stick
[EXIT]
[DOWN] [RIGHT]
9
Main Screen
GOOFI
8.9 15:00
General view
The main view is split into top and bottom. The top contains the following:
• The current model's name. (GOOFI in this case and yes, it's a real airplane)
• The battery voltage.
• Trim increment information.
• Timer and timer trigger information. Pressing [EXIT LONG] resets the timer.
• Throttle trim activation information.
The bottom consists of three screens. You can flip between these with the [UP]/[DOWN] keys.
The 3 screens are:
• Value bars – these show the output values for the first 8 channels.
• Value values – The output values for the first 8 channels.
• Input values – Stick position and switch indicators.
10
Statistics Screens Statistics Screens
STAT 08:02 TOT STAT2
TME 08:02 00:00 TSW tmr 1Lat max 5 us
STK 00:00 00:00 ST% tmr 1Lat min 5 us
tmr 1 Jitter 0 us
tmain 6,31 ms
From the main screen pressing [UP LONG]/[DOWN LONG] will enter the statistics screen.
The first shows some available timers and traces the throttle stick as well.
The second shows general timing of the Tx. The value “tmain” shows how long the math takes. This
will increase as you add more mixers. It can be very large sometimes depending on eeprom writes.
You can reset the timers by pressing [MENU].
11
General Settings
From the main screen pressing [LEFT LONG] will enter the general settings menus. Here you can set
up settings that will be the same regardless of chosen model.
The menus are as follows:
1. Radio Setup
2. Startup Warnings
3. PPM In Calibration
4. Version Information
5. Diagnostics
6. Analog Inputs
7. Calibration
12
Radio Setup (1/6)
RADIO SETUP 1/6
Owner Name ME OFCOURSE
Beeper Quiet
Contrast 25
BAT Warning 9,0v
Inactivity Alarm 0m
Mode ↔☼ ↕☼ ☼↕ ☼↔
2 RUD THR ELE AIL
13
8. Minute beep: Beeps every full minute while the timer is running.
9. Countdown beep: Beeps at 30, 20, 10, 3, 2 and 1 seconds before the timer ends.
10. Flash on beep: Flashes the backlight on timer beeps.
11. Light switch: This chooses a switch which can be used to turn on a backlight if connected.
12. Light off after: When this is not OFF any keypress will turn on the backlight and turn it off after
the specified number of seconds.
13. Splash screen: Show the logo on radio startup. Btw, you might not know this but the splash
screen can be skipped on startup by pressing any key.
14. Throttle warning: If ON will show a warning when throttle is not at idle when the Tx is turned
on. The Tx will not output a signal until the alert is cleared.
15. Switch warning: If ON will show a warning when the switches are not at the default position
when the Tx is turned on. The Tx will not output a signal until the alert is cleared.
16. Memory warning: If ON will show a warning when the available eeprom memory is less than
200 bytes when the Tx is turned on. The Tx will not output a signal until the alert is cleared.
17. Alarm warning: This will give you a “heads up” if your beeper is silent. If on and the beeper is
set to '0' (Quiet) you will receive a warning on startup. This has been added after a programing
session left a user flying on silent. I find it really useful!
18. Mode: Choose between MODE1, MODE2, MODE3 and MODE4.
2
14
PPM In (2/6)
PPMIN 2/6
Multiplier 1,0
This menu allows you to calibrate the mid point for the input PPM channels.
Highlighting “Cal” and pressing [MENU] will calibrate the mid point for all PPM IN channels.
PPM IN is read from the signal at the trainer port of the Tx.
The multiplier does as it's name suggests. It multiplies the ppm Input by a set amount. Great for
dealing with different tx's whose makers don't know how to encode PPM :-P.
SVN: trunk-r98
VERS: V1.2484-erez
DATE: 06.09.2010
TIME: 09:19:32
This screen shows the version information for the current FW:
SVN: The SVN name of the current revision.
DATE: Compile date for the current FW.
TIME: Compile time for current FW.
VERS: Version number.
Since ER9x is OPEN SOURCE I try to help out anyone who has problems. Please feel free to open
new issues for defects and/or enhancement requests at the project's code page:
http://code.google.com/p/er9x/issues/list
Your participation is what helps me makes the FW better (and your donations of-course!). Please use
the revision number stated in this screen when you state a problem.
15
Diagnostics (4/6)
DIAG THR 0 4/6
RUD 0
Left 0 ELE 0
Right 0 ID1 1 Trim- +
Up 0 ID2 0 ↔☼ 0 0
Down 0 AIL 0 ↕☼ 0 0
Exit 0 GEA 0 ☼↕ 0 0
Menu 0 TRN 0 ☼↔ 0 0
This menu will help you visualize the current state of the trims, keys and physical switches.
Each Key/Switch/Trim is represented. When pressing a key or switch they are highlighted.
Here you can see the analog inputs in hexadecimal format to save space and annoy you at the same
time.
Values range between 0..0x3FF (0..1023).
16
Calibration (6/6)
CALIBRATION 7/7
0355<0422 >033F
SetMid 0200<0414 >0353
SetSpan 0302<0410 >0354
Done 0360<0416 >03E0
03B0<0200 >0344
03D0<0233 >03FF
03F0<0268 >03FF
17
Model Setup
From the main screen pressing [LEFT RIGHT] will enter the model select/settings menus. Here you
can set up settings that model specific.
The menus are as follows:
1. Model Select
2. Model Setup
3. Heli Setup
4. Expo/Dr
5. Mixer (This is the important one)
6. Limits
7. Curves
8. Custom Switches
9. Safety Switches
10. Templates
18
Model Select (1/10)
MODELSEL free 1560 1/9
In this screen you can see, select, copy and move models between different memory “slots”. I quote
the word “slots” because memory management is dynamic. The available memory is displayed at the
top of the screen.
Memory usage for each model is displayed on the right. The more complex your model
(mixes/curves/options/limits/etc) the more memory it'll take.
The “*” on the left shows the currently loaded model memory.
Pressing [UP]/[DOWN] will move the cursor between different models.
Pressing [MENU] will highlight the model. Pressing [UP]/[DOWN] with the model highlighted will
move it up/down. Pressing [EXIT] will un-highlight the model.
19
Model Setup (2/10)
SETUP 01 2/9
Name GOOFI
Timer 15:00
Trigger Ths
Timer Count Down
T-Trim ON
T-Expo ON
Trim Inc Medium
20
1. Exp – Exponential. With this the trims are fine near the center and get progressively coarser
farther out.
2. ExFine – Extra fine – 1 step per click.
3. Fine – 2 steps per click.
4. Medium (my personal favorite) – 4 steps per click.
5. Coarse – 8 steps per click.
8. Trim Sw: Neat little function this is. When in flight if this key is activated it reads the current
position of the sticks and trims and copies that into the subtrims. After that it zeros the trims.
This is really neat for new models when you might have a hard time taking your hands off the
stick and pressing the trims. Simply hold the plane level with the sticks and press the selected
trim switch. Voilà – the plane is trimmed. It's magic! No it ain't. It's ER9x!!!
9. Beep Cnt: Beep Center. Here you set center warnings. The string RETA123 corresponds to:
RUD, ELE, THR, AIL, P1, P2, P3.
When the letter corresponding to the analog channel is highlighted the system checks for center.
When the input is at center a short beep will sound enabling you to hear when the input is
centered. This is useful for checking the center of the pots without looking.
10. Proto: encoding protocol
1. PPM – with ppm you can choose how many channels to encode. Anything from 4 to 16
channels. You can also change the pulse spacing. This is useful for systems which might
experience jitter. On the whole it might be a good idea to leave it alone.
2. Other protocols include Silver A/B/C and TRAC09.
11. Shift Sel: Shift select. POS/NEG. Select signal shift. POSitive or NEGative.
12. E. Limits: Extended limits. Allows limits to go to ±125%. Please test first and make sure
this does not cause unwanted mixing between channels.
13. DELETE MODEL [MENU]: Guess....
This deletes the current model. You need to press [MENU LONG] for that to happen though.
WARNING!
Deleting a model causes the memory to jump to the previous model memory in the list. Do not
delete a model memory while you have a model "listening". Always shut down your receiver
before deleting a model.
(This all sounds perfectly reasonable until you actually forget to turn off you electric model and have it
fly around your house uncontrolled – you've been warned!)
21
Heli Setup (3/10)
22
Expo/Dr (4/10)
EXPO/DR 3/9
exp % sw1 sw2
RUD 0 100 - --- --- H
THR 50 100 - --- --- H
ELE 0 100 - --- --- H
AIL 0 100 - --- --- H
This screen allows you to enter and edit Expo and D/R values for the main controls
(RUD/ELE/THR/AIL).
For each control you can input values for Left/Right for both Expo and D/R. To edit expo values
highlight the value in the “expo” column and press [MENU]. Once the cursor blinks you can use the
[UP]/[DOWN]/[LEFT]/[RIGHT] buttons to change the value. Notice that while there is a telltale that
shows you which side of travel you are adjusting:
• "-”: This means both left and right values are equal. Pressing [UP]/[DOWN]/[LEFT]/[RIGHT]
will change both values simultaneously.
• "←”, “→” : When moving the stick you can see either of these symbols. When this symbol is
visible you are only changing that side of travel.
For each control you can set 2 switches. The main switch changes between high rate/high expo and
mid rate. If the main switch is “low” (e.i. mid rate) the second switch can switch between mid and low
rate.
At the end of each line there's a telltale that shows you which rate you are on:
• H: High.
• M: Medium.
• L: Low.
Pressing [MENU LONG] while the cursor is on a control will take you to the Edit Expo/Dr screen. In
this screen you can adjust the values for that single control. You will also see a graph indicating the
action of that control. Press [EXIT] to return to the main Expo/Dr screen.
Triple Dr Example
The "F.Mode" switch can be used as a triple rate switch for any one axis, or it can be used as a triple
rate flight mode switch, controlling rates and expos for some or all of the flight axes at once. To use it
as a triple rate/flight mode switch, set sw1 to "!ID2" and sw2 to "!ID1" If you want rudder, elevator,
and aileron all assigned to this switch for flight modes, be sure to set sw1 and sw2 as above for each
axis. With the switch in the up position, it will be at low rate, as indicated by the "L" at the end of the
line. In the mid position, it will be mid rate, and at the down position, it will be at high rate. You can
also include throttle if you'd like, to have different expo curves for each of the flight modes.
23
Mixer (5/10)
I'm actually writing this last since it's the most important menu. If you're still awake now would be a
good time to sip that coffee and wake up. You want to understand ER9x? Understand the mixer and
you're very nearly there.
The function of the mixer is to take the inputs, perform some function on them and route them to the
output channels. Since selection is totally free you have a very flexible system which is extremely
powerful and very quick to boot.
Main Screen
When you enter the screen for the first time you'll probably see a list like so:
MIXER 4/9
wt src sw crv
CH1 100% RUD
CH2 100% ELE
CH3 100% THR
CH4 100% AIL
CH5
CH6
What this is telling you is that the rudder stick's input is being routed with a weight of 100% to CH1.
Same for the elevator, throttle and aileron. Though not visible now you can also see the switch column
which will tell you if a switch is assigned to the mix and also a crv (curve) column which tells you
what curve is applied to that mix.
When you scroll down you'll see that sometimes the weight is being highlighted and sometimes the
channel's number is underlined. When the weight is highlighted, pressing [LEFT]/[RIGHT] will edit
that value and pressing [MENU LONG] will enter the Edit Mix screen and allow you to edit that mix.
When the channel's number is underlined, pressing [MENU LONG] will insert a new mix for that
channel and take you to the edit mix screen for it.
You can also press [MENU]. This will highlight the mix. Then you can press [UP]/[DOWN] to move
or copy the mix. Notice that moving or copying is decided by whether you press up or down on the
first press after highlighting the mix. If you first try to move it down it will be copied. Subsequent
presses of [UP]/[DOWN] will move the copy up or down until you press [MENU] or [EXIT].
Pressing [UP] will move the mix without copying it. Again, subsequent presses of [UP]/[DOWN] will
move the copy up or down until you press [MENU] or [EXIT].
24
Edit Mix
EDIT MIX CH1
Source RUD
Weight 100
Offset 0
Trim ON
Curves c1
Switch ---
Warning OFF
25
iii. |x|: The value is passed as an absolute value.
iv. f>0: If source is positive then the output value is “+weight” otherwise it is 0.
v. f<0: If source is negative then the output value is “-weight” otherwise it is 0.
vi. |f|: Output is either “+weight” or “-weight” depending on the sign of the source.
vii. c1..c16: custom curves. These are defined in the “CURVES (6/8)” screen. You can also
press [MENU] to edit the curve directly.
6. Switch: Here you select the switch that operates the mix. If the switch is not selected then the
mix is on by default.
7. Warning: Here you can select an audible warning that will sound whenever a mix is active.
(This will only work when a switch is defined). You have an option of 1, 2 or 3 beeps. The
warnings will sound in succession so you can hear them individually.
8. Multpx: This value defines how the mix will be added to the channel.
i. Add: This is the default value. With this value the mix is added to the previous values in the
same channel.
ii. Multiply: Use this to multiply the previous values in the same channel.
iii. Replace: This value is used in conjunction with a switch. When the switch is off the value
is ignored. When the switch is on the value discards the previous values and places it's own
value in the channel.
9. Delay Down/Up: Use this to delay use of this channel. Usually used with a switch. When the
switch is turned “ON” or “OFF” the mixer will wait the specified number of seconds before
changing the value.
10. Slow Down/Up: Slow the rate of change in the channel. When not zero these will determine the
maximum speed with which the value can change. The specified value is the number of
seconds to go between -100% to 100%.
11. DELETE MIX [MENU]: Pressing [MENU LONG] here will delete the mix and return to the
main mix screen.
26
Limits (6/10)
LIMITS 5/9
subT min max inv
CH1 -5,9 -100→ 100 ---
CH2 0,7 -100→ 100 INV
CH3 0,0 -95 ← 40 ---
CH4 -14,4 -100→ 100 INV
CH5 45,9 -100→ 100 INV
CH6 0,0 -100→ 100 ---
Each channel here corresponds to a channel in your receiver. The limits you set will be used on that
channel only.
Columns:
1. subT: SubTrim. This sets the channel's center point.
HINT: The values of subT can be -100 to 100 with increments of 0.1. This is done so to have
excellent resolution when setting the center of each surface. You can use your stick to set the
center point as well. While the subT is highlighted hold the stick so that the surface is
centered. Press [MENU LONG] and the position will be recorded! It's the magic of ER9x
again :).
2. Min/Max: These set the endpoints of the channel. Notice that there's a telltale that hints as to
which side is active at the moment. Each limit point can range between -100% to 100%.
The limits act both as gains and as absolute limits. The servo will not go beyond the limits you
set here.
3. inv: Invert. This function reverses the output of the channel.
27
Curves (7/10)
CURVE 6/9
CV1 -75 -40 0 45 75
CV2 0 0 0 0 0
CV3 0 0 0 0 0
CV4 0 0 0 0 0
CV5 0 0 0 0 0
CV6 0 0 0 0 0
CV7 0 0 0 0 0
Surprisingly in this menu you set your custom curves. Curves are nifty things that can tell your servo
how to move when you move your stick. In ER9x there are 8 5-point curves and 8 9-point curves.
A 5pt curve is a curve you can edit at position -100%, -50%, 0%, 50%, 100%.
A 9pt curve is a curve you can edit at position -100%, -75%, -50%, -25%, 0%, 25%, 50%, 75%, 100%.
When you enter the menu you see a long list of zeros. Scroll down to the curve you wish to modify
and press [MENU] or [RIGHT]. This will bring up the screen for editing the curve. Depending on
whether you chose a 5pt or a 9pt curve you will see 5 or 9 editable points. Scroll through the points
with [UP]/[DOWN]. Change the value with [LEFT]/[RIGHT].
At the bottom you will see a “preset” entry. Pressing [LEFT]/[RIGHT] on that will populate the values
with a linear curve that is a good starting point.
You can also change the curve graphically. Highlight the “EDIT->” line and press [RIGHT]. This will
highlight the curve points. Pressing [UP]/[DOWN] will change the values and pressing [LEFT]/
[RIGHT] will select a different curve point.
28
Custom Switches (8/10)
CSWITCH 7/9
Function V1 V2
01 v<ofs -60 THR
02 AND ID0 ID1
03 ---- 0 ----
04 ---- 0 ----
05 ---- 0 ----
06 ---- 0 ----
You might have noticed that beyond the physical switches there are 6 switches called SW1..SW6.
These correspond to the list you see in this screen. Once the condition defined for the switch is met it's
value will be “ON”.
1. First we define the condition. This can be v>offset, v<offset, |v|>offset and |v|<offset, or it can
be a logical condition: AND, OR, XOR, or it can be an evaluation between 2 sources.
2. If you've selected a regular condition you need to specify a source and an offset:
1. The source can be a stick, a pot, a PPM input or an output channel.
2. An offset can be anywhere between -100 and 100. This will be the test point for the
condition.
3. If you've selected a logical condition the switch results the condition applied to the 2 selected
switches.
For example: OR ID1 ID2 will be “ON” if either ID1 or ID2 is on. Cool, huh?
4. If you've selected an evaluation you (“==”, “>”, “<” etc...) you need to select the 2 sources to
evaluate between.
For example: Switch on only if CH1 is less than RUD → V1<V2 CH1 RUD
Example:
Say you have a glow plug driver which you want to turn on when the throttle is below 10%:
1. Highlight SW1
2. Select the source as THR.
3. Select the offset as -80 (remember -100 – 100 so 10% from idle is -80).
4. Select the condition as v<ofs.
Now you need to use a mix to run the switch. Go to the mixer menu. Select the CH8 as the channel
you want the GP driver to operate on. On that channel select source as “MAX” and Switch as “SW1”.
Now whenever the throttle goes below 10%, CH8 will go to 100%. Cool, huh?
29
Safety Switches (9/10)
SAFETY SWITCHES 8/9
ch sw val
CH1 --- 0
CH2 --- 0
CH3 --- 0
CH4 --- 0
CH5 --- 0
CH6 --- 0
Safety switches allow you to select a switch and have it write a value for a channel that will overwrite
any other value.
For example – you might want to set a switch on the channel your electric esc is placed. That way you
can work on your model and not worry that a chance programing error will spin up the propellor.
30
Templates (10/10)
TEMPLATES 9/9
01 Simple 4-ch
02 T-Cut
03 V-Tail
04 Elevon\Delta
05 eCCPM
Channel Order RETA
CLEAR MIXES [MENU]
The templates are there to help you get started. When entering the screen you'll see a list of available
templates. To choose a template, scroll down to it and press [MEU LONG]. This will add the
template to the existing mixes.
Channel order:
This will allow you to set the way the templates are written to the mixers.
RETA means RUD = 1, ELE = 2, THR = 3, AIL = 4.
AETR means AIL = 1, ELE = 2, THR =3, RUD = 4.
(and so forth).
At the bottom you'll see an option called “CLEAR MIXES [MENU]”. Pressing [MENU LONG] on
this will clear all the mixes leaving you with a clean slate.
31
Examples
MIXER 4/8
wt src sw crv
CH1 100% RUD
CH2 100% ELE
CH3 100% THR
CH4 100% AIL
CH5
CH6
32
Keep on scrolling down until you reach Multpx.
Change the value to “Replace”
MIXER 4/8
wt src sw crv
CH1 100% RUD
CH2 100% ELE
CH3 100% THR
R-100% MAX THR
CH4 100% AIL
CH5
33
Build and Program Instructions
You might want to play with the code and modify it for your own needs. It's really easy if you
know a little C.
Flashing
(you may have to run as admin to access the USB port in Linux)
To write the FW: make wflash AVRDUDE_PROGRAMMER=usbasp
To write the EEPROM: make weeprom AVRDUDE_PROGRAMMER=usbasp
To read FW: make rflash AVRDUDE_PROGRAMMER=usbasp TARGET=backupflash
To read the EEPROM: make reeprom AVRDUDE_PROGRAMMER=usbasp TARGET=backupeeprom
Make sure you replace "usbasp" with the name of your programmer.
To list available programmers type: avrdude -c ?
34
make targets
• make all (default): build the source
• make clean: Remove compiled files and directories.
• make wflash: Write flash (program) memory.
• make rflash: Read flash memory.
• make weeprom: Write eeprom.
• make reeprom: Read eeprom.
• make coff: Convert ELF to AVR COFF.
• make extcoff: Convert ELF to AVR Extended COFF.
• make debug: Start either simulavr or avarice as specified for debugging, with avr-gdb
or avr-insight as the front end for debugging. (for debug info look into the makefile)
• make filename.s: Just compile filename.c into the assembler code only.
make options
• EXT=JETI: make jeti vesion.
• AVRDUDE_PROGRAMMER: Set avr programmer name - default: usbasp
(to list all available: avrdude -c ?)
• TARGET: Set target name - default: er9x
• OPT: Set optimization level - default: s
• FORMAT: Set format (can be srec, ihex, binary) - default: ihex
• MCU: Set MCU - default: atmega64
35
MORE
I sincerely hope you enjoy both the ER9x FW and this manual.
I also sincerely hope you're still awake. If you are I applaud you :)
This is an Open Source project. It means that I request no money for it. You are free to look
up, download, modify and release the code under the GNU v2 software license.
If you have any questions, requests and/or gaudy compliments I'll be happy to hear them
either on the FW's code page:
http://code.google.com/p/er9x/
eePe and er9x are free to use under the GNU v2.0 License. Feel free to use, copy and modify
it as you wish! I have spent a lot of time (and will continue to) to make this software as good
as possible. If you feel that this software has been beneficial to you please show your support
by donating 5$USD. This will be greatly appreciated and you'll be added to the "contributors"
list in the code (optional of-course).
If you feel you'd like to contribute time, software code, documentation, tutorials, examples
and/or money (I like money :) Please feel free to email me at: erez.raviv@gmail.com
Please tell your friends about this cheapie $60 Chinese Tx. I bet They'll roll their eyes up and
tell you to go buy a *real* system. That's o.k. You'll have more money for *real* models!
36