[appendix]
== Updating Device Firmware
+ ifdef::telemega[]
TeleMega, TeleMetrum v2, EasyMega, EasyMini and TeleDongle v3
- are all programmed directly over their USB connectors (self
- programming). TeleMetrum v1, TeleMini and TeleDongle v0.2 are
+ are all
+ endif::telemega[]
+ ifndef::telemega[]
+ EasyMini is
+ endif::telemega[]
+ programmed directly over their USB connectors (self
+ programming).
+ ifdef::telemega[]
+ TeleMetrum v1, TeleMini v1.0 and TeleDongle v0.2 are
all programmed by using another device as a programmer (pair
programming). It's important to recognize which kind of devices
you have before trying to reprogram them.
+ endif::telemega[]
You may wish to begin by ensuring you have current firmware
images. These are distributed as part of the AltOS software
download the most recent version from
http://www.altusmetrum.org/AltOS/
+ ifdef::telemega[]
=== Updating TeleMega, TeleMetrum v2, EasyMega, EasyMini or TeleDongle v3 Firmware
+ endif::telemega[]
+ ifndef::telemega[]
+ === Updating EasyMini Firmware
+ endif::telemega[]
- Self-programmable devices (TeleMega, TeleMetrum v2,
- EasyMega and EasyMini) are reprogrammed by connecting
- them to your computer over USB
+ Self-programmable devices are reprogrammed by
+ connecting them to your computer over USB.
. Attach a battery if necessary and power switch to
the target device. Power up the device.
. Select the image you want to flash to the device,
which should have a name in the form
<product>-v<product-version>-<software-version>.ihx,
- such as TeleMega-v1.0-1.3.0.ihx.
+ such as EasyMini-v1.0-1.6.0.ihx.
. Make sure the configuration parameters are
reasonable looking. If the serial number and/or RF
connectors will force the boot loader to start, even if the
regular operating system has been corrupted in some way.
+ ifdef::telemega[]
TeleMega::
Connect pin 6 and pin 1 of the companion
battery. Pin 7 carries 3.3V and the board will crash
if that is connected to pin 1, but shouldn't damage
the board.
+ endif::telemega[]
+ ifdef::easymega[]
EasyMega::
Connect pin 6 and pin 1 of the companion
battery. Pin 7 carries 3.3V and the board will crash
if that is connected to pin 1, but shouldn't damage
the board.
+ endif::easymega[]
+ ifdef::telemetrum[]
TeleMetrum v2::
Connect pin 6 and pin 1 of the companion
battery. Pin 7 carries 3.3V and the board will crash
if that is connected to pin 1, but shouldn't damage
the board.
+ endif::telemetrum[]
+ ifdef::easymini[]
EasyMini::
Connect pin 6 and pin 1 of the debug connector, which
identified by the square pad around it, and then the
pins could sequentially across the board, making Pin 6
the one on the other end of the row.
+ endif::easymini[]
+ ifdef::telemetrum[]
TeleDongle v3::
Connect pin 32 on the CPU to ground. Pin 32 is closest
to the USB wires on the row of pins towards the center
of the board. Ground is available on the capacitor
next to it, on the end towards the USB wires.
+ endif::telemetrum[]
Once you've located the right pins:
the board has been powered up, you can remove the
piece of wire.
+ ifdef::telemetrum,telemini[]
=== Pair Programming
The big concept to understand is that you have to use
If something goes wrong, give it another try.
- ==== Updating TeleMini Firmware
+ ==== Updating TeleMini v1.0 Firmware
You'll need a special 'programming cable' to
- reprogram the TeleMini. You can make your own
+ reprogram the TeleMini v1.0. You can make your own
using an 8-pin MicroMaTch connector on one end
and a set of four pins on the other.
. Plug the 8-pin end of the programming cable
to the matching connector on the TeleDongle
v0.2 or TeleBT v1.0, and the 4-pins into the
- holes in the TeleMini circuit board. Note
+ holes in the TeleMini v1.0 circuit board. Note
that the MicroMaTch connector has an
alignment pin that goes through a hole in
the PC board when you have the cable
oriented correctly, and that pin 1 on the
- TeleMini board is marked with a square pad
+ TeleMini v1.0 board is marked with a square pad
while the other pins have round pads.
- . Attach a battery to the TeleMini board.
+ . Attach a battery to the TeleMini v1.0 board.
. Plug the TeleDongle v0.2 or TeleBT v1.0 into
your computer's USB port, and power up the
- TeleMini
+ TeleMini v1.0
. Run AltosUI, and select 'Flash Image' from
the File menu.
programming device.
. Select the image you want put on the
- TeleMini, which should have a name in the
+ TeleMini v1.0, which should have a name in the
form telemini-v1.0-1.0.0.ihx. It should be
visible in the default directory, if not you
may have to poke around your system to find
you'll need to change them.
. Hit the 'OK' button and the software should
- proceed to flash the TeleMini with new
+ proceed to flash the TeleMini v1.0 with new
firmware, showing a progress bar.
- . Confirm that the TeleMini board seems to
+ . Confirm that the TeleMini v1.0 board seems to
have updated OK, which you can do by
configuring it over the radio link through
the TeleDongle, or letting it come up in
==== Updating TeleDongle v0.2 Firmware
Updating TeleDongle v0.2 firmware is just like
- updating TeleMetrum v1.x or TeleMini firmware, but you
+ updating TeleMetrum v1.x or TeleMini v1.0 firmware, but you
use either a TeleMetrum v1.x, TeleDongle v0.2 or
TeleBT v1.0 as the programmer.
TeleMetrum to help ensure that the cabling to
companion boards used in a rocket don't ever come
loose accidentally in flight.
+ endif::telemetrum,telemini[]