ER9X-gruvin 20101111 release

WARNING: This is a really, really old and WAY out of date post.

Visit The OpenTX Project for the hugely improved, latest version of this firmware.

We — that is, myself and friends — now use a much later and (astonishingly) far more feature rich and optimised firmware, named open9x.

ER9x-gruvin Firmware Release 2010-11-11

I’ve made a few changes/additions to my ER9X firmware.

Feature 1 — Keypad auto-repeat delay

The standard ER9X firmware (and the original TH9X version) do not wait a while before commencing key/button auto-repeat. Hence, if you hold a button down just a tiny bit too long, you end up going two or three ‘clicks’. This frustrated me, so I added a longer initial delay, as we’re used to having on PC keyboards etc.

Feature 2 — Better beeps and buzzes

If you have a stock Turnigy/iMax 9X you like to rave about, I’ll bet you don’t mention the hideously annoying/ear-piercing buzzer/beeper thingy!

And, if you’re planning on following my Fr-Sky telemetry additions, you’ll probably be wanting various different tones frequencies/tunes instead of the stock high-pitched squeal for every event.

My solution was to disconnect the stock ‘screamer’ and replace it with a miniature speaker — WITH A 4.7uF CAPACITOR in series. The capacitor is needed to prevent damaging your CPU and/or wasting battery power. I got my ‘speaker’ out of some old budget headphones.

To make it work, I’ve written code to implement “beeps” of any desired length and at lots of different frequencies. So, I can now have long, high pitched tones or short, low pitched tones — or even complete tunes like, ‘Knees up mother brown!’, if I want . 😀

All this will come in handy when I have my AoA (Angle of Attack) sensor and telemetry feedback for ‘always perfect’ landings … or at least, such is the goal. I plan to use tones similar to the rise/sink sounder in modern gliders, and probably a plug-in earphone.

The version I’m posting today has all present tones the same frequency (lower!) and at the same durations as the original ER9X firmware. It  works so well that I’ve actually turned ‘key beeps’ back on. Much more pleasant to the ear now. 😀

The Code

[This code is based on ER9X trunk, release 262]

Pre-compiled HEX

The file er9x-hex-gruvin-20101111.zip contains four pre-build hex files ready for flashing. Their names include the features they contain. The names are …

er9x-frsky-rptdelay-speaker.hex
er9x-frsky-rptdelay.hex
er9x-std-rptdelay.hex
er9x-std-rptdelay-speaker.hex

NOTE: The two FRSKY versions require that you re-wire stuff inside your 9X. “std” means “standard” or “not Fr-Sky”.

If you have a stock ‘9X and you just want the better keypad auto-repeat delay, use er9x-std-rptdelay.hex.

Source Code

My complete source code for this version can be found in the following file: src-gruvin-20101111.zip

There are two new make directives for turning on and off the new features. They are:

BEEPER -- values can be BUZZER (the default) or SPEAKER
KEYRPT -- values can be STD (the default) or DELAY

Example make usage to include both features, as well as Fr-Sky support …

make EXT=FRSKY BEEPER=SPEAKER KEYRPT=DELAY

The Future

As time goes on, I may end up as a submitter for the ER9X project itself. However, if I start adding lots of custom features, I’ll probably fork off with my own project – Groovy9X I suppose :-P. Time will tell.

Speaker / Capacitor Installation

Correction to the above — you can’t actually simply “replace” the stock beeper with a speaker. The image below shows what I actually did. (The capacitor is installed the wrong way around too by the way. Negative should ideally go toward the white speaker wire.)

click for full-size

Author: gruvin

Born anatomically male, of a largely uninteresting bipedal, carbon based species, during the ninth moon orbit of the one thousand, nine hundred and seventy first meaningfully recorded solar orbital cycle (according to Gregory) of a small blue planet, situated near the outer edge of a seemingly long forgotten galaxy, located at the precise centre of its universe. In short; — I am. Therefore, I am.

Leave a Reply

Your email address will not be published.