From: Bdale Garbee Date: Thu, 3 Jan 2019 07:40:40 +0000 (-0700) Subject: update docs X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=e972505dadf029e0c20a3c672fa722dc6974da68;p=web%2Faltusmetrum update docs --- diff --git a/AltOS/doc/altos.html b/AltOS/doc/altos.html index 7ca6a09..2593c7b 100644 --- a/AltOS/doc/altos.html +++ b/AltOS/doc/altos.html @@ -1,123 +1,349 @@ - -AltOS

AltOS

Altos Metrum Operating System

Keith Packard

- This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. -

Revision History

Table of Contents

1. Overview
2. AltOS Porting Layer
2.1. Low-level CPU operations
2.1.1. ao_arch_block_interrupts/ao_arch_release_interrupts
2.1.2. ao_arch_save_regs, ao_arch_save_stack, ao_arch_restore_stack
2.1.3. ao_arch_wait_interupt
2.2. GPIO operations
2.2.1. GPIO setup
2.2.2. Reading and writing GPIO pins
2.3. 8051 memory spaces
2.3.1. __data
2.3.2. __idata
2.3.3. __xdata
2.3.4. __pdata
2.3.5. __code
2.3.6. __bit
2.3.7. sfr, sfr16, sfr32, sbit
2.4. Function calls on the 8051
2.4.1. __reentrant functions
2.4.2. Non __reentrant functions
2.4.3. __interrupt functions
2.4.4. __critical functions and statements
3. Task functions
3.1. ao_add_task
3.2. ao_exit
3.3. ao_sleep
3.4. ao_wakeup
3.5. ao_alarm
3.6. ao_start_scheduler
3.7. ao_clock_init
4. Timer Functions
4.1. ao_time
4.2. ao_delay
4.3. ao_timer_set_adc_interval
4.4. ao_timer_init
5. AltOS Mutexes
5.1. ao_mutex_get
5.2. ao_mutex_put
6. DMA engine
6.1. CC1111 DMA Engine
6.1.1. ao_dma_alloc
6.1.2. ao_dma_set_transfer
6.1.3. ao_dma_start
6.1.4. ao_dma_trigger
6.1.5. ao_dma_abort
6.2. STM32L DMA Engine
6.2.1. ao_dma_alloc
6.2.2. ao_dma_set_transfer
6.2.3. ao_dma_set_isr
6.2.4. ao_dma_start
6.2.5. ao_dma_done_transfer
6.2.6. ao_dma_abort
7. Stdio interface
7.1. putchar
7.2. getchar
7.3. flush
7.4. ao_add_stdio
8. Command line interface
8.1. ao_cmd_register
8.2. ao_cmd_lex
8.3. ao_cmd_put16
8.4. ao_cmd_put8
8.5. ao_cmd_white
8.6. ao_cmd_hex
8.7. ao_cmd_decimal
8.8. ao_match_word
8.9. ao_cmd_init
9. USB target device
9.1. ao_usb_flush
9.2. ao_usb_putchar
9.3. ao_usb_pollchar
9.4. ao_usb_getchar
9.5. ao_usb_disable
9.6. ao_usb_enable
9.7. ao_usb_init
10. Serial peripherals
10.1. ao_serial_getchar
10.2. ao_serial_putchar
10.3. ao_serial_drain
10.4. ao_serial_set_speed
10.5. ao_serial_init
11. CC1111/CC1120/CC1200 Radio peripheral
11.1. Radio Introduction
11.2. ao_radio_set_telemetry
11.3. ao_radio_set_packet
11.4. ao_radio_set_rdf
11.5. ao_radio_idle
11.6. ao_radio_get
11.7. ao_radio_put
11.8. ao_radio_abort
11.9. Radio Telemetry
11.9.1. ao_radio_send
11.9.2. ao_radio_recv
11.10. Radio Direction Finding
11.10.1. ao_radio_rdf
11.11. Radio Packet Mode
11.11.1. ao_packet_putchar
11.11.2. ao_packet_pollchar
11.11.3. ao_packet_slave_start
11.11.4. ao_packet_slave_stop
11.11.5. ao_packet_slave_init
11.11.6. ao_packet_master_init

Chapter 1. Overview

AltOS is a operating system built for a variety of + + + + + + + + +AltOS + + + +

+
+
+
+ +
+
+
+

License

+
+
+

Copyright © 2018 Bdale Garbee and Keith Packard

+
+
+

This document is released under the terms of the Creative Commons ShareAlike 3.0 License

+
+
+
+
+

1. Overview

+
+
+

AltOS is a operating system built for a variety of microcontrollers used in Altus Metrum devices. It has a simple porting layer for each CPU while providing a convenient operating enviroment for the developer. AltOS currently -supports three different CPUs:

  • -STM32L series from ST Microelectronics. This ARM Cortex-M3 +supports three different CPUs:

    +
+
+
    +
  • +

    STM32L series from ST Microelectronics. This ARM Cortex-M3 based microcontroller offers low power consumption and a wide variety of built-in peripherals. Altus Metrum uses this -in the TeleMega, MegaDongle and TeleLCO projects. -

  • -CC1111 from Texas Instruments. This device includes a +in the TeleMega, MegaDongle and TeleLCO projects.

    +
  • +
  • +

    CC1111 from Texas Instruments. This device includes a fabulous 10mW digital RF transceiver along with an 8051-compatible processor core and a range of peripherals. This is used in the TeleMetrum, TeleMini, TeleDongle and TeleFire projects which share the need for a -small microcontroller and an RF interface. -

  • -ATmega32U4 from Atmel. This 8-bit AVR microcontroller is one +small microcontroller and an RF interface.

    +
  • +
  • +

    ATmega32U4 from Atmel. This 8-bit AVR microcontroller is one of the many used to create Arduino boards. The 32U4 includes a USB interface, making it easy to connect to other computers. Altus Metrum used this in prototypes of the TeleScience and TelePyro boards; those have been switched to -the STM32L which is more capable and cheaper. -

Among the features of AltOS are:

  • -Multi-tasking. While microcontrollers often don’t -provide separate address spaces, it’s often easier to write +the STM32L which is more capable and cheaper.

    +
  • +
+
+
+

Among the features of AltOS are:

+
+
+
    +
  • +

    Multi-tasking. While microcontrollers often don’t +provide separate address spaces, it’s often easier to write code that operates in separate threads instead of tying -everything into one giant event loop. -

  • -Non-preemptive. This increases latency for thread +everything into one giant event loop.

    +
  • +
  • +

    Non-preemptive. This increases latency for thread switching but reduces the number of places where context switching can occur. It also simplifies the operating system design somewhat. Nothing in the target system (rocket flight control) has tight timing requirements, and so this seems like -a reasonable compromise. -

  • -Sleep/wakeup scheduling. Taken directly from ancient +a reasonable compromise.

    +
  • +
  • +

    Sleep/wakeup scheduling. Taken directly from ancient Unix designs, these two provide the fundemental scheduling -primitive within AltOS. -

  • -Mutexes. As a locking primitive, mutexes are easier to -use than semaphores, at least in my experience. -
  • -Timers. Tasks can set an alarm which will abort any +primitive within AltOS.

    +
  • +
  • +

    Mutexes. As a locking primitive, mutexes are easier to +use than semaphores, at least in my experience.

    +
  • +
  • +

    Timers. Tasks can set an alarm which will abort any pending sleep, allowing operations to time-out instead of -blocking forever. -

The device drivers and other subsystems in AltOS are +blocking forever.

+ + +
+
+

The device drivers and other subsystems in AltOS are conventionally enabled by invoking their _init() function from -the main function before that calls +the 'main' function before that calls ao_start_scheduler(). These functions initialize the pin assignments, add various commands to the command processor and may add tasks to the scheduler to handle the device. A typical -main program, thus, looks like:

void
+main program, thus, looks like:

+
+
+
+
void
 main(void)
 {
-        ao_clock_init();
+	ao_clock_init();
 
-        /* Turn on the LED until the system is stable */
-        ao_led_init(LEDS_AVAILABLE);
-        ao_led_on(AO_LED_RED);
-        ao_timer_init();
-        ao_cmd_init();
-        ao_usb_init();
-        ao_monitor_init(AO_LED_GREEN, TRUE);
-        ao_rssi_init(AO_LED_RED);
-        ao_radio_init();
-        ao_packet_slave_init();
-        ao_packet_master_init();
+	/* Turn on the LED until the system is stable */
+	ao_led_init(LEDS_AVAILABLE);
+	ao_led_on(AO_LED_RED);
+	ao_timer_init();
+	ao_cmd_init();
+	ao_usb_init();
+	ao_monitor_init(AO_LED_GREEN, TRUE);
+	ao_rssi_init(AO_LED_RED);
+	ao_radio_init();
+	ao_packet_slave_init();
+	ao_packet_master_init();
 #if HAS_DBG
-        ao_dbg_init();
+	ao_dbg_init();
 #endif
-        ao_config_init();
-        ao_start_scheduler();
-}

As you can see, a long sequence of subsystems are initialized -and then the scheduler is started.

Chapter 2. AltOS Porting Layer

AltOS provides a CPU-independent interface to various common + ao_config_init(); + ao_start_scheduler(); +} +

+
+
+

As you can see, a long sequence of subsystems are initialized +and then the scheduler is started.

+
+
+
+
+

2. AltOS Porting Layer

+
+
+

AltOS provides a CPU-independent interface to various common microcontroller subsystems, including GPIO pins, interrupts, SPI, I2C, USB and asynchronous serial interfaces. By making these CPU-independent, device drivers, generic OS and application code can all be written that work on any supported CPU. Many of the architecture abstraction interfaces are -prefixed with ao_arch.

2.1. Low-level CPU operations

These primitive operations provide the abstraction needed to +prefixed with ao_arch.

+
+
+

2.1. Low-level CPU operations

+
+

These primitive operations provide the abstraction needed to run the multi-tasking framework while providing reliable -interrupt delivery.

2.1.1. ao_arch_block_interrupts/ao_arch_release_interrupts

static inline void
+interrupt delivery.

+
+
+

2.1.1. ao_arch_block_interrupts/ao_arch_release_interrupts

+
+
+
static inline void
 ao_arch_block_interrupts(void);
 
 static inline void
-ao_arch_release_interrupts(void);

These disable/enable interrupt delivery, they may not +ao_arch_release_interrupts(void); +

+
+
+

These disable/enable interrupt delivery, they may not discard any interrupts. Use these for sections of code that must be atomic with respect to any code run from an -interrupt handler.

2.1.2. ao_arch_save_regs, ao_arch_save_stack, ao_arch_restore_stack

static inline void
+interrupt handler.

+
+
+
+

2.1.2. ao_arch_save_regs, ao_arch_save_stack, ao_arch_restore_stack

+
+
+
static inline void
 ao_arch_save_regs(void);
 
 static inline void
 ao_arch_save_stack(void);
 
 static inline void
-ao_arch_restore_stack(void);

These provide all of the support needed to switch +ao_arch_restore_stack(void); +

+
+
+

These provide all of the support needed to switch between tasks.. ao_arch_save_regs must save all CPU registers to the current stack, including the interrupt enable state. ao_arch_save_stack records the current stack location in the current ao_task structure. ao_arch_restore_stack switches back to the saved stack, restores all registers and branches to -the saved return address.

2.1.3. ao_arch_wait_interupt

#define ao_arch_wait_interrupt()

This stops the CPU, leaving clocks and interrupts +the saved return address.

+
+
+
+

2.1.3. ao_arch_wait_interupt

+
+
+
#define ao_arch_wait_interrupt()
+
+
+
+

This stops the CPU, leaving clocks and interrupts enabled. When an interrupt is received, this must wake up and handle the interrupt. ao_arch_wait_interrupt is entered with interrupts disabled to ensure that there is no gap between determining that no task wants to run and idling the CPU. It must sleep the CPU, process interrupts and then -disable interrupts again. If the CPU doesn’t have any +disable interrupts again. If the CPU doesn’t have any reduced power mode, this must at the least allow pending -interrupts to be processed.

2.2. GPIO operations

These functions provide an abstract interface to configure and -manipulate GPIO pins.

2.2.1. GPIO setup

These macros may be invoked at system +interrupts to be processed.

+
+
+
+
+

2.2. GPIO operations

+
+

These functions provide an abstract interface to configure and +manipulate GPIO pins.

+
+
+

2.2.1. GPIO setup

+
+

These macros may be invoked at system initialization time to configure pins as needed for system operation. One tricky aspect is that some chips provide direct access to @@ -126,429 +352,1265 @@ access to a whole register full of pins. To support this, the GPIO macros provide both port+bit and pin arguments. Simply define the arguments needed for the target platform and -leave the others undefined.

ao_enable_output

#define ao_enable_output(port, bit, pin, value)

Set the specified port+bit (also called pin) +leave the others undefined.

+
+
+
ao_enable_output
+
+
+
#define ao_enable_output(port, bit, pin, value)
+
+
+
+

Set the specified port+bit (also called 'pin') for output, initializing to the specified value. The macro must avoid driving the pin -with the opposite value if at all possible.

ao_enable_input

#define ao_enable_input(port, bit, mode)

Sets the specified port/bit to be an input -pin. mode is a combination of one or more of +with the opposite value if at all possible.

+
+
+
+
ao_enable_input
+
+
+
#define ao_enable_input(port, bit, mode)
+
+
+
+

Sets the specified port/bit to be an input +pin. 'mode' is a combination of one or more of the following. Note that some platforms may not support the desired mode. In that case, the value will not be defined so that the -program will fail to compile.

  • -AO_EXTI_MODE_PULL_UP. Apply a pull-up to the -pin; a disconnected pin will read as 1. -
  • -AO_EXTI_MODE_PULL_DOWN. Apply a pull-down to -the pin; a disconnected pin will read as 0. -
  • -0. Don’t apply either a pull-up or +program will fail to compile.

    +
+
+
    +
  • +

    AO_EXTI_MODE_PULL_UP. Apply a pull-up to the +pin; a disconnected pin will read as 1.

    +
  • +
  • +

    AO_EXTI_MODE_PULL_DOWN. Apply a pull-down to +the pin; a disconnected pin will read as 0.

    +
  • +
  • +

    0. Don’t apply either a pull-up or pull-down. A disconnected pin will read an -undetermined value. -

2.2.2. Reading and writing GPIO pins

These macros read and write individual GPIO pins.

ao_gpio_set

#define ao_gpio_set(port, bit, pin, value)

Sets the specified port/bit or pin to -the indicated value

ao_gpio_get

#define ao_gpio_get(port, bit, pin)

Returns either 1 or 0 depending on +undetermined value.

+ + +
+
+
+
+

2.2.2. Reading and writing GPIO pins

+
+

These macros read and write individual GPIO pins.

+
+
+
ao_gpio_set
+
+
+
#define ao_gpio_set(port, bit, pin, value)
+
+
+
+

Sets the specified port/bit or pin to +the indicated value

+
+
+
+
ao_gpio_get
+
+
+
#define ao_gpio_get(port, bit, pin)
+
+
+
+

Returns either 1 or 0 depending on whether the input to the pin is high or low. -== Programming the 8051 with SDCC

The 8051 is a primitive 8-bit processor, designed in the mists +== Programming the 8051 with SDCC

+
+
+

The 8051 is a primitive 8-bit processor, designed in the mists of time in as few transistors as possible. The architecture is highly irregular and includes several separate memory spaces. Furthermore, accessing stack variables is slow, and the stack itself is of limited size. While SDCC papers over the instruction set, it is not completely able to hide the -memory architecture from the application designer.

When built on other architectures, the various SDCC-specific -symbols are #defined as empty strings so they don’t affect the -compiler.

2.3. 8051 memory spaces

The data/xdata/__code memory spaces below were completely +memory architecture from the application designer.

+
+
+

When built on other architectures, the various SDCC-specific +symbols are #defined as empty strings so they don’t affect the +compiler.

+
+
+
+
+
+

2.3. 8051 memory spaces

+
+

The data/xdata/__code memory spaces below were completely separate in the original 8051 design. In the cc1111, this -isn’t true—they all live in a single unified 64kB address -space, and so it’s possible to convert any address into a -unique 16-bit address. SDCC doesn’t know this, and so a -global address to SDCC consumes 3 bytes of memory, 1 byte as +isn’t true—they all live in a single unified 64kB address +space, and so it’s possible to convert any address into a +unique 16-bit address. SDCC doesn’t know this, and so a +'global' address to SDCC consumes 3 bytes of memory, 1 byte as a tag indicating the memory space and 2 bytes of offset within that space. AltOS avoids these 3-byte addresses as much as possible; using them involves a function call per byte access. The result is that nearly every variable declaration is decorated with a memory space identifier which clutters the code but makes the resulting code far smaller and more -efficient.

2.3.1. __data

The 8051 can directly address these 128 bytes of +efficient.

+
+
+

2.3.1. __data

+
+

The 8051 can directly address these 128 bytes of memory. This makes them precious so they should be reserved for frequently addressed values. Oh, just to confuse things further, the 8 general registers in the CPU are actually stored in this memory space. There are -magic instructions to bank switch among 4 banks of +magic instructions to 'bank switch' among 4 banks of these registers located at 0x00 - 0x1F. AltOS uses only the first bank at 0x00 - 0x07, leaving the other 24 -bytes available for other data.

2.3.2. __idata

There are an additional 128 bytes of internal memory +bytes available for other data.

+
+
+
+

2.3.2. __idata

+
+

There are an additional 128 bytes of internal memory that share the same address space as __data but which cannot be directly addressed. The stack normally -occupies this space and so AltOS doesn’t place any -static storage here.

2.3.3. __xdata

This is additional general memory accessed through a +occupies this space and so AltOS doesn’t place any +static storage here.

+
+
+
+

2.3.3. __xdata

+
+

This is additional general memory accessed through a single 16-bit address register. The CC1111F32 has 32kB of memory available here. Most program data should live -in this memory space.

2.3.4. __pdata

This is an alias for the first 256 bytes of __xdata +in this memory space.

+
+
+
+

2.3.4. __pdata

+
+

This is an alias for the first 256 bytes of __xdata memory, but uses a shorter addressing mode with single global 8-bit value for the high 8 bits of the address and any of several 8-bit registers for the low 8 bits. AltOS uses a few bits of this memory, it should -probably use more.

2.3.5. __code

All executable code must live in this address space, but +probably use more.

+
+
+
+

2.3.5. __code

+
+

All executable code must live in this address space, but you can stick read-only data here too. It is addressed -using the 16-bit address register and special code -access opcodes. Anything read-only should live in this space.

2.3.6. __bit

The 8051 has 128 bits of bit-addressible memory that -lives in the data segment from 0x20 through +using the 16-bit address register and special 'code' +access opcodes. Anything read-only should live in this space.

+
+
+
+

2.3.6. __bit

+
+

The 8051 has 128 bits of bit-addressible memory that +lives in the data segment from 0x20 through 0x2f. Special instructions access these bits -in a single atomic operation. This isn’t so much a +in a single atomic operation. This isn’t so much a separate address space as a special addressing mode for -a few bytes in the data segment.

2.3.7. sfr, sfr16, sfr32, sbit

Access to physical registers in the device use this mode +a few bytes in the data segment.

+
+
+
+

2.3.7. sfr, sfr16, sfr32, sbit

+
+

Access to physical registers in the device use this mode which declares the variable name, its type and the address it lives at. No memory is allocated for these -variables.

2.4. Function calls on the 8051

Because stack addressing is expensive, and stack space +variables.

+
+
+
+
+

2.4. Function calls on the 8051

+
+

Because stack addressing is expensive, and stack space limited, the default function call declaration in SDCC allocates all parameters and local variables in static global memory. Just like fortran. This makes these functions non-reentrant, and also consume space for parameters and locals even when they are not running. The benefit is smaller -code and faster execution.

2.4.1. __reentrant functions

All functions which are re-entrant, either due to recursion +code and faster execution.

+
+
+

2.4.1. __reentrant functions

+
+

All functions which are re-entrant, either due to recursion or due to a potential context switch while executing, should be marked as __reentrant so that their parameters and local variables get allocated on the stack. This ensures that these values are not overwritten by another invocation of -the function.

Functions which use significant amounts of space for +the function.

+
+
+

Functions which use significant amounts of space for arguments and/or local variables and which are not often invoked can also be marked as __reentrant. The resulting code will be larger, but the savings in memory are -frequently worthwhile.

2.4.2. Non __reentrant functions

All parameters and locals in non-reentrant functions can +frequently worthwhile.

+
+
+
+

2.4.2. Non __reentrant functions

+
+

All parameters and locals in non-reentrant functions can have data space decoration so that they are allocated in -xdata, pdata or data space as desired. This can avoid -consuming data space for infrequently used variables in -frequently used functions.

All library functions called by SDCC, including functions +xdata, pdata or data space as desired. This can avoid +consuming data space for infrequently used variables in +frequently used functions.

+
+
+

All library functions called by SDCC, including functions for multiplying and dividing large data types, are non-reentrant. Because of this, interrupt handlers must not invoke any library functions, including the multiply and -divide code.

2.4.3. __interrupt functions

Interrupt functions are declared with with an __interrupt +divide code.

+
+
+
+

2.4.3. __interrupt functions

+
+

Interrupt functions are declared with with an __interrupt decoration that includes the interrupt number. SDCC saves and restores all of the registers in these functions and -uses the reti instruction at the end so that they operate +uses the 'reti' instruction at the end so that they operate as stand-alone interrupt handlers. Interrupt functions may -call the ao_wakeup function to wake AltOS tasks.

2.4.4. __critical functions and statements

SDCC has built-in support for suspending interrupts during -critical code. Functions marked as critical will have +call the ao_wakeup function to wake AltOS tasks.

+
+
+
+

2.4.4. __critical functions and statements

+
+

SDCC has built-in support for suspending interrupts during +critical code. Functions marked as critical will have interrupts suspended for the whole period of execution. Individual statements may also be marked as -critical which blocks interrupts during the execution of +critical which blocks interrupts during the execution of that statement. Keeping critical sections as short as possible is key to ensuring that interrupts are handled as -quickly as possible. AltOS doesn’t use this form in shared -code as other compilers wouldn’t know what to do. Use -ao_arch_block_interrupts and ao_arch_release_interrupts instead.

Chapter 3. Task functions

This chapter documents how to create, destroy and schedule -AltOS tasks.

3.1. ao_add_task

void
+quickly as possible. AltOS doesn’t use this form in shared
+code as other compilers wouldn’t know what to do. Use
+ao_arch_block_interrupts and ao_arch_release_interrupts instead.

+
+
+
+
+
+
+

3. Task functions

+
+
+

This chapter documents how to create, destroy and schedule +AltOS tasks.

+
+
+

3.1. ao_add_task

+
+
+
void
 ao_add_task(__xdata struct ao_task * task,
-            void (*start)(void),
-            __code char *name);

This initializes the statically allocated task structure, + void (*start)(void), + __code char *name); +

+
+
+

This initializes the statically allocated task structure, assigns a name to it (not used for anything but the task display), and the start address. It does not switch to the -new task. start must not ever return; there is no place -to return to.

3.2. ao_exit

void
-ao_exit(void)

This terminates the current task.

3.3. ao_sleep

void
-ao_sleep(__xdata void *wchan)

This suspends the current task until wchan is signaled +new task. 'start' must not ever return; there is no place +to return to.

+
+
+
+

3.2. ao_exit

+
+
+
void
+ao_exit(void)
+
+
+
+

This terminates the current task.

+
+
+
+

3.3. ao_sleep

+
+
+
void
+ao_sleep(__xdata void *wchan)
+
+
+
+

This suspends the current task until 'wchan' is signaled by ao_wakeup, or until the timeout, set by ao_alarm, -fires. If wchan is signaled, ao_sleep returns 0, otherwise -it returns 1. This is the only way to switch to another task.

Because ao_wakeup wakes every task waiting on a particular +fires. If 'wchan' is signaled, ao_sleep returns 0, otherwise +it returns 1. This is the only way to switch to another task.

+
+
+

Because ao_wakeup wakes every task waiting on a particular location, ao_sleep should be used in a loop that first checks the desired condition, blocks in ao_sleep and then rechecks until the condition is satisfied. If the location may be signaled from an interrupt handler, the code will need to -block interrupts around the block of code. Here’s a complete -example:

ao_arch_block_interrupts();
+block interrupts around the block of code. Here’s a complete
+example:

+
+
+
+
ao_arch_block_interrupts();
 while (!ao_radio_done)
-        ao_sleep(&ao_radio_done);
-ao_arch_release_interrupts();

3.4. ao_wakeup

void
-ao_wakeup(__xdata void *wchan)

Wake all tasks blocked on wchan. This makes them + ao_sleep(&ao_radio_done); +ao_arch_release_interrupts(); +

+
+
+
+

3.4. ao_wakeup

+
+
+
void
+ao_wakeup(__xdata void *wchan)
+
+
+
+

Wake all tasks blocked on 'wchan'. This makes them available to be run again, but does not actually switch -to another task. Here’s an example of using this:

if (RFIF & RFIF_IM_DONE) {
-        ao_radio_done = 1;
-        ao_wakeup(&ao_radio_done);
-        RFIF &= ~RFIF_IM_DONE;
-}

Note that this need not block interrupts as the +to another task. Here’s an example of using this:

+
+
+
+
if (RFIF & RFIF_IM_DONE) {
+	ao_radio_done = 1;
+	ao_wakeup(&ao_radio_done);
+	RFIF &= ~RFIF_IM_DONE;
+}
+
+
+
+

Note that this need not block interrupts as the ao_sleep block can only be run from normal mode, and so this sequence can never be interrupted with -execution of the other sequence.

3.5. ao_alarm

void
+execution of the other sequence.

+
+
+
+

3.5. ao_alarm

+
+
+
void
 ao_alarm(uint16_t delay);
 
 void
-ao_clear_alarm(void);

Schedules an alarm to fire in at least delay +ao_clear_alarm(void); +

+
+
+

Schedules an alarm to fire in at least 'delay' ticks. If the task is asleep when the alarm fires, it will wakeup and ao_sleep will return 1. ao_clear_alarm -resets any pending alarm so that it doesn’t fire at -some arbitrary point in the future.

ao_alarm(ao_packet_master_delay);
+resets any pending alarm so that it doesn’t fire at
+some arbitrary point in the future.

+
+
+
+
ao_alarm(ao_packet_master_delay);
 ao_arch_block_interrupts();
 while (!ao_radio_dma_done)
 if (ao_sleep(&ao_radio_dma_done) != 0)
 ao_radio_abort();
 ao_arch_release_interrupts();
-ao_clear_alarm();

In this example, a timeout is set before waiting for +ao_clear_alarm(); +

+
+
+

In this example, a timeout is set before waiting for incoming radio data. If no data is received before the timeout fires, ao_sleep will return 1 and then this -code will abort the radio receive operation.

3.6. ao_start_scheduler

void
-ao_start_scheduler(void);

This is called from main when the system is all -initialized and ready to run. It will not return.

3.7. ao_clock_init

void
-ao_clock_init(void);

This initializes the main CPU clock and switches to it.

Chapter 4. Timer Functions

AltOS sets up one of the CPU timers to run at 100Hz and +code will abort the radio receive operation.

+
+
+
+

3.6. ao_start_scheduler

+
+
+
void
+ao_start_scheduler(void);
+
+
+
+

This is called from 'main' when the system is all +initialized and ready to run. It will not return.

+
+
+
+

3.7. ao_clock_init

+
+
+
void
+ao_clock_init(void);
+
+
+
+

This initializes the main CPU clock and switches to it.

+
+
+
+
+
+

4. Timer Functions

+
+
+

AltOS sets up one of the CPU timers to run at 100Hz and exposes this tick as the fundemental unit of time. At each interrupt, AltOS increments the counter, and schedules any tasks waiting for that time to pass, then fires off the sensors to collect current data readings. Doing this from the ISR ensures that the values are sampled at a regular rate, independent -of any scheduling jitter.

4.1. ao_time

uint16_t
-ao_time(void)

Returns the current system tick count. Note that this is -only a 16 bit value, and so it wraps every 655.36 seconds.

4.2. ao_delay

void
-ao_delay(uint16_t ticks);

Suspend the current task for at least ticks clock units.

4.3. ao_timer_set_adc_interval

void
-ao_timer_set_adc_interval(uint8_t interval);

This sets the number of ticks between ADC samples. If set +of any scheduling jitter.

+
+
+

4.1. ao_time

+
+
+
uint16_t
+ao_time(void)
+
+
+
+

Returns the current system tick count. Note that this is +only a 16 bit value, and so it wraps every 655.36 seconds.

+
+
+
+

4.2. ao_delay

+
+
+
void
+ao_delay(uint16_t ticks);
+
+
+
+

Suspend the current task for at least 'ticks' clock units.

+
+
+
+

4.3. ao_timer_set_adc_interval

+
+
+
void
+ao_timer_set_adc_interval(uint8_t interval);
+
+
+
+

This sets the number of ticks between ADC samples. If set to 0, no ADC samples are generated. AltOS uses this to -slow down the ADC sampling rate to save power.

4.4. ao_timer_init

void
-ao_timer_init(void)

This turns on the 100Hz tick. It is required for any of the -time-based functions to work. It should be called by main -before ao_start_scheduler.

Chapter 5. AltOS Mutexes

AltOS provides mutexes as a basic synchronization primitive. Each +slow down the ADC sampling rate to save power.

+
+
+
+

4.4. ao_timer_init

+
+
+
void
+ao_timer_init(void)
+
+
+
+

This turns on the 100Hz tick. It is required for any of the +time-based functions to work. It should be called by 'main' +before ao_start_scheduler.

+
+
+
+
+
+

5. AltOS Mutexes

+
+
+

AltOS provides mutexes as a basic synchronization primitive. Each mutexes is simply a byte of memory which holds 0 when the mutex is free or the task id of the owning task when the mutex is owned. Mutex calls are checked—attempting to acquire a mutex already held by the current task or releasing a mutex not held -by the current task will both cause a panic.

5.1. ao_mutex_get

void
-ao_mutex_get(__xdata uint8_t *mutex);

Acquires the specified mutex, blocking if the mutex is -owned by another task.

5.2. ao_mutex_put

void
-ao_mutex_put(__xdata uint8_t *mutex);

Releases the specified mutex, waking up all tasks waiting -for it.

Chapter 6. DMA engine

The CC1111 and STM32L both contain a useful bit of extra +by the current task will both cause a panic.

+
+
+

5.1. ao_mutex_get

+
+
+
void
+ao_mutex_get(__xdata uint8_t *mutex);
+
+
+
+

Acquires the specified mutex, blocking if the mutex is +owned by another task.

+
+
+
+

5.2. ao_mutex_put

+
+
+
void
+ao_mutex_put(__xdata uint8_t *mutex);
+
+
+
+

Releases the specified mutex, waking up all tasks waiting +for it.

+
+
+
+
+
+

6. DMA engine

+
+
+

The CC1111 and STM32L both contain a useful bit of extra hardware in the form of a number of programmable DMA engines. They can be configured to copy data in memory, or between memory and devices (or even between two devices). AltOS exposes a general interface to this hardware and uses it to -handle both internal and external devices.

Because the CC1111 and STM32L DMA engines are different, the +handle both internal and external devices.

+
+
+

Because the CC1111 and STM32L DMA engines are different, the interface to them is also different. As the DMA engines are currently used to implement platform-specific drivers, this -isn’t yet a problem.

Code using a DMA engine should allocate one at startup +isn’t yet a problem.

+
+
+

Code using a DMA engine should allocate one at startup time. There is no provision to free them, and if you run out, -AltOS will simply panic.

During operation, the DMA engine is initialized with the +AltOS will simply panic.

+
+
+

During operation, the DMA engine is initialized with the transfer parameters. Then it is started, at which point it awaits a suitable event to start copying data. When copying data from hardware to memory, that trigger event is supplied by the hardware device. When copying data from memory to hardware, the -transfer is usually initiated by software.

6.1. CC1111 DMA Engine

6.1.1. ao_dma_alloc

uint8_t
-ao_dma_alloc(__xdata uint8_t *done)

Allocate a DMA engine, returning the -identifier. done is cleared when the DMA is +transfer is usually initiated by software.

+
+
+

6.1. CC1111 DMA Engine

+
+

6.1.1. ao_dma_alloc

+
+
+
uint8_t
+ao_dma_alloc(__xdata uint8_t *done)
+
+
+
+

Allocate a DMA engine, returning the +identifier. 'done' is cleared when the DMA is started, and then receives the AO_DMA_DONE bit on a successful transfer or the AO_DMA_ABORTED bit if ao_dma_abort was called. Note that it is possible to get both bits if the transfer -was aborted after it had finished.

6.1.2. ao_dma_set_transfer

void
+was aborted after it had finished.

+
+
+
+

6.1.2. ao_dma_set_transfer

+
+
+
void
 ao_dma_set_transfer(uint8_t id,
 void __xdata *srcaddr,
 void __xdata *dstaddr,
 uint16_t count,
 uint8_t cfg0,
-uint8_t cfg1)

Initializes the specified dma engine to copy -data from srcaddr to dstaddr for count +uint8_t cfg1) +

+
+
+

Initializes the specified dma engine to copy +data from 'srcaddr' to 'dstaddr' for 'count' units. cfg0 and cfg1 are values directly out of the CC1111 documentation and tell the DMA engine what the transfer unit size, direction -and step are.

6.1.3. ao_dma_start

void
-ao_dma_start(uint8_t id);

Arm the specified DMA engine and await a +and step are.

+
+
+
+

6.1.3. ao_dma_start

+
+
+
void
+ao_dma_start(uint8_t id);
+
+
+
+

Arm the specified DMA engine and await a signal from either hardware or software to -start transferring data.

6.1.4. ao_dma_trigger

void
-ao_dma_trigger(uint8_t id)

Trigger the specified DMA engine to start -copying data.

6.1.5. ao_dma_abort

void
-ao_dma_abort(uint8_t id)

Terminate any in-progress DMA transaction, -marking its done variable with the -AO_DMA_ABORTED bit.

6.2. STM32L DMA Engine

6.2.1. ao_dma_alloc

uint8_t ao_dma_done[];
+start transferring data.

+
+
+
+

6.1.4. ao_dma_trigger

+
+
+
void
+ao_dma_trigger(uint8_t id)
+
+
+
+

Trigger the specified DMA engine to start +copying data.

+
+
+
+

6.1.5. ao_dma_abort

+
+
+
void
+ao_dma_abort(uint8_t id)
+
+
+
+

Terminate any in-progress DMA transaction, +marking its 'done' variable with the +AO_DMA_ABORTED bit.

+
+
+
+
+

6.2. STM32L DMA Engine

+
+

6.2.1. ao_dma_alloc

+
+
+
uint8_t ao_dma_done[];
 
 void
-ao_dma_alloc(uint8_t index);

Reserve a DMA engine for exclusive use by one -driver.

6.2.2. ao_dma_set_transfer

void
+ao_dma_alloc(uint8_t index);
+
+
+
+

Reserve a DMA engine for exclusive use by one +driver.

+
+
+
+

6.2.2. ao_dma_set_transfer

+
+
+
void
 ao_dma_set_transfer(uint8_t id,
 void *peripheral,
 void *memory,
 uint16_t count,
-uint32_t ccr);

Initializes the specified dma engine to copy -data between peripheral and memory for -count units. ccr is a value directly out +uint32_t ccr); +

+
+
+

Initializes the specified dma engine to copy +data between 'peripheral' and 'memory' for +'count' units. 'ccr' is a value directly out of the STM32L documentation and tells the DMA engine what the transfer unit size, direction -and step are.

6.2.3. ao_dma_set_isr

void
-ao_dma_set_isr(uint8_t index, void (*isr)(int))

This sets a function to be called when the DMA +and step are.

+
+
+
+

6.2.3. ao_dma_set_isr

+
+
+
void
+ao_dma_set_isr(uint8_t index, void (*isr)(int))
+
+
+
+

This sets a function to be called when the DMA transfer completes in lieu of setting the ao_dma_done bits. Use this when some work needs to be done when the DMA finishes that -cannot wait until user space resumes.

6.2.4. ao_dma_start

void
-ao_dma_start(uint8_t id);

Arm the specified DMA engine and await a +cannot wait until user space resumes.

+
+
+
+

6.2.4. ao_dma_start

+
+
+
void
+ao_dma_start(uint8_t id);
+
+
+
+

Arm the specified DMA engine and await a signal from either hardware or software to -start transferring data. ao_dma_done[index] +start transferring data. 'ao_dma_done[index]' is cleared when the DMA is started, and then receives the AO_DMA_DONE bit on a successful transfer or the AO_DMA_ABORTED bit if ao_dma_abort was called. Note that it is possible to get both bits if the transfer was -aborted after it had finished.

6.2.5. ao_dma_done_transfer

void
-ao_dma_done_transfer(uint8_t id);

Signals that a specific DMA engine is done +aborted after it had finished.

+
+
+
+

6.2.5. ao_dma_done_transfer

+
+
+
void
+ao_dma_done_transfer(uint8_t id);
+
+
+
+

Signals that a specific DMA engine is done being used. This allows multiple drivers to -use the same DMA engine safely.

6.2.6. ao_dma_abort

void
-ao_dma_abort(uint8_t id)

Terminate any in-progress DMA transaction, -marking its done variable with the -AO_DMA_ABORTED bit.

Chapter 7. Stdio interface

AltOS offers a stdio interface over USB, serial and the RF +use the same DMA engine safely.

+
+
+
+

6.2.6. ao_dma_abort

+
+
+
void
+ao_dma_abort(uint8_t id)
+
+
+
+

Terminate any in-progress DMA transaction, +marking its 'done' variable with the +AO_DMA_ABORTED bit.

+
+
+
+
+
+
+

7. Stdio interface

+
+
+

AltOS offers a stdio interface over USB, serial and the RF packet link. This provides for control of the device locally or remotely. This is hooked up to the stdio functions by providing the standard putchar/getchar/flush functions. These automatically multiplex the available communication channels; output is always delivered to the channel which provided the -most recent input.

7.1. putchar

void
-putchar(char c)

Delivers a single character to the current console -device.

7.2. getchar

char
-getchar(void)

Reads a single character from any of the available +most recent input.

+
+
+

7.1. putchar

+
+
+
void
+putchar(char c)
+
+
+
+

Delivers a single character to the current console +device.

+
+
+
+

7.2. getchar

+
+
+
char
+getchar(void)
+
+
+
+

Reads a single character from any of the available console devices. The current console device is set to that which delivered this character. This blocks until -a character is available.

7.3. flush

void
-flush(void)

Flushes the current console device output buffer. Any -pending characters will be delivered to the target device.

7.4. ao_add_stdio

void
+a character is available.

+
+
+
+

7.3. flush

+
+
+
void
+flush(void)
+
+
+
+

Flushes the current console device output buffer. Any +pending characters will be delivered to the target device.

+
+
+
+

7.4. ao_add_stdio

+
+
+
void
 ao_add_stdio(char (*pollchar)(void),
 void (*putchar)(char),
-void (*flush)(void))

This adds another console device to the available -list.

pollchar returns either an available character or +void (*flush)(void)) +

+
+
+

This adds another console device to the available +list.

+
+
+

'pollchar' returns either an available character or AO_READ_AGAIN if none is available. Significantly, it does -not block. The device driver must set ao_stdin_ready to +not block. The device driver must set 'ao_stdin_ready' to 1 and call ao_wakeup(&ao_stdin_ready) when it receives input to tell getchar that more data is available, at -which point pollchar will be called again.

putchar queues a character for output, flushing if the output buffer is -full. It may block in this case.

flush forces the output buffer to be flushed. It may +which point 'pollchar' will be called again.

+
+
+

'putchar' queues a character for output, flushing if the output buffer is +full. It may block in this case.

+
+
+

'flush' forces the output buffer to be flushed. It may block until the buffer is delivered, but it is not -required to do so.

Chapter 8. Command line interface

AltOS includes a simple command line parser which is hooked up +required to do so.

+
+
+
+
+
+

8. Command line interface

+
+
+

AltOS includes a simple command line parser which is hooked up to the stdio interfaces permitting remote control of the device over USB, serial or the RF link as desired. Each command uses a single character to invoke it, the remaining characters on the line are available as parameters to the -command.

8.1. ao_cmd_register

void
-ao_cmd_register(__code struct ao_cmds *cmds)

This registers a set of commands with the command +command.

+
+
+

8.1. ao_cmd_register

+
+
+
void
+ao_cmd_register(__code struct ao_cmds *cmds)
+
+
+
+

This registers a set of commands with the command parser. There is a fixed limit on the number of command sets, the system will panic if too many are registered. -Each command is defined by a struct ao_cmds entry:

struct ao_cmds {
-        char            cmd;
-        void            (*func)(void);
-        const char      *help;
-};

cmd is the character naming the command. func is the -function to invoke and help is a string displayed by the -? command. Syntax errors found while executing func +Each command is defined by a struct ao_cmds entry:

+
+
+
+
struct ao_cmds {
+	char		cmd;
+	void		(*func)(void);
+	const char	*help;
+};
+
+
+
+

'cmd' is the character naming the command. 'func' is the +function to invoke and 'help' is a string displayed by the +'?' command. Syntax errors found while executing 'func' should be indicated by modifying the global ao_cmd_status -variable with one of the following values:

-ao_cmd_success -
-The command was parsed successfully. There is no need -to assign this value, it is the default. -
-ao_cmd_lex_error -
-A token in the line was invalid, such as a number +variable with one of the following values:

+
+
+
+
ao_cmd_success
+
+

The command was parsed successfully. There is no need +to assign this value, it is the default.

+
+
ao_cmd_lex_error
+
+

A token in the line was invalid, such as a number containing invalid characters. The low-level lexing -functions already assign this value as needed. -

-ao_syntax_error -
-The command line is invalid for some reason other than -invalid tokens. -

8.2. ao_cmd_lex

void
-ao_cmd_lex(void);

This gets the next character out of the command line +functions already assign this value as needed.

+ +
ao_syntax_error
+
+

The command line is invalid for some reason other than +invalid tokens.

+
+ +
+
+
+

8.2. ao_cmd_lex

+
+
+
void
+ao_cmd_lex(void);
+
+
+
+

This gets the next character out of the command line buffer and sticks it into ao_cmd_lex_c. At the end of -the line, ao_cmd_lex_c will get a newline (\n) -character.

8.3. ao_cmd_put16

void
-ao_cmd_put16(uint16_t v);

Writes v as four hexadecimal characters.

8.4. ao_cmd_put8

void
-ao_cmd_put8(uint8_t v);

Writes v as two hexadecimal characters.

8.5. ao_cmd_white

void
-ao_cmd_white(void)

This skips whitespace by calling ao_cmd_lex while +the line, ao_cmd_lex_c will get a newline ('\n') +character.

+
+
+
+

8.3. ao_cmd_put16

+
+
+
void
+ao_cmd_put16(uint16_t v);
+
+
+
+

Writes 'v' as four hexadecimal characters.

+
+
+
+

8.4. ao_cmd_put8

+
+
+
void
+ao_cmd_put8(uint8_t v);
+
+
+
+

Writes 'v' as two hexadecimal characters.

+
+
+
+

8.5. ao_cmd_white

+
+
+
void
+ao_cmd_white(void)
+
+
+
+

This skips whitespace by calling ao_cmd_lex while ao_cmd_lex_c is either a space or tab. It does not -skip any characters if ao_cmd_lex_c already non-white.

8.6. ao_cmd_hex

void
-ao_cmd_hex(void)

This reads a 16-bit hexadecimal value from the command +skip any characters if ao_cmd_lex_c already non-white.

+
+
+
+

8.6. ao_cmd_hex

+
+
+
void
+ao_cmd_hex(void)
+
+
+
+

This reads a 16-bit hexadecimal value from the command line with optional leading whitespace. The resulting -value is stored in ao_cmd_lex_i;

8.7. ao_cmd_decimal

void
-ao_cmd_decimal(void)

This reads a 32-bit decimal value from the command +value is stored in ao_cmd_lex_i;

+
+
+
+

8.7. ao_cmd_decimal

+
+
+
void
+ao_cmd_decimal(void)
+
+
+
+

This reads a 32-bit decimal value from the command line with optional leading whitespace. The resulting value is stored in ao_cmd_lex_u32 and the low 16 bits -are stored in ao_cmd_lex_i;

8.8. ao_match_word

uint8_t
-ao_match_word(__code char *word)

This checks to make sure that word occurs on the +are stored in ao_cmd_lex_i;

+
+
+
+

8.8. ao_match_word

+
+
+
uint8_t
+ao_match_word(__code char *word)
+
+
+
+

This checks to make sure that 'word' occurs on the command line. It does not skip leading white space. If -word is found, then 1 is returned. Otherwise, +'word' is found, then 1 is returned. Otherwise, ao_cmd_status is set to ao_cmd_syntax_error and 0 is -returned.

8.9. ao_cmd_init

void
-ao_cmd_init(void

Initializes the command system, setting up the +returned.

+
+
+
+

8.9. ao_cmd_init

+
+
+
void
+ao_cmd_init(void
+
+
+
+

Initializes the command system, setting up the built-in commands and adding a task to run the command -processing loop. It should be called by main before -ao_start_scheduler.

Chapter 9. USB target device

AltOS contains a full-speed USB target device driver. It can +processing loop. It should be called by 'main' before +ao_start_scheduler.

+
+
+
+
+
+

9. USB target device

+
+
+

AltOS contains a full-speed USB target device driver. It can be programmed to offer any kind of USB target, but to simplify interactions with a variety of operating systems, AltOS provides only a single target device profile, that of a USB modem which has native drivers for Linux, Windows and Mac OS X. It would be easy to change the code to provide an alternate -target device if necessary.

To the rest of the system, the USB device looks like a simple +target device if necessary.

+
+
+

To the rest of the system, the USB device looks like a simple two-way byte stream. It can be hooked into the command line interface if desired, offering control of the device over the USB link. Alternatively, the functions can be accessed -directly to provide for USB-specific I/O.

9.1. ao_usb_flush

void
-ao_usb_flush(void);

Flushes any pending USB output. This queues an IN +directly to provide for USB-specific I/O.

+
+
+

9.1. ao_usb_flush

+
+
+
void
+ao_usb_flush(void);
+
+
+
+

Flushes any pending USB output. This queues an 'IN' packet to be delivered to the USB host if there is pending data, or if the last IN packet was full to -indicate to the host that there isn’t any more pending -data available.

9.2. ao_usb_putchar

void
-ao_usb_putchar(char c);

If there is a pending IN packet awaiting delivery to +indicate to the host that there isn’t any more pending +data available.

+
+
+
+

9.2. ao_usb_putchar

+
+
+
void
+ao_usb_putchar(char c);
+
+
+
+

If there is a pending 'IN' packet awaiting delivery to the host, this blocks until that has been fetched. Then, this adds a byte to the pending IN packet for delivery to the USB host. If the USB packet -is full, this queues the IN packet for delivery.

9.3. ao_usb_pollchar

char
-ao_usb_pollchar(void);

If there are no characters remaining in the last OUT +is full, this queues the 'IN' packet for delivery.

+
+
+
+

9.3. ao_usb_pollchar

+
+
+
char
+ao_usb_pollchar(void);
+
+
+
+

If there are no characters remaining in the last 'OUT' packet received, this returns AO_READ_AGAIN. Otherwise, it returns the next character, reporting to the host that it is ready for -more data when the last character is gone.

9.4. ao_usb_getchar

char
-ao_usb_getchar(void);

This uses ao_pollchar to receive the next character, -blocking while ao_pollchar returns AO_READ_AGAIN.

9.5. ao_usb_disable

void
-ao_usb_disable(void);

This turns off the USB controller. It will no longer +more data when the last character is gone.

+
+
+
+

9.4. ao_usb_getchar

+
+
+
char
+ao_usb_getchar(void);
+
+
+
+

This uses ao_pollchar to receive the next character, +blocking while ao_pollchar returns AO_READ_AGAIN.

+
+
+
+

9.5. ao_usb_disable

+
+
+
void
+ao_usb_disable(void);
+
+
+
+

This turns off the USB controller. It will no longer respond to host requests, nor return characters. Calling any of the i/o routines while the USB device is disabled is undefined, and likely to break things. Disabling the USB device when not needed -saves power.

Note that neither TeleDongle v0.2 nor TeleMetrum v1 +saves power.

+
+
+

Note that neither TeleDongle v0.2 nor TeleMetrum v1 are able to signal to the USB host that they have -disconnected, so after disabling the USB device, it’s +disconnected, so after disabling the USB device, it’s likely that the cable will need to be disconnected and -reconnected before it will work again.

9.6. ao_usb_enable

void
-ao_usb_enable(void);

This turns the USB controller on again after it has +reconnected before it will work again.

+
+
+
+

9.6. ao_usb_enable

+
+
+
void
+ao_usb_enable(void);
+
+
+
+

This turns the USB controller on again after it has been disabled. See the note above about needing to physically remove and re-insert the cable to get the -host to re-initialize the USB link.

9.7. ao_usb_init

void
-ao_usb_init(void);

This turns the USB controller on, adds a task to +host to re-initialize the USB link.

+
+
+
+

9.7. ao_usb_init

+
+
+
void
+ao_usb_init(void);
+
+
+
+

This turns the USB controller on, adds a task to handle the control end point and adds the usb I/O functions to the stdio system. Call this from main -before ao_start_scheduler.

Chapter 10. Serial peripherals

The CC1111 provides two USART peripherals. AltOS uses one for +before ao_start_scheduler.

+
+
+
+
+
+

10. Serial peripherals

+
+
+

The CC1111 provides two USART peripherals. AltOS uses one for asynch serial data, generally to communicate with a GPS device, and the other for a SPI bus. The UART is configured to operate in 8-bits, no parity, 1 stop bit framing. The default configuration has clock settings for 4800, 9600 and 57600 baud operation. Additional speeds can be added by computing -appropriate clock values.

To prevent loss of data, AltOS provides receive and transmit -fifos of 32 characters each.

10.1. ao_serial_getchar

char
-ao_serial_getchar(void);

Returns the next character from the receive fifo, blocking -until a character is received if the fifo is empty.

10.2. ao_serial_putchar

void
-ao_serial_putchar(char c);

Adds a character to the transmit fifo, blocking if the -fifo is full. Starts transmitting characters.

10.3. ao_serial_drain

void
-ao_serial_drain(void);

Blocks until the transmit fifo is empty. Used internally -when changing serial speeds.

10.4. ao_serial_set_speed

void
-ao_serial_set_speed(uint8_t speed);

Changes the serial baud rate to one of +appropriate clock values.

+
+
+

To prevent loss of data, AltOS provides receive and transmit +fifos of 32 characters each.

+
+
+

10.1. ao_serial_getchar

+
+
+
char
+ao_serial_getchar(void);
+
+
+
+

Returns the next character from the receive fifo, blocking +until a character is received if the fifo is empty.

+
+
+
+

10.2. ao_serial_putchar

+
+
+
void
+ao_serial_putchar(char c);
+
+
+
+

Adds a character to the transmit fifo, blocking if the +fifo is full. Starts transmitting characters.

+
+
+
+

10.3. ao_serial_drain

+
+
+
void
+ao_serial_drain(void);
+
+
+
+

Blocks until the transmit fifo is empty. Used internally +when changing serial speeds.

+
+
+
+

10.4. ao_serial_set_speed

+
+
+
void
+ao_serial_set_speed(uint8_t speed);
+
+
+
+

Changes the serial baud rate to one of AO_SERIAL_SPEED_4800, AO_SERIAL_SPEED_9600 or AO_SERIAL_SPEED_57600. This first flushes the transmit -fifo using ao_serial_drain.

10.5. ao_serial_init

void
-ao_serial_init(void)

Initializes the serial peripheral. Call this from main +fifo using ao_serial_drain.

+
+
+
+

10.5. ao_serial_init

+
+
+
void
+ao_serial_init(void)
+
+
+
+

Initializes the serial peripheral. Call this from 'main' before jumping to ao_start_scheduler. The default speed -setting is AO_SERIAL_SPEED_4800.

Chapter 11. CC1111/CC1120/CC1200 Radio peripheral

11.1. Radio Introduction

The CC1111, CC1120 and CC1200 radio transceiver sends +setting is AO_SERIAL_SPEED_4800.

+
+
+
+
+
+

11. CC1111/CC1120/CC1200 Radio peripheral

+
+
+

11.1. Radio Introduction

+
+

The CC1111, CC1120 and CC1200 radio transceiver sends and receives digital packets with forward error correction and detection. The AltOS driver is fairly specific to the needs of the TeleMetrum and TeleDongle devices, using it for other tasks may require customization of the driver itself. There are three -basic modes of operation:

  1. -Telemetry mode. In this mode, TeleMetrum transmits telemetry +basic modes of operation:

    +
+
+
    +
  1. +

    Telemetry mode. In this mode, TeleMetrum transmits telemetry frames at a fixed rate. The frames are of fixed size. This is strictly a one-way communication from TeleMetrum to -TeleDongle. -

  2. -Packet mode. In this mode, the radio is used to create a +TeleDongle.

    +
  3. +
  4. +

    Packet mode. In this mode, the radio is used to create a reliable duplex byte stream between TeleDongle and TeleMetrum. This is an asymmetrical protocol with TeleMetrum only transmitting in response to a packet sent @@ -556,80 +1618,298 @@ from TeleDongle. Thus getting data from TeleMetrum to TeleDongle requires polling. The polling rate is adaptive, when no data has been received for a while, the rate slows down. The packets are checked at both ends and invalid data -are ignored. -

On the TeleMetrum side, the packet link is hooked into the +are ignored.

+ + +
+
+

On the TeleMetrum side, the packet link is hooked into the stdio mechanism, providing an alternate data path for the command processor. It is enabled when the unit boots up in -idle mode.

On the TeleDongle side, the packet link is enabled with a +'idle' mode.

+
+
+

On the TeleDongle side, the packet link is enabled with a command; data from the stdio package is forwarded over the packet link providing a connection from the USB command -stream to the remote TeleMetrum device.

  1. -Radio Direction Finding mode. In this mode, TeleMetrum +stream to the remote TeleMetrum device.

    +
+
+
    +
  1. +

    Radio Direction Finding mode. In this mode, TeleMetrum constructs a special packet that sounds like an audio tone when received by a conventional narrow-band FM receiver. This is designed to provide a beacon to track the -device when other location mechanisms fail. -

11.2. ao_radio_set_telemetry

void
-ao_radio_set_telemetry(void);

Configures the radio to send or receive telemetry +device when other location mechanisms fail.

+ + +
+
+
+

11.2. ao_radio_set_telemetry

+
+
+
void
+ao_radio_set_telemetry(void);
+
+
+
+

Configures the radio to send or receive telemetry packets. This includes packet length, modulation scheme and other RF parameters. It does not include the base frequency or channel though. Those are set at the time of transmission -or reception, in case the values are changed by the user.

11.3. ao_radio_set_packet

void
-ao_radio_set_packet(void);

Configures the radio to send or receive packet data. This +or reception, in case the values are changed by the user.

+
+
+
+

11.3. ao_radio_set_packet

+
+
+
void
+ao_radio_set_packet(void);
+
+
+
+

Configures the radio to send or receive packet data. This includes packet length, modulation scheme and other RF parameters. It does not include the base frequency or channel though. Those are set at the time of transmission or -reception, in case the values are changed by the user.

11.4. ao_radio_set_rdf

void
-ao_radio_set_rdf(void);

Configures the radio to send RDF packets. An RDF packet +reception, in case the values are changed by the user.

+
+
+
+

11.4. ao_radio_set_rdf

+
+
+
void
+ao_radio_set_rdf(void);
+
+
+
+

Configures the radio to send RDF 'packets'. An RDF 'packet' is a sequence of hex 0x55 bytes sent at a base bit rate of 2kbps using a 5kHz deviation. All of the error correction and data whitening logic is turned off so that the resulting modulation is received as a 1kHz tone by a conventional 70cm -FM audio receiver.

11.5. ao_radio_idle

void
-ao_radio_idle(void);

Sets the radio device to idle mode, waiting until it reaches +FM audio receiver.

+
+
+
+

11.5. ao_radio_idle

+
+
+
void
+ao_radio_idle(void);
+
+
+
+

Sets the radio device to idle mode, waiting until it reaches that state. This will terminate any in-progress transmit or -receive operation.

11.6. ao_radio_get

void
-ao_radio_get(void);

Acquires the radio mutex and then configures the radio +receive operation.

+
+
+
+

11.6. ao_radio_get

+
+
+
void
+ao_radio_get(void);
+
+
+
+

Acquires the radio mutex and then configures the radio frequency using the global radio calibration and channel -values.

11.7. ao_radio_put

void
-ao_radio_put(void);

Releases the radio mutex.

11.8. ao_radio_abort

void
-ao_radio_abort(void);

Aborts any transmission or reception process by aborting the +values.

+
+
+
+

11.7. ao_radio_put

+
+
+
void
+ao_radio_put(void);
+
+
+
+

Releases the radio mutex.

+
+
+
+

11.8. ao_radio_abort

+
+
+
void
+ao_radio_abort(void);
+
+
+
+

Aborts any transmission or reception process by aborting the associated DMA object and calling ao_radio_idle to terminate -the radio operation.

11.9. Radio Telemetry

In telemetry mode, you can send or receive a telemetry +the radio operation.

+
+
+
+

11.9. Radio Telemetry

+
+

In telemetry mode, you can send or receive a telemetry packet. The data from receiving a packet also includes the RSSI and status values supplied by the receiver. These are added -after the telemetry data.

11.9.1. ao_radio_send

void
-ao_radio_send(__xdata struct ao_telemetry *telemetry);

This sends the specific telemetry packet, waiting for the +after the telemetry data.

+
+
+

11.9.1. ao_radio_send

+
+
+
void
+ao_radio_send(__xdata struct ao_telemetry *telemetry);
+
+
+
+

This sends the specific telemetry packet, waiting for the transmission to complete. The radio must have been set to telemetry mode. This function calls ao_radio_get() before sending, and ao_radio_put() afterwards, to correctly -serialize access to the radio device.

11.9.2. ao_radio_recv

void
-ao_radio_recv(__xdata struct ao_radio_recv *radio);

This blocks waiting for a telemetry packet to be received. +serialize access to the radio device.

+
+
+
+

11.9.2. ao_radio_recv

+
+
+
void
+ao_radio_recv(__xdata struct ao_radio_recv *radio);
+
+
+
+

This blocks waiting for a telemetry packet to be received. The radio must have been set to telemetry mode. This function calls ao_radio_get() before receiving, and ao_radio_put() afterwards, to correctly serialize access to the radio device. This returns non-zero if a packet was received, or zero if the operation was aborted (from some -other task calling ao_radio_abort()).

11.10. Radio Direction Finding

In radio direction finding mode, there’s just one function to -use

11.10.1. ao_radio_rdf

void
-ao_radio_rdf(int ms);

This sends an RDF packet lasting for the specified amount -of time. The maximum length is 1020 ms.

11.11. Radio Packet Mode

Packet mode is asymmetrical and is configured at compile time +other task calling ao_radio_abort()).

+
+
+
+
+

11.10. Radio Direction Finding

+
+

In radio direction finding mode, there’s just one function to +use

+
+
+

11.10.1. ao_radio_rdf

+
+
+
void
+ao_radio_rdf(int ms);
+
+
+
+

This sends an RDF packet lasting for the specified amount +of time. The maximum length is 1020 ms.

+
+
+
+
+

11.11. Radio Packet Mode

+
+

Packet mode is asymmetrical and is configured at compile time for either master or slave mode (but not both). The basic I/O functions look the same at both ends, but the internals are -different, along with the initialization steps.

11.11.1. ao_packet_putchar

void
-ao_packet_putchar(char c);

If the output queue is full, this first blocks waiting for +different, along with the initialization steps.

+
+
+

11.11.1. ao_packet_putchar

+
+
+
void
+ao_packet_putchar(char c);
+
+
+
+

If the output queue is full, this first blocks waiting for that data to be delivered. Then, queues a character for packet transmission. On the master side, this will transmit a packet if the output buffer is full. On the slave side, any pending data will be sent the next time -the master polls for data.

11.11.2. ao_packet_pollchar

char
-ao_packet_pollchar(void);

This returns a pending input character if available, +the master polls for data.

+
+
+
+

11.11.2. ao_packet_pollchar

+
+
+
char
+ao_packet_pollchar(void);
+
+
+
+

This returns a pending input character if available, otherwise returns AO_READ_AGAIN. On the master side, if -this empties the buffer, it triggers a poll for more data.

11.11.3. ao_packet_slave_start

void
-ao_packet_slave_start(void);

This is available only on the slave side and starts a task -to listen for packet data.

11.11.4. ao_packet_slave_stop

void
-ao_packet_slave_stop(void);

Disables the packet slave task, stopping the radio receiver.

11.11.5. ao_packet_slave_init

void
-ao_packet_slave_init(void);

Adds the packet stdio functions to the stdio package so +this empties the buffer, it triggers a poll for more data.

+
+
+
+

11.11.3. ao_packet_slave_start

+
+
+
void
+ao_packet_slave_start(void);
+
+
+
+

This is available only on the slave side and starts a task +to listen for packet data.

+
+
+
+

11.11.4. ao_packet_slave_stop

+
+
+
void
+ao_packet_slave_stop(void);
+
+
+
+

Disables the packet slave task, stopping the radio receiver.

+
+
+
+

11.11.5. ao_packet_slave_init

+
+
+
void
+ao_packet_slave_init(void);
+
+
+
+

Adds the packet stdio functions to the stdio package so that when packet slave mode is enabled, characters will -get send and received through the stdio functions.

11.11.6. ao_packet_master_init

void
-ao_packet_master_init(void);

Adds the p packet forward command to start packet mode.

\ No newline at end of file +get send and received through the stdio functions.

+
+
+
+

11.11.6. ao_packet_master_init

+
+
+
void
+ao_packet_master_init(void);
+
+
+
+

Adds the 'p' packet forward command to start packet mode.

+
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/AltOS/doc/altos.pdf b/AltOS/doc/altos.pdf index 26411ba..19ed050 100644 Binary files a/AltOS/doc/altos.pdf and b/AltOS/doc/altos.pdf differ diff --git a/AltOS/doc/altusmetrum.html b/AltOS/doc/altusmetrum.html index 8f5fccf..eb3f0f7 100644 --- a/AltOS/doc/altusmetrum.html +++ b/AltOS/doc/altusmetrum.html @@ -1,54 +1,311 @@ - -The Altus Metrum System

The Altus Metrum System

An Owner's Manual for Altus Metrum Rocketry Electronics

- -

Bdale Garbee

Keith Packard

Bob Finch

Anthony Towns

- This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. -

Revision History

Acknowledgments

Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The + + + + + + + + + +The Altus Metrum System: An Owner’s Manual for Altus Metrum Rocketry Electronics + + + +

+
+
+
+ +
+
+
+

License

+
+
+

Copyright © 2018 Bdale Garbee and Keith Packard

+
+
+

This document is released under the terms of the Creative Commons ShareAlike 3.0 License

+
+
+
+
+

Acknowledgments

+
+
+

Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter Kit” which formed the basis of the original Getting Started chapter in this manual. Bob was one of our first customers for a production TeleMetrum, and his continued enthusiasm and contributions -are immensely gratifying and highly appreciated!

And thanks to Anthony (AJ) Towns for major contributions including +are immensely gratifying and highly appreciated!

+
+
+

And thanks to Anthony (AJ) Towns for major contributions including the AltosUI graphing and site map code and associated documentation. Free software means that our customers and friends can become our collaborators, and we certainly appreciate this level of -contribution!

Have fun using these products, and we hope to meet all of you -out on the rocket flight line somewhere.

Bdale Garbee, KB0G
-NAR #87103, TRA #12201

Keith Packard, KD7SQG
-NAR #88757, TRA #12200

Table of Contents

1. Introduction and Overview
2. Getting Started
2.1. Batteries
2.2. Ground Station Hardware
2.3. Linux/Mac/Windows Ground Station Software
2.4. Android Ground Station Software
3. Using Altus Metrum Hardware
3.1. Wiring and Electrical Interference
3.2. Hooking Up Lithium Polymer Batteries
3.3. Hooking Up Pyro Charges
3.4. Hooking Up a Power Switch
3.5. Understanding Beeps
3.6. Turning On the Power
3.7. Using an External Active Switch Circuit
3.8. Using a Separate Pyro Battery
3.9. Using a Different Kind of Battery
3.10. Using Packet Link Mode
4. TeleMetrum
4.1. TeleMetrum Screw Terminals
4.2. Using a Separate Pyro Battery with TeleMetrum
4.3. Using an Active Switch with TeleMetrum
5. TeleMini
5.1. TeleMini v3 Screw Terminals
5.2. Using a Separate Pyro Battery with TeleMini v3
5.3. Using an Active Switch with TeleMini v3
5.4. Using Packet Link Mode with TeleMini
5.5. Forcing TeleMini radio parameters to known defaults
5.6. TeleMini v1
6. EasyMini
6.1. EasyMini Screw Terminals
6.2. Connecting A Battery To EasyMini
6.3. Charging Lithium Batteries
6.4. Using a Separate Pyro Battery with EasyMini
6.5. Using an Active Switch with EasyMini
7. TeleMega
7.1. TeleMega Screw Terminals
7.2. Using a Separate Pyro Battery with TeleMega
7.3. Using Only One Battery With TeleMega
7.4. Using an Active Switch with TeleMega
8. EasyMega
8.1. EasyMega Screw Terminals
8.2. Using a Separate Pyro Battery with EasyMega
8.3. Using Only One Battery With EasyMega
8.4. Using an Active Switch with EasyMega
9. Installation
10. Using Altus Metrum Products
10.1. Being Legal
10.2. In the Rocket
10.3. On the Ground
10.4. Data Analysis
10.5. Future Plans
11. AltosUI
11.1. Monitor Flight
11.1.1. Launch Pad
11.1.2. Ascent
11.1.3. Descent
11.1.4. Landed
11.1.5. Table
11.1.6. Site Map
11.1.7. Igniter
11.2. Save Flight Data
11.3. Replay Flight
11.4. Graph Data
11.4.1. Flight Graph
11.4.2. Configure Graph
11.4.3. Flight Statistics
11.4.4. Map
11.5. Export Data
11.5.1. Comma Separated Value Format
11.5.2. Keyhole Markup Language (for Google Earth)
11.6. Configure Altimeter
11.6.1. Main Deploy Altitude
11.6.2. Apogee Delay
11.6.3. Apogee Lockout
11.6.4. Frequency
11.6.5. RF Calibration
11.6.6. Telemetry/RDF/APRS Enable
11.6.7. Telemetry baud rate
11.6.8. APRS Interval
11.6.9. APRS SSID
11.6.10. APRS Format
11.6.11. Callsign
11.6.12. Maximum Flight Log Size
11.6.13. Ignitor Firing Mode
11.6.14. Pad Orientation
11.6.15. Beeper Frequency
11.6.16. Logging Trigger Motion
11.6.17. Position Reporting Interval
11.6.18. Calibrate Accelerometer
11.6.19. Configure Pyro Channels
11.7. Configure AltosUI
11.7.1. Voice Settings
11.7.2. Log Directory
11.7.3. Callsign
11.7.4. Imperial Units
11.7.5. Serial Debug
11.7.6. Font size
11.7.7. Look & feel
11.7.8. Menu position
11.7.9. Map Cache Size
11.7.10. Manage Frequencies
11.8. Configure Groundstation
11.8.1. Frequency
11.8.2. RF Calibration
11.8.3. Telemetry Rate
11.9. Flash Image
11.10. Fire Igniter
11.11. Scan Channels
11.12. Load Maps
11.13. Monitor Idle
12. AltosDroid
12.1. Installing AltosDroid
12.2. Charging TeleBT Battery
12.3. Connecting to TeleBT over Bluetooth™
12.4. Connecting to TeleDongle or TeleBT over USB
12.5. AltosDroid Menu
12.6. Setup
12.7. Idle Mode
12.8. AltosDroid Flight Monitoring
12.9. Pad
12.10. Flight
12.11. Recover
12.12. Map
12.13. Downloading Flight Logs
A. System Operation
A.1. Firmware Modes
A.2. GPS
A.3. Controlling An Altimeter Over The Radio Link
A.4. Ground Testing
A.5. Radio Link
A.6. APRS
A.7. Configurable Parameters
B. Handling Precautions
C. Updating Device Firmware
C.1. Updating TeleMega, TeleMetrum v2, EasyMega, EasyMini or TeleDongle v3 Firmware
C.1.1. Recovering From Self-Flashing Failure
C.2. Pair Programming
C.2.1. Updating TeleMetrum v1.x Firmware
C.2.2. Updating TeleMini v1.0 Firmware
C.2.3. Updating TeleDongle v0.2 Firmware
D. Flight Data Recording
E. Altus Metrum Hardware Specifications
F. Release Notes
F.1. Release Notes for Version 1.8.7
F.1.1. AltOS
F.1.2. AltosUI, TeleGPS, MicroPeak
F.2. Release Notes for Version 1.8.6
F.2.1. AltOS
F.2.2. AltosUI, TeleGPS
F.2.3. MicroPeak
F.3. Release Notes for Version 1.8.5
F.3.1. AltOS
F.3.2. AltosUI, TeleGPS
F.4. Release Notes for Version 1.8.4
F.4.1. AltOS
F.5. Release Notes for Version 1.8.3
F.5.1. AltOS
F.5.2. AltosUI and TeleGPS Applications
F.6. Release Notes for Version 1.8.2
F.6.1. AltOS
F.6.2. AltosUI and TeleGPS Applications
F.7. Release Notes for Version 1.8.1
F.7.1. AltOS
F.7.2. AltosUI and TeleGPS Applications
F.8. Release Notes for Version 1.8
F.8.1. AltOS
F.8.2. AltosUI and TeleGPS Applications
F.9. Release Notes for Version 1.7
F.9.1. AltOS
F.9.2. AltosUI and TeleGPS Applications
F.10. Release Notes for Version 1.6.8
F.10.1. AltOS
F.10.2. AltosUI, TeleGPS and AltosDroid Applications
F.11. Release Notes for Version 1.6.5
F.11.1. AltOS
F.11.2. AltosUI, TeleGPS and AltosDroid Applications
F.12. Release Notes for Version 1.6.4
F.12.1. AltOS
F.12.2. AltosUI, TeleGPS and AltosDroid Applications
F.12.3. Documentation
F.13. Release Notes for Version 1.6.3
F.13.1. AltOS
F.13.2. AltosUI and TeleGPS Applications
F.13.3. AltosDroid
F.13.4. Documentation
F.14. Release Notes for Version 1.6.2
F.14.1. AltOS
F.14.2. AltosUI and TeleGPS Applications
F.14.3. Documentation
F.15. Release Notes for Version 1.6.1
F.15.1. AltOS
F.15.2. AltosUI and TeleGPS Applications
F.15.3. AltosDroid
F.16. Release Notes for Version 1.6
F.16.1. AltOS
F.16.2. AltosUI and TeleGPS Applications
F.17. Release Notes for Version 1.5
F.17.1. AltOS
F.17.2. AltosUI and TeleGPS Applications
F.18. Release Notes for Version 1.4.2
F.18.1. AltosUI and TeleGPS Applications
F.19. Release Notes for Version 1.4.1
F.19.1. AltosUI and TeleGPS Applications:
F.20. Release Notes for Version 1.4
F.20.1. AltOS
F.20.2. AltosUI Application
F.20.3. TeleGPS Application
F.20.4. Documentation
F.21. Release Notes for Version 1.3.2
F.21.1. AltOS
F.21.2. AltosUI Application
F.22. Release Notes for Version 1.3.1
F.22.1. AltOS
F.22.2. AltosUI Application
F.23. Release Notes for Version 1.3
F.23.1. AltOS
F.23.2. AltosUI Application
F.24. Release Notes for Version 1.2.1
F.24.1. AltOS
F.24.2. AltosUI Application
F.24.3. AltosDroid
F.25. Release Notes for Version 1.2
F.25.1. AltOS
F.25.2. AltosUI and MicroPeak Application
F.26. Release Notes for Version 1.1
F.26.1. AltOS
F.26.2. AltosUI
F.27. Release Notes for Version 1.1
F.27.1. AltOS
F.27.2. AltosUI
F.28. Release Notes for Version 1.0.1
F.28.1. AltOS
F.28.2. AltosUI Application
F.29. Release Notes for Version 0.9.2
F.29.1. AltosUI
F.30. Release Notes for Version 0.9
F.30.1. AltOS
F.30.2. AltosUI Application
F.31. Release Notes for Version 0.8
F.31.1. AltosUI Application:
F.32. Release Notes for Version 0.7.1
F.32.1. AltosUI Application

Chapter 1. Introduction and Overview

Welcome to the Altus Metrum community! Our circuits and software reflect +contribution!

+
+
+

Have fun using these products, and we hope to meet all of you +out on the rocket flight line somewhere.

+
+
+
Bdale Garbee, KB0G
+NAR #87103, TRA #12201
+
+
+
Keith Packard, KD7SQG
+NAR #88757, TRA #12200
+
+
+
+
+

1. Introduction and Overview

+
+
+

Welcome to the Altus Metrum community! Our circuits and software reflect our passion for both hobby rocketry and Free Software. We hope their capabilities and performance will delight you in every way, but by releasing all of our hardware and software designs under open licenses, we also hope to empower you to take as active a role in our collective -future as you wish!

Our goal is to include in this document all of the information required +future as you wish!

+
+
+

Our goal is to include in this document all of the information required to successfully configure and use Altus Metrum products. But documentation is a lot like software in that it can contain "bugs", and can probably always be improved! If you have questions that -aren’t answered in this manual, or just need a little help figuring +aren’t answered in this manual, or just need a little help figuring things out, we strongly suggest joining the Altus Metrum user email list, which you can do by visiting -https://lists.gag.com/mailman/listinfo/altusmetrum. There’s a lot -of useful information in the mailing list archives!

The first device created for our community was TeleMetrum, a dual +https://lists.gag.com/mailman/listinfo/altusmetrum. There’s a lot +of useful information in the mailing list archives!

+
+
+

The first device created for our community was TeleMetrum, a dual deploy altimeter with fully integrated GPS and radio telemetry as standard features, and a “companion interface” that will support optional capabilities in the future. The latest version of TeleMetrum, v2.0, has all of the same features but with -improved sensors and radio to offer increased performance.

Our second device was TeleMini, a dual deploy altimeter with +improved sensors and radio to offer increased performance.

+
+
+

Our second device was TeleMini, a dual deploy altimeter with radio telemetry and radio direction finding. The first version of this device was only 13mm by 38mm (½ inch by 1½ inches) and could fit easily in an 18mm air-frame. The latest version, v3.0, includes a beeper, higher power radio, extended on-board -flight logging and an improved barometric sensor.

TeleMega is our most sophisticated device, including six pyro +flight logging and an improved barometric sensor.

+
+
+

TeleMega is our most sophisticated device, including six pyro channels (four of which are fully programmable), integrated GPS, integrated gyroscopes for staging/air-start inhibit and high -performance telemetry.

EasyMini is a dual-deploy altimeter with logging and built-in -USB data download.

EasyMega is essentially a TeleMega board with the GPS receiver +performance telemetry.

+
+
+

EasyMini is a dual-deploy altimeter with logging and built-in +USB data download.

+
+
+

EasyMega is essentially a TeleMega board with the GPS receiver and telemetry transmitter removed. It offers the same 6 pyro -channels and integrated gyroscopes for staging/air-start inhibit.

TeleDongle v0.2 was our first ground station, providing a USB to RF +channels and integrated gyroscopes for staging/air-start inhibit.

+
+
+

TeleDongle v0.2 was our first ground station, providing a USB to RF interfaces for communicating with the altimeters. Combined with your choice of antenna and notebook computer, TeleDongle and our associated user interface software form a complete ground @@ -56,16 +313,35 @@ station capable of logging and displaying in-flight telemetry, aiding rocket recovery, then processing and archiving flight data for analysis and review. The latest version, TeleDongle v3, has all new electronics with a higher performance radio -for improved range.

For a slightly more portable ground station experience that also +for improved range.

+
+
+

For a slightly more portable ground station experience that also provides direct rocket recovery support, TeleBT offers flight monitoring and data logging using a Bluetooth™ connection between the receiver and an Android device that has the AltosDroid -application installed from the Google Play store.

More products will be added to the Altus Metrum family over time, and +application installed from the Google Play store.

+
+
+

More products will be added to the Altus Metrum family over time, and we currently envision that this will be a single, comprehensive manual -for the entire product family.

Chapter 2. Getting Started

The first thing to do after you open the box is to hook up a -battery and charge it if necessary.

2.1. Batteries

For TeleMetrum, TeleMega and EasyMega, the battery can be charged by plugging it into the +for the entire product family.

+
+
+
+
+

2. Getting Started

+
+
+

The first thing to do after you open the box is to hook up a +battery and charge it if necessary.

+
+
+

2.1. Batteries

+
+

For TeleMetrum, TeleMega and EasyMega, the battery can be charged by plugging it into the corresponding socket of the device and then using the USB -cable to plug the flight computer into your computer’s USB socket. The +cable to plug the flight computer into your computer’s USB socket. The on-board circuitry will charge the battery whenever it is plugged in, because the on-off switch does NOT control the charging circuitry. @@ -73,29 +349,55 @@ The Lithium Polymer TeleMini and EasyMini battery can be charged by disconnecting it from the board and plugging it into a standalone -battery charger such as LipoCharger, and +battery charger such as LipoCharger, and connecting that via a USB cable to a laptop or other -USB power source.

You can also choose to use another battery with +USB power source.

+
+
+

You can also choose to use another battery with EasyMini, anything supplying between 4 and 12 volts should work fine (like a standard 9V battery), but if you are planning to fire pyro charges, ground testing is required to verify that -the battery supplies enough current to fire your chosen e-matches.

Note

On TeleMetrum v1 boards, when the GPS chip is initially +the battery supplies enough current to fire your chosen e-matches.

+
+
+ + + + + +
+Note + +
+

On TeleMetrum v1 boards, when the GPS chip is initially searching for satellites, TeleMetrum will consume more current than it pulls from the USB port, so the battery must be attached in order to get satellite lock. Once GPS is locked, the current consumption goes back down enough to enable charging -while running. So it’s a good idea to fully charge the battery +while running. So it’s a good idea to fully charge the battery as your first item of business so there is no issue getting and maintaining satellite lock. The yellow charge indicator led will go out when the battery is nearly full and the charger goes to trickle charge. It can take several hours to fully recharge a -deeply discharged battery.

TeleMetrum v2.0, TeleMega and EasyMega use a higher power battery charger, +deeply discharged battery.

+
+
+

TeleMetrum v2.0, TeleMega and EasyMega use a higher power battery charger, allowing them to charge the battery while running the board at maximum power. When the battery is charging, or when the board is consuming a lot of power, the red LED will be lit. When the battery is fully charged, the green LED will be lit. When the battery is damaged or missing, both LEDs will be lit, which -appears yellow.

2.2. Ground Station Hardware

There are two ground stations available, the TeleDongle USB to +appears yellow.

+
+
+
+
+
+

2.2. Ground Station Hardware

+
+

There are two ground stations available, the TeleDongle USB to RF interface and the TeleBT Bluetooth/USB to RF interface. If you plug either of these in to your Mac or Linux computer it should “just work”, showing up as a serial port device. Windows systems need @@ -104,7 +406,13 @@ existing USB modem driver will work. We therefore recommend installing our software before plugging in TeleDongle if you are using a Windows computer. If you are using an older version of Linux and are having problems, try moving to a fresher kernel (2.6.33 or -newer).

2.3. Linux/Mac/Windows Ground Station Software

Next you should obtain and install the AltOS software. +newer).

+
+
+
+

2.3. Linux/Mac/Windows Ground Station Software

+
+

Next you should obtain and install the AltOS software. The AltOS distribution includes the AltosUI ground station program, current firmware images for all of the hardware, and a number of standalone utilities @@ -112,122 +420,400 @@ that are rarely needed. Pre-built binary packages are available for Linux, Microsoft Windows, Mac OSX. Full source code and build instructions are also available. The latest version may always be downloaded -from http://altusmetrum.org/AltOS

2.4. Android Ground Station Software

TeleBT can also connect to an Android device over +from http://altusmetrum.org/AltOS

+
+
+
+

2.4. Android Ground Station Software

+
+

TeleBT can also connect to an Android device over BlueTooth or USB. The -AltosDroid +AltosDroid Android application is available from the -Google Play system.

You don’t need a data plan to use AltosDroid, but -without network access, you’ll want to download +Google Play system.

+
+
+

You don’t need a data plan to use AltosDroid, but +without network access, you’ll want to download offline map data before wandering away from the -network.

Chapter 3. Using Altus Metrum Hardware

Here are general instructions for hooking up an Altus Metrum +network.

+
+
+
+
+
+

3. Using Altus Metrum Hardware

+
+
+

Here are general instructions for hooking up an Altus Metrum flight computer. Instructions specific to each model will be -found in the section devoted to that model below.

3.1. Wiring and Electrical Interference

To prevent electrical interference from affecting the -operation of the flight computer, it’s important to always +found in the section devoted to that model below.

+
+
+

3.1. Wiring and Electrical Interference

+
+

To prevent electrical interference from affecting the +operation of the flight computer, it’s important to always twist pairs of wires connected to the board. Twist the switch leads, the pyro leads and the battery leads. This reduces -interference through a mechanism called common mode rejection.

3.2. Hooking Up Lithium Polymer Batteries

All Altus Metrum flight computers have a two pin JST PH +interference through a mechanism called common mode rejection.

+
+
+
+

3.2. Hooking Up Lithium Polymer Batteries

+
+

All Altus Metrum flight computers have a two pin JST PH series connector to connect up a single-cell Lithium Polymer cell (3.7V nominal). You can purchase matching batteries from the Altus Metrum store, or other vendors, or you can make your own. Pin 1 of the connector is positive, pin 2 is negative. Spark Fun sells a cable with the connector attached, which they call a -JST Jumper 2 Wire Assembly

Warning

Many RC vendors also sell lithium polymer batteries with +JST Jumper 2 Wire Assembly

+
+
+ + + + + +
+Warning + +Many RC vendors also sell lithium polymer batteries with this same connector. All that we have found use the opposite polarity, and if you use them that way, you will damage or -destroy the flight computer.

3.3. Hooking Up Pyro Charges

Altus Metrum flight computers always have two screws for -each pyro charge. This means you shouldn’t need to put two +destroy the flight computer. +

+
+
+
+

3.3. Hooking Up Pyro Charges

+
+

Altus Metrum flight computers always have two screws for +each pyro charge. This means you shouldn’t need to put two wires into a screw terminal or connect leads from pyro -charges together externally.

On the flight computer, one lead from each charge is hooked +charges together externally.

+
+
+

On the flight computer, one lead from each charge is hooked to the positive battery terminal through the power switch. The other lead is connected through the pyro circuit, which is connected to the negative battery terminal when the pyro -circuit is fired.

3.4. Hooking Up a Power Switch

Altus Metrum flight computers need an external power switch +circuit is fired.

+
+
+
+

3.4. Hooking Up a Power Switch

+
+

Altus Metrum flight computers need an external power switch to turn them on. This disconnects both the computer and the pyro charges from the battery, preventing the charges from firing when in the Off position. The switch is in-line with -the positive battery terminal.

3.5. Understanding Beeps

Altus Metrum flight computers include a beeper to +the positive battery terminal.

+
+
+
+

3.5. Understanding Beeps

+
+

Altus Metrum flight computers include a beeper to provide information about the state of the system. -TeleMini doesn’t have room for a beeper, so instead it +TeleMini doesn’t have room for a beeper, so instead it uses an LED, which works the same, except for every -beep is replaced with the flash of the LED.

Here’s a short summary of all of the modes and the +beep is replaced with the flash of the LED.

+
+
+

Here’s a short summary of all of the modes and the beeping (or flashing, in the case of TeleMini v1) that accompanies each mode. In the description of the beeping pattern, “dit” means a short beep while "dah" means a long beep (three times as long). “Brap” means -a long dissonant tone.

Table 3.1. AltOS Modes

Mode Name

Abbreviation

Beeps

Description

Startup

S

battery voltage in decivolts

Calibrating sensors, detecting orientation.

Idle

I

dit dit

Ready to accept commands over USB -or radio link.

Pad

P

dit dah dah dit

Waiting for launch. Not listening for commands.

Boost

B

dah dit dit dit

Accelerating upwards.

Fast

F

dit dit dah dit

Decelerating, but moving faster than 200m/s.

Coast

C

dah dit dah dit

Decelerating, moving slower than 200m/s

Drogue

D

dah dit dit

Descending after apogee. Above main height.

Main

M

dah dah

Descending. Below main height.

Landed

L

dit dah dit dit

Stable altitude for at least ten seconds.

Sensor error

X

dah dit dit dah

Error detected during sensor calibration.


Here’s a summary of all of the Pad and Idle mode -indications. In Idle mode, you’ll hear one of these +a long dissonant tone.

+
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. AltOS Modes

Mode Name

Abbreviation

Beeps

Description

Startup

S

battery voltage in decivolts

Calibrating sensors, detecting orientation.

Idle

I

dit dit

Ready to accept commands over USB +or radio link.

Pad

P

dit dah dah dit

Waiting for launch. Not listening for commands.

Boost

B

dah dit dit dit

Accelerating upwards.

Fast

F

dit dit dah dit

Decelerating, but moving faster than 200m/s.

Coast

C

dah dit dah dit

Decelerating, moving slower than 200m/s

Drogue

D

dah dit dit

Descending after apogee. Above main height.

Main

M

dah dah

Descending. Below main height.

Landed

L

dit dah dit dit

Stable altitude for at least ten seconds.

Sensor error

X

dah dit dit dah

Error detected during sensor calibration.

+
+

Here’s a summary of all of the Pad and Idle mode +indications. In Idle mode, you’ll hear one of these just once after the two short dits indicating idle mode. In Pad mode, after the dit dah dah dit -indicating Pad mode, you’ll hear these once every five -seconds.

Table 3.2. Pad/Idle Indications

+ + +
Name Beeps Description

Neither

brap

No continuity detected on either apogee or main igniters.

Apogee

dit

Continuity detected only on apogee igniter.

Main

dit dit

Continuity detected only on main igniter.

Both

dit dit dit

Continuity detected on both igniters.

Storage Full

warble

On-board data logging storage is full. This will +indicating Pad mode, you’ll hear these once every five +seconds.

+ + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Pad/Idle Indications
NameBeepsDescription

Neither

brap

No continuity detected on either apogee or main igniters.

Apogee

dit

Continuity detected only on apogee igniter.

Main

dit dit

Continuity detected only on main igniter.

Both

dit dit dit

Continuity detected on both igniters.

Storage Full

warble

On-board data logging storage is full. This will not prevent the flight computer from safely controlling the flight or transmitting telemetry signals, but no record of the flight will be -stored in on-board flash.

Additional Igniters

four very short beeps

Continuity indication for the four additional pyro +stored in on-board flash.

Additional Igniters

four very short beeps

Continuity indication for the four additional pyro channels on TeleMega and EasyMega. One high tone for no continuity, one low tone for continuity. These are produced after the continuity indicators for the two -primary igniter channels.


For devices with a radio transmitter, in addition to +primary igniter channels.

+
+

For devices with a radio transmitter, in addition to the digital and APRS telemetry signals, you can also receive audio tones with a standard amateur 70cm FM receiver. While on the pad, you will hear -igniter status once every five seconds.

Table 3.3. Pad Radio Indications

Name Beeps Description

Neither

½ second tone

No continuity detected on either apogee or main igniters.

Apogee

dit

Continuity detected only on apogee igniter.

Main

dit dit

Continuity detected only on main igniter.

Both

dit dit dit

Continuity detected on both igniters.


During ascent, the tones will be muted to allow the -telemetry data to consume the full radio bandwidth.

During descent and after landing, a ½ second tone will +igniter status once every five seconds.

+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. Pad Radio Indications
NameBeepsDescription

Neither

½ second tone

No continuity detected on either apogee or main igniters.

Apogee

dit

Continuity detected only on apogee igniter.

Main

dit dit

Continuity detected only on main igniter.

Both

dit dit dit

Continuity detected on both igniters.

+
+

During ascent, the tones will be muted to allow the +telemetry data to consume the full radio bandwidth.

+
+
+

During descent and after landing, a ½ second tone will be transmitted every five seconds. This can be used to find the rocket using RDF techniques when the signal is too weak to receive GPS information via telemetry -or APRS.

3.6. Turning On the Power

Connect a battery and power switch and turn the switch +or APRS.

+
+
+
+

3.6. Turning On the Power

+
+

Connect a battery and power switch and turn the switch to "on". The flight computer will signal power on by reporting the battery voltage and then perform an internal self -test and sensor calibration.

Once the self test and calibration are complete, there +test and sensor calibration.

+
+
+

Once the self test and calibration are complete, there are two modes that an Altus Metrum flight computer can -operate in:

-Flight/Pad -
-The flight computer is waiting to detect +operate in:

+
+
+
+
Flight/Pad
+
+

The flight computer is waiting to detect launch and then fly the rocket. In this mode, the USB link is disabled, and the radio goes into transmit-only mode. The only way to get out of this mode is to power the flight computer down. See below for how to get the flight -computer to come up in Flight/Pad mode at power on. -

-Idle -
-The flight computer is ready to communicate over USB +computer to come up in Flight/Pad mode at power on.

+
+
Idle
+
+

The flight computer is ready to communicate over USB and in packet mode over the radio. You can configure the flight computer, download data or display the current state. See below for how to get the flight -computer to come up in Idle mode at power on. -

For flight computers with accelerometers (TeleMetrum, +computer to come up in Idle mode at power on.

+ + +
+
+

For flight computers with accelerometers (TeleMetrum, EasyMega and TeleMega), the mode is selected by the orientation of the board during the self test interval. If the board is pointing upwards as if ready to fly, it will enter Flight/Pad mode. Otherwise, it will -enter Idle mode.

For EasyMini, if the USB cable is connected to a +enter Idle mode.

+
+
+

For EasyMini, if the USB cable is connected to a computer, it will enter Idle mode. Otherwise, it will -enter Flight/Pad mode.

For TeleMini v1.0, if a packet link is waiting to +enter Flight/Pad mode.

+
+
+

For TeleMini v1.0, if a packet link is waiting to connect when the device is powered on, it will enter -Idle mode, otherwise it will enter Flight/Pad mode.

You can see in Section 3.5, “Understanding Beeps” -how to tell which mode the flight computer is in.

3.7. Using an External Active Switch Circuit

You can use an active switch circuit, such as the +Idle mode, otherwise it will enter Flight/Pad mode.

+
+
+

You can see in Understanding Beeps +how to tell which mode the flight computer is in.

+
+
+
+

3.7. Using an External Active Switch Circuit

+
+

You can use an active switch circuit, such as the Featherweight Magnetic Switch, with any Altus Metrum flight computer. These require three connections, one to the battery, one to the positive power input on the flight computer and one to ground. Find instructions on how to hook these up for each flight computer below. Then follow the instructions that come with your active switch to -connect it up.

3.8. Using a Separate Pyro Battery

As mentioned above in Section 3.3, “Hooking Up Pyro Charges”, one +connect it up.

+
+
+
+

3.8. Using a Separate Pyro Battery

+
+

As mentioned above in Hooking Up Pyro Charges, one lead for each of the pyro charges is connected through the power switch directly to the positive battery terminal. The other lead is connected to the pyro circuit, which connects it to the negative battery terminal when the pyro circuit is fired. The pyro circuit on all of the flight computers is designed to -handle up to 16V.

To use a separate pyro battery, connect the negative pyro +handle up to 16V.

+
+
+

To use a separate pyro battery, connect the negative pyro battery terminal to the flight computer ground terminal, the positive battery terminal to the igniter and the other igniter lead to the negative pyro terminal on the flight @@ -235,29 +821,77 @@ computer. When the pyro channel fires, it will complete the circuit between the negative pyro terminal and the ground terminal, firing the igniter. Specific instructions on how to hook this up for each flight computer will be found -in the section below for that flight computer.

3.9. Using a Different Kind of Battery

EasyMini +in the section below for that flight computer.

+
+
+
+

3.9. Using a Different Kind of Battery

+
+

EasyMini and TeleMini v2 are designed to use either a lithium polymer battery or any other battery producing between 4 and 12 volts, such as a rectangular 9V -battery.

Warning

TeleMega, EasyMega and TeleMetrum are only designed to +battery.

+
+
+ + + + + +
+Warning + +TeleMega, EasyMega and TeleMetrum are only designed to operate off a single-cell Lithium Polymer battery and cannot be used with any other kind. Connecting a different kind of battery to any of these will destroy -the board.

3.10. Using Packet Link Mode

All AltusMetrum flight computers that have a radio can +the board. +

+
+
+
+ +
+

All AltusMetrum flight computers that have a radio can communicate with the ground station software for configuration and other operations using the Packet Link mode. This uses radio communication instead of a USB cable. To set this up, the ground station software must be configured to the correct data rate, frequency -and callsign.

You can monitor Packet Link mode from TeleBT or +and callsign.

+
+
+

You can monitor Packet Link mode from TeleBT or TeleDongle by watching the LEDs. Each time the device transmits, the red LED will flash. When the link is busy, or when the link is not working, the device will transmit 10 times per second, so the LED will flash rapidly. When the link is working and there is no data to send, the link will flash once per second, and the -LED will flash more slowly.

Chapter 4. TeleMetrum

Figure 4.1. TeleMetrum v2 Board

telemetrum-v2.0-th.jpg

Figure 4.2. TeleMetrum v1 Board

telemetrum-v1.1-thside.jpg

TeleMetrum is a 1 inch by 2¾ inch circuit board. It was designed to +LED will flash more slowly.

+
+
+
+
+
+

4. TeleMetrum

+
+
+
+telemetrum v2.0 th +
+
Figure 1. TeleMetrum v2 Board
+
+
+
+telemetrum v1.1 thside +
+
Figure 2. TeleMetrum v1 Board
+
+
+

TeleMetrum is a 1 inch by 2¾ inch circuit board. It was designed to fit inside coupler for 29mm air-frame tubing, but using it in a tube that small in diameter may require some creativity in mounting and wiring to succeed! The presence of an accelerometer means TeleMetrum should @@ -266,35 +900,144 @@ wave UHF wire antenna should be on the nose-cone end of the board. The antenna wire is about 7 inches long, and wiring for a power switch and the e-matches for apogee and main ejection charges depart from the fin can end of the board, meaning an ideal “simple” avionics -bay for TeleMetrum should have at least 10 inches of interior length.

There are two generations of the TeleMetrum design. The -major changes in the v2 generation are:

  • -uBlox GPS chip certified for altitude records -
  • -Higher power radio (40mW vs 10mW) -
  • -APRS support -

Otherwise, they’re the same size, with mounting holes and -screw terminals in the same position.

4.1. TeleMetrum Screw Terminals

TeleMetrum has six screw terminals on the end of the board +bay for TeleMetrum should have at least 10 inches of interior length.

+
+
+

There are two generations of the TeleMetrum design. The +major changes in the v2 generation are:

+
+
+
    +
  • +

    uBlox GPS chip certified for altitude records

    +
  • +
  • +

    Higher power radio (40mW vs 10mW)

    +
  • +
  • +

    APRS support

    +
  • +
+
+
+

Otherwise, they’re the same size, with mounting holes and +screw terminals in the same position.

+
+
+

4.1. TeleMetrum Screw Terminals

+
+

TeleMetrum has six screw terminals on the end of the board opposite the telemetry antenna. Two are for the power switch, and two each for the apogee and main igniter circuits. Using the picture above and starting from the top, -the terminals are as follows:

Table 4.1. TeleMetrum Screw Terminals

Terminal #Terminal NameDescription

1

Switch Output

Switch connection to flight computer

2

Switch Input

Switch connection to positive battery terminal

3

Main +

Main pyro channel common connection to battery

4

Main -

Main pyro channel connection to pyro circuit

5

Apogee +

Apogee pyro channel common connection to battery

6

Apogee -

Apogee pyro channel connection to pyro circuit


4.2. Using a Separate Pyro Battery with TeleMetrum

As described above, using an external pyro battery involves +the terminals are as follows:

+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. TeleMetrum Screw Terminals
Terminal #Terminal NameDescription

1

Switch Output

Switch connection to flight computer

2

Switch Input

Switch connection to positive battery terminal

3

Main

Main pyro channel common connection to battery

4

Main -

Main pyro channel connection to pyro circuit

5

Apogee

Apogee pyro channel common connection to battery

6

Apogee -

Apogee pyro channel connection to pyro circuit

+
+
+

4.2. Using a Separate Pyro Battery with TeleMetrum

+
+

As described above, using an external pyro battery involves connecting the negative battery terminal to the flight computer ground, connecting the positive battery terminal to one of the igniter leads and connecting the other igniter -lead to the per-channel pyro circuit connection.

To connect the negative battery terminal to the TeleMetrum +lead to the per-channel pyro circuit connection.

+
+
+

To connect the negative battery terminal to the TeleMetrum ground, insert a small piece of wire, 24 to 28 gauge stranded, into the GND hole just above the screw terminal -strip and solder it in place.

Connecting the positive battery terminal to the pyro +strip and solder it in place.

+
+
+

Connecting the positive battery terminal to the pyro charges must be done separate from TeleMetrum, by soldering -them together or using some other connector.

The other lead from each pyro charge is then inserted into +them together or using some other connector.

+
+
+

The other lead from each pyro charge is then inserted into the appropriate per-pyro channel screw terminal (terminal 4 for the -Main charge, terminal 6 for the Apogee charge).

4.3. Using an Active Switch with TeleMetrum

As explained above, an external active switch requires three +Main charge, terminal 6 for the Apogee charge).

+
+
+
+

4.3. Using an Active Switch with TeleMetrum

+
+

As explained above, an external active switch requires three connections, one to the positive battery terminal, one to -the flight computer positive input and one to ground.

The positive battery terminal is available on screw terminal +the flight computer positive input and one to ground.

+
+
+

The positive battery terminal is available on screw terminal 2, the positive flight computer input is on terminal 1. To hook a lead to ground, solder a piece of wire, 24 to 28 -gauge stranded, to the GND hole just above terminal 1.

Chapter 5. TeleMini

Figure 5.1. TeleMini v3 Board

telemini-v3.0-top.jpg

telemini-v3.0-bottom.jpg

TeleMini v3 is 0.5 inches by 1.67 inches. It was +gauge stranded, to the GND hole just above terminal 1.

+
+
+
+
+
+

5. TeleMini

+
+
+
+telemini v3.0 top +
+
Figure 3. TeleMini v3 Board
+
+
+
+telemini v3.0 bottom +
+
+
+

TeleMini v3 is 0.5 inches by 1.67 inches. It was designed to fit inside an 18mm air-frame tube, but using it in a tube that small in diameter may require some creativity in mounting and wiring to succeed! Since there is no @@ -305,169 +1048,731 @@ terminals for the power switch are located in the middle of the board. Screw terminals for the e-matches for apogee and main ejection charges depart from the other end of the board, meaning an ideal “simple” avionics bay for TeleMini -should have at least 9 inches of interior length.

5.1. TeleMini v3 Screw Terminals

TeleMini v3 has four screw terminals on the end of the +should have at least 9 inches of interior length.

+
+
+

5.1. TeleMini v3 Screw Terminals

+
+

TeleMini v3 has four screw terminals on the end of the board opposite the telemetry antenna. Two are for the apogee and two are for main igniter circuits. Another two screw terminals are located in the middle of the board for the power switch. Using the picture above and starting from the top for the pyro terminals and from the left for the power switch terminals, the -connections are as follows:

Table 5.1. TeleMini v3 Screw Terminals

Terminal #Terminal NameDescription

1

Apogee -

Apogee pyro channel connection to pyro circuit

2

Apogee

Apogee pyro channel common connection to battery

3

Main -

Main pyro channel connection to pyro circuit

4

Main

Main pyro channel common connection to battery

Left

Switch Output

Switch connection to flight computer

Right

Switch Input

Switch connection to positive battery terminal


5.2. Using a Separate Pyro Battery with TeleMini v3

As described above, using an external pyro battery involves +connections are as follows:

+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. TeleMini v3 Screw Terminals
Terminal #Terminal NameDescription

1

Apogee -

Apogee pyro channel connection to pyro circuit

2

Apogee

Apogee pyro channel common connection to battery

3

Main -

Main pyro channel connection to pyro circuit

4

Main

Main pyro channel common connection to battery

Left

Switch Output

Switch connection to flight computer

Right

Switch Input

Switch connection to positive battery terminal

+
+
+

5.2. Using a Separate Pyro Battery with TeleMini v3

+
+

As described above, using an external pyro battery involves connecting the negative battery terminal to the flight computer ground, connecting the positive battery terminal to one of the igniter leads and connecting the other igniter lead to the per-channel pyro circuit connection. Because there is no solid ground connection to use on TeleMini, this -is not recommended.

The only available ground connection on TeleMini v3 are +is not recommended.

+
+
+

The only available ground connection on TeleMini v3 are the two mounting holes next to the telemetry antenna. Somehow connect a small piece of wire to one of -those holes and hook it to the negative pyro battery terminal.

Connecting the positive battery terminal to the pyro +those holes and hook it to the negative pyro battery terminal.

+
+
+

Connecting the positive battery terminal to the pyro charges must be done separate from TeleMini v3, by soldering -them together or using some other connector.

The other lead from each pyro charge is then inserted into +them together or using some other connector.

+
+
+

The other lead from each pyro charge is then inserted into the appropriate per-pyro channel screw terminal (terminal 3 for the -Main charge, terminal 1 for the Apogee charge).

5.3. Using an Active Switch with TeleMini v3

As explained above, an external active switch requires three +Main charge, terminal 1 for the Apogee charge).

+
+
+
+

5.3. Using an Active Switch with TeleMini v3

+
+

As explained above, an external active switch requires three connections, one to the positive battery terminal, one to the flight computer positive input and one to ground. Again, -because TeleMini doesn’t have any good ground connection, -this is not recommended.

The positive battery terminal is available on the Right +because TeleMini doesn’t have any good ground connection, +this is not recommended.

+
+
+

The positive battery terminal is available on the Right power switch wire, the positive flight computer input is on the left power switch wire. Hook a lead to either of the -mounting holes for a ground connection.

5.4. Using Packet Link Mode with TeleMini

After TeleMini powers up, it will check to see if some +mounting holes for a ground connection.

+
+
+
+ +
+

After TeleMini powers up, it will check to see if some device is attempting to communicate with it using Packet Link Mode. If so, it will switch to idle mode and start communicating. To switch to flight mode, reboot the device either over the radio link or by -powering it off and back on.

If no ground station is attempting to communicate +powering it off and back on.

+
+
+

If no ground station is attempting to communicate using Packet Link Mode, TeleMini will enter pad mode -and prepare for flight.

The sequence of operations to use Packet Link Mode -with TeleMini is:

  1. -Configure the ground station data rate, frequency -and callsign to match the TeleMini settings. -
  2. -Start Packet Link Mode in the ground station by +and prepare for flight.

    +
+
+

The sequence of operations to use Packet Link Mode +with TeleMini is:

+
+
+
    +
  1. +

    Configure the ground station data rate, frequency +and callsign to match the TeleMini settings.

    +
  2. +
  3. +

    Start Packet Link Mode in the ground station by selecting the desired operation (Safe Flight Data, Configure Altimeter, Fire Igniter or Monitor Idle). Select the TeleBT or TeleDongle device. The -red LED should begin flashing rapidly. -

  4. -Turn on TeleMini. You should see the red LED flash +red LED should begin flashing rapidly.

    +
  5. +
  6. +

    Turn on TeleMini. You should see the red LED flash very rapidly during the initial communication burst, -but it should then slow down when the link is idle. -

Once TeleMini is in Idle mode, it will stay in that +but it should then slow down when the link is idle.

+ + +
+
+

Once TeleMini is in Idle mode, it will stay in that mode until rebooted. That means you can stop one Packet Link operation, wait a while and start another -Packet Link operation.

5.5. Forcing TeleMini radio parameters to known defaults

If you don’t know what the TeleMini frequency and +Packet Link operation.

+
+
+
+

5.5. Forcing TeleMini radio parameters to known defaults

+
+

If you don’t know what the TeleMini frequency and callsign settings are, you can temporarily force it back to the original default values (frequency 434.550MHz, callsign N0CALL) by connecting a wire between hole 3 and hole 7 on the debug connector. Hole 3 has the square pad around it, hole 7 is the one nearest the MS5607 baro sensor, which is a rectangular -component with a metal cap that has two holes in it.

Once TeleMini has been powered up with this wire +component with a metal cap that has two holes in it.

+
+
+

Once TeleMini has been powered up with this wire connected, the wire may be removed. The radio parameters will stay set to these default values until -changed by the user or when the device is rebooted.

5.6. TeleMini v1

TeleMini v1 is the earlier version of this product. It +changed by the user or when the device is rebooted.

+
+
+
+

5.6. TeleMini v1

+
+

TeleMini v1 is the earlier version of this product. It has a lower-power radio, less storage, no beeper and soldered-in wires instead of screw terminals for the -power switch.

Figure 5.2. TeleMini v1 Board

telemini-v1-top.jpg

Chapter 6. EasyMini

Figure 6.1. EasyMini Board

easymini-top.jpg

EasyMini is built on a 0.8 inch by 1½ inch circuit board. It’s -designed to fit in a 24mm coupler tube.

You usually don’t need to configure EasyMini at all; it’s set +power switch.

+
+
+
+telemini v1 top +
+
Figure 4. TeleMini v1 Board
+
+
+
+
+
+

6. EasyMini

+
+
+
+easymini top +
+
Figure 5. EasyMini Board
+
+
+

EasyMini is built on a 0.8 inch by 1½ inch circuit board. It’s +designed to fit in a 24mm coupler tube.

+
+
+

You usually don’t need to configure EasyMini at all; it’s set up to do dual-deployment with an event at apogee to separate the airframe and deploy a drogue and another event at 250m (820ft) to deploy the main. Install EasyMini in your airframe, -hook up a battery, igniters and a power switch and you’re -ready to fly.

6.1. EasyMini Screw Terminals

EasyMini has two sets of four screw terminals near one end of the +hook up a battery, igniters and a power switch and you’re +ready to fly.

+
+
+

6.1. EasyMini Screw Terminals

+
+

EasyMini has two sets of four screw terminals near one end of the board. Using the picture above, the top four have connections for the main pyro circuit and an external battery and the bottom four have connections for the apogee pyro circuit and the power -switch. Counting from the left, the connections are as follows:

Table 6.1. EasyMini Screw Terminals

Terminal #Terminal NameDescription

Top 1

Main -

Main pyro channel connection to pyro circuit

Top 2

Main

Main pyro channel common connection to battery

Top 3

Battery

Positive external battery terminal

Top 4

Battery -

Negative external battery terminal

Bottom 1

Apogee -

Apogee pyro channel connection to pyro circuit

Bottom 2

Apogee

Apogee pyro channel common connection to battery

Bottom 3

Switch Output

Switch connection to flight computer

Bottom 4

Switch Input

Switch connection to positive battery terminal


6.2. Connecting A Battery To EasyMini

There are two possible battery connections on +switch. Counting from the left, the connections are as follows:

+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6. EasyMini Screw Terminals
Terminal #Terminal NameDescription

Top 1

Main -

Main pyro channel connection to pyro circuit

Top 2

Main

Main pyro channel common connection to battery

Top 3

Battery

Positive external battery terminal

Top 4

Battery -

Negative external battery terminal

Bottom 1

Apogee -

Apogee pyro channel connection to pyro circuit

Bottom 2

Apogee

Apogee pyro channel common connection to battery

Bottom 3

Switch Output

Switch connection to flight computer

Bottom 4

Switch Input

Switch connection to positive battery terminal

+
+
+

6.2. Connecting A Battery To EasyMini

+
+

There are two possible battery connections on EasyMini. You can use either method; both feed -through the power switch terminals.

One battery connection is the standard Altus Metrum +through the power switch terminals.

+
+
+

One battery connection is the standard Altus Metrum white JST plug. This mates with single-cell Lithium -Polymer batteries sold by Altus Metrum.

The other is a pair of screw terminals marked Battery -+ and Battery -. Connect a battery from 4 to 12 -volts to these terminals, being careful to match polarity.

6.3. Charging Lithium Batteries

Because EasyMini allows for batteries other than the +Polymer batteries sold by Altus Metrum.

+
+
+

The other is a pair of screw terminals marked 'Battery ++' and 'Battery -'. Connect a battery from 4 to 12 +volts to these terminals, being careful to match polarity.

+
+
+
+

6.3. Charging Lithium Batteries

+
+

Because EasyMini allows for batteries other than the standard Altus Metrum Lithium Polymer cells, it cannot incorporate a battery charger circuit. Therefore, when -using a Litium Polymer cell, you’ll need an external +using a Litium Polymer cell, you’ll need an external charger. These are available from Altus Metrum, or -from Spark Fun.

6.4. Using a Separate Pyro Battery with EasyMini

As described above, using an external pyro battery involves +from Spark Fun.

+
+
+
+

6.4. Using a Separate Pyro Battery with EasyMini

+
+

As described above, using an external pyro battery involves connecting the negative battery terminal to the flight computer ground, connecting the positive battery terminal to one of the igniter leads and connecting the other igniter -lead to the per-channel pyro circuit connection.

To connect the negative pyro battery terminal to EasyMini +lead to the per-channel pyro circuit connection.

+
+
+

To connect the negative pyro battery terminal to EasyMini ground, connect it to the negative external battery -connection, top terminal 4.

Connecting the positive battery terminal to the pyro +connection, top terminal 4.

+
+
+

Connecting the positive battery terminal to the pyro charges must be done separate from EasyMini, by soldering -them together or using some other connector.

The other lead from each pyro charge is then inserted into +them together or using some other connector.

+
+
+

The other lead from each pyro charge is then inserted into the appropriate per-pyro channel screw terminal (top terminal 1 for the Main charge, bottom terminal 1 for the -Apogee charge).

6.5. Using an Active Switch with EasyMini

As explained above, an external active switch requires three +Apogee charge).

+
+
+
+

6.5. Using an Active Switch with EasyMini

+
+

As explained above, an external active switch requires three connections, one to the positive battery terminal, one to the flight computer positive input and one to ground. Use the negative external battery connection, top terminal 4 for -ground.

The positive battery terminal is available on bottom +ground.

+
+
+

The positive battery terminal is available on bottom terminal 4, the positive flight computer input is on the -bottom terminal 3.

Chapter 7. TeleMega

Figure 7.1. TeleMega Board

telemega-v1.0-top.jpg

TeleMega is a 1¼ inch by 3¼ inch circuit board. It was +bottom terminal 3.

+
+
+
+
+
+

7. TeleMega

+
+
+
+telemega v1.0 top +
+
Figure 6. TeleMega Board
+
+
+

TeleMega is a 1¼ inch by 3¼ inch circuit board. It was designed to easily fit in a 38mm coupler. Like TeleMetrum, TeleMega has an accelerometer and so it must be mounted so that the board is aligned with the flight axis. It can be mounted -either antenna up or down.

TeleMega v2.0 has a few minor changes from v1.0:

  • -Companion connector matches EasyMega functions -
  • -Serial port connector replaced with servo connector with -support for up to 4 PWM channels. -
  • -Radio switched from cc1120 to cc1200. -

None of these affect operation using the stock firmware, but +either antenna up or down.

+
+
+

TeleMega v2.0 has a few minor changes from v1.0:

+
+
+
    +
  • +

    Companion connector matches EasyMega functions

    +
  • +
  • +

    Serial port connector replaced with servo connector with +support for up to 4 PWM channels.

    +
  • +
  • +

    Radio switched from cc1120 to cc1200.

    +
  • +
+
+
+

None of these affect operation using the stock firmware, but they do mean that the device needs different firmware to operate correctly, so make sure you load the right firmware -when reflashing the device.

7.1. TeleMega Screw Terminals

TeleMega has two sets of nine screw terminals on the end of -the board opposite the telemetry antenna. They are as follows:

Table 7.1. TeleMega Screw Terminals

Terminal #Terminal NameDescription

Top 1

Switch Input

Switch connection to positive battery terminal

Top 2

Switch Output

Switch connection to flight computer

Top 3

GND

Ground connection for use with external active switch

Top 4

Main -

Main pyro channel connection to pyro circuit

Top 5

Main

Main pyro channel common connection to battery

Top 6

Apogee -

Apogee pyro channel connection to pyro circuit

Top 7

Apogee

Apogee pyro channel common connection to battery

Top 8

D -

D pyro channel connection to pyro circuit

Top 9

D

D pyro channel common connection to battery

Bottom 1

GND

Ground connection for negative pyro battery terminal

Bottom 2

Pyro

Positive pyro battery terminal

Bottom 3

Lipo

Power switch output. Use to connect main battery to pyro battery input

Bottom 4

A -

A pyro channel connection to pyro circuit

Bottom 5

A

A pyro channel common connection to battery

Bottom 6

B -

B pyro channel connection to pyro circuit

Bottom 7

B

B pyro channel common connection to battery

Bottom 8

C -

C pyro channel connection to pyro circuit

Bottom 9

C

C pyro channel common connection to battery


7.2. Using a Separate Pyro Battery with TeleMega

TeleMega provides explicit support for an external pyro +when reflashing the device.

+
+
+

7.1. TeleMega Screw Terminals

+
+

TeleMega has two sets of nine screw terminals on the end of +the board opposite the telemetry antenna. They are as follows:

+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 7. TeleMega Screw Terminals
Terminal #Terminal NameDescription

Top 1

Switch Input

Switch connection to positive battery terminal

Top 2

Switch Output

Switch connection to flight computer

Top 3

GND

Ground connection for use with external active switch

Top 4

Main -

Main pyro channel connection to pyro circuit

Top 5

Main

Main pyro channel common connection to battery

Top 6

Apogee -

Apogee pyro channel connection to pyro circuit

Top 7

Apogee

Apogee pyro channel common connection to battery

Top 8

D -

D pyro channel connection to pyro circuit

Top 9

D

D pyro channel common connection to battery

Bottom 1

GND

Ground connection for negative pyro battery terminal

Bottom 2

Pyro

Positive pyro battery terminal

Bottom 3

Lipo

Power switch output. Use to connect main battery to pyro battery input

Bottom 4

A -

A pyro channel connection to pyro circuit

Bottom 5

A

A pyro channel common connection to battery

Bottom 6

B -

B pyro channel connection to pyro circuit

Bottom 7

B

B pyro channel common connection to battery

Bottom 8

C -

C pyro channel connection to pyro circuit

Bottom 9

C

C pyro channel common connection to battery

+
+
+

7.2. Using a Separate Pyro Battery with TeleMega

+
+

TeleMega provides explicit support for an external pyro battery. All that is required is to remove the jumper between the lipo terminal (Bottom 3) and the pyro terminal (Bottom 2). Then hook the negative pyro battery terminal to ground (Bottom 1) and the positive pyro battery to the pyro battery input (Bottom 2). You can then use the existing pyro screw -terminals to hook up all of the pyro charges.

7.3. Using Only One Battery With TeleMega

Because TeleMega has built-in support for a separate pyro +terminals to hook up all of the pyro charges.

+
+
+
+

7.3. Using Only One Battery With TeleMega

+
+

Because TeleMega has built-in support for a separate pyro battery, if you want to fly with just one battery running both the computer and firing the charges, you need to connect the flight computer battery to the pyro circuit. TeleMega has two screw terminals for this—hook a wire from the Lipo terminal (Bottom 3) to the Pyro terminal -(Bottom 2).

7.4. Using an Active Switch with TeleMega

As explained above, an external active switch requires three +(Bottom 2).

+
+
+
+

7.4. Using an Active Switch with TeleMega

+
+

As explained above, an external active switch requires three connections, one to the positive battery terminal, one to -the flight computer positive input and one to ground.

The positive battery terminal is available on Top terminal +the flight computer positive input and one to ground.

+
+
+

The positive battery terminal is available on Top terminal 1, the positive flight computer input is on Top terminal -2. Ground is on Top terminal 3.

Chapter 8. EasyMega

Figure 8.1. EasyMega Board

easymega-v1.0-top.jpg

EasyMega is a 1¼ inch by 2¼ inch circuit board. It was +2. Ground is on Top terminal 3.

+
+
+
+
+
+

8. EasyMega

+
+
+
+easymega v1.0 top +
+
Figure 7. EasyMega Board
+
+
+

EasyMega is a 1¼ inch by 2¼ inch circuit board. It was designed to easily fit in a 38mm coupler. Like TeleMetrum, EasyMega has an accelerometer and so it must be mounted so that the board is aligned with the flight axis. It can be mounted -either antenna up or down.

8.1. EasyMega Screw Terminals

EasyMega has two sets of nine screw terminals on the end of -the board opposite the telemetry antenna. They are as follows:

Table 8.1. EasyMega Screw Terminals

Terminal #Terminal NameDescription

Top 1

Switch Input

Switch connection to positive battery terminal

Top 2

Switch Output

Switch connection to flight computer

Top 3

GND

Ground connection for use with external active switch

Top 4

Main -

Main pyro channel connection to pyro circuit

Top 5

Main

Main pyro channel common connection to battery

Top 6

Apogee -

Apogee pyro channel connection to pyro circuit

Top 7

Apogee

Apogee pyro channel common connection to battery

Top 8

D -

D pyro channel connection to pyro circuit

Top 9

D

D pyro channel common connection to battery

Bottom 1

GND

Ground connection for negative pyro battery terminal

Bottom 2

Pyro

Positive pyro battery terminal

Bottom 3

Lipo

Power switch output. Use to connect main battery to pyro battery input

Bottom 4

A -

A pyro channel connection to pyro circuit

Bottom 5

A

A pyro channel common connection to battery

Bottom 6

B -

B pyro channel connection to pyro circuit

Bottom 7

B

B pyro channel common connection to battery

Bottom 8

C -

C pyro channel connection to pyro circuit

Bottom 9

C

C pyro channel common connection to battery


8.2. Using a Separate Pyro Battery with EasyMega

EasyMega provides explicit support for an external pyro +either antenna up or down.

+
+
+

8.1. EasyMega Screw Terminals

+
+

EasyMega has two sets of nine screw terminals on the end of +the board opposite the telemetry antenna. They are as follows:

+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 8. EasyMega Screw Terminals
Terminal #Terminal NameDescription

Top 1

Switch Input

Switch connection to positive battery terminal

Top 2

Switch Output

Switch connection to flight computer

Top 3

GND

Ground connection for use with external active switch

Top 4

Main -

Main pyro channel connection to pyro circuit

Top 5

Main

Main pyro channel common connection to battery

Top 6

Apogee -

Apogee pyro channel connection to pyro circuit

Top 7

Apogee

Apogee pyro channel common connection to battery

Top 8

D -

D pyro channel connection to pyro circuit

Top 9

D

D pyro channel common connection to battery

Bottom 1

GND

Ground connection for negative pyro battery terminal

Bottom 2

Pyro

Positive pyro battery terminal

Bottom 3

Lipo

Power switch output. Use to connect main battery to pyro battery input

Bottom 4

A -

A pyro channel connection to pyro circuit

Bottom 5

A

A pyro channel common connection to battery

Bottom 6

B -

B pyro channel connection to pyro circuit

Bottom 7

B

B pyro channel common connection to battery

Bottom 8

C -

C pyro channel connection to pyro circuit

Bottom 9

C

C pyro channel common connection to battery

+
+
+

8.2. Using a Separate Pyro Battery with EasyMega

+
+

EasyMega provides explicit support for an external pyro battery. All that is required is to remove the jumper between the lipo terminal (Bottom 3) and the pyro terminal (Bottom 2). Then hook the negative pyro battery terminal to ground (Bottom 1) and the positive pyro battery to the pyro battery input (Bottom 2). You can then use the existing pyro screw -terminals to hook up all of the pyro charges.

8.3. Using Only One Battery With EasyMega

Because EasyMega has built-in support for a separate pyro +terminals to hook up all of the pyro charges.

+
+
+
+

8.3. Using Only One Battery With EasyMega

+
+

Because EasyMega has built-in support for a separate pyro battery, if you want to fly with just one battery running both the computer and firing the charges, you need to connect the flight computer battery to the pyro circuit. EasyMega has two screw terminals for this—hook a wire from the Lipo terminal (Bottom 3) to the Pyro terminal -(Bottom 2).

8.4. Using an Active Switch with EasyMega

As explained above, an external active switch requires three +(Bottom 2).

+
+
+
+

8.4. Using an Active Switch with EasyMega

+
+

As explained above, an external active switch requires three connections, one to the positive battery terminal, one to -the flight computer positive input and one to ground.

The positive battery terminal is available on Top terminal +the flight computer positive input and one to ground.

+
+
+

The positive battery terminal is available on Top terminal 1, the positive flight computer input is on Top terminal -2. Ground is on Top terminal 3.

Chapter 9. Installation

A typical installation involves attaching +2. Ground is on Top terminal 3.

+
+
+
+
+
+

9. Installation

+
+
+

A typical installation involves attaching only a suitable battery, a single pole switch for power on/off, and two pairs of wires connecting e-matches for the apogee and main ejection charges. All Altus Metrum products are designed for use with single-cell batteries with 3.7 volts nominal. EasyMini may also be used with other -batteries as long as they supply between 4 and 12 volts.

The battery connectors are a standard 2-pin JST connector; you +batteries as long as they supply between 4 and 12 volts.

+
+
+

The battery connectors are a standard 2-pin JST connector; you can purchase suitable batteries from the any vendor selling Altus Metrum products. These batteries are single-cell Lithium Polymer batteries that nominally provide 3.7 @@ -476,36 +1781,88 @@ using mating connectors, however the polarity for those is generally reversed from the batteries used by Altus Metrum products. In particular, the Tenergy batteries supplied for use in Featherweight flight computers are not compatible with Altus -Metrum flight computers or battery chargers.

Warning

Check polarity and voltage before connecting any battery not -purchased from Altus Metrum.

Warning

Spark Fun sells batteries that have a matching connector with +Metrum flight computers or battery chargers.

+
+
+ + + + + +
+Warning + +Check polarity and voltage before connecting any battery not +purchased from Altus Metrum. +
+
+
+ + + + + +
+Warning + +Spark Fun sells batteries that have a matching connector with the correct polarity. However, these batteries include an integrated current limiting circuit. That circuit will cause the battery to shut down when firing the igniter circuit. Do not use these batteries unless you remove the current limiting -circuit.

By default, we use the unregulated output of the battery +circuit. +

+
+
+

By default, we use the unregulated output of the battery directly to fire ejection charges. This works marvelously with standard low-current e-matches like the J-Tek from MJG Technologies, and with Quest Q2G2 igniters. However, if you want or need to use a separate pyro battery, check out -Section 3.8, “Using a Separate Pyro Battery” for instructions on how to wire +Using a Separate Pyro Battery for instructions on how to wire that up. The altimeters are designed to work with an external -pyro battery of no more than 15 volts.

Ejection charges are wired directly to the screw terminal block -at the aft end of the altimeter. You’ll need a very small straight +pyro battery of no more than 15 volts.

+
+
+

Ejection charges are wired directly to the screw terminal block +at the aft end of the altimeter. You’ll need a very small straight blade screwdriver for these screws, such as you might find in a -jeweler’s screwdriver set.

Except for TeleMini v1.0, the flight computers also use the +jeweler’s screwdriver set.

+
+
+

Except for TeleMini v1.0, the flight computers also use the screw terminal block for the power switch leads. On TeleMini v1.0, the power switch leads are soldered directly to the board and -can be connected directly to a switch.

For most air-frames, the integrated antennas are more than +can be connected directly to a switch.

+
+
+

For most air-frames, the integrated antennas are more than adequate. However, if you are installing in a carbon-fiber or metal electronics bay which is opaque to RF signals, you may need to use off-board external antennas instead. In this case, you can replace the stock UHF antenna wire with an edge-launched SMA connector, and, on TeleMetrum v1, you can unplug the integrated GPS antenna and select an appropriate off-board GPS antenna with -cable terminating in a U.FL connector.

Chapter 10. Using Altus Metrum Products

10.1. Being Legal

In the US, you need an -amateur radio license +cable terminating in a U.FL connector.

+
+
+
+
+

10. Using Altus Metrum Products

+
+
+ +
+

In the US, you need an +amateur radio license or other authorization to legally operate the radio -transmitters that are part of our products.

10.2. In the Rocket

In the rocket itself, you just need a flight computer +transmitters that are part of our products.

+
+
+
+

10.2. In the Rocket

+
+

In the rocket itself, you just need a flight computer and a single-cell, 3.7 volt nominal Li-Po rechargeable battery. An 850mAh battery weighs less than a 9V @@ -515,7 +1872,10 @@ A 110mAh battery weighs less than a triple A battery and is a good choice for use with TeleMini or -EasyMini.

By default, we ship TeleMini, TeleMetrum and TeleMega +EasyMini.

+
+
+

By default, we ship TeleMini, TeleMetrum and TeleMega flight computers with a simple wire antenna. If your electronics bay or the air-frame it resides within is made of carbon fiber, which is opaque to RF signals, @@ -524,9 +1884,15 @@ can run a coaxial cable to an antenna mounted elsewhere in the rocket. However, note that the GPS antenna is fixed on all current products, so you really want to install the flight computer in a bay -made of RF-transparent materials if at all possible.

10.3. On the Ground

To receive the data stream from the rocket, you need +made of RF-transparent materials if at all possible.

+
+
+
+

10.3. On the Ground

+
+

To receive the data stream from the rocket, you need an antenna and short feed-line connected to one of our -TeleDongle +TeleDongle units. If possible, use an SMA to BNC adapter instead of feedline between the antenna feedpoint and TeleDongle, as this will give you the best @@ -534,56 +1900,95 @@ performance. The TeleDongle in turn plugs directly into the USB port on a notebook computer. Because TeleDongle looks like a simple serial port, your computer does not require special device -drivers… just plug it in.

The GUI tool, AltosUI, is written in Java and runs -across Linux, Mac OS and Windows. There’s also a suite +drivers…​ just plug it in.

+
+
+

The GUI tool, AltosUI, is written in Java and runs +across Linux, Mac OS and Windows. There’s also a suite of C tools for Linux which can perform most of the -same tasks.

Alternatively, a TeleBT attached with an SMA to BNC +same tasks.

+
+
+

Alternatively, a TeleBT attached with an SMA to BNC adapter at the feed point of a hand-held yagi used in conjunction with an Android device running AltosDroid -makes an outstanding ground station.

After the flight, +makes an outstanding ground station.

+
+
+

After the flight, you can use the radio link to extract the more detailed data logged in either TeleMetrum or TeleMini devices, or you can use a USB cable to plug into the flight computer board directly. A USB cable is also how you -charge the Li-Po battery, so you’ll want one of those +charge the Li-Po battery, so you’ll want one of those anyway. The same cable used by lots of digital cameras and other modern electronic stuff will work -fine.

If your rocket lands out of sight, you may enjoy +fine.

+
+
+

If your rocket lands out of sight, you may enjoy having a hand-held GPS receiver, so that you can put in a way-point for the last reported rocket position before touch-down. This makes looking for your rocket -a lot like Geo-Caching… just go to the way-point and +a lot like Geo-Caching…​ just go to the way-point and look around starting from there. AltosDroid on an Android device with GPS receiver works great for this, -too!

You may also enjoy having a ham radio “HT” that covers -the 70cm band… you can use that with your antenna to +too!

+
+
+

You may also enjoy having a ham radio “HT” that covers +the 70cm band…​ you can use that with your antenna to direction-find the rocket on the ground the same way you can use a Walston or Beeline tracker. This can be handy if the rocket is hiding in sage brush or a tree, -or if the last GPS position doesn’t get you close +or if the last GPS position doesn’t get you close enough because the rocket dropped into a canyon, or the wind is blowing it across a dry lake bed, or -something like that… Keith currently uses a Yaesu +something like that…​ Keith currently uses a Yaesu FT1D, Bdale has a Yaesu VX-7R, which is a nicer radio -in most ways but doesn’t support APRS.

So, to recap, on the ground the hardware you’ll need includes:

  1. -an antenna and feed-line or adapter -
  2. -a TeleDongle -
  3. -a notebook computer -
  4. -optionally, a hand-held GPS receiver -
  5. -optionally, an HT or receiver covering 435 MHz -

The best hand-held commercial directional antennas we’ve found for radio +in most ways but doesn’t support APRS.

+
+
+

So, to recap, on the ground the hardware you’ll need includes:

+
+
+
    +
  1. +

    an antenna and feed-line or adapter

    +
  2. +
  3. +

    a TeleDongle

    +
  4. +
  5. +

    a notebook computer

    +
  6. +
  7. +

    optionally, a hand-held GPS receiver

    +
  8. +
  9. +

    optionally, an HT or receiver covering 435 MHz

    +
  10. +
+
+
+

The best hand-held commercial directional antennas we’ve found for radio direction finding rockets are from -Arrow Antennas.

The 440-3 and 440-5 are both good choices for finding +Arrow Antennas.

+
+
+

The 440-3 and 440-5 are both good choices for finding a TeleMetrum- or TeleMini- equipped rocket when used with a suitable 70cm HT. TeleDongle and an SMA to BNC adapter fit perfectly between the driven element and -reflector of Arrow antennas.

10.4. Data Analysis

Our software makes it easy to log the data from each +reflector of Arrow antennas.

+
+
+
+

10.4. Data Analysis

+
+

Our software makes it easy to log the data from each flight, both the telemetry received during the flight itself, and the more complete data log recorded in the flash memory on the altimeter board. Once this data @@ -595,9 +2000,18 @@ set of plots showing the altitude, acceleration, and velocity of the rocket during flight. And you can even export a flight log in a format usable with Google Maps and Google Earth for visualizing the flight path -in two or three dimensions!

Our ultimate goal is to emit a set of files for each +in two or three dimensions!

+
+
+

Our ultimate goal is to emit a set of files for each flight that can be published as a web page per flight, -or just viewed on your local disk with a web browser.

10.5. Future Plans

We have designed and prototyped several “companion +or just viewed on your local disk with a web browser.

+
+
+
+

10.5. Future Plans

+
+

We have designed and prototyped several “companion boards” that can attach to the companion connector on TeleMetrum, TeleMega and EasyMega flight computers to collect more data, provide more pyro channels, and so @@ -606,46 +2020,95 @@ boards will be produced in enough quantity to sell. If you have specific interests for data collection or control of events in your rockets beyond the capabilities of our existing productions, please let -us know!

Because all of our work is open, both the hardware +us know!

+
+
+

Because all of our work is open, both the hardware designs and the software, if you have some great idea for an addition to the current Altus Metrum family, feel free to dive in and help! Or let us know what -you’d like to see that we aren’t already working on, -and maybe we’ll get excited about it too…

Watch our web site for +you’d like to see that we aren’t already working on, +and maybe we’ll get excited about it too…​

+
+
+

Watch our web site for more news and information as our family of products -evolves!

Chapter 11. AltosUI

Figure 11.1. AltosUI Main Window

altosui.png

The AltosUI program provides a graphical user interface for +evolves!

+
+
+
+
+
+

11. AltosUI

+
+
+
+altosui +
+
Figure 8. AltosUI Main Window
+
+
+

The AltosUI program provides a graphical user interface for interacting with the Altus Metrum product family. AltosUI can monitor telemetry data, configure devices and many other tasks. The primary interface window provides a selection of buttons, one for each major activity in the system. This chapter is split into sections, each of which documents one of -the tasks provided from the top-level toolbar.

11.1. Monitor Flight

Selecting this item brings up a dialog box listing all +the tasks provided from the top-level toolbar.

+
+
+

11.1. Monitor Flight

+
+

Selecting this item brings up a dialog box listing all of the connected TeleDongle devices. When you choose one of these, AltosUI will create a window to display telemetry data as received by the selected TeleDongle -device.

Figure 11.2. Device Selection Dialog

device-selection.png

All telemetry data received are automatically recorded +device.

+
+
+
+device selection +
+
Figure 9. Device Selection Dialog
+
+
+

All telemetry data received are automatically recorded in suitable log files. The name of the files includes -the current date and rocket serial and flight numbers.

The radio frequency being monitored by the TeleDongle +the current date and rocket serial and flight numbers.

+
+
+

The radio frequency being monitored by the TeleDongle device is displayed at the top of the window. You can configure the frequency by clicking on the frequency box and selecting the desired frequency. AltosUI remembers the last frequency selected for each TeleDongle and selects that automatically the next -time you use that device.

Below the TeleDongle frequency selector, the window +time you use that device.

+
+
+

Below the TeleDongle frequency selector, the window contains a few significant pieces of information about -the altimeter providing the telemetry data stream:

  • -The configured call-sign -
  • -The device serial number -
  • -The flight number. Each altimeter remembers how -many times it has flown. -
  • -The rocket flight state. Each flight passes through +the altimeter providing the telemetry data stream:

    +
+
+
    +
  • +

    The configured call-sign

    +
  • +
  • +

    The device serial number

    +
  • +
  • +

    The flight number. Each altimeter remembers how +many times it has flown.

    +
  • +
  • +

    The rocket flight state. Each flight passes through several states including Pad, Boost, Fast, Coast, -Drogue, Main and Landed. -

  • -The Received Signal Strength Indicator value. This +Drogue, Main and Landed.

    +
  • +
  • +

    The Received Signal Strength Indicator value. This lets you know how strong a signal TeleDongle is receiving. At the default data rate, 38400 bps, in bench testing, the radio inside TeleDongle v0.2 @@ -654,54 +2117,73 @@ works down to about -111dBm. Weaker signals, or an environment with radio noise may cause the data to not be received. The packet link uses error detection and correction techniques which prevent -incorrect data from being reported. -

  • -The age of the displayed data, in seconds since the +incorrect data from being reported.

    +
  • +
  • +

    The age of the displayed data, in seconds since the last successfully received telemetry packet. In normal operation this will stay in the low single digits. If the number starts counting up, then you are no longer receiving data over the radio link -from the flight computer. -

Finally, the largest portion of the window contains a +from the flight computer.

+ + +
+
+

Finally, the largest portion of the window contains a set of tabs, each of which contain some information -about the rocket. They’re arranged in flight order +about the rocket. They’re arranged in 'flight order' so that as the flight progresses, the selected tab automatically switches to display data relevant to the current state of the flight. You can select other tabs -at any time. The final table tab displays all of the +at any time. The final 'table' tab displays all of the raw telemetry values in one place in a -spreadsheet-like format.

11.1.1. Launch Pad

Figure 11.3. Monitor Flight Launch Pad View

launch-pad.png

The Launch Pad tab shows information used to decide when the +spreadsheet-like format.

+
+
+

11.1.1. Launch Pad

+
+
+launch pad +
+
Figure 10. Monitor Flight Launch Pad View
+
+
+

The 'Launch Pad' tab shows information used to decide when the rocket is ready for flight. The first elements include red/green -indicators, if any of these is red, you’ll want to evaluate -whether the rocket is ready to launch:

-Battery Voltage -
-This indicates whether the Li-Po battery powering the +indicators, if any of these is red, you’ll want to evaluate +whether the rocket is ready to launch:

+
+
+
+
Battery Voltage
+
+

This indicates whether the Li-Po battery powering the flight computer has sufficient charge to last for the duration of the flight. A value of more than -3.8V is required for a GO status. -

-Apogee Igniter Voltage -
-This indicates whether the apogee +3.8V is required for a 'GO' status.

+
+
Apogee Igniter Voltage
+
+

This indicates whether the apogee igniter has continuity. If the igniter has a low resistance, then the voltage measured here will be close to the Li-Po battery voltage. A value greater than 3.2V is -required for a GO status. -

-Main Igniter Voltage -
-This indicates whether the main +required for a 'GO' status.

+
+
Main Igniter Voltage
+
+

This indicates whether the main igniter has continuity. If the igniter has a low resistance, then the voltage measured here will be close to the Li-Po battery voltage. A value greater than 3.2V is -required for a GO status. -

-On-board Data Logging -
-This indicates whether there is space remaining +required for a 'GO' status.

+
+
On-board Data Logging
+
+

This indicates whether there is space remaining on-board to store flight data for the upcoming -flight. If you’ve downloaded data, but failed to erase +flight. If you’ve downloaded data, but failed to erase flights, there may not be any space left. Most of our flight computers can store multiple flights, depending on the configured maximum flight log size. TeleMini @@ -710,46 +2192,89 @@ be downloaded and erased after each flight to capture data. This only affects on-board flight logging; the altimeter will still transmit telemetry and fire ejection charges at the proper times even if the -flight data storage is full. -

-GPS Locked -
-For a TeleMetrum or TeleMega device, this indicates +flight data storage is full.

+
+
GPS Locked
+
+

For a TeleMetrum or TeleMega device, this indicates whether the GPS receiver is currently able to compute position information. GPS requires at least 4 -satellites to compute an accurate position. -

-GPS Ready -
-For a TeleMetrum or TeleMega device, this indicates +satellites to compute an accurate position.

+
+
GPS Ready
+
+

For a TeleMetrum or TeleMega device, this indicates whether GPS has reported at least 10 consecutive positions without losing lock. This ensures that the GPS receiver has reliable reception from the -satellites. -

The Launchpad tab also shows the computed launch pad +satellites.

+ + +
+
+

The Launchpad tab also shows the computed launch pad position and altitude, averaging many reported -positions to improve the accuracy of the fix.

11.1.2. Ascent

Figure 11.4. Monitor Flight Ascent View

ascent.png

This tab is shown during Boost, Fast and Coast +positions to improve the accuracy of the fix.

+
+
+
+

11.1.2. Ascent

+
+
+ascent +
+
Figure 11. Monitor Flight Ascent View
+
+
+

This tab is shown during Boost, Fast and Coast phases. The information displayed here helps monitor the -rocket as it heads towards apogee.

The height, speed, acceleration and tilt are shown along +rocket as it heads towards apogee.

+
+
+

The height, speed, acceleration and tilt are shown along with the maximum values for each of them. This allows you to -quickly answer the most commonly asked questions you’ll hear -during flight.

The current latitude and longitude reported by the GPS are +quickly answer the most commonly asked questions you’ll hear +during flight.

+
+
+

The current latitude and longitude reported by the GPS are also shown. Note that under high acceleration, these values may not get updated as the GPS receiver loses position fix. Once the rocket starts coasting, the receiver should -start reporting position again.

Finally, the current igniter voltages are reported as in the +start reporting position again.

+
+
+

Finally, the current igniter voltages are reported as in the Launch Pad tab. This can help diagnose deployment failures -caused by wiring which comes loose under high acceleration.

11.1.3. Descent

Figure 11.5. Monitor Flight Descent View

descent.png

Once the rocket has reached apogee and (we hope) +caused by wiring which comes loose under high acceleration.

+
+
+
+

11.1.3. Descent

+
+
+descent +
+
Figure 12. Monitor Flight Descent View
+
+
+

Once the rocket has reached apogee and (we hope) activated the apogee charge, attention switches to tracking the rocket on the way back to the ground, and for dual-deploy flights, waiting for the main charge -to fire.

To monitor whether the apogee charge operated +to fire.

+
+
+

To monitor whether the apogee charge operated correctly, the current descent rate is reported along with the current height. Good descent rates vary based on the choice of recovery components, but generally range from 15-30m/s on drogue and should be below 10m/s when under the main parachute in a dual-deploy -flight.

With GPS-equipped flight computers, you can locate the +flight.

+
+
+

With GPS-equipped flight computers, you can locate the rocket in the sky using the elevation and bearing information to figure out where to look. Elevation is in degrees above the horizon. Bearing is reported in @@ -759,79 +2284,167 @@ shows how far it is to a point directly under the rocket and can help figure out where the rocket is likely to land. Note that all of these values are relative to the pad location. If the elevation is near -90°, the rocket is over the pad, not over you.

Finally, the igniter voltages are reported in this tab +90°, the rocket is over the pad, not over you.

+
+
+

Finally, the igniter voltages are reported in this tab as well, both to monitor the main charge as well as to see what the status of the apogee charge is. Note that some commercial e-matches are designed to retain continuity even after being fired, and will continue to show as green or return from red to green after -firing.

11.1.4. Landed

Figure 11.6. Monitor Flight Landed View

landed.png

Once the rocket is on the ground, attention switches +firing.

+
+
+
+

11.1.4. Landed

+
+
+landed +
+
Figure 13. Monitor Flight Landed View
+
+
+

Once the rocket is on the ground, attention switches to recovery. While the radio signal is often lost once the rocket is on the ground, the last reported GPS position is generally within a short distance of the -actual landing location.

The last reported GPS position is reported both by +actual landing location.

+
+
+

The last reported GPS position is reported both by latitude and longitude as well as a bearing and distance from the launch pad. The distance should give you a good idea of whether to walk or hitch a ride. Take the reported latitude and longitude and enter them into your hand-held GPS unit and have that -compute a track to the landing location.

Our flight computers will continue to transmit RDF +compute a track to the landing location.

+
+
+

Our flight computers will continue to transmit RDF tones after landing, allowing you to locate the rocket by following the radio signal if necessary. You may need to get away from the clutter of the flight line, -or even get up on a hill (or your neighbor’s RV roof) -to receive the RDF signal.

The maximum height, speed and acceleration reported +or even get up on a hill (or your neighbor’s RV roof) +to receive the RDF signal.

+
+
+

The maximum height, speed and acceleration reported during the flight are displayed for your admiring observers. The accuracy of these immediate values depends on the quality of your radio link and how many packets were received. Recovering the on-board data -after flight may yield more precise results.

To get more detailed information about the flight, you -can click on the Graph Flight button which will -bring up a graph window for the current flight.

11.1.5. Table

Figure 11.7. Monitor Flight Table View

table.png

The table view shows all of the data available from the +after flight may yield more precise results.

+
+
+

To get more detailed information about the flight, you +can click on the 'Graph Flight' button which will +bring up a graph window for the current flight.

+
+
+
+

11.1.5. Table

+
+
+table +
+
Figure 14. Monitor Flight Table View
+
+
+

The table view shows all of the data available from the flight computer. Probably the most useful data on this tab is the detailed GPS information, which includes horizontal dilution of precision information, and -information about the signal being received from the satellites.

11.1.6. Site Map

Figure 11.8. Monitor Flight Site Map View

site-map.png

When the TeleMetrum has a GPS fix, the Site Map tab -will map the rocket’s position to make it easier for +information about the signal being received from the satellites.

+
+
+
+

11.1.6. Site Map

+
+
+site map +
+
Figure 15. Monitor Flight Site Map View
+
+
+

When the TeleMetrum has a GPS fix, the Site Map tab +will map the rocket’s position to make it easier for you to locate the rocket, both while it is in the air, -and when it has landed. The rocket’s state is +and when it has landed. The rocket’s state is indicated by color: white for pad, red for boost, pink for fast, yellow for coast, light blue for drogue, -dark blue for main, and black for landed.

The map’s default scale is approximately 3m (10ft) per +dark blue for main, and black for landed.

+
+
+

The map’s default scale is approximately 3m (10ft) per pixel. The map can be dragged using the left mouse button. The map will attempt to keep the rocket -roughly centered while data is being received.

You can adjust the style of map and the zoom level +roughly centered while data is being received.

+
+
+

You can adjust the style of map and the zoom level with buttons on the right side of the map window. You can draw a line on the map by moving the mouse over the map with a button other than the left one pressed, or by pressing the left button while also holding down the shift key. The length of the line in real-world -units will be shown at the start of the line.

Images are fetched automatically via the Google Maps +units will be shown at the start of the line.

+
+
+

Images are fetched automatically via the Google Maps Static API, and cached on disk for reuse. If map -images cannot be downloaded, the rocket’s path will be -traced on a dark gray background instead.

You can pre-load images for your favorite launch sites -before you leave home; check out Section 11.12, “Load Maps”.

11.1.7. Igniter

Figure 11.9. Monitor Flight Additional Igniter View

ignitor.png

TeleMega includes four additional programmable pyro +images cannot be downloaded, the rocket’s path will be +traced on a dark gray background instead.

+
+
+

You can pre-load images for your favorite launch sites +before you leave home; check out Load Maps.

+
+
+
+

11.1.7. Igniter

+
+
+ignitor +
+
Figure 16. Monitor Flight Additional Igniter View
+
+
+

TeleMega includes four additional programmable pyro channels. The Ignitor tab shows whether each of them has continuity. If an ignitor has a low resistance, then the voltage measured here will be close to the pyro battery -voltage. A value greater than 3.2V is required for a GO -status.

11.2. Save Flight Data

The altimeter records flight data to its internal +voltage. A value greater than 3.2V is required for a 'GO' +status.

+
+
+
+
+

11.2. Save Flight Data

+
+

The altimeter records flight data to its internal flash memory. Data logged on board is recorded at a much higher rate than the telemetry system can handle, and is not subject to radio drop-outs. As such, it provides a more complete and precise record of the flight. -The Save Flight Data button allows you to -read the flash memory and write it to disk.

Clicking on the Save Flight Data button brings up a +The 'Save Flight Data' button allows you to +read the flash memory and write it to disk.

+
+
+

Clicking on the 'Save Flight Data' button brings up a list of connected flight computers and TeleDongle devices. If you select a flight computer, the flight data will be downloaded from that device directly. If you select a TeleDongle device, flight data will be downloaded from a flight computer over radio link via the specified TeleDongle. See -Section A.3, “Controlling An Altimeter Over The Radio Link” for -more information.

After the device has been selected, a dialog showing +Controlling An Altimeter Over The Radio Link for +more information.

+
+
+

After the device has been selected, a dialog showing the flight data saved in the device will be shown allowing you to select which flights to download and which to delete. With version 0.9 or newer firmware, @@ -840,42 +2453,99 @@ consume to be reused by another flight. This prevents accidentally losing flight data if you neglect to download data before flying again. Note that if there is no more space available in the device, then no data -will be recorded during the next flight.

The file name for each flight log is computed +will be recorded during the next flight.

+
+
+

The file name for each flight log is computed automatically from the recorded flight date, altimeter -serial number and flight number information.

11.3. Replay Flight

Select this button and you are prompted to select a flight +serial number and flight number information.

+
+
+
+

11.3. Replay Flight

+
+

Select this button and you are prompted to select a flight record file, either a .telem file recording telemetry data or a .eeprom file containing flight data saved from the altimeter -flash memory.

Once a flight record is selected, the flight monitor interface +flash memory.

+
+
+

Once a flight record is selected, the flight monitor interface is displayed and the flight is re-enacted in real time. Check -Section 11.1, “Monitor Flight” to learn how this window operates.

11.4. Graph Data

Select this button and you are prompted to select a flight +Monitor Flight to learn how this window operates.

+
+
+
+

11.4. Graph Data

+
+

Select this button and you are prompted to select a flight record file, either a .telem file recording telemetry data or a .eeprom file containing flight data saved from -flash memory.

Note that telemetry files will generally produce poor graphs +flash memory.

+
+
+

Note that telemetry files will generally produce poor graphs due to the lower sampling rate and missed telemetry packets. -Use saved flight data in .eeprom files for graphing where possible.

Once a flight record is selected, a window with multiple tabs is -opened.

11.4.1. Flight Graph

Figure 11.10. Flight Data Graph

graph.png

By default, the graph contains acceleration (blue), -velocity (green) and altitude (red).

The graph can be zoomed into a particular area by +Use saved flight data in .eeprom files for graphing where possible.

+
+
+

Once a flight record is selected, a window with multiple tabs is +opened.

+
+
+

11.4.1. Flight Graph

+
+
+graph +
+
Figure 17. Flight Data Graph
+
+
+

By default, the graph contains acceleration (blue), +velocity (green) and altitude (red).

+
+
+

The graph can be zoomed into a particular area by clicking and dragging down and to the right. Once zoomed, the graph can be reset by clicking and dragging up and to the left. Holding down control and clicking and dragging allows the graph to be panned. The right mouse button causes a pop-up menu to be displayed, giving you the option save or print the -plot.

11.4.2. Configure Graph

Figure 11.11. Flight Graph Configuration

graph-configure.png

This selects which graph elements to show, and, at the +plot.

+
+
+
+

11.4.2. Configure Graph

+
+
+graph configure +
+
Figure 18. Flight Graph Configuration
+
+
+

This selects which graph elements to show, and, at the very bottom. It also lets you configure how -the graph is drawn:

  • -Whether to use metric or imperial units -
  • -Whether to show a marker at each data +the graph is drawn:

    +
+
+
    +
  • +

    Whether to use metric or imperial units

    +
  • +
  • +

    Whether to show a marker at each data point. When displaying a small section of the graph, these can be useful to know what -data values were recorded. -

  • -How wide to draw the lines in the graph -
  • -How to filter speed and acceleration data +data values were recorded.

    +
  • +
  • +

    How wide to draw the lines in the graph

    +
  • +
  • +

    How to filter speed and acceleration data computed from barometric data. Flight computers with accelerometers never display computed acceleration data, and only use @@ -883,11 +2553,43 @@ barometric data to compute speed during descent. Flight computers without accelerometers always compute both speed and acceleration from barometric data. A larger -value smooths the data more. -

11.4.3. Flight Statistics

Figure 11.12. Flight Statistics

graph-stats.png

Shows overall data computed from the flight.

11.4.4. Map

Figure 11.13. Flight Map

graph-map.png

Shows a satellite image of the flight area overlaid +value smooths the data more.

+ + +
+
+
+

11.4.3. Flight Statistics

+
+
+graph stats +
+
Figure 19. Flight Statistics
+
+
+

Shows overall data computed from the flight.

+
+
+
+

11.4.4. Map

+
+
+graph map +
+
Figure 20. Flight Map
+
+
+

Shows a satellite image of the flight area overlaid with the path of the flight. The red concentric circles mark the launch pad, the black concentric -circles mark the landing location.

11.5. Export Data

This tool takes the raw data files and makes them +circles mark the landing location.

+
+
+
+
+

11.5. Export Data

+
+

This tool takes the raw data files and makes them available for external analysis. When you select this button, you are prompted to select a flight data file, which can be either a .eeprom or .telem. The .eeprom @@ -897,91 +2599,184 @@ strength information. Next, a second dialog appears which is used to select where to write the resulting file. It has a selector to choose between CSV and KML -file formats.

11.5.1. Comma Separated Value Format

This is a text file containing the data in a form +file formats.

+
+
+

11.5.1. Comma Separated Value Format

+
+

This is a text file containing the data in a form suitable for import into a spreadsheet or other external data analysis tool. The first few lines of the file contain the version and configuration information from the altimeter, then there is a single header line which labels all of the fields. All of -these lines start with a # character which many -tools can be configured to skip over.

The remaining lines of the file contain the data, with +these lines start with a '#' character which many +tools can be configured to skip over.

+
+
+

The remaining lines of the file contain the data, with each field separated by a comma and at least one space. All of the sensor values are converted to standard units, with the barometric data reported in -both pressure, altitude and height above pad units.

11.5.2. Keyhole Markup Language (for Google Earth)

This is the format used by Google Earth to provide an +both pressure, altitude and height above pad units.

+
+
+
+

11.5.2. Keyhole Markup Language (for Google Earth)

+
+

This is the format used by Google Earth to provide an overlay within that application. With this, you can use Google Earth to see the whole flight path -in 3D.

11.6. Configure Altimeter

Figure 11.14. Altimeter Configuration

configure-altimeter.png

Select this button and then select either an altimeter or +in 3D.

+
+
+
+
+

11.6. Configure Altimeter

+
+
+configure altimeter +
+
Figure 21. Altimeter Configuration
+
+
+

Select this button and then select either an altimeter or TeleDongle Device from the list provided. Selecting a TeleDongle device will use the radio link to configure a remote -altimeter.

The first few lines of the dialog provide information about the +altimeter.

+
+
+

The first few lines of the dialog provide information about the connected device, including the product name, software version and hardware serial number. Below that are the -individual configuration entries.

At the bottom of the dialog, there are four buttons:

-Save -
-This writes any changes to the configuration parameter -block in flash memory. If you don’t press this button, -any changes you make will be lost. -
-Reset -
-This resets the dialog to the most recently saved -values, erasing any changes you have made. -
-Reboot -
-This reboots the device. Use this to switch from idle +individual configuration entries.

+
+
+

At the bottom of the dialog, there are four buttons:

+
+
+
+
Save
+
+

This writes any changes to the configuration parameter +block in flash memory. If you don’t press this button, +any changes you make will be lost.

+
+
Reset
+
+

This resets the dialog to the most recently saved +values, erasing any changes you have made.

+
+
Reboot
+
+

This reboots the device. Use this to switch from idle to pad mode by rebooting once the rocket is oriented for flight, or to confirm changes you think you saved -are really saved. -

-Close -
-This closes the dialog. Any unsaved changes will be -lost. -

The rest of the dialog contains the parameters to be configured.

11.6.1. Main Deploy Altitude

This sets the altitude (above the recorded pad -altitude) at which the main igniter will fire. The +are really saved.

+ +
Close
+
+

This closes the dialog. Any unsaved changes will be +lost.

+
+ +
+
+

The rest of the dialog contains the parameters to be configured.

+
+
+

11.6.1. Main Deploy Altitude

+
+

This sets the altitude (above the recorded pad +altitude) at which the 'main' igniter will fire. The drop-down menu shows some common values, but you can edit the text directly and choose whatever you like. If the apogee charge fires below this altitude, then the main charge will fire two seconds after the -apogee charge fires.

11.6.2. Apogee Delay

When flying redundant electronics, it’s often -important to ensure that multiple apogee charges don’t +apogee charge fires.

+
+
+
+

11.6.2. Apogee Delay

+
+

When flying redundant electronics, it’s often +important to ensure that multiple apogee charges don’t fire at precisely the same time, as that can over pressurize the apogee deployment bay and cause a structural failure of the air-frame. The Apogee Delay parameter tells the flight computer to fire the apogee charge a certain number of seconds after apogee has -been detected.

11.6.3. Apogee Lockout

Apogee lockout is the number of seconds after launch +been detected.

+
+
+
+

11.6.3. Apogee Lockout

+
+

Apogee lockout is the number of seconds after launch where the flight computer will not fire the apogee charge, even if the rocket appears to be at -apogee. This is often called Mach Delay, as it is +apogee. This is often called 'Mach Delay', as it is intended to prevent a flight computer from unintentionally firing apogee charges due to the pressure spike that occurrs across a mach transition. Altus Metrum flight computers include a Kalman filter which is not fooled by this sharp pressure increase, and so this setting should be left -at the default value of zero to disable it.

Warning

Firmware versions older than 1.8.6 have a +at the default value of zero to disable it.

+
+
+ + + + + +
+Warning + +Firmware versions older than 1.8.6 have a bug which resets the time since launch to zero each time a motor starts burning. Update firmware to get -the correct behavior.

11.6.4. Frequency

This configures which of the frequencies to use for +the correct behavior. +

+
+
+
+

11.6.4. Frequency

+
+

This configures which of the frequencies to use for both telemetry and packet command mode. Note that if you set this value via packet command mode, the TeleDongle frequency will also be automatically reconfigured to match so that communication will -continue afterwards.

11.6.5. RF Calibration

The radios in every Altus Metrum device are calibrated +continue afterwards.

+
+
+
+

11.6.5. RF Calibration

+
+

The radios in every Altus Metrum device are calibrated at the factory to ensure that they transmit and receive on the specified frequency. If you need to you can adjust the calibration by changing this value. Do not do this without understanding what the value means, read the appendix on calibration and/or the source code for more information. To change a -TeleDongle’s calibration, you must reprogram the unit -completely.

11.6.6. Telemetry/RDF/APRS Enable

Enables the radio for transmission during +TeleDongle’s calibration, you must reprogram the unit +completely.

+
+
+
+

11.6.6. Telemetry/RDF/APRS Enable

+
+

Enables the radio for transmission during flight. When disabled, the radio will not -transmit anything during flight at all.

11.6.7. Telemetry baud rate

This sets the modulation bit rate for data +transmit anything during flight at all.

+
+
+
+

11.6.7. Telemetry baud rate

+
+

This sets the modulation bit rate for data transmission for both telemetry and packet link mode. Lower bit rates will increase range while reducing the amount of data that can be @@ -989,7 +2784,13 @@ sent and increasing battery consumption. All telemetry is done using a rate 1/2 constraint 4 convolution code, so the actual data transmission rate is 1/2 of the modulation bit -rate specified here.

11.6.8. APRS Interval

How often to transmit GPS information via APRS +rate specified here.

+
+
+
+

11.6.8. APRS Interval

+
+

How often to transmit GPS information via APRS (in seconds). When set to zero, APRS transmission is disabled. This option is @@ -999,10 +2800,22 @@ APRS packets. Note that a single APRS packet takes nearly a full second to transmit, so enabling this option will prevent sending any -other telemetry during that time.

11.6.9. APRS SSID

Which SSID to report in APRS packets. By +other telemetry during that time.

+
+
+
+

11.6.9. APRS SSID

+
+

Which SSID to report in APRS packets. By default, this is set to the last digit of the serial number, but can be configured to any -value from 0 to 9.

11.6.10. APRS Format

Whether to send APRS data in Compressed or +value from 0 to 9.

+
+
+
+

11.6.10. APRS Format

+
+

Whether to send APRS data in Compressed or Uncompressed format. Compressed format is smaller and more precise. Uncompressed format is older, but may work better with your @@ -1010,328 +2823,600 @@ device. The Kenwood TH-D72 only displays altitude information with Uncompressed format, while the Yaesu FT1D only displays altitude with Compressed format. Test before -you fly to see which to use.

11.6.11. Callsign

This sets the call sign included in each +you fly to see which to use.

+
+
+
+

11.6.11. Callsign

+
+

This sets the call sign included in each telemetry packet. Set this as needed to -conform to your local radio regulations.

11.6.12. Maximum Flight Log Size

This sets the space (in kilobytes) allocated +conform to your local radio regulations.

+
+
+
+

11.6.12. Maximum Flight Log Size

+
+

This sets the space (in kilobytes) allocated for each flight log. The available space will be divided into chunks of this size. A smaller value will allow more flights to be stored, a larger value will record data from longer -flights.

11.6.13. Ignitor Firing Mode

This configuration parameter allows the two standard ignitor +flights.

+
+
+
+

11.6.13. Ignitor Firing Mode

+
+

This configuration parameter allows the two standard ignitor channels (Apogee and Main) to be used in different -configurations.

-Dual Deploy -
-This is the usual mode of operation; the -apogee channel is fired at apogee and the -main channel at the height above ground -specified by the Main Deploy Altitude during -descent. -
-Redundant Apogee -
-This fires both channels at apogee, the -apogee channel first followed after a two -second delay by the main channel. -
-Redundant Main -
-This fires both channels at the height above +configurations.

+
+
+
+
Dual Deploy
+
+

This is the usual mode of operation; the +'apogee' channel is fired at apogee and the +'main' channel at the height above ground +specified by the 'Main Deploy Altitude' during +descent.

+
+
Redundant Apogee
+
+

This fires both channels at apogee, the +'apogee' channel first followed after a two +second delay by the 'main' channel.

+
+
Redundant Main
+
+

This fires both channels at the height above ground specified by the Main Deploy Altitude -setting during descent. The apogee channel +setting during descent. The 'apogee' channel is fired first, followed after a two second -delay by the main channel. -

11.6.14. Pad Orientation

Because they include accelerometers, +delay by the 'main' channel.

+ + +
+
+
+

11.6.14. Pad Orientation

+
+

Because they include accelerometers, TeleMetrum, TeleMega and EasyMega are sensitive to the orientation of the board. By default, they expect the antenna end to point forward. This parameter allows that default to be changed, permitting the board to be mounted -with the antenna pointing aft instead.

-Antenna Up -
-In this mode, the antenna end of the flight +with the antenna pointing aft instead.

+
+
+
+
Antenna Up
+
+

In this mode, the antenna end of the flight computer must point forward, in line with the -expected flight path. -

-Antenna Down -
-In this mode, the antenna end of the flight +expected flight path.

+
+
Antenna Down
+
+

In this mode, the antenna end of the flight computer must point aft, in line with the -expected flight path. -

11.6.15. Beeper Frequency

The beeper on all Altus Metrum flight +expected flight path.

+ + +
+
+
+

11.6.15. Beeper Frequency

+
+

The beeper on all Altus Metrum flight computers works best at 4000Hz, however if you have more than one flight computer in a single airframe, having all of them sound at the same frequency can be confusing. This parameter lets you adjust the base beeper frequency -value.

11.6.16. Logging Trigger Motion

This sets the amount of motion that TeleGPS +value.

+
+
+
+

11.6.16. Logging Trigger Motion

+
+

This sets the amount of motion that TeleGPS needs to see before logging the new position. Motions smaller than this are -skipped, which saves storage space.

11.6.17. Position Reporting Interval

The interval between TeleGPS position reports, +skipped, which saves storage space.

+
+
+
+

11.6.17. Position Reporting Interval

+
+

The interval between TeleGPS position reports, both over the air and in the log. Increase this to reduce the frequency of radio transmissions and the length of time available -in the log.

11.6.18. Calibrate Accelerometer

This opens a separate window to recalibrate the +in the log.

+
+
+
+

11.6.18. Calibrate Accelerometer

+
+

This opens a separate window to recalibrate the accelerometers. Follow the instructions, orienting the flight computer with the antenna end, or end opposite the screw terminals, in the case of EasyMega, first up -and then down.

When the calibration is complete, return to the +and then down.

+
+
+

When the calibration is complete, return to the Configure Altimeter window and save the new -calibration values.

11.6.19. Configure Pyro Channels

Figure 11.15. Additional Pyro Channel Configuration

configure-pyro.png

This opens a separate window to configure the +calibration values.

+
+
+
+

11.6.19. Configure Pyro Channels

+
+
+configure pyro +
+
Figure 22. Additional Pyro Channel Configuration
+
+
+

This opens a separate window to configure the additional pyro channels available on TeleMega and EasyMega. One column is presented for each channel. Each row represents a single parameter, if enabled the parameter must meet the specified test for the pyro channel to be -fired.

Select conditions and set the related value; -the pyro channel will be activated when all +fired.

+
+
+

Select conditions and set the related value; +the pyro channel will be activated when all of the conditions are met. Each pyro channel has a separate set of configuration values, so you can use different values for the same -condition with different channels.

At the bottom of the window, the Pyro Firing -Time configuration sets the length of time +condition with different channels.

+
+
+

At the bottom of the window, the 'Pyro Firing +Time' configuration sets the length of time (in seconds) which each of these pyro channels -will fire for.

Once you have selected the appropriate +will fire for.

+
+
+

Once you have selected the appropriate configuration for all of the necessary pyro channels, you can save the pyro configuration along with the rest of the flight computer -configuration by pressing the Save button in -the main Configure Flight Computer window.

-Vertical Acceleration -
-Select a value, and then choose whether +configuration by pressing the 'Save' button in +the main Configure Flight Computer window.

+
+
+
+
Vertical Acceleration
+
+

Select a value, and then choose whether acceleration away from the ground should be above or below that value. Acceleration is positive upwards, so accelerating towards the ground would produce negative numbers. Acceleration during descent is noisy and inaccurate, so be careful when using it during these phases -of the flight. -

-Ascent rate -
-Select a value, and then choose whether ascent rate +of the flight.

+
+
Ascent rate
+
+

Select a value, and then choose whether ascent rate should be above or below that value. Ascent rate is positive upwards, so moving towards the ground would produce negative numbers. Ascent rate during descent is a bit noisy and so be careful when using it -during these phases of the flight. -

-Height above pad -
-Select a value, and then choose whether the height -above the launch pad should be above or below that value. -
-Orientation -
-TeleMega and EasyMega contain a 3-axis gyroscope and +during these phases of the flight.

+
+
Height above pad
+
+

Select a value, and then choose whether the height +above the launch pad should be above or below that value.

+
+
Orientation
+
+

TeleMega and EasyMega contain a 3-axis gyroscope and accelerometer which is used to compute the orientation of the rocket. A record of orientations over the last 0.64 seconds is kept and the largest value within this period is compared with the specified value. Note that the tilt angle is not the change in angle from the launch pad, but rather absolute relative to gravity—the 3-axis accelerometer is used to compute the angle of the rocket on the -launch pad and initialize the system. -

Note

Because this value is computed by integrating +launch pad and initialize the system.

+ + +
+
+ + + + + +
+Note + +
+

Because this value is computed by integrating rate gyros, it gets progressively less accurate as the flight goes on. It should have an accumulated error of less than 0.2°/second (after 10 seconds of flight, the error should -be less than 2°).

The usual use of the orientation configuration +be less than 2°).

+
+
+

The usual use of the orientation configuration is to ensure that the rocket is traveling mostly upwards when deciding whether to ignite air starts or additional stages. For that, choose a reasonable maximum angle (like 20°) and set the motor igniter to require an angle -of less than that value.

-Flight Time -
-Time since launch. Select a value and choose whether to -activate the pyro channel before or after that amount of time. -

Warning

Firmware versions older than 1.8.6 have a bug which resets the time +of less than that value.

+
+
+
+
+
+
Flight Time
+
+

Time since launch. Select a value and choose whether to +activate the pyro channel before or after that amount of time.

+
+
+
+
+ + + + + +
+Warning + +Firmware versions older than 1.8.6 have a bug which resets the time since launch to zero each time a motor starts burning. Update firmware -to get the correct behavior.

-Ascending -
-A deprecated configuration value which was the same as +to get the correct behavior. +
+
+
+
+
Ascending
+
+

A deprecated configuration value which was the same as setting Ascent rate > 0. Existing configurations using this will be -cleared and must be reconfigured by the user. -

-Descending -
-A deprecated configuration value which was the same as +cleared and must be reconfigured by the user.

+
+
Descending
+
+

A deprecated configuration value which was the same as setting Ascent rate < 0. Existing configurations using this will be -cleared and must be reconfigured by the user. -

-After Motor -
-The flight software counts each time the rocket starts +cleared and must be reconfigured by the user.

+
+
After Motor
+
+

The flight software counts each time the rocket starts accelerating and then decelerating (presumably due to a motor or motors burning). Use this value for multi-staged or multi-airstart launches. As of version 1.8.6 firmware, this checks to make sure at least this many motors have burned. Before version 1.8.6, this checked -to make sure that exactly this many motors had burned. -

-Delay -
-Once the other parameters all become true, a timer is +to make sure that exactly this many motors had burned.

+
+
Delay
+
+

Once the other parameters all become true, a timer is started for the specified amount of time. While the timer is running, the other parameters are checked repeatedly and if any of them become false, then the pyro channel is disabled and will not fire. If the timer expires and all of the other parameters have remained true for -the entire time, then the pyro channel is fired. -

-Flight State -

-The flight software tracks the flight -through a sequence of states: -

  • -Boost. The motor has lit and the rocket is +the entire time, then the pyro channel is fired.

    +
+
Flight State
+
+

The flight software tracks the flight +through a sequence of states:

+
+
    +
  • +

    Boost. The motor has lit and the rocket is accelerating upwards. Ascent rate will be greater than zero. -Vertical acceleration will be greater than zero. -

  • -Fast. The motor has burned out and the +Vertical acceleration will be greater than zero.

    +
  • +
  • +

    Fast. The motor has burned out and the rocket is decelerating, but it is going faster than 200m/s. Ascent rate will be greater than zero. Vertical -acceleration will be less than zero. -

  • -Coast. The rocket is still moving upwards +acceleration will be less than zero.

    +
  • +
  • +

    Coast. The rocket is still moving upwards and decelerating, but the Ascent rate is less than 200m/s. Ascent rate will greater than zero. Vertical -acceleration will be less than zero. -

  • -Drogue. The rocket has reached apogee and +acceleration will be less than zero.

    +
  • +
  • +

    Drogue. The rocket has reached apogee and is heading back down, but is above the configured Main altitude. Ascent rate will be less than zero during this state. Vertical acceleration will be negative until the rocket reaches a terminal descent rate, at which point Vertical acceleration will be zero. Both Ascent rate and Vertical acceleration are very noisy in this state, so be careful when -trying to use them to control pyro channels. -

  • -Main. The rocket is still descending, and +trying to use them to control pyro channels.

    +
  • +
  • +

    Main. The rocket is still descending, and is below the Main altitude. Ascent rate will be less than zero during this state. Vertical acceleration may be briefly less than zero as the rocket slows from drogue descent to main descent, but it will settle down to a zero value once the rocket has reached the terminal velocity under the main chute. Ascent rate and Vertical acceleration should be much less noisy once the main chute has -deployed. -

  • -Landed. The rocket is no longer moving. -

You can select a state to limit when the pyro channel may activate; -note that the check is based on when the rocket transitions into the +deployed.

+ +
  • +

    Landed. The rocket is no longer moving.

    +
  • + +
    + + +
    +
    +

    You can select a state to limit when the pyro channel may activate; +note that the check is based on when the rocket transitions into the state, and so checking for “greater than Boost” means that the rocket -is currently in boost or some later state.

    When a motor burns out, the rocket enters either Fast or Coast state +is currently in boost or some later state.

    +
    +
    +

    When a motor burns out, the rocket enters either Fast or Coast state (depending on how fast it is moving). If the computer detects upwards -acceleration again, it will move back to Boost state.

    11.7. Configure AltosUI

    Figure 11.16. Configure AltosUI Dialog

    configure-altosui.png

    This button presents a dialog so that you can -configure the AltosUI global settings.

    11.7.1. Voice Settings

    AltosUI provides voice announcements during +acceleration again, it will move back to Boost state.

    +
    +
    +
    +
    +

    11.7. Configure AltosUI

    +
    +
    +configure altosui +
    +
    Figure 23. Configure AltosUI Dialog
    +
    +
    +

    This button presents a dialog so that you can +configure the AltosUI global settings.

    +
    +
    +

    11.7.1. Voice Settings

    +
    +

    AltosUI provides voice announcements during flight so that you can keep your eyes on the sky and still get information about the current flight status. However, sometimes you -don’t want to hear them.

    -Enable -
    -Turns all voice announcements on and off -
    -Test Voice -
    -Plays a short message allowing you to verify +don’t want to hear them.

    +
    +
    +
    +
    Enable
    +
    +

    Turns all voice announcements on and off

    +
    +
    Test Voice
    +
    +

    Plays a short message allowing you to verify that the audio system is working and the volume settings -are reasonable -

    11.7.2. Log Directory

    AltosUI logs all telemetry data and saves all +are reasonable

    + + +
    +
    +
    +

    11.7.2. Log Directory

    +
    +

    AltosUI logs all telemetry data and saves all flash data to this directory. This directory is also used as the staring point when selecting data files for display or -export.

    Click on the directory name to bring up a +export.

    +
    +
    +

    Click on the directory name to bring up a directory choosing dialog, select a new -directory and click Select Directory to +directory and click 'Select Directory' to change where AltosUI reads and writes data -files.

    11.7.3. Callsign

    This value is transmitted in each command +files.

    +
    +
    +
    +

    11.7.3. Callsign

    +
    +

    This value is transmitted in each command packet sent from TeleDongle and received from an altimeter. It is not used in telemetry mode, as the callsign configured in the altimeter board is included in all telemetry packets. Configure this with the AltosUI operators call sign as needed to comply with -your local radio regulations.

    Note that to successfully command a flight +your local radio regulations.

    +
    +
    +

    Note that to successfully command a flight computer over the radio (to configure the altimeter, monitor idle, or fire pyro charges), the callsign configured here must exactly match the callsign configured in the flight computer. This matching is case -sensitive.

    11.7.4. Imperial Units

    This switches between metric units (meters) +sensitive.

    +
    +
    +
    +

    11.7.4. Imperial Units

    +
    +

    This switches between metric units (meters) and imperial units (feet and miles). This affects the display of values use during flight monitoring, configuration, data graphing and all of the voice announcements. It does not change the units used when exporting to CSV files, those are -always produced in metric units.

    11.7.5. Serial Debug

    This causes all communication with a connected +always produced in metric units.

    +
    +
    +
    +

    11.7.5. Serial Debug

    +
    +

    This causes all communication with a connected device to be dumped to the console from which -AltosUI was started. If you’ve started it from +AltosUI was started. If you’ve started it from an icon or menu entry, the output will simply be discarded. This mode can be useful to debug -various serial communication issues.

    11.7.6. Font size

    Selects the set of fonts used in the flight +various serial communication issues.

    +
    +
    +
    +

    11.7.6. Font size

    +
    +

    Selects the set of fonts used in the flight monitor window. Choose between the small, -medium and large sets.

    11.7.7. Look & feel

    Switches between the available Java user +medium and large sets.

    +
    +
    +
    +

    11.7.7. Look & feel

    +
    +

    Switches between the available Java user interface appearances. The default selection is supposed to match the native window system -appearance for the target platform.

    11.7.8. Menu position

    Selects the initial position for the main +appearance for the target platform.

    +
    +
    +
    +

    11.7.8. Menu position

    +
    +

    Selects the initial position for the main AltosUI window that includes all of the -command buttons.

    11.7.9. Map Cache Size

    Sets the number of map tiles kept in memory +command buttons.

    +
    +
    +
    +

    11.7.9. Map Cache Size

    +
    +

    Sets the number of map 'tiles' kept in memory while the application is running. More tiles consume more memory, but will make panning -around the map faster.

    11.7.10. Manage Frequencies

    This brings up a dialog where you can +around the map faster.

    +
    +
    +
    +

    11.7.10. Manage Frequencies

    +
    +

    This brings up a dialog where you can configure the set of frequencies shown in the various frequency menus. You can add as many as you like, or even reconfigure the default set. Changing this list does not affect the frequency settings of any devices, it only changes the set of frequencies shown in the -menus.

    11.8. Configure Groundstation

    Figure 11.17. Configure Groundstation Dialog

    configure-groundstation.png

    Select this button and then select a TeleDongle or -TeleBT Device from the list provided.

    The first few lines of the dialog provide information +menus.

    +
    +
    +
    +
    +

    11.8. Configure Groundstation

    +
    +
    +configure groundstation +
    +
    Figure 24. Configure Groundstation Dialog
    +
    +
    +

    Select this button and then select a TeleDongle or +TeleBT Device from the list provided.

    +
    +
    +

    The first few lines of the dialog provide information about the connected device, including the product name, software version and hardware serial number. Below that are the individual configuration -entries.

    Note that TeleDongle and TeleBT don’t save any +entries.

    +
    +
    +

    Note that TeleDongle and TeleBT don’t save any configuration data, the settings here are recorded on the local machine in the Java preferences database. Moving the device to another machine, or using a different user account on the same machine -will cause settings made here to have no effect.

    At the bottom of the dialog, there are three -buttons:

    -Save -
    -This writes any changes to the local Java -preferences file. If you don’t press this -button, any changes you make will be lost. -
    -Reset -
    -This resets the dialog to the most recently +will cause settings made here to have no effect.

    +
    +
    +

    At the bottom of the dialog, there are three +buttons:

    +
    +
    +
    +
    Save
    +
    +

    This writes any changes to the local Java +preferences file. If you don’t press this +button, any changes you make will be lost.

    +
    +
    Reset
    +
    +

    This resets the dialog to the most recently saved values, erasing any changes you have -made. -

    -Close -
    -This closes the dialog. Any unsaved changes -will be lost. -

    The rest of the dialog contains the parameters -to be configured.

    11.8.1. Frequency

    This configures the frequency to use for both +made.

    + +
    Close
    +
    +

    This closes the dialog. Any unsaved changes +will be lost.

    +
    + +
    +
    +

    The rest of the dialog contains the parameters +to be configured.

    +
    +
    +

    11.8.1. Frequency

    +
    +

    This configures the frequency to use for both telemetry and packet command mode. Set this before starting any operation involving packet command mode so that it will use the right frequency. Telemetry monitoring mode also provides a menu to change the frequency, and that menu also sets the same Java preference -value used here.

    11.8.2. RF Calibration

    The radios in every Altus Metrum device are +value used here.

    +
    +
    +
    +

    11.8.2. RF Calibration

    +
    +

    The radios in every Altus Metrum device are calibrated at the factory to ensure that they transmit and receive on the specified -frequency. To change a TeleDongle or TeleBT’s +frequency. To change a TeleDongle or TeleBT’s calibration, you must reprogram the unit completely, so this entry simply shows the -current value and doesn’t allow any changes.

    11.8.3. Telemetry Rate

    This lets you match the telemetry and packet -link rate from the transmitter. If they don’t -match, the device won’t receive any data.

    11.9. Flash Image

    This reprograms Altus Metrum devices with new +current value and doesn’t allow any changes.

    +
    +
    +
    +

    11.8.3. Telemetry Rate

    +
    +

    This lets you match the telemetry and packet +link rate from the transmitter. If they don’t +match, the device won’t receive any data.

    +
    +
    +
    +
    +

    11.9. Flash Image

    +
    +

    This reprograms Altus Metrum devices with new firmware. TeleMetrum v1.x, TeleDongle v0.2, TeleMini v1.0 and TeleBT v1.0 are all reprogrammed by using another @@ -1342,68 +3427,129 @@ EasyMini and TeleDongle v3 are all programmed directly over USB (self programming). Please read the directions for flashing devices in -Appendix C, Updating Device Firmware.

    11.10. Fire Igniter

    Figure 11.18. Fire Igniter Window

    fire-igniter.png

    This activates the igniter circuits in the flight +Updating Device Firmware.

    +
    +
    +
    +

    11.10. Fire Igniter

    +
    +
    +fire igniter +
    +
    Figure 25. Fire Igniter Window
    +
    +
    +

    This activates the igniter circuits in the flight computer to help test recovery systems deployment. Because this command can operate over the Packet Command Link, you can prepare the rocket as for flight and then test the recovery system without -needing to snake wires inside the air-frame.

    Selecting the Fire Igniter button brings up the +needing to snake wires inside the air-frame.

    +
    +
    +

    Selecting the 'Fire Igniter' button brings up the usual device selection dialog. Pick the desired device. This brings up another window which shows the current continuity test status for all of the pyro -channels.

    Next, select the desired igniter to fire. This will -enable the Arm button.

    Select the Arm button. This enables the Fire -button. The word Arm is replaced by a countdown +channels.

    +
    +
    +

    Next, select the desired igniter to fire. This will +enable the 'Arm' button.

    +
    +
    +

    Select the 'Arm' button. This enables the 'Fire' +button. The word 'Arm' is replaced by a countdown timer indicating that you have 10 seconds to press the -Fire button or the system will deactivate, at which +'Fire' button or the system will deactivate, at which point you start over again at selecting the desired -igniter.

    11.11. Scan Channels

    Figure 11.19. Scan Channels Window

    scan-channels.png

    This listens for telemetry packets on all of the +igniter.

    +
    +
    +
    +

    11.11. Scan Channels

    +
    +
    +scan channels +
    +
    Figure 26. Scan Channels Window
    +
    +
    +

    This listens for telemetry packets on all of the configured frequencies, displaying information about each device it receives a packet from. You can select which of the baud rates and telemetry formats should be tried; by default, it only listens at 38400 baud with the standard telemetry format used in v1.0 and -later firmware.

    11.12. Load Maps

    Figure 11.20. Load Maps Window

    load-maps.png

    Before heading out to a new launch site, you can use -this to load satellite images in case you don’t have +later firmware.

    +
    +
    +
    +

    11.12. Load Maps

    +
    +
    +load maps +
    +
    Figure 27. Load Maps Window
    +
    +
    +

    Before heading out to a new launch site, you can use +this to load satellite images in case you don’t have internet connectivity at the site. Try not to wait -until the last minute, though, particularly if you’re +until the last minute, though, particularly if you’re heading to a major launch. If too many people are all trying to download map data at once, Google may -limit access until the next day.

    There’s a drop-down menu of launch sites we know -about; if your favorites aren’t there, please let us +limit access until the next day.

    +
    +
    +

    There’s a drop-down menu of launch sites we know +about; if your favorites aren’t there, please let us know the lat/lon and name of the site. The contents of this list are actually downloaded from our server at -run-time, so as new sites are sent in, they’ll get +run-time, so as new sites are sent in, they’ll get automatically added to this list. If the launch site -isn’t in the list, you can manually enter the lat/lon -values

    There are four different kinds of maps you can view; +isn’t in the list, you can manually enter the lat/lon +values

    +
    +
    +

    There are four different kinds of maps you can view; you can select which to download by selecting as many -as you like from the available types:

    -Hybrid -
    -A combination of satellite imagery and road data. This -is the default view. -
    -Satellite -
    -Just the satellite imagery without any annotation. -
    -Roadmap -
    -Roads, political boundaries and a few geographic -features. -
    -Terrain -
    -Contour intervals and shading that show hills and -valleys. -

    You can specify the range of zoom levels to download; +as you like from the available types:

    +
    +
    +
    +
    Hybrid
    +
    +

    A combination of satellite imagery and road data. This +is the default view.

    +
    +
    Satellite
    +
    +

    Just the satellite imagery without any annotation.

    +
    +
    Roadmap
    +
    +

    Roads, political boundaries and a few geographic +features.

    +
    +
    Terrain
    +
    +

    Contour intervals and shading that show hills and +valleys.

    +
    +
    +
    +
    +

    You can specify the range of zoom levels to download; smaller numbers show more area with less resolution. The default level, 0, shows about 3m/pixel. One zoom level change doubles or halves that number. Larger zoom levels show more detail, smaller -zoom levels less.

    The Map Radius value sets how large an area around the +zoom levels less.

    +
    +
    +

    The Map Radius value sets how large an area around the center point to download. Select a value large enough to cover any plausible flight from that site. Be aware that loading a large area with a high maximum zoom @@ -1411,204 +3557,302 @@ level can attempt to download a lot of data. Loading hybrid maps with a 10km radius at a minimum zoom of -2 and a maximum zoom of 2 consumes about 120MB of space. Terrain and road maps consume about 1/10 as -much space as satellite or hybrid maps.

    Clicking the Load Map button will fetch images from +much space as satellite or hybrid maps.

    +
    +
    +

    Clicking the 'Load Map' button will fetch images from Google Maps; note that Google limits how many images you can fetch at once, so if you load more than one launch site, you may get some gray areas in the map which indicate that Google is tired of sending data to -you. Try again later.

    11.13. Monitor Idle

    Figure 11.21. Monitor Idle Window

    monitor-idle.png

    This brings up a dialog similar to the Monitor Flight +you. Try again later.

    +
    +
    +
    +

    11.13. Monitor Idle

    +
    +
    +monitor idle +
    +
    Figure 28. Monitor Idle Window
    +
    +
    +

    This brings up a dialog similar to the Monitor Flight UI, except it works with the altimeter in “idle” mode by sending query commands to discover the current state rather than listening for telemetry packets. Because this uses command mode, it needs to have the TeleDongle and flight computer callsigns match exactly. If you can receive telemetry, but -cannot manage to run Monitor Idle, then it’s very -likely that your callsigns are different in some way.

    You can change the frequency and callsign used to +cannot manage to run Monitor Idle, then it’s very +likely that your callsigns are different in some way.

    +
    +
    +

    You can change the frequency and callsign used to communicate with the flight computer; they must both match the configuration in the flight computer -exactly.

    Chapter 12. AltosDroid

    AltosDroid provides the same flight monitoring capabilities as +exactly.

    +
    +
    +
    +
    +
    +

    12. AltosDroid

    +
    +
    +

    AltosDroid provides the same flight monitoring capabilities as AltosUI, but runs on Android devices. AltosDroid is designed to connect to a TeleBT receiver over Bluetooth™ and (on Android devices supporting USB On-the-go) TeleDongle and TeleBT devices over USB. AltosDroid monitors telemetry data, logging it to internal storage in the Android device, and -presents that data in a UI similar to the Monitor Flight -window in AltosUI.

    This manual will explain how to configure AltosDroid, connect +presents that data in a UI similar to the 'Monitor Flight' +window in AltosUI.

    +
    +
    +

    This manual will explain how to configure AltosDroid, connect to TeleBT or TeleDongle, operate the flight monitoring -interface and describe what the displayed data means.

    12.1. Installing AltosDroid

    AltosDroid is available from the Google Play store. To +interface and describe what the displayed data means.

    +
    +
    +

    12.1. Installing AltosDroid

    +
    +

    AltosDroid is available from the Google Play store. To install it on your Android device, open the Google Play Store application and search for -“altosdroid”. Make sure you don’t have a space between -“altos” and “droid” or you probably won’t find what +“altosdroid”. Make sure you don’t have a space between +“altos” and “droid” or you probably won’t find what you want. That should bring you to the right page from -which you can download and install the application.

    12.2. Charging TeleBT Battery

    Before using TeleBT with AltosDroid, make sure the +which you can download and install the application.

    +
    +
    +
    +

    12.2. Charging TeleBT Battery

    +
    +

    Before using TeleBT with AltosDroid, make sure the internal TeleBT battery is charged. To do this, attach a micro USB cable from a computer or other USB power source to TeleBT. A dual LED on the circuit board should illuminate, showing red while the battery is charging, green when charging is completed, and both red and green on at the same time if there is a -battery fault.

    12.3. Connecting to TeleBT over Bluetooth™

    Press the Android Menu button or soft-key to see the -configuration options available. Select the Connect a -device option and then the Scan for devices entry +battery fault.

    +
    +
    +
    +

    12.3. Connecting to TeleBT over Bluetooth™

    +
    +

    Press the Android 'Menu' button or soft-key to see the +configuration options available. Select the 'Connect a +device' option and then the 'Scan for devices' entry at the bottom to look for your TeleBT device. Select your device, and when it asks for the code, enter -1234.

    Subsequent connections will not require you to enter -that code, and your paired device will appear in the -list without scanning.

    12.4. Connecting to TeleDongle or TeleBT over USB

    Get a special USB On-the-go adapter cable. These +'1234'.

    +
    +
    +

    Subsequent connections will not require you to enter +that code, and your 'paired' device will appear in the +list without scanning.

    +
    +
    +
    +

    12.4. Connecting to TeleDongle or TeleBT over USB

    +
    +

    Get a special USB On-the-go adapter cable. These cables have a USB micro-B male connector on one end and a standard A female connector on the other end. Plug in your TeleDongle or TeleBT device to the adapter cable and the adapter cable into your phone and AltosDroid should automatically start up. If it -doesn’t, the most likely reason is that your Android -device doesn’t support USB On-the-go.

    12.5. AltosDroid Menu

    The main AltosDroid menu has a selection of operation -and configuration options.

    -Connect a device -
    -Offers a menu of available TeleBT devices, and an -option to scan for additional devices. -
    -Disconnect device -
    -Disconnects the current TeleBT or TeleDongle +doesn’t, the most likely reason is that your Android +device doesn’t support USB On-the-go.

    +
    +
    +
    +

    12.5. AltosDroid Menu

    +
    +

    The main AltosDroid menu has a selection of operation +and configuration options.

    +
    +
    +
    +
    Connect a device
    +
    +

    Offers a menu of available TeleBT devices, and an +option to scan for additional devices.

    +
    +
    Disconnect device
    +
    +

    Disconnects the current TeleBT or TeleDongle device. You can reconnect TeleBT over bluetooth by using Connect a Device. You can reconnect a USB device -by unplugging it and then plugging it back in. -

    -Select radio frequency -
    -This selects which frequency to listen on by bringing +by unplugging it and then plugging it back in.

    +
    +
    Select radio frequency
    +
    +

    This selects which frequency to listen on by bringing up a menu of pre-set radio frequencies. Pick the one -which matches your altimeter. -

    -Select Tracker -
    -Switches the information displays to show data for a +which matches your altimeter.

    +
    +
    Select Tracker
    +
    +

    Switches the information displays to show data for a different transmitting device. The map will always show all of the devices in view. Trackers are shown and selected by serial number, so make sure you note -the serial number of devices in each airframe. -

    -Delete Track -
    -Deletes all information about a transmitting device. -
    -Setup -
    -Offers additional configuration operations. See -Section 12.6, “Setup”. -
    -Idle Mode -
    -Communicate with an altimeter in Idle mode. See Section 12.7, “Idle Mode” -
    -Quit -
    -Shuts down AltosDroid. -

    12.6. Setup

    -Telemetry Rate -
    -Altus Metrum transmitters can be configured to operate +the serial number of devices in each airframe.

    +
    +
    Delete Track
    +
    +

    Deletes all information about a transmitting device.

    +
    +
    Setup
    +
    +

    Offers additional configuration operations. See +Setup.

    +
    +
    Idle Mode
    +
    +

    Communicate with an altimeter in Idle mode. See Idle Mode

    +
    +
    Quit
    +
    +

    Shuts down AltosDroid.

    +
    +
    +
    +
    +
    +

    12.6. Setup

    +
    +
    +
    Telemetry Rate
    +
    +

    Altus Metrum transmitters can be configured to operate at lower data rates to improve transmission range. If you have configured your device to do this, this menu -item allows you to change the receiver to match. -

    -Units -
    -Selects which units used to report values. -
    -Map Type -
    -Displays a menu of map types and lets you select +item allows you to change the receiver to match.

    +
    +
    Units
    +
    +

    Selects which units used to report values.

    +
    +
    Map Type
    +
    +

    Displays a menu of map types and lets you select one. Hybrid maps include satellite images with a roadmap overlaid. Satellite maps dispense with the roadmap overlay. Roadmap shows just the roads. Terrain includes roads along with shadows indicating changes -in elevation, and other geographical features. -

    -Map Source -
    -Select between online and offline maps. Online maps -will show a move to current position icon in the +in elevation, and other geographical features.

    +
    +
    Map Source
    +
    +

    Select between online and offline maps. Online maps +will show a 'move to current position' icon in the upper right corner, while offline maps will have copyright information all over the map. Otherwise, -they’re pretty similar. -

    -Preload Maps -
    -Brings up a dialog allowing you to download offline +they’re pretty similar.

    +
    +
    Preload Maps
    +
    +

    Brings up a dialog allowing you to download offline map tiles so that you can have maps available even if -you have no network connectivity at the launch site. -

    -Manage Frequencies -
    -This presents a dialog containing the current list of -frequencies that will be show in the Select radio -frequency menu. You can change the label for existing -frequencies, delete or add new frequencies. -

    12.7. Idle Mode

    -Callsign -
    -Lets you configure the callsign used by AltosDroid to +you have no network connectivity at the launch site.

    +
    +
    Manage Frequencies
    +
    +

    This presents a dialog containing the current list of +frequencies that will be show in the 'Select radio +frequency' menu. You can change the label for existing +frequencies, delete or add new frequencies.

    +
    +
    +
    +
    +
    +

    12.7. Idle Mode

    +
    +
    +
    Callsign
    +
    +

    Lets you configure the callsign used by AltosDroid to communicate with the flight computer. The callsign on the two devices must match or the communication will fail. This provides a modest amount of protection against accidentally controlling another persons -flight computer. -

    -Monitor -
    -This provides similar information to monitoring the +flight computer.

    +
    +
    Monitor
    +
    +

    This provides similar information to monitoring the telemetry stream from a flight computer in flight mode. The title of the application will change to -include (idle) so you can tell this mode is active. -

    -Reboot -
    -Remotely reboots the flight computer. This is useful +include (idle) so you can tell this mode is active.

    +
    +
    Reboot
    +
    +

    Remotely reboots the flight computer. This is useful when the flight computers turned on while the airframe is horizontal and you want to restart the flight computers in pad mode after raising the airframe to -vertical. -

    -Fire Igniters -
    -Remotely control igniters for ground testing recovery -systems. -

    12.8. AltosDroid Flight Monitoring

    AltosDroid is designed to mimic the AltosUI flight +vertical.

    + +
    Fire Igniters
    +
    +

    Remotely control igniters for ground testing recovery +systems.

    +
    + +
    +
    +
    +

    12.8. AltosDroid Flight Monitoring

    +
    +

    AltosDroid is designed to mimic the AltosUI flight monitoring display, providing separate tabs for each stage of your rocket flight along with a tab containing a map of the local area with icons marking the current location of the altimeter and the Android -device.

    12.9. Pad

    The Pad tab shows information used to decide when +device.

    +
    +
    +
    +

    12.9. Pad

    +
    +

    The 'Pad' tab shows information used to decide when the rocket is ready for flight. The first elements include red/green indicators, if any of these is red, -you’ll want to evaluate whether the rocket is ready to -launch.

    When the pad tab is selected, the voice responses will +you’ll want to evaluate whether the rocket is ready to +launch.

    +
    +
    +

    When the pad tab is selected, the voice responses will include status changes to the igniters and GPS reception, letting you know if the rocket is still -ready for launch.

    -Battery -
    -This indicates whether the Li-Po battery powering the +ready for launch.

    +
    +
    +
    +
    Battery
    +
    +

    This indicates whether the Li-Po battery powering the transmitter has sufficient charge to last for the duration of the flight. A value of more than 3.8V is -required for a GO status. -

    -Receiver Battery -
    -This indicates whether the Li-Po battery powering the +required for a 'GO' status.

    +
    +
    Receiver Battery
    +
    +

    This indicates whether the Li-Po battery powering the TeleBT has sufficient charge to last for the duration of the flight. A value of more than 3.8V is required -for a GO status. -

    -Data Logging -
    -This indicates whether there is space remaining +for a 'GO' status.

    +
    +
    Data Logging
    +
    +

    This indicates whether there is space remaining on-board to store flight data for the upcoming -flight. If you’ve downloaded data, but failed to erase +flight. If you’ve downloaded data, but failed to erase flights, there may not be any space left. TeleMetrum and TeleMega can store multiple flights, depending on the configured maximum flight log size. TeleGPS logs @@ -1617,197 +3861,259 @@ flight, so it will need to be downloaded and erased after each flight to capture data. This only affects on-board flight logging; the altimeter will still transmit telemetry and fire ejection charges at the -proper times. -

    -GPS Locked -
    -For a TeleMetrum or TeleMega device, this indicates +proper times.

    +
    +
    GPS Locked
    +
    +

    For a TeleMetrum or TeleMega device, this indicates whether the GPS receiver is currently able to compute position information. GPS requires at least 4 -satellites to compute an accurate position. -

    -GPS Ready -
    -For a TeleMetrum or TeleMega device, this indicates +satellites to compute an accurate position.

    +
    +
    GPS Ready
    +
    +

    For a TeleMetrum or TeleMega device, this indicates whether GPS has reported at least 10 consecutive positions without losing lock. This ensures that the GPS receiver has reliable reception from the -satellites. -

    -Apogee Igniter -
    -This indicates whether the apogee igniter has +satellites.

    +
    +
    Apogee Igniter
    +
    +

    This indicates whether the apogee igniter has continuity. If the igniter has a low resistance, then the voltage measured here will be close to the Li-Po battery voltage. A value greater than 3.2V is required -for a GO status. -

    -Main Igniter -
    -This indicates whether the main igniter has +for a 'GO' status.

    +
    +
    Main Igniter
    +
    +

    This indicates whether the main igniter has continuity. If the igniter has a low resistance, then the voltage measured here will be close to the Li-Po battery voltage. A value greater than 3.2V is required -for a GO status. -

    -Igniter A-D -
    -This indicates whether the indicated additional pyro +for a 'GO' status.

    +
    +
    Igniter A-D
    +
    +

    This indicates whether the indicated additional pyro channel igniter has continuity. If the igniter has a low resistance, then the voltage measured here will be close to the Li-Po battery voltage. A value greater -than 3.2V is required for a GO status. -

    The Pad tab also shows the location of the Android -device.

    12.10. Flight

    The Flight tab shows information used to evaluate +than 3.2V is required for a 'GO' status.

    + + +
    +
    +

    The Pad tab also shows the location of the Android +device.

    +
    +
    +
    +

    12.10. Flight

    +
    +

    The 'Flight' tab shows information used to evaluate and spot a rocket while in flight. It displays speed and height data to monitor the health of the rocket, along with elevation, range and bearing to help locate -the rocket in the sky.

    While the Flight tab is displayed, the voice +the rocket in the sky.

    +
    +
    +

    While the Flight tab is displayed, the voice announcements will include current speed, height, -elevation and bearing information.

    -Speed -
    -Shows current vertical speed. During descent, the +elevation and bearing information.

    +
    +
    +
    +
    Speed
    +
    +

    Shows current vertical speed. During descent, the speed values are averaged over a fairly long time to -try and make them steadier. -

    -Height -
    -Shows the current height above the launch pad. -
    -Max Speed -
    -Shows the maximum vertical speed seen during the -flight. -
    -Max Height -
    -Shows the maximum height above launch pad. -
    -Elevation -
    -This is the angle above the horizon from the android -devices current position. -
    -Range -
    -The total distance from the android device to the +try and make them steadier.

    +
    +
    Height
    +
    +

    Shows the current height above the launch pad.

    +
    +
    Max Speed
    +
    +

    Shows the maximum vertical speed seen during the +flight.

    +
    +
    Max Height
    +
    +

    Shows the maximum height above launch pad.

    +
    +
    Elevation
    +
    +

    This is the angle above the horizon from the android +devices current position.

    +
    +
    Range
    +
    +

    The total distance from the android device to the rocket, including both ground distance and difference in altitude. Use this to gauge how large the rocket is -likely to appear in the sky. -

    -Bearing -
    -This is the azimuth from true north for the rocket +likely to appear in the sky.

    +
    +
    Bearing
    +
    +

    This is the azimuth from true north for the rocket from the android device. Use this in combination with the Elevation value to help locate the rocket in the sky, or at least to help point the antenna in the general direction. This is provided in both degrees -and a compass point (like West South West). You’ll +and a compass point (like West South West). You’ll want to know which direction is true north before -launching your rocket. -

    -Ground Distance -
    -This shows the distance across the ground to the +launching your rocket.

    +
    +
    Ground Distance
    +
    +

    This shows the distance across the ground to the lat/lon where the rocket is located. Use this to -estimate what is currently under the rocket. -

    -Latitude/Longitude -
    -Displays the last known location of the rocket. -
    -Apogee Igniter -
    -This indicates whether the apogee igniter has +estimate what is currently under the rocket.

    +
    +
    Latitude/Longitude
    +
    +

    Displays the last known location of the rocket.

    +
    +
    Apogee Igniter
    +
    +

    This indicates whether the apogee igniter has continuity. If the igniter has a low resistance, then the voltage measured here will be close to the Li-Po battery voltage. A value greater than 3.2V is required -for a GO status. -

    -Main Igniter -
    -This indicates whether the main igniter has +for a 'GO' status.

    +
    +
    Main Igniter
    +
    +

    This indicates whether the main igniter has continuity. If the igniter has a low resistance, then the voltage measured here will be close to the Li-Po battery voltage. A value greater than 3.2V is required -for a GO status. -

    12.11. Recover

    The Recover tab shows information used while -recovering the rocket on the ground after flight.

    While the Recover tab is displayed, the voice +for a 'GO' status.

    + + +
    +
    +
    +

    12.11. Recover

    +
    +

    The 'Recover' tab shows information used while +recovering the rocket on the ground after flight.

    +
    +
    +

    While the Recover tab is displayed, the voice announcements will include distance along with either bearing or direction, depending on whether you are -moving.

    -Bearing -
    -This is the azimuth from true north for the rocket +moving.

    +
    +
    +
    +
    Bearing
    +
    +

    This is the azimuth from true north for the rocket from the android device. Use this in combination with the Elevation value to help locate the rocket in the sky, or at least to help point the antenna in the general direction. This is provided in both degrees -and a compass point (like West South West). You’ll +and a compass point (like West South West). You’ll want to know which direction is true north before -launching your rocket. -

    -Direction -
    -When you are in motion, this provides the angle from -your current direction of motion towards the rocket. -
    -Distance -
    -Distance over the ground to the rocket. -
    -Tar Lat/Tar Lon -
    -Displays the last known location of the rocket. -
    -My Lat/My Lon -
    -Displays the location of the Android device. -
    -Max Height -
    -Shows the maximum height above launch pad seen during -the flight. -
    -Max Speed -
    -Shows the maximum vertical speed seen during the -flight. -
    -Max Accel -
    -Shows the maximum vertical acceleration seen during -the flight. -

    12.12. Map

    The Map tab shows a map of the area around the +launching your rocket.

    + +
    Direction
    +
    +

    When you are in motion, this provides the angle from +your current direction of motion towards the rocket.

    +
    +
    Distance
    +
    +

    Distance over the ground to the rocket.

    +
    +
    Tar Lat/Tar Lon
    +
    +

    Displays the last known location of the rocket.

    +
    +
    My Lat/My Lon
    +
    +

    Displays the location of the Android device.

    +
    +
    Max Height
    +
    +

    Shows the maximum height above launch pad seen during +the flight.

    +
    +
    Max Speed
    +
    +

    Shows the maximum vertical speed seen during the +flight.

    +
    +
    Max Accel
    +
    +

    Shows the maximum vertical acceleration seen during +the flight.

    +
    + +
    +
    +
    +

    12.12. Map

    +
    +

    The 'Map' tab shows a map of the area around the rocket being tracked along with information needed to -recover it.

    On the map itself, icons showing the location of the +recover it.

    +
    +
    +

    On the map itself, icons showing the location of the android device along with the last known location of each tracker. A blue line is drawn from the android -device location to the currently selected tracker.

    Below the map, the distance and either bearing or +device location to the currently selected tracker.

    +
    +
    +

    Below the map, the distance and either bearing or direction along with the lat/lon of the target and the -android device are shown

    The Map tab provides the same voice announcements as -the Recover tab.

    12.13. Downloading Flight Logs

    AltosDroid always saves every bit of telemetry data it +android device are shown

    +
    +
    +

    The Map tab provides the same voice announcements as +the Recover tab.

    +
    +
    +
    +

    12.13. Downloading Flight Logs

    +
    +

    AltosDroid always saves every bit of telemetry data it receives. To download that to a computer for use with AltosUI, remove the SD card from your Android device, -or connect your device to your computer’s USB port and +or connect your device to your computer’s USB port and browse the files on that device. You will find -.telem files in the TeleMetrum directory that will -work with AltosUI directly.

    Appendix A. System Operation

    A.1. Firmware Modes

    The AltOS firmware build for the altimeters has two +'.telem' files in the TeleMetrum directory that will +work with AltosUI directly.

    +
    +
    +
    +
    +
    +

    Appendix A: System Operation

    +
    +
    +

    A.1. Firmware Modes

    +
    +

    The AltOS firmware build for the altimeters has two fundamental modes, “idle” and “flight”. Which of these modes the firmware operates in is determined at start up time. For TeleMetrum, TeleMega and EasyMega, which have accelerometers, the mode is controlled by the orientation of the -rocket (well, actually the board, of course…) at the time +rocket (well, actually the board, of course…​) at the time power is switched on. If the rocket is “nose up”, then -the flight computer assumes it’s on a rail or rod being prepared for +the flight computer assumes it’s on a rail or rod being prepared for launch, so the firmware chooses flight mode. However, if the rocket is more or less horizontal, the firmware instead enters idle mode. Since -EasyMini doesn’t +EasyMini doesn’t have an accelerometer we can use to determine orientation, “idle” mode is selected if the board is connected via USB to a computer, @@ -1815,13 +4121,19 @@ otherwise the board enters “flight” mode. TeleMini selects “idle” mode if it receives a command packet within the -first five seconds of operation.

    At power on, the altimeter will beep out the battery voltage +first five seconds of operation.

    +
    +
    +

    At power on, the altimeter will beep out the battery voltage to the nearest tenth of a volt. Each digit is represented by a sequence of short “dit” beeps, with a pause between digits. A zero digit is represented with one long “dah” beep. Then there will be a short pause while the altimeter completes initialization and self test, and decides which mode -to enter next.

    In flight or “pad” mode, the altimeter engages the flight +to enter next.

    +
    +
    +

    In flight or “pad” mode, the altimeter engages the flight state machine, goes into transmit-only mode to send telemetry, and waits for launch to be detected. Flight mode is indicated by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights, @@ -1831,9 +4143,12 @@ apogee continuity, two beeps/flashes indicate main continuity, three beeps/flashes indicate both apogee and main continuity, and one longer “brap” sound which is made by rapidly alternating between two tones indicates no continuity. For a -dual deploy flight, make sure you’re getting three beeps or +dual deploy flight, make sure you’re getting three beeps or flashes before launching! For apogee-only or motor eject -flights, do what makes sense.

    If idle mode is entered, you will hear an audible “di-dit” or +flights, do what makes sense.

    +
    +
    +

    If idle mode is entered, you will hear an audible “di-dit” or see two short flashes (“I” for idle), and the flight state machine is disengaged, thus no ejection charges will fire. The altimeters also listen for the radio link when in idle @@ -1843,52 +4158,87 @@ equivalently. TeleMini only has the radio link. Idle mode is useful for configuring the altimeter, for extracting data from the on-board storage chip after -flight, and for ground testing pyro charges.

    In “Idle” and “Pad” modes, once the mode indication +flight, and for ground testing pyro charges.

    +
    +
    +

    In “Idle” and “Pad” modes, once the mode indication beeps/flashes and continuity indication has been sent, if there is no space available to log the flight in on-board memory, the flight computer will emit a warbling tone (much -slower than the “no continuity tone”)

    See Section 3.5, “Understanding Beeps” for a summary of all of -the audio signals used.

    Once landed, the flight computer will signal that by emitting +slower than the “no continuity tone”)

    +
    +
    +

    See Understanding Beeps for a summary of all of +the audio signals used.

    +
    +
    +

    Once landed, the flight computer will signal that by emitting the “Landed” sound described above, after which it will beep out the apogee height (in meters). Each digit is represented by a sequence of short “dit” beeps, with a pause between digits. A zero digit is represented with one long “dah” beep. The flight computer will continue to report landed mode -and beep out the maximum height until turned off.

    One “neat trick” of particular value when TeleMetrum, TeleMega +and beep out the maximum height until turned off.

    +
    +
    +

    One “neat trick” of particular value when TeleMetrum, TeleMega or EasyMega are used with very large air-frames, is that you can power the board up while the rocket is horizontal, such that it comes up in idle mode. Then you can -raise the air-frame to launch position, and issue a reset command +raise the air-frame to launch position, and issue a 'reset' command via TeleDongle over the radio link to cause the altimeter to reboot and come up in flight mode. This is much safer than standing on the top step of a rickety step-ladder or hanging off the side of a launch tower with a screw-driver trying to turn on your avionics before -installing igniters!

    TeleMini is configured solely via the radio link. Of course, that +installing igniters!

    +
    +
    +

    TeleMini is configured solely via the radio link. Of course, that means you need to know the TeleMini radio configuration values -or you won’t be able to communicate with it. For situations -when you don’t have the radio configuration values, +or you won’t be able to communicate with it. For situations +when you don’t have the radio configuration values, TeleMini v1.0 -offers an emergency recovery mode. In this mode, +offers an 'emergency recovery' mode. In this mode, TeleMini v1.0 is -configured as follows:

    • -Sets the radio frequency to 434.550MHz -
    • -Sets the radio calibration back to the factory value. -
    • -Sets the callsign to N0CALL -
    • -Does not go to pad mode after five seconds. -

    To get into emergency recovery mode, first find the row of +configured as follows:

    +
    +
    +
      +
    • +

      Sets the radio frequency to 434.550MHz

      +
    • +
    • +

      Sets the radio calibration back to the factory value.

      +
    • +
    • +

      Sets the callsign to N0CALL

      +
    • +
    • +

      Does not go to 'pad' mode after five seconds.

      +
    • +
    +
    +
    +

    To get into 'emergency recovery' mode, first find the row of four small holes opposite the switch wiring. Using a short piece of small gauge wire, connect the outer two holes together, then power TeleMini up. Once the red LED is lit, -disconnect the wire and the board should signal that it’s in -idle mode after the initial five second startup -period.

    A.2. GPS

    TeleMetrum and TeleMega include a complete GPS receiver. A +disconnect the wire and the board should signal that it’s in +'idle' mode after the initial five second startup +period.

    +
    +
    +
    +

    A.2. GPS

    +
    +

    TeleMetrum and TeleMega include a complete GPS receiver. A complete explanation of how GPS works is beyond the scope of this manual, but the bottom line is that the GPS receiver needs to lock onto at least four satellites to obtain a solid -3 dimensional position fix and know what time it is.

    The flight computers provide backup power to the GPS chip any time a +3 dimensional position fix and know what time it is.

    +
    +
    +

    The flight computers provide backup power to the GPS chip any time a battery is connected. This allows the receiver to “warm start” on the launch rail much faster than if every power-on were a GPS “cold start”. In typical operations, powering up @@ -1898,76 +4248,116 @@ start and acquire lock. Then the board can be powered down during RSO review and installation on a launch rod or rail. When the board is turned back on, the GPS system should lock very quickly, typically long before igniter installation and return to the flight line are -complete.

    A.3. Controlling An Altimeter Over The Radio Link

    One of the unique features of the Altus Metrum system is the +complete.

    +
    +
    +
    + +
    +

    One of the unique features of the Altus Metrum system is the ability to create a two way command link between TeleDongle and an altimeter using the digital radio transceivers built into each device. This allows you to interact with the altimeter from afar, as if it were directly connected to the -computer.

    Any operation which can be performed with a flight computer can +computer.

    +
    +
    +

    Any operation which can be performed with a flight computer can either be done with the device directly connected to the computer via the USB cable, or through the radio -link. TeleMini doesn’t provide a USB connector and so it is +link. TeleMini doesn’t provide a USB connector and so it is always communicated with over radio. Select the appropriate TeleDongle device when the list of devices is presented and -AltosUI will interact with an altimeter over the radio link.

    One oddity in the current interface is how AltosUI selects the +AltosUI will interact with an altimeter over the radio link.

    +
    +
    +

    One oddity in the current interface is how AltosUI selects the frequency for radio communications. Instead of providing an interface to specifically configure the frequency, it uses whatever frequency was most recently selected for the target -TeleDongle device in Monitor Flight mode. If you haven’t ever +TeleDongle device in Monitor Flight mode. If you haven’t ever used that mode with the TeleDongle in question, select the Monitor Flight button from the top level UI, and pick the appropriate TeleDongle device. Once the flight monitoring window is open, select the desired frequency and then close it -down again. All radio communications will now use that frequency.

    • -Save Flight Data—Recover flight data from the -rocket without opening it up. -
    • -Configure altimeter apogee delays, main deploy +down again. All radio communications will now use that frequency.

      +
    +
    +
      +
    • +

      Save Flight Data—Recover flight data from the +rocket without opening it up.

      +
    • +
    • +

      Configure altimeter apogee delays, main deploy heights and additional pyro event conditions to respond to changing launch conditions. You can also -reboot the altimeter. Use this to remotely enable +'reboot' the altimeter. Use this to remotely enable the flight computer by turning TeleMetrum or TeleMega on in “idle” mode, then once the air-frame is oriented for launch, you can reboot the altimeter and have it restart in pad mode without -having to climb the scary ladder. -

    • -Fire Igniters—Test your deployment charges without snaking +having to climb the scary ladder.

      +
    • +
    • +

      Fire Igniters—Test your deployment charges without snaking wires out through holes in the air-frame. Simply assemble the rocket as if for flight with the apogee and main charges loaded, then remotely command the altimeter to fire the -igniters. -

    Operation over the radio link for configuring an +igniters.

    + + +
    +
    +

    Operation over the radio link for configuring an altimeter, ground testing igniters, and so forth uses the same RF frequencies as flight telemetry. To configure the desired TeleDongle frequency, select the monitor flight tab, then use the frequency selector and close the window before performing other desired -radio operations.

    The flight computers only enable radio commanding in -idle mode. TeleMetrum and TeleMega use the +radio operations.

    +
    +
    +

    The flight computers only enable radio commanding in +'idle' mode. TeleMetrum and TeleMega use the accelerometer to detect which orientation they start up in, so make sure you have the flight computer lying horizontally when you turn it on. Otherwise, it will -start in pad mode ready for flight, and will not be -listening for command packets from TeleDongle.

    TeleMini listens for a command packet for five seconds -after first being turned on, if it doesn’t hear -anything, it enters pad mode, ready for flight and +start in 'pad' mode ready for flight, and will not be +listening for command packets from TeleDongle.

    +
    +
    +

    TeleMini listens for a command packet for five seconds +after first being turned on, if it doesn’t hear +anything, it enters 'pad' mode, ready for flight and will no longer listen for command packets. The easiest way to connect to TeleMini is to initiate the command and select the TeleDongle device. At this point, the TeleDongle will be attempting to communicate with the TeleMini. Now turn TeleMini on, and it should immediately start communicating with the TeleDongle -and the desired operation can be performed.

    You can monitor the operation of the radio link by watching the +and the desired operation can be performed.

    +
    +
    +

    You can monitor the operation of the radio link by watching the lights on the devices. The red LED will flash each time a packet is transmitted, while the green LED will light up on TeleDongle when -it is waiting to receive a packet from the altimeter.

    A.4. Ground Testing

    An important aspect of preparing a rocket using electronic deployment +it is waiting to receive a packet from the altimeter.

    +
    +
    +
    +

    A.4. Ground Testing

    +
    +

    An important aspect of preparing a rocket using electronic deployment for flight is ground testing the recovery system. Thanks to the bi-directional radio link central to the Altus Metrum system, this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket with less work than you may be accustomed to with other systems. It -can even be fun!

    Just prep the rocket for flight, then power up the altimeter +can even be fun!

    +
    +
    +

    Just prep the rocket for flight, then power up the altimeter in “idle” mode (placing air-frame horizontal for TeleMetrum or TeleMega, or selecting the Configure Altimeter tab for TeleMini). @@ -1977,22 +4367,34 @@ state machine is disabled and charges will not fire without manual command. You can now command the altimeter to fire the apogee or main charges from a safe distance using your -computer and the Fire Igniter tab to complete ejection testing.

    A.5. Radio Link

    TeleMetrum, TeleMini and TeleMega all incorporate an -RF transceiver, but it’s not a full duplex system; +computer and the Fire Igniter tab to complete ejection testing.

    +
    +
    +
    + +
    +

    TeleMetrum, TeleMini and TeleMega all incorporate an +RF transceiver, but it’s not a full duplex system; each end can only be transmitting or receiving at any given moment. So we had to decide how to manage the -link.

    By design, the altimeter firmware listens for the -radio link when it’s in “idle mode”, which allows us +link.

    +
    +
    +

    By design, the altimeter firmware listens for the +radio link when it’s in “idle mode”, which allows us to use the radio link to configure the rocket, do things like ejection tests, and extract data after a flight without having to crack open the air-frame. However, when the board is in “flight mode”, the -altimeter only transmits and doesn’t listen at all. -That’s because we want to put ultimate priority on +altimeter only transmits and doesn’t listen at all. +That’s because we want to put ultimate priority on event detection and getting telemetry out of the rocket through the radio in case the rocket crashes -and we aren’t able to extract data later.

    We don’t generally use a normal packet radio mode -like APRS because they’re just too inefficient. The +and we aren’t able to extract data later.

    +
    +
    +

    We don’t generally use a 'normal packet radio' mode +like APRS because they’re just too inefficient. The GFSK modulation we use is FSK with the base-band pulses passed through a Gaussian filter before they go into the modulator to limit the transmitted bandwidth. @@ -2000,67 +4402,186 @@ When combined with forward error correction and interleaving, this allows us to have a very robust 19.2 kilobit data link with only 10-40 milliwatts of transmit power, a whip antenna in the rocket, and a -hand-held Yagi on the ground. We’ve had flights to +hand-held Yagi on the ground. We’ve had flights to above 21k feet AGL with great reception, and calculations suggest we should be good to well over 40k feet AGL with a 5-element yagi on the ground with our 10mW units and over 100k feet AGL with the 40mW devices. We hope to fly boards to higher altitudes over time, and would of course appreciate customer -feedback on performance in higher altitude flights!

    A.6. APRS

    TeleMetrum v2.0 and TeleMega can send APRS if desired, and the +feedback on performance in higher altitude flights!

    +
    +
    +
    +

    A.6. APRS

    +
    +

    TeleMetrum v2.0 and TeleMega can send APRS if desired, and the interval between APRS packets can be configured. As each APRS packet takes a full second to transmit, we recommend an interval of at least 5 seconds to avoid consuming too much battery power or radio channel bandwidth. You can configure the APRS interval using AltosUI; that process is described in -Section 11.6, “Configure Altimeter”.

    AltOS supports both compressed and uncompressed APRS +Configure Altimeter.

    +
    +
    +

    AltOS supports both compressed and uncompressed APRS position report data formats. The compressed format provides for higher position precision and shorter -packets than the uncompressed APRS format. We’ve found +packets than the uncompressed APRS format. We’ve found some older APRS receivers that do not handle the compressed format. The Kenwood TH-72A requires the use of uncompressed format to display altitude information correctly. The Yaesu FT1D requires the use of -compressed format to display altitude information.

    APRS packets include an SSID (Secondary Station Identifier) +compressed format to display altitude information.

    +
    +
    +

    APRS packets include an SSID (Secondary Station Identifier) field that allows one operator to have multiple transmitters. AltOS allows you to set this to a single digit from 0 to 9, allowing you to fly multiple transmitters at the same time while keeping the identify of each one separate in the receiver. By default, the SSID is set to the last digit of -the device serial number.

    The APRS packet format includes a comment field that +the device serial number.

    +
    +
    +

    The APRS packet format includes a comment field that can have arbitrary text in it. AltOS uses this to send -status information as shown in the following table.

    Table A.1. Altus Metrum APRS Comments

    Field Example Description

    1

    L

    GPS Status U for unlocked, L for locked

    2

    6

    Number of Satellites in View

    3

    B4.0

    Altimeter Battery Voltage

    4

    A3.7

    Apogee Igniter Voltage

    5

    M3.7

    Main Igniter Voltage

    6

    1286

    Device Serial Number

    4

    1286

    Device Serial Number


    Here’s an example of an APRS comment showing GPS lock with 6 +status information as shown in the following table.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 9. Altus Metrum APRS Comments
    FieldExampleDescription

    1

    L

    GPS Status U for unlocked, L for locked

    2

    6

    Number of Satellites in View

    3

    B4.0

    Altimeter Battery Voltage

    4

    A3.7

    Apogee Igniter Voltage

    5

    M3.7

    Main Igniter Voltage

    6

    1286

    Device Serial Number

    4

    1286

    Device Serial Number

    +
    +

    Here’s an example of an APRS comment showing GPS lock with 6 satellites in view, a primary battery at 4.0V, and -apogee and main igniters both at 3.7V from device 1286.

    L6 B4.0 A3.7 M3.7 1286

    Here’s an example of an APRS comment showing GPS lock with 6 -satellites in view and a primary battery at 4.0V from device 1876.

    L6 B4.0 1876

    Make sure your primary battery is above 3.8V +apogee and main igniters both at 3.7V from device 1286.

    +
    +
    +
    +
    L6 B4.0 A3.7 M3.7 1286
    +
    +
    +
    +

    Here’s an example of an APRS comment showing GPS lock with 6 +satellites in view and a primary battery at 4.0V from device 1876.

    +
    +
    +
    +
    L6 B4.0 1876
    +
    +
    +
    +

    Make sure your primary battery is above 3.8V any connected igniters are above 3.5V and GPS is locked with at least 5 or 6 satellites in view before flying. If GPS is switching between L and -U regularly, then it doesn’t have a good lock and you -should wait until it becomes stable.

    If the GPS receiver loses lock, the APRS data +U regularly, then it doesn’t have a good lock and you +should wait until it becomes stable.

    +
    +
    +

    If the GPS receiver loses lock, the APRS data transmitted will contain the last position for which GPS lock was available. You can tell that this has happened by noticing that the GPS status character -switches from L to U. Before GPS has locked, APRS +switches from 'L' to 'U'. Before GPS has locked, APRS will transmit zero for latitude, longitude and -altitude.

    A.7. Configurable Parameters

    Configuring an Altus Metrum altimeter for flight is +altitude.

    +
    +
    +
    +

    A.7. Configurable Parameters

    +
    +

    Configuring an Altus Metrum altimeter for flight is very simple. Even on our baro-only TeleMini and EasyMini boards, the use of a Kalman filter means there is no need to set a “mach delay”. All of the configurable parameters can be set using AltosUI. Read -Section 11.6, “Configure Altimeter” for more information.

    Appendix B. Handling Precautions

    All Altus Metrum products are sophisticated electronic devices. +Configure Altimeter for more information.

    +
    +
    +
    +
    +
    +

    Appendix B: Handling Precautions

    +
    +
    +

    All Altus Metrum products are sophisticated electronic devices. When handled gently and properly installed in an air-frame, they will deliver impressive results. However, as with all electronic -devices, there are some precautions you must take.

    Warning

    The Lithium Polymer rechargeable batteries have an +devices, there are some precautions you must take.

    +
    +
    + + + + + +
    +Warning + +The Lithium Polymer rechargeable batteries have an extraordinary power density. This is great because we can fly with much less battery mass than if we used alkaline batteries or previous -generation rechargeable batteries… but if they are punctured +generation rechargeable batteries…​ but if they are punctured or their leads are allowed to short, they can and will release their energy very rapidly! Thus we recommend that you take some care when handling our batteries and consider giving them some extra protection in your air-frame. We often wrap them in suitable scraps of closed-cell packing foam before -strapping them down, for example.

    The barometric sensors used on all of our flight computers are +strapping them down, for example. +

    +
    +
    +

    The barometric sensors used on all of our flight computers are sensitive to sunlight. In normal mounting situations, the baro sensor and all of the other surface mount components are “down” towards whatever the underlying mounting surface is, so @@ -2072,196 +4593,304 @@ consider this with TeleMini v1.0, both because the baro sensor is on the use clear plastic for the payload bay! Replacing these with an opaque cardboard tube, painting them, or wrapping them with a layer of masking tape are all reasonable approaches to keep the sensor out of direct -sunlight.

    The barometric sensor sampling port must be able to “breathe”, +sunlight.

    +
    +
    +

    The barometric sensor sampling port must be able to “breathe”, both by not being covered by foam or tape or other materials that might directly block the hole on the top of the sensor, and also by having a -suitable static vent to outside air.

    As with all other rocketry electronics, Altus Metrum altimeters must +suitable static vent to outside air.

    +
    +
    +

    As with all other rocketry electronics, Altus Metrum altimeters must be protected from exposure to corrosive motor exhaust and ejection -charge gasses.

    Appendix C. Updating Device Firmware

    TeleMega, TeleMetrum v2, EasyMega, EasyMini and TeleDongle v3 +charge gasses.

    +
    +
    +
    +
    +

    Appendix C: Updating Device Firmware

    +
    +
    +

    TeleMega, TeleMetrum v2, EasyMega, EasyMini and TeleDongle v3 are all programmed directly over their USB connectors (self programming). 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.

    You may wish to begin by ensuring you have current firmware +programming). It’s important to recognize which kind of devices +you have before trying to reprogram them.

    +
    +
    +

    You may wish to begin by ensuring you have current firmware images. These are distributed as part of the AltOS software bundle that also includes the AltosUI ground station program. Newer ground station versions typically work fine with older -firmware versions, so you don’t need to update your devices +firmware versions, so you don’t need to update your devices just to try out new software features. You can always download the most recent version from -http://www.altusmetrum.org/AltOS/

    C.1. Updating TeleMega, TeleMetrum v2, EasyMega, EasyMini or TeleDongle v3 Firmware

    Self-programmable devices are reprogrammed by -connecting them to your computer over USB.

    1. -Attach a battery if necessary and power switch to -the target device. Power up the device. -
    2. -Using a Micro USB cable, connect the target device to your -computer’s USB socket. -
    3. -Run AltosUI, and select Flash Image from the File menu. -
    4. -Select the target device in the Device Selection dialog. -
    5. -Select the image you want to flash to the device, +http://www.altusmetrum.org/AltOS/

      +
    +
    +

    C.1. Updating TeleMega, TeleMetrum v2, EasyMega, EasyMini or TeleDongle v3 Firmware

    +
    +

    Self-programmable devices are reprogrammed by +connecting them to your computer over USB.

    +
    +
    +
      +
    1. +

      Attach a battery if necessary and power switch to +the target device. Power up the device.

      +
    2. +
    3. +

      Using a Micro USB cable, connect the target device to your +computer’s USB socket.

      +
    4. +
    5. +

      Run AltosUI, and select 'Flash Image' from the File menu.

      +
    6. +
    7. +

      Select the target device in the Device Selection dialog.

      +
    8. +
    9. +

      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 EasyMini-v1.0-1.6.0.ihx. -

    10. -Make sure the configuration parameters are +such as EasyMini-v1.0-1.6.0.ihx.

      +
    11. +
    12. +

      Make sure the configuration parameters are reasonable looking. If the serial number and/or RF -configuration values aren’t right, you’ll need to -change them. -

    13. -Hit the OK button and the software should proceed +configuration values aren’t right, you’ll need to +change them.

      +
    14. +
    15. +

      Hit the 'OK' button and the software should proceed to flash the device with new firmware, showing a -progress bar. -

    16. -Verify that the device is working by using the -Configure Altimeter or Configure Groundstation -item to check over the configuration. -

    C.1.1. Recovering From Self-Flashing Failure

    If the firmware loading fails, it can leave the device +progress bar.

    + +
  • +

    Verify that the device is working by using the +'Configure Altimeter' or 'Configure Groundstation' +item to check over the configuration.

    +
  • + +
    +
    +

    C.1.1. Recovering From Self-Flashing Failure

    +
    +

    If the firmware loading fails, it can leave the device unable to boot. Not to worry, you can force the device to start the boot loader instead, which will let you try to -flash the device again.

    On each device, connecting two pins from one of the exposed +flash the device again.

    +
    +
    +

    On each device, connecting two pins from one of the exposed connectors will force the boot loader to start, even if the -regular operating system has been corrupted in some way.

    -TeleMega -
    -Connect pin 6 and pin 1 of the companion +regular operating system has been corrupted in some way.

    +
    +
    +
    +
    TeleMega
    +
    +

    Connect pin 6 and pin 1 of the companion connector. Pin 1 can be identified by the square pad around it, and then the pins could sequentially across -the board. Be very careful to not short pin 8 to +the board. Be very careful to not short pin 8 to anything as that is connected directly to the battery. Pin 7 carries 3.3V and the board will crash -if that is connected to pin 1, but shouldn’t damage -the board. -

    -EasyMega -
    -Connect pin 6 and pin 1 of the companion +if that is connected to pin 1, but shouldn’t damage +the board.

    +
    +
    EasyMega
    +
    +

    Connect pin 6 and pin 1 of the companion connector. Pin 1 can be identified by the square pad around it, and then the pins could sequentially across -the board. Be very careful to not short pin 8 to +the board. Be very careful to not short pin 8 to anything as that is connected directly to the battery. Pin 7 carries 3.3V and the board will crash -if that is connected to pin 1, but shouldn’t damage -the board. -

    -TeleMetrum v2 -
    -Connect pin 6 and pin 1 of the companion +if that is connected to pin 1, but shouldn’t damage +the board.

    +
    +
    TeleMetrum v2
    +
    +

    Connect pin 6 and pin 1 of the companion connector. Pin 1 can be identified by the square pad around it, and then the pins could sequentially across -the board. Be very careful to not short pin 8 to +the board. Be very careful to not short pin 8 to anything as that is connected directly to the battery. Pin 7 carries 3.3V and the board will crash -if that is connected to pin 1, but shouldn’t damage -the board. -

    -EasyMini -
    -Connect pin 6 and pin 1 of the debug connector, which +if that is connected to pin 1, but shouldn’t damage +the board.

    +
    +
    EasyMini
    +
    +

    Connect pin 6 and pin 1 of the debug connector, which is the six holes next to the beeper. Pin 1 can be 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. -

    -TeleDongle v3 -
    -Connect pin 32 on the CPU to ground. Pin 32 is closest +the one on the other end of the row.

    +
    +
    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. -

    Once you’ve located the right pins:

    1. -Turn the altimeter power off. -
    2. -Connect a battery. -
    3. -Connect the indicated terminals together with a +next to it, on the end towards the USB wires.

      + +
      TeleBT v4
      +
      +

      Connect pin 30 on the CPU to ground. Pin 30 is the 6th +pin from the right on the top when the unit is oriented +such that the SMA is at the top.

      +
      + +
    +
    +

    Once you’ve located the right pins:

    +
    +
    +
      +
    1. +

      Turn the altimeter power off.

      +
    2. +
    3. +

      Connect a battery.

      +
    4. +
    5. +

      Connect the indicated terminals together with a short piece of wire. Take care not to accidentally -connect anything else. -

    6. -Connect USB -
    7. -Turn the board power on. -

    The board should now be visible over USB as -AltosFlash and be ready to receive firmware. Once +connect anything else.

    + +
  • +

    Connect USB

    +
  • +
  • +

    Turn the board power on.

    +
  • + +
    +
    +

    The board should now be visible over USB as +'AltosFlash' and be ready to receive firmware. Once the board has been powered up, you can remove the -piece of wire.

    C.2. Pair Programming

    The big concept to understand is that you have to use +piece of wire.

    +
    +
    +
    +
    +

    C.2. Pair Programming

    +
    +

    The big concept to understand is that you have to use a TeleMetrum v1.0, TeleBT v1.0 or TeleDongle v0.2 as a programmer to update a pair programmed device. Due to -limited memory resources in the cc1111, we don’t +limited memory resources in the cc1111, we don’t support programming directly over USB for these -devices.

    If you need to update the firmware on a TeleDongle +devices.

    +
    +
    +

    If you need to update the firmware on a TeleDongle v0.2, we recommend updating the altimeter first, before updating TeleDongle. However, note that TeleDongle rarely need to be updated. Any firmware version 1.0.1 or later will work, version 1.2.1 may -have improved receiver performance slightly.

    C.2.1. Updating TeleMetrum v1.x Firmware

    1. -Find the programming cable that you got as +have improved receiver performance slightly.

      +
    +
    +

    C.2.1. Updating TeleMetrum v1.x Firmware

    +
    +
      +
    1. +

      Find the 'programming cable' that you got as part of the starter kit, that has a red 8-pin MicroMaTch connector on one end and a red 4-pin MicroMaTch connector on the other -end. -

    2. -Take the 2 screws out of the TeleDongle v0.2 +end.

      +
    3. +
    4. +

      Take the 2 screws out of the TeleDongle v0.2 or TeleBT v1.0 case to get access to the -circuit board. -

    5. -Plug the 8-pin end of the programming cable +circuit board.

      +
    6. +
    7. +

      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-pin end to the matching connector on the TeleMetrum. Note that each MicroMaTch connector has an alignment pin that goes through a hole in the PC board when you have the cable -oriented correctly. -

    8. -Attach a battery to the TeleMetrum board. -
    9. -Plug the TeleDongle v0.2 or TeleBT v1.0 into -your computer’s USB port, and power up the -TeleMetrum. -
    10. -Run AltosUI, and select Flash Image from -the File menu. -
    11. -Pick the TeleDongle v0.2 or TeleBT v1.0 +oriented correctly.

      +
    12. +
    13. +

      Attach a battery to the TeleMetrum board.

      +
    14. +
    15. +

      Plug the TeleDongle v0.2 or TeleBT v1.0 into +your computer’s USB port, and power up the +TeleMetrum.

      +
    16. +
    17. +

      Run AltosUI, and select 'Flash Image' from +the File menu.

      +
    18. +
    19. +

      Pick the TeleDongle v0.2 or TeleBT v1.0 device from the list, identifying it as the -programming device. -

    20. -Select the image you want put on the +programming device.

      +
    21. +
    22. +

      Select the image you want put on the TeleMetrum, which should have a name in the form telemetrum-v1.2-1.0.0.ihx. It should be visible in the default directory, if not you may have to poke around your system to -find it. -

    23. -Make sure the configuration parameters are +find it.

      +
    24. +
    25. +

      Make sure the configuration parameters are reasonable looking. If the serial number -and/or RF configuration values aren’t right, -you’ll need to change them. -

    26. -Hit the OK button and the software should +and/or RF configuration values aren’t right, +you’ll need to change them.

      +
    27. +
    28. +

      Hit the 'OK' button and the software should proceed to flash the TeleMetrum with new -firmware, showing a progress bar. -

    29. -Confirm that the TeleMetrum board seems to +firmware, showing a progress bar.

      +
    30. +
    31. +

      Confirm that the TeleMetrum board seems to have updated OK, which you can do by plugging in to it over USB and using a terminal program to connect to the board and -issue the v command to check the version, -etc. -

    If something goes wrong, give it another try.

    C.2.2. Updating TeleMini v1.0 Firmware

    You’ll need a special programming cable to +issue the 'v' command to check the version, +etc.

    + + +
    +
    +

    If something goes wrong, give it another try.

    +
    +
    +
    +

    C.2.2. Updating TeleMini v1.0 Firmware

    +
    +

    You’ll need a special 'programming cable' to 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.

    1. -Take the 2 screws out of the TeleDongle v0.2 +and a set of four pins on the other.

      +
    +
    +
      +
    1. +

      Take the 2 screws out of the TeleDongle v0.2 or TeleBT v1.0 case to get access to the -circuit board. -

    2. -Plug the 8-pin end of the programming cable +circuit board.

      +
    3. +
    4. +

      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 v1.0 circuit board. Note @@ -2270,131 +4899,260 @@ 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 v1.0 board is marked with a square pad -while the other pins have round pads. -

    5. -Attach a battery to the TeleMini v1.0 board. -
    6. -Plug the TeleDongle v0.2 or TeleBT v1.0 into -your computer’s USB port, and power up the -TeleMini v1.0 -
    7. -Run AltosUI, and select Flash Image from -the File menu. -
    8. -Pick the TeleDongle v0.2 or TeleBT v1.0 +while the other pins have round pads.

      +
    9. +
    10. +

      Attach a battery to the TeleMini v1.0 board.

      +
    11. +
    12. +

      Plug the TeleDongle v0.2 or TeleBT v1.0 into +your computer’s USB port, and power up the +TeleMini v1.0

      +
    13. +
    14. +

      Run AltosUI, and select 'Flash Image' from +the File menu.

      +
    15. +
    16. +

      Pick the TeleDongle v0.2 or TeleBT v1.0 device from the list, identifying it as the -programming device. -

    17. -Select the image you want put on the +programming device.

      +
    18. +
    19. +

      Select the image you want put on 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 -it. -

    20. -Make sure the configuration parameters are +it.

      +
    21. +
    22. +

      Make sure the configuration parameters are reasonable looking. If the serial number -and/or RF configuration values aren’t right, -you’ll need to change them. -

    23. -Hit the OK button and the software should +and/or RF configuration values aren’t right, +you’ll need to change them.

      +
    24. +
    25. +

      Hit the 'OK' button and the software should proceed to flash the TeleMini v1.0 with new -firmware, showing a progress bar. -

    26. -Confirm that the TeleMini v1.0 board seems to +firmware, showing a progress bar.

      +
    27. +
    28. +

      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 -“flight” mode and listening for telemetry. -

    If something goes wrong, give it another try.

    C.2.3. Updating TeleDongle v0.2 Firmware

    Updating TeleDongle v0.2 firmware is just like +“flight” mode and listening for telemetry.

    + + +
    +
    +

    If something goes wrong, give it another try.

    +
    +
    +
    +

    C.2.3. Updating TeleDongle v0.2 Firmware

    +
    +

    Updating TeleDongle v0.2 firmware is just like 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.

    1. -Find the programming cable that you got as part of +TeleBT v1.0 as the programmer.

      +
    +
    +
      +
    1. +

      Find the 'programming cable' that you got as part of the starter kit, that has a red 8-pin MicroMaTch connector on one end and a red 4-pin MicroMaTch -connector on the other end. -

    2. -Find the USB cable that you got as part of the +connector on the other end.

      +
    3. +
    4. +

      Find the USB cable that you got as part of the starter kit, and plug the “mini” end in to the mating connector on TeleMetrum v1.x, TeleDongle v0.2 -or TeleBT v1.0. -

    5. -Take the 2 screws out of the TeleDongle v0.2 or -TeleBT v1.0 case to get access to the circuit board. -
    6. -Plug the 8-pin end of the programming cable to the +or TeleBT v1.0.

      +
    7. +
    8. +

      Take the 2 screws out of the TeleDongle v0.2 or +TeleBT v1.0 case to get access to the circuit board.

      +
    9. +
    10. +

      Plug the 8-pin end of the programming cable to the matching connector on the programmer, and the 4-pin end to the matching connector on the TeleDongle v0.2. Note that each MicroMaTch connector has an alignment pin that goes through a hole in the PC -board when you have the cable oriented correctly. -

    11. -Attach a battery to the TeleMetrum v1.x board if -you’re using one. -
    12. -Plug both the programmer and the TeleDongle into -your computer’s USB ports, and power up the -programmer. -
    13. -Run AltosUI, and select Flash Image from the File -menu. -
    14. -Pick the programmer device from the list, -identifying it as the programming device. -
    15. -Select the image you want put on the TeleDongle +board when you have the cable oriented correctly.

      +
    16. +
    17. +

      Attach a battery to the TeleMetrum v1.x board if +you’re using one.

      +
    18. +
    19. +

      Plug both the programmer and the TeleDongle into +your computer’s USB ports, and power up the +programmer.

      +
    20. +
    21. +

      Run AltosUI, and select 'Flash Image' from the File +menu.

      +
    22. +
    23. +

      Pick the programmer device from the list, +identifying it as the programming device.

      +
    24. +
    25. +

      Select the image you want put on the TeleDongle v0.2, which should have a name in the form teledongle-v0.2-1.0.0.ihx. It should be visible in the default directory, if not you may have to poke -around your system to find it. -

    26. -Make sure the configuration parameters are +around your system to find it.

      +
    27. +
    28. +

      Make sure the configuration parameters are reasonable looking. If the serial number and/or RF -configuration values aren’t right, you’ll need to +configuration values aren’t right, you’ll need to change them. The TeleDongle v0.2 serial number is on the “bottom” of the circuit board, and can usually be read through the translucent blue plastic case without needing to remove the board from the -case. -

    29. -Hit the OK button and the software should proceed +case.

      +
    30. +
    31. +

      Hit the 'OK' button and the software should proceed to flash the TeleDongle v0.2 with new firmware, -showing a progress bar. -

    32. -Confirm that the TeleDongle v0.2 board seems to have +showing a progress bar.

      +
    33. +
    34. +

      Confirm that the TeleDongle v0.2 board seems to have updated OK, which you can do by plugging in to it over USB and using a terminal program to connect to -the board and issue the v command to check the -version, etc. Once you’re happy, remove the +the board and issue the 'v' command to check the +version, etc. Once you’re happy, remove the programming cable and put the cover back on the -TeleDongle v0.2. -

    If something goes wrong, give it another try.

    Be careful removing the programming cable from the -locking 8-pin connector on TeleMetrum. You’ll need a +TeleDongle v0.2.

    + + +
    +
    +

    If something goes wrong, give it another try.

    +
    +
    +

    Be careful removing the programming cable from the +locking 8-pin connector on TeleMetrum. You’ll need a fingernail or perhaps a thin screwdriver or knife blade to gently pry the locking ears out slightly to extract the connector. We used a locking connector on TeleMetrum to help ensure that the cabling to -companion boards used in a rocket don’t ever come -loose accidentally in flight.

    Appendix D. Flight Data Recording

    Each flight computer logs data at 100 samples per second +companion boards used in a rocket don’t ever come +loose accidentally in flight.

    +
    +
    +
    +
    +
    +
    +

    Appendix D: Flight Data Recording

    +
    +
    +

    Each flight computer logs data at 100 samples per second during ascent and 10 samples per second during descent, except for TeleMini v1.0, which records ascent at 10 samples per second and descent at 1 sample per second. Data are logged to an on-board flash memory part, which can be partitioned into -several equal-sized blocks, one for each flight.

    Table D.1. Data Storage on Altus Metrum altimeters

    Device Bytes per Sample Total Storage Minutes at Full Rate

    TeleMetrum v1.0

    8

    1MB

    20

    TeleMetrum v1.1 v1.2

    8

    2MB

    40

    TeleMetrum v2.0

    16

    8MB

    80

    TeleMini v1.0

    2

    5kB

    4

    TeleMini v3.0

    16

    512kB

    5

    EasyMini

    16

    1MB

    10

    TeleMega

    32

    8MB

    40

    EasyMega

    32

    8MB

    40


    The on-board flash is partitioned into separate flight logs, +several equal-sized blocks, one for each flight.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 10. Data Storage on Altus Metrum altimeters
    DeviceBytes per SampleTotal StorageMinutes at Full Rate

    TeleMetrum v1.0

    8

    1MB

    20

    TeleMetrum v1.1 v1.2

    8

    2MB

    40

    TeleMetrum v2.0

    16

    8MB

    80

    TeleMini v1.0

    2

    5kB

    4

    TeleMini v3.0

    16

    512kB

    5

    EasyMini

    16

    1MB

    10

    TeleMega

    32

    8MB

    40

    EasyMega

    32

    8MB

    40

    +
    +

    The on-board flash is partitioned into separate flight logs, each of a fixed maximum size. Increase the maximum size of each log and you reduce the number of flights that can be -stored. Decrease the size and you can store more flights.

    Configuration data is also stored in the flash memory on +stored. Decrease the size and you can store more flights.

    +
    +
    +

    Configuration data is also stored in the flash memory on TeleMetrum v1.x, TeleMini v3.0 and EasyMini. This consumes 64kB of flash space. This configuration space is not available -for storing flight log data.

    TeleMetrum v2.0, TeleMega and EasyMega +for storing flight log data.

    +
    +
    +

    TeleMetrum v2.0, TeleMega and EasyMega store configuration data in a bit of eeprom available within the processor chip, leaving that space available in flash for -more flight data.

    To compute the amount of space needed for a single flight, you +more flight data.

    +
    +
    +

    To compute the amount of space needed for a single flight, you can multiply the expected ascent time (in seconds) by 100 times bytes-per-sample, multiply the expected descent time (in seconds) by 10 times the bytes per sample and add the two @@ -2403,632 +5161,1786 @@ bytes) needed for the flight. For instance, a TeleMetrum v2.0 flight spending 20 seconds in ascent and 150 seconds in descent will take about (20 * 1600) + (150 * 160) = 56000 bytes of storage. You -could store dozens of these flights in the on-board flash.

    The default size allows for several flights on each flight +could store dozens of these flights in the on-board flash.

    +
    +
    +

    The default size allows for several flights on each flight computer, except for TeleMini v1.0, which only holds data for a single flight. -You can adjust the size.

    Altus Metrum flight computers will not overwrite existing +You can adjust the size.

    +
    +
    +

    Altus Metrum flight computers will not overwrite existing flight data, so be sure to download flight data and erase it from the flight computer before it fills up. The flight computer will still successfully control the flight even if it -cannot log data, so the only thing you will lose is the data.

    Appendix E. Altus Metrum Hardware Specifications

    Here’s the full set of Altus Metrum products, both in -production and retired.

    Table E.1. Altus Metrum Flight Computer Electronics

    Device Barometer Z-axis accel GPS 3D sensors Storage RF Output Battery

    TeleMetrum v1.0

    MP3H6115 10km (33k')

    MMA2202 50g

    SkyTraq

    -

    1MB

    10mW

    3.7V

    TeleMetrum v1.1

    MP3H6115 10km (33k')

    MMA2202 50g

    SkyTraq

    -

    2MB

    10mW

    3.7V

    TeleMetrum v1.2

    MP3H6115 10km (33k')

    ADXL78 70g

    SkyTraq

    -

    2MB

    10mW

    3.7V

    TeleMetrum v2.0

    MS5607 30km (100k')

    MMA6555 102g

    uBlox Max-7Q

    -

    8MB

    40mW

    3.7V

    TeleMini v1.0

    MP3H6115 10km (33k')

    -

    -

    -

    5kB

    10mW

    3.7V

    TeleMini v3.0

    MS5607 30km (100k')

    -

    -

    -

    512kB

    40mW

    3.7V

    EasyMini v1.0

    MS5607 30km (100k')

    -

    -

    -

    1MB

    -

    3.7-12V

    EasyMini v2.0

    MS5607 30km (100k')

    -

    -

    -

    1MB

    -

    3.7-12V

    TeleMega v1.0

    MS5607 30km (100k')

    MMA6555 102g

    uBlox Max-7Q

    MPU6000 HMC5883

    8MB

    40mW

    3.7V

    TeleMega v2.0

    MS5607 30km (100k')

    MMA6555 102g

    uBlox Max-7Q

    MPU6000 HMC5883

    8MB

    40mW

    3.7V

    TeleMega v3.0

    MS5607 30km (100k')

    MMA6555 102g

    uBlox Max-7Q

    MPU9250

    8MB

    40mW

    3.7V

    EasyMega v1.0

    MS5607 30km (100k')

    MMA6555 102g

    -

    MPU6000 HMC5883

    8MB

    -

    3.7V


    Table E.2. Altus Metrum Flight Computer Mechanical Components

    DeviceConnectorsScrew TerminalsWidthLengthTube Size

    TeleMetrum

    Antenna Debug Companion USB Battery

    Apogee pyro Main pyro Switch

    1 inch (2.54cm)

    2 ¾ inch (6.99cm)

    29mm coupler

    TeleMini v1.0

    Antenna Debug Battery

    Apogee pyro Main pyro

    ½ inch (1.27cm)

    1½ inch (3.81cm)

    18mm coupler

    TeleMini v2.0

    Antenna Debug USB Battery

    Apogee pyro Main pyro Battery Switch

    0.8 inch (2.03cm)

    1½ inch (3.81cm)

    24mm coupler

    EasyMini

    Debug USB Battery

    Apogee pyro Main pyro Battery

    0.8 inch (2.03cm)

    1½ inch (3.81cm)

    24mm coupler

    TeleMega

    Antenna Debug Companion USB Battery

    Apogee pyro Main pyro Pyro A-D Switch Pyro battery

    1¼ inch (3.18cm)

    3¼ inch (8.26cm)

    38mm coupler

    EasyMega

    Debug Companion USB Battery

    Apogee pyro Main pyro Pyro A-D Switch Pyro battery

    1¼ inch (3.18cm)

    2¼ inch (5.62cm)

    38mm coupler


    Appendix F. Release Notes

    F.1. Release Notes for Version 1.8.7

    Version 1.8.7

    F.1.1. AltOS

    • -Include TeleMega v3.0 firmware -

    F.1.2. AltosUI, TeleGPS, MicroPeak

    • -Poll for new devices while Device dialog is displayed -
    • -Wait for device to re-appear when flashing new firmware -
    • -Fetch correct TeleBT v4.0 RF calibration values from web -site when reflashing. -
    • -Change gyro headings in .csv files from x/y/z to -roll/pitch/yaw -
    • -Add documentation about Packet Link mode -
    • -Add documentation about forcing TeleMini RF parameters to -known values. -
    • -Create a proxy server for Google Maps to re-enable map -images -
    • -Fix Java version info in all distributed jar files so that -applications will run with standard Mac OS X Java. -
    • -Replace JavaApplicationStub for Mac OS X so that -applications will run with Oracle Java. -

    F.2. Release Notes for Version 1.8.6

    Version 1.8.6

    F.2.1. AltOS

    • -Use maximum of 64 previous tilt values in pyro tilt tests -
    • -Eliminate 100m height requirement for coast detection -
    • -Change After Motor pyro check to be >= instead of == -
    • -Change Time since Boost to be Time since launch. -

    F.2.2. AltosUI, TeleGPS

    • -Clarify pyro test phrasing -
    • -Remove ascending/descending from pyro config UI -
    • -Fix accel calibration in Antenna Down mode -
    • -Add mag sensor reporting for TeleMega v3 idle monitoring. -
    • -Fix radio parameter saving at 2400 bps telmetry rate. -

    F.2.3. MicroPeak

    • -Report altimeter-recorded maximum height value -

    F.3. Release Notes for Version 1.8.5

    Version 1.8.5 includes fixes to the ground software support -for TeleBT v4, along with a few other minor updates.

    F.3.1. AltOS

    • -Fix startup beeps that indicate sensor failures. -

    F.3.2. AltosUI, TeleGPS

    • -When updating device firmware, make sure selected firmware -matches target device. -
    • -Correct Bluetooth device matching when looking for TeleBT -devices. -

    F.4. Release Notes for Version 1.8.4

    Version 1.8.4 includes support for EasyMini version 2.0

    F.4.1. AltOS

    • -Support for EasyMini version 2.0 hardware. -

    F.5. Release Notes for Version 1.8.3

    Version 1.8.3 includes support for TeleMega version 3.0 along +cannot log data, so the only thing you will lose is the data.

    +
    +
    +
    +
    +

    Appendix E: Altus Metrum Hardware Specifications

    +
    +
    +

    Here’s the full set of Altus Metrum products, both in +production and retired.

    +
    + + ++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 11. Altus Metrum Flight Computer Electronics
    DeviceBarometerZ-axis accelGPS3D sensorsStorageRF OutputBattery

    TeleMetrum v1.0

    MP3H6115 10km (33k')

    MMA2202 50g

    SkyTraq

    -

    1MB

    10mW

    3.7V

    TeleMetrum v1.1

    MP3H6115 10km (33k')

    MMA2202 50g

    SkyTraq

    -

    2MB

    10mW

    3.7V

    TeleMetrum v1.2

    MP3H6115 10km (33k')

    ADXL78 70g

    SkyTraq

    -

    2MB

    10mW

    3.7V

    TeleMetrum v2.0

    MS5607 30km (100k')

    MMA6555 102g

    uBlox Max-7Q

    -

    8MB

    40mW

    3.7V

    TeleMini v1.0

    MP3H6115 10km (33k')

    -

    -

    -

    5kB

    10mW

    3.7V

    TeleMini v3.0

    MS5607 30km (100k')

    -

    -

    -

    512kB

    40mW

    3.7V

    EasyMini v1.0

    MS5607 30km (100k')

    -

    -

    -

    1MB

    -

    3.7-12V

    EasyMini v2.0

    MS5607 30km (100k')

    -

    -

    -

    1MB

    -

    3.7-12V

    TeleMega v1.0

    MS5607 30km (100k')

    MMA6555 102g

    uBlox Max-7Q

    MPU6000 HMC5883

    8MB

    40mW

    3.7V

    TeleMega v2.0

    MS5607 30km (100k')

    MMA6555 102g

    uBlox Max-7Q

    MPU6000 HMC5883

    8MB

    40mW

    3.7V

    TeleMega v3.0

    MS5607 30km (100k')

    MMA6555 102g

    uBlox Max-7Q

    MPU9250

    8MB

    40mW

    3.7V

    EasyMega v1.0

    MS5607 30km (100k')

    MMA6555 102g

    -

    MPU6000 HMC5883

    8MB

    -

    3.7V

    EasyMega v2.0

    MS5607 30km (100k')

    ADXL375 200g

    -

    MPU9250

    8MB

    -

    3.7V

    +
    + + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 12. Altus Metrum Flight Computer Mechanical Components
    DeviceConnectorsScrew TerminalsWidthLengthTube Size

    TeleMetrum

    Antenna Debug Companion USB Battery

    Apogee pyro Main pyro Switch

    1 inch (2.54cm)

    2 ¾ inch (6.99cm)

    29mm coupler

    TeleMini v1.0

    Antenna Debug Battery

    Apogee pyro Main pyro

    ½ inch (1.27cm)

    1½ inch (3.81cm)

    18mm coupler

    TeleMini v2.0

    Antenna Debug USB Battery

    Apogee pyro Main pyro Battery Switch

    0.8 inch (2.03cm)

    1½ inch (3.81cm)

    24mm coupler

    EasyMini

    Debug USB Battery

    Apogee pyro Main pyro Battery

    0.8 inch (2.03cm)

    1½ inch (3.81cm)

    24mm coupler

    TeleMega

    Antenna Debug Companion USB Battery

    Apogee pyro Main pyro Pyro A-D Switch Pyro battery

    1¼ inch (3.18cm)

    3¼ inch (8.26cm)

    38mm coupler

    EasyMega

    Debug Companion USB Battery

    Apogee pyro Main pyro Pyro A-D Switch Pyro battery

    1¼ inch (3.18cm)

    2¼ inch (5.62cm)

    38mm coupler

    +
    +
    +
    +

    Appendix F: Release Notes

    +
    +
    +

    F.1. Release Notes for Version 1.9

    +
    +

    Version 1.9

    +
    +
    +

    F.1.1. AltOS

    +
    +
      +
    • +

      Add support for EasyMega v2.0

      +
    • +
    • +

      Replace C library for ARM devices

      +
    • +
    • +

      Remove support for 8051-based devices and SDCC compiler

      +
    • +
    +
    +
    +
    +

    F.1.2. AltosUI, TeleGPS, MicroPeak

    +
    +
      +
    • +

      Select ROM images based on product name when reflashing

      +
    • +
    • +

      Fix TeleGPS v2 battery voltage display

      +
    • +
    +
    +
    +
    +
    +
    +

    F.2. Release Notes for Version 1.8.7

    +
    +

    Version 1.8.7

    +
    +
    +

    F.2.1. AltOS

    +
    +
      +
    • +

      Include TeleMega v3.0 firmware

      +
    • +
    +
    +
    +
    +

    F.2.2. AltosUI, TeleGPS, MicroPeak

    +
    +
      +
    • +

      Poll for new devices while Device dialog is displayed

      +
    • +
    • +

      Wait for device to re-appear when flashing new firmware

      +
    • +
    • +

      Fetch correct TeleBT v4.0 RF calibration values from web +site when reflashing.

      +
    • +
    • +

      Change gyro headings in .csv files from x/y/z to +roll/pitch/yaw

      +
    • +
    • +

      Add documentation about Packet Link mode

      +
    • +
    • +

      Add documentation about forcing TeleMini RF parameters to +known values.

      +
    • +
    • +

      Create a proxy server for Google Maps to re-enable map +images

      +
    • +
    • +

      Fix Java version info in all distributed jar files so that +applications will run with standard Mac OS X Java.

      +
    • +
    • +

      Replace JavaApplicationStub for Mac OS X so that +applications will run with Oracle Java.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.3. Release Notes for Version 1.8.6

    +
    +

    Version 1.8.6

    +
    +
    +

    F.3.1. AltOS

    +
    +
      +
    • +

      Use maximum of 64 previous tilt values in pyro tilt tests

      +
    • +
    • +

      Eliminate 100m height requirement for coast detection

      +
    • +
    • +

      Change After Motor pyro check to be >= instead of ==

      +
    • +
    • +

      Change Time since Boost to be Time since launch.

      +
    • +
    +
    +
    +
    +

    F.3.2. AltosUI, TeleGPS

    +
    +
      +
    • +

      Clarify pyro test phrasing

      +
    • +
    • +

      Remove ascending/descending from pyro config UI

      +
    • +
    • +

      Fix accel calibration in Antenna Down mode

      +
    • +
    • +

      Add mag sensor reporting for TeleMega v3 idle monitoring.

      +
    • +
    • +

      Fix radio parameter saving at 2400 bps telmetry rate.

      +
    • +
    +
    +
    +
    +

    F.3.3. MicroPeak

    +
    +
      +
    • +

      Report altimeter-recorded maximum height value

      +
    • +
    +
    +
    +
    +
    +
    +

    F.4. Release Notes for Version 1.8.5

    +
    +

    Version 1.8.5 includes fixes to the ground software support +for TeleBT v4, along with a few other minor updates.

    +
    +
    +

    F.4.1. AltOS

    +
    +
      +
    • +

      Fix startup beeps that indicate sensor failures.

      +
    • +
    +
    +
    +
    +

    F.4.2. AltosUI, TeleGPS

    +
    +
      +
    • +

      When updating device firmware, make sure selected firmware +matches target device.

      +
    • +
    • +

      Correct Bluetooth device matching when looking for TeleBT +devices.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.5. Release Notes for Version 1.8.4

    +
    +

    Version 1.8.4 includes support for EasyMini version 2.0

    +
    +
    +

    F.5.1. AltOS

    +
    +
      +
    • +

      Support for EasyMini version 2.0 hardware.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.6. Release Notes for Version 1.8.3

    +
    +

    Version 1.8.3 includes support for TeleMega version 3.0 along with two important flight computer fixes. This version also changes KML export data to make Tripoli Record reporting better and some updates to graph presentation and data -downloading.

    F.5.1. AltOS

    AltOS New Features

    • -Support for TeleMega version 3.0 hardware. -

    AltOS Bug Fixes

    • -Ground testing EasyMega and TeleMega additional pyro -channels could result in a sticky fired status which would -prevent these channels from firing on future flights. -
    • -Corrupted flight log records could prevent future flights -from capturing log data. -
    • -Fixed saving of pyro configuration that ended with -Descending. -

    F.5.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Support for TeleMega version 3.0. -
    • -Graph lines have improved appearance to make them easier to +downloading.

      +
    +
    +

    F.6.1. AltOS

    +
    +
    AltOS New Features
    +
    +
      +
    • +

      Support for TeleMega version 3.0 hardware.

      +
    • +
    +
    +
    +
    +
    AltOS Bug Fixes
    +
    +
      +
    • +

      Ground testing EasyMega and TeleMega additional pyro +channels could result in a sticky 'fired' status which would +prevent these channels from firing on future flights.

      +
    • +
    • +

      Corrupted flight log records could prevent future flights +from capturing log data.

      +
    • +
    • +

      Fixed saving of pyro configuration that ended with +'Descending'.

      +
    • +
    +
    +
    +
    +
    +

    F.6.2. AltosUI and TeleGPS Applications

    +
    +
    AltosUI New Features
    +
    +
      +
    • +

      Support for TeleMega version 3.0.

      +
    • +
    • +

      Graph lines have improved appearance to make them easier to distinguish. Markers may be placed at data points to show -captured recorded data values. -

    • -Graphing offers the ability to adjust the smoothing of -computed speed and acceleration data. -
    • -The download dialog now offers to graph new flights, checks +captured recorded data values.

      +
    • +
    • +

      Graphing offers the ability to adjust the smoothing of +computed speed and acceleration data.

      +
    • +
    • +

      The download dialog now offers to graph new flights, checks for existing files to avoid overwriting data and reports if -there are checksum errors in the downloaded data. -

    AltosUI/TeleGPS Bug Fixes

    • -Restore TeleGPS tracking behavior. -
    • -Display flight computer call sign and serial number in -Monitor Idle mode instead of ground station values. -

    AltosUI and TeleGPS Changes

    • -KML export now reports both barometric and GPS altitude data -to make it more useful for Tripoli record reporting. -
    • -CSV export now includes TeleMega/EasyMega pyro voltages and -tilt angle. -

    F.6. Release Notes for Version 1.8.2

    Version 1.8.2 includes support for TeleGPS version 2.0 along -with accelerometer recalibration support in AltosUI.

    1.8.2 also contains a couple of minor fixes for AltosUI when -analyzing saved data files.

    F.6.1. AltOS

    AltOS New Features

    • -Support for TeleGPS version 2.0 hardware. -

    F.6.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • -Support for TeleGPS version 2.0. -
    • -Accelerometer re-calibration user interface. -

    AltosUI and TeleGPS Bug Fixes

    • -Prevent some crashes when reading older saved flight data -for graphing or KML export. -

    F.7. Release Notes for Version 1.8.1

    Version 1.8.1 includes an important bug fix for Apogee Lockout +there are checksum errors in the downloaded data.

    + + +
    +
    +
    +
    AltosUI/TeleGPS Bug Fixes
    +
    +
      +
    • +

      Restore TeleGPS tracking behavior.

      +
    • +
    • +

      Display flight computer call sign and serial number in +Monitor Idle mode instead of ground station values.

      +
    • +
    +
    +
    +
    +
    AltosUI and TeleGPS Changes
    +
    +
      +
    • +

      KML export now reports both barometric and GPS altitude data +to make it more useful for Tripoli record reporting.

      +
    • +
    • +

      CSV export now includes TeleMega/EasyMega pyro voltages and +tilt angle.

      +
    • +
    +
    +
    +
    +
    +
    +
    +

    F.7. Release Notes for Version 1.8.2

    +
    +

    Version 1.8.2 includes support for TeleGPS version 2.0 along +with accelerometer recalibration support in AltosUI.

    +
    +
    +

    1.8.2 also contains a couple of minor fixes for AltosUI when +analyzing saved data files.

    +
    +
    +

    F.7.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Support for TeleGPS version 2.0 hardware.

      +
    • +
    +
    +
    +
    +

    F.7.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features

    +
    +
    +
      +
    • +

      Support for TeleGPS version 2.0.

      +
    • +
    • +

      Accelerometer re-calibration user interface.

      +
    • +
    +
    +
    +

    AltosUI and TeleGPS Bug Fixes

    +
    +
    +
      +
    • +

      Prevent some crashes when reading older saved flight data +for graphing or KML export.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.8. Release Notes for Version 1.8.1

    +
    +

    Version 1.8.1 includes an important bug fix for Apogee Lockout operation in all flight computers. Anyone using this option -must update firmware.

    This release also contains a change in how flight computers +must update firmware.

    +
    +
    +

    This release also contains a change in how flight computers with accelerometers deal with speeds around and above Mach 1. In previous versions, the flight computer would completely disregard the barometric sensor above 330m/s (around Mach 1). Now, the data from the barometric sensor is reduced in effect without ever going away entirely. This prevents early drogue deployment for flights which spend considerable time -above Mach 1.

    1.8.1 also contains a couple of minor fixes for AltosUI when -analyzing saved data files.

    F.7.1. AltOS

    AltOS Bug Fixes

    • -Handle time value wrapping in Apogee Lockout +above Mach 1.

      +
    +
    +

    1.8.1 also contains a couple of minor fixes for AltosUI when +analyzing saved data files.

    +
    +
    +

    F.8.1. AltOS

    +
    +

    AltOS Bug Fixes

    +
    +
    +
      +
    • +

      Handle time value wrapping in Apogee Lockout correctly. Without this, apogee lockout would sometimes -prevent any drogue charge from firing. -

    • -Change Kalman filter on flight computers with accelerometer +prevent any drogue charge from firing.

      +
    • +
    • +

      Change Kalman filter on flight computers with accelerometer to continue using the barometric sensor even at high speeds to avoid unintentional drogue deployment during -deceleration. -

    F.7.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add new Huge font size to make text even bigger on high -resolution monitors. -

    AltosUI Bug Fixes

    • -Prevent some crashes when reading older saved flight data -for graphing or KML export. -
    • -Load frequency preference at startup. The loading code was -broken, so you’d see only the default frequencies. -

    F.8. Release Notes for Version 1.8

    Version 1.8 includes support for our new TeleBT v4.0 ground +deceleration.

    + + +
    +
    +
    +

    F.8.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add new 'Huge' font size to make text even bigger on high +resolution monitors.

      +
    • +
    +
    +
    +

    AltosUI Bug Fixes

    +
    +
    +
      +
    • +

      Prevent some crashes when reading older saved flight data +for graphing or KML export.

      +
    • +
    • +

      Load frequency preference at startup. The loading code was +broken, so you’d see only the default frequencies.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.9. Release Notes for Version 1.8

    +
    +

    Version 1.8 includes support for our new TeleBT v4.0 ground station, updates for data analysis in our ground station software and bug fixes in in the flight software for all our -boards and ground station interfaces.

    F.8.1. AltOS

    AltOS New Features

    • -Add support for TeleBT v4.0 boards. -

    F.8.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add support for TeleBT v4.0 hardware -
    • -Rewrite graphing and export functions. This code now handles +boards and ground station interfaces.

      +
    +
    +

    F.9.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for TeleBT v4.0 boards.

      +
    • +
    +
    +
    +
    +

    F.9.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add support for TeleBT v4.0 hardware

      +
    • +
    • +

      Rewrite graphing and export functions. This code now handles each data series separately so that graphs are drawn correctly. Smoothing now uses a filter that looks both forward and backwards in time to make computed speed and -acceleration data more accurate. -

    AltosUI Bug Fixes

    • -Correct axis labeling of magnetic sensor in TeleMega and -EasyMega. The Y and Z axes were flipped. -

    F.9. Release Notes for Version 1.7

    Version 1.7 includes support for our new TeleMini v3.0 +acceleration data more accurate.

    + + +
    +
    +

    AltosUI Bug Fixes

    +
    +
    +
      +
    • +

      Correct axis labeling of magnetic sensor in TeleMega and +EasyMega. The Y and Z axes were flipped.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.10. Release Notes for Version 1.7

    +
    +

    Version 1.7 includes support for our new TeleMini v3.0 flight computer and bug fixes in in the flight software for all our boards -and ground station interfaces.

    F.9.1. AltOS

    AltOS New Features

    • -Add support for TeleMini v3.0 boards. -

    AltOS Fixes

    • -Fix interrupt priorities on STM32L processors. Run timer +and ground station interfaces.

      +
    +
    +

    F.10.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for TeleMini v3.0 boards.

      +
    • +
    +
    +
    +

    AltOS Fixes

    +
    +
    +
      +
    • +

      Fix interrupt priorities on STM32L processors. Run timer interrupt at lowest priority so that device interrupts get -serviced first. -

    F.9.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add support for TeleMini v3.0 hardware -

    F.10. Release Notes for Version 1.6.8

    Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where +serviced first.

    + + +
    +
    +
    +

    F.10.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add support for TeleMini v3.0 hardware

      +
    • +
    +
    +
    +
    +
    +
    +

    F.11. Release Notes for Version 1.6.8

    +
    +

    Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where the device could stop logging data and transmitting telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum -v2.0 users should update their flight firmware.

    F.10.1. AltOS

    AltOS fixes:

    • -Fix STM32L DMA driver to work around STM32L SoC DMA priority +v2.0 users should update their flight firmware.

      +
    +
    +

    F.11.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix STM32L DMA driver to work around STM32L SoC DMA priority issue t lock-up in the logging or radio code, either of -which could stop data logging and telemetry. -

    • -Avoid having TeleBT battery status values smash telemetry -packet data by holding a lock during both operations. -
    • -Don’t start reporting flight 0 when the log fills in -flight. -

    AltOS changes:

    • -Flash LEDS on all products briefly during power up so that -they can be tested during production. -

    F.10.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • -Re-enable go/no-go entries after they’ve been disabled due +which could stop data logging and telemetry.

      +
    • +
    • +

      Avoid having TeleBT battery status values smash telemetry +packet data by holding a lock during both operations.

      +
    • +
    • +

      Don’t start reporting 'flight 0' when the log fills in +flight.

      +
    • +
    +
    +
    +

    AltOS changes:

    +
    +
    +
      +
    • +

      Flash LEDS on all products briefly during power up so that +they can be tested during production.

      +
    • +
    +
    +
    +
    +

    F.11.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Re-enable go/no-go entries after they’ve been disabled due to lack of data. If telemetry information is delayed when the Ui starts up, sometimes important fields would get -disabled to never re-appear. -

    • -Deal with ground station failure better during Configure -Ground Station operation by cleaning up pending operations. -

    F.11. Release Notes for Version 1.6.5

    Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where +disabled to never re-appear.

    + +
  • +

    Deal with ground station failure better during Configure +Ground Station operation by cleaning up pending operations.

    +
  • + +
    +
    +
    +
    +
    +

    F.12. Release Notes for Version 1.6.5

    +
    +

    Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where the device would often stop logging data and transmitting telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum -v2.0 users should update their flight firmware.

    F.11.1. AltOS

    AltOS fixes:

    • -Fix STM32L SPI driver to prevent lock-up in the logging or +v2.0 users should update their flight firmware.

      +
    +
    +

    F.12.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix STM32L SPI driver to prevent lock-up in the logging or radio code, either of which could stop data logging and telemetry. Found and characterized by Chuck Haskin, who also -tested the new firmware before release. -

    F.11.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • -Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with -Windows package. -

    F.12. Release Notes for Version 1.6.4

    Version 1.6.4 fixes a bluetooth communication problem with +tested the new firmware before release.

    + + +
    +
    +
    +

    F.12.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with +Windows package.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.13. Release Notes for Version 1.6.4

    +
    +

    Version 1.6.4 fixes a bluetooth communication problem with TeleBT v1.0 devices, along with some altosui and altosdroid -minor nits. It also now ships firmware for some newer devices.

    F.12.1. AltOS

    AltOS fixes:

    • -Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS -doesn’t seem to work, switch from using the hardware to -driving these pins with software. -
    • -Fix ARM USB drivers to deal with OS restarts. Needed to +minor nits. It also now ships firmware for some newer devices.

      +
    +
    +

    F.13.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS +doesn’t seem to work, switch from using the hardware to +driving these pins with software.

      +
    • +
    • +

      Fix ARM USB drivers to deal with OS restarts. Needed to reset all USB-related state when the USB bus is reset. These -fixes affect all STM32L, STM32F0 and LPC11U14 based devices. -

    F.12.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI, TeleGPS and AltosDroid New Features:

    • -Automatically switch from meters or feet to kilometers or -miles for distance units. -
    • -Add Monitor Idle mode to TeleGPS application. -

    AltosUI, TeleGPS and AltosDroid Fixes:

    • -Abort map preloading when the preload map dialog is closed. -
    • -In AltosDroid, Don’t reconnect to last device if the user +fixes affect all STM32L, STM32F0 and LPC11U14 based devices.

      +
    • +
    +
    +
    +
    +

    F.13.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI, TeleGPS and AltosDroid New Features:

    +
    +
    +
      +
    • +

      Automatically switch from meters or feet to kilometers or +miles for distance units.

      +
    • +
    • +

      Add Monitor Idle mode to TeleGPS application.

      +
    • +
    +
    +
    +

    AltosUI, TeleGPS and AltosDroid Fixes:

    +
    +
    +
      +
    • +

      Abort map preloading when the preload map dialog is closed.

      +
    • +
    • +

      In AltosDroid, Don’t reconnect to last device if the user had disconnected it the last time the application was -active. -

    F.12.3. Documentation

    • -Mention TeleMega v2.0 in hardware specs table. -
    • -Document TeleGPS RF output in telegps manual. -

    F.13. Release Notes for Version 1.6.3

    Version 1.6.3 adds idle mode to AltosDroid and has bug fixes +active.

    + + +
    +
    +
    +

    F.13.3. Documentation

    +
    +
      +
    • +

      Mention TeleMega v2.0 in hardware specs table.

      +
    • +
    • +

      Document TeleGPS RF output in telegps manual.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.14. Release Notes for Version 1.6.3

    +
    +

    Version 1.6.3 adds idle mode to AltosDroid and has bug fixes for our host software on desktops, laptops an android devices -along with BlueTooth support for Windows.

    F.13.1. AltOS

    AltOS fixes:

    • -Fix hardware flow control on TeleBT v3.0. RTS/CTS is +along with BlueTooth support for Windows.

      +
    +
    +

    F.14.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix hardware flow control on TeleBT v3.0. RTS/CTS is wired backwards on this board, switch from using the -hardware to driving these pins with software. -

    F.13.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • -Add BlueTooth support for Windows operating system. This +hardware to driving these pins with software.

      +
    • +
    +
    +
    +
    +

    F.14.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features:

    +
    +
    +
      +
    • +

      Add BlueTooth support for Windows operating system. This supports connections to TeleBT over BlueTooth rather than -just USB. -

    AltosUI and TeleGPS Fixes:

    • -Change Java detection and install on Windows. Detection is -now done by looking for the javaw.exe program, and -installation by opening a browser on the java.com web site. -
    • -Delay polling while the Fire Igniters is visible to allow -for TeleMega to report back complete status over the radio. -
    • -Disallow changing RF calibration numbers in the -configuration UI. There’s no good reason to change this from -the field, and recovering is really hard if you haven’t -written down the right number. -
    • -Fix USB device discovery on Mac OS X El Capitan. This makes -the connected Altus Metrum USB devices appear again. -
    • -Fix acceleration data presented in MonitorIdle mode for -TeleMetrum v2.0 flight computers. -

    F.13.3. AltosDroid

    AltosDroid new features:

    • -Monitor Idle mode. Check state of flight computer while in -idle mode over the radio link -
    • -Fire Igniters. Remotely fire ignires for recovery system -ground tests. -
    • -Remote reboot. Cause the flight computer to reboot over the +just USB.

      +
    • +
    +
    +
    +

    AltosUI and TeleGPS Fixes:

    +
    +
    +
      +
    • +

      Change Java detection and install on Windows. Detection is +now done by looking for the 'javaw.exe' program, and +installation by opening a browser on the java.com web site.

      +
    • +
    • +

      Delay polling while the Fire Igniters is visible to allow +for TeleMega to report back complete status over the radio.

      +
    • +
    • +

      Disallow changing RF calibration numbers in the +configuration UI. There’s no good reason to change this from +the field, and recovering is really hard if you haven’t +written down the right number.

      +
    • +
    • +

      Fix USB device discovery on Mac OS X El Capitan. This makes +the connected Altus Metrum USB devices appear again.

      +
    • +
    • +

      Fix acceleration data presented in MonitorIdle mode for +TeleMetrum v2.0 flight computers.

      +
    • +
    +
    +
    +
    +

    F.14.3. AltosDroid

    +
    +

    AltosDroid new features:

    +
    +
    +
      +
    • +

      Monitor Idle mode. Check state of flight computer while in +idle mode over the radio link

      +
    • +
    • +

      Fire Igniters. Remotely fire ignires for recovery system +ground tests.

      +
    • +
    • +

      Remote reboot. Cause the flight computer to reboot over the radio link. This provides a method for switching the flight computer from idle to flight mode without needing to reach -the power switch. -

    • -Configurable frequency menu. Change the set of available -frequencies and provide more descriptive names. -

    AltosDroid bug fixes:

    • -Don’t set target location if GPS hasn’t locked yet. -
    • -Fix saving target states so they can be reloaded when the +the power switch.

      +
    • +
    • +

      Configurable frequency menu. Change the set of available +frequencies and provide more descriptive names.

      +
    • +
    +
    +
    +

    AltosDroid bug fixes:

    +
    +
    +
      +
    • +

      Don’t set target location if GPS hasn’t locked yet.

      +
    • +
    • +

      Fix saving target states so they can be reloaded when the application restarts. When the application is shut down and restarted, all previous target state information will be -restored (including GPS position if available). -

    • -Fix crash on some Android devices for offline maps when -changing the map scale or location. -
    • -Don’t require USB OTG support. This kept the latest +restored (including GPS position if available).

      +
    • +
    • +

      Fix crash on some Android devices for offline maps when +changing the map scale or location.

      +
    • +
    • +

      Don’t require USB OTG support. This kept the latest AltosDroid from being offered on devices without USB device support, although it can work without that just fine using -BlueTooth. -

    • -Don’t require bluetooth to be enabled. This allows the +BlueTooth.

      +
    • +
    • +

      Don’t require bluetooth to be enabled. This allows the application to operate with USB devices or just show old -data without turning on the bluetooth radio. -

    • -Recover old tracker positions when restarting +data without turning on the bluetooth radio.

      +
    • +
    • +

      Recover old tracker positions when restarting application. This finally allows you to safely stop and restart the application without losing the last known -location of any tracker. -

    F.13.4. Documentation

    • -Document TeleMega and EasyMega additional pyro channel -continuity audio alert pattern. -

    F.14. Release Notes for Version 1.6.2

    Version 1.6.2 includes support for our updated TeleMega v2.0 +location of any tracker.

    + + +
    +
    +
    +

    F.14.4. Documentation

    +
    +
      +
    • +

      Document TeleMega and EasyMega additional pyro channel +continuity audio alert pattern.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.15. Release Notes for Version 1.6.2

    +
    +

    Version 1.6.2 includes support for our updated TeleMega v2.0 product and bug fixes in in the flight software for all our boards -and ground station interfaces.

    F.14.1. AltOS

    AltOS New Features:

    • -Add support for TeleMega v2.0 boards. -
    • -Add PWM servo driver. There’s no higher level code using +and ground station interfaces.

      +
    +
    +

    F.15.1. AltOS

    +
    +

    AltOS New Features:

    +
    +
    +
      +
    • +

      Add support for TeleMega v2.0 boards.

      +
    • +
    • +

      Add PWM servo driver. There’s no higher level code using this yet, but the driver allows testing of the TeleMega v2.0 -servo output connector. -

    AltOS Fixes:

    • -Slow down telemetry packets to allow receiver to keep -up. -

    F.14.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS Fixes:

    • -Fix post-flight orientation computation when processing -TeleMega and EasyMega eeprom data files. -
    • -Capture complete eeprom data even when there are invalid +servo output connector.

      +
    • +
    +
    +
    +

    AltOS Fixes:

    +
    +
    +
      +
    • +

      Slow down telemetry packets to allow receiver to keep +up.

      +
    • +
    +
    +
    +
    +

    F.15.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS Fixes:

    +
    +
    +
      +
    • +

      Fix post-flight orientation computation when processing +TeleMega and EasyMega eeprom data files.

      +
    • +
    • +

      Capture complete eeprom data even when there are invalid entries in the data. This keeps reading eeprom contents and -writing the associated .eeprom file when an error is detected. -

    F.14.3. Documentation

    We spent a bunch of time trying to improve our documentation

    • -HTML versions now have a table of contents on the left side. -
    • -EasyMini now has its own shorter manual. -
    • -Provide links between sections in each document. -
    • -Lots of minor rewriting and restructuring to avoid -duplication of information -

    F.15. Release Notes for Version 1.6.1

    Version 1.6.1 includes support for our updated TeleBT v3.0 +writing the associated .eeprom file when an error is detected.

    + + +
    +
    +
    +

    F.15.3. Documentation

    +
    +

    We spent a bunch of time trying to improve our documentation

    +
    +
    +
      +
    • +

      HTML versions now have a table of contents on the left side.

      +
    • +
    • +

      EasyMini now has its own shorter manual.

      +
    • +
    • +

      Provide links between sections in each document.

      +
    • +
    • +

      Lots of minor rewriting and restructuring to avoid +duplication of information

      +
    • +
    +
    +
    +
    +
    +
    +

    F.16. Release Notes for Version 1.6.1

    +
    +

    Version 1.6.1 includes support for our updated TeleBT v3.0 product and bug fixes in in the flight software for all our boards -and ground station interfaces.

    F.15.1. AltOS

    AltOS New Features:

    • -Add support for TeleBT v3.0 boards. -
    • -Add support for uncompressed APRS data, providing support +and ground station interfaces.

      +
    +
    +

    F.16.1. AltOS

    +
    +

    AltOS New Features:

    +
    +
    +
      +
    • +

      Add support for TeleBT v3.0 boards.

      +
    • +
    • +

      Add support for uncompressed APRS data, providing support for older APRS receivers. Uncompressed APRS data is less -precise, takes more bandwidth and doesn’t have integrated -altitude data. -

    AltOS Fixes:

    • -Make TeleDongle and TeleBT more tolerant of data rate -variations from transmitting devices. -

    F.15.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • -Add map to Monitor Idle display. It’s nice to be able to +precise, takes more bandwidth and doesn’t have integrated +altitude data.

      +
    • +
    +
    +
    +

    AltOS Fixes:

    +
    +
    +
      +
    • +

      Make TeleDongle and TeleBT more tolerant of data rate +variations from transmitting devices.

      +
    • +
    +
    +
    +
    +

    F.16.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features:

    +
    +
    +
      +
    • +

      Add map to Monitor Idle display. It’s nice to be able to verify that maps are working, instead of needing to use -Monitor Flight. -

    AltosUI and TeleGPS Fixes:

    • -Fix frequency configuration to round values instead of -truncate them, avoiding a common 1kHz error in the setting. -
    • -Turn the Windows stub into a more useful program that can +Monitor Flight.

      +
    • +
    +
    +
    +

    AltosUI and TeleGPS Fixes:

    +
    +
    +
      +
    • +

      Fix frequency configuration to round values instead of +truncate them, avoiding a common 1kHz error in the setting.

      +
    • +
    • +

      Turn the Windows stub into a more useful program that can launch the application with parameters so that file manager -icons work more reliably. -

    • -Force KML export to use a C locale so that numbers are -formatted with . instead of , for a decimal separator in -non-US locales. -
    • -Preload map tiles based on distance rather than number of +icons work more reliably.

      +
    • +
    • +

      Force KML export to use a C locale so that numbers are +formatted with '.' instead of ',' for a decimal separator in +non-US locales.

      +
    • +
    • +

      Preload map tiles based on distance rather than number of tiles; this means you get the same resolution covering the entire area, rather than having high resolution near the -center and low resolution further away. -

    • -Allow configuration of frequency and callsign in Monitor -Idle mode. -
    • -Fix layout weirdness when resizing windows on -Windows. Windows shouldn’t have giant blank spaces around -the useful content anymore. -
    • -Fix layout weirdness when resizing windows on -Windows. Windows shouldn’t have giant blank spaces around -the useful content anymore. -
    • -Use a longer filter for descent speed values. This should +center and low resolution further away.

      +
    • +
    • +

      Allow configuration of frequency and callsign in Monitor +Idle mode.

      +
    • +
    • +

      Fix layout weirdness when resizing windows on +Windows. Windows shouldn’t have giant blank spaces around +the useful content anymore.

      +
    • +
    • +

      Fix layout weirdness when resizing windows on +Windows. Windows shouldn’t have giant blank spaces around +the useful content anymore.

      +
    • +
    • +

      Use a longer filter for descent speed values. This should provide something more useful on the display, although it -will take longer to respond to changes now. -

    • -Make Replay Flight run in realtime again. It had been set to -run at 10x speed by mistake. -

    F.15.3. AltosDroid

    AltosDroid New Features:

    • -Add offline map support using mapping code from AltosUI. -
    • -Support TeleDongle (and TeleBT via USB) on devices -supporting USB On-The-Go. -
    • -Display additional TeleMega pyro channel status in Pad tab. -
    • -Switch between metric and imperial units. -
    • -Monitor TeleBT battery voltage. -
    • -Track multiple devices at the same time, selecting between -them with a menu or using the map. -
    • -Add hybrid, satellite and terrain map types. -

    AltosDroid Fixes:

    • -Use standard Android display conventions so that a menu -button is available in the application title bar. -
    • -Adjust layout to work on large and small screens; shrinking +will take longer to respond to changes now.

      +
    • +
    • +

      Make Replay Flight run in realtime again. It had been set to +run at 10x speed by mistake.

      +
    • +
    +
    +
    +
    +

    F.16.3. AltosDroid

    +
    +

    AltosDroid New Features:

    +
    +
    +
      +
    • +

      Add offline map support using mapping code from AltosUI.

      +
    • +
    • +

      Support TeleDongle (and TeleBT via USB) on devices +supporting USB On-The-Go.

      +
    • +
    • +

      Display additional TeleMega pyro channel status in Pad tab.

      +
    • +
    • +

      Switch between metric and imperial units.

      +
    • +
    • +

      Monitor TeleBT battery voltage.

      +
    • +
    • +

      Track multiple devices at the same time, selecting between +them with a menu or using the map.

      +
    • +
    • +

      Add hybrid, satellite and terrain map types.

      +
    • +
    +
    +
    +

    AltosDroid Fixes:

    +
    +
    +
      +
    • +

      Use standard Android display conventions so that a menu +button is available in the application title bar.

      +
    • +
    • +

      Adjust layout to work on large and small screens; shrinking the go/no-go lights in smaller environments to try and make -everything visible. -

    • -Make voice announcements depend on current tab. -
    • -Compute adjustment to current travel direction while in -motion towards rocket. -

    F.16. Release Notes for Version 1.6

    Version 1.6 includes support for our updated TeleDongle v3.0 +everything visible.

    + +
  • +

    Make voice announcements depend on current tab.

    +
  • +
  • +

    Compute adjustment to current travel direction while in +motion towards rocket.

    +
  • + +
    +
    +
    +
    +
    +

    F.17. Release Notes for Version 1.6

    +
    +

    Version 1.6 includes support for our updated TeleDongle v3.0 product and bug fixes in in the flight software for all our boards -and ground station interfaces.

    F.16.1. AltOS

    AltOS New Features

    • -Add support for TeleDongle v3.0 boards. -

    AltOS Fixes

    • -Don’t beep out the continuity twice by accident in idle mode. +and ground station interfaces.

      +
    +
    +

    F.17.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for TeleDongle v3.0 boards.

      +
    • +
    +
    +
    +

    AltOS Fixes

    +
    +
    +
      +
    • +

      Don’t beep out the continuity twice by accident in idle mode. If the battery voltage report takes longer than the initialiation -sequence, the igniter continuity would get reported twice. -

    • -Record all 32 bits of gyro calibration data in TeleMega and +sequence, the igniter continuity would get reported twice.

      +
    • +
    • +

      Record all 32 bits of gyro calibration data in TeleMega and EasyMega log files. This fixes computation of the gyro rates -in AltosUI. -

    • -Change TeleDongle LED usage. Green LED flashes when valid +in AltosUI.

      +
    • +
    • +

      Change TeleDongle LED usage. Green LED flashes when valid packet is received. Red LED flashes when invalid packet is -received. -

    • -Replace LPC11U14 SPI driver with non-interrupt version. The +received.

      +
    • +
    • +

      Replace LPC11U14 SPI driver with non-interrupt version. The interrupt code would occasionally wedge on long transfers if interrupts were blocked for too long. This affects all released TeleGPS products; if you have a TeleGPS device, -you’ll want to reflash the firmware. -

    F.16.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • -Compute tilt angle from TeleMega and EasyMega log +you’ll want to reflash the firmware.

      +
    • +
    +
    +
    +
    +

    F.17.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features

    +
    +
    +
      +
    • +

      Compute tilt angle from TeleMega and EasyMega log files. This duplicates the quaternion-based angle tracking code from the flight firmware inside the ground station software so that post-flight analysis can include evaluation -of the tilt angle. -

    • -Shows the tool button window when starting with a data file +of the tilt angle.

      +
    • +
    • +

      Shows the tool button window when starting with a data file specified. This means that opening a data file from the file manager will now bring up the main window to let you operate -the whole application. -

    AltosUI Fixes

    • -Show the Connecting dialog when using Monitor Idle. Lets +the whole application.

      +
    • +
    +
    +
    +

    AltosUI Fixes

    +
    +
    +
      +
    • +

      Show the 'Connecting' dialog when using Monitor Idle. Lets you cancel the Monitor Idle startup when connecting over the -radio link. -

    • -Make Monitor Idle work for TeleGPS devices when connected -over USB. It’s nice for testing without needing to broadcast -over the radio. -
    • -Use different Windows API to discover USB devices. This +radio link.

      +
    • +
    • +

      Make 'Monitor Idle' work for TeleGPS devices when connected +over USB. It’s nice for testing without needing to broadcast +over the radio.

      +
    • +
    • +

      Use different Windows API to discover USB devices. This works better on my Windows 7 box, and will be used if the -older API fails to provide the necessary information. -

    • -Look in more places in the registry to try and identify the +older API fails to provide the necessary information.

      +
    • +
    • +

      Look in more places in the registry to try and identify the installed Java version on Windows. If you install the default 32-bit version of Windows on a 64-bit OS, the Java registry information is hiding \SOFTWARE\Wow6432Node for -some reason. -

    • -Fix file association on Windows by searching for the +some reason.

      +
    • +
    • +

      Fix file association on Windows by searching for the javaw.exe program instead of assuming it is in %SYSTEMROOT%. This makes double-clicking on Altus Metrum -data files in the file manager work correctly. -

    • -When replaying a file, put done in the Age field when we -reach the end of the file, instead of continuing to count forever. -
    • -In the Scan Channels code, wait for five seconds if we see +data files in the file manager work correctly.

      +
    • +
    • +

      When replaying a file, put 'done' in the Age field when we +reach the end of the file, instead of continuing to count forever.

      +
    • +
    • +

      In the Scan Channels code, wait for five seconds if we see any packet. This is needed because AltOS now sends the callsign, serial number and flight number only once every -five seconds these days. -

    • -In the Scan Channels code, reset pending flight state +five seconds these days.

      +
    • +
    • +

      In the Scan Channels code, reset pending flight state information each time we change channels. This avoids having -flight computers appear on multiple frequencies by accident. -

    F.17. Release Notes for Version 1.5

    Version 1.5 is a major release. It includes support for our new +flight computers appear on multiple frequencies by accident.

    + + +
    +
    +
    +
    +
    +

    F.18. Release Notes for Version 1.5

    +
    +

    Version 1.5 is a major release. It includes support for our new EasyMega product, new features and bug fixes in in the flight -software for all our boards and the AltosUI ground station

    F.17.1. AltOS

    AltOS New Features

    • -Add support for EasyMega boards. -
    • -Make the APRS SSID be configurable. This lets you track +software for all our boards and the AltosUI ground station

      +
    +
    +

    F.18.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for EasyMega boards.

      +
    • +
    • +

      Make the APRS SSID be configurable. This lets you track different rockets on the same receiver without getting -things mixed up. -

    • -Report extra pyro channel continuity state on EasyMega and +things mixed up.

      +
    • +
    • +

      Report extra pyro channel continuity state on EasyMega and TeleMega via the beeper. This lets you easily verify flight readiness on these boards after powering up the electronics -on the rail. -

    • -Add lower telemetry data rates (2400 and 9600 bps) to +on the rail.

      +
    • +
    • +

      Add lower telemetry data rates (2400 and 9600 bps) to increase telemetry radio range. This reduces the amount of data received as well as increasing battery consumption in -the transmitter. -

    • -Change TeleGPS to have only a single log, and append new +the transmitter.

      +
    • +
    • +

      Change TeleGPS to have only a single log, and append new data to it rather than using seperate per-flight logs. This avoids accidentally filling up log storage by turning -TeleGPS on/off several times. -

    AltOS Fixes

    • -Increase the maximum range for altitude values from +/-32767m +TeleGPS on/off several times.

      +
    • +
    +
    +
    +

    AltOS Fixes

    +
    +
    +
      +
    • +

      Increase the maximum range for altitude values from +/-32767m to +/-2147483647m, allowing the flight computers to function -correctly above the 32km level. -

    • -Continuously test pyro firing conditions during delay stage, +correctly above the 32km level.

      +
    • +
    • +

      Continuously test pyro firing conditions during delay stage, inhibiting the pyro channel if the test fails. This prevents firing pyro charges where the conditions were good before -the delay, but become bad before the delay expires. -

    • -Allow negative numbers in pyro configuration values. This +the delay, but become bad before the delay expires.

      +
    • +
    • +

      Allow negative numbers in pyro configuration values. This lets you specify things like descending speed or -deceleration. -

    F.17.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • -Support telemetry baud rate selection. Adds menus to +deceleration.

      +
    • +
    +
    +
    +
    +

    F.18.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features

    +
    +
    +
      +
    • +

      Support telemetry baud rate selection. Adds menus to the flight monitoring and configuration for baud rate -selection. -

    • -Support APRS SSID configuration. -
    • -Integrate with file managers. This provides icons for all of +selection.

      +
    • +
    • +

      Support APRS SSID configuration.

      +
    • +
    • +

      Integrate with file managers. This provides icons for all of our file types and associates our application with the files so that using a file manager to open a AltOS data file -results in launching our application. -

    AltosUI Fixes

    • -Make the Graph button on the landed tab work again. -
    • -Make tests for Java on Windows a bit smarter, and also +results in launching our application.

      +
    • +
    +
    +
    +

    AltosUI Fixes

    +
    +
    +
      +
    • +

      Make the 'Graph' button on the landed tab work again.

      +
    • +
    • +

      Make tests for Java on Windows a bit smarter, and also provide the user with the option to skip installing Java for -cases where we just can’t figure out what version is installed. -

    F.18. Release Notes for Version 1.4.2

    Version 1.4.2 is a minor release. It fixes Java-related install issues on -Windows

    F.18.1. AltosUI and TeleGPS Applications

    Windows Install Fixes

    • -Checks for Java installation data in more registry locations. -
    • -Allows user to bypass Java installation in case the -detection fails. -

    F.19. Release Notes for Version 1.4.1

    Version 1.4.1 is a minor release. It fixes install issues on +cases where we just can’t figure out what version is installed.

    + + +
    +
    +
    +
    +
    +

    F.19. Release Notes for Version 1.4.2

    +
    +

    Version 1.4.2 is a minor release. It fixes Java-related install issues on +Windows

    +
    +
    +

    F.19.1. AltosUI and TeleGPS Applications

    +
    +

    Windows Install Fixes

    +
    +
    +
      +
    • +

      Checks for Java installation data in more registry locations.

      +
    • +
    • +

      Allows user to bypass Java installation in case the +detection fails.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.20. Release Notes for Version 1.4.1

    +
    +

    Version 1.4.1 is a minor release. It fixes install issues on Windows and provides the missing TeleMetrum V2.0 firmware. There -aren’t any changes to the firmware or host applications at +aren’t any changes to the firmware or host applications at all. All Windows users will want to upgrade to get the signed driver, but Mac and Linux users who do not need the TeleMetrum -V2.0 firmware image will not need to upgrade.

    F.19.1. AltosUI and TeleGPS Applications:

    Windows Install Fixes

    • -Provide signed Windows driver files. This should avoid any need to -disable driver signature checking on Windows 7 or 8. -
    • -Fix Java version detection and download. Previously, the +V2.0 firmware image will not need to upgrade.

      +
    +
    +

    F.20.1. AltosUI and TeleGPS Applications:

    +
    +

    Windows Install Fixes

    +
    +
    +
      +
    • +

      Provide signed Windows driver files. This should avoid any need to +disable driver signature checking on Windows 7 or 8.

      +
    • +
    • +

      Fix Java version detection and download. Previously, the installer would only look for Java 6 or 7 and insist on downloading its own Java bits if there was something else -installed. Furthermore, the 64-bit Java link provided didn’t +installed. Furthermore, the 64-bit Java link provided didn’t work for anyone other than Keith, making it impossible to -install AltOS on any machine with Java SE 8 installed. -

    Other Fixes

    • -Include 1.4 firmware for TeleMetrum V2.0. None of the -installers shipped this file. Now it’s included in the AltOS -packages for Linux, Mac and Windows. -
    • -Include Google Application Key for map downloading. The 1.4 -release didn’t have this key in the released version of the -software, making map downloading fail for most people. -

    F.20. Release Notes for Version 1.4

    Version 1.4 is a major release. It includes support for our new +install AltOS on any machine with Java SE 8 installed.

    + + +
    +
    +

    Other Fixes

    +
    +
    +
      +
    • +

      Include 1.4 firmware for TeleMetrum V2.0. None of the +installers shipped this file. Now it’s included in the AltOS +packages for Linux, Mac and Windows.

      +
    • +
    • +

      Include Google Application Key for map downloading. The 1.4 +release didn’t have this key in the released version of the +software, making map downloading fail for most people.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.21. Release Notes for Version 1.4

    +
    +

    Version 1.4 is a major release. It includes support for our new TeleGPS product, new features and bug fixes in in the flight -software for all our boards and the AltosUI ground station

    F.20.1. AltOS

    AltOS new features:

    • -Add support for TeleGPS boards. -
    • -Make the beeper tone configurable, making it +software for all our boards and the AltosUI ground station

      +
    +
    +

    F.21.1. AltOS

    +
    +

    AltOS new features:

    +
    +
    +
      +
    • +

      Add support for TeleGPS boards.

      +
    • +
    • +

      Make the beeper tone configurable, making it possible to distinguish between two Altus Metrum -products in the same ebay. -

    • -Make the firing time for extra pyro channels +products in the same ebay.

      +
    • +
    • +

      Make the firing time for extra pyro channels configurable, allowing longer (or shorter) than the default 50ms. Only relevant for TeleMega at this -time. -

    AltOS fixes:

    • -Replace the dit dit dit tones at startup with the +time.

      +
    • +
    +
    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Replace the 'dit dit dit' tones at startup with the current battery voltage, measured in tenths of a volt. This lets you check the battery voltage without needing telemetry, which is especially -useful on EasyMini. -

    • -Change state beeping to "Farnsworth spacing", which -means they’re quite a bit faster than before, and so -they take less time to send. -
    • -Fix bug preventing the selection of the Flight -State After mode in pyro configuration. -
    • -Fix bug where erasing flights would reset the flight -number to 2 on TeleMega and TeleMetrum v2. -
    • -Fix u-Blox GPS driver to mark course and speed data -as being present. -

    F.20.2. AltosUI Application

    AltosUI new features:

    • -Add zooming and new content types (terrain and road +useful on EasyMini.

      +
    • +
    • +

      Change state beeping to "Farnsworth spacing", which +means they’re quite a bit faster than before, and so +they take less time to send.

      +
    • +
    • +

      Fix bug preventing the selection of the 'Flight +State After' mode in pyro configuration.

      +
    • +
    • +

      Fix bug where erasing flights would reset the flight +number to 2 on TeleMega and TeleMetrum v2.

      +
    • +
    • +

      Fix u-Blox GPS driver to mark course and speed data +as being present.

      +
    • +
    +
    +
    +
    +

    F.21.2. AltosUI Application

    +
    +

    AltosUI new features:

    +
    +
    +
      +
    • +

      Add zooming and new content types (terrain and road maps) to map view. Change map storage format from PNG to Jpeg, which saves a huge amount of disk space. You will need to re-download all of your -pre-loaded map images. -

    • -Add a distance measuring device to the maps +pre-loaded map images.

      +
    • +
    • +

      Add a distance measuring device to the maps view. Select this by using any button other than the left one, or by pressing shift or control on the -keyboard while using the left button. -

    • -Add new Ignitor tab to the flight monitor display -for TeleMega’s extra ignitors. -
    • -Add additional ignitor firing marks and voltages to +keyboard while using the left button.

      +
    • +
    • +

      Add new 'Ignitor' tab to the flight monitor display +for TeleMega’s extra ignitors.

      +
    • +
    • +

      Add additional ignitor firing marks and voltages to the graph so you can see when the ignitors fired, -along with the ignitor voltages. -

    • -Add GPS course, ground speed and climb rate as -optional graph elements. -

    AltosUI fixes:

    • -When flashing new firmware, re-try opening the +along with the ignitor voltages.

      +
    • +
    • +

      Add GPS course, ground speed and climb rate as +optional graph elements.

      +
    • +
    +
    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      When flashing new firmware, re-try opening the device as sometimes it takes a while for the underlying operating system to recognize that the device has rebooted in preparation for the flashing -operation. -

    • -Hide Tilt Angle in ascent tab for devices that don’t -have a gyro. -
    • -Increase the width of data lines in the graphs to -make them easier to read. -
    • -Filter out speed and acceleration spikes caused by +operation.

      +
    • +
    • +

      Hide Tilt Angle in ascent tab for devices that don’t +have a gyro.

      +
    • +
    • +

      Increase the width of data lines in the graphs to +make them easier to read.

      +
    • +
    • +

      Filter out speed and acceleration spikes caused by ejection charge firing when computing the maximum values. This provides a more accurate reading of -those maximums. -

    • -Fix EasyMini voltage displays. Early EasyMini +those maximums.

      +
    • +
    • +

      Fix EasyMini voltage displays. Early EasyMini prototypes used a 3.0V regulator, and AltosUI still used that value as the basis of the computation. Production EasyMini boards have always @@ -3036,63 +6948,144 @@ shipped with a 3.3V regulator. Also, purple EasyMini boards sensed the battery voltage past the blocking diode, resulting in a drop of about 150mV from the true battery voltage. Compensate for that when -displaying the value. -

    • -Display error message when trying to configure +displaying the value.

      +
    • +
    • +

      Display error message when trying to configure maximum flight log size while the flight computer -still has flight data stored. -

    • -Handle TeleMetrum and TeleMini eeprom files +still has flight data stored.

      +
    • +
    • +

      Handle TeleMetrum and TeleMini eeprom files generated with pre-1.0 firmware. Those ancient -versions didn’t report the log format, so just use -the product name instead. -

    F.20.3. TeleGPS Application

    • -New application designed for use with TeleGPS boards. -
    • -Shares code with AltosUI, mostly just trimmed down -to focus on TeleGPS-related functions. -

    F.20.4. Documentation

    Documentation changes:

    • -Re-create the drill template images; they should +versions didn’t report the log format, so just use +the product name instead.

      +
    • +
    +
    +
    +
    +

    F.21.3. TeleGPS Application

    +
    +
      +
    • +

      New application designed for use with TeleGPS boards.

      +
    • +
    • +

      Shares code with AltosUI, mostly just trimmed down +to focus on TeleGPS-related functions.

      +
    • +
    +
    +
    +
    +

    F.21.4. Documentation

    +
    +

    Documentation changes:

    +
    +
    +
      +
    • +

      Re-create the drill template images; they should print correctly from Firefox at least. Ship these as -individual PDF files so they’re easy to print. -

    • -Add a description of the Apogee Lockout setting, +individual PDF files so they’re easy to print.

      +
    • +
    • +

      Add a description of the 'Apogee Lockout' setting, which prevents the apogee charge from firing for a -configurable amount of time after boost. -

    F.21. Release Notes for Version 1.3.2

    Version 1.3.2 is a minor release. It includes small bug fixes for -the TeleMega flight software and AltosUI ground station

    F.21.1. AltOS

    AltOS fixes:

    • -On TeleMega, limit number of logged GPS status -information to 12 satellites. That’s all there is -room for in the log structure. -
    • -Improve APRS behavior. Remembers last known GPS +configurable amount of time after boost.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.22. Release Notes for Version 1.3.2

    +
    +

    Version 1.3.2 is a minor release. It includes small bug fixes for +the TeleMega flight software and AltosUI ground station

    +
    +
    +

    F.22.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      On TeleMega, limit number of logged GPS status +information to 12 satellites. That’s all there is +room for in the log structure.

      +
    • +
    • +

      Improve APRS behavior. Remembers last known GPS position and keeps sending that if we lose GPS lock. Marks locked/unlocked by sending L/U in the APRS comment field along with the number of sats in -view and voltages. -

    F.21.2. AltosUI Application

    AltosUI fixes:

    • -If the TeleMega flight firmware reports that it has +view and voltages.

      +
    • +
    +
    +
    +
    +

    F.22.2. AltosUI Application

    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      If the TeleMega flight firmware reports that it has logged information about more than 12 satellites, -don’t believe it as the log only holds 12 satellite -records. -

    • -Track the maximum height as computed from GPS +don’t believe it as the log only holds 12 satellite +records.

      +
    • +
    • +

      Track the maximum height as computed from GPS altitude data and report that in the flight summary -data. -

    • -Use letters (A, B, C, D) for alternate pyro channel +data.

      +
    • +
    • +

      Use letters (A, B, C, D) for alternate pyro channel names instead of numbers (0, 1, 2, 3) in the Fire -Igniter dialog. -

    F.22. Release Notes for Version 1.3.1

    Version 1.3.1 is a minor release. It improves support for -TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini.

    F.22.1. AltOS

    AltOS new features:

    • -Improved APRS mode. Now uses compressed position +Igniter dialog.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.23. Release Notes for Version 1.3.1

    +
    +

    Version 1.3.1 is a minor release. It improves support for +TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini.

    +
    +
    +

    F.23.1. AltOS

    +
    +

    AltOS new features:

    +
    +
    +
      +
    • +

      Improved APRS mode. Now uses compressed position format for smaller data size, improved precision and to include altitude data as well as latitude and longitude. Also added battery and pyro voltage reports in the APRS comment field so you can confirm -that the unit is ready for launch. -

    AltOS fixes:

    • -Improve sensor boot code. If sensors fail to +that the unit is ready for launch.

      +
    • +
    +
    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Improve sensor boot code. If sensors fail to self-test, the device will still boot up and check for pad/idle modes. If in idle mode, the device will warn the user with a distinct beep, if in Pad mode, @@ -3100,445 +7093,859 @@ the unit will operate as best it can. Also, the Z-axis accelerometer now uses the factory calibration values instead of re-calibrating on the pad each time. This avoids accidental boost detect -when moving the device around while in Pad mode. -

    • -Fix antenna-down mode accelerometer -configuration. Antenna down mode wasn’t working +when moving the device around while in Pad mode.

      +
    • +
    • +

      Fix antenna-down mode accelerometer +configuration. Antenna down mode wasn’t working because the accelerometer calibration values were -getting re-computed incorrectly in inverted mode. -

    F.22.2. AltosUI Application

    AltosUI new features:

    • -Display additional TeleMega sensor values in real +getting re-computed incorrectly in inverted mode.

      +
    • +
    +
    +
    +
    +

    F.23.2. AltosUI Application

    +
    +

    AltosUI new features:

    +
    +
    +
      +
    • +

      Display additional TeleMega sensor values in real units. Make all of these values available for plotting. Display TeleMega orientation value in the -Ascent and Table tabs. -

    • -Support additional TeleMega pyro channels in the +Ascent and Table tabs.

      +
    • +
    • +

      Support additional TeleMega pyro channels in the Fire Igniter dialog. This lets you do remote testing of all of the channels, rather than just Apogee and -Main. -

    AltosUI fixes:

    • -Limit data rate when downloading satellite images +Main.

      +
    • +
    +
    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Limit data rate when downloading satellite images from Google to make sure we stay within their limits -so that all of the map tiles download successfully. -

    F.23. Release Notes for Version 1.3

    Version 1.3 is a major release. It adds support for TeleMega, -TeleMetrum v2.0, TeleMini v2.0 and EasyMini.

    F.23.1. AltOS

    AltOS new features:

    • -Add STM32L processor support. This includes +so that all of the map tiles download successfully.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.24. Release Notes for Version 1.3

    +
    +

    Version 1.3 is a major release. It adds support for TeleMega, +TeleMetrum v2.0, TeleMini v2.0 and EasyMini.

    +
    +
    +

    F.24.1. AltOS

    +
    +

    AltOS new features:

    +
    +
    +
      +
    • +

      Add STM32L processor support. This includes enhancements to the scheduler to support products -with many threads. -

    • -Add NXP LPC11U14 processor support. -
    • -Support additional pyro channels. These are +with many threads.

      +
    • +
    • +

      Add NXP LPC11U14 processor support.

      +
    • +
    • +

      Support additional pyro channels. These are configurable through the UI to handle air starts, staging, additional recovery events and external -devices such as cameras. -

    • -Add 3-axis gyro support for orientation +devices such as cameras.

      +
    • +
    • +

      Add 3-axis gyro support for orientation tracking. This integrates the gyros to compute the angle from vertical during flight, allowing the additional pyro events to be controlled by this -value. -

    • -Many more device drivers, including u-Blox Max 7Q +value.

      +
    • +
    • +

      Many more device drivers, including u-Blox Max 7Q GPS, Freescale MMA6555 digital single-axis accelerometer, Invensense MPU6000 3-axis accelerometer + 3 axis gyro, Honeywell HMC5883 3-axis magnetic sensor and the TI CC1120 and CC115L -digital FM transceivers -

    F.23.2. AltosUI Application

    AltosUI new features:

    • -Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and -EasyMini telemetry and log formats. -

    AltosUI fixes:

    • -Use preferred units for main deployment height +digital FM transceivers

      +
    • +
    +
    +
    +
    +

    F.24.2. AltosUI Application

    +
    +

    AltosUI new features:

    +
    +
    +
      +
    • +

      Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and +EasyMini telemetry and log formats.

      +
    • +
    +
    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Use preferred units for main deployment height configuration, instead of always doing configuration in meters. -== MicroPeak Application -

    • -Add Download button to menu bar. -
    • -Save the last log directory and offer that as the -default for new downloads -

    F.24. Release Notes for Version 1.2.1

    Version 1.2.1 is a minor release. It adds support for TeleBT and +== MicroPeak Application

    + +
  • +

    Add 'Download' button to menu bar.

    +
  • +
  • +

    Save the last log directory and offer that as the +default for new downloads

    +
  • + +
    +
    +
    +
    +
    +

    F.25. Release Notes for Version 1.2.1

    +
    +

    Version 1.2.1 is a minor release. It adds support for TeleBT and the AltosDroid application, provides several new features in -AltosUI and fixes some bugs in the AltOS firmware.

    F.24.1. AltOS

    AltOS new features:

    • -Add support for TeleBT -

    AltOS fixes:

    • -In TeleMini recovery mode (when booted with the +AltosUI and fixes some bugs in the AltOS firmware.

      +
    +
    +

    F.25.1. AltOS

    +
    +

    AltOS new features:

    +
    +
    +
      +
    • +

      Add support for TeleBT

      +
    • +
    +
    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      In TeleMini recovery mode (when booted with the outer two debug pins connected together), the radio parameters are also set back to defaults -(434.550MHz, N0CALL, factory radio cal). -

    • -Correct Kalman filter model error covariance +(434.550MHz, N0CALL, factory radio cal).

      +
    • +
    • +

      Correct Kalman filter model error covariance matrix. The values used previously assumed continuous measurements instead of discrete -measurements. -

    • -Fix some bugs in the USB driver for TeleMetrum and -TeleDongle that affected Windows users. -
    • -Adjusted the automatic gain control parameters that +measurements.

      +
    • +
    • +

      Fix some bugs in the USB driver for TeleMetrum and +TeleDongle that affected Windows users.

      +
    • +
    • +

      Adjusted the automatic gain control parameters that affect receive performance for TeleDongle. Field tests indicate that this may improve receive -performance somewhat. -

    F.24.2. AltosUI Application

    AltosUI application new features:

    • -Make the initial position of the AltosUI top level +performance somewhat.

      +
    • +
    +
    +
    +
    +

    F.25.2. AltosUI Application

    +
    +

    AltosUI application new features:

    +
    +
    +
      +
    • +

      Make the initial position of the AltosUI top level window configurable. Along with this change, the -other windows will pop up at sensible places now, -instead of on top of one another. -

    • -Add GPS data and a map to the graph window. This +other windows will pop up at 'sensible' places now, +instead of on top of one another.

      +
    • +
    • +

      Add GPS data and a map to the graph window. This lets you see a complete summary of the flight -without needing to replay the whole thing. -

    AltosUI application fixes:

    • -Handle missing GPS lock in Descent +without needing to 'replay' the whole thing.

      +
    • +
    +
    +
    +

    AltosUI application fixes:

    +
    +
    +
      +
    • +

      Handle missing GPS lock in 'Descent' tab. Previously, if the GPS position of the pad was unknown, an exception would be raised, breaking the -Descent tab contents. -

    • -Improve the graph, adding tool-tips to show values +Descent tab contents.

      +
    • +
    • +

      Improve the graph, adding tool-tips to show values near the cursor and making the displayed set of values configurable, adding all of the flight data as options while leaving the default settings alone so that the graph starts by showing height, speed -and acceleration. -

    • -Add callsign to Monitor idle window and connecting +and acceleration.

      +
    • +
    • +

      Add callsign to Monitor idle window and connecting dialogs. This makes it clear which callsign is being used so that the operator will be aware that it must match the flight computer value or no communication -will work. -

    • -When downloading flight data, display the block +will work.

      +
    • +
    • +

      When downloading flight data, display the block number so that the user has some sense of -progress. Unfortunately, we don’t know how many +progress. Unfortunately, we don’t know how many blocks will need to be downloaded, but at least it -isn’t just sitting there doing nothing for a long -time. -

    F.24.3. AltosDroid

    • -First version of this application -

    F.25. Release Notes for Version 1.2

    Version 1.2 is a major release. It adds support for MicroPeak -and the MicroPeak USB adapter.

    F.25.1. AltOS

    AltOS New Features:

    • -Add MicroPeak support. This includes support for the +isn’t just sitting there doing nothing for a long +time.

      +
    • +
    +
    +
    +
    +

    F.25.3. AltosDroid

    +
    +
      +
    • +

      First version of this application

      +
    • +
    +
    +
    +
    +
    +
    +

    F.26. Release Notes for Version 1.2

    +
    +

    Version 1.2 is a major release. It adds support for MicroPeak +and the MicroPeak USB adapter.

    +
    +
    +

    F.26.1. AltOS

    +
    +

    AltOS New Features:

    +
    +
    +
      +
    • +

      Add MicroPeak support. This includes support for the ATtiny85 processor and adaptations to the core code to allow for devices too small to run the -multi-tasking scheduler. -

    F.25.2. AltosUI and MicroPeak Application

    New Features:

    • -Added MicroPeak application -

    AltosUI and MicroPeak fixes:

    • -Distribute Mac OS X packages in disk image (.dmg) -format to greatly simplify installation. -
    • -Provide version numbers for the shared Java +multi-tasking scheduler.

      +
    • +
    +
    +
    +
    +

    F.26.2. AltosUI and MicroPeak Application

    +
    +

    New Features:

    +
    +
    +
      +
    • +

      Added MicroPeak application

      +
    • +
    +
    +
    +

    AltosUI and MicroPeak fixes:

    +
    +
    +
      +
    • +

      Distribute Mac OS X packages in disk image ('.dmg') +format to greatly simplify installation.

      +
    • +
    • +

      Provide version numbers for the shared Java libraries to ensure that upgrades work properly, and to allow for multiple Altus Metrum software packages to be installed in the same directory at the same -time. -

    F.26. Release Notes for Version 1.1

    Version 1.1.1 is a bug-fix release. It fixes a couple of bugs +time.

    + + +
    +
    +
    +
    +
    +

    F.27. Release Notes for Version 1.1

    +
    +

    Version 1.1.1 is a bug-fix release. It fixes a couple of bugs in AltosUI and one firmware bug that affects TeleMetrum version 1.0 boards. Thanks to Bob Brown for help diagnosing the Google Earth file export issue, and for suggesting the -addition of the Ground Distance value in the Descent tab.

    F.26.1. AltOS

    AltOS fixes:

    • -TeleMetrum v1.0 boards use the AT45DB081D flash +addition of the Ground Distance value in the Descent tab.

      +
    +
    +

    F.27.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      TeleMetrum v1.0 boards use the AT45DB081D flash memory part to store flight data, which is different from later TeleMetrum boards. The AltOS v1.1 driver -for this chip couldn’t erase memory, leaving it +for this chip couldn’t erase memory, leaving it impossible to delete flight data or update -configuration values. This bug doesn’t affect newer -TeleMetrum boards, and it doesn’t affect the safety -of rockets flying version 1.1 firmware. -

    F.26.2. AltosUI

    AltosUI new features:

    • -The “Descent” tab displays the range to the rocket, +configuration values. This bug doesn’t affect newer +TeleMetrum boards, and it doesn’t affect the safety +of rockets flying version 1.1 firmware.

      +
    • +
    +
    +
    +
    +

    F.27.2. AltosUI

    +
    +

    AltosUI new features:

    +
    +
    +
      +
    • +

      The “Descent” tab displays the range to the rocket, which is a combination of the over-the-ground distance to the rockets current latitude/longitude -and the height of the rocket. As such, it’s useful +and the height of the rocket. As such, it’s useful for knowing how far away the rocket is, but difficult to use when estimating where the rocket might eventually land. A new “Ground Distance” field has been added which displays the distance to a spot -right underneath the rocket. -

    AltosUI fixes:

    • -Creating a Google Earth file (KML) from on-board +right underneath the rocket.

      +
    • +
    +
    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Creating a Google Earth file (KML) from on-board flight data (EEPROM) would generate an empty file. The code responsible for reading the EEPROM -file wasn’t ever setting the GPS valid bits, and so +file wasn’t ever setting the GPS valid bits, and so the KML export code thought there was no GPS data in -the file. -

    • -The “Landed” tab was displaying all values in metric +the file.

      +
    • +
    • +

      The “Landed” tab was displaying all values in metric units, even when AltosUI was configured to display imperial units. Somehow I just missed this tab when -doing the units stuff. -

    • -Sensor data wasn’t being displayed for TeleMini +doing the units stuff.

      +
    • +
    • +

      Sensor data wasn’t being displayed for TeleMini flight computers in Monitor Idle mode, including things like battery voltage. The code that picked which kinds of data to fetch from the flight computer was missing a check for TeleMini when -deciding whether to fetch the analog sensor data. -

    F.27. Release Notes for Version 1.1

    Version 1.1 is a minor release. It provides a few new features -in AltosUI and the AltOS firmware and fixes bugs.

    F.27.1. AltOS

    AltOS Firmware New Features:

    • -Add apogee-lockout value. Overrides the apogee +deciding whether to fetch the analog sensor data.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.28. Release Notes for Version 1.1

    +
    +

    Version 1.1 is a minor release. It provides a few new features +in AltosUI and the AltOS firmware and fixes bugs.

    +
    +
    +

    F.28.1. AltOS

    +
    +

    AltOS Firmware New Features:

    +
    +
    +
      +
    • +

      Add apogee-lockout value. Overrides the apogee detection logic to prevent incorrect apogee charge -firing. -

    • -Force the radio frequency to 434.550MHz when the +firing.

      +
    • +
    • +

      Force the radio frequency to 434.550MHz when the debug clock pin is connected to ground at boot time. This provides a way to talk to a TeleMini -which is configured to some unknown frequency. -

    • -Provide RSSI values for Monitor Idle mode. This +which is configured to some unknown frequency.

      +
    • +
    • +

      Provide RSSI values for Monitor Idle mode. This makes it easy to check radio range without needing -to go to flight mode. -

    AltOS Fixes:

    • -Fix a bug where the data reported in telemetry -packets was from 320ms ago. -
    • -Fix a bug which caused the old received telemetry +to go to flight mode.

      +
    • +
    +
    +
    +

    AltOS Fixes:

    +
    +
    +
      +
    • +

      Fix a bug where the data reported in telemetry +packets was from 320ms ago.

      +
    • +
    • +

      Fix a bug which caused the old received telemetry packets to be retransmitted over the USB link when -the radio was turned off and back on. -

    F.27.2. AltosUI

    AltosUI New Features:

    • -Make the look-n-feel configurable, providing a choice from -the available options. -
    • -Add an Age element to mark how long since a +the radio was turned off and back on.

      +
    • +
    +
    +
    +
    +

    F.28.2. AltosUI

    +
    +

    AltosUI New Features:

    +
    +
    +
      +
    • +

      Make the look-n-feel configurable, providing a choice from +the available options.

      +
    • +
    • +

      Add an 'Age' element to mark how long since a telemetry packet has been received. Useful to quickly gauge whether communications with the rocket -are still active. -

    • -Add Configure Ground Station dialog to set the +are still active.

      +
    • +
    • +

      Add 'Configure Ground Station' dialog to set the radio frequency used by a particular TeleDongle -without having to go through the flight monitor UI. -

    • -Add configuration for the new apogee-lockout +without having to go through the flight monitor UI.

      +
    • +
    • +

      Add configuration for the new apogee-lockout value. A menu provides a list of reasonable values, -or the value can be set by hand. -

    • -Add Imperial units mode to present data in feet -instead of meters. -

    AltosUI Fixes:

    • -Fix a bug that caused GPS ready to happen too +or the value can be set by hand.

      +
    • +
    • +

      Add Imperial units mode to present data in feet +instead of meters.

      +
    • +
    +
    +
    +

    AltosUI Fixes:

    +
    +
    +
      +
    • +

      Fix a bug that caused GPS ready to happen too quickly. The software was using every telemetry packet to signal new GPS data, which caused GPS ready to be signalled after 10 packets instead of 10 -GPS updates. -

    • -Fix Google Earth data export to work with recent +GPS updates.

      +
    • +
    • +

      Fix Google Earth data export to work with recent versions. The google earth file loading code got a lot pickier, requiring some minor white space -changes in the export code. -

    • -Changed how flight data are downloaded. Now there’s +changes in the export code.

      +
    • +
    • +

      Changed how flight data are downloaded. Now there’s an initial dialog asking which flights to download, and after that finishes, a second dialog comes up -asking which flights to delete. -

    • -Re-compute time spent in each state for the flight +asking which flights to delete.

      +
    • +
    • +

      Re-compute time spent in each state for the flight graph; this figures out the actual boost and landing times instead of using the conservative values provide by the flight electronics. This improves the accuracy of the boost acceleration and main descent -rate computations. -

    • -Make AltosUI run on Mac OS Lion. The default Java +rate computations.

      +
    • +
    • +

      Make AltosUI run on Mac OS Lion. The default Java heap space was dramatically reduced for this release causing much of the UI to fail randomly. This most often affected the satellite mapping download and -displays. -

    • -Change how data are displayed in the table tab of +displays.

      +
    • +
    • +

      Change how data are displayed in the 'table' tab of the flight monitoring window. This eliminates entries duplicated from the header and adds both current altitude and pad altitude, which are useful -in Monitor Idle mode. -

    F.28. Release Notes for Version 1.0.1

    Version 1.0.1 is a major release, adding support for the -TeleMini device and lots of new AltosUI features

    F.28.1. AltOS

    AltOS New Features

    • -Add TeleMini v1.0 support. -
    • -Support operation of TeleMetrum with the antenna pointing +in 'Monitor Idle' mode.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.29. Release Notes for Version 1.0.1

    +
    +

    Version 1.0.1 is a major release, adding support for the +TeleMini device and lots of new AltosUI features

    +
    +
    +

    F.29.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add TeleMini v1.0 support.

      +
    • +
    • +

      Support operation of TeleMetrum with the antenna pointing aft. Previous firmware versions required the antenna to be pointing upwards, now there is a configuration option allowing the antenna to point aft, to aid installation in -some airframes. -

    • -Ability to disable telemetry. For airframes where an antenna -just isn’t possible, or where radio transmissions might -cause trouble with other electronics, there’s a +some airframes.

      +
    • +
    • +

      Ability to disable telemetry. For airframes where an antenna +just isn’t possible, or where radio transmissions might +cause trouble with other electronics, there’s a configuration option to disable all telemetry. Note that the -board will still enable the radio link in idle mode. -

    • -Arbitrary frequency selection. The radios in Altus Metrum +board will still enable the radio link in idle mode.

      +
    • +
    • +

      Arbitrary frequency selection. The radios in Altus Metrum devices can be programmed to a wide range of frequencies, so -instead of limiting devices to 10 pre-selected channels, +instead of limiting devices to 10 pre-selected 'channels', the new firmware allows the user to choose any frequency in the 70cm band. Note that the RF matching circuit on the boards is tuned for around 435MHz, so frequencies far from -that may reduce the available range. -

    AltOS Fixes

    • -Change telemetry to be encoded in multiple 32-byte +that may reduce the available range.

      +
    • +
    +
    +
    +

    AltOS Fixes

    +
    +
    +
      +
    • +

      Change telemetry to be encoded in multiple 32-byte packets. This enables support for TeleMini and other devices without requiring further updates to the TeleDongle -firmware. -

    • -Kalman-filter based flight-tracking. The model based sensor +firmware.

      +
    • +
    • +

      Kalman-filter based flight-tracking. The model based sensor fusion approach of a Kalman filter means that AltOS now computes apogee much more accurately than before, generally within a fraction of a second. In addition, this approach allows the baro-only TeleMini device to correctly identify Mach transitions, avoiding the error-prone selection of a -Mach delay. -

    F.28.2. AltosUI Application

    AltosUI New Features

    • -Add main/apogee voltage graphs to the data +Mach delay.

      +
    • +
    +
    +
    +
    +

    F.29.2. AltosUI Application

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add main/apogee voltage graphs to the data plot. This provides a visual indication if the -igniters fail before being fired. -

    • -Scan for altimeter devices by watching the defined +igniters fail before being fired.

      +
    • +
    • +

      Scan for altimeter devices by watching the defined telemetry frequencies. This avoids the problem of remembering what frequency a device was configured to use, which is especially important with TeleMini -which does not include a USB connection. -

    • -Monitor altimeter state in "Idle" mode. This +which does not include a USB connection.

      +
    • +
    • +

      Monitor altimeter state in "Idle" mode. This provides much of the information presented in the "Pad" dialog from the Monitor Flight command, monitoring the igniters, battery and GPS status withing requiring the flight computer to be armed -and ready for flight. -

    • -Pre-load map images from home. For those launch -sites which don’t provide free Wi-Fi, this allows +and ready for flight.

      +
    • +
    • +

      Pre-load map images from home. For those launch +sites which don’t provide free Wi-Fi, this allows you to download the necessary satellite images given the location of the launch site. A list of known launch sites is maintained at altusmetrum.org which AltosUI downloads to populate a menu; if -you’ve got a launch site not on that list, please +you’ve got a launch site not on that list, please send the name of it, latitude and longitude along with a link to the web site of the controlling club -to the altusmetrum mailing list. -

    • -Flight statistics are now displayed in the Graph +to the altusmetrum mailing list.

      +
    • +
    • +

      Flight statistics are now displayed in the Graph data window. These include max height/speed/accel, average descent rates and a few other bits of information. The Graph Data window can now be -reached from the Landed tab in the Monitor Flight +reached from the 'Landed' tab in the Monitor Flight window so you can immediately see the results of a -flight. -

    AltosUI Changes

    • -Wait for altimeter when using packet mode. Instead +flight.

      +
    • +
    +
    +
    +

    AltosUI Changes

    +
    +
    +
      +
    • +

      Wait for altimeter when using packet mode. Instead of quicly timing out when trying to initialize a packet mode configuration connection, AltosUI now waits indefinitely for the remote device to appear, providing a cancel button should the user get bored. This is necessary as the TeleMini can only be -placed in "Idle" mode if AltosUI is polling it. -

    F.29. Release Notes for Version 0.9.2

    Version 0.9.2 is an AltosUI bug-fix release, with no firmware -changes.

    F.29.1. AltosUI

    AltosUI fixes:

    • -Fix plotting problems due to missing file in the Mac -OS install image. -
    • -Always read whole eeprom blocks, mark empty records -invalid, display parsing errors to user. -
    • -Add software version to Configure AltosUI dialog -

    F.30. Release Notes for Version 0.9

    Version 0.9 adds a few new firmware features and accompanying -AltosUI changes, along with new hardware support.

    F.30.1. AltOS

    • -Support for TeleMetrum v1.1 hardware. Sources for the flash +placed in "Idle" mode if AltosUI is polling it.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.30. Release Notes for Version 0.9.2

    +
    +

    Version 0.9.2 is an AltosUI bug-fix release, with no firmware +changes.

    +
    +
    +

    F.30.1. AltosUI

    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Fix plotting problems due to missing file in the Mac +OS install image.

      +
    • +
    • +

      Always read whole eeprom blocks, mark empty records +invalid, display parsing errors to user.

      +
    • +
    • +

      Add software version to Configure AltosUI dialog

      +
    • +
    +
    +
    +
    +
    +
    +

    F.31. Release Notes for Version 0.9

    +
    +

    Version 0.9 adds a few new firmware features and accompanying +AltosUI changes, along with new hardware support.

    +
    +
    +

    F.31.1. AltOS

    +
    +
      +
    • +

      Support for TeleMetrum v1.1 hardware. Sources for the flash memory part used in v1.0 dried up, so v1.1 uses a different part which required a new driver and support for explicit -flight log erasing. -

    • -Multiple flight log support. This stores more than one +flight log erasing.

      +
    • +
    • +

      Multiple flight log support. This stores more than one flight log in the on-board flash memory. It also requires -the user to explicitly erase flights so that you won’t lose +the user to explicitly erase flights so that you won’t lose flight logs just because you fly the same board twice in one -day. -

    • -Telemetry support for devices with serial number >= 256. +day.

      +
    • +
    • +

      Telemetry support for devices with serial number >= 256. Previous versions used a telemetry packet format that provided only 8 bits for the device serial number. This change requires that both ends of the telemetry link be -running the 0.9 firmware or they will not communicate. -

    F.30.2. AltosUI Application

    • -Support for telemetry format changes. -
    • -Support for multiple flight logs. -

    F.31. Release Notes for Version 0.8

    Version 0.8 offers a major upgrade in the AltosUI -interface.

    F.31.1. AltosUI Application:

    • -Post-flight graphing tool. This lets you explore the +running the 0.9 firmware or they will not communicate.

      +
    • +
    +
    +
    +
    +

    F.31.2. AltosUI Application

    +
    +
      +
    • +

      Support for telemetry format changes.

      +
    • +
    • +

      Support for multiple flight logs.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.32. Release Notes for Version 0.8

    +
    +

    Version 0.8 offers a major upgrade in the AltosUI +interface.

    +
    +
    +

    F.32.1. AltosUI Application:

    +
    +
      +
    • +

      Post-flight graphing tool. This lets you explore the behaviour of your rocket after flight with a scroll-able and zoom-able chart showing the altitude, speed and acceleration of the airframe along with events recorded by the flight computer. You can export graphs to PNG files, or print them -directly. -

    • -Real-time moving map which overlays the in-progress flight +directly.

      +
    • +
    • +

      Real-time moving map which overlays the in-progress flight on satellite imagery fetched from Google Maps. This lets you see in pictures where your rocket has landed, allowing you -to plan recovery activities more accurately. -

    • -Wireless recovery system testing. Prep your rocket for +to plan recovery activities more accurately.

      +
    • +
    • +

      Wireless recovery system testing. Prep your rocket for flight and test fire the deployment charges to make sure things work as expected. All without threading wires through -holes in your airframe. -

    • -Optimized flight status displays. Each flight state now has -it’s own custom tab in the flight monitoring window so you +holes in your airframe.

      +
    • +
    • +

      Optimized flight status displays. Each flight state now has +it’s own custom 'tab' in the flight monitoring window so you can focus on the most important details. Pre-flight, the system shows a set of red/green status indicators for battery voltage, apogee/main igniter continutity and GPS -reception. Wait until they’re all green and your rocket is +reception. Wait until they’re all green and your rocket is ready for flight. There are also tabs for ascent, descent and landing along with the original tabular view of the -data. -

    • -Monitor multiple flights simultaneously. If you have more +data.

      +
    • +
    • +

      Monitor multiple flights simultaneously. If you have more than one TeleDongle, you can monitor a flight with each one -on the same computer. -

    • -Automatic flight monitoring at startup. Plug TeleDongle into +on the same computer.

      +
    • +
    • +

      Automatic flight monitoring at startup. Plug TeleDongle into the machine before starting AltosUI and it will -automatically connect to it and prepare to monitor a flight. -

    • -Exports Google Earth flight tracks. Using the Keyhole Markup +automatically connect to it and prepare to monitor a flight.

      +
    • +
    • +

      Exports Google Earth flight tracks. Using the Keyhole Markup Language (.kml) file format, this provides a 3D view of your -rocket flight through the Google Earth program. -

    F.32. Release Notes for Version 0.7.1

    Version 0.7.1 is the first release containing our new -cross-platform Java-based user interface.

    F.32.1. AltosUI Application

    • -Receive and log telemetry from a connected TeleDongle +rocket flight through the Google Earth program.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.33. Release Notes for Version 0.7.1

    +
    +

    Version 0.7.1 is the first release containing our new +cross-platform Java-based user interface.

    +
    +
    +

    F.33.1. AltosUI Application

    +
    +
      +
    • +

      Receive and log telemetry from a connected TeleDongle device. All data received is saved to log files named with the current date and the connected rocket serial and flight numbers. There is no mode in which telemetry data will not -be saved. -

    • -Download logged data from TeleMetrum devices, either through +be saved.

      +
    • +
    • +

      Download logged data from TeleMetrum devices, either through a direct USB connection or over the air through a TeleDongle -device. -

    • -Configure a TeleMetrum device, setting the radio channel, +device.

      +
    • +
    • +

      Configure a TeleMetrum device, setting the radio channel, callsign, apogee delay and main deploy height. This can be done through either a USB connection or over a radio link -via a TeleDongle device. -

    • -Replay a flight in real-time. This takes a saved telemetry +via a TeleDongle device.

      +
    • +
    • +

      Replay a flight in real-time. This takes a saved telemetry log or eeprom download and replays it through the user -interface so you can relive your favorite rocket flights. -

    • -Reprogram Altus Metrum devices. Using an Altus Metrum device +interface so you can relive your favorite rocket flights.

      +
    • +
    • +

      Reprogram Altus Metrum devices. Using an Altus Metrum device connected via USB, another Altus Metrum device can be reprogrammed using the supplied programming cable between -the two devices. -

    • -Export Flight data to a comma-separated-values file. This +the two devices.

      +
    • +
    • +

      Export Flight data to a comma-separated-values file. This takes either telemetry or on-board flight data and generates data suitable for use in external applications. All data is exported using standard units so that no device-specific -knowledge is needed to handle the data. -

    • -Speak to you during the flight. Instead of spending the +knowledge is needed to handle the data.

      +
    • +
    • +

      Speak to you during the flight. Instead of spending the flight hunched over your laptop looking at the screen, enjoy the view while the computer tells you what’s going on up there. During ascent, you hear the current flight state and altitude information. During descent, you get azimuth, elevation and range information to try and help you find your rocket in the air. Once on the ground, the direction -and distance are reported. -

    \ No newline at end of file +and distance are reported.

    + + +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/AltOS/doc/altusmetrum.pdf b/AltOS/doc/altusmetrum.pdf index e6efc57..676a387 100644 Binary files a/AltOS/doc/altusmetrum.pdf and b/AltOS/doc/altusmetrum.pdf differ diff --git a/AltOS/doc/am-notoc.css b/AltOS/doc/am-notoc.css new file mode 100644 index 0000000..829e8b7 --- /dev/null +++ b/AltOS/doc/am-notoc.css @@ -0,0 +1,344 @@ +/* + CSS stylesheet for XHTML produced by DocBook XSL stylesheets. +*/ + +@font-face { + font-family: 'Open Sans'; + src: url('fonts/OpenSans-Regular.ttf'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Open Sans'; + src: url('fonts/OpenSans-Italic.ttf'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'Open Sans'; + src: url('fonts/OpenSans-Semibold.ttf'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'Open Sans'; + src: url('fonts/OpenSans-SemiboldItalic.ttf'); + font-weight: bold; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('fonts/DejaVuSansMono.ttf'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('fonts/DejaVuSansMono-Oblique.ttf'); + font-weight: normal; + font-style: oblique; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('fonts/DejaVuSansMono-Bold.ttf'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('fonts/DejaVuSansMono-BoldOblique.ttf'); + font-weight: bold; + font-style: oblique; +} + +body { + font-family: "Open Sans",sans-serif; + font-size: 12pt; + margin: 2em 5em 2em 5em; +} + +code, pre { + font-family: "DejaVu Sans Mono", monospace; +} + +span.strong { + font-weight: bold; +} + +body blockquote { + margin-top: .75em; + line-height: 1.5; + margin-bottom: .75em; +} + +a:link { + color: #78079a; +} + +a:visited { + color: #78079a; +} + +h1, h2, h3, h4, h5, h6 +{ + color: #78079a; + font-family: "Open Sans",sans-serif; +} + +td.icon { + width: 4em; + height: 3em; +} + +td.icon img { + height: 100%; + width: 100% +} + +div.toc { + display:none; +} + +div.details { + padding-top: 1em; + padding-left: 3em; +} + +span.author { + font-weight: bold; + color: #78079a; +} + +span.email { + font-size: 10pt; +} + +span#revnumber { + font-size: 8pt; +} + +span#revdate { + font-size: 8pt; +} + +span#revremark { + font-size: 8pt; +} + +div#footer { + border-top: 2px solid #808080; +} + +body h1 { + margin: .0em 0 0 -4%; + line-height: 1.3; + border-bottom: 2px solid #808080; +} + +body h2 { + margin: 0.5em 0 0 -4%; + line-height: 1.3; + border-bottom: 2px solid #808080; +} + +body h3 { + margin: .8em 0 0 -3%; + line-height: 1.3; +} + +body h4 { + margin: .8em 0 0 -3%; + line-height: 1.3; +} + +body h5 { + margin: .8em 0 0 -2%; + line-height: 1.3; +} + +body h6 { + margin: .8em 0 0 -1%; + line-height: 1.3; +} + +body hr { + border: none; /* Broken on IE6 */ +} + +body td { + line-height: 1.2 +} + +body th { + line-height: 1.2; +} + +ol { + line-height: 1.2; +} + +ul, body dir, body menu { + line-height: 1.2; +} + +body h1, body h2, body h3, body h4, body h5, body h6 { + margin-left: 0 +} + +body pre { + margin: 0.5em 10% 0.5em 1em; + line-height: 1.0; +} + +tt.literal, code.literal { +} + +.programlisting, .screen { + border: 1px solid #808080; + background: #f4f4f4; + margin: 0.5em 10% 0.5em 0; + padding: 0.5em 1em; +} + +div.sidebar { + background: #ffffee; + margin: 1.0em 10% 0.5em 0; + padding: 0.5em 1em; + border: 1px solid #808080; +} +div.sidebar * { padding: 0; } +div.sidebar div { margin: 0; } +div.sidebar p.title { + margin-top: 0.5em; + margin-bottom: 0.2em; +} + +div.bibliomixed { + margin: 0.5em 5% 0.5em 1em; +} + +div.glossary dt { + font-weight: bold; +} +div.glossary dd p { + margin-top: 0.2em; +} + +dl { + margin: .8em 0; + line-height: 1.2; +} + +dt { + margin-top: 0.5em; +} + +dt span.term { + font-weight: bold; +} + +div.variablelist dd p { + margin-top: 0; +} + +div.itemizedlist li, div.orderedlist li { + margin-left: -0.8em; + margin-top: 0.5em; +} + +ul, ol { + list-style-position: outside; +} + +div.sidebar ul, div.sidebar ol { + margin-left: 2.8em; +} + +div.itemizedlist p.title, +div.orderedlist p.title, +div.variablelist p.title +{ + margin-bottom: -0.8em; +} + +div.revhistory { + border-style: none; +} + +div.revhistory table, div.revhistory th, div.revhistory td { + border-collapse: collapse; + border: 1px solid #808080; + padding: 0.25em; +} + +div.revhistory th { + color: black; +} + +/* Keep TOC and index lines close together. */ +div.toc dl, div.toc dt +{ + line-height: normal; + margin-top: 0; + margin-bottom: 0; +} + +div.admonitionblock { + margin-top: 2em; + margin-bottom: 2em; + margin-left: 2em; + margin-right: 2em; +} + +div.admonitionblock div { + margin-left: 0em; + margin-right: 1em; +} + +div.admonitionblock div.title { + color: #c70909; + font-style: bold; + font-size: 24pt; +} + +div#content table.tableblock { + border-style: solid; + border-width: 1px; + border-collapse: collapse; +} + +div#content table.tableblock td,th { + border-right-style: solid; + border-right-width: 1px; +} + +div#content table.tableblock tbody p { + margin-top: 0.25em; + margin-bottom: 0.25em; + margin-left: 0.25em; + margin-right: 0.25em; +} + +div#content table.tableblock tbody tr:nth-child(odd) { + background: #cccccc; +} + +div.imageblock{ + margin-top: 1em; + margin-bottom: 1em; +} + +div.imageblock img { + margin-bottom: 0.5em; +} + +@media print { + div.navheader, div.navfooter { display: none; } +} diff --git a/AltOS/doc/am.css b/AltOS/doc/am.css index 393ef81..ccb50ff 100644 --- a/AltOS/doc/am.css +++ b/AltOS/doc/am.css @@ -61,6 +61,7 @@ body { font-family: "Open Sans",sans-serif; font-size: 12pt; + margin: 0; } code, pre { @@ -77,15 +78,6 @@ body blockquote { margin-bottom: .75em; } -html body { - margin: 1em 5% 1em 5%; - line-height: 1.2; -} - -body div { - margin: 0; -} - a:link { color: #78079a; } @@ -100,33 +92,11 @@ h1, h2, h3, h4, h5, h6 font-family: "Open Sans",sans-serif; } -div.revhistory table { - width: 50%; - border-width: 1px; -} - -div titlepage { - margin-top: 100px; - border-top: 2px; -} - -div.warning h1, div.warning h2, div.warning h3, div.warning h4, div.warning h5, div.warning h6 { - color: #ff2020; -} - -div.warning p, div.note p, div.error p { - margin-left: 5%; - margin-left: 5%; -} - -h3.corpauthor img { - position: fixed; - left: 0px; - top: 0px; - width: 410px; - height: 90px; - border-right: 2px solid #808080; - border-bottom: 2px solid #808080; +div#content, div#header, div#footer { + margin-left: 440px; + margin-right: 2em; + margin-top: 2em; + margin-bottom: 2em; } div.toc { @@ -145,17 +115,26 @@ div.toc { overflow: auto; } -div.toc p, -div.list-of-figures p, -div.list-of-tables p, -div.list-of-examples p, -div.toc a -{ - color: black; +div#logo img { + position: fixed; + left: 0px; + top: 0px; + width: 410px; + height: 92px; + margin-top: 0px; + margin-bottom: 0px; + border-right: 2px solid #808080; + border-bottom: 2px solid #808080; } -div.toc p { - color: black; +td.icon { + width: 4em; + height: 3em; +} + +td.icon img { + height: 100%; + width: 100% } div.toc a:link { @@ -174,42 +153,34 @@ div.toc a:active { text-decoration: underline; } -div.book { - margin-left: 25em; +div.details { + padding-top: 1em; + padding-left: 3em; } -div.list-of-figures { - display: none; +span.author { + font-weight: bold; + color: #78079a; } -div.list-of-tables { - display: none; +span.email { + font-size: 10pt; } -div.figure p { - text-align: center; -} -div.figure img { - display: block; - margin: auto; +span#revnumber { + font-size: 8pt; } -div.table p.title { - text-align: center; +span#revdate { + font-size: 8pt; } -div.table-contents table { - margin-left: auto; - margin-right: auto; +span#revremark { + font-size: 8pt; } -div.example p.title, -div.sidebar p.title -{ - font-weight: normal; - color: #78079a; - font-family: "Open Sans",sans-serif; - margin-bottom: 0.2em; +div#footer { + border-top: 2px solid #808080; } body h1 { @@ -232,7 +203,6 @@ body h3 { body h4 { margin: .8em 0 0 -3%; line-height: 1.3; - border-top: 2px solid #808080; } body h5 { @@ -248,25 +218,6 @@ body h6 { body hr { border: none; /* Broken on IE6 */ } -div.footnotes hr { - border: 1px solid #808080; -} - -div.navheader th, div.navheader td, div.navfooter td { - font-family: "Open Sans",sans-serif; - font-size: 12pt; - font-weight: normal; - color: #78079a; -} -div.navheader img, div.navfooter img { - border-style: none; -} -div.navheader a, div.navfooter a { - font-weight: normal; -} -div.navfooter hr { - border: 1px solid #808080; -} body td { line-height: 1.2 @@ -284,11 +235,6 @@ ul, body dir, body menu { line-height: 1.2; } -html { - margin: 0; - padding: 0; -} - body h1, body h2, body h3, body h4, body h5, body h6 { margin-left: 0 } @@ -384,93 +330,62 @@ div.revhistory th { } /* Keep TOC and index lines close together. */ -div.toc dl, div.toc dt, -div.list-of-figures dl, div.list-of-figures dt, -div.list-of-tables dl, div.list-of-tables dt, -div.indexdiv dl, div.indexdiv dt +div.toc dl, div.toc dt { line-height: normal; margin-top: 0; margin-bottom: 0; } -/* - Table styling does not work because of overriding attributes in - generated HTML. -*/ -div.table-contents p, -div.informaltable p -{ - margin: 0px; +div.admonitionblock { + margin-top: 2em; + margin-bottom: 2em; + margin-left: 2em; + margin-right: 2em; } -div.table thead, div.table tfoot, -div.informaltable thead, div.informaltable tfoot -{ - font-weight: bold; +div.admonitionblock div { + margin-left: 0em; + margin-right: 1em; +} + +div.admonitionblock div.title { + color: #c70909; + font-style: bold; + font-size: 24pt; +} + +div#content table.tableblock { + border-style: solid; + border-width: 1px; + border-collapse: collapse; } -div.mediaobject img { - margin-bottom: 0.8em; +div#content table.tableblock td,th { + border-right-style: solid; + border-right-width: 1px; } -div.figure p.title, -div.table p.title -{ - margin-top: 1em; - margin-bottom: 0.4em; + +div#content table.tableblock tbody p { + margin-top: 0.25em; + margin-bottom: 0.25em; + margin-left: 0.25em; + margin-right: 0.25em; } -div.calloutlist p -{ - margin-top: 0em; - margin-bottom: 0.4em; +div#content table.tableblock tbody tr:nth-child(odd) { + background: #cccccc; +} + +div.imageblock{ + margin-top: 1em; + margin-bottom: 1em; } -a img { - border-style: none; +div.imageblock img { + margin-bottom: 0.5em; } @media print { div.navheader, div.navfooter { display: none; } } - -span.aqua { color: aqua; } -span.black { color: black; } -span.blue { color: blue; } -span.fuchsia { color: fuchsia; } -span.gray { color: gray; } -span.green { color: green; } -span.lime { color: lime; } -span.maroon { color: maroon; } -span.navy { color: navy; } -span.olive { color: olive; } -span.purple { color: purple; } -span.red { color: red; } -span.silver { color: silver; } -span.teal { color: teal; } -span.white { color: white; } -span.yellow { color: yellow; } - -span.aqua-background { background: aqua; } -span.black-background { background: black; } -span.blue-background { background: blue; } -span.fuchsia-background { background: fuchsia; } -span.gray-background { background: gray; } -span.green-background { background: green; } -span.lime-background { background: lime; } -span.maroon-background { background: maroon; } -span.navy-background { background: navy; } -span.olive-background { background: olive; } -span.purple-background { background: purple; } -span.red-background { background: red; } -span.silver-background { background: silver; } -span.teal-background { background: teal; } -span.white-background { background: white; } -span.yellow-background { background: yellow; } - -span.big { font-size: 2em; } -span.small { font-size: 0.6em; } - -span.underline { text-decoration: underline; } -span.overline { text-decoration: overline; } -span.line-through { text-decoration: line-through; } diff --git a/AltOS/doc/companion.html b/AltOS/doc/companion.html index b9a684b..44c2fe4 100644 --- a/AltOS/doc/companion.html +++ b/AltOS/doc/companion.html @@ -1,79 +1,388 @@ - -AltOS Companion Port

    AltOS Companion Port

    Protocol Definitions

    Keith Packard

    - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. -


    1. Companion Port

    Many Altus Metrum products come with an eight pin Micro MaTch + + + + + + + + + +AltOS Companion Port + + + +

    +
    +
    +
    + +
    +
    +
    +

    License

    +
    +
    +

    Copyright © 2018 Bdale Garbee and Keith Packard

    +
    +
    +

    This document is released under the terms of the Creative Commons ShareAlike 3.0 License

    +
    +
    +
    +
    +

    Companion Port

    +
    +
    +

    Many Altus Metrum products come with an eight pin Micro MaTch connector, called the Companion Port. This is often used to program devices using a programming cable. However, it can also be used to connect TeleMetrum to external companion -boards (hence the name).

    The Companion Port provides two different functions:

    • -Power. Both battery-level and 3.3V regulated power are +boards (hence the name).

      +
    +
    +

    The Companion Port provides two different functions:

    +
    +
    +
      +
    • +

      Power. Both battery-level and 3.3V regulated power are available. Note that the amount of regulated power is not huge; TeleMetrum contains a 150mA regulator and uses, at peak, about 120mA or so. For applications needing more than a few dozen mA, placing a separate regulator on them and -using the battery for power is probably a good idea. -

    • -SPI. The flight computer operates as a SPI master, using +using the battery for power is probably a good idea.

      +
    • +
    • +

      SPI. The flight computer operates as a SPI master, using a protocol defined in this document. Companion boards provide a matching SPI slave implementation which supplies -telemetry information for the radio downlink during flight -

    2. Companion SPI Protocol

    The flight computer implements a SPI master communications +telemetry information for the radio downlink during flight

    + + +
    +
    +
    +
    +

    Companion SPI Protocol

    +
    +
    +

    The flight computer implements a SPI master communications channel over the companion port, and uses this to get information about a connected companion board and then to get -telemetry data for transmission during flight.

    At startup time, the flight computer sends a setup request +telemetry data for transmission during flight.

    +
    +
    +

    At startup time, the flight computer sends a setup request packet, and the companion board returns a board identifier, the desired telemetry update period and the number of data -channels provided. The flight computer doesn’t interpret the +channels provided. The flight computer doesn’t interpret the telemetry data at all, simply packing it up and sending it over the link. Telemetry packets are 32 bytes long, and companion packets use 8 bytes as a header leaving room for a -maximum of 12 16-bit data values.

    Because of the limits of the AVR processors used in the first -two companion boards, the SPI data rate is set to 187.5kbaud.

    3. SPI Message Formats

    This section first defines the command message format sent from +maximum of 12 16-bit data values.

    +
    +
    +

    Because of the limits of the AVR processors used in the first +two companion boards, the SPI data rate is set to 187.5kbaud.

    +
    +
    +
    +
    +

    SPI Message Formats

    +
    +
    +

    This section first defines the command message format sent from the flight computer to the companion board, and then the various -reply message formats for each type of command message.

    Table 1. Companion Command Message

    Offset

    Data Type

    Name

    Description

    0

    uint8_t

    command

    Command identifier

    1

    uint8_t

    flight_state

    Current flight computer state

    2

    uint16_t

    tick

    Flight computer clock (100 ticks/second)

    4

    uint16_t

    serial

    Flight computer serial number

    6

    uint16_t

    flight

    Flight number

    8


    Table 2. Companion Command Identifiers

    Value

    Name

    Description

    1

    SETUP

    Supply the flight computer with companion -information

    2

    FETCH

    Return telemetry information

    3

    NOTIFY

    Tell companion board when flight state changes


    The flight computer will send a SETUP message shortly after +reply message formats for each type of command message.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Companion Command Message

    Offset

    Data Type

    Name

    Description

    0

    uint8_t

    command

    Command identifier

    1

    uint8_t

    flight_state

    Current flight computer state

    2

    uint16_t

    tick

    Flight computer clock (100 ticks/second)

    4

    uint16_t

    serial

    Flight computer serial number

    6

    uint16_t

    flight

    Flight number

    8

    + + +++++ + + + + + + + + + + + + + + + + + + + + + + +
    Table 2. Companion Command Identifiers

    Value

    Name

    Description

    1

    SETUP

    Supply the flight computer with companion +information

    2

    FETCH

    Return telemetry information

    3

    NOTIFY

    Tell companion board when flight state changes

    +
    +

    The flight computer will send a SETUP message shortly after power-up and will then send FETCH messages no more often than the rate specified in the SETUP reply. NOTIFY messages will be -sent whenever the flight state changes.

    flight_state records the current state of the flight, +sent whenever the flight state changes.

    +
    +
    +

    'flight_state' records the current state of the flight, whether on the pad, under power, coasting to apogee or -descending on the drogue or main chute.

    tick provides the current flight computer clock, which +descending on the drogue or main chute.

    +
    +
    +

    'tick' provides the current flight computer clock, which be used to synchronize data recorded on the flight computer -with that recorded on the companion board in post-flight analysis.

    serial is the product serial number of the flight computer, -flight is the flight sequence number. Together, these two +with that recorded on the companion board in post-flight analysis.

    +
    +
    +

    'serial' is the product serial number of the flight computer, +'flight' is the flight sequence number. Together, these two uniquely identify the flight and can be recorded with any companion board data logging to associate the companion data -with the proper flight.

    NOTIFY commands require no reply at all, they are used solely +with the proper flight.

    +
    +
    +

    NOTIFY commands require no reply at all, they are used solely to inform the companion board when the state of the flight, as computed by the flight computer, changes. Companion boards can use this to change data collection parameters, disabling data logging until the flight starts and terminating it when the -flight ends.

    3.1. SETUP reply message

    Table 3. SETUP reply contents

    Offset

    Data Type

    Name

    Description

    0

    uint16_t

    board_id

    Board identifier

    2

    uint16_t

    board_id_inverse

    ~board_id—used to tell if a board is present

    4

    uint8_t

    update_period

    Minimum time (in 100Hz ticks) between FETCH commands

    5

    uint8_t

    channels

    Number of data channels to retrieve in FETCH command

    6


    The SETUP reply contains enough information to uniquely +flight ends.

    +
    +
    +

    SETUP reply message

    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3. SETUP reply contents

    Offset

    Data Type

    Name

    Description

    0

    uint16_t

    board_id

    Board identifier

    2

    uint16_t

    board_id_inverse

    ~board_id—used to tell if a board is present

    4

    uint8_t

    update_period

    Minimum time (in 100Hz ticks) between FETCH commands

    5

    uint8_t

    channels

    Number of data channels to retrieve in FETCH command

    6

    +
    +

    The SETUP reply contains enough information to uniquely identify the companion board to the end user as well as for the flight computer to know how many data values to expect in -reply to a FETCH command, and how often to fetch that data.

    To detect the presence of a companion board, the flight +reply to a FETCH command, and how often to fetch that data.

    +
    +
    +

    To detect the presence of a companion board, the flight computer checks to make sure that board_id_inverse is the bit-wise inverse of board_id. Current companion boards use USB product ID as the board_id, but the flight computer does -not interpret this data and so it can be any value.

    3.2. FETCH reply message

    Table 4. FETCH reply contents

    Offset

    Data Type

    Name

    Description

    0

    uint16_t

    data0

    0th data item

    2

    uint16_t

    data1

    1st data item

    …


    The FETCH reply contains arbitrary data to be reported +not interpret this data and so it can be any value.

    +
    +
    +
    +

    FETCH reply message

    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 4. FETCH reply contents

    Offset

    Data Type

    Name

    Description

    0

    uint16_t

    data0

    0th data item

    2

    uint16_t

    data1

    1st data item

    …​

    +
    +

    The FETCH reply contains arbitrary data to be reported over the flight computer telemetry link. The number of -16-bit data items must match the channels value -provided in the SETUP reply message.

    4. History and Motivation

    To allow cross-programming, the original TeleMetrum and +16-bit data items must match the 'channels' value +provided in the SETUP reply message.

    +
    +
    +
    +
    +
    +

    History and Motivation

    +
    +
    +

    To allow cross-programming, the original TeleMetrum and TeleDongle designs needed to include some kind of connector. With that in place, adding the ability to connect external cards to TeleMetrum was fairly simple. We set the software piece of this puzzle aside until we had a companion -board to use.

    The first companion board was TeleScience. Designed to collect +board to use.

    +
    +
    +

    The first companion board was TeleScience. Designed to collect temperature data from the nose and fin of the airframe, the main requirement for the companion port was that it be able to report telemetry data during flight as a back-up in case the -TeleScience on-board data was lost.

    The second companion board, TelePyro, provides 8 additional +TeleScience on-board data was lost.

    +
    +
    +

    The second companion board, TelePyro, provides 8 additional channels for deployment, staging or other activities. To avoid re-programming the TeleMetrum to use TelePyro, we decided to provide enough information over the companion link for it to -independently control those channels.

    Providing a standard, constant interface between the flight +independently control those channels.

    +
    +
    +

    Providing a standard, constant interface between the flight computer and companion boards allows for the base flight -computer firmware to include support for companion boards.

    \ No newline at end of file +computer firmware to include support for companion boards.

    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/AltOS/doc/companion.pdf b/AltOS/doc/companion.pdf index 6f80f73..c25c971 100644 Binary files a/AltOS/doc/companion.pdf and b/AltOS/doc/companion.pdf differ diff --git a/AltOS/doc/easymega-outline.pdf b/AltOS/doc/easymega-outline.pdf index e93602a..00786e5 100644 Binary files a/AltOS/doc/easymega-outline.pdf and b/AltOS/doc/easymega-outline.pdf differ diff --git a/AltOS/doc/easymini-outline.pdf b/AltOS/doc/easymini-outline.pdf index f08de2b..6657b64 100644 Binary files a/AltOS/doc/easymini-outline.pdf and b/AltOS/doc/easymini-outline.pdf differ diff --git a/AltOS/doc/easymini.html b/AltOS/doc/easymini.html index a3db6f4..2d5b4fd 100644 --- a/AltOS/doc/easymini.html +++ b/AltOS/doc/easymini.html @@ -1,54 +1,225 @@ - -EasyMini Owner’s Manual

    EasyMini Owner’s Manual

    A Dual-Deploy Rocketry Flight Computer

    - -

    Bdale Garbee

    Keith Packard

    - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. -


    Acknowledgments

    Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The + + + + + + + + + +EasyMini Owner’s Manual + + + +

    +
    +
    +
    + +
    +
    +
    +

    License

    +
    +
    +

    Copyright © 2018 Bdale Garbee and Keith Packard

    +
    +
    +

    This document is released under the terms of the Creative Commons ShareAlike 3.0 License

    +
    +
    +
    +
    +

    Acknowledgments

    +
    +
    +

    Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter Kit” which formed the basis of the original Getting Started chapter in this manual. Bob was one of our first customers for a production TeleMetrum, and his continued enthusiasm and contributions -are immensely gratifying and highly appreciated!

    And thanks to Anthony (AJ) Towns for major contributions including +are immensely gratifying and highly appreciated!

    +
    +
    +

    And thanks to Anthony (AJ) Towns for major contributions including the AltosUI graphing and site map code and associated documentation. Free software means that our customers and friends can become our collaborators, and we certainly appreciate this level of -contribution!

    Have fun using these products, and we hope to meet all of you -out on the rocket flight line somewhere.

    Bdale Garbee, KB0G
    -NAR #87103, TRA #12201

    Keith Packard, KD7SQG
    -NAR #88757, TRA #12200

    Table of Contents

    1. Introduction and Overview
    2. Getting Started
    2.1. Batteries
    2.2. Linux/Mac/Windows Ground Station Software
    3. Using Altus Metrum Hardware
    3.1. Wiring and Electrical Interference
    3.2. Hooking Up Lithium Polymer Batteries
    3.3. Hooking Up Pyro Charges
    3.4. Hooking Up a Power Switch
    3.5. Understanding Beeps
    3.6. Turning On the Power
    3.7. Using an External Active Switch Circuit
    3.8. Using a Separate Pyro Battery
    3.9. Using a Different Kind of Battery
    3.10. Using Packet Link Mode
    4. EasyMini
    4.1. EasyMini Screw Terminals
    4.2. Connecting A Battery To EasyMini
    4.3. Charging Lithium Batteries
    4.4. Using a Separate Pyro Battery with EasyMini
    4.5. Using an Active Switch with EasyMini
    5. Installation
    6. Using Altus Metrum Products
    6.1. In the Rocket
    6.2. On the Ground
    6.3. Data Analysis
    6.4. Future Plans
    7. AltosUI
    7.1. Save Flight Data
    7.2. Replay Flight
    7.3. Graph Data
    7.3.1. Flight Graph
    7.3.2. Configure Graph
    7.3.3. Flight Statistics
    7.4. Export Data
    7.4.1. Comma Separated Value Format
    7.5. Configure Altimeter
    7.5.1. Main Deploy Altitude
    7.5.2. Apogee Delay
    7.5.3. Apogee Lockout
    7.5.4. Maximum Flight Log Size
    7.5.5. Ignitor Firing Mode
    7.5.6. Beeper Frequency
    7.6. Configure AltosUI
    7.6.1. Log Directory
    7.6.2. Imperial Units
    7.6.3. Serial Debug
    7.6.4. Font size
    7.6.5. Look & feel
    7.6.6. Menu position
    7.7. Flash Image
    7.8. Fire Igniter
    A. System Operation
    A.1. Firmware Modes
    A.2. Ground Testing
    A.3. Configurable Parameters
    B. Handling Precautions
    C. Updating Device Firmware
    C.1. Updating EasyMini Firmware
    C.1.1. Recovering From Self-Flashing Failure
    D. Flight Data Recording
    E. Altus Metrum Hardware Specifications
    F. Release Notes
    F.1. Release Notes for Version 1.8.6
    F.1.1. AltOS
    F.1.2. AltosUI, TeleGPS
    F.1.3. MicroPeak
    F.2. Release Notes for Version 1.8.5
    F.2.1. AltOS
    F.2.2. AltosUI, TeleGPS
    F.3. Release Notes for Version 1.8.4
    F.3.1. AltOS
    F.4. Release Notes for Version 1.8.3
    F.4.1. AltOS
    F.4.2. AltosUI and TeleGPS Applications
    F.5. Release Notes for Version 1.8.2
    F.5.1. AltOS
    F.5.2. AltosUI and TeleGPS Applications
    F.6. Release Notes for Version 1.8.1
    F.6.1. AltOS
    F.6.2. AltosUI and TeleGPS Applications
    F.7. Release Notes for Version 1.8
    F.7.1. AltOS
    F.7.2. AltosUI and TeleGPS Applications
    F.8. Release Notes for Version 1.7
    F.8.1. AltOS
    F.8.2. AltosUI and TeleGPS Applications
    F.9. Release Notes for Version 1.6.8
    F.9.1. AltOS
    F.9.2. AltosUI, TeleGPS and AltosDroid Applications
    F.10. Release Notes for Version 1.6.5
    F.10.1. AltOS
    F.10.2. AltosUI, TeleGPS and AltosDroid Applications
    F.11. Release Notes for Version 1.6.4
    F.11.1. AltOS
    F.11.2. AltosUI, TeleGPS and AltosDroid Applications
    F.11.3. Documentation
    F.12. Release Notes for Version 1.6.3
    F.12.1. AltOS
    F.12.2. AltosUI and TeleGPS Applications
    F.12.3. AltosDroid
    F.12.4. Documentation
    F.13. Release Notes for Version 1.6.2
    F.13.1. AltOS
    F.13.2. AltosUI and TeleGPS Applications
    F.13.3. Documentation

    Chapter 1. Introduction and Overview

    Welcome to the Altus Metrum community! Our circuits and software reflect +contribution!

    +
    +
    +

    Have fun using these products, and we hope to meet all of you +out on the rocket flight line somewhere.

    +
    +
    +
    Bdale Garbee, KB0G
    +NAR #87103, TRA #12201
    +
    +
    +
    Keith Packard, KD7SQG
    +NAR #88757, TRA #12200
    +
    +
    +
    +
    +

    1. Introduction and Overview

    +
    +
    +

    Welcome to the Altus Metrum community! Our circuits and software reflect our passion for both hobby rocketry and Free Software. We hope their capabilities and performance will delight you in every way, but by releasing all of our hardware and software designs under open licenses, we also hope to empower you to take as active a role in our collective -future as you wish!

    Our goal is to include in this document all of the information required +future as you wish!

    +
    +
    +

    Our goal is to include in this document all of the information required to successfully configure and use Altus Metrum products. But documentation is a lot like software in that it can contain "bugs", and can probably always be improved! If you have questions that -aren’t answered in this manual, or just need a little help figuring +aren’t answered in this manual, or just need a little help figuring things out, we strongly suggest joining the Altus Metrum user email list, which you can do by visiting -https://lists.gag.com/mailman/listinfo/altusmetrum. There’s a lot -of useful information in the mailing list archives!

    The first device created for our community was TeleMetrum, a dual +https://lists.gag.com/mailman/listinfo/altusmetrum. There’s a lot +of useful information in the mailing list archives!

    +
    +
    +

    The first device created for our community was TeleMetrum, a dual deploy altimeter with fully integrated GPS and radio telemetry as standard features, and a “companion interface” that will support optional capabilities in the future. The latest version of TeleMetrum, v2.0, has all of the same features but with -improved sensors and radio to offer increased performance.

    Our second device was TeleMini, a dual deploy altimeter with +improved sensors and radio to offer increased performance.

    +
    +
    +

    Our second device was TeleMini, a dual deploy altimeter with radio telemetry and radio direction finding. The first version of this device was only 13mm by 38mm (½ inch by 1½ inches) and could fit easily in an 18mm air-frame. The latest version, v3.0, includes a beeper, higher power radio, extended on-board -flight logging and an improved barometric sensor.

    TeleMega is our most sophisticated device, including six pyro +flight logging and an improved barometric sensor.

    +
    +
    +

    TeleMega is our most sophisticated device, including six pyro channels (four of which are fully programmable), integrated GPS, integrated gyroscopes for staging/air-start inhibit and high -performance telemetry.

    EasyMini is a dual-deploy altimeter with logging and built-in -USB data download.

    EasyMega is essentially a TeleMega board with the GPS receiver +performance telemetry.

    +
    +
    +

    EasyMini is a dual-deploy altimeter with logging and built-in +USB data download.

    +
    +
    +

    EasyMega is essentially a TeleMega board with the GPS receiver and telemetry transmitter removed. It offers the same 6 pyro -channels and integrated gyroscopes for staging/air-start inhibit.

    TeleDongle v0.2 was our first ground station, providing a USB to RF +channels and integrated gyroscopes for staging/air-start inhibit.

    +
    +
    +

    TeleDongle v0.2 was our first ground station, providing a USB to RF interfaces for communicating with the altimeters. Combined with your choice of antenna and notebook computer, TeleDongle and our associated user interface software form a complete ground @@ -56,23 +227,51 @@ station capable of logging and displaying in-flight telemetry, aiding rocket recovery, then processing and archiving flight data for analysis and review. The latest version, TeleDongle v3, has all new electronics with a higher performance radio -for improved range.

    For a slightly more portable ground station experience that also +for improved range.

    +
    +
    +

    For a slightly more portable ground station experience that also provides direct rocket recovery support, TeleBT offers flight monitoring and data logging using a Bluetooth™ connection between the receiver and an Android device that has the AltosDroid -application installed from the Google Play store.

    More products will be added to the Altus Metrum family over time, and +application installed from the Google Play store.

    +
    +
    +

    More products will be added to the Altus Metrum family over time, and we currently envision that this will be a single, comprehensive manual -for the entire product family.

    Chapter 2. Getting Started

    The first thing to do after you open the box is to hook up a -battery and charge it if necessary.

    2.1. Batteries

    The Lithium Polymer +for the entire product family.

    +
    +
    +
    +
    +

    2. Getting Started

    +
    +
    +

    The first thing to do after you open the box is to hook up a +battery and charge it if necessary.

    +
    +
    +

    2.1. Batteries

    +
    +

    The Lithium Polymer EasyMini battery can be charged by disconnecting it from the board and plugging it into a standalone -battery charger such as LipoCharger, and +battery charger such as LipoCharger, and connecting that via a USB cable to a laptop or other -USB power source.

    You can also choose to use another battery with +USB power source.

    +
    +
    +

    You can also choose to use another battery with EasyMini, anything supplying between 4 and 12 volts should work fine (like a standard 9V battery), but if you are planning to fire pyro charges, ground testing is required to verify that -the battery supplies enough current to fire your chosen e-matches.

    2.2. Linux/Mac/Windows Ground Station Software

    Next you should obtain and install the AltOS software. +the battery supplies enough current to fire your chosen e-matches.

    +
    +
    +
    +

    2.2. Linux/Mac/Windows Ground Station Software

    +
    +

    Next you should obtain and install the AltOS software. The AltOS distribution includes the AltosUI ground station program, current firmware images for all of the hardware, and a number of standalone utilities @@ -80,89 +279,301 @@ that are rarely needed. Pre-built binary packages are available for Linux, Microsoft Windows, Mac OSX. Full source code and build instructions are also available. The latest version may always be downloaded -from http://altusmetrum.org/AltOS

    Chapter 3. Using Altus Metrum Hardware

    Here are general instructions for hooking up an Altus Metrum +from http://altusmetrum.org/AltOS

    +
    +
    +
    +
    +
    +

    3. Using Altus Metrum Hardware

    +
    +
    +

    Here are general instructions for hooking up an Altus Metrum flight computer. Instructions specific to each model will be -found in the section devoted to that model below.

    3.1. Wiring and Electrical Interference

    To prevent electrical interference from affecting the -operation of the flight computer, it’s important to always +found in the section devoted to that model below.

    +
    +
    +

    3.1. Wiring and Electrical Interference

    +
    +

    To prevent electrical interference from affecting the +operation of the flight computer, it’s important to always twist pairs of wires connected to the board. Twist the switch leads, the pyro leads and the battery leads. This reduces -interference through a mechanism called common mode rejection.

    3.2. Hooking Up Lithium Polymer Batteries

    All Altus Metrum flight computers have a two pin JST PH +interference through a mechanism called common mode rejection.

    +
    +
    +
    +

    3.2. Hooking Up Lithium Polymer Batteries

    +
    +

    All Altus Metrum flight computers have a two pin JST PH series connector to connect up a single-cell Lithium Polymer cell (3.7V nominal). You can purchase matching batteries from the Altus Metrum store, or other vendors, or you can make your own. Pin 1 of the connector is positive, pin 2 is negative. Spark Fun sells a cable with the connector attached, which they call a -JST Jumper 2 Wire Assembly

    Warning

    Many RC vendors also sell lithium polymer batteries with +JST Jumper 2 Wire Assembly

    +
    +
    + + + + + +
    +
    Warning
    +
    +Many RC vendors also sell lithium polymer batteries with this same connector. All that we have found use the opposite polarity, and if you use them that way, you will damage or -destroy the flight computer.

    3.3. Hooking Up Pyro Charges

    Altus Metrum flight computers always have two screws for -each pyro charge. This means you shouldn’t need to put two +destroy the flight computer. +

    +
    +
    +
    +

    3.3. Hooking Up Pyro Charges

    +
    +

    Altus Metrum flight computers always have two screws for +each pyro charge. This means you shouldn’t need to put two wires into a screw terminal or connect leads from pyro -charges together externally.

    On the flight computer, one lead from each charge is hooked +charges together externally.

    +
    +
    +

    On the flight computer, one lead from each charge is hooked to the positive battery terminal through the power switch. The other lead is connected through the pyro circuit, which is connected to the negative battery terminal when the pyro -circuit is fired.

    3.4. Hooking Up a Power Switch

    Altus Metrum flight computers need an external power switch +circuit is fired.

    +
    +
    +
    +

    3.4. Hooking Up a Power Switch

    +
    +

    Altus Metrum flight computers need an external power switch to turn them on. This disconnects both the computer and the pyro charges from the battery, preventing the charges from firing when in the Off position. The switch is in-line with -the positive battery terminal.

    3.5. Understanding Beeps

    Altus Metrum flight computers include a beeper to -provide information about the state of the system.

    Here’s a short summary of all of the modes and the +the positive battery terminal.

    +
    +
    +
    +

    3.5. Understanding Beeps

    +
    +

    Altus Metrum flight computers include a beeper to +provide information about the state of the system.

    +
    +
    +

    Here’s a short summary of all of the modes and the beeping that accompanies each mode. In the description of the beeping pattern, “dit” means a short beep while "dah" means a long beep (three times as long). “Brap” means -a long dissonant tone.

    Table 3.1. AltOS Modes

    Mode Name

    Abbreviation

    Beeps

    Description

    Startup

    S

    battery voltage in decivolts

    Calibrating sensors, detecting orientation.

    Idle

    I

    dit dit

    Ready to accept commands over USB

    Pad

    P

    dit dah dah dit

    Waiting for launch. Not listening for commands.

    Boost

    B

    dah dit dit dit

    Accelerating upwards.

    Fast

    F

    dit dit dah dit

    Decelerating, but moving faster than 200m/s.

    Coast

    C

    dah dit dah dit

    Decelerating, moving slower than 200m/s

    Drogue

    D

    dah dit dit

    Descending after apogee. Above main height.

    Main

    M

    dah dah

    Descending. Below main height.

    Landed

    L

    dit dah dit dit

    Stable altitude for at least ten seconds.

    Sensor error

    X

    dah dit dit dah

    Error detected during sensor calibration.


    Here’s a summary of all of the Pad and Idle mode -indications. In Idle mode, you’ll hear one of these +a long dissonant tone.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. AltOS Modes

    Mode Name

    Abbreviation

    Beeps

    Description

    Startup

    S

    battery voltage in decivolts

    Calibrating sensors, detecting orientation.

    Idle

    I

    dit dit

    Ready to accept commands over USB

    Pad

    P

    dit dah dah dit

    Waiting for launch. Not listening for commands.

    Boost

    B

    dah dit dit dit

    Accelerating upwards.

    Fast

    F

    dit dit dah dit

    Decelerating, but moving faster than 200m/s.

    Coast

    C

    dah dit dah dit

    Decelerating, moving slower than 200m/s

    Drogue

    D

    dah dit dit

    Descending after apogee. Above main height.

    Main

    M

    dah dah

    Descending. Below main height.

    Landed

    L

    dit dah dit dit

    Stable altitude for at least ten seconds.

    Sensor error

    X

    dah dit dit dah

    Error detected during sensor calibration.

    +
    +

    Here’s a summary of all of the Pad and Idle mode +indications. In Idle mode, you’ll hear one of these just once after the two short dits indicating idle mode. In Pad mode, after the dit dah dah dit -indicating Pad mode, you’ll hear these once every five -seconds.

    Table 3.2. Pad/Idle Indications

    + + +
    Name Beeps Description

    Neither

    brap

    No continuity detected on either apogee or main igniters.

    Apogee

    dit

    Continuity detected only on apogee igniter.

    Main

    dit dit

    Continuity detected only on main igniter.

    Both

    dit dit dit

    Continuity detected on both igniters.

    Storage Full

    warble

    On-board data logging storage is full. This will +indicating Pad mode, you’ll hear these once every five +seconds.

    + + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2. Pad/Idle Indications
    NameBeepsDescription

    Neither

    brap

    No continuity detected on either apogee or main igniters.

    Apogee

    dit

    Continuity detected only on apogee igniter.

    Main

    dit dit

    Continuity detected only on main igniter.

    Both

    dit dit dit

    Continuity detected on both igniters.

    Storage Full

    warble

    On-board data logging storage is full. This will not prevent the flight computer from safely controlling the flight or transmitting telemetry signals, but no record of the flight will be -stored in on-board flash.


    3.6. Turning On the Power

    Connect a battery and power switch and turn the switch +stored in on-board flash.

    +
    +
    +

    3.6. Turning On the Power

    +
    +

    Connect a battery and power switch and turn the switch to "on". The flight computer will signal power on by reporting the battery voltage and then perform an internal self -test and sensor calibration.

    Once the self test and calibration are complete, there +test and sensor calibration.

    +
    +
    +

    Once the self test and calibration are complete, there are two modes that an Altus Metrum flight computer can -operate in:

    -Flight/Pad -
    -The flight computer is waiting to detect +operate in:

    +
    +
    +
    +
    Flight/Pad
    +
    +

    The flight computer is waiting to detect launch and then fly the rocket. In this mode, the USB link is disabled. The only way to get out of this mode is to power the flight computer down. See below for how to get the flight -computer to come up in Flight/Pad mode at power on. -

    -Idle -
    -The flight computer is ready to communicate over USB +computer to come up in Flight/Pad mode at power on.

    +
    +
    Idle
    +
    +

    The flight computer is ready to communicate over USB You can configure the flight computer, download data or display the current state. See below for how to get the flight -computer to come up in Idle mode at power on. -

    For EasyMini, if the USB cable is connected to a +computer to come up in Idle mode at power on.

    + + +
    +
    +

    For EasyMini, if the USB cable is connected to a computer, it will enter Idle mode. Otherwise, it will -enter Flight/Pad mode.

    You can see in Section 3.5, “Understanding Beeps” -how to tell which mode the flight computer is in.

    3.7. Using an External Active Switch Circuit

    You can use an active switch circuit, such as the +enter Flight/Pad mode.

    +
    +
    +

    You can see in Understanding Beeps +how to tell which mode the flight computer is in.

    +
    +
    +
    +

    3.7. Using an External Active Switch Circuit

    +
    +

    You can use an active switch circuit, such as the Featherweight Magnetic Switch, with any Altus Metrum flight computer. These require three connections, one to the battery, one to the positive power input on the flight computer and one to ground. Find instructions on how to hook these up for each flight computer below. Then follow the instructions that come with your active switch to -connect it up.

    3.8. Using a Separate Pyro Battery

    As mentioned above in Section 3.3, “Hooking Up Pyro Charges”, one +connect it up.

    +
    +
    +
    +

    3.8. Using a Separate Pyro Battery

    +
    +

    As mentioned above in Hooking Up Pyro Charges, one lead for each of the pyro charges is connected through the power switch directly to the positive battery terminal. The other lead is connected to the pyro circuit, which connects it to the negative battery terminal when the pyro circuit is fired. The pyro circuit on all of the flight computers is designed to -handle up to 16V.

    To use a separate pyro battery, connect the negative pyro +handle up to 16V.

    +
    +
    +

    To use a separate pyro battery, connect the negative pyro battery terminal to the flight computer ground terminal, the positive battery terminal to the igniter and the other igniter lead to the negative pyro terminal on the flight @@ -170,71 +581,220 @@ computer. When the pyro channel fires, it will complete the circuit between the negative pyro terminal and the ground terminal, firing the igniter. Specific instructions on how to hook this up for each flight computer will be found -in the section below for that flight computer.

    3.9. Using a Different Kind of Battery

    EasyMini +in the section below for that flight computer.

    +
    +
    +
    +

    3.9. Using a Different Kind of Battery

    +
    +

    EasyMini is designed to use either a lithium polymer battery or any other battery producing between 4 and 12 volts, such as a rectangular 9V -battery.

    3.10. Using Packet Link Mode

    All AltusMetrum flight computers that have a radio can +battery.

    +
    +
    +
    + +
    +

    All AltusMetrum flight computers that have a radio can communicate with the ground station software for configuration and other operations using the Packet Link mode. This uses radio communication instead of a USB cable. To set this up, the ground station software must be configured to the correct data rate, frequency -and callsign.

    You can monitor Packet Link mode from TeleBT or +and callsign.

    +
    +
    +

    You can monitor Packet Link mode from TeleBT or TeleDongle by watching the LEDs. Each time the device transmits, the red LED will flash. When the link is busy, or when the link is not working, the device will transmit 10 times per second, so the LED will flash rapidly. When the link is working and there is no data to send, the link will flash once per second, and the -LED will flash more slowly.

    Chapter 4. EasyMini

    Figure 4.1. EasyMini Board

    easymini-top.jpg

    EasyMini is built on a 0.8 inch by 1½ inch circuit board. It’s -designed to fit in a 24mm coupler tube.

    You usually don’t need to configure EasyMini at all; it’s set +LED will flash more slowly.

    +
    +
    +
    +
    +
    +

    4. EasyMini

    +
    +
    +
    +easymini top +
    +
    Figure 1. EasyMini Board
    +
    +
    +

    EasyMini is built on a 0.8 inch by 1½ inch circuit board. It’s +designed to fit in a 24mm coupler tube.

    +
    +
    +

    You usually don’t need to configure EasyMini at all; it’s set up to do dual-deployment with an event at apogee to separate the airframe and deploy a drogue and another event at 250m (820ft) to deploy the main. Install EasyMini in your airframe, -hook up a battery, igniters and a power switch and you’re -ready to fly.

    4.1. EasyMini Screw Terminals

    EasyMini has two sets of four screw terminals near one end of the +hook up a battery, igniters and a power switch and you’re +ready to fly.

    +
    +
    +

    4.1. EasyMini Screw Terminals

    +
    +

    EasyMini has two sets of four screw terminals near one end of the board. Using the picture above, the top four have connections for the main pyro circuit and an external battery and the bottom four have connections for the apogee pyro circuit and the power -switch. Counting from the left, the connections are as follows:

    Table 4.1. EasyMini Screw Terminals

    Terminal #Terminal NameDescription

    Top 1

    Main -

    Main pyro channel connection to pyro circuit

    Top 2

    Main

    Main pyro channel common connection to battery

    Top 3

    Battery

    Positive external battery terminal

    Top 4

    Battery -

    Negative external battery terminal

    Bottom 1

    Apogee -

    Apogee pyro channel connection to pyro circuit

    Bottom 2

    Apogee

    Apogee pyro channel common connection to battery

    Bottom 3

    Switch Output

    Switch connection to flight computer

    Bottom 4

    Switch Input

    Switch connection to positive battery terminal


    4.2. Connecting A Battery To EasyMini

    There are two possible battery connections on +switch. Counting from the left, the connections are as follows:

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3. EasyMini Screw Terminals
    Terminal #Terminal NameDescription

    Top 1

    Main -

    Main pyro channel connection to pyro circuit

    Top 2

    Main

    Main pyro channel common connection to battery

    Top 3

    Battery

    Positive external battery terminal

    Top 4

    Battery -

    Negative external battery terminal

    Bottom 1

    Apogee -

    Apogee pyro channel connection to pyro circuit

    Bottom 2

    Apogee

    Apogee pyro channel common connection to battery

    Bottom 3

    Switch Output

    Switch connection to flight computer

    Bottom 4

    Switch Input

    Switch connection to positive battery terminal

    +
    +
    +

    4.2. Connecting A Battery To EasyMini

    +
    +

    There are two possible battery connections on EasyMini. You can use either method; both feed -through the power switch terminals.

    One battery connection is the standard Altus Metrum +through the power switch terminals.

    +
    +
    +

    One battery connection is the standard Altus Metrum white JST plug. This mates with single-cell Lithium -Polymer batteries sold by Altus Metrum.

    The other is a pair of screw terminals marked Battery -+ and Battery -. Connect a battery from 4 to 12 -volts to these terminals, being careful to match polarity.

    4.3. Charging Lithium Batteries

    Because EasyMini allows for batteries other than the +Polymer batteries sold by Altus Metrum.

    +
    +
    +

    The other is a pair of screw terminals marked 'Battery ++' and 'Battery -'. Connect a battery from 4 to 12 +volts to these terminals, being careful to match polarity.

    +
    +
    +
    +

    4.3. Charging Lithium Batteries

    +
    +

    Because EasyMini allows for batteries other than the standard Altus Metrum Lithium Polymer cells, it cannot incorporate a battery charger circuit. Therefore, when -using a Litium Polymer cell, you’ll need an external +using a Litium Polymer cell, you’ll need an external charger. These are available from Altus Metrum, or -from Spark Fun.

    4.4. Using a Separate Pyro Battery with EasyMini

    As described above, using an external pyro battery involves +from Spark Fun.

    +
    +
    +
    +

    4.4. Using a Separate Pyro Battery with EasyMini

    +
    +

    As described above, using an external pyro battery involves connecting the negative battery terminal to the flight computer ground, connecting the positive battery terminal to one of the igniter leads and connecting the other igniter -lead to the per-channel pyro circuit connection.

    To connect the negative pyro battery terminal to EasyMini +lead to the per-channel pyro circuit connection.

    +
    +
    +

    To connect the negative pyro battery terminal to EasyMini ground, connect it to the negative external battery -connection, top terminal 4.

    Connecting the positive battery terminal to the pyro +connection, top terminal 4.

    +
    +
    +

    Connecting the positive battery terminal to the pyro charges must be done separate from EasyMini, by soldering -them together or using some other connector.

    The other lead from each pyro charge is then inserted into +them together or using some other connector.

    +
    +
    +

    The other lead from each pyro charge is then inserted into the appropriate per-pyro channel screw terminal (top terminal 1 for the Main charge, bottom terminal 1 for the -Apogee charge).

    4.5. Using an Active Switch with EasyMini

    As explained above, an external active switch requires three +Apogee charge).

    +
    +
    +
    +

    4.5. Using an Active Switch with EasyMini

    +
    +

    As explained above, an external active switch requires three connections, one to the positive battery terminal, one to the flight computer positive input and one to ground. Use the negative external battery connection, top terminal 4 for -ground.

    The positive battery terminal is available on bottom +ground.

    +
    +
    +

    The positive battery terminal is available on bottom terminal 4, the positive flight computer input is on the -bottom terminal 3.

    Chapter 5. Installation

    A typical installation involves attaching +bottom terminal 3.

    +
    +
    +
    +
    +
    +

    5. Installation

    +
    +
    +

    A typical installation involves attaching only a suitable battery, a single pole switch for power on/off, and two pairs of wires connecting e-matches for the apogee and main ejection charges. All Altus Metrum products are designed for use with single-cell batteries with 3.7 volts nominal. EasyMini may also be used with other -batteries as long as they supply between 4 and 12 volts.

    The battery connectors are a standard 2-pin JST connector; you +batteries as long as they supply between 4 and 12 volts.

    +
    +
    +

    The battery connectors are a standard 2-pin JST connector; you can purchase suitable batteries from the any vendor selling Altus Metrum products. These batteries are single-cell Lithium Polymer batteries that nominally provide 3.7 @@ -243,40 +803,95 @@ using mating connectors, however the polarity for those is generally reversed from the batteries used by Altus Metrum products. In particular, the Tenergy batteries supplied for use in Featherweight flight computers are not compatible with Altus -Metrum flight computers or battery chargers.

    Warning

    Check polarity and voltage before connecting any battery not -purchased from Altus Metrum.

    Warning

    Spark Fun sells batteries that have a matching connector with +Metrum flight computers or battery chargers.

    +
    +
    + + + + + +
    +
    Warning
    +
    +Check polarity and voltage before connecting any battery not +purchased from Altus Metrum. +
    +
    +
    + + + + + +
    +
    Warning
    +
    +Spark Fun sells batteries that have a matching connector with the correct polarity. However, these batteries include an integrated current limiting circuit. That circuit will cause the battery to shut down when firing the igniter circuit. Do not use these batteries unless you remove the current limiting -circuit.

    By default, we use the unregulated output of the battery +circuit. +

    +
    +
    +

    By default, we use the unregulated output of the battery directly to fire ejection charges. This works marvelously with standard low-current e-matches like the J-Tek from MJG Technologies, and with Quest Q2G2 igniters. However, if you want or need to use a separate pyro battery, check out -Section 3.8, “Using a Separate Pyro Battery” for instructions on how to wire +Using a Separate Pyro Battery for instructions on how to wire that up. The altimeters are designed to work with an external -pyro battery of no more than 15 volts.

    Ejection charges are wired directly to the screw terminal block -at the aft end of the altimeter. You’ll need a very small straight +pyro battery of no more than 15 volts.

    +
    +
    +

    Ejection charges are wired directly to the screw terminal block +at the aft end of the altimeter. You’ll need a very small straight blade screwdriver for these screws, such as you might find in a -jeweler’s screwdriver set. -The screw terminal block is also used for the power switch leads.

    Chapter 6. Using Altus Metrum Products

    6.1. In the Rocket

    In the rocket itself, you just need a flight computer +jeweler’s screwdriver set. +The screw terminal block is also used for the power switch leads.

    +
    +
    +
    +
    +

    6. Using Altus Metrum Products

    +
    +
    +

    6.1. In the Rocket

    +
    +

    In the rocket itself, you just need a flight computer and a single-cell, 3.7 volt nominal Li-Po rechargeable battery. A 110mAh battery weighs less than a triple A battery and is a good choice for use with -EasyMini.

    6.2. On the Ground

    The GUI tool, AltosUI, is written in Java and runs -across Linux, Mac OS and Windows. There’s also a suite +EasyMini.

    +
    +
    +
    +

    6.2. On the Ground

    +
    +

    The GUI tool, AltosUI, is written in Java and runs +across Linux, Mac OS and Windows. There’s also a suite of C tools for Linux which can perform most of the -same tasks.

    After the flight, +same tasks.

    +
    +
    +

    After the flight, you can use a USB cable to plug into the flight computer board directly. A USB cable is also how you -charge the Li-Po battery, so you’ll want one of those +charge the Li-Po battery, so you’ll want one of those anyway. The same cable used by lots of digital cameras and other modern electronic stuff will work -fine.

    6.3. Data Analysis

    Our software makes it easy to log the data from each +fine.

    +
    +
    +
    +

    6.3. Data Analysis

    +
    +

    Our software makes it easy to log the data from each flight, both the telemetry received during the flight itself, and the more complete data log recorded in the flash memory on the altimeter board. Once this data @@ -288,28 +903,66 @@ set of plots showing the altitude, acceleration, and velocity of the rocket during flight. And you can even export a flight log in a format usable with Google Maps and Google Earth for visualizing the flight path -in two or three dimensions!

    Our ultimate goal is to emit a set of files for each +in two or three dimensions!

    +
    +
    +

    Our ultimate goal is to emit a set of files for each flight that can be published as a web page per flight, -or just viewed on your local disk with a web browser.

    6.4. Future Plans

    Because all of our work is open, both the hardware +or just viewed on your local disk with a web browser.

    +
    +
    +
    +

    6.4. Future Plans

    +
    +

    Because all of our work is open, both the hardware designs and the software, if you have some great idea for an addition to the current Altus Metrum family, feel free to dive in and help! Or let us know what -you’d like to see that we aren’t already working on, -and maybe we’ll get excited about it too…

    Watch our web site for +you’d like to see that we aren’t already working on, +and maybe we’ll get excited about it too…​

    +
    +
    +

    Watch our web site for more news and information as our family of products -evolves!

    Chapter 7. AltosUI

    Figure 7.1. AltosUI Main Window

    altosui.png

    The AltosUI program provides a graphical user interface for +evolves!

    +
    +
    +
    +
    +
    +

    7. AltosUI

    +
    +
    +
    +altosui +
    +
    Figure 2. AltosUI Main Window
    +
    +
    +

    The AltosUI program provides a graphical user interface for interacting with the Altus Metrum product family. AltosUI can monitor telemetry data, configure devices and many other tasks. The primary interface window provides a selection of buttons, one for each major activity in the system. This chapter is split into sections, each of which documents one of -the tasks provided from the top-level toolbar.

    7.1. Save Flight Data

    The altimeter records flight data to its internal +the tasks provided from the top-level toolbar.

    +
    +
    +

    7.1. Save Flight Data

    +
    +

    The altimeter records flight data to its internal flash memory. -The Save Flight Data button allows you to -read the flash memory and write it to disk.

    Clicking on the Save Flight Data button brings up a +The 'Save Flight Data' button allows you to +read the flash memory and write it to disk.

    +
    +
    +

    Clicking on the 'Save Flight Data' button brings up a list of connected flight computers and TeleDongle devices. If you select a flight computer, the flight -data will be downloaded from that device directly.

    After the device has been selected, a dialog showing +data will be downloaded from that device directly.

    +
    +
    +

    After the device has been selected, a dialog showing the flight data saved in the device will be shown allowing you to select which flights to download and which to delete. With version 0.9 or newer firmware, @@ -318,40 +971,97 @@ consume to be reused by another flight. This prevents accidentally losing flight data if you neglect to download data before flying again. Note that if there is no more space available in the device, then no data -will be recorded during the next flight.

    The file name for each flight log is computed +will be recorded during the next flight.

    +
    +
    +

    The file name for each flight log is computed automatically from the recorded flight date, altimeter -serial number and flight number information.

    7.2. Replay Flight

    Select this button and you are prompted to select a flight +serial number and flight number information.

    +
    +
    +
    +

    7.2. Replay Flight

    +
    +

    Select this button and you are prompted to select a flight record file, either a .telem file recording telemetry data or a .eeprom file containing flight data saved from the altimeter -flash memory.

    Once a flight record is selected, the flight monitor interface +flash memory.

    +
    +
    +

    Once a flight record is selected, the flight monitor interface is displayed and the flight is re-enacted in real -time.

    7.3. Graph Data

    Select this button and you are prompted to select a flight +time.

    +
    +
    +
    +

    7.3. Graph Data

    +
    +

    Select this button and you are prompted to select a flight record file, either a .telem file recording telemetry data or a .eeprom file containing flight data saved from -flash memory.

    Note that telemetry files will generally produce poor graphs +flash memory.

    +
    +
    +

    Note that telemetry files will generally produce poor graphs due to the lower sampling rate and missed telemetry packets. -Use saved flight data in .eeprom files for graphing where possible.

    Once a flight record is selected, a window with multiple tabs is -opened.

    7.3.1. Flight Graph

    Figure 7.2. Flight Data Graph

    graph.png

    By default, the graph contains acceleration (blue), -velocity (green) and altitude (red).

    The graph can be zoomed into a particular area by +Use saved flight data in .eeprom files for graphing where possible.

    +
    +
    +

    Once a flight record is selected, a window with multiple tabs is +opened.

    +
    +
    +

    7.3.1. Flight Graph

    +
    +
    +graph +
    +
    Figure 3. Flight Data Graph
    +
    +
    +

    By default, the graph contains acceleration (blue), +velocity (green) and altitude (red).

    +
    +
    +

    The graph can be zoomed into a particular area by clicking and dragging down and to the right. Once zoomed, the graph can be reset by clicking and dragging up and to the left. Holding down control and clicking and dragging allows the graph to be panned. The right mouse button causes a pop-up menu to be displayed, giving you the option save or print the -plot.

    7.3.2. Configure Graph

    Figure 7.3. Flight Graph Configuration

    graph-configure.png

    This selects which graph elements to show, and, at the +plot.

    +
    +
    +
    +

    7.3.2. Configure Graph

    +
    +
    +graph configure +
    +
    Figure 4. Flight Graph Configuration
    +
    +
    +

    This selects which graph elements to show, and, at the very bottom. It also lets you configure how -the graph is drawn:

    • -Whether to use metric or imperial units -
    • -Whether to show a marker at each data +the graph is drawn:

      +
    +
    +
      +
    • +

      Whether to use metric or imperial units

      +
    • +
    • +

      Whether to show a marker at each data point. When displaying a small section of the graph, these can be useful to know what -data values were recorded. -

    • -How wide to draw the lines in the graph -
    • -How to filter speed and acceleration data +data values were recorded.

      +
    • +
    • +

      How wide to draw the lines in the graph

      +
    • +
    • +

      How to filter speed and acceleration data computed from barometric data. Flight computers with accelerometers never display computed acceleration data, and only use @@ -359,8 +1069,28 @@ barometric data to compute speed during descent. Flight computers without accelerometers always compute both speed and acceleration from barometric data. A larger -value smooths the data more. -

    7.3.3. Flight Statistics

    Figure 7.4. Flight Statistics

    graph-stats.png

    Shows overall data computed from the flight.

    7.4. Export Data

    This tool takes the raw data files and makes them +value smooths the data more.

    + + +
    +
    +
    +

    7.3.3. Flight Statistics

    +
    +
    +graph stats +
    +
    Figure 5. Flight Statistics
    +
    +
    +

    Shows overall data computed from the flight.

    +
    +
    +
    +
    +

    7.4. Export Data

    +
    +

    This tool takes the raw data files and makes them available for external analysis. When you select this button, you are prompted to select a flight data file, which can be either a .eeprom or .telem. The .eeprom @@ -368,166 +1098,347 @@ files contain higher resolution and more continuous data, while .telem files contain receiver signal strength information. Next, a second dialog appears which is used to select where to write the resulting -file.

    7.4.1. Comma Separated Value Format

    This is a text file containing the data in a form +file.

    +
    +
    +

    7.4.1. Comma Separated Value Format

    +
    +

    This is a text file containing the data in a form suitable for import into a spreadsheet or other external data analysis tool. The first few lines of the file contain the version and configuration information from the altimeter, then there is a single header line which labels all of the fields. All of -these lines start with a # character which many -tools can be configured to skip over.

    The remaining lines of the file contain the data, with +these lines start with a '#' character which many +tools can be configured to skip over.

    +
    +
    +

    The remaining lines of the file contain the data, with each field separated by a comma and at least one space. All of the sensor values are converted to standard units, with the barometric data reported in -both pressure, altitude and height above pad units.

    7.5. Configure Altimeter

    Figure 7.5. Altimeter Configuration

    configure-altimeter.png

    Select this button and then select an altimeter.

    The first few lines of the dialog provide information about the +both pressure, altitude and height above pad units.

    +
    +
    +
    +
    +

    7.5. Configure Altimeter

    +
    +
    +configure altimeter +
    +
    Figure 6. Altimeter Configuration
    +
    +
    +

    Select this button and then select an altimeter.

    +
    +
    +

    The first few lines of the dialog provide information about the connected device, including the product name, software version and hardware serial number. Below that are the -individual configuration entries.

    At the bottom of the dialog, there are four buttons:

    -Save -
    -This writes any changes to the configuration parameter -block in flash memory. If you don’t press this button, -any changes you make will be lost. -
    -Reset -
    -This resets the dialog to the most recently saved -values, erasing any changes you have made. -
    -Reboot -
    -This reboots the device. Use this to switch from idle +individual configuration entries.

    +
    +
    +

    At the bottom of the dialog, there are four buttons:

    +
    +
    +
    +
    Save
    +
    +

    This writes any changes to the configuration parameter +block in flash memory. If you don’t press this button, +any changes you make will be lost.

    +
    +
    Reset
    +
    +

    This resets the dialog to the most recently saved +values, erasing any changes you have made.

    +
    +
    Reboot
    +
    +

    This reboots the device. Use this to switch from idle to pad mode by rebooting once the rocket is oriented for flight, or to confirm changes you think you saved -are really saved. -

    -Close -
    -This closes the dialog. Any unsaved changes will be -lost. -

    The rest of the dialog contains the parameters to be configured.

    7.5.1. Main Deploy Altitude

    This sets the altitude (above the recorded pad -altitude) at which the main igniter will fire. The +are really saved.

    + +
    Close
    +
    +

    This closes the dialog. Any unsaved changes will be +lost.

    +
    + +
    +
    +

    The rest of the dialog contains the parameters to be configured.

    +
    +
    +

    7.5.1. Main Deploy Altitude

    +
    +

    This sets the altitude (above the recorded pad +altitude) at which the 'main' igniter will fire. The drop-down menu shows some common values, but you can edit the text directly and choose whatever you like. If the apogee charge fires below this altitude, then the main charge will fire two seconds after the -apogee charge fires.

    7.5.2. Apogee Delay

    When flying redundant electronics, it’s often -important to ensure that multiple apogee charges don’t +apogee charge fires.

    +
    +
    +
    +

    7.5.2. Apogee Delay

    +
    +

    When flying redundant electronics, it’s often +important to ensure that multiple apogee charges don’t fire at precisely the same time, as that can over pressurize the apogee deployment bay and cause a structural failure of the air-frame. The Apogee Delay parameter tells the flight computer to fire the apogee charge a certain number of seconds after apogee has -been detected.

    7.5.3. Apogee Lockout

    Apogee lockout is the number of seconds after launch +been detected.

    +
    +
    +
    +

    7.5.3. Apogee Lockout

    +
    +

    Apogee lockout is the number of seconds after launch where the flight computer will not fire the apogee charge, even if the rocket appears to be at -apogee. This is often called Mach Delay, as it is +apogee. This is often called 'Mach Delay', as it is intended to prevent a flight computer from unintentionally firing apogee charges due to the pressure spike that occurrs across a mach transition. Altus Metrum flight computers include a Kalman filter which is not fooled by this sharp pressure increase, and so this setting should be left -at the default value of zero to disable it.

    Warning

    Firmware versions older than 1.8.6 have a +at the default value of zero to disable it.

    +
    +
    + + + + + +
    +
    Warning
    +
    +Firmware versions older than 1.8.6 have a bug which resets the time since launch to zero each time a motor starts burning. Update firmware to get -the correct behavior.

    7.5.4. Maximum Flight Log Size

    This sets the space (in kilobytes) allocated +the correct behavior. +

    +
    +
    +
    +

    7.5.4. Maximum Flight Log Size

    +
    +

    This sets the space (in kilobytes) allocated for each flight log. The available space will be divided into chunks of this size. A smaller value will allow more flights to be stored, a larger value will record data from longer -flights.

    7.5.5. Ignitor Firing Mode

    This configuration parameter allows the two standard ignitor +flights.

    +
    +
    +
    +

    7.5.5. Ignitor Firing Mode

    +
    +

    This configuration parameter allows the two standard ignitor channels (Apogee and Main) to be used in different -configurations.

    -Dual Deploy -
    -This is the usual mode of operation; the -apogee channel is fired at apogee and the -main channel at the height above ground -specified by the Main Deploy Altitude during -descent. -
    -Redundant Apogee -
    -This fires both channels at apogee, the -apogee channel first followed after a two -second delay by the main channel. -
    -Redundant Main -
    -This fires both channels at the height above +configurations.

    +
    +
    +
    +
    Dual Deploy
    +
    +

    This is the usual mode of operation; the +'apogee' channel is fired at apogee and the +'main' channel at the height above ground +specified by the 'Main Deploy Altitude' during +descent.

    +
    +
    Redundant Apogee
    +
    +

    This fires both channels at apogee, the +'apogee' channel first followed after a two +second delay by the 'main' channel.

    +
    +
    Redundant Main
    +
    +

    This fires both channels at the height above ground specified by the Main Deploy Altitude -setting during descent. The apogee channel +setting during descent. The 'apogee' channel is fired first, followed after a two second -delay by the main channel. -

    7.5.6. Beeper Frequency

    The beeper on all Altus Metrum flight +delay by the 'main' channel.

    + + +
    +
    +
    +

    7.5.6. Beeper Frequency

    +
    +

    The beeper on all Altus Metrum flight computers works best at 4000Hz, however if you have more than one flight computer in a single airframe, having all of them sound at the same frequency can be confusing. This parameter lets you adjust the base beeper frequency -value.

    7.6. Configure AltosUI

    Figure 7.6. Configure AltosUI Dialog

    configure-altosui.png

    This button presents a dialog so that you can -configure the AltosUI global settings.

    7.6.1. Log Directory

    AltosUI logs all telemetry data and saves all +value.

    +
    +
    +
    +
    +

    7.6. Configure AltosUI

    +
    +
    +configure altosui +
    +
    Figure 7. Configure AltosUI Dialog
    +
    +
    +

    This button presents a dialog so that you can +configure the AltosUI global settings.

    +
    +
    +

    7.6.1. Log Directory

    +
    +

    AltosUI logs all telemetry data and saves all flash data to this directory. This directory is also used as the staring point when selecting data files for display or -export.

    Click on the directory name to bring up a +export.

    +
    +
    +

    Click on the directory name to bring up a directory choosing dialog, select a new -directory and click Select Directory to +directory and click 'Select Directory' to change where AltosUI reads and writes data -files.

    7.6.2. Imperial Units

    This switches between metric units (meters) +files.

    +
    +
    +
    +

    7.6.2. Imperial Units

    +
    +

    This switches between metric units (meters) and imperial units (feet and miles). This affects the display of values use during flight monitoring, configuration, data graphing and all of the voice announcements. It does not change the units used when exporting to CSV files, those are -always produced in metric units.

    7.6.3. Serial Debug

    This causes all communication with a connected +always produced in metric units.

    +
    +
    +
    +

    7.6.3. Serial Debug

    +
    +

    This causes all communication with a connected device to be dumped to the console from which -AltosUI was started. If you’ve started it from +AltosUI was started. If you’ve started it from an icon or menu entry, the output will simply be discarded. This mode can be useful to debug -various serial communication issues.

    7.6.4. Font size

    Selects the set of fonts used in the flight +various serial communication issues.

    +
    +
    +
    +

    7.6.4. Font size

    +
    +

    Selects the set of fonts used in the flight monitor window. Choose between the small, -medium and large sets.

    7.6.5. Look & feel

    Switches between the available Java user +medium and large sets.

    +
    +
    +
    +

    7.6.5. Look & feel

    +
    +

    Switches between the available Java user interface appearances. The default selection is supposed to match the native window system -appearance for the target platform.

    7.6.6. Menu position

    Selects the initial position for the main +appearance for the target platform.

    +
    +
    +
    +

    7.6.6. Menu position

    +
    +

    Selects the initial position for the main AltosUI window that includes all of the -command buttons.

    7.7. Flash Image

    This reprograms Altus Metrum devices with new +command buttons.

    +
    +
    +
    +
    +

    7.7. Flash Image

    +
    +

    This reprograms Altus Metrum devices with new firmware. EasyMini is programmed directly over USB (self programming). Please read the directions for flashing devices in -Appendix C, Updating Device Firmware.

    7.8. Fire Igniter

    Figure 7.7. Fire Igniter Window

    fire-igniter.png

    This activates the igniter circuits in the flight +Updating Device Firmware.

    +
    +
    +
    +

    7.8. Fire Igniter

    +
    +
    +fire igniter +
    +
    Figure 8. Fire Igniter Window
    +
    +
    +

    This activates the igniter circuits in the flight computer to help test recovery systems -deployment.

    Selecting the Fire Igniter button brings up the +deployment.

    +
    +
    +

    Selecting the 'Fire Igniter' button brings up the usual device selection dialog. Pick the desired device. This brings up another window which shows the current continuity test status for all of the pyro -channels.

    Next, select the desired igniter to fire. This will -enable the Arm button.

    Select the Arm button. This enables the Fire -button. The word Arm is replaced by a countdown +channels.

    +
    +
    +

    Next, select the desired igniter to fire. This will +enable the 'Arm' button.

    +
    +
    +

    Select the 'Arm' button. This enables the 'Fire' +button. The word 'Arm' is replaced by a countdown timer indicating that you have 10 seconds to press the -Fire button or the system will deactivate, at which +'Fire' button or the system will deactivate, at which point you start over again at selecting the desired -igniter.

    Appendix A. System Operation

    A.1. Firmware Modes

    The AltOS firmware build for the altimeters has two +igniter.

    +
    +
    +
    +
    +
    +

    Appendix A: System Operation

    +
    +
    +

    A.1. Firmware Modes

    +
    +

    The AltOS firmware build for the altimeters has two fundamental modes, “idle” and “flight”. Which of these modes the firmware operates in is determined at start up time. Since -EasyMini doesn’t +EasyMini doesn’t have an accelerometer we can use to determine orientation, “idle” mode is selected if the board is connected via USB to a computer, -otherwise the board enters “flight” mode.

    At power on, the altimeter will beep out the battery voltage +otherwise the board enters “flight” mode.

    +
    +
    +

    At power on, the altimeter will beep out the battery voltage to the nearest tenth of a volt. Each digit is represented by a sequence of short “dit” beeps, with a pause between digits. A zero digit is represented with one long “dah” beep. Then there will be a short pause while the altimeter completes initialization and self test, and decides which mode -to enter next.

    In flight or “pad” mode, the altimeter engages the flight +to enter next.

    +
    +
    +

    In flight or “pad” mode, the altimeter engages the flight state machine, goes into transmit-only mode to send telemetry, and waits for launch to be detected. Flight mode is indicated by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights, @@ -537,48 +1448,99 @@ apogee continuity, two beeps/flashes indicate main continuity, three beeps/flashes indicate both apogee and main continuity, and one longer “brap” sound which is made by rapidly alternating between two tones indicates no continuity. For a -dual deploy flight, make sure you’re getting three beeps or +dual deploy flight, make sure you’re getting three beeps or flashes before launching! For apogee-only or motor eject -flights, do what makes sense.

    If idle mode is entered, you will hear an audible “di-dit” or +flights, do what makes sense.

    +
    +
    +

    If idle mode is entered, you will hear an audible “di-dit” or see two short flashes (“I” for idle), and the flight state machine is disengaged, thus no ejection charges will fire. Idle mode is useful for configuring the altimeter, for extracting data from the on-board storage chip after -flight, and for ground testing pyro charges.

    In “Idle” and “Pad” modes, once the mode indication +flight, and for ground testing pyro charges.

    +
    +
    +

    In “Idle” and “Pad” modes, once the mode indication beeps/flashes and continuity indication has been sent, if there is no space available to log the flight in on-board memory, the flight computer will emit a warbling tone (much -slower than the “no continuity tone”)

    See Section 3.5, “Understanding Beeps” for a summary of all of -the audio signals used.

    Once landed, the flight computer will signal that by emitting +slower than the “no continuity tone”)

    +
    +
    +

    See Understanding Beeps for a summary of all of +the audio signals used.

    +
    +
    +

    Once landed, the flight computer will signal that by emitting the “Landed” sound described above, after which it will beep out the apogee height (in meters). Each digit is represented by a sequence of short “dit” beeps, with a pause between digits. A zero digit is represented with one long “dah” beep. The flight computer will continue to report landed mode -and beep out the maximum height until turned off.

    A.2. Ground Testing

    An important aspect of preparing a rocket using electronic deployment -for flight is ground testing the recovery system.

    Just prep the rocket for flight, then power up the altimeter +and beep out the maximum height until turned off.

    +
    +
    +
    +

    A.2. Ground Testing

    +
    +

    An important aspect of preparing a rocket using electronic deployment +for flight is ground testing the recovery system.

    +
    +
    +

    Just prep the rocket for flight, then power up the altimeter in “idle” mode. You can now command the altimeter to fire the apogee or main charges from a safe distance using your -computer and the Fire Igniter tab to complete ejection testing.

    A.3. Configurable Parameters

    Configuring an Altus Metrum altimeter for flight is +computer and the Fire Igniter tab to complete ejection testing.

    +
    +
    +
    +

    A.3. Configurable Parameters

    +
    +

    Configuring an Altus Metrum altimeter for flight is very simple. Even on our baro-only TeleMini and EasyMini boards, the use of a Kalman filter means there is no need to set a “mach delay”. All of the configurable parameters can be set using AltosUI. Read -Section 7.5, “Configure Altimeter” for more information.

    Appendix B. Handling Precautions

    All Altus Metrum products are sophisticated electronic devices. +Configure Altimeter for more information.

    +
    +
    +
    +
    +
    +

    Appendix B: Handling Precautions

    +
    +
    +

    All Altus Metrum products are sophisticated electronic devices. When handled gently and properly installed in an air-frame, they will deliver impressive results. However, as with all electronic -devices, there are some precautions you must take.

    Warning

    The Lithium Polymer rechargeable batteries have an +devices, there are some precautions you must take.

    +
    +
    + + + + + +
    +
    Warning
    +
    +The Lithium Polymer rechargeable batteries have an extraordinary power density. This is great because we can fly with much less battery mass than if we used alkaline batteries or previous -generation rechargeable batteries… but if they are punctured +generation rechargeable batteries…​ but if they are punctured or their leads are allowed to short, they can and will release their energy very rapidly! Thus we recommend that you take some care when handling our batteries and consider giving them some extra protection in your air-frame. We often wrap them in suitable scraps of closed-cell packing foam before -strapping them down, for example.

    The barometric sensors used on all of our flight computers are +strapping them down, for example. +

    +
    +
    +

    The barometric sensors used on all of our flight computers are sensitive to sunlight. In normal mounting situations, the baro sensor and all of the other surface mount components are “down” towards whatever the underlying mounting surface is, so @@ -590,391 +1552,1149 @@ consider this with TeleMini v1.0, both because the baro sensor is on the use clear plastic for the payload bay! Replacing these with an opaque cardboard tube, painting them, or wrapping them with a layer of masking tape are all reasonable approaches to keep the sensor out of direct -sunlight.

    The barometric sensor sampling port must be able to “breathe”, +sunlight.

    +
    +
    +

    The barometric sensor sampling port must be able to “breathe”, both by not being covered by foam or tape or other materials that might directly block the hole on the top of the sensor, and also by having a -suitable static vent to outside air.

    As with all other rocketry electronics, Altus Metrum altimeters must +suitable static vent to outside air.

    +
    +
    +

    As with all other rocketry electronics, Altus Metrum altimeters must be protected from exposure to corrosive motor exhaust and ejection -charge gasses.

    Appendix C. Updating Device Firmware

    EasyMini is +charge gasses.

    +
    +
    +
    +
    +

    Appendix C: Updating Device Firmware

    +
    +
    +

    EasyMini is programmed directly over their USB connectors (self -programming).

    You may wish to begin by ensuring you have current firmware +programming).

    +
    +
    +

    You may wish to begin by ensuring you have current firmware images. These are distributed as part of the AltOS software bundle that also includes the AltosUI ground station program. Newer ground station versions typically work fine with older -firmware versions, so you don’t need to update your devices +firmware versions, so you don’t need to update your devices just to try out new software features. You can always download the most recent version from -http://www.altusmetrum.org/AltOS/

    C.1. Updating EasyMini Firmware

    Self-programmable devices are reprogrammed by -connecting them to your computer over USB.

    1. -Attach a battery if necessary and power switch to -the target device. Power up the device. -
    2. -Using a Micro USB cable, connect the target device to your -computer’s USB socket. -
    3. -Run AltosUI, and select Flash Image from the File menu. -
    4. -Select the target device in the Device Selection dialog. -
    5. -Select the image you want to flash to the device, +http://www.altusmetrum.org/AltOS/

      +
    +
    +

    C.1. Updating EasyMini Firmware

    +
    +

    Self-programmable devices are reprogrammed by +connecting them to your computer over USB.

    +
    +
    +
      +
    1. +

      Attach a battery if necessary and power switch to +the target device. Power up the device.

      +
    2. +
    3. +

      Using a Micro USB cable, connect the target device to your +computer’s USB socket.

      +
    4. +
    5. +

      Run AltosUI, and select 'Flash Image' from the File menu.

      +
    6. +
    7. +

      Select the target device in the Device Selection dialog.

      +
    8. +
    9. +

      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 EasyMini-v1.0-1.6.0.ihx. -

    10. -Make sure the configuration parameters are +such as EasyMini-v1.0-1.6.0.ihx.

      +
    11. +
    12. +

      Make sure the configuration parameters are reasonable looking. If the serial number and/or RF -configuration values aren’t right, you’ll need to -change them. -

    13. -Hit the OK button and the software should proceed +configuration values aren’t right, you’ll need to +change them.

      +
    14. +
    15. +

      Hit the 'OK' button and the software should proceed to flash the device with new firmware, showing a -progress bar. -

    16. -Verify that the device is working by using the -Configure Altimeter or Configure Groundstation -item to check over the configuration. -

    C.1.1. Recovering From Self-Flashing Failure

    If the firmware loading fails, it can leave the device +progress bar.

    + +
  • +

    Verify that the device is working by using the +'Configure Altimeter' or 'Configure Groundstation' +item to check over the configuration.

    +
  • + +
    +
    +

    C.1.1. Recovering From Self-Flashing Failure

    +
    +

    If the firmware loading fails, it can leave the device unable to boot. Not to worry, you can force the device to start the boot loader instead, which will let you try to -flash the device again.

    On each device, connecting two pins from one of the exposed +flash the device again.

    +
    +
    +

    On each device, connecting two pins from one of the exposed connectors will force the boot loader to start, even if the -regular operating system has been corrupted in some way.

    -EasyMini -
    -Connect pin 6 and pin 1 of the debug connector, which +regular operating system has been corrupted in some way.

    +
    +
    +
    +
    EasyMini
    +
    +

    Connect pin 6 and pin 1 of the debug connector, which is the six holes next to the beeper. Pin 1 can be 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. -

    Once you’ve located the right pins:

    1. -Turn the altimeter power off. -
    2. -Connect a battery. -
    3. -Connect the indicated terminals together with a +the one on the other end of the row.

      + + +
    +
    +

    Once you’ve located the right pins:

    +
    +
    +
      +
    1. +

      Turn the altimeter power off.

      +
    2. +
    3. +

      Connect a battery.

      +
    4. +
    5. +

      Connect the indicated terminals together with a short piece of wire. Take care not to accidentally -connect anything else. -

    6. -Connect USB -
    7. -Turn the board power on. -

    The board should now be visible over USB as -AltosFlash and be ready to receive firmware. Once +connect anything else.

    + +
  • +

    Connect USB

    +
  • +
  • +

    Turn the board power on.

    +
  • + +
    +
    +

    The board should now be visible over USB as +'AltosFlash' and be ready to receive firmware. Once the board has been powered up, you can remove the -piece of wire.

    Appendix D. Flight Data Recording

    Each flight computer logs data at 100 samples per second +piece of wire.

    +
    +
    +
    +
    +
    +
    +

    Appendix D: Flight Data Recording

    +
    +
    +

    Each flight computer logs data at 100 samples per second during ascent and 10 samples per second during descent. Data are logged to an on-board flash memory part, which can be partitioned into -several equal-sized blocks, one for each flight.

    Table D.1. Data Storage on Altus Metrum altimeters

    Device Bytes per Sample Total Storage Minutes at Full Rate

    EasyMini

    16

    1MB

    10


    The on-board flash is partitioned into separate flight logs, +several equal-sized blocks, one for each flight.

    +
    + + ++++++ + + + + + + + + + + + + + + + + +
    Table 4. Data Storage on Altus Metrum altimeters
    DeviceBytes per SampleTotal StorageMinutes at Full Rate

    EasyMini

    16

    1MB

    10

    +
    +

    The on-board flash is partitioned into separate flight logs, each of a fixed maximum size. Increase the maximum size of each log and you reduce the number of flights that can be -stored. Decrease the size and you can store more flights.

    Configuration data is also stored in the flash memory on +stored. Decrease the size and you can store more flights.

    +
    +
    +

    Configuration data is also stored in the flash memory on EasyMini. This consumes 64kB of flash space. This configuration space is not available -for storing flight log data.

    To compute the amount of space needed for a single flight, you +for storing flight log data.

    +
    +
    +

    To compute the amount of space needed for a single flight, you can multiply the expected ascent time (in seconds) by 100 times bytes-per-sample, multiply the expected descent time (in seconds) by 10 times the bytes per sample and add the two together. That will slightly under-estimate the storage (in -bytes) needed for the flight.

    The default size allows for several flights on each flight +bytes) needed for the flight.

    +
    +
    +

    The default size allows for several flights on each flight computer. -You can adjust the size.

    Altus Metrum flight computers will not overwrite existing +You can adjust the size.

    +
    +
    +

    Altus Metrum flight computers will not overwrite existing flight data, so be sure to download flight data and erase it from the flight computer before it fills up. The flight computer will still successfully control the flight even if it -cannot log data, so the only thing you will lose is the data.

    Appendix E. Altus Metrum Hardware Specifications

    Here’s the full set of Altus Metrum products, both in -production and retired.

    Table E.1. Altus Metrum Flight Computer Electronics

    Device Barometer Z-axis accel GPS 3D sensors Storage RF Output Battery

    EasyMini v1.0

    MS5607 30km (100k')

    -

    -

    -

    1MB

    -

    3.7-12V

    EasyMini v2.0

    MS5607 30km (100k')

    -

    -

    -

    1MB

    -

    3.7-12V


    Table E.2. Altus Metrum Flight Computer Mechanical Components

    DeviceConnectorsScrew TerminalsWidthLengthTube Size

    EasyMini

    Debug USB Battery

    Apogee pyro Main pyro Battery

    0.8 inch (2.03cm)

    1½ inch (3.81cm)

    24mm coupler


    Appendix F. Release Notes

    F.1. Release Notes for Version 1.8.6

    Version 1.8.6

    F.1.1. AltOS

    • -Use maximum of 64 previous tilt values in pyro tilt tests -
    • -Eliminate 100m height requirement for coast detection -
    • -Change After Motor pyro check to be >= instead of == -
    • -Change Time since Boost to be Time since launch. -

    F.1.2. AltosUI, TeleGPS

    • -Clarify pyro test phrasing -
    • -Remove ascending/descending from pyro config UI -
    • -Fix accel calibration in Antenna Down mode -
    • -Add mag sensor reporting for TeleMega v3 idle monitoring. -
    • -Fix radio parameter saving at 2400 bps telmetry rate. -

    F.1.3. MicroPeak

    • -Report altimeter-recorded maximum height value -

    F.2. Release Notes for Version 1.8.5

    Version 1.8.5 includes fixes to the ground software support -for TeleBT v4, along with a few other minor updates.

    F.2.1. AltOS

    • -Fix startup beeps that indicate sensor failures. -

    F.2.2. AltosUI, TeleGPS

    • -When updating device firmware, make sure selected firmware -matches target device. -
    • -Correct Bluetooth device matching when looking for TeleBT -devices. -

    F.3. Release Notes for Version 1.8.4

    Version 1.8.4 includes support for EasyMini version 2.0

    F.3.1. AltOS

    • -Support for EasyMini version 2.0 hardware. -

    F.4. Release Notes for Version 1.8.3

    Version 1.8.3 includes support for TeleMega version 3.0 along +cannot log data, so the only thing you will lose is the data.

    +
    +
    +
    +
    +

    Appendix E: Altus Metrum Hardware Specifications

    +
    +
    +

    Here’s the full set of Altus Metrum products, both in +production and retired.

    +
    + + ++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 5. Altus Metrum Flight Computer Electronics
    DeviceBarometerZ-axis accelGPS3D sensorsStorageRF OutputBattery

    EasyMini v1.0

    MS5607 30km (100k')

    -

    -

    -

    1MB

    -

    3.7-12V

    EasyMini v2.0

    MS5607 30km (100k')

    -

    -

    -

    1MB

    -

    3.7-12V

    +
    + + ++++++++ + + + + + + + + + + + + + + + + + + + + +
    Table 6. Altus Metrum Flight Computer Mechanical Components
    DeviceConnectorsScrew TerminalsWidthLengthTube Size

    EasyMini

    Debug USB Battery

    Apogee pyro Main pyro Battery

    0.8 inch (2.03cm)

    1½ inch (3.81cm)

    24mm coupler

    +
    +
    +
    +

    Appendix F: Release Notes

    +
    +
    +

    F.1. Release Notes for Version 1.8.6

    +
    +

    Version 1.8.6

    +
    +
    +

    F.1.1. AltOS

    +
    +
      +
    • +

      Use maximum of 64 previous tilt values in pyro tilt tests

      +
    • +
    • +

      Eliminate 100m height requirement for coast detection

      +
    • +
    • +

      Change After Motor pyro check to be >= instead of ==

      +
    • +
    • +

      Change Time since Boost to be Time since launch.

      +
    • +
    +
    +
    +
    +

    F.1.2. AltosUI, TeleGPS

    +
    +
      +
    • +

      Clarify pyro test phrasing

      +
    • +
    • +

      Remove ascending/descending from pyro config UI

      +
    • +
    • +

      Fix accel calibration in Antenna Down mode

      +
    • +
    • +

      Add mag sensor reporting for TeleMega v3 idle monitoring.

      +
    • +
    • +

      Fix radio parameter saving at 2400 bps telmetry rate.

      +
    • +
    +
    +
    +
    +

    F.1.3. MicroPeak

    +
    +
      +
    • +

      Report altimeter-recorded maximum height value

      +
    • +
    +
    +
    +
    +
    +
    +

    F.2. Release Notes for Version 1.8.5

    +
    +

    Version 1.8.5 includes fixes to the ground software support +for TeleBT v4, along with a few other minor updates.

    +
    +
    +

    F.2.1. AltOS

    +
    +
      +
    • +

      Fix startup beeps that indicate sensor failures.

      +
    • +
    +
    +
    +
    +

    F.2.2. AltosUI, TeleGPS

    +
    +
      +
    • +

      When updating device firmware, make sure selected firmware +matches target device.

      +
    • +
    • +

      Correct Bluetooth device matching when looking for TeleBT +devices.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.3. Release Notes for Version 1.8.4

    +
    +

    Version 1.8.4 includes support for EasyMini version 2.0

    +
    +
    +

    F.3.1. AltOS

    +
    +
      +
    • +

      Support for EasyMini version 2.0 hardware.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.4. Release Notes for Version 1.8.3

    +
    +

    Version 1.8.3 includes support for TeleMega version 3.0 along with two important flight computer fixes. This version also changes KML export data to make Tripoli Record reporting better and some updates to graph presentation and data -downloading.

    F.4.1. AltOS

    AltOS New Features

    • -Support for TeleMega version 3.0 hardware. -

    AltOS Bug Fixes

    • -Ground testing EasyMega and TeleMega additional pyro -channels could result in a sticky fired status which would -prevent these channels from firing on future flights. -
    • -Corrupted flight log records could prevent future flights -from capturing log data. -
    • -Fixed saving of pyro configuration that ended with -Descending. -

    F.4.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Support for TeleMega version 3.0. -
    • -Graph lines have improved appearance to make them easier to +downloading.

      +
    +
    +

    F.4.1. AltOS

    +
    +
    AltOS New Features
    +
    +
      +
    • +

      Support for TeleMega version 3.0 hardware.

      +
    • +
    +
    +
    +
    +
    AltOS Bug Fixes
    +
    +
      +
    • +

      Ground testing EasyMega and TeleMega additional pyro +channels could result in a sticky 'fired' status which would +prevent these channels from firing on future flights.

      +
    • +
    • +

      Corrupted flight log records could prevent future flights +from capturing log data.

      +
    • +
    • +

      Fixed saving of pyro configuration that ended with +'Descending'.

      +
    • +
    +
    +
    +
    +
    +

    F.4.2. AltosUI and TeleGPS Applications

    +
    +
    AltosUI New Features
    +
    +
      +
    • +

      Support for TeleMega version 3.0.

      +
    • +
    • +

      Graph lines have improved appearance to make them easier to distinguish. Markers may be placed at data points to show -captured recorded data values. -

    • -Graphing offers the ability to adjust the smoothing of -computed speed and acceleration data. -
    • -The download dialog now offers to graph new flights, checks +captured recorded data values.

      +
    • +
    • +

      Graphing offers the ability to adjust the smoothing of +computed speed and acceleration data.

      +
    • +
    • +

      The download dialog now offers to graph new flights, checks for existing files to avoid overwriting data and reports if -there are checksum errors in the downloaded data. -

    AltosUI/TeleGPS Bug Fixes

    • -Restore TeleGPS tracking behavior. -
    • -Display flight computer call sign and serial number in -Monitor Idle mode instead of ground station values. -

    AltosUI and TeleGPS Changes

    • -KML export now reports both barometric and GPS altitude data -to make it more useful for Tripoli record reporting. -
    • -CSV export now includes TeleMega/EasyMega pyro voltages and -tilt angle. -

    F.5. Release Notes for Version 1.8.2

    Version 1.8.2 includes support for TeleGPS version 2.0 along -with accelerometer recalibration support in AltosUI.

    1.8.2 also contains a couple of minor fixes for AltosUI when -analyzing saved data files.

    F.5.1. AltOS

    AltOS New Features

    • -Support for TeleGPS version 2.0 hardware. -

    F.5.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • -Support for TeleGPS version 2.0. -
    • -Accelerometer re-calibration user interface. -

    AltosUI and TeleGPS Bug Fixes

    • -Prevent some crashes when reading older saved flight data -for graphing or KML export. -

    F.6. Release Notes for Version 1.8.1

    Version 1.8.1 includes an important bug fix for Apogee Lockout +there are checksum errors in the downloaded data.

    + + +
    +
    +
    +
    AltosUI/TeleGPS Bug Fixes
    +
    +
      +
    • +

      Restore TeleGPS tracking behavior.

      +
    • +
    • +

      Display flight computer call sign and serial number in +Monitor Idle mode instead of ground station values.

      +
    • +
    +
    +
    +
    +
    AltosUI and TeleGPS Changes
    +
    +
      +
    • +

      KML export now reports both barometric and GPS altitude data +to make it more useful for Tripoli record reporting.

      +
    • +
    • +

      CSV export now includes TeleMega/EasyMega pyro voltages and +tilt angle.

      +
    • +
    +
    +
    +
    +
    +
    +
    +

    F.5. Release Notes for Version 1.8.2

    +
    +

    Version 1.8.2 includes support for TeleGPS version 2.0 along +with accelerometer recalibration support in AltosUI.

    +
    +
    +

    1.8.2 also contains a couple of minor fixes for AltosUI when +analyzing saved data files.

    +
    +
    +

    F.5.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Support for TeleGPS version 2.0 hardware.

      +
    • +
    +
    +
    +
    +

    F.5.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features

    +
    +
    +
      +
    • +

      Support for TeleGPS version 2.0.

      +
    • +
    • +

      Accelerometer re-calibration user interface.

      +
    • +
    +
    +
    +

    AltosUI and TeleGPS Bug Fixes

    +
    +
    +
      +
    • +

      Prevent some crashes when reading older saved flight data +for graphing or KML export.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.6. Release Notes for Version 1.8.1

    +
    +

    Version 1.8.1 includes an important bug fix for Apogee Lockout operation in all flight computers. Anyone using this option -must update firmware.

    This release also contains a change in how flight computers +must update firmware.

    +
    +
    +

    This release also contains a change in how flight computers with accelerometers deal with speeds around and above Mach 1. In previous versions, the flight computer would completely disregard the barometric sensor above 330m/s (around Mach 1). Now, the data from the barometric sensor is reduced in effect without ever going away entirely. This prevents early drogue deployment for flights which spend considerable time -above Mach 1.

    1.8.1 also contains a couple of minor fixes for AltosUI when -analyzing saved data files.

    F.6.1. AltOS

    AltOS Bug Fixes

    • -Handle time value wrapping in Apogee Lockout +above Mach 1.

      +
    +
    +

    1.8.1 also contains a couple of minor fixes for AltosUI when +analyzing saved data files.

    +
    +
    +

    F.6.1. AltOS

    +
    +

    AltOS Bug Fixes

    +
    +
    +
      +
    • +

      Handle time value wrapping in Apogee Lockout correctly. Without this, apogee lockout would sometimes -prevent any drogue charge from firing. -

    • -Change Kalman filter on flight computers with accelerometer +prevent any drogue charge from firing.

      +
    • +
    • +

      Change Kalman filter on flight computers with accelerometer to continue using the barometric sensor even at high speeds to avoid unintentional drogue deployment during -deceleration. -

    F.6.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add new Huge font size to make text even bigger on high -resolution monitors. -

    AltosUI Bug Fixes

    • -Prevent some crashes when reading older saved flight data -for graphing or KML export. -
    • -Load frequency preference at startup. The loading code was -broken, so you’d see only the default frequencies. -

    F.7. Release Notes for Version 1.8

    Version 1.8 includes support for our new TeleBT v4.0 ground +deceleration.

    + + +
    +
    +
    +

    F.6.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add new 'Huge' font size to make text even bigger on high +resolution monitors.

      +
    • +
    +
    +
    +

    AltosUI Bug Fixes

    +
    +
    +
      +
    • +

      Prevent some crashes when reading older saved flight data +for graphing or KML export.

      +
    • +
    • +

      Load frequency preference at startup. The loading code was +broken, so you’d see only the default frequencies.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.7. Release Notes for Version 1.8

    +
    +

    Version 1.8 includes support for our new TeleBT v4.0 ground station, updates for data analysis in our ground station software and bug fixes in in the flight software for all our -boards and ground station interfaces.

    F.7.1. AltOS

    AltOS New Features

    • -Add support for TeleBT v4.0 boards. -

    F.7.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add support for TeleBT v4.0 hardware -
    • -Rewrite graphing and export functions. This code now handles +boards and ground station interfaces.

      +
    +
    +

    F.7.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for TeleBT v4.0 boards.

      +
    • +
    +
    +
    +
    +

    F.7.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add support for TeleBT v4.0 hardware

      +
    • +
    • +

      Rewrite graphing and export functions. This code now handles each data series separately so that graphs are drawn correctly. Smoothing now uses a filter that looks both forward and backwards in time to make computed speed and -acceleration data more accurate. -

    AltosUI Bug Fixes

    • -Correct axis labeling of magnetic sensor in TeleMega and -EasyMega. The Y and Z axes were flipped. -

    F.8. Release Notes for Version 1.7

    Version 1.7 includes support for our new TeleMini v3.0 +acceleration data more accurate.

    + + +
    +
    +

    AltosUI Bug Fixes

    +
    +
    +
      +
    • +

      Correct axis labeling of magnetic sensor in TeleMega and +EasyMega. The Y and Z axes were flipped.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.8. Release Notes for Version 1.7

    +
    +

    Version 1.7 includes support for our new TeleMini v3.0 flight computer and bug fixes in in the flight software for all our boards -and ground station interfaces.

    F.8.1. AltOS

    AltOS New Features

    • -Add support for TeleMini v3.0 boards. -

    AltOS Fixes

    • -Fix interrupt priorities on STM32L processors. Run timer +and ground station interfaces.

      +
    +
    +

    F.8.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for TeleMini v3.0 boards.

      +
    • +
    +
    +
    +

    AltOS Fixes

    +
    +
    +
      +
    • +

      Fix interrupt priorities on STM32L processors. Run timer interrupt at lowest priority so that device interrupts get -serviced first. -

    F.8.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add support for TeleMini v3.0 hardware -

    F.9. Release Notes for Version 1.6.8

    Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where +serviced first.

    + + +
    +
    +
    +

    F.8.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add support for TeleMini v3.0 hardware

      +
    • +
    +
    +
    +
    +
    +
    +

    F.9. Release Notes for Version 1.6.8

    +
    +

    Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where the device could stop logging data and transmitting telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum -v2.0 users should update their flight firmware.

    F.9.1. AltOS

    AltOS fixes:

    • -Fix STM32L DMA driver to work around STM32L SoC DMA priority +v2.0 users should update their flight firmware.

      +
    +
    +

    F.9.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix STM32L DMA driver to work around STM32L SoC DMA priority issue t lock-up in the logging or radio code, either of -which could stop data logging and telemetry. -

    • -Avoid having TeleBT battery status values smash telemetry -packet data by holding a lock during both operations. -
    • -Don’t start reporting flight 0 when the log fills in -flight. -

    AltOS changes:

    • -Flash LEDS on all products briefly during power up so that -they can be tested during production. -

    F.9.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • -Re-enable go/no-go entries after they’ve been disabled due +which could stop data logging and telemetry.

      +
    • +
    • +

      Avoid having TeleBT battery status values smash telemetry +packet data by holding a lock during both operations.

      +
    • +
    • +

      Don’t start reporting 'flight 0' when the log fills in +flight.

      +
    • +
    +
    +
    +

    AltOS changes:

    +
    +
    +
      +
    • +

      Flash LEDS on all products briefly during power up so that +they can be tested during production.

      +
    • +
    +
    +
    +
    +

    F.9.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Re-enable go/no-go entries after they’ve been disabled due to lack of data. If telemetry information is delayed when the Ui starts up, sometimes important fields would get -disabled to never re-appear. -

    • -Deal with ground station failure better during Configure -Ground Station operation by cleaning up pending operations. -

    F.10. Release Notes for Version 1.6.5

    Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where +disabled to never re-appear.

    + +
  • +

    Deal with ground station failure better during Configure +Ground Station operation by cleaning up pending operations.

    +
  • + +
    +
    +
    +
    +
    +

    F.10. Release Notes for Version 1.6.5

    +
    +

    Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where the device would often stop logging data and transmitting telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum -v2.0 users should update their flight firmware.

    F.10.1. AltOS

    AltOS fixes:

    • -Fix STM32L SPI driver to prevent lock-up in the logging or +v2.0 users should update their flight firmware.

      +
    +
    +

    F.10.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix STM32L SPI driver to prevent lock-up in the logging or radio code, either of which could stop data logging and telemetry. Found and characterized by Chuck Haskin, who also -tested the new firmware before release. -

    F.10.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • -Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with -Windows package. -

    F.11. Release Notes for Version 1.6.4

    Version 1.6.4 fixes a bluetooth communication problem with +tested the new firmware before release.

    + + +
    +
    +
    +

    F.10.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with +Windows package.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.11. Release Notes for Version 1.6.4

    +
    +

    Version 1.6.4 fixes a bluetooth communication problem with TeleBT v1.0 devices, along with some altosui and altosdroid -minor nits. It also now ships firmware for some newer devices.

    F.11.1. AltOS

    AltOS fixes:

    • -Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS -doesn’t seem to work, switch from using the hardware to -driving these pins with software. -
    • -Fix ARM USB drivers to deal with OS restarts. Needed to +minor nits. It also now ships firmware for some newer devices.

      +
    +
    +

    F.11.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS +doesn’t seem to work, switch from using the hardware to +driving these pins with software.

      +
    • +
    • +

      Fix ARM USB drivers to deal with OS restarts. Needed to reset all USB-related state when the USB bus is reset. These -fixes affect all STM32L, STM32F0 and LPC11U14 based devices. -

    F.11.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI, TeleGPS and AltosDroid New Features:

    • -Automatically switch from meters or feet to kilometers or -miles for distance units. -
    • -Add Monitor Idle mode to TeleGPS application. -

    AltosUI, TeleGPS and AltosDroid Fixes:

    • -Abort map preloading when the preload map dialog is closed. -
    • -In AltosDroid, Don’t reconnect to last device if the user +fixes affect all STM32L, STM32F0 and LPC11U14 based devices.

      +
    • +
    +
    +
    +
    +

    F.11.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI, TeleGPS and AltosDroid New Features:

    +
    +
    +
      +
    • +

      Automatically switch from meters or feet to kilometers or +miles for distance units.

      +
    • +
    • +

      Add Monitor Idle mode to TeleGPS application.

      +
    • +
    +
    +
    +

    AltosUI, TeleGPS and AltosDroid Fixes:

    +
    +
    +
      +
    • +

      Abort map preloading when the preload map dialog is closed.

      +
    • +
    • +

      In AltosDroid, Don’t reconnect to last device if the user had disconnected it the last time the application was -active. -

    F.11.3. Documentation

    • -Mention TeleMega v2.0 in hardware specs table. -
    • -Document TeleGPS RF output in telegps manual. -

    F.12. Release Notes for Version 1.6.3

    Version 1.6.3 adds idle mode to AltosDroid and has bug fixes +active.

    + + +
    +
    +
    +

    F.11.3. Documentation

    +
    +
      +
    • +

      Mention TeleMega v2.0 in hardware specs table.

      +
    • +
    • +

      Document TeleGPS RF output in telegps manual.

      +
    • +
    +
    +
    +
    +
    +

    F.12. Release Notes for Version 1.6.3

    +
    +

    Version 1.6.3 adds idle mode to AltosDroid and has bug fixes for our host software on desktops, laptops an android devices -along with BlueTooth support for Windows.

    F.12.1. AltOS

    AltOS fixes:

    • -Fix hardware flow control on TeleBT v3.0. RTS/CTS is +along with BlueTooth support for Windows.

      +
    +
    +

    F.12.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix hardware flow control on TeleBT v3.0. RTS/CTS is wired backwards on this board, switch from using the -hardware to driving these pins with software. -

    F.12.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • -Add BlueTooth support for Windows operating system. This +hardware to driving these pins with software.

      +
    • +
    +
    +
    +
    +

    F.12.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features:

    +
    +
    +
      +
    • +

      Add BlueTooth support for Windows operating system. This supports connections to TeleBT over BlueTooth rather than -just USB. -

    AltosUI and TeleGPS Fixes:

    • -Change Java detection and install on Windows. Detection is -now done by looking for the javaw.exe program, and -installation by opening a browser on the java.com web site. -
    • -Delay polling while the Fire Igniters is visible to allow -for TeleMega to report back complete status over the radio. -
    • -Disallow changing RF calibration numbers in the -configuration UI. There’s no good reason to change this from -the field, and recovering is really hard if you haven’t -written down the right number. -
    • -Fix USB device discovery on Mac OS X El Capitan. This makes -the connected Altus Metrum USB devices appear again. -
    • -Fix acceleration data presented in MonitorIdle mode for -TeleMetrum v2.0 flight computers. -

    F.12.3. AltosDroid

    AltosDroid new features:

    • -Monitor Idle mode. Check state of flight computer while in -idle mode over the radio link -
    • -Fire Igniters. Remotely fire ignires for recovery system -ground tests. -
    • -Remote reboot. Cause the flight computer to reboot over the +just USB.

      +
    • +
    +
    +
    +

    AltosUI and TeleGPS Fixes:

    +
    +
    +
      +
    • +

      Change Java detection and install on Windows. Detection is +now done by looking for the 'javaw.exe' program, and +installation by opening a browser on the java.com web site.

      +
    • +
    • +

      Delay polling while the Fire Igniters is visible to allow +for TeleMega to report back complete status over the radio.

      +
    • +
    • +

      Disallow changing RF calibration numbers in the +configuration UI. There’s no good reason to change this from +the field, and recovering is really hard if you haven’t +written down the right number.

      +
    • +
    • +

      Fix USB device discovery on Mac OS X El Capitan. This makes +the connected Altus Metrum USB devices appear again.

      +
    • +
    • +

      Fix acceleration data presented in MonitorIdle mode for +TeleMetrum v2.0 flight computers.

      +
    • +
    +
    +
    +
    +

    F.12.3. AltosDroid

    +
    +

    AltosDroid new features:

    +
    +
    +
      +
    • +

      Monitor Idle mode. Check state of flight computer while in +idle mode over the radio link

      +
    • +
    • +

      Fire Igniters. Remotely fire ignires for recovery system +ground tests.

      +
    • +
    • +

      Remote reboot. Cause the flight computer to reboot over the radio link. This provides a method for switching the flight computer from idle to flight mode without needing to reach -the power switch. -

    • -Configurable frequency menu. Change the set of available -frequencies and provide more descriptive names. -

    AltosDroid bug fixes:

    • -Don’t set target location if GPS hasn’t locked yet. -
    • -Fix saving target states so they can be reloaded when the +the power switch.

      +
    • +
    • +

      Configurable frequency menu. Change the set of available +frequencies and provide more descriptive names.

      +
    • +
    +
    +
    +

    AltosDroid bug fixes:

    +
    +
    +
      +
    • +

      Don’t set target location if GPS hasn’t locked yet.

      +
    • +
    • +

      Fix saving target states so they can be reloaded when the application restarts. When the application is shut down and restarted, all previous target state information will be -restored (including GPS position if available). -

    • -Fix crash on some Android devices for offline maps when -changing the map scale or location. -
    • -Don’t require USB OTG support. This kept the latest +restored (including GPS position if available).

      +
    • +
    • +

      Fix crash on some Android devices for offline maps when +changing the map scale or location.

      +
    • +
    • +

      Don’t require USB OTG support. This kept the latest AltosDroid from being offered on devices without USB device support, although it can work without that just fine using -BlueTooth. -

    • -Don’t require bluetooth to be enabled. This allows the +BlueTooth.

      +
    • +
    • +

      Don’t require bluetooth to be enabled. This allows the application to operate with USB devices or just show old -data without turning on the bluetooth radio. -

    • -Recover old tracker positions when restarting +data without turning on the bluetooth radio.

      +
    • +
    • +

      Recover old tracker positions when restarting application. This finally allows you to safely stop and restart the application without losing the last known -location of any tracker. -

    F.12.4. Documentation

    • -Document TeleMega and EasyMega additional pyro channel -continuity audio alert pattern. -

    F.13. Release Notes for Version 1.6.2

    Version 1.6.2 includes support for our updated TeleMega v2.0 +location of any tracker.

    + + +
    +
    +
    +

    F.12.4. Documentation

    +
    +
      +
    • +

      Document TeleMega and EasyMega additional pyro channel +continuity audio alert pattern.

      +
    • +
    +
    +
    +
    +
    +
    +

    F.13. Release Notes for Version 1.6.2

    +
    +

    Version 1.6.2 includes support for our updated TeleMega v2.0 product and bug fixes in in the flight software for all our boards -and ground station interfaces.

    F.13.1. AltOS

    AltOS New Features:

    • -Add support for TeleMega v2.0 boards. -
    • -Add PWM servo driver. There’s no higher level code using +and ground station interfaces.

      +
    +
    +

    F.13.1. AltOS

    +
    +

    AltOS New Features:

    +
    +
    +
      +
    • +

      Add support for TeleMega v2.0 boards.

      +
    • +
    • +

      Add PWM servo driver. There’s no higher level code using this yet, but the driver allows testing of the TeleMega v2.0 -servo output connector. -

    AltOS Fixes:

    • -Slow down telemetry packets to allow receiver to keep -up. -

    F.13.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS Fixes:

    • -Fix post-flight orientation computation when processing -TeleMega and EasyMega eeprom data files. -
    • -Capture complete eeprom data even when there are invalid +servo output connector.

      +
    • +
    +
    +
    +

    AltOS Fixes:

    +
    +
    +
      +
    • +

      Slow down telemetry packets to allow receiver to keep +up.

      +
    • +
    +
    +
    +
    +

    F.13.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS Fixes:

    +
    +
    +
      +
    • +

      Fix post-flight orientation computation when processing +TeleMega and EasyMega eeprom data files.

      +
    • +
    • +

      Capture complete eeprom data even when there are invalid entries in the data. This keeps reading eeprom contents and -writing the associated .eeprom file when an error is detected. -

    F.13.3. Documentation

    We spent a bunch of time trying to improve our documentation

    • -HTML versions now have a table of contents on the left side. -
    • -EasyMini now has its own shorter manual. -
    • -Provide links between sections in each document. -
    • -Lots of minor rewriting and restructuring to avoid -duplication of information -
    \ No newline at end of file +writing the associated .eeprom file when an error is detected.

    + + +
    +
    +
    +

    F.13.3. Documentation

    +
    +

    We spent a bunch of time trying to improve our documentation

    +
    +
    +
      +
    • +

      HTML versions now have a table of contents on the left side.

      +
    • +
    • +

      EasyMini now has its own shorter manual.

      +
    • +
    • +

      Provide links between sections in each document.

      +
    • +
    • +

      Lots of minor rewriting and restructuring to avoid +duplication of information

      +
    • +
    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/AltOS/doc/easymini.pdf b/AltOS/doc/easymini.pdf index bc03971..d5fb968 100644 Binary files a/AltOS/doc/easymini.pdf and b/AltOS/doc/easymini.pdf differ diff --git a/AltOS/doc/images/icons/caution.svg b/AltOS/doc/images/icons/caution.svg new file mode 100644 index 0000000..28babba --- /dev/null +++ b/AltOS/doc/images/icons/caution.svg @@ -0,0 +1,58 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/AltOS/doc/images/icons/important.svg b/AltOS/doc/images/icons/important.svg new file mode 100644 index 0000000..4c5baae --- /dev/null +++ b/AltOS/doc/images/icons/important.svg @@ -0,0 +1,57 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/AltOS/doc/images/icons/note.svg b/AltOS/doc/images/icons/note.svg new file mode 100644 index 0000000..92f636c --- /dev/null +++ b/AltOS/doc/images/icons/note.svg @@ -0,0 +1,57 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/AltOS/doc/images/icons/tip.svg b/AltOS/doc/images/icons/tip.svg new file mode 100644 index 0000000..f645f63 --- /dev/null +++ b/AltOS/doc/images/icons/tip.svg @@ -0,0 +1,57 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/AltOS/doc/images/icons/warning.svg b/AltOS/doc/images/icons/warning.svg new file mode 100644 index 0000000..938d7b3 --- /dev/null +++ b/AltOS/doc/images/icons/warning.svg @@ -0,0 +1,65 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/AltOS/doc/map-loading.html b/AltOS/doc/map-loading.html index 3d2ea54..3c62aa6 100644 --- a/AltOS/doc/map-loading.html +++ b/AltOS/doc/map-loading.html @@ -1,106 +1,353 @@ - -Loading Map Tiles from Google Maps

    Loading Map Tiles from Google Maps


    1. The Google Maps Problem

    Until recently, Google Maps could be used without fee to fetch map + + + + + + + + + +Loading Map Tiles from Google Maps + + + +

    +
    +
    +

    The Google Maps Problem

    +
    +
    +

    Until recently, Google Maps could be used without fee to fetch map tiles. Applications could load map tiles anonymously or using a key; when used anonymously, the number of tiles that could be loaded per day and the rate at which tiles could be loaded was throttled to make the API practical only for development purpose. With an application key, the number of tiles available per day was much higher, and there was no rate limiting. This was usually sufficient for Altos Metrum -customer use.

    However, this has changed and now there is no way to load map tiles +customer use.

    +
    +
    +

    However, this has changed and now there is no way to load map tiles anonymously, and any application key must be tied to a credit card. The tile cap for free usage is now monthly instead of daily. Because the key is tied to a credit card, we should not ship it with the application any longer. And because the cap is monthly instead of daily, we need some way to control usage by our -applications.

    1.1. The Proposed Solution — An Intermediate Service

    To give us some measure of control over tile loading, we will want to +applications.

    +
    +
    +

    The Proposed Solution — An Intermediate Service

    +
    +

    To give us some measure of control over tile loading, we will want to interpose a server controlled by us between the application and Google Maps. This will let us store the Google Maps key in a secure location, -and also control tile loading by each user.

    map-loading.svg

    2. AltOS Map Service

    This service receives a URL request and replies with either a map tile +and also control tile loading by each user.

    +
    +
    +
    +map loading +
    +
    +
    +
    +
    +
    +

    AltOS Map Service

    +
    +
    +

    This service receives a URL request and replies with either a map tile or an error. It is functionally equivalent to the Google Maps service, -except that it can control use of the Google Maps API.

    2.1. AltOS Map CGI Script

    The AltOS Map CGI Script is a straightforward script which connects to +except that it can control use of the Google Maps API.

    +
    +
    +

    AltOS Map CGI Script

    +
    +

    The AltOS Map CGI Script is a straightforward script which connects to the AltOS Map Cache Manager, transmits a URL describing the desired map tile and receives back a filename (or error), then sends the contents of that file back through Apache to the requesting -application. The name of the script is altos-map.

    Inputs

    The AltOS Map CGI Script will parse the provided AltOS Map URI or -AltOS Version URI.

    Outputs

    For AltOS Map URLs, the CGI Script will return either the contents of -the associated Google Map tile or an error indicating what failed:

    200 OK: The map tile image data or version information

    400 Bad Request: The URL is malformed or not compatible with the -version supported by the service

    403 Forbidden: The map tile is outside the areas supported by the -current AltOS Map service area

    408 Request Timeout: Attempts to fetch the tile from Google Maps -timed out.

    503 Service Unavailable: The service is temporarily refusing to -satisfy this request due to resource limitations.

    2.2. AltOS Map Cache Manager

    This is a service running on the local machine and available over a +application. The name of the script is 'altos-map'.

    +
    +
    +

    Inputs

    +
    +

    The AltOS Map CGI Script will parse the provided AltOS Map URI or +AltOS Version URI.

    +
    +
    +
    +

    Outputs

    +
    +

    For AltOS Map URLs, the CGI Script will return either the contents of +the associated Google Map tile or an error indicating what failed:

    +
    +
    +

    200 OK: The map tile image data or version information

    +
    +
    +

    400 Bad Request: The URL is malformed or not compatible with the +version supported by the service

    +
    +
    +

    403 Forbidden: The map tile is outside the areas supported by the +current AltOS Map service area

    +
    +
    +

    408 Request Timeout: Attempts to fetch the tile from Google Maps +timed out.

    +
    +
    +

    503 Service Unavailable: The service is temporarily refusing to +satisfy this request due to resource limitations.

    +
    +
    +
    +
    +

    AltOS Map Cache Manager

    +
    +

    This is a service running on the local machine and available over a local network socket. It translates an AltOS Map URL into a local filename containing the contents of the associated Google Maps -tile. The name of the cache manager is altos-mapd. It will listen -for requests on port 16717.

    2.3. AltOS Map URI

    AltOS uses a limited subset of the Google Maps, and the AltOS Map URIs +tile. The name of the cache manager is 'altos-mapd'. It will listen +for requests on port 16717.

    +
    +
    +
    +

    AltOS Map URI

    +
    +

    AltOS uses a limited subset of the Google Maps, and the AltOS Map URIs only encode those elements which we currently use. This specification describes AltOS Map URI format version 1.0.0. The application is required to provide URIs compatible with the format supported by the -server. The elements of the elements are:

    • -Latitude of center point -
    • -Longitude of center point -
    • -Zoom level (from bushes to planets) -

    Encoding this in a URI is straightforward:

    altos-map?lat=<lat>&lon=<lon>&zoom=<zoom>

    Latitude and longitude are both encoded using decimal degrees with 6 -digits following the decimal point.

    Zoom levels can range from 1 (world) to 20 (buildings). Higher zoom -levels show smaller areas at greater detail.

    The only Google Map type supported by version 1.0.0 of the service is -“hybrid”, which combines road graphics on top of satellite images.

    Version 1.0.0 always returns images which are 512x512 pixels.

    If we need additional elements in the URL, we can add them in the -future and bump the supported version number.

    2.4. AltOS Version URI

    To allow applications to discover what AltOS Map URI version is supported by the +server. The elements of the elements are:

    +
    +
    +
      +
    • +

      Latitude of center point

      +
    • +
    • +

      Longitude of center point

      +
    • +
    • +

      Zoom level (from bushes to planets)

      +
    • +
    +
    +
    +

    Encoding this in a URI is straightforward:

    +
    +
    +
    +
    altos-map?lat=<lat>&lon=<lon>&zoom=<zoom>
    +
    +
    +
    +

    Latitude and longitude are both encoded using decimal degrees with 6 +digits following the decimal point.

    +
    +
    +

    Zoom levels can range from 1 (world) to 20 (buildings). Higher zoom +levels show smaller areas at greater detail.

    +
    +
    +

    The only Google Map type supported by version 1.0.0 of the service is +“hybrid”, which combines road graphics on top of satellite images.

    +
    +
    +

    Version 1.0.0 always returns images which are 512x512 pixels.

    +
    +
    +

    If we need additional elements in the URL, we can add them in the +future and bump the supported version number.

    +
    +
    +
    +

    AltOS Version URI

    +
    +

    To allow applications to discover what AltOS Map URI version is supported by the AltOS Map service, the application may query the version of the API supported using the Version URI. The application provides the version that it supports and the AltOS Map service returns a version not -greater than the client version:

    altos-map?version=<client-major>.<client-minor>.<client-revision>
    +greater than the client version:

    +
    +
    +
    +
    altos-map?version=<client-major>.<client-minor>.<client-revision>
     →
    -<server-major>.<server-minor>.<server.revision>

    2.5. AltOS Tile Request

    The AltOS Map CGI Script parses the Map URI and passes that +<server-major>.<server-minor>.<server.revision> +

    +
    +
    +
    +

    AltOS Tile Request

    +
    +

    The AltOS Map CGI Script parses the Map URI and passes that information to the AltOS Map Cache Manager using the AltOS Tile Specifier syntax. This is a JSON representation of the same data -provided by the URI:

    {
    -        "lat": <latitude>,
    -        "lon": <longitude>,
    -        "zoom": <zoom-level>,
    -        "remote_addr": "<IPv4 or IPv6 address of requesting client>"
    -}

    Latitude and longitude are both encoded using decimal degrees with 6 -digits following the decimal point.

    2.6. AltOS Tile Reply

    Sent back from the Cache Manager to the CGI Script, this encodes the +provided by the URI:

    +
    +
    +
    +
    {
    +	"lat": <latitude>,
    +	"lon": <longitude>,
    +	"zoom": <zoom-level>,
    +	"remote_addr": "<IPv4 or IPv6 address of requesting client>"
    +}
    +
    +
    +
    +

    Latitude and longitude are both encoded using decimal degrees with 6 +digits following the decimal point.

    +
    +
    +
    +

    AltOS Tile Reply

    +
    +

    Sent back from the Cache Manager to the CGI Script, this encodes the status of the request and the filename of any tile data available. It -is encoded in JSON format:

    {
    -        "status": <HTTP status>,
    -        "filename": "<absolute path to image file>",
    -        "content_type": "<HTTP content-type>"
    -}

    The “filename” and “content-type” elements are only included when -the status is 200 OK.

    2.7. AltOS Tile Filename

    While the current AltOS Map URI version only supports a limited subset -of the Google Maps functionality, we’ll encode more of that data in +is encoded in JSON format:

    +
    +
    +
    +
    {
    +	"status": <HTTP status>,
    +	"filename": "<absolute path to image file>",
    +	"content_type": "<HTTP content-type>"
    +}
    +
    +
    +
    +

    The “filename” and “content-type” elements are only included when +the status is 200 OK.

    +
    +
    +
    +

    AltOS Tile Filename

    +
    +

    While the current AltOS Map URI version only supports a limited subset +of the Google Maps functionality, we’ll encode more of that data in filenames to allow for easy expansion of functionality in the -future. The elements of an AltOS Tile filename consist of :

    • -Latitude, with N/S indicator (instead of a sign) -
    • -Longitude, with E/W indicator (instead of a sign) -
    • -Map type. -
    • -Zoom level -
    • -Scale factor. Scale, and the preceding hyphen are omitted for a scale factor of 1. -
    • -Image format suffix. .jpg for JPEG files and .png for PNG files. -

    Latitude and longitude are both encoded using decimal degrees with 6 -digits following the decimal point.

    Map type is one of :

    hybrid: Road graphics over satellite images -roadmap: Symbolic road map -satellite: Un-annotated satellite images -terrain: Topographic map

    Here’s what map filenames look like:

    map-{N,S}<lat>,{E,W}<lon>-<type>-<zoom>[-<scale>].<format>
    map-N36.508532,W107.823944-hybrid-18.jpg

    To transmit this name from the AltOS Map Cache Manager back to the -Altos Map CGI script, the filename will be wrapped in a JSON string

    3. Implementation

    The AltOS Map CGI Script and AltOS Map Cache Manager will both be +future. The elements of an AltOS Tile filename consist of :

    +
    +
    +
      +
    • +

      Latitude, with N/S indicator (instead of a sign)

      +
    • +
    • +

      Longitude, with E/W indicator (instead of a sign)

      +
    • +
    • +

      Map type.

      +
    • +
    • +

      Zoom level

      +
    • +
    • +

      Scale factor. Scale, and the preceding hyphen are omitted for a scale factor of 1.

      +
    • +
    • +

      Image format suffix. '.jpg' for JPEG files and '.png' for PNG files.

      +
    • +
    +
    +
    +

    Latitude and longitude are both encoded using decimal degrees with 6 +digits following the decimal point.

    +
    +
    +

    Map type is one of :

    +
    +
    +

    hybrid: Road graphics over satellite images +roadmap: Symbolic road map +satellite: Un-annotated satellite images +terrain: Topographic map

    +
    +
    +

    Here’s what map filenames look like:

    +
    +
    +
    +
    map-{N,S}<lat>,{E,W}<lon>-<type>-<zoom>[-<scale>].<format>
    +
    +
    +
    +
    +
    map-N36.508532,W107.823944-hybrid-18.jpg
    +
    +
    +
    +

    To transmit this name from the AltOS Map Cache Manager back to the +Altos Map CGI script, the filename will be wrapped in a JSON string

    +
    +
    +
    +
    +
    +

    Implementation

    +
    +
    +

    The AltOS Map CGI Script and AltOS Map Cache Manager will both be implemented in Java as much of the required Google Maps infrastructure -is already available in that language.

    3.1. Access Control

    No access control to the service is planned at this point. If +is already available in that language.

    +
    +
    +

    Access Control

    +
    +

    No access control to the service is planned at this point. If necessary, we could implement username/password access control for each -user of the service.

    3.2. Location Restrictions

    To avoid unbounded usage, and confine the utility of this service to +user of the service.

    +
    +
    +
    +

    Location Restrictions

    +
    +

    To avoid unbounded usage, and confine the utility of this service to AltOS users, the service will only offer map tiles whose center location is within 10 miles of one of the sites registered in -our launch sites database.

    To allow testing of the registered launch site database, a database of +our launch sites database.

    +
    +
    +

    To allow testing of the registered launch site database, a database of privileged clients will be supported. Privileged clients will have -unlimited access to the service.

    3.3. Per-Client Restrictions

    We should implement a per-day limit on the number of tiles provided to +unlimited access to the service.

    +
    +
    +
    +

    Per-Client Restrictions

    +
    +

    We should implement a per-day limit on the number of tiles provided to a particular requesting client. We can also rate limit clients to a certain number of tiles per minute to reduce the bandwidth consumed -out of our server.

    3.4. Cache Lifetime Restrictions.

    The Google Maps API allows for caching of map data for no more than 30 +out of our server.

    +
    +
    +
    +

    Cache Lifetime Restrictions.

    +
    +

    The Google Maps API allows for caching of map data for no more than 30 days. To honor this, the Cache Manager will re-fetch any requested tiles when the cached version is older than this. If the fetch fails, the cache manager will continue to serve the data from the cached -version of the file.

    \ No newline at end of file +version of the file.

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/AltOS/doc/map-loading.pdf b/AltOS/doc/map-loading.pdf index 392a75c..6ca1124 100644 Binary files a/AltOS/doc/map-loading.pdf and b/AltOS/doc/map-loading.pdf differ diff --git a/AltOS/doc/map-loading.svg b/AltOS/doc/map-loading.svg new file mode 100644 index 0000000..fa39bc0 --- /dev/null +++ b/AltOS/doc/map-loading.svg @@ -0,0 +1,122 @@ + + + + + + +map_loading + + + +app + +Application + + + +apache + +Apache Web Server + + + +app->apache + + +AltOS Map URI + + + + +apache->app + + +Google Map tile + + + + +cgi_script + +AltOS Map CGI Script + + + +apache->cgi_script + + +AltOS Map URI + + + + +cgi_script->apache + + +Google Map tile + + + + +cache_manager + +AltOS Map Cache Manager + + + +cgi_script->cache_manager + + +AltOS Tile Request + + + + +cache_manager->cgi_script + + +AltOS Tile Reply + + + + +disk_files + +File System + + + +cache_manager->disk_files + + + +AltOS tile files + + + + +google_maps + +Google Maps + + + +cache_manager->google_maps + + +Google Map URI + + + + +google_maps->cache_manager + + +Google Map tile + + + + diff --git a/AltOS/doc/micropeak-oneline.svg b/AltOS/doc/micropeak-oneline.svg index 4b69582..b892b24 100644 --- a/AltOS/doc/micropeak-oneline.svg +++ b/AltOS/doc/micropeak-oneline.svg @@ -10,14 +10,44 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="444" - height="98" + width="320" + height="63" id="svg2" version="1.1" - inkscape:version="0.91 r13725" - sodipodi:docname="micropeak-oneline.svg"> + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="micropeak-oneline-font.svg"> + + + + + + + + + + @@ -80,7 +110,7 @@ style="overflow:visible"> @@ -108,7 +138,17 @@ x2="280.61411" y2="275.90405" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.9246394,0,0,1.9246394,-200.29778,-270.16721)" /> + gradientTransform="matrix(1.58566,0,0,1.58566,-141.69631,-171.10662)" /> + + transform="translate(-241.9891,-229.23188)"> + style="font-size:57.89221573px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#7200a4;fill-opacity:1;stroke:none;font-family:ITC Benguiat Gothic Std;-inkscape-font-specification:ITC Benguiat Gothic Std Medium" + id="text2985"> + + + d="m 282.7522,267.42614 -3.93403,-2.77705 -4.51792,1.66641 1.42544,-4.59964 -2.98096,-3.78185 4.815,-0.0657 2.67559,-4.00372 1.55039,4.55904 4.63457,1.30742 -3.85681,2.88333 z" + inkscape:transform-center-x="-0.46292579" + inkscape:transform-center-y="-0.64836539" + transform="matrix(1.58566,0,0,1.58566,-141.69632,-171.10662)" /> + style="font-size:54.73445892px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4147);fill-opacity:1;stroke:none;font-family:ITC Benguiat Gothic Std;-inkscape-font-specification:ITC Benguiat Gothic Std Medium" + id="text5351"> + + + + + + + + - - - - - - - - - - - + d="m 538.94589,277.69509 c 0,1.64203 0.60208,2.84619 2.40832,2.84619 1.80623,0 2.40832,-1.20416 2.40832,-2.84619 l 0,-13.40995 c 9.14064,1.2589 12.09631,4.15983 13.40994,13.46468 0.21894,1.53256 0.43788,2.79146 2.35358,2.79146 1.5873,0 2.46305,-0.82102 2.46305,-2.57252 0,-6.23972 -3.22934,-13.40995 -9.57853,-15.32565 l 0,-0.10947 c 3.06513,-1.03995 7.49862,-4.5977 7.49862,-8.15543 0,-1.20416 -0.82102,-2.18938 -1.7515,-2.18938 -1.80624,0 -2.18938,1.25889 -3.94088,3.72194 -1.97044,2.90093 -5.69239,4.87137 -9.30486,4.87137 l -1.14942,0 0,-15.38038 c 0,-1.64204 -0.60209,-2.8462 -2.40832,-2.8462 -1.80624,0 -2.40832,1.20416 -2.40832,2.8462 l 0,32.29333" + style="" + id="path4181" /> diff --git a/AltOS/doc/micropeak.html b/AltOS/doc/micropeak.html index d31171e..4db3b4b 100644 --- a/AltOS/doc/micropeak.html +++ b/AltOS/doc/micropeak.html @@ -1,47 +1,145 @@ - -MicroPeak Owner’s Manual

    MicroPeak Owner’s Manual

    A recording altimeter for hobby rocketry

    - -

    Keith Packard

    - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. -


    Acknowledgements

    Thanks to John Lyngdal for suggesting that we build something -like this.

    Have fun using these products, and we hope to meet all of you -out on the rocket flight line somewhere.

    Bdale Garbee, KB0G
    -NAR #87103, TRA #12201

    Keith Packard, KD7SQG
    -NAR #88757, TRA #12200

    Chapter 1. Using MicroPeak

    MicroPeak is designed to be easy to use. Requiring no external -components, flying takes just a few steps

    -Install the battery -
    -Fit a CR1025 battery into the plastic carrier. The positive + + + + + + + + + +MicroPeak Owner’s Manual + + + + +
    +
    +
    + +
    +
    +
    +

    License

    +
    +
    +

    Copyright © 2018 Bdale Garbee and Keith Packard

    +
    +
    +

    This document is released under the terms of the Creative Commons ShareAlike 3.0 License

    +
    +
    +
    +
    +

    Acknowledgements

    +
    +
    +

    Thanks to John Lyngdal for suggesting that we build something +like this.

    +
    +
    +

    Have fun using these products, and we hope to meet all of you +out on the rocket flight line somewhere.

    +
    +
    +
    Bdale Garbee, KB0G
    +NAR #87103, TRA #12201
    +
    +
    +
    Keith Packard, KD7SQG
    +NAR #88757, TRA #12200
    +
    +
    +
    +
    +

    1. Using MicroPeak

    +
    +
    +

    MicroPeak is designed to be easy to use. Requiring no external +components, flying takes just a few steps

    +
    +
    +
    +
    Install the battery
    +
    +

    Fit a CR1025 battery into the plastic carrier. The positive (+) terminal should be towards the more open side of the carrier. Slip the carrier into the battery holder with the -positive (+) terminal facing away from the circuit board. -

    Figure 1.1. MicroPeak and Battery

    micropeak-back.jpg

    -Install MicroPeak in your rocket -
    -This can be as simple as preparing a soft cushion of wadding +positive (+) terminal facing away from the circuit board.

    +
    +
    +
    +
    +
    +micropeak back +
    +
    Figure 1. MicroPeak and Battery
    +
    +
    +
    +
    Install MicroPeak in your rocket
    +
    +

    This can be as simple as preparing a soft cushion of wadding inside a vented model payload bay. Wherever you mount it, make sure you protect the barometric sensor from corrosive ejection gasses as those will damage the sensor, and shield -it from light as that can cause incorrect sensor readings. -

    -Turn MicroPeak on -
    -Slide the switch so that the actuator covers the 1 printed +it from light as that can cause incorrect sensor readings.

    +
    +
    Turn MicroPeak on
    +
    +

    Slide the switch so that the actuator covers the '1' printed on the board. MicroPeak will report the maximum height of the last flight in decimeters using a sequence of flashes on the LED. A sequence of short flashes indicates one digit. A single long flash indicates zero. The height is reported in decimeters, so the last digit will be tenths of a meter. For example, if MicroPeak reports 5 4 4 3, then the maximum -height of the last flight was 544.3m, or 1786 feet. -

    -Finish preparing the rocket for flight -
    -After the previous flight data have been reported, MicroPeak +height of the last flight was 544.3m, or 1786 feet.

    +
    +
    Finish preparing the rocket for flight
    +
    +

    After the previous flight data have been reported, MicroPeak waits for one minute before starting to check for launch. This gives you time to finish assembling the rocket. As those activities might cause pressure changes @@ -50,11 +148,11 @@ boost. If you need to do anything to the airframe after the one minute window passes, make sure to be careful not to disturb the altimeter. The LED will remain dark during the one minute delay, but after that, it will start blinking -once every 3 seconds. -

    -Fly the rocket -
    -Once the rocket passes about 30m in height (100 feet), the +once every 3 seconds.

    +
    +
    Fly the rocket
    +
    +

    Once the rocket passes about 30m in height (100 feet), the micro-controller will record the ground pressure and track the pressure seen during the flight. In this mode, the LED flickers rapidly. When the rocket lands, and the pressure @@ -62,83 +160,218 @@ stabilizes, the micro-controller will record the minimum pressure pressure experienced during the flight, compute the height represented by the difference in air pressure and blink that value out on the LED. After that, MicroPeak -powers down to conserve battery power. -

    -Recover the data -
    -Turn MicroPeak off and then back on. MicroPeak will blink +powers down to conserve battery power.

    +
    +
    Recover the data
    +
    +

    Turn MicroPeak off and then back on. MicroPeak will blink out the maximum height for the last flight. Turn MicroPeak -back off to conserve battery power. -

    Chapter 2. The MicroPeak USB adapter

    Figure 2.1. MicroPeak USB Adapter

    MicroPeakUSB-2.0.jpg

    MicroPeak stores barometric pressure information for the first +back off to conserve battery power.

    +
    +
    +
    +
    +
    +
    +

    2. The MicroPeak USB adapter

    +
    +
    +
    +MicroPeakUSB 2.0 +
    +
    Figure 2. MicroPeak USB Adapter
    +
    +
    +

    MicroPeak stores barometric pressure information for the first 48 seconds of the flight in on-board non-volatile memory. The contents of this memory can be downloaded to a computer using -the MicroPeak USB adapter.

    2.1. Installing the MicroPeak software

    The MicroPeak application runs on Linux, Mac OS X and +the MicroPeak USB adapter.

    +
    +
    +

    2.1. Installing the MicroPeak software

    +
    +

    The MicroPeak application runs on Linux, Mac OS X and Windows. You can download the latest version from -http://altusmetrum.org/MicroPeak

    On Mac OS X and Windows, the FTDI USB device driver +http://altusmetrum.org/MicroPeak

    +
    +
    +

    On Mac OS X and Windows, the FTDI USB device driver needs to be installed. A compatible version of this driver is included with the MicroPeak application, but you may want to download a newer version from -http://www.ftdichip.com/FTDrivers.htm

    2.2. Downloading Micro Peak data

    • -Plug the MicroPeak USB adapter in to your computer. -
    • -Start the MicroPeak application. -
    micropeak-nofont.svg
    • -Click on the Download button at the top of the -window. -

    Figure 2.2. MicroPeak Application

    micropeak-app.png

    • -Select from the listed devices. There will probably -be only one. -

    Figure 2.3. MicroPeak Device Dialog

    micropeak-device-dialog.png

    • -The application will now wait until it receives -valid data from the MicroPeak USB adapter. -

    Figure 2.4. MicroPeak Download Dialog

    micropeak-download.png

    +
    +
    +

    2.2. Downloading Micro Peak data

    +
    +
      +
    • +

      Plug the MicroPeak USB adapter in to your computer.

      +
    • +
    • +

      Start the MicroPeak application.

      +
    • +
    +
    +
    +
    +micropeak nofont +
    +
    +
    +
      +
    • +

      Click on the Download button at the top of the +window.

      +
    • +
    +
    +
    +
    +micropeak app +
    +
    Figure 3. MicroPeak Application
    +
    +
    +
      +
    • +

      Select from the listed devices. There will probably +be only one.

      +
    • +
    +
    +
    +
    +micropeak device dialog +
    +
    Figure 4. MicroPeak Device Dialog
    +
    +
    +
      +
    • +

      The application will now wait until it receives +valid data from the MicroPeak USB adapter.

      +
    • +
    +
    +
    +
    +micropeak download +
    +
    Figure 5. MicroPeak Download Dialog
    +
    +
    +
      +
    • +

      The MicroPeak USB adapter has a small phototransistor under the hole in the center of the box. Locate this, turn on the MicroPeak and place the orange LED on the MicroPeak directly inside the hole, resting the MicroPeak itself on the box. You should see the blue LED on the MicroPeak USB adapter blinking in time with the orange LED on the -MicroPeak board itself. -

    Figure 2.5. MicroPeak Downloading

    MicroPeakUSB-2.0-inuse.jpg

    • -After the maximum flight height is reported, +MicroPeak board itself.

      +
    • +
    +
    +
    +
    +MicroPeakUSB 2.0 inuse +
    +
    Figure 6. MicroPeak Downloading
    +
    +
    +
      +
    • +

      After the maximum flight height is reported, MicroPeak will pause for a few seconds, blink the LED four times rapidly and then send the data in one long blur on the LED. The MicroPeak application should receive the data. When it does, it will present the data in a graph and offer to save the data to a file. If not, you can power cycle the -MicroPeak board and try again. -

    Figure 2.6. MicroPeak Save Dialog

    micropeak-save-dialog.png

    • -Once the data are saved, a graph will be displayed +MicroPeak board and try again.

      +
    • +
    +
    +
    +
    +micropeak save dialog +
    +
    Figure 7. MicroPeak Save Dialog
    +
    +
    +
      +
    • +

      Once the data are saved, a graph will be displayed with height, speed and acceleration values computed from the recorded barometric pressure data. See -<<_analyzing_micropeak_data> for more details on that. -

    2.3. Analyzing MicroPeak Data

    The MicroPeak application can present flight data in +<<_analyzing_micropeak_data> for more details on that.

    + + +
    +
    +
    +

    2.3. Analyzing MicroPeak Data

    +
    +

    The MicroPeak application can present flight data in the form of a graph, a collection of computed -statistics or in tabular form.

    MicroPeak collects raw barometric pressure data which +statistics or in tabular form.

    +
    +
    +

    MicroPeak collects raw barometric pressure data which is then used to compute the remaining data. Altitude is computed through a standard atmospheric model. Absolute error in this data will be affected by local atmospheric conditions. Fortunately, these errors tend to mostly cancel out, so the error in the height computation is much smaller than the error in -altitude would be.

    Speed and acceleration are computed by first smoothing +altitude would be.

    +
    +
    +

    Speed and acceleration are computed by first smoothing the height data with a Gaussian window averaging filter. For speed data, this average uses seven samples. For acceleration data, eleven samples are used. These were chosen to provide reasonably smooth speed and acceleration data, which would otherwise be -swamped with noise.

    The File menu has operations to open existing flight +swamped with noise.

    +
    +
    +

    The File menu has operations to open existing flight logs, Download new data from MicroPeak, Save a copy of the flight log to a new file, Export the tabular data (as seen in the Raw Data tab) to a file, change the application Preferences, Close the current window or -close all windows and Exit the application.

    2.3.1. MicroPeak Graphs

    Figure 2.7. MicroPeak Graph

    micropeak-graph.png

    Under the Graph tab, the height, speed and acceleration values +close all windows and Exit the application.

    +
    +
    +

    2.3.1. MicroPeak Graphs

    +
    +
    +micropeak graph +
    +
    Figure 8. MicroPeak Graph
    +
    +
    +

    Under the Graph tab, the height, speed and acceleration values are displayed together. You can zoom in on the graph by clicking and dragging to sweep out an area of interest. Right-click on the plot to bring up a menu that will -let you save, copy or print the graph.

    2.3.2. MicroPeak Flight Statistics

    Figure 2.8. MicroPeak Flight Statistics

    micropeak-statistics.png

    The Statistics tab presents overall data from +let you save, copy or print the graph.

    +
    +
    +
    +

    2.3.2. MicroPeak Flight Statistics

    +
    +
    +micropeak statistics +
    +
    Figure 9. MicroPeak Flight Statistics
    +
    +
    +

    The Statistics tab presents overall data from the flight. Note that the Maximum height value is taken from the minumum pressure captured in flight, and may be different from the apparant @@ -146,114 +379,234 @@ apogee value as the on-board data are sampled twice as fast as the recorded values, or because the true apogee occurred after the on-board memory was full. Each value is -presented in several units as appropriate.

    2.3.3. Raw Flight Data

    Figure 2.9. MicroPeak Raw Flight Data

    micropeak-raw-data.png

    A table consisting of the both the raw barometric pressure -data and values computed from that for each recorded time.

    2.3.4. Configuring the Graph

    Figure 2.10. MicroPeak Graph Configuration

    micropeak-graph-configure.png

    This selects which graph elements to show, and lets you -switch between metric and imperial units

    2.4. Setting MicroPeak Preferences

    Figure 2.11. MicroPeak Preferences

    micropeak-preferences.png

    The MicroPeak application has a few user settings which are +presented in several units as appropriate.

    +
    +
    +
    +

    2.3.3. Raw Flight Data

    +
    +
    +micropeak raw data +
    +
    Figure 10. MicroPeak Raw Flight Data
    +
    +
    +

    A table consisting of the both the raw barometric pressure +data and values computed from that for each recorded time.

    +
    +
    +
    +

    2.3.4. Configuring the Graph

    +
    +
    +micropeak graph configure +
    +
    Figure 11. MicroPeak Graph Configuration
    +
    +
    +

    This selects which graph elements to show, and lets you +switch between metric and imperial units

    +
    +
    +
    +
    +

    2.4. Setting MicroPeak Preferences

    +
    +
    +micropeak preferences +
    +
    Figure 12. MicroPeak Preferences
    +
    +
    +

    The MicroPeak application has a few user settings which are configured through the Preferences dialog, which can be -accessed from the File menu.

    -Log Directory -
    -The Log Directory is where flight data will be +accessed from the File menu.

    +
    +
    +
    +
    Log Directory
    +
    +

    The Log Directory is where flight data will be saved to and loaded from by default. Of course, you can always navigate to other directories in the file chooser windows, this -setting is just the starting point. -

    -Imperial Units -
    -If you prefer to see your graph data in feet +setting is just the starting point.

    +
    +
    Imperial Units
    +
    +

    If you prefer to see your graph data in feet and miles per hour instead of meters and meters per second, you can select Imperial -Units. -

    -Serial Debug -
    -To see what data is actually arriving over the +Units.

    +
    +
    Serial Debug
    +
    +

    To see what data is actually arriving over the serial port, start the MicroPeak application from a command prompt and select the Serial Debug option. This can be useful in debugging serial communication problems, but most people -need never choose this. -

    -Font Size -
    -You can adjust the size of the text in the +need never choose this.

    +
    +
    Font Size
    +
    +

    You can adjust the size of the text in the Statistics tab by changing the Font size preference. There are three settings, with luck one will both fit on your screen and -provide readable values. -

    -Look & Feel -
    -The Look & feel menu shows a list of available +provide readable values.

    +
    +
    Look & Feel
    +
    +

    The Look & feel menu shows a list of available application appearance choices. By default, the MicroPeak application tries to blend in with other applications, but you may choose -some other appearance if you like. -

    Note that MicroPeak shares a subset of the +some other appearance if you like.

    + + +
    +
    +

    Note that MicroPeak shares a subset of the AltosUI preferences, so if you use both of these applications, change in one application -will affect the other.

    Appendix A. Handling Precautions

    All Altus Metrum products are sophisticated electronic +will affect the other.

    +
    +
    +
    +
    +
    +

    Appendix A: Handling Precautions

    +
    +
    +

    All Altus Metrum products are sophisticated electronic devices. When handled gently and properly installed in an air-frame, they will deliver impressive results. However, as with all electronic devices, there are some precautions you -must take.

    Warning

    The CR1025 Lithium batteries have an extraordinary power +must take.

    +
    +
    + + + + + +
    +
    Warning
    +
    +The CR1025 Lithium batteries have an extraordinary power density. This is great because we can fly with much less -battery mass… but if they are punctured or their contacts +battery mass…​ but if they are punctured or their contacts are allowed to short, they can and will release their energy very rapidly! Thus we recommend that you take some care when handling MicroPeak to keep conductive material from coming in -contact with the exposed metal elements.

    The barometric sensor used in MicroPeak is sensitive to +contact with the exposed metal elements. +

    +
    +
    +

    The barometric sensor used in MicroPeak is sensitive to sunlight. Please consider this when designing an installation. Many model rockets with payload bays use clear plastic for the payload bay. Replacing these with an opaque cardboard tube, painting them, or wrapping them with a layer of masking tape are all reasonable approaches to keep the -sensor out of direct sunlight.

    The barometric sensor sampling ports must be able to +sensor out of direct sunlight.

    +
    +
    +

    The barometric sensor sampling ports must be able to "breathe", both by not being covered by foam or tape or other materials that might directly block the hole on the top of the sensor, and also by having a suitable static vent to outside -air.

    As with all other rocketry electronics, Altus Metrum +air.

    +
    +
    +

    As with all other rocketry electronics, Altus Metrum altimeters must be protected from exposure to corrosive motor -exhaust and ejection charge gasses.

    Appendix B. Technical Information

    B.1. Barometric Sensor

    MicroPeak uses the Measurement Specialties MS5607 +exhaust and ejection charge gasses.

    +
    +
    +
    +
    +

    Appendix B: Technical Information

    +
    +
    +

    B.1. Barometric Sensor

    +
    +

    MicroPeak uses the Measurement Specialties MS5607 sensor. This has a range of 120kPa to 1kPa with an -absolute accuracy of 150Pa and a resolution of 2.4Pa.

    The pressure range corresponds roughly to an altitude +absolute accuracy of 150Pa and a resolution of 2.4Pa.

    +
    +
    +

    The pressure range corresponds roughly to an altitude range of -1500m (-4900 feet) to 31000m (102000 feet), while the resolution is approximately 20cm (8 inches) -near sea level and 60cm (24in) at 10000m (33000 feet).

    Ground pressure is computed from an average of 16 +near sea level and 60cm (24in) at 10000m (33000 feet).

    +
    +
    +

    Ground pressure is computed from an average of 16 samples, taken while the altimeter is at rest. The flight pressure used to report maximum height is computed from a Kalman filter designed to smooth out any minor noise in the sensor values. The flight pressure recorded to non-volatile storage is -unfiltered, coming directly from the pressure sensor.

    B.2. Micro-controller

    MicroPeak uses an Atmel ATtiny85 +unfiltered, coming directly from the pressure sensor.

    +
    +
    +
    +

    B.2. Micro-controller

    +
    +

    MicroPeak uses an Atmel ATtiny85 micro-controller. This tiny CPU contains 8kB of flash for the application, 512B of RAM for temporary data storage and 512B of EEPROM for non-volatile storage of -previous flight data.

    The ATtiny85 has a low-power mode which turns off all +previous flight data.

    +
    +
    +

    The ATtiny85 has a low-power mode which turns off all of the clocks and powers down most of the internal components. In this mode, the chip consumes only .1μA of power. MicroPeak uses this mode once the flight has -ended to preserve battery power.

    B.3. Lithium Battery

    The CR1025 battery used by MicroPeak holds 30mAh of +ended to preserve battery power.

    +
    +
    +
    +

    B.3. Lithium Battery

    +
    +

    The CR1025 battery used by MicroPeak holds 30mAh of power, which is sufficient to run for over 40 hours. Because MicroPeak powers down on landing, run time includes only time sitting on the launch pad or -during flight.

    The large positive terminal (+) is usually marked, +during flight.

    +
    +
    +

    The large positive terminal (+) is usually marked, while the smaller negative terminal is not. Make sure you install the battery with the positive terminal facing away from the circuit board where it will be in contact with the metal battery holder. A small pad on the circuit board makes contact with the negative -battery terminal.

    Shipping restrictions may prevent us from including a +battery terminal.

    +
    +
    +

    Shipping restrictions may prevent us from including a CR1025 battery with MicroPeak. If so, many stores carry CR1025 batteries as they are commonly used in -small electronic devices such as flash lights.

    B.4. Atmospheric Model

    MicroPeak contains a fixed atmospheric model which is +small electronic devices such as flash lights.

    +
    +
    +
    +

    B.4. Atmospheric Model

    +
    +

    MicroPeak contains a fixed atmospheric model which is used to convert barometric pressure into altitude. The model was converted into a 469-element piece-wise linear approximation which is then used to compute the altitude of the ground and apogee. The difference between these represents the maximum height of the -flight.

    The model assumes a particular set of atmospheric +flight.

    +
    +
    +

    The model assumes a particular set of atmospheric conditions, which, while a reasonable average, cannot represent the changing nature of the real atmosphere. Fortunately, for flights reasonably close @@ -261,66 +614,161 @@ to the ground, the effect of this global inaccuracy are largely canceled out when the computed ground altitude is subtracted from the computed apogee altitude, so the resulting height is more accurate -than either the ground or apogee altitudes.

    Because the raw pressure data is recorded to +than either the ground or apogee altitudes.

    +
    +
    +

    Because the raw pressure data is recorded to non-volatile storage, you can use that, along with a more sophisticated atmospheric model, to compute your -own altitude values.

    B.5. Mechanical Considerations

    MicroPeak is designed to be rugged enough for typical +own altitude values.

    +
    +
    +
    +

    B.5. Mechanical Considerations

    +
    +

    MicroPeak is designed to be rugged enough for typical rocketry applications. It contains two moving parts, the battery holder and the power switch, which were -selected for their ruggedness.

    The MicroPeak battery holder is designed to withstand +selected for their ruggedness.

    +
    +
    +

    The MicroPeak battery holder is designed to withstand impact up to 150g without breaking contact (or, worse yet, causing the battery to fall out). That means it should stand up to almost any launch you care to try, -and should withstand fairly rough landings.

    The power switch is designed to withstand up to 50g +and should withstand fairly rough landings.

    +
    +
    +

    The power switch is designed to withstand up to 50g forces in any direction. Because it is a sliding switch, orienting the switch perpendicular to the direction of rocket travel will serve to further -protect the switch from launch forces.

    B.6. MicroPeak Programming Interface

    MicroPeak exposes a standard 6-pin AVR programming +protect the switch from launch forces.

    +
    +
    +
    +

    B.6. MicroPeak Programming Interface

    +
    +

    MicroPeak exposes a standard 6-pin AVR programming interface, but not using the usual 2x3 array of pins on 0.1" centers. Instead, there is a single row of tiny 0.60mm × 0.85mm pads on 1.20mm centers exposed -near the edge of the circuit board. We couldn’t find +near the edge of the circuit board. We couldn’t find any connector that was small enough to include on the -circuit board.

    In lieu of an actual connector, the easiest way to +circuit board.

    +
    +
    +

    In lieu of an actual connector, the easiest way to connect to the bare pads is through a set of Pogo pins. These spring-loaded contacts are designed to -connect in precisely this way. We’ve designed a +connect in precisely this way. We’ve designed a programming jig, the MicroPeak Pogo Pin board which provides a standard AVR interface on one end and a recessed slot for MicroPeak to align the board with -the Pogo Pins.

    The MicroPeak Pogo Pin board is not a complete AVR +the Pogo Pins.

    +
    +
    +

    The MicroPeak Pogo Pin board is not a complete AVR programmer, it is an interface board that provides a 3.3V regulated power supply to run the MicroPeak via USB and a standard 6-pin AVR programming interface with the usual 2x3 grid of pins on 0.1" centers. This -can be connected to any AVR programming dongle.

    The AVR programming interface cannot run faster than ¼ +can be connected to any AVR programming dongle.

    +
    +
    +

    The AVR programming interface cannot run faster than ¼ of the AVR CPU clock frequency. Because MicroPeak runs at 250kHz to save power, you must configure your AVR programming system to clock the AVR programming interface at no faster than 62.5kHz, or a clock period -of 32µS.

    Appendix C. On-board data storage

    The ATtiny85 has 512 bytes of non-volatile storage, separate +of 32µS.

    +
    +
    +
    +
    +
    +

    Appendix C: On-board data storage

    +
    +
    +

    The ATtiny85 has 512 bytes of non-volatile storage, separate from the code storage memory. The MicroPeak firmware uses this to store information about the last completed flight. Barometric measurements from the ground before launch and at apogee are stored, and used at power-on to compute the -height of the last flight.

    In addition to the data used to present the height of the last +height of the last flight.

    +
    +
    +

    In addition to the data used to present the height of the last flight, MicroPeak also stores barometric information sampled at regular intervals during the flight. This is the information captured with the MicroPeak USB adapter. It can -also be read from MicroPeak through any AVR programming tool.

    Table C.1. MicroPeak EEPROM Data Storage

    Address

    Size (bytes)

    Description

    0x000

    4

    Average ground pressure (Pa)

    0x004

    4

    Minimum flight pressure (Pa)

    0x008

    2

    Number of in-flight samples

    0x00a … 0x1fe

    2

    Instantaneous flight pressure (Pa) low 16 bits


    All EEPROM data are stored least-significant byte first. The +also be read from MicroPeak through any AVR programming tool.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. MicroPeak EEPROM Data Storage

    Address

    Size (bytes)

    Description

    0x000

    4

    Average ground pressure (Pa)

    0x004

    4

    Minimum flight pressure (Pa)

    0x008

    2

    Number of in-flight samples

    0x00a … 0x1fe

    2

    Instantaneous flight pressure (Pa) low 16 bits

    +
    +

    All EEPROM data are stored least-significant byte first. The instantaneous flight pressure data are stored without the upper 16 bits of data. The upper bits can be reconstructed -from the previous sample, assuming that pressure doesn’t +from the previous sample, assuming that pressure doesn’t change by more more than 32kPa in a single sample -interval. Note that this pressure data is not filtered in +interval. Note that this pressure data is not filtered in any way, while both the recorded ground and apogee pressure -values are, so you shouldn’t expect the minimum instantaneous +values are, so you shouldn’t expect the minimum instantaneous pressure value to match the recorded minimum pressure value -exactly.

    MicroPeak samples pressure every 96ms, but stores only every +exactly.

    +
    +
    +

    MicroPeak samples pressure every 96ms, but stores only every other sample in the EEPROM. This provides for 251 pressure samples at 192ms intervals, or 48.192s of storage. The clock used for these samples is a factory calibrated RC circuit built into the ATtiny85 and is accurate only to within ±10% at 25°C. So, you can count on the pressure data being accurate, but speed or acceleration data computed from this will be -limited by the accuracy of this clock.

    \ No newline at end of file +limited by the accuracy of this clock.

    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/AltOS/doc/micropeak.pdf b/AltOS/doc/micropeak.pdf index 633a2a3..3d84d31 100644 Binary files a/AltOS/doc/micropeak.pdf and b/AltOS/doc/micropeak.pdf differ diff --git a/AltOS/doc/telegps-outline.pdf b/AltOS/doc/telegps-outline.pdf index 7feb468..8d72e9a 100644 Binary files a/AltOS/doc/telegps-outline.pdf and b/AltOS/doc/telegps-outline.pdf differ diff --git a/AltOS/doc/telegps.html b/AltOS/doc/telegps.html index 34532f2..cb52a44 100644 --- a/AltOS/doc/telegps.html +++ b/AltOS/doc/telegps.html @@ -1,73 +1,265 @@ - -TeleGPS Owner’s Manual

    TeleGPS Owner’s Manual

    An Owner's Manual for the TeleGPS recording GPS tracker

    - -

    Bdale Garbee

    Keith Packard

    - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. -


    Acknowledgments

    Thanks to Anthony (AJ) Towns for major contributions including + + + + + + + + + +TeleGPS Owner’s Manual + + + +

    +
    +
    +
    + +
    +
    +
    +

    License

    +
    +
    +

    Copyright © 2018 Bdale Garbee and Keith Packard

    +
    +
    +

    This document is released under the terms of the Creative Commons ShareAlike 3.0 License

    +
    +
    +
    +
    +

    Acknowledgments

    +
    +
    +

    Thanks to Anthony (AJ) Towns for major contributions including the TeleGPS graphing and site map code and associated documentation. Free software means that our customers and friends can become our collaborators, and we certainly appreciate this level of -contribution!

    Have fun using these products, and we hope to meet all of you -out on the rocket flight line somewhere.

    Bdale Garbee, KB0G
    -NAR #87103, TRA #12201

    Keith Packard, KD7SQG
    -NAR #88757, TRA #12200

    Table of Contents

    1. TeleGPS Quick Start Guide
    2. Using TeleGPS Hardware
    2.1. Hooking Up Lithium Polymer Batteries
    2.2. On-board Data Recording
    2.3. Installation
    3. TeleGPS Application
    3.1. Telemetry Monitoring
    3.1.1. Map
    3.1.2. Location
    3.1.3. Status
    3.1.4. Table
    3.2. TeleGPS Menus
    3.2.1. New Window
    3.3. Graph Data
    3.3.1. Data Graph
    3.3.2. Graph Configuration
    3.3.3. Statistics
    3.3.4. Map
    3.4. Export Data
    3.4.1. Comma Separated Value Format
    3.4.2. Keyhole Markup Language (for Google Earth)
    3.5. Load Maps
    3.6. Preferences
    3.6.1. Voice Settings
    3.6.2. Log Directory
    3.6.3. Callsign
    3.6.4. Imperial Units
    3.6.5. Serial Debug
    3.6.6. Font size
    3.6.7. Look & feel
    3.6.8. Menu position
    3.6.9. Map Cache Size
    3.6.10. Manage Frequencies
    3.7. Close
    3.8. Exit
    3.9. Connect Device
    3.10. Disconnect
    3.11. Scan Channels
    3.12. Download Data
    3.13. Configure Device
    3.13.1. Frequency
    3.13.2. RF Calibration
    3.13.3. Telemetry/RDF/APRS Enable
    3.13.4. Telemetry baud rate
    3.13.5. APRS Interval
    3.13.6. APRS SSID
    3.13.7. APRS Format
    3.13.8. Callsign
    3.13.9. Logging Trigger Motion
    3.13.10. Position Reporting Interval
    3.14. Flash Device
    A. TeleGPS System Operation
    A.1. GFSK Telemetry
    A.2. APRS
    A.3. Configurable Parameters
    B. Handling Precautions
    C. Technical Information
    C.1. GPS Receiver
    C.2. 70cm Transmitter
    C.3. Micro-controller
    C.4. Lithium Polymer Battery
    C.5. Mechanical Considerations
    C.6. On-board data storage
    D. Updating Device Firmware
    D.1. Updating TeleGPS Firmware
    E. Release Notes
    E.1. Release Notes for Version 1.8.6
    E.1.1. AltOS
    E.1.2. AltosUI, TeleGPS
    E.1.3. MicroPeak
    E.2. Release Notes for Version 1.8.5
    E.2.1. AltOS
    E.2.2. AltosUI, TeleGPS
    E.3. Release Notes for Version 1.8.4
    E.3.1. AltOS
    E.4. Release Notes for Version 1.8.3
    E.4.1. AltOS
    E.4.2. AltosUI and TeleGPS Applications
    E.5. Release Notes for Version 1.8.2
    E.5.1. AltOS
    E.5.2. AltosUI and TeleGPS Applications
    E.6. Release Notes for Version 1.8.1
    E.6.1. AltOS
    E.6.2. AltosUI and TeleGPS Applications
    E.7. Release Notes for Version 1.8
    E.7.1. AltOS
    E.7.2. AltosUI and TeleGPS Applications
    E.8. Release Notes for Version 1.7
    E.8.1. AltOS
    E.8.2. AltosUI and TeleGPS Applications
    E.9. Release Notes for Version 1.6.8
    E.9.1. AltOS
    E.9.2. AltosUI, TeleGPS and AltosDroid Applications
    E.10. Release Notes for Version 1.6.5
    E.10.1. AltOS
    E.10.2. AltosUI, TeleGPS and AltosDroid Applications
    E.11. Release Notes for Version 1.6.4
    E.11.1. AltOS
    E.11.2. AltosUI, TeleGPS and AltosDroid Applications
    E.11.3. Documentation
    E.12. Release Notes for Version 1.6.3
    E.12.1. AltOS
    E.12.2. AltosUI and TeleGPS Applications
    E.12.3. AltosDroid
    E.12.4. Documentation
    E.13. Release Notes for Version 1.6.2
    E.13.1. AltOS
    E.13.2. AltosUI and TeleGPS Applications
    E.13.3. Documentation
    E.14. Release Notes for Version 1.6.1
    E.14.1. AltOS
    E.14.2. AltosUI and TeleGPS Applications
    E.14.3. AltosDroid
    E.15. Release Notes for Version 1.6
    E.15.1. AltOS
    E.15.2. AltosUI and TeleGPS Applications
    E.16. Release Notes for Version 1.5
    E.16.1. AltOS
    E.16.2. AltosUI and TeleGPS Applications
    E.17. Release Notes for Version 1.4.2
    E.17.1. AltosUI and TeleGPS Applications
    E.18. Release Notes for Version 1.4.1
    E.18.1. AltosUI and TeleGPS Applications:
    E.19. Release Notes for Version 1.4
    E.19.1. AltOS
    E.19.2. AltosUI Application
    E.19.3. TeleGPS Application
    E.19.4. Documentation

    List of Tables

    A.1. Altus Metrum APRS Comments

    Chapter 1. TeleGPS Quick Start Guide

    TeleGPS is designed to be easy to use. Requiring no external -components, flying takes just a few steps.

    1. -First, download and install the software from -http://altusmetrum.org/AltOS. This will make sure that -you have the right device drivers installed. -
    2. -Next, plug in the battery and USB cable and connect TeleGPS to +contribution!

      +
    +
    +

    Have fun using these products, and we hope to meet all of you +out on the rocket flight line somewhere.

    +
    +
    +
    Bdale Garbee, KB0G
    +NAR #87103, TRA #12201
    +
    +
    +
    Keith Packard, KD7SQG
    +NAR #88757, TRA #12200
    +
    +
    +
    +
    +

    1. TeleGPS Quick Start Guide

    +
    +
    +

    TeleGPS is designed to be easy to use. Requiring no external +components, flying takes just a few steps.

    +
    +
    +
      +
    1. +

      First, download and install the software from +http://altusmetrum.org/AltOS. This will make sure that +you have the right device drivers installed.

      +
    2. +
    3. +

      Next, plug in the battery and USB cable and connect TeleGPS to your computer. This will charge the battery and allow you to -configure the device. -

    4. -Start the TeleGPS application and set the callsign and frequency -on your TeleGPS device; refer to Section 3.13, “Configure Device” for instructions. -
    5. -Unplug TeleGPS when the battery charger light goes green. This +configure the device.

      +
    6. +
    7. +

      Start the TeleGPS application and set the callsign and frequency +on your TeleGPS device; refer to Configure Device for instructions.

      +
    8. +
    9. +

      Unplug TeleGPS when the battery charger light goes green. This will enable the radio and logging portions of the TeleGPS -firmware. -

    10. -Connect TeleDongle to your computer and start TeleGPS or start +firmware.

      +
    11. +
    12. +

      Connect TeleDongle to your computer and start TeleGPS or start AltosDroid on your android device and connect to TeleBT. Set the -frequency to match the TeleGPS and you should be receiving telemetry. -

    Chapter 2. Using TeleGPS Hardware

    2.1. Hooking Up Lithium Polymer Batteries

    TeleGPS has a two pin JST PH series connector to connect up +frequency to match the TeleGPS and you should be receiving telemetry.

    + + +
    +
    +
    +
    +

    2. Using TeleGPS Hardware

    +
    +
    +

    2.1. Hooking Up Lithium Polymer Batteries

    +
    +

    TeleGPS has a two pin JST PH series connector to connect up a single-cell Lithium Polymer cell (3.7V nominal). You can purchase matching batteries from the Altus Metrum store, or other vendors, or you can make your own. Pin 1 of the connector is positive, pin 2 is negative. Spark Fun sells a cable with the connector attached, which they call a -JST Jumper 2 Wire Assembly

    Warning

    Many RC vendors also sell lithium polymer batteries with +JST Jumper 2 Wire Assembly

    +
    +
    + + + + + +
    +
    Warning
    +
    +Many RC vendors also sell lithium polymer batteries with this same connector. All that we have found use the opposite polarity, and if you use them that way, you will damage or -destroy TeleGPS.

    2.2. On-board Data Recording

    TeleGPS logs GPS data at a user-configurable +destroy TeleGPS. +

    +
    +
    +
    +

    2.2. On-board Data Recording

    +
    +

    TeleGPS logs GPS data at a user-configurable rate. Data are logged to a 2MB on-board flash memory part, which can be partitioned into several equal-sized blocks, one for each flight. 64kB of this storage are reserved to hold configuration data, -leaving 1984kB for flight data.

    The on-board flash is partitioned into separate flight +leaving 1984kB for flight data.

    +
    +
    +

    The on-board flash is partitioned into separate flight logs, each of a fixed maximum size. Increase the maximum size of each log and you reduce the number of flights that can be stored. Decrease the size and you -can store more flights.

    To compute the amount of space needed for a single +can store more flights.

    +
    +
    +

    To compute the amount of space needed for a single log, you can divide the expected time (in seconds) by the sample period (by default, 1 second per sample) and then multiply the result by 32 bytes per sample. For instance, a sample period of 1 second and a flight lasting one hour will take 32 * 3600 = 115200 bytes. TeleGPS does try to reduce log space used by -not recording position information when it isn’t +not recording position information when it isn’t moving, so actual space consumed may be less than -this.

    The default size allows for four flights of 496kB +this.

    +
    +
    +

    The default size allows for four flights of 496kB each, which provides over four hours of logging at 1 -sample per second.

    TeleGPS will not overwrite existing flight data, so be +sample per second.

    +
    +
    +

    TeleGPS will not overwrite existing flight data, so be sure to download flight data and erase it from the onboard flash before it fills up. TeleGPS will still report telemetry even if memory is full, so the only -thing you will lose is the on-board data log.

    2.3. Installation

    The battery connectors are a standard 2-pin JST +thing you will lose is the on-board data log.

    +
    +
    +
    +

    2.3. Installation

    +
    +

    The battery connectors are a standard 2-pin JST connector and match batteries sold by Spark Fun. These batteries are single-cell Lithium Polymer batteries that nominally provide 3.7 volts. Other vendors sell @@ -77,65 +269,132 @@ generally reversed from the batteries used by Altus Metrum products. In particular, the Tenergy batteries supplied for use in Featherweight flight computers are not compatible with Altus Metrum flight computers or -battery chargers.

    Warning

    Check polarity and voltage before connecting any +battery chargers.

    +
    +
    + + + + + +
    +
    Warning
    +
    +Check polarity and voltage before connecting any battery not purchased from Altus Metrum or Spark -Fun.

    TeleGPS uses an integrate GPS patch antenna and won’t +Fun. +

    +
    +
    +

    TeleGPS uses an integrate GPS patch antenna and won’t receive GPS signals if installed inside a metal or carbon fiber compartment. Test GPS reception and telemetry transmission with the system installed and all other electronics powered up to verify signal -reception and make sure there isn’t any interference -from other systems.

    Chapter 3. TeleGPS Application

    The TeleGPS application provides a graphical user interface for +reception and make sure there isn’t any interference +from other systems.

    +
    +
    +
    +
    +
    +

    3. TeleGPS Application

    +
    +
    +

    The TeleGPS application provides a graphical user interface for interacting with the Altus Metrum product family. TeleGPS can monitor telemetry data, configure devices and many other tasks. The primary interface window is for displaying data received over the telemetry link. There are additional -tasks available from the main window menu bar.

    3.1. Telemetry Monitoring

    This is the window brought up when you start the +tasks available from the main window menu bar.

    +
    +
    +

    3.1. Telemetry Monitoring

    +
    +

    This is the window brought up when you start the application. If you have a TeleDongle device connected to the computer, it will automatically be selected for -telemetry monitoring

    All telemetry data received are automatically recorded +telemetry monitoring

    +
    +
    +

    All telemetry data received are automatically recorded in suitable log files. The name of the files includes the current date and TeleGPS serial and flight -numbers.

    The radio frequency being monitored by the TeleDongle +numbers.

    +
    +
    +

    The radio frequency being monitored by the TeleDongle device is displayed at the top of the window. You can configure the frequency by clicking on the frequency box and selecting the desired frequency. The TeleGPS application remembers the last frequency selected for each TeleDongle and selects that automatically the -next time you use that device.

    Below the TeleDongle frequency selector, the window +next time you use that device.

    +
    +
    +

    Below the TeleDongle frequency selector, the window contains a few significant pieces of information about -the altimeter providing the telemetry data stream:

    • -The configured call-sign -
    • -The device serial number -
    • -The flight number. TeleGPS remembers how many times -it has flown. -
    • -The Received Signal Strength Indicator value. This +the altimeter providing the telemetry data stream:

      +
    +
    +
      +
    • +

      The configured call-sign

      +
    • +
    • +

      The device serial number

      +
    • +
    • +

      The flight number. TeleGPS remembers how many times +it has flown.

      +
    • +
    • +

      The Received Signal Strength Indicator value. This lets you know how strong a signal TeleDongle is receiving. The radio inside TeleDongle operates down to about -100dBm; weaker signals may not be receivable. The packet link uses error detection and correction techniques which prevent incorrect data -from being reported. -

    • -The age of the displayed data, in seconds since the +from being reported.

      +
    • +
    • +

      The age of the displayed data, in seconds since the last successfully received telemetry packet. In normal operation this will stay in the low single digits. If the number starts counting up, then you are no longer receiving data over the radio link -from the flight computer. -

    Finally, the largest portion of the window contains a set of +from the flight computer.

    + + +
    +
    +

    Finally, the largest portion of the window contains a set of tabs, each of which contain some information about the TeleGPS -board. The final table tab displays many of the raw telemetry -values in one place in a spreadsheet-like format.

    3.1.1. Map

    The Map tab shows the TeleGPS track over time +board. The final 'table' tab displays many of the raw telemetry +values in one place in a spreadsheet-like format.

    +
    +
    +

    3.1.1. Map

    +
    +

    The Map tab shows the TeleGPS track over time on top of map data making it easy to locate -the device.

    Figure 3.1. TeleGPS Map View

    telegps-map.png

    The map’s default scale is approximately 3m +the device.

    +
    +
    +
    +telegps map +
    +
    Figure 1. TeleGPS Map View
    +
    +
    +

    The map’s default scale is approximately 3m (10ft) per pixel. The map can be dragged using the left mouse button. The map will attempt to keep the rocket roughly centered while data is -being received.

    You can adjust the style of map and the zoom +being received.

    +
    +
    +

    You can adjust the style of map and the zoom level with buttons on the right side of the map window. You can draw a line on the map by moving the mouse over the map with a button @@ -143,55 +402,171 @@ other than the left one pressed, or by pressing the left button while also holding down the shift key. The length of the line in real-world units will be shown at the start of -the line.

    Images are fetched automatically via the +the line.

    +
    +
    +

    Images are fetched automatically via the Google Maps Static API, and cached on disk for reuse. If map images cannot be downloaded, the -rocket’s path will be traced on a dark gray -background instead.

    You can pre-load images for your favorite +rocket’s path will be traced on a dark gray +background instead.

    +
    +
    +

    You can pre-load images for your favorite launch sites before you leave home; check out -Section 3.5, “Load Maps”.

    3.1.2. Location

    The Location tab shows the raw GPS data -received from TeleGPS.

    Figure 3.2. TeleGPS Location View

    telegps-location.png

    3.1.3. Status

    The Status tab shows data relative to the +Load Maps.

    +
    +
    +
    +

    3.1.2. Location

    +
    +

    The Location tab shows the raw GPS data +received from TeleGPS.

    +
    +
    +
    +telegps location +
    +
    Figure 2. TeleGPS Location View
    +
    +
    +
    +

    3.1.3. Status

    +
    +

    The Status tab shows data relative to the location of TeleGPS when the application first -received telemetry from it.

    Figure 3.3. TeleGPS Status View

    telegps-status.png

    3.1.4. Table

    The Table tab shows detailed information about -the GPS receiver

    Figure 3.4. TeleGPS Information Table

    telegps-table.png

    3.2. TeleGPS Menus

    TeleGPS has three or four menus at the top of -the window:

    -File -
    -New Window, Graph Data, Export Data, Load Maps, -Preferences, Close and Exit -
    -Monitor -
    -Connect Device, Disconnect and Scan Channels -
    -Device -
    -Download Data, Configure Device and Flash Device -
    -Frequency -
    -This shows the current monitoring frequency with a +received telemetry from it.

    +
    +
    +
    +telegps status +
    +
    Figure 3. TeleGPS Status View
    +
    +
    +
    +

    3.1.4. Table

    +
    +

    The Table tab shows detailed information about +the GPS receiver

    +
    +
    +
    +telegps table +
    +
    Figure 4. TeleGPS Information Table
    +
    +
    +
    +
    +

    3.2. TeleGPS Menus

    +
    +

    TeleGPS has three or four menus at the top of +the window:

    +
    +
    +
    +
    File
    +
    +

    New Window, Graph Data, Export Data, Load Maps, +Preferences, Close and Exit

    +
    +
    Monitor
    +
    +

    Connect Device, Disconnect and Scan Channels

    +
    +
    Device
    +
    +

    Download Data, Configure Device and Flash Device

    +
    +
    Frequency
    +
    +

    This shows the current monitoring frequency with a drop-down menu listing other configured frequencies. You can change the set of frequencies shown here from the Preferences dialog. This menu is only shown when the TeleGPS application is connected -to a TeleDongle or TeleBT device. -

    3.2.1. New Window

    This creates another telemetry monitoring window, in case +to a TeleDongle or TeleBT device.

    + + +
    +
    +

    3.2.1. New Window

    +
    +

    This creates another telemetry monitoring window, in case you have multiple TeleDongle devices connected to the -computer.

    3.3. Graph Data

    The Graph tab shows a plot of the the GPS data +computer.

    +
    +
    +
    +
    +

    3.3. Graph Data

    +
    +

    The Graph tab shows a plot of the the GPS data collected. The X axis is time in seconds; there are a variety of Y axes available for different kinds of data. This window also allows you to see some statistics computed from the data, and an overall map -of the entire data record.

    3.3.1. Data Graph

    Figure 3.5. TeleGPS Graph

    telegps-graph-graph.png

    3.3.2. Graph Configuration

    Figure 3.6. TeleGPS Graph Configuration

    telegps-graph-configure.png

    This selects which graph elements to show, and, at the +of the entire data record.

    +
    +
    +

    3.3.1. Data Graph

    +
    +
    +telegps graph graph +
    +
    Figure 5. TeleGPS Graph
    +
    +
    +
    +

    3.3.2. Graph Configuration

    +
    +
    +telegps graph configure +
    +
    Figure 6. TeleGPS Graph Configuration
    +
    +
    +

    This selects which graph elements to show, and, at the bottom, lets you switch between metric and imperial -units

    3.3.3. Statistics

    Figure 3.7. TeleGPS Statistics

    telegps-graph-stats.png

    Shows overall data computed from the flight.

    3.3.4. Map

    Figure 3.8. TeleGPS Map

    telegps-graph-map.png

    Shows a map of the area overlaid with the GPS track. As with +units

    +
    +
    +
    +

    3.3.3. Statistics

    +
    +
    +telegps graph stats +
    +
    Figure 7. TeleGPS Statistics
    +
    +
    +

    Shows overall data computed from the flight.

    +
    +
    +
    +

    3.3.4. Map

    +
    +
    +telegps graph map +
    +
    Figure 8. TeleGPS Map
    +
    +
    +

    Shows a map of the area overlaid with the GPS track. As with the telemetry monitoring window, you can select the style of map and zoom level using buttons along the side; you can scroll the map by dragging within the map pressing the left button and you can draw a line to measure distances using either the left button with the shift key, -or any other button.

    3.4. Export Data

    This tool takes the raw data files and makes them +or any other button.

    +
    +
    +
    +
    +

    3.4. Export Data

    +
    +

    This tool takes the raw data files and makes them available for external analysis. When you select this button, you are prompted to select a data file, which can be either a .eeprom or .telem. The .eeprom files @@ -200,61 +575,104 @@ while .telem files contain receiver signal strength information. Next, a second dialog appears which is used to select where to write the resulting file. It has a selector to choose between CSV and KML file -formats.

    3.4.1. Comma Separated Value Format

    This is a text file containing the data in a +formats.

    +
    +
    +

    3.4.1. Comma Separated Value Format

    +
    +

    This is a text file containing the data in a form suitable for import into a spreadsheet or other external data analysis tool. The first few lines of the file contain the version and configuration information from TeleGPS, then there is a single header line which labels all of the fields. All of these lines start with a -# character which many tools can be -configured to skip over.

    The remaining lines of the file contain the +'#' character which many tools can be +configured to skip over.

    +
    +
    +

    The remaining lines of the file contain the data, with each field separated by a comma and at least one space. All of the sensor values are converted to standard units, with the barometric data reported in both pressure, -altitude and height above pad units.

    3.4.2. Keyhole Markup Language (for Google Earth)

    This is the format used by Google Earth to provide an overlay +altitude and height above pad units.

    +
    +
    +
    +

    3.4.2. Keyhole Markup Language (for Google Earth)

    +
    +

    This is the format used by Google Earth to provide an overlay within that application. With this, you can use Google Earth to -see the whole path in 3D.

    3.5. Load Maps

    Figure 3.9. Load Maps Window

    load-maps.png

    Before heading out to a new launch site, you can use -this to load satellite images in case you don’t have +see the whole path in 3D.

    +
    +
    +
    +
    +

    3.5. Load Maps

    +
    +
    +load maps +
    +
    Figure 9. Load Maps Window
    +
    +
    +

    Before heading out to a new launch site, you can use +this to load satellite images in case you don’t have internet connectivity at the site. Try not to wait -until the last minute, though, particularly if you’re +until the last minute, though, particularly if you’re heading to a major launch. If too many people are all trying to download map data at once, Google may -limit access until the next day.

    There’s a drop-down menu of launch sites we know -about; if your favorites aren’t there, please let us +limit access until the next day.

    +
    +
    +

    There’s a drop-down menu of launch sites we know +about; if your favorites aren’t there, please let us know the lat/lon and name of the site. The contents of this list are actually downloaded from our server at -run-time, so as new sites are sent in, they’ll get +run-time, so as new sites are sent in, they’ll get automatically added to this list. If the launch site -isn’t in the list, you can manually enter the lat/lon -values

    There are four different kinds of maps you can view; +isn’t in the list, you can manually enter the lat/lon +values

    +
    +
    +

    There are four different kinds of maps you can view; you can select which to download by selecting as many -as you like from the available types:

    -Hybrid -
    -A combination of satellite imagery and road data. This -is the default view. -
    -Satellite -
    -Just the satellite imagery without any annotation. -
    -Roadmap -
    -Roads, political boundaries and a few geographic -features. -
    -Terrain -
    -Contour intervals and shading that show hills and -valleys. -

    You can specify the range of zoom levels to download; +as you like from the available types:

    +
    +
    +
    +
    Hybrid
    +
    +

    A combination of satellite imagery and road data. This +is the default view.

    +
    +
    Satellite
    +
    +

    Just the satellite imagery without any annotation.

    +
    +
    Roadmap
    +
    +

    Roads, political boundaries and a few geographic +features.

    +
    +
    Terrain
    +
    +

    Contour intervals and shading that show hills and +valleys.

    +
    +
    +
    +
    +

    You can specify the range of zoom levels to download; smaller numbers show more area with less resolution. The default level, 0, shows about 3m/pixel. One zoom level change doubles or halves that number. Larger zoom levels show more detail, smaller -zoom levels less.

    The Map Radius value sets how large an area around the +zoom levels less.

    +
    +
    +

    The Map Radius value sets how large an area around the center point to download. Select a value large enough to cover any plausible flight from that site. Be aware that loading a large area with a high maximum zoom @@ -262,91 +680,224 @@ level can attempt to download a lot of data. Loading hybrid maps with a 10km radius at a minimum zoom of -2 and a maximum zoom of 2 consumes about 120MB of space. Terrain and road maps consume about 1/10 as -much space as satellite or hybrid maps.

    Clicking the Load Map button will fetch images from +much space as satellite or hybrid maps.

    +
    +
    +

    Clicking the 'Load Map' button will fetch images from Google Maps; note that Google limits how many images you can fetch at once, so if you load more than one launch site, you may get some gray areas in the map which indicate that Google is tired of sending data to -you. Try again later.

    3.6. Preferences

    Figure 3.10. TeleGPS Preferences Window

    telegps-preferences.png

    3.6.1. Voice Settings

    TeleGPS provides voice announcements during +you. Try again later.

    +
    +
    +
    +

    3.6. Preferences

    +
    +
    +telegps preferences +
    +
    Figure 10. TeleGPS Preferences Window
    +
    +
    +

    3.6.1. Voice Settings

    +
    +

    TeleGPS provides voice announcements during flight so that you can keep your eyes on the sky and still get information about the current flight status. However, sometimes you -don’t want to hear them.

    -Enable -
    -Turns all voice announcements on and off -
    -Test Voice -
    -Plays a short message allowing you to verify +don’t want to hear them.

    +
    +
    +
    +
    Enable
    +
    +

    Turns all voice announcements on and off

    +
    +
    Test Voice
    +
    +

    Plays a short message allowing you to verify that the audio system is working and the volume settings -are reasonable -

    3.6.2. Log Directory

    TeleGPS logs all telemetry data and saves all +are reasonable

    + + +
    +
    +
    +

    3.6.2. Log Directory

    +
    +

    TeleGPS logs all telemetry data and saves all flash data to this directory. This directory is also used as the staring point when selecting data files for display or -export.

    Click on the directory name to bring up a +export.

    +
    +
    +

    Click on the directory name to bring up a directory choosing dialog, select a new -directory and click Select Directory to +directory and click 'Select Directory' to change where TeleGPS reads and writes data -files.

    3.6.3. Callsign

    This value is transmitted in each command +files.

    +
    +
    +
    +

    3.6.3. Callsign

    +
    +

    This value is transmitted in each command packet sent from TeleDongle and received from an altimeter. It is not used in telemetry mode, as the callsign configured in the altimeter board is included in all telemetry packets. Configure this with the TeleGPS operators call sign as needed to comply with -your local radio regulations.

    Note that to successfully command a flight +your local radio regulations.

    +
    +
    +

    Note that to successfully command a flight computer over the radio (to configure the altimeter, monitor idle, or fire pyro charges), the callsign configured here must exactly match the callsign configured in the flight computer. This matching is case -sensitive.

    3.6.4. Imperial Units

    This switches between metric units (meters) +sensitive.

    +
    +
    +
    +

    3.6.4. Imperial Units

    +
    +

    This switches between metric units (meters) and imperial units (feet and miles). This affects the display of values use during flight monitoring, configuration, data graphing and all of the voice announcements. It does not change the units used when exporting to CSV files, those are -always produced in metric units.

    3.6.5. Serial Debug

    This causes all communication with a connected +always produced in metric units.

    +
    +
    +
    +

    3.6.5. Serial Debug

    +
    +

    This causes all communication with a connected device to be dumped to the console from which -TeleGPS was started. If you’ve started it from +TeleGPS was started. If you’ve started it from an icon or menu entry, the output will simply be discarded. This mode can be useful to debug -various serial communication issues.

    3.6.6. Font size

    Selects the set of fonts used in the flight +various serial communication issues.

    +
    +
    +
    +

    3.6.6. Font size

    +
    +

    Selects the set of fonts used in the flight monitor window. Choose between the small, -medium and large sets.

    3.6.7. Look & feel

    Switches between the available Java user +medium and large sets.

    +
    +
    +
    +

    3.6.7. Look & feel

    +
    +

    Switches between the available Java user interface appearances. The default selection is supposed to match the native window system -appearance for the target platform.

    3.6.8. Menu position

    Selects the initial position for the main +appearance for the target platform.

    +
    +
    +
    +

    3.6.8. Menu position

    +
    +

    Selects the initial position for the main TeleGPS window that includes all of the -command buttons.

    3.6.9. Map Cache Size

    Sets the number of map tiles kept in memory +command buttons.

    +
    +
    +
    +

    3.6.9. Map Cache Size

    +
    +

    Sets the number of map 'tiles' kept in memory while the application is running. More tiles consume more memory, but will make panning -around the map faster.

    3.6.10. Manage Frequencies

    This brings up a dialog where you can +around the map faster.

    +
    +
    +
    +

    3.6.10. Manage Frequencies

    +
    +

    This brings up a dialog where you can configure the set of frequencies shown in the various frequency menus. You can add as many as you like, or even reconfigure the default set. Changing this list does not affect the frequency settings of any devices, it only changes the set of frequencies shown in the -menus.

    3.7. Close

    This closes the current window, leaving any other windows -open and the application running.

    3.8. Exit

    This closes all TeleGPS windows and terminates the -application.

    3.9. Connect Device

    Selecting this item brings up a dialog box listing all +menus.

    +
    +
    +
    +
    +

    3.7. Close

    +
    +

    This closes the current window, leaving any other windows +open and the application running.

    +
    +
    +
    +

    3.8. Exit

    +
    +

    This closes all TeleGPS windows and terminates the +application.

    +
    +
    +
    +

    3.9. Connect Device

    +
    +

    Selecting this item brings up a dialog box listing all of the connected TeleDongle devices. When you choose one of these, AltosUI will display telemetry data as -received by the selected TeleDongle device.

    Figure 3.11. Device Selection Dialog

    device-selection.png

    3.10. Disconnect

    Disconnects the currently connected TeleDongle or -TeleBT

    3.11. Scan Channels

    Figure 3.12. Radio Scanning Dialog

    telegps-scan.png

    Scans the configured set of frequencies looking for +received by the selected TeleDongle device.

    +
    +
    +
    +device selection +
    +
    Figure 11. Device Selection Dialog
    +
    +
    +
    +

    3.10. Disconnect

    +
    +

    Disconnects the currently connected TeleDongle or +TeleBT

    +
    +
    +
    +

    3.11. Scan Channels

    +
    +
    +telegps scan +
    +
    Figure 12. Radio Scanning Dialog
    +
    +
    +

    Scans the configured set of frequencies looking for telemetry signals. A list of all of the discovered signals is show; selecting one of those and clicking -on Monitor will select that frequency in the -associated TeleGPS application window.

    3.12. Download Data

    TeleGPS records data to its internal flash memory. +on 'Monitor' will select that frequency in the +associated TeleGPS application window.

    +
    +
    +
    +

    3.12. Download Data

    +
    +

    TeleGPS records data to its internal flash memory. On-board data is recorded at the same rate as telemetry but is not subject to radio drop-outs. As such, it generally provides a more complete and -precise record. The Download Data menu entry allows -you to read the flash memory and write it to disk.

    Select the Download Data menu entry to bring up a +precise record. The 'Download Data' menu entry allows +you to read the flash memory and write it to disk.

    +
    +
    +

    Select the 'Download Data' menu entry to bring up a list of connected TeleGPS devices. After the device has been selected, a dialog showing the data stored in the device will be shown allowing you to select which @@ -356,52 +907,103 @@ be reused by another track. This prevents accidentally losing data if you neglect to download data before starting TeleGPS again. Note that if there is no more space available in the device, then no data will be -recorded.

    The file name for each data log is computed +recorded.

    +
    +
    +

    The file name for each data log is computed automatically from the recorded date, altimeter serial -number and flight number information.

    3.13. Configure Device

    Figure 3.13. TeleGPS Configuration Dialog

    telegps-configure.png

    Select this button and then select any connected TeleGPS -device from the list provided.

    The first few lines of the dialog provide information +number and flight number information.

    +
    +
    +
    +

    3.13. Configure Device

    +
    +
    +telegps configure +
    +
    Figure 13. TeleGPS Configuration Dialog
    +
    +
    +

    Select this button and then select any connected TeleGPS +device from the list provided.

    +
    +
    +

    The first few lines of the dialog provide information about the connected device, including the product name, software version and hardware serial number. Below that are the individual configuration -entries.

    At the bottom of the dialog, there are four buttons:

    -Save -
    -This writes any changes to the configuration parameter -block in flash memory. If you don’t press this button, -any changes you make will be lost. -
    -Reset -
    -This resets the dialog to the most recently saved -values, erasing any changes you have made. -
    -Reboot -
    -This reboots the device. Use this to switch from idle +entries.

    +
    +
    +

    At the bottom of the dialog, there are four buttons:

    +
    +
    +
    +
    Save
    +
    +

    This writes any changes to the configuration parameter +block in flash memory. If you don’t press this button, +any changes you make will be lost.

    +
    +
    Reset
    +
    +

    This resets the dialog to the most recently saved +values, erasing any changes you have made.

    +
    +
    Reboot
    +
    +

    This reboots the device. Use this to switch from idle to pad mode by rebooting once the rocket is oriented for flight, or to confirm changes you think you saved -are really saved. -

    -Close -
    -This closes the dialog. Any unsaved changes will be -lost. -

    The rest of the dialog contains the parameters to be configured.

    3.13.1. Frequency

    This configures which of the frequencies to use for +are really saved.

    + +
    Close
    +
    +

    This closes the dialog. Any unsaved changes will be +lost.

    +
    + +
    +
    +

    The rest of the dialog contains the parameters to be configured.

    +
    +
    +

    3.13.1. Frequency

    +
    +

    This configures which of the frequencies to use for both telemetry and packet command mode. Note that if you set this value via packet command mode, the TeleDongle frequency will also be automatically reconfigured to match so that communication will -continue afterwards.

    3.13.2. RF Calibration

    The radios in every Altus Metrum device are calibrated +continue afterwards.

    +
    +
    +
    +

    3.13.2. RF Calibration

    +
    +

    The radios in every Altus Metrum device are calibrated at the factory to ensure that they transmit and receive on the specified frequency. If you need to you can adjust the calibration by changing this value. Do not do this without understanding what the value means, read the appendix on calibration and/or the source code for more information. To change a -TeleDongle’s calibration, you must reprogram the unit -completely.

    3.13.3. Telemetry/RDF/APRS Enable

    Enables the radio for transmission during +TeleDongle’s calibration, you must reprogram the unit +completely.

    +
    +
    +
    +

    3.13.3. Telemetry/RDF/APRS Enable

    +
    +

    Enables the radio for transmission during flight. When disabled, the radio will not -transmit anything during flight at all.

    3.13.4. Telemetry baud rate

    This sets the modulation bit rate for data +transmit anything during flight at all.

    +
    +
    +
    +

    3.13.4. Telemetry baud rate

    +
    +

    This sets the modulation bit rate for data transmission for both telemetry and packet link mode. Lower bit rates will increase range while reducing the amount of data that can be @@ -409,16 +1011,34 @@ sent and increasing battery consumption. All telemetry is done using a rate 1/2 constraint 4 convolution code, so the actual data transmission rate is 1/2 of the modulation bit -rate specified here.

    3.13.5. APRS Interval

    How often to transmit GPS information via APRS +rate specified here.

    +
    +
    +
    +

    3.13.5. APRS Interval

    +
    +

    How often to transmit GPS information via APRS (in seconds). When set to zero, APRS transmission is disabled. Note that a single APRS packet takes nearly a full second to transmit, so enabling this option will prevent sending any -other telemetry during that time.

    3.13.6. APRS SSID

    Which SSID to report in APRS packets. By +other telemetry during that time.

    +
    +
    +
    +

    3.13.6. APRS SSID

    +
    +

    Which SSID to report in APRS packets. By default, this is set to the last digit of the serial number, but can be configured to any -value from 0 to 9.

    3.13.7. APRS Format

    Whether to send APRS data in Compressed or +value from 0 to 9.

    +
    +
    +
    +

    3.13.7. APRS Format

    +
    +

    Whether to send APRS data in Compressed or Uncompressed format. Compressed format is smaller and more precise. Uncompressed format is older, but may work better with your @@ -426,19 +1046,55 @@ device. The Kenwood TH-D72 only displays altitude information with Uncompressed format, while the Yaesu FT1D only displays altitude with Compressed format. Test before -you fly to see which to use.

    3.13.8. Callsign

    This sets the call sign included in each +you fly to see which to use.

    +
    +
    +
    +

    3.13.8. Callsign

    +
    +

    This sets the call sign included in each telemetry packet. Set this as needed to -conform to your local radio regulations.

    3.13.9. Logging Trigger Motion

    This sets the amount of motion that TeleGPS +conform to your local radio regulations.

    +
    +
    +
    +

    3.13.9. Logging Trigger Motion

    +
    +

    This sets the amount of motion that TeleGPS needs to see before logging the new position. Motions smaller than this are -skipped, which saves storage space.

    3.13.10. Position Reporting Interval

    The interval between TeleGPS position reports, +skipped, which saves storage space.

    +
    +
    +
    +

    3.13.10. Position Reporting Interval

    +
    +

    The interval between TeleGPS position reports, both over the air and in the log. Increase this to reduce the frequency of radio transmissions and the length of time available -in the log.

    3.14. Flash Device

    This reprograms TeleGPS devices with new +in the log.

    +
    +
    +
    +
    +

    3.14. Flash Device

    +
    +

    This reprograms TeleGPS devices with new firmware. Please read the directions for flashing -devices in Appendix D, Updating Device Firmware.

    Appendix A. TeleGPS System Operation

    A.1. GFSK Telemetry

    TeleGPS’s native telemetry system doesn’t use a -normal packet radio mode like APRS because it’s not +devices in Updating Device Firmware.

    +
    +
    +
    +
    +
    +

    Appendix A: TeleGPS System Operation

    +
    +
    +

    A.1. GFSK Telemetry

    +
    +

    TeleGPS’s native telemetry system doesn’t use a +'normal packet radio' mode like APRS because it’s not very efficient. The GFSK modulation we use is FSK with the base-band pulses passed through a Gaussian filter before they go into the modulator to limit the @@ -446,59 +1102,155 @@ transmitted bandwidth. When combined with forward error correction and interleaving, this allows us to have a very robust 19.2 kilobit data link with only 10-40 milliwatts of transmit power, a whip antenna in -the rocket, and a hand-held Yagi on the ground. We’ve +the rocket, and a hand-held Yagi on the ground. We’ve had flights to above 21k feet AGL with great reception, and calculations suggest we should be good to well over 40k feet AGL with a 5-element yagi on the ground with our 10mW units and over 100k feet AGL with -the 40mW devices.

    A.2. APRS

    TeleGPS can send APRS if desired, and the +the 40mW devices.

    +
    +
    +
    +

    A.2. APRS

    +
    +

    TeleGPS can send APRS if desired, and the interval between APRS packets can be configured. As each APRS packet takes a full second to transmit, we recommend an interval of at least 5 seconds to avoid consuming too much battery power or radio channel bandwidth. You can configure the APRS interval using TeleGPS; that process is described in -Section 3.13, “Configure Device”.

    AltOS supports both compressed and uncompressed APRS +Configure Device.

    +
    +
    +

    AltOS supports both compressed and uncompressed APRS position report data formats. The compressed format provides for higher position precision and shorter -packets than the uncompressed APRS format. We’ve found +packets than the uncompressed APRS format. We’ve found some older APRS receivers that do not handle the compressed format. The Kenwood TH-72A requires the use of uncompressed format to display altitude information correctly. The Yaesu FT1D requires the use of -compressed format to display altitude information.

    APRS packets include an SSID (Secondary Station Identifier) +compressed format to display altitude information.

    +
    +
    +

    APRS packets include an SSID (Secondary Station Identifier) field that allows one operator to have multiple transmitters. AltOS allows you to set this to a single digit from 0 to 9, allowing you to fly multiple transmitters at the same time while keeping the identify of each one separate in the receiver. By default, the SSID is set to the last digit of -the device serial number.

    The APRS packet format includes a comment field that +the device serial number.

    +
    +
    +

    The APRS packet format includes a comment field that can have arbitrary text in it. AltOS uses this to send -status information as shown in the following table.

    Table A.1. Altus Metrum APRS Comments

    Field Example Description

    1

    L

    GPS Status U for unlocked, L for locked

    2

    6

    Number of Satellites in View

    3

    B4.0

    Altimeter Battery Voltage

    4

    1286

    Device Serial Number


    Here’s an example of an APRS comment showing GPS lock with 6 -satellites in view and a primary battery at 4.0V from device 1876.

    L6 B4.0 1876

    Make sure your primary battery is above 3.8V +status information as shown in the following table.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Altus Metrum APRS Comments
    FieldExampleDescription

    1

    L

    GPS Status U for unlocked, L for locked

    2

    6

    Number of Satellites in View

    3

    B4.0

    Altimeter Battery Voltage

    4

    1286

    Device Serial Number

    +
    +

    Here’s an example of an APRS comment showing GPS lock with 6 +satellites in view and a primary battery at 4.0V from device 1876.

    +
    +
    +
    +
    L6 B4.0 1876
    +
    +
    +
    +

    Make sure your primary battery is above 3.8V and GPS is locked with at least 5 or 6 satellites in view before flying. If GPS is switching between L and -U regularly, then it doesn’t have a good lock and you -should wait until it becomes stable.

    If the GPS receiver loses lock, the APRS data +U regularly, then it doesn’t have a good lock and you +should wait until it becomes stable.

    +
    +
    +

    If the GPS receiver loses lock, the APRS data transmitted will contain the last position for which GPS lock was available. You can tell that this has happened by noticing that the GPS status character -switches from L to U. Before GPS has locked, APRS +switches from 'L' to 'U'. Before GPS has locked, APRS will transmit zero for latitude, longitude and -altitude.

    A.3. Configurable Parameters

    Configuring TeleGPS is very simple; the few configurable +altitude.

    +
    +
    +
    +

    A.3. Configurable Parameters

    +
    +

    Configuring TeleGPS is very simple; the few configurable parameters can all be set using the TeleGPS application over -USB. Check out Section 3.13, “Configure Device”.

    Appendix B. Handling Precautions

    All Altus Metrum products are sophisticated electronic devices. +USB. Check out Configure Device.

    +
    +
    +
    +
    +
    +

    Appendix B: Handling Precautions

    +
    +
    +

    All Altus Metrum products are sophisticated electronic devices. When handled gently and properly installed in an air-frame, they will deliver impressive results. However, as with all electronic -devices, there are some precautions you must take.

    Warning

    The Lithium Polymer rechargeable batteries have an +devices, there are some precautions you must take.

    +
    +
    + + + + + +
    +
    Warning
    +
    +The Lithium Polymer rechargeable batteries have an extraordinary power density. This is great because we can fly with much less battery mass than if we used alkaline batteries or previous -generation rechargeable batteries… but if they are punctured +generation rechargeable batteries…​ but if they are punctured or their leads are allowed to short, they can and will release their energy very rapidly! Thus we recommend that you take some care when handling our batteries and consider giving them some extra protection in your air-frame. We often wrap them in suitable scraps of closed-cell packing foam before -strapping them down, for example.

    The barometric sensors used on all of our flight computers are +strapping them down, for example. +

    +
    +
    +

    The barometric sensors used on all of our flight computers are sensitive to sunlight. In normal mounting situations, the baro sensor and all of the other surface mount components are “down” towards whatever the underlying mounting surface is, so @@ -510,646 +1262,1562 @@ consider this with TeleMini v1.0, both because the baro sensor is on the use clear plastic for the payload bay! Replacing these with an opaque cardboard tube, painting them, or wrapping them with a layer of masking tape are all reasonable approaches to keep the sensor out of direct -sunlight.

    The barometric sensor sampling port must be able to “breathe”, +sunlight.

    +
    +
    +

    The barometric sensor sampling port must be able to “breathe”, both by not being covered by foam or tape or other materials that might directly block the hole on the top of the sensor, and also by having a -suitable static vent to outside air.

    As with all other rocketry electronics, Altus Metrum altimeters must +suitable static vent to outside air.

    +
    +
    +

    As with all other rocketry electronics, Altus Metrum altimeters must be protected from exposure to corrosive motor exhaust and ejection -charge gasses.

    Appendix C. Technical Information

    C.1. GPS Receiver

    TeleGPS uses the u-Blox Max-7Q GPS receiver.

    C.2. 70cm Transmitter

    TeleGPS uses a TI CC115L transmitter. This radio -produces 10mW of RF output.

    C.3. Micro-controller

    TeleGPS uses an NXP LPC11U14 micro-controller. This +charge gasses.

    +
    +
    +
    +
    +

    Appendix C: Technical Information

    +
    +
    +

    C.1. GPS Receiver

    +
    +

    TeleGPS uses the u-Blox Max-7Q GPS receiver.

    +
    +
    +
    +

    C.2. 70cm Transmitter

    +
    +

    TeleGPS uses a TI CC115L transmitter. This radio +produces 10mW of RF output.

    +
    +
    +
    +

    C.3. Micro-controller

    +
    +

    TeleGPS uses an NXP LPC11U14 micro-controller. This tiny CPU contains 32kB of flash for the application -and 4kB of RAM for temporary data storage.

    C.4. Lithium Polymer Battery

    Shipping restrictions may prevent us from including a -battery battery with TeleGPS.

    C.5. Mechanical Considerations

    TeleGPS is designed to be rugged enough for typical +and 4kB of RAM for temporary data storage.

    +
    +
    +
    +

    C.4. Lithium Polymer Battery

    +
    +

    Shipping restrictions may prevent us from including a +battery battery with TeleGPS.

    +
    +
    +
    +

    C.5. Mechanical Considerations

    +
    +

    TeleGPS is designed to be rugged enough for typical rocketry applications. The 4 mounting holes on the -board are sized for use with 4-40 or M3 screws.

    C.6. On-board data storage

    TeleGPS has 2MB of non-volatile storage, separate from +board are sized for use with 4-40 or M3 screws.

    +
    +
    +
    +

    C.6. On-board data storage

    +
    +

    TeleGPS has 2MB of non-volatile storage, separate from the code storage memory. The TeleGPS firmware uses -this to log information during flight.

    Appendix D. Updating Device Firmware

    TeleGPS is programmed directly over its USB connectors.

    You may wish to begin by ensuring you have current firmware images. +this to log information during flight.

    +
    +
    +
    +
    +
    +

    Appendix D: Updating Device Firmware

    +
    +
    +

    TeleGPS is programmed directly over its USB connectors.

    +
    +
    +

    You may wish to begin by ensuring you have current firmware images. These are distributed as part of the TeleGPS software bundle that also includes the TeleGPS ground station program. Newer ground station versions typically work fine with older firmware versions, -so you don’t need to update your devices just to try out new +so you don’t need to update your devices just to try out new software features. You can always download the most recent -version from http://www.altusmetrum.org/AltOS/

    D.1. Updating TeleGPS Firmware

    1. -Attach a battery and power switch to the target -device. Power up the device. -
    2. -Using a Micro USB cable, connect the target device to -your computer’s USB socket. -
    3. -Run TeleGPS, and select Flash Device from the -Device menu. -
    4. -Select the target device in the Device Selection -dialog. -
    5. -Select the image you want to flash to the device, +version from http://www.altusmetrum.org/AltOS/

      +
    +
    +

    D.1. Updating TeleGPS Firmware

    +
    +
      +
    1. +

      Attach a battery and power switch to the target +device. Power up the device.

      +
    2. +
    3. +

      Using a Micro USB cable, connect the target device to +your computer’s USB socket.

      +
    4. +
    5. +

      Run TeleGPS, and select 'Flash Device' from the +Device menu.

      +
    6. +
    7. +

      Select the target device in the Device Selection +dialog.

      +
    8. +
    9. +

      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 TeleGPS-v1.0-1.4.0.ihx. -

    10. -Make sure the configuration parameters are reasonable +such as TeleGPS-v1.0-1.4.0.ihx.

      +
    11. +
    12. +

      Make sure the configuration parameters are reasonable looking. If the serial number and/or RF configuration -values aren’t right, you’ll need to change them. -

    13. -Hit the OK button and the software should proceed +values aren’t right, you’ll need to change them.

      +
    14. +
    15. +

      Hit the 'OK' button and the software should proceed to flash the device with new firmware, showing a -progress bar. -

    16. -Verify that the device is working by using the +progress bar.

      +
    17. +
    18. +

      Verify that the device is working by using the 'Configure Device item to check over the -configuration. -

    Appendix E. Release Notes

    E.1. Release Notes for Version 1.8.6

    Version 1.8.6

    E.1.1. AltOS

    • -Use maximum of 64 previous tilt values in pyro tilt tests -
    • -Eliminate 100m height requirement for coast detection -
    • -Change After Motor pyro check to be >= instead of == -
    • -Change Time since Boost to be Time since launch. -

    E.1.2. AltosUI, TeleGPS

    • -Clarify pyro test phrasing -
    • -Remove ascending/descending from pyro config UI -
    • -Fix accel calibration in Antenna Down mode -
    • -Add mag sensor reporting for TeleMega v3 idle monitoring. -
    • -Fix radio parameter saving at 2400 bps telmetry rate. -

    E.1.3. MicroPeak

    • -Report altimeter-recorded maximum height value -

    E.2. Release Notes for Version 1.8.5

    Version 1.8.5 includes fixes to the ground software support -for TeleBT v4, along with a few other minor updates.

    E.2.1. AltOS

    • -Fix startup beeps that indicate sensor failures. -

    E.2.2. AltosUI, TeleGPS

    • -When updating device firmware, make sure selected firmware -matches target device. -
    • -Correct Bluetooth device matching when looking for TeleBT -devices. -

    E.3. Release Notes for Version 1.8.4

    Version 1.8.4 includes support for EasyMini version 2.0

    E.3.1. AltOS

    • -Support for EasyMini version 2.0 hardware. -

    E.4. Release Notes for Version 1.8.3

    Version 1.8.3 includes support for TeleMega version 3.0 along +configuration.

    + + +
    +
    +
    +
    +
    +

    Appendix E: Release Notes

    +
    +
    +

    E.1. Release Notes for Version 1.8.6

    +
    +

    Version 1.8.6

    +
    +
    +

    E.1.1. AltOS

    +
    +
      +
    • +

      Use maximum of 64 previous tilt values in pyro tilt tests

      +
    • +
    • +

      Eliminate 100m height requirement for coast detection

      +
    • +
    • +

      Change After Motor pyro check to be >= instead of ==

      +
    • +
    • +

      Change Time since Boost to be Time since launch.

      +
    • +
    +
    +
    +
    +

    E.1.2. AltosUI, TeleGPS

    +
    +
      +
    • +

      Clarify pyro test phrasing

      +
    • +
    • +

      Remove ascending/descending from pyro config UI

      +
    • +
    • +

      Fix accel calibration in Antenna Down mode

      +
    • +
    • +

      Add mag sensor reporting for TeleMega v3 idle monitoring.

      +
    • +
    • +

      Fix radio parameter saving at 2400 bps telmetry rate.

      +
    • +
    +
    +
    +
    +

    E.1.3. MicroPeak

    +
    +
      +
    • +

      Report altimeter-recorded maximum height value

      +
    • +
    +
    +
    +
    +
    +
    +

    E.2. Release Notes for Version 1.8.5

    +
    +

    Version 1.8.5 includes fixes to the ground software support +for TeleBT v4, along with a few other minor updates.

    +
    +
    +

    E.2.1. AltOS

    +
    +
      +
    • +

      Fix startup beeps that indicate sensor failures.

      +
    • +
    +
    +
    +
    +

    E.2.2. AltosUI, TeleGPS

    +
    +
      +
    • +

      When updating device firmware, make sure selected firmware +matches target device.

      +
    • +
    • +

      Correct Bluetooth device matching when looking for TeleBT +devices.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.3. Release Notes for Version 1.8.4

    +
    +

    Version 1.8.4 includes support for EasyMini version 2.0

    +
    +
    +

    E.3.1. AltOS

    +
    +
      +
    • +

      Support for EasyMini version 2.0 hardware.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.4. Release Notes for Version 1.8.3

    +
    +

    Version 1.8.3 includes support for TeleMega version 3.0 along with two important flight computer fixes. This version also changes KML export data to make Tripoli Record reporting better and some updates to graph presentation and data -downloading.

    E.4.1. AltOS

    AltOS New Features

    • -Support for TeleMega version 3.0 hardware. -

    AltOS Bug Fixes

    • -Ground testing EasyMega and TeleMega additional pyro -channels could result in a sticky fired status which would -prevent these channels from firing on future flights. -
    • -Corrupted flight log records could prevent future flights -from capturing log data. -
    • -Fixed saving of pyro configuration that ended with -Descending. -

    E.4.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Support for TeleMega version 3.0. -
    • -Graph lines have improved appearance to make them easier to +downloading.

      +
    +
    +

    E.4.1. AltOS

    +
    +
    AltOS New Features
    +
    +
      +
    • +

      Support for TeleMega version 3.0 hardware.

      +
    • +
    +
    +
    +
    +
    AltOS Bug Fixes
    +
    +
      +
    • +

      Ground testing EasyMega and TeleMega additional pyro +channels could result in a sticky 'fired' status which would +prevent these channels from firing on future flights.

      +
    • +
    • +

      Corrupted flight log records could prevent future flights +from capturing log data.

      +
    • +
    • +

      Fixed saving of pyro configuration that ended with +'Descending'.

      +
    • +
    +
    +
    +
    +
    +

    E.4.2. AltosUI and TeleGPS Applications

    +
    +
    AltosUI New Features
    +
    +
      +
    • +

      Support for TeleMega version 3.0.

      +
    • +
    • +

      Graph lines have improved appearance to make them easier to distinguish. Markers may be placed at data points to show -captured recorded data values. -

    • -Graphing offers the ability to adjust the smoothing of -computed speed and acceleration data. -
    • -The download dialog now offers to graph new flights, checks +captured recorded data values.

      +
    • +
    • +

      Graphing offers the ability to adjust the smoothing of +computed speed and acceleration data.

      +
    • +
    • +

      The download dialog now offers to graph new flights, checks for existing files to avoid overwriting data and reports if -there are checksum errors in the downloaded data. -

    AltosUI/TeleGPS Bug Fixes

    • -Restore TeleGPS tracking behavior. -
    • -Display flight computer call sign and serial number in -Monitor Idle mode instead of ground station values. -

    AltosUI and TeleGPS Changes

    • -KML export now reports both barometric and GPS altitude data -to make it more useful for Tripoli record reporting. -
    • -CSV export now includes TeleMega/EasyMega pyro voltages and -tilt angle. -

    E.5. Release Notes for Version 1.8.2

    Version 1.8.2 includes support for TeleGPS version 2.0 along -with accelerometer recalibration support in AltosUI.

    1.8.2 also contains a couple of minor fixes for AltosUI when -analyzing saved data files.

    E.5.1. AltOS

    AltOS New Features

    • -Support for TeleGPS version 2.0 hardware. -

    E.5.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • -Support for TeleGPS version 2.0. -
    • -Accelerometer re-calibration user interface. -

    AltosUI and TeleGPS Bug Fixes

    • -Prevent some crashes when reading older saved flight data -for graphing or KML export. -

    E.6. Release Notes for Version 1.8.1

    Version 1.8.1 includes an important bug fix for Apogee Lockout +there are checksum errors in the downloaded data.

    + + +
    +
    +
    +
    AltosUI/TeleGPS Bug Fixes
    +
    +
      +
    • +

      Restore TeleGPS tracking behavior.

      +
    • +
    • +

      Display flight computer call sign and serial number in +Monitor Idle mode instead of ground station values.

      +
    • +
    +
    +
    +
    +
    AltosUI and TeleGPS Changes
    +
    +
      +
    • +

      KML export now reports both barometric and GPS altitude data +to make it more useful for Tripoli record reporting.

      +
    • +
    • +

      CSV export now includes TeleMega/EasyMega pyro voltages and +tilt angle.

      +
    • +
    +
    +
    +
    +
    +
    +
    +

    E.5. Release Notes for Version 1.8.2

    +
    +

    Version 1.8.2 includes support for TeleGPS version 2.0 along +with accelerometer recalibration support in AltosUI.

    +
    +
    +

    1.8.2 also contains a couple of minor fixes for AltosUI when +analyzing saved data files.

    +
    +
    +

    E.5.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Support for TeleGPS version 2.0 hardware.

      +
    • +
    +
    +
    +
    +

    E.5.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features

    +
    +
    +
      +
    • +

      Support for TeleGPS version 2.0.

      +
    • +
    • +

      Accelerometer re-calibration user interface.

      +
    • +
    +
    +
    +

    AltosUI and TeleGPS Bug Fixes

    +
    +
    +
      +
    • +

      Prevent some crashes when reading older saved flight data +for graphing or KML export.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.6. Release Notes for Version 1.8.1

    +
    +

    Version 1.8.1 includes an important bug fix for Apogee Lockout operation in all flight computers. Anyone using this option -must update firmware.

    This release also contains a change in how flight computers +must update firmware.

    +
    +
    +

    This release also contains a change in how flight computers with accelerometers deal with speeds around and above Mach 1. In previous versions, the flight computer would completely disregard the barometric sensor above 330m/s (around Mach 1). Now, the data from the barometric sensor is reduced in effect without ever going away entirely. This prevents early drogue deployment for flights which spend considerable time -above Mach 1.

    1.8.1 also contains a couple of minor fixes for AltosUI when -analyzing saved data files.

    E.6.1. AltOS

    AltOS Bug Fixes

    • -Handle time value wrapping in Apogee Lockout +above Mach 1.

      +
    +
    +

    1.8.1 also contains a couple of minor fixes for AltosUI when +analyzing saved data files.

    +
    +
    +

    E.6.1. AltOS

    +
    +

    AltOS Bug Fixes

    +
    +
    +
      +
    • +

      Handle time value wrapping in Apogee Lockout correctly. Without this, apogee lockout would sometimes -prevent any drogue charge from firing. -

    • -Change Kalman filter on flight computers with accelerometer +prevent any drogue charge from firing.

      +
    • +
    • +

      Change Kalman filter on flight computers with accelerometer to continue using the barometric sensor even at high speeds to avoid unintentional drogue deployment during -deceleration. -

    E.6.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add new Huge font size to make text even bigger on high -resolution monitors. -

    AltosUI Bug Fixes

    • -Prevent some crashes when reading older saved flight data -for graphing or KML export. -
    • -Load frequency preference at startup. The loading code was -broken, so you’d see only the default frequencies. -

    E.7. Release Notes for Version 1.8

    Version 1.8 includes support for our new TeleBT v4.0 ground +deceleration.

    + + +
    +
    +
    +

    E.6.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add new 'Huge' font size to make text even bigger on high +resolution monitors.

      +
    • +
    +
    +
    +

    AltosUI Bug Fixes

    +
    +
    +
      +
    • +

      Prevent some crashes when reading older saved flight data +for graphing or KML export.

      +
    • +
    • +

      Load frequency preference at startup. The loading code was +broken, so you’d see only the default frequencies.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.7. Release Notes for Version 1.8

    +
    +

    Version 1.8 includes support for our new TeleBT v4.0 ground station, updates for data analysis in our ground station software and bug fixes in in the flight software for all our -boards and ground station interfaces.

    E.7.1. AltOS

    AltOS New Features

    • -Add support for TeleBT v4.0 boards. -

    E.7.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add support for TeleBT v4.0 hardware -
    • -Rewrite graphing and export functions. This code now handles +boards and ground station interfaces.

      +
    +
    +

    E.7.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for TeleBT v4.0 boards.

      +
    • +
    +
    +
    +
    +

    E.7.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add support for TeleBT v4.0 hardware

      +
    • +
    • +

      Rewrite graphing and export functions. This code now handles each data series separately so that graphs are drawn correctly. Smoothing now uses a filter that looks both forward and backwards in time to make computed speed and -acceleration data more accurate. -

    AltosUI Bug Fixes

    • -Correct axis labeling of magnetic sensor in TeleMega and -EasyMega. The Y and Z axes were flipped. -

    E.8. Release Notes for Version 1.7

    Version 1.7 includes support for our new TeleMini v3.0 +acceleration data more accurate.

    + + +
    +
    +

    AltosUI Bug Fixes

    +
    +
    +
      +
    • +

      Correct axis labeling of magnetic sensor in TeleMega and +EasyMega. The Y and Z axes were flipped.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.8. Release Notes for Version 1.7

    +
    +

    Version 1.7 includes support for our new TeleMini v3.0 flight computer and bug fixes in in the flight software for all our boards -and ground station interfaces.

    E.8.1. AltOS

    AltOS New Features

    • -Add support for TeleMini v3.0 boards. -

    AltOS Fixes

    • -Fix interrupt priorities on STM32L processors. Run timer +and ground station interfaces.

      +
    +
    +

    E.8.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for TeleMini v3.0 boards.

      +
    • +
    +
    +
    +

    AltOS Fixes

    +
    +
    +
      +
    • +

      Fix interrupt priorities on STM32L processors. Run timer interrupt at lowest priority so that device interrupts get -serviced first. -

    E.8.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • -Add support for TeleMini v3.0 hardware -

    E.9. Release Notes for Version 1.6.8

    Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where +serviced first.

    + + +
    +
    +
    +

    E.8.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI New Features

    +
    +
    +
      +
    • +

      Add support for TeleMini v3.0 hardware

      +
    • +
    +
    +
    +
    +
    +
    +

    E.9. Release Notes for Version 1.6.8

    +
    +

    Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where the device could stop logging data and transmitting telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum -v2.0 users should update their flight firmware.

    E.9.1. AltOS

    AltOS fixes:

    • -Fix STM32L DMA driver to work around STM32L SoC DMA priority +v2.0 users should update their flight firmware.

      +
    +
    +

    E.9.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix STM32L DMA driver to work around STM32L SoC DMA priority issue t lock-up in the logging or radio code, either of -which could stop data logging and telemetry. -

    • -Avoid having TeleBT battery status values smash telemetry -packet data by holding a lock during both operations. -
    • -Don’t start reporting flight 0 when the log fills in -flight. -

    AltOS changes:

    • -Flash LEDS on all products briefly during power up so that -they can be tested during production. -

    E.9.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • -Re-enable go/no-go entries after they’ve been disabled due +which could stop data logging and telemetry.

      +
    • +
    • +

      Avoid having TeleBT battery status values smash telemetry +packet data by holding a lock during both operations.

      +
    • +
    • +

      Don’t start reporting 'flight 0' when the log fills in +flight.

      +
    • +
    +
    +
    +

    AltOS changes:

    +
    +
    +
      +
    • +

      Flash LEDS on all products briefly during power up so that +they can be tested during production.

      +
    • +
    +
    +
    +
    +

    E.9.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Re-enable go/no-go entries after they’ve been disabled due to lack of data. If telemetry information is delayed when the Ui starts up, sometimes important fields would get -disabled to never re-appear. -

    • -Deal with ground station failure better during Configure -Ground Station operation by cleaning up pending operations. -

    E.10. Release Notes for Version 1.6.5

    Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where +disabled to never re-appear.

    + +
  • +

    Deal with ground station failure better during Configure +Ground Station operation by cleaning up pending operations.

    +
  • + +
    +
    +
    +
    +
    +

    E.10. Release Notes for Version 1.6.5

    +
    +

    Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where the device would often stop logging data and transmitting telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum -v2.0 users should update their flight firmware.

    E.10.1. AltOS

    AltOS fixes:

    • -Fix STM32L SPI driver to prevent lock-up in the logging or +v2.0 users should update their flight firmware.

      +
    +
    +

    E.10.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix STM32L SPI driver to prevent lock-up in the logging or radio code, either of which could stop data logging and telemetry. Found and characterized by Chuck Haskin, who also -tested the new firmware before release. -

    E.10.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • -Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with -Windows package. -

    E.11. Release Notes for Version 1.6.4

    Version 1.6.4 fixes a bluetooth communication problem with +tested the new firmware before release.

    + + +
    +
    +
    +

    E.10.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with +Windows package.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.11. Release Notes for Version 1.6.4

    +
    +

    Version 1.6.4 fixes a bluetooth communication problem with TeleBT v1.0 devices, along with some altosui and altosdroid -minor nits. It also now ships firmware for some newer devices.

    E.11.1. AltOS

    AltOS fixes:

    • -Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS -doesn’t seem to work, switch from using the hardware to -driving these pins with software. -
    • -Fix ARM USB drivers to deal with OS restarts. Needed to +minor nits. It also now ships firmware for some newer devices.

      +
    +
    +

    E.11.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS +doesn’t seem to work, switch from using the hardware to +driving these pins with software.

      +
    • +
    • +

      Fix ARM USB drivers to deal with OS restarts. Needed to reset all USB-related state when the USB bus is reset. These -fixes affect all STM32L, STM32F0 and LPC11U14 based devices. -

    E.11.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI, TeleGPS and AltosDroid New Features:

    • -Automatically switch from meters or feet to kilometers or -miles for distance units. -
    • -Add Monitor Idle mode to TeleGPS application. -

    AltosUI, TeleGPS and AltosDroid Fixes:

    • -Abort map preloading when the preload map dialog is closed. -
    • -In AltosDroid, Don’t reconnect to last device if the user +fixes affect all STM32L, STM32F0 and LPC11U14 based devices.

      +
    • +
    +
    +
    +
    +

    E.11.2. AltosUI, TeleGPS and AltosDroid Applications

    +
    +

    AltosUI, TeleGPS and AltosDroid New Features:

    +
    +
    +
      +
    • +

      Automatically switch from meters or feet to kilometers or +miles for distance units.

      +
    • +
    • +

      Add Monitor Idle mode to TeleGPS application.

      +
    • +
    +
    +
    +

    AltosUI, TeleGPS and AltosDroid Fixes:

    +
    +
    +
      +
    • +

      Abort map preloading when the preload map dialog is closed.

      +
    • +
    • +

      In AltosDroid, Don’t reconnect to last device if the user had disconnected it the last time the application was -active. -

    E.11.3. Documentation

    • -Mention TeleMega v2.0 in hardware specs table. -
    • -Document TeleGPS RF output in telegps manual. -

    E.12. Release Notes for Version 1.6.3

    Version 1.6.3 adds idle mode to AltosDroid and has bug fixes +active.

    + + +
    +
    +
    +

    E.11.3. Documentation

    +
    +
      +
    • +

      Mention TeleMega v2.0 in hardware specs table.

      +
    • +
    • +

      Document TeleGPS RF output in telegps manual.

      +
    • +
    +
    +
    +
    +
    +

    E.12. Release Notes for Version 1.6.3

    +
    +

    Version 1.6.3 adds idle mode to AltosDroid and has bug fixes for our host software on desktops, laptops an android devices -along with BlueTooth support for Windows.

    E.12.1. AltOS

    AltOS fixes:

    • -Fix hardware flow control on TeleBT v3.0. RTS/CTS is +along with BlueTooth support for Windows.

      +
    +
    +

    E.12.1. AltOS

    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Fix hardware flow control on TeleBT v3.0. RTS/CTS is wired backwards on this board, switch from using the -hardware to driving these pins with software. -

    E.12.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • -Add BlueTooth support for Windows operating system. This +hardware to driving these pins with software.

      +
    • +
    +
    +
    +
    +

    E.12.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features:

    +
    +
    +
      +
    • +

      Add BlueTooth support for Windows operating system. This supports connections to TeleBT over BlueTooth rather than -just USB. -

    AltosUI and TeleGPS Fixes:

    • -Change Java detection and install on Windows. Detection is -now done by looking for the javaw.exe program, and -installation by opening a browser on the java.com web site. -
    • -Delay polling while the Fire Igniters is visible to allow -for TeleMega to report back complete status over the radio. -
    • -Disallow changing RF calibration numbers in the -configuration UI. There’s no good reason to change this from -the field, and recovering is really hard if you haven’t -written down the right number. -
    • -Fix USB device discovery on Mac OS X El Capitan. This makes -the connected Altus Metrum USB devices appear again. -
    • -Fix acceleration data presented in MonitorIdle mode for -TeleMetrum v2.0 flight computers. -

    E.12.3. AltosDroid

    AltosDroid new features:

    • -Monitor Idle mode. Check state of flight computer while in -idle mode over the radio link -
    • -Fire Igniters. Remotely fire ignires for recovery system -ground tests. -
    • -Remote reboot. Cause the flight computer to reboot over the +just USB.

      +
    • +
    +
    +
    +

    AltosUI and TeleGPS Fixes:

    +
    +
    +
      +
    • +

      Change Java detection and install on Windows. Detection is +now done by looking for the 'javaw.exe' program, and +installation by opening a browser on the java.com web site.

      +
    • +
    • +

      Delay polling while the Fire Igniters is visible to allow +for TeleMega to report back complete status over the radio.

      +
    • +
    • +

      Disallow changing RF calibration numbers in the +configuration UI. There’s no good reason to change this from +the field, and recovering is really hard if you haven’t +written down the right number.

      +
    • +
    • +

      Fix USB device discovery on Mac OS X El Capitan. This makes +the connected Altus Metrum USB devices appear again.

      +
    • +
    • +

      Fix acceleration data presented in MonitorIdle mode for +TeleMetrum v2.0 flight computers.

      +
    • +
    +
    +
    +
    +

    E.12.3. AltosDroid

    +
    +

    AltosDroid new features:

    +
    +
    +
      +
    • +

      Monitor Idle mode. Check state of flight computer while in +idle mode over the radio link

      +
    • +
    • +

      Fire Igniters. Remotely fire ignires for recovery system +ground tests.

      +
    • +
    • +

      Remote reboot. Cause the flight computer to reboot over the radio link. This provides a method for switching the flight computer from idle to flight mode without needing to reach -the power switch. -

    • -Configurable frequency menu. Change the set of available -frequencies and provide more descriptive names. -

    AltosDroid bug fixes:

    • -Don’t set target location if GPS hasn’t locked yet. -
    • -Fix saving target states so they can be reloaded when the +the power switch.

      +
    • +
    • +

      Configurable frequency menu. Change the set of available +frequencies and provide more descriptive names.

      +
    • +
    +
    +
    +

    AltosDroid bug fixes:

    +
    +
    +
      +
    • +

      Don’t set target location if GPS hasn’t locked yet.

      +
    • +
    • +

      Fix saving target states so they can be reloaded when the application restarts. When the application is shut down and restarted, all previous target state information will be -restored (including GPS position if available). -

    • -Fix crash on some Android devices for offline maps when -changing the map scale or location. -
    • -Don’t require USB OTG support. This kept the latest +restored (including GPS position if available).

      +
    • +
    • +

      Fix crash on some Android devices for offline maps when +changing the map scale or location.

      +
    • +
    • +

      Don’t require USB OTG support. This kept the latest AltosDroid from being offered on devices without USB device support, although it can work without that just fine using -BlueTooth. -

    • -Don’t require bluetooth to be enabled. This allows the +BlueTooth.

      +
    • +
    • +

      Don’t require bluetooth to be enabled. This allows the application to operate with USB devices or just show old -data without turning on the bluetooth radio. -

    • -Recover old tracker positions when restarting +data without turning on the bluetooth radio.

      +
    • +
    • +

      Recover old tracker positions when restarting application. This finally allows you to safely stop and restart the application without losing the last known -location of any tracker. -

    E.12.4. Documentation

    • -Document TeleMega and EasyMega additional pyro channel -continuity audio alert pattern. -

    E.13. Release Notes for Version 1.6.2

    Version 1.6.2 includes support for our updated TeleMega v2.0 +location of any tracker.

    + + +
    +
    +
    +

    E.12.4. Documentation

    +
    +
      +
    • +

      Document TeleMega and EasyMega additional pyro channel +continuity audio alert pattern.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.13. Release Notes for Version 1.6.2

    +
    +

    Version 1.6.2 includes support for our updated TeleMega v2.0 product and bug fixes in in the flight software for all our boards -and ground station interfaces.

    E.13.1. AltOS

    AltOS New Features:

    • -Add support for TeleMega v2.0 boards. -
    • -Add PWM servo driver. There’s no higher level code using +and ground station interfaces.

      +
    +
    +

    E.13.1. AltOS

    +
    +

    AltOS New Features:

    +
    +
    +
      +
    • +

      Add support for TeleMega v2.0 boards.

      +
    • +
    • +

      Add PWM servo driver. There’s no higher level code using this yet, but the driver allows testing of the TeleMega v2.0 -servo output connector. -

    AltOS Fixes:

    • -Slow down telemetry packets to allow receiver to keep -up. -

    E.13.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS Fixes:

    • -Fix post-flight orientation computation when processing -TeleMega and EasyMega eeprom data files. -
    • -Capture complete eeprom data even when there are invalid +servo output connector.

      +
    • +
    +
    +
    +

    AltOS Fixes:

    +
    +
    +
      +
    • +

      Slow down telemetry packets to allow receiver to keep +up.

      +
    • +
    +
    +
    +
    +

    E.13.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS Fixes:

    +
    +
    +
      +
    • +

      Fix post-flight orientation computation when processing +TeleMega and EasyMega eeprom data files.

      +
    • +
    • +

      Capture complete eeprom data even when there are invalid entries in the data. This keeps reading eeprom contents and -writing the associated .eeprom file when an error is detected. -

    E.13.3. Documentation

    We spent a bunch of time trying to improve our documentation

    • -HTML versions now have a table of contents on the left side. -
    • -EasyMini now has its own shorter manual. -
    • -Provide links between sections in each document. -
    • -Lots of minor rewriting and restructuring to avoid -duplication of information -

    E.14. Release Notes for Version 1.6.1

    Version 1.6.1 includes support for our updated TeleBT v3.0 +writing the associated .eeprom file when an error is detected.

    + + +
    +
    +
    +

    E.13.3. Documentation

    +
    +

    We spent a bunch of time trying to improve our documentation

    +
    +
    +
      +
    • +

      HTML versions now have a table of contents on the left side.

      +
    • +
    • +

      EasyMini now has its own shorter manual.

      +
    • +
    • +

      Provide links between sections in each document.

      +
    • +
    • +

      Lots of minor rewriting and restructuring to avoid +duplication of information

      +
    • +
    +
    +
    +
    +
    +
    +

    E.14. Release Notes for Version 1.6.1

    +
    +

    Version 1.6.1 includes support for our updated TeleBT v3.0 product and bug fixes in in the flight software for all our boards -and ground station interfaces.

    E.14.1. AltOS

    AltOS New Features:

    • -Add support for TeleBT v3.0 boards. -
    • -Add support for uncompressed APRS data, providing support +and ground station interfaces.

      +
    +
    +

    E.14.1. AltOS

    +
    +

    AltOS New Features:

    +
    +
    +
      +
    • +

      Add support for TeleBT v3.0 boards.

      +
    • +
    • +

      Add support for uncompressed APRS data, providing support for older APRS receivers. Uncompressed APRS data is less -precise, takes more bandwidth and doesn’t have integrated -altitude data. -

    AltOS Fixes:

    • -Make TeleDongle and TeleBT more tolerant of data rate -variations from transmitting devices. -

    E.14.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • -Add map to Monitor Idle display. It’s nice to be able to +precise, takes more bandwidth and doesn’t have integrated +altitude data.

      +
    • +
    +
    +
    +

    AltOS Fixes:

    +
    +
    +
      +
    • +

      Make TeleDongle and TeleBT more tolerant of data rate +variations from transmitting devices.

      +
    • +
    +
    +
    +
    +

    E.14.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features:

    +
    +
    +
      +
    • +

      Add map to Monitor Idle display. It’s nice to be able to verify that maps are working, instead of needing to use -Monitor Flight. -

    AltosUI and TeleGPS Fixes:

    • -Fix frequency configuration to round values instead of -truncate them, avoiding a common 1kHz error in the setting. -
    • -Turn the Windows stub into a more useful program that can +Monitor Flight.

      +
    • +
    +
    +
    +

    AltosUI and TeleGPS Fixes:

    +
    +
    +
      +
    • +

      Fix frequency configuration to round values instead of +truncate them, avoiding a common 1kHz error in the setting.

      +
    • +
    • +

      Turn the Windows stub into a more useful program that can launch the application with parameters so that file manager -icons work more reliably. -

    • -Force KML export to use a C locale so that numbers are -formatted with . instead of , for a decimal separator in -non-US locales. -
    • -Preload map tiles based on distance rather than number of +icons work more reliably.

      +
    • +
    • +

      Force KML export to use a C locale so that numbers are +formatted with '.' instead of ',' for a decimal separator in +non-US locales.

      +
    • +
    • +

      Preload map tiles based on distance rather than number of tiles; this means you get the same resolution covering the entire area, rather than having high resolution near the -center and low resolution further away. -

    • -Allow configuration of frequency and callsign in Monitor -Idle mode. -
    • -Fix layout weirdness when resizing windows on -Windows. Windows shouldn’t have giant blank spaces around -the useful content anymore. -
    • -Fix layout weirdness when resizing windows on -Windows. Windows shouldn’t have giant blank spaces around -the useful content anymore. -
    • -Use a longer filter for descent speed values. This should +center and low resolution further away.

      +
    • +
    • +

      Allow configuration of frequency and callsign in Monitor +Idle mode.

      +
    • +
    • +

      Fix layout weirdness when resizing windows on +Windows. Windows shouldn’t have giant blank spaces around +the useful content anymore.

      +
    • +
    • +

      Fix layout weirdness when resizing windows on +Windows. Windows shouldn’t have giant blank spaces around +the useful content anymore.

      +
    • +
    • +

      Use a longer filter for descent speed values. This should provide something more useful on the display, although it -will take longer to respond to changes now. -

    • -Make Replay Flight run in realtime again. It had been set to -run at 10x speed by mistake. -

    E.14.3. AltosDroid

    AltosDroid New Features:

    • -Add offline map support using mapping code from AltosUI. -
    • -Support TeleDongle (and TeleBT via USB) on devices -supporting USB On-The-Go. -
    • -Display additional TeleMega pyro channel status in Pad tab. -
    • -Switch between metric and imperial units. -
    • -Monitor TeleBT battery voltage. -
    • -Track multiple devices at the same time, selecting between -them with a menu or using the map. -
    • -Add hybrid, satellite and terrain map types. -

    AltosDroid Fixes:

    • -Use standard Android display conventions so that a menu -button is available in the application title bar. -
    • -Adjust layout to work on large and small screens; shrinking +will take longer to respond to changes now.

      +
    • +
    • +

      Make Replay Flight run in realtime again. It had been set to +run at 10x speed by mistake.

      +
    • +
    +
    +
    +
    +

    E.14.3. AltosDroid

    +
    +

    AltosDroid New Features:

    +
    +
    +
      +
    • +

      Add offline map support using mapping code from AltosUI.

      +
    • +
    • +

      Support TeleDongle (and TeleBT via USB) on devices +supporting USB On-The-Go.

      +
    • +
    • +

      Display additional TeleMega pyro channel status in Pad tab.

      +
    • +
    • +

      Switch between metric and imperial units.

      +
    • +
    • +

      Monitor TeleBT battery voltage.

      +
    • +
    • +

      Track multiple devices at the same time, selecting between +them with a menu or using the map.

      +
    • +
    • +

      Add hybrid, satellite and terrain map types.

      +
    • +
    +
    +
    +

    AltosDroid Fixes:

    +
    +
    +
      +
    • +

      Use standard Android display conventions so that a menu +button is available in the application title bar.

      +
    • +
    • +

      Adjust layout to work on large and small screens; shrinking the go/no-go lights in smaller environments to try and make -everything visible. -

    • -Make voice announcements depend on current tab. -
    • -Compute adjustment to current travel direction while in -motion towards rocket. -

    E.15. Release Notes for Version 1.6

    Version 1.6 includes support for our updated TeleDongle v3.0 +everything visible.

    + +
  • +

    Make voice announcements depend on current tab.

    +
  • +
  • +

    Compute adjustment to current travel direction while in +motion towards rocket.

    +
  • + +
    +
    +
    +
    +
    +

    E.15. Release Notes for Version 1.6

    +
    +

    Version 1.6 includes support for our updated TeleDongle v3.0 product and bug fixes in in the flight software for all our boards -and ground station interfaces.

    E.15.1. AltOS

    AltOS New Features

    • -Add support for TeleDongle v3.0 boards. -

    AltOS Fixes

    • -Don’t beep out the continuity twice by accident in idle mode. +and ground station interfaces.

      +
    +
    +

    E.15.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for TeleDongle v3.0 boards.

      +
    • +
    +
    +
    +

    AltOS Fixes

    +
    +
    +
      +
    • +

      Don’t beep out the continuity twice by accident in idle mode. If the battery voltage report takes longer than the initialiation -sequence, the igniter continuity would get reported twice. -

    • -Record all 32 bits of gyro calibration data in TeleMega and +sequence, the igniter continuity would get reported twice.

      +
    • +
    • +

      Record all 32 bits of gyro calibration data in TeleMega and EasyMega log files. This fixes computation of the gyro rates -in AltosUI. -

    • -Change TeleDongle LED usage. Green LED flashes when valid +in AltosUI.

      +
    • +
    • +

      Change TeleDongle LED usage. Green LED flashes when valid packet is received. Red LED flashes when invalid packet is -received. -

    • -Replace LPC11U14 SPI driver with non-interrupt version. The +received.

      +
    • +
    • +

      Replace LPC11U14 SPI driver with non-interrupt version. The interrupt code would occasionally wedge on long transfers if interrupts were blocked for too long. This affects all released TeleGPS products; if you have a TeleGPS device, -you’ll want to reflash the firmware. -

    E.15.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • -Compute tilt angle from TeleMega and EasyMega log +you’ll want to reflash the firmware.

      +
    • +
    +
    +
    +
    +

    E.15.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features

    +
    +
    +
      +
    • +

      Compute tilt angle from TeleMega and EasyMega log files. This duplicates the quaternion-based angle tracking code from the flight firmware inside the ground station software so that post-flight analysis can include evaluation -of the tilt angle. -

    • -Shows the tool button window when starting with a data file +of the tilt angle.

      +
    • +
    • +

      Shows the tool button window when starting with a data file specified. This means that opening a data file from the file manager will now bring up the main window to let you operate -the whole application. -

    AltosUI Fixes

    • -Show the Connecting dialog when using Monitor Idle. Lets +the whole application.

      +
    • +
    +
    +
    +

    AltosUI Fixes

    +
    +
    +
      +
    • +

      Show the 'Connecting' dialog when using Monitor Idle. Lets you cancel the Monitor Idle startup when connecting over the -radio link. -

    • -Make Monitor Idle work for TeleGPS devices when connected -over USB. It’s nice for testing without needing to broadcast -over the radio. -
    • -Use different Windows API to discover USB devices. This +radio link.

      +
    • +
    • +

      Make 'Monitor Idle' work for TeleGPS devices when connected +over USB. It’s nice for testing without needing to broadcast +over the radio.

      +
    • +
    • +

      Use different Windows API to discover USB devices. This works better on my Windows 7 box, and will be used if the -older API fails to provide the necessary information. -

    • -Look in more places in the registry to try and identify the +older API fails to provide the necessary information.

      +
    • +
    • +

      Look in more places in the registry to try and identify the installed Java version on Windows. If you install the default 32-bit version of Windows on a 64-bit OS, the Java registry information is hiding \SOFTWARE\Wow6432Node for -some reason. -

    • -Fix file association on Windows by searching for the +some reason.

      +
    • +
    • +

      Fix file association on Windows by searching for the javaw.exe program instead of assuming it is in %SYSTEMROOT%. This makes double-clicking on Altus Metrum -data files in the file manager work correctly. -

    • -When replaying a file, put done in the Age field when we -reach the end of the file, instead of continuing to count forever. -
    • -In the Scan Channels code, wait for five seconds if we see +data files in the file manager work correctly.

      +
    • +
    • +

      When replaying a file, put 'done' in the Age field when we +reach the end of the file, instead of continuing to count forever.

      +
    • +
    • +

      In the Scan Channels code, wait for five seconds if we see any packet. This is needed because AltOS now sends the callsign, serial number and flight number only once every -five seconds these days. -

    • -In the Scan Channels code, reset pending flight state +five seconds these days.

      +
    • +
    • +

      In the Scan Channels code, reset pending flight state information each time we change channels. This avoids having -flight computers appear on multiple frequencies by accident. -

    E.16. Release Notes for Version 1.5

    Version 1.5 is a major release. It includes support for our new +flight computers appear on multiple frequencies by accident.

    + + +
    +
    +
    +
    +
    +

    E.16. Release Notes for Version 1.5

    +
    +

    Version 1.5 is a major release. It includes support for our new EasyMega product, new features and bug fixes in in the flight -software for all our boards and the AltosUI ground station

    E.16.1. AltOS

    AltOS New Features

    • -Add support for EasyMega boards. -
    • -Make the APRS SSID be configurable. This lets you track +software for all our boards and the AltosUI ground station

      +
    +
    +

    E.16.1. AltOS

    +
    +

    AltOS New Features

    +
    +
    +
      +
    • +

      Add support for EasyMega boards.

      +
    • +
    • +

      Make the APRS SSID be configurable. This lets you track different rockets on the same receiver without getting -things mixed up. -

    • -Report extra pyro channel continuity state on EasyMega and +things mixed up.

      +
    • +
    • +

      Report extra pyro channel continuity state on EasyMega and TeleMega via the beeper. This lets you easily verify flight readiness on these boards after powering up the electronics -on the rail. -

    • -Add lower telemetry data rates (2400 and 9600 bps) to +on the rail.

      +
    • +
    • +

      Add lower telemetry data rates (2400 and 9600 bps) to increase telemetry radio range. This reduces the amount of data received as well as increasing battery consumption in -the transmitter. -

    • -Change TeleGPS to have only a single log, and append new +the transmitter.

      +
    • +
    • +

      Change TeleGPS to have only a single log, and append new data to it rather than using seperate per-flight logs. This avoids accidentally filling up log storage by turning -TeleGPS on/off several times. -

    AltOS Fixes

    • -Increase the maximum range for altitude values from +/-32767m +TeleGPS on/off several times.

      +
    • +
    +
    +
    +

    AltOS Fixes

    +
    +
    +
      +
    • +

      Increase the maximum range for altitude values from +/-32767m to +/-2147483647m, allowing the flight computers to function -correctly above the 32km level. -

    • -Continuously test pyro firing conditions during delay stage, +correctly above the 32km level.

      +
    • +
    • +

      Continuously test pyro firing conditions during delay stage, inhibiting the pyro channel if the test fails. This prevents firing pyro charges where the conditions were good before -the delay, but become bad before the delay expires. -

    • -Allow negative numbers in pyro configuration values. This +the delay, but become bad before the delay expires.

      +
    • +
    • +

      Allow negative numbers in pyro configuration values. This lets you specify things like descending speed or -deceleration. -

    E.16.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • -Support telemetry baud rate selection. Adds menus to +deceleration.

      +
    • +
    +
    +
    +
    +

    E.16.2. AltosUI and TeleGPS Applications

    +
    +

    AltosUI and TeleGPS New Features

    +
    +
    +
      +
    • +

      Support telemetry baud rate selection. Adds menus to the flight monitoring and configuration for baud rate -selection. -

    • -Support APRS SSID configuration. -
    • -Integrate with file managers. This provides icons for all of +selection.

      +
    • +
    • +

      Support APRS SSID configuration.

      +
    • +
    • +

      Integrate with file managers. This provides icons for all of our file types and associates our application with the files so that using a file manager to open a AltOS data file -results in launching our application. -

    AltosUI Fixes

    • -Make the Graph button on the landed tab work again. -
    • -Make tests for Java on Windows a bit smarter, and also +results in launching our application.

      +
    • +
    +
    +
    +

    AltosUI Fixes

    +
    +
    +
      +
    • +

      Make the 'Graph' button on the landed tab work again.

      +
    • +
    • +

      Make tests for Java on Windows a bit smarter, and also provide the user with the option to skip installing Java for -cases where we just can’t figure out what version is installed. -

    E.17. Release Notes for Version 1.4.2

    Version 1.4.2 is a minor release. It fixes Java-related install issues on -Windows

    E.17.1. AltosUI and TeleGPS Applications

    Windows Install Fixes

    • -Checks for Java installation data in more registry locations. -
    • -Allows user to bypass Java installation in case the -detection fails. -

    E.18. Release Notes for Version 1.4.1

    Version 1.4.1 is a minor release. It fixes install issues on +cases where we just can’t figure out what version is installed.

    + + +
    +
    +
    +
    +
    +

    E.17. Release Notes for Version 1.4.2

    +
    +

    Version 1.4.2 is a minor release. It fixes Java-related install issues on +Windows

    +
    +
    +

    E.17.1. AltosUI and TeleGPS Applications

    +
    +

    Windows Install Fixes

    +
    +
    +
      +
    • +

      Checks for Java installation data in more registry locations.

      +
    • +
    • +

      Allows user to bypass Java installation in case the +detection fails.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.18. Release Notes for Version 1.4.1

    +
    +

    Version 1.4.1 is a minor release. It fixes install issues on Windows and provides the missing TeleMetrum V2.0 firmware. There -aren’t any changes to the firmware or host applications at +aren’t any changes to the firmware or host applications at all. All Windows users will want to upgrade to get the signed driver, but Mac and Linux users who do not need the TeleMetrum -V2.0 firmware image will not need to upgrade.

    E.18.1. AltosUI and TeleGPS Applications:

    Windows Install Fixes

    • -Provide signed Windows driver files. This should avoid any need to -disable driver signature checking on Windows 7 or 8. -
    • -Fix Java version detection and download. Previously, the +V2.0 firmware image will not need to upgrade.

      +
    +
    +

    E.18.1. AltosUI and TeleGPS Applications:

    +
    +

    Windows Install Fixes

    +
    +
    +
      +
    • +

      Provide signed Windows driver files. This should avoid any need to +disable driver signature checking on Windows 7 or 8.

      +
    • +
    • +

      Fix Java version detection and download. Previously, the installer would only look for Java 6 or 7 and insist on downloading its own Java bits if there was something else -installed. Furthermore, the 64-bit Java link provided didn’t +installed. Furthermore, the 64-bit Java link provided didn’t work for anyone other than Keith, making it impossible to -install AltOS on any machine with Java SE 8 installed. -

    Other Fixes

    • -Include 1.4 firmware for TeleMetrum V2.0. None of the -installers shipped this file. Now it’s included in the AltOS -packages for Linux, Mac and Windows. -
    • -Include Google Application Key for map downloading. The 1.4 -release didn’t have this key in the released version of the -software, making map downloading fail for most people. -

    E.19. Release Notes for Version 1.4

    Version 1.4 is a major release. It includes support for our new +install AltOS on any machine with Java SE 8 installed.

    + + +
    +
    +

    Other Fixes

    +
    +
    +
      +
    • +

      Include 1.4 firmware for TeleMetrum V2.0. None of the +installers shipped this file. Now it’s included in the AltOS +packages for Linux, Mac and Windows.

      +
    • +
    • +

      Include Google Application Key for map downloading. The 1.4 +release didn’t have this key in the released version of the +software, making map downloading fail for most people.

      +
    • +
    +
    +
    +
    +
    +
    +

    E.19. Release Notes for Version 1.4

    +
    +

    Version 1.4 is a major release. It includes support for our new TeleGPS product, new features and bug fixes in in the flight -software for all our boards and the AltosUI ground station

    E.19.1. AltOS

    AltOS new features:

    • -Add support for TeleGPS boards. -
    • -Make the beeper tone configurable, making it +software for all our boards and the AltosUI ground station

      +
    +
    +

    E.19.1. AltOS

    +
    +

    AltOS new features:

    +
    +
    +
      +
    • +

      Add support for TeleGPS boards.

      +
    • +
    • +

      Make the beeper tone configurable, making it possible to distinguish between two Altus Metrum -products in the same ebay. -

    • -Make the firing time for extra pyro channels +products in the same ebay.

      +
    • +
    • +

      Make the firing time for extra pyro channels configurable, allowing longer (or shorter) than the default 50ms. Only relevant for TeleMega at this -time. -

    AltOS fixes:

    • -Replace the dit dit dit tones at startup with the +time.

      +
    • +
    +
    +
    +

    AltOS fixes:

    +
    +
    +
      +
    • +

      Replace the 'dit dit dit' tones at startup with the current battery voltage, measured in tenths of a volt. This lets you check the battery voltage without needing telemetry, which is especially -useful on EasyMini. -

    • -Change state beeping to "Farnsworth spacing", which -means they’re quite a bit faster than before, and so -they take less time to send. -
    • -Fix bug preventing the selection of the Flight -State After mode in pyro configuration. -
    • -Fix bug where erasing flights would reset the flight -number to 2 on TeleMega and TeleMetrum v2. -
    • -Fix u-Blox GPS driver to mark course and speed data -as being present. -

    E.19.2. AltosUI Application

    AltosUI new features:

    • -Add zooming and new content types (terrain and road +useful on EasyMini.

      +
    • +
    • +

      Change state beeping to "Farnsworth spacing", which +means they’re quite a bit faster than before, and so +they take less time to send.

      +
    • +
    • +

      Fix bug preventing the selection of the 'Flight +State After' mode in pyro configuration.

      +
    • +
    • +

      Fix bug where erasing flights would reset the flight +number to 2 on TeleMega and TeleMetrum v2.

      +
    • +
    • +

      Fix u-Blox GPS driver to mark course and speed data +as being present.

      +
    • +
    +
    +
    +
    +

    E.19.2. AltosUI Application

    +
    +

    AltosUI new features:

    +
    +
    +
      +
    • +

      Add zooming and new content types (terrain and road maps) to map view. Change map storage format from PNG to Jpeg, which saves a huge amount of disk space. You will need to re-download all of your -pre-loaded map images. -

    • -Add a distance measuring device to the maps +pre-loaded map images.

      +
    • +
    • +

      Add a distance measuring device to the maps view. Select this by using any button other than the left one, or by pressing shift or control on the -keyboard while using the left button. -

    • -Add new Ignitor tab to the flight monitor display -for TeleMega’s extra ignitors. -
    • -Add additional ignitor firing marks and voltages to +keyboard while using the left button.

      +
    • +
    • +

      Add new 'Ignitor' tab to the flight monitor display +for TeleMega’s extra ignitors.

      +
    • +
    • +

      Add additional ignitor firing marks and voltages to the graph so you can see when the ignitors fired, -along with the ignitor voltages. -

    • -Add GPS course, ground speed and climb rate as -optional graph elements. -

    AltosUI fixes:

    • -When flashing new firmware, re-try opening the +along with the ignitor voltages.

      +
    • +
    • +

      Add GPS course, ground speed and climb rate as +optional graph elements.

      +
    • +
    +
    +
    +

    AltosUI fixes:

    +
    +
    +
      +
    • +

      When flashing new firmware, re-try opening the device as sometimes it takes a while for the underlying operating system to recognize that the device has rebooted in preparation for the flashing -operation. -

    • -Hide Tilt Angle in ascent tab for devices that don’t -have a gyro. -
    • -Increase the width of data lines in the graphs to -make them easier to read. -
    • -Filter out speed and acceleration spikes caused by +operation.

      +
    • +
    • +

      Hide Tilt Angle in ascent tab for devices that don’t +have a gyro.

      +
    • +
    • +

      Increase the width of data lines in the graphs to +make them easier to read.

      +
    • +
    • +

      Filter out speed and acceleration spikes caused by ejection charge firing when computing the maximum values. This provides a more accurate reading of -those maximums. -

    • -Fix EasyMini voltage displays. Early EasyMini +those maximums.

      +
    • +
    • +

      Fix EasyMini voltage displays. Early EasyMini prototypes used a 3.0V regulator, and AltosUI still used that value as the basis of the computation. Production EasyMini boards have always @@ -1157,27 +2825,65 @@ shipped with a 3.3V regulator. Also, purple EasyMini boards sensed the battery voltage past the blocking diode, resulting in a drop of about 150mV from the true battery voltage. Compensate for that when -displaying the value. -

    • -Display error message when trying to configure +displaying the value.

      +
    • +
    • +

      Display error message when trying to configure maximum flight log size while the flight computer -still has flight data stored. -

    • -Handle TeleMetrum and TeleMini eeprom files +still has flight data stored.

      +
    • +
    • +

      Handle TeleMetrum and TeleMini eeprom files generated with pre-1.0 firmware. Those ancient -versions didn’t report the log format, so just use -the product name instead. -

    E.19.3. TeleGPS Application

    • -New application designed for use with TeleGPS boards. -
    • -Shares code with AltosUI, mostly just trimmed down -to focus on TeleGPS-related functions. -

    E.19.4. Documentation

    Documentation changes:

    • -Re-create the drill template images; they should +versions didn’t report the log format, so just use +the product name instead.

      +
    • +
    +
    +
    +
    +

    E.19.3. TeleGPS Application

    +
    +
      +
    • +

      New application designed for use with TeleGPS boards.

      +
    • +
    • +

      Shares code with AltosUI, mostly just trimmed down +to focus on TeleGPS-related functions.

      +
    • +
    +
    +
    +
    +

    E.19.4. Documentation

    +
    +

    Documentation changes:

    +
    +
    +
      +
    • +

      Re-create the drill template images; they should print correctly from Firefox at least. Ship these as -individual PDF files so they’re easy to print. -

    • -Add a description of the Apogee Lockout setting, +individual PDF files so they’re easy to print.

      +
    • +
    • +

      Add a description of the 'Apogee Lockout' setting, which prevents the apogee charge from firing for a -configurable amount of time after boost. -

    \ No newline at end of file +configurable amount of time after boost.

    + + +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/AltOS/doc/telegps.pdf b/AltOS/doc/telegps.pdf index 68df68f..4041767 100644 Binary files a/AltOS/doc/telegps.pdf and b/AltOS/doc/telegps.pdf differ diff --git a/AltOS/doc/telemega-outline.pdf b/AltOS/doc/telemega-outline.pdf index f307a6a..e474c19 100644 Binary files a/AltOS/doc/telemega-outline.pdf and b/AltOS/doc/telemega-outline.pdf differ diff --git a/AltOS/doc/telemetrum-outline.pdf b/AltOS/doc/telemetrum-outline.pdf index 183cc5b..6467ba8 100644 Binary files a/AltOS/doc/telemetrum-outline.pdf and b/AltOS/doc/telemetrum-outline.pdf differ diff --git a/AltOS/doc/telemetry.html b/AltOS/doc/telemetry.html index ac37b9f..69bacc6 100644 --- a/AltOS/doc/telemetry.html +++ b/AltOS/doc/telemetry.html @@ -1,38 +1,333 @@ - -AltOS Telemetry

    AltOS Telemetry

    Packet Definitions

    Keith Packard

    - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. -


    1. Packet Format Design

    AltOS telemetry data is split into multiple different packets, + + + + + + + + + +AltOS Telemetry + + + +

    +
    +
    +
    + +
    +
    +
    +

    License

    +
    +
    +

    Copyright © 2018 Bdale Garbee and Keith Packard

    +
    +
    +

    This document is released under the terms of the Creative Commons ShareAlike 3.0 License

    +
    +
    +
    +
    +

    1. Packet Format Design

    +
    +
    +

    AltOS telemetry data is split into multiple different packets, all the same size, but each includs an identifier so that the ground station can distinguish among different types. A single flight board will transmit multiple packet types, each type on a different schedule. The ground software need look for only a single packet size, and then decode the information within the packet and merge data from multiple packets to construct the -full flight computer state.

    Each AltOS packet is 32 bytes long. This size was chosen based +full flight computer state.

    +
    +
    +

    Each AltOS packet is 32 bytes long. This size was chosen based on the known telemetry data requirements. The power of two size allows them to be stored easily in flash memory without -having them split across blocks or leaving gaps at the end.

    All packet types start with a five byte header which encodes +having them split across blocks or leaving gaps at the end.

    +
    +
    +

    All packet types start with a five byte header which encodes the device serial number, device clock value and the packet -type. The remaining 27 bytes encode type-specific data.

    2. Packet Formats

    This section first defines the packet header common to all packets -and then the per-packet data layout.

    2.1. Packet Header

    Table 1. Telemetry Packet Header

    Offset

    Data Type

    Name

    Description

    0

    uint16_t

    serial

    Device serial Number

    2

    uint16_t

    tick

    Device time in 100ths of a second

    4

    uint8_t

    type

    Packet type


    Each packet starts with these five bytes which serve to identify +type. The remaining 27 bytes encode type-specific data.

    +
    +
    +
    +
    +

    2. Packet Formats

    +
    +
    +

    This section first defines the packet header common to all packets +and then the per-packet data layout.

    +
    +
    +

    2.1. Packet Header

    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Telemetry Packet Header

    Offset

    Data Type

    Name

    Description

    0

    uint16_t

    serial

    Device serial Number

    2

    uint16_t

    tick

    Device time in 100ths of a second

    4

    uint8_t

    type

    Packet type

    +
    +

    Each packet starts with these five bytes which serve to identify which device has transmitted the packet, when it was transmitted -and what the rest of the packet contains.

    2.2. TeleMetrum v1.x, TeleMini v1.0 and TeleNano Sensor Data

    Table 2. Sensor Packet Type

    Type

    Description

    0x01

    TeleMetrum v1.x Sensor Data

    0x02

    TeleMini v1.0 Sensor Data

    0x03

    TeleNano Sensor Data


    TeleMetrum v1.x, TeleMini v1.0 and TeleNano share this same +and what the rest of the packet contains.

    +
    +
    +
    +

    2.2. TeleMetrum v1.x, TeleMini v1.0 and TeleNano Sensor Data

    + + ++++ + + + + + + + + + + + + + + + + + + +
    Table 2. Sensor Packet Type

    Type

    Description

    0x01

    TeleMetrum v1.x Sensor Data

    0x02

    TeleMini v1.0 Sensor Data

    0x03

    TeleNano Sensor Data

    +
    +

    TeleMetrum v1.x, TeleMini v1.0 and TeleNano share this same packet format for sensor data. Each uses a distinct packet type so that the receiver knows which data -values are valid and which are undefined.

    Sensor Data packets are transmitted once per second on +values are valid and which are undefined.

    +
    +
    +

    Sensor Data packets are transmitted once per second on the ground, 10 times per second during ascent and once -per second during descent and landing

    Table 3. Sensor Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    state

    Flight state

    6

    int16_t

    accel

    accelerometer (TM only)

    8

    int16_t

    pres

    pressure sensor

    10

    int16_t

    temp

    temperature sensor

    12

    int16_t

    v_batt

    battery voltage

    14

    int16_t

    sense_d

    drogue continuity sense (TM/Tm)

    16

    int16_t

    sense_m

    main continuity sense (TM/Tm)

    18

    int16_t

    acceleration

    m/s² * 16

    20

    int16_t

    speed

    m/s * 16

    22

    int16_t

    height

    m

    24

    int16_t

    ground_pres

    Average barometer reading on ground

    26

    int16_t

    ground_accel

    TM

    28

    int16_t

    accel_plus_g

    TM

    30

    int16_t

    accel_minus_g

    TM


    2.3. TeleMega Sensor Data

    Table 4. TeleMega Packet Type

    Type

    Description

    0x08

    TeleMega IMU Sensor Data

    0x09

    TeleMega Kalman and Voltage Data


    TeleMega has a lot of sensors, and so it splits the sensor +per second during descent and landing

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3. Sensor Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    state

    Flight state

    6

    int16_t

    accel

    accelerometer (TM only)

    8

    int16_t

    pres

    pressure sensor

    10

    int16_t

    temp

    temperature sensor

    12

    int16_t

    v_batt

    battery voltage

    14

    int16_t

    sense_d

    drogue continuity sense (TM/Tm)

    16

    int16_t

    sense_m

    main continuity sense (TM/Tm)

    18

    int16_t

    acceleration

    m/s² * 16

    20

    int16_t

    speed

    m/s * 16

    22

    int16_t

    height

    m

    24

    int16_t

    ground_pres

    Average barometer reading on ground

    26

    int16_t

    ground_accel

    TM

    28

    int16_t

    accel_plus_g

    TM

    30

    int16_t

    accel_minus_g

    TM

    +
    +
    +

    2.3. TeleMega Sensor Data

    + + ++++ + + + + + + + + + + + + + + +
    Table 4. TeleMega Packet Type

    Type

    Description

    0x08

    TeleMega IMU Sensor Data

    0x09

    TeleMega Kalman and Voltage Data

    +
    +

    TeleMega has a lot of sensors, and so it splits the sensor data into two packets. The raw IMU data are sent more often; -the voltage values don’t change very fast, and the Kalman -values can be reconstructed from the IMU data.

    IMU Sensor Data packets are transmitted once per second on the +the voltage values don’t change very fast, and the Kalman +values can be reconstructed from the IMU data.

    +
    +
    +

    IMU Sensor Data packets are transmitted once per second on the ground, 10 times per second during ascent and once per second -during descent and landing

    Kalman and Voltage Data packets are transmitted once per second on the +during descent and landing

    +
    +
    +

    Kalman and Voltage Data packets are transmitted once per second on the ground, 5 times per second during ascent and once per second -during descent and landing

    The high-g accelerometer is reported separately from the data +during descent and landing

    +
    +
    +

    The high-g accelerometer is reported separately from the data for the 9-axis IMU (accel/gyro/mag). The 9-axis IMU is mounted so that the X axis is "across" the board (along the short axis0, the Y axis is "along" the board (along the long axis, @@ -40,53 +335,1062 @@ with the high-g accelerometer) and the Z axis is "through" the board (perpendicular to the board). Rotation measurements are around the respective axis, so Y rotation measures the spin rate of the rocket while X and Z rotation measure the tilt -rate.

    The overall tilt angle of the rocket is computed by first +rate.

    +
    +
    +

    The overall tilt angle of the rocket is computed by first measuring the orientation of the rocket on the pad using the 3 axis accelerometer, and then integrating the overall tilt rate from the 3 axis gyroscope to compute the total orientation -change of the airframe since liftoff.

    Table 5. TeleMega IMU Sensor Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    orient

    Angle from vertical in degrees

    6

    int16_t

    accel

    High G accelerometer

    8

    int32_t

    pres

    pressure (Pa * 10)

    12

    int16_t

    temp

    temperature (°C * 100)

    14

    int16_t

    accel_x

    X axis acceleration (across)

    16

    int16_t

    accel_y

    Y axis acceleration (along)

    18

    int16_t

    accel_z

    Z axis acceleration (through)

    20

    int16_t

    gyro_x

    X axis rotation (across)

    22

    int16_t

    gyro_y

    Y axis rotation (along)

    24

    int16_t

    gyro_z

    Z axis rotation (through)

    26

    int16_t

    mag_x

    X field strength (across)

    28

    int16_t

    mag_y

    Y field strength (along)

    30

    int16_t

    mag_z

    Z field strength (through)


    Table 6. TeleMega Kalman and Voltage Data Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    state

    Flight state

    6

    int16_t

    v_batt

    battery voltage

    8

    int16_t

    v_pyro

    pyro battery voltage

    10

    int8_t[6]

    sense

    pyro continuity sense

    16

    int32_t

    ground_pres

    Average barometer reading on ground

    20

    int16_t

    ground_accel

    Average accelerometer reading on ground

    22

    int16_t

    accel_plus_g

    Accel calibration at +1g

    24

    int16_t

    accel_minus_g

    Accel calibration at -1g

    26

    int16_t

    acceleration

    m/s² * 16

    28

    int16_t

    speed

    m/s * 16

    30

    int16_t

    height

    m


    2.4. TeleMetrum v2 Sensor Data

    Table 7. TeleMetrum v2 Packet Type

    Type

    Description

    0x0A

    TeleMetrum v2 Sensor Data

    0x0B

    TeleMetrum v2 Calibration Data


    TeleMetrum v2 has higher resolution barometric data than +change of the airframe since liftoff.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 5. TeleMega IMU Sensor Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    orient

    Angle from vertical in degrees

    6

    int16_t

    accel

    High G accelerometer

    8

    int32_t

    pres

    pressure (Pa * 10)

    12

    int16_t

    temp

    temperature (°C * 100)

    14

    int16_t

    accel_x

    X axis acceleration (across)

    16

    int16_t

    accel_y

    Y axis acceleration (along)

    18

    int16_t

    accel_z

    Z axis acceleration (through)

    20

    int16_t

    gyro_x

    X axis rotation (across)

    22

    int16_t

    gyro_y

    Y axis rotation (along)

    24

    int16_t

    gyro_z

    Z axis rotation (through)

    26

    int16_t

    mag_x

    X field strength (across)

    28

    int16_t

    mag_y

    Y field strength (along)

    30

    int16_t

    mag_z

    Z field strength (through)

    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 6. TeleMega Kalman and Voltage Data Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    state

    Flight state

    6

    int16_t

    v_batt

    battery voltage

    8

    int16_t

    v_pyro

    pyro battery voltage

    10

    int8_t[6]

    sense

    pyro continuity sense

    16

    int32_t

    ground_pres

    Average barometer reading on ground

    20

    int16_t

    ground_accel

    Average accelerometer reading on ground

    22

    int16_t

    accel_plus_g

    Accel calibration at +1g

    24

    int16_t

    accel_minus_g

    Accel calibration at -1g

    26

    int16_t

    acceleration

    m/s² * 16

    28

    int16_t

    speed

    m/s * 16

    30

    int16_t

    height

    m

    +
    +
    +

    2.4. TeleMetrum v2 Sensor Data

    + + ++++ + + + + + + + + + + + + + + +
    Table 7. TeleMetrum v2 Packet Type

    Type

    Description

    0x0A

    TeleMetrum v2 Sensor Data

    0x0B

    TeleMetrum v2 Calibration Data

    +
    +

    TeleMetrum v2 has higher resolution barometric data than TeleMetrum v1, and so the constant calibration data is -split out into a separate packet.

    TeleMetrum v2 Sensor Data packets are transmitted once per second on the +split out into a separate packet.

    +
    +
    +

    TeleMetrum v2 Sensor Data packets are transmitted once per second on the ground, 10 times per second during ascent and once per second -during descent and landing

    TeleMetrum v2 Calibration Data packets are always transmitted once per second.

    Table 8. TeleMetrum v2 Sensor Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    state

    Flight state

    6

    int16_t

    accel

    accelerometer

    8

    int32_t

    pres

    pressure sensor (Pa * 10)

    12

    int16_t

    temp

    temperature sensor (°C * 100)

    14

    int16_t

    acceleration

    m/s² * 16

    16

    int16_t

    speed

    m/s * 16

    18

    int16_t

    height

    m

    20

    int16_t

    v_batt

    battery voltage

    22

    int16_t

    sense_d

    drogue continuity sense

    24

    int16_t

    sense_m

    main continuity sense

    26

    pad[6]

    pad bytes


    Table 9. TeleMetrum v2 Calibration Data Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    pad[3]

    pad bytes

    8

    int32_t

    ground_pres

    Average barometer reading on ground

    12

    int16_t

    ground_accel

    Average accelerometer reading on ground

    14

    int16_t

    accel_plus_g

    Accel calibration at +1g

    16

    int16_t

    accel_minus_g

    Accel calibration at -1g

    18

    pad[14]

    pad bytes


    2.5. TeleMini v3.0 Sensor Data

    Table 10. Sensor Packet Type

    Type

    Description

    0x11

    TeleMini v3.0 Sensor Data


    TeleMini v3.0 uses this -packet format for sensor data.

    Sensor Data packets are transmitted once per second on +during descent and landing

    +
    +
    +

    TeleMetrum v2 Calibration Data packets are always transmitted once per second.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 8. TeleMetrum v2 Sensor Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    state

    Flight state

    6

    int16_t

    accel

    accelerometer

    8

    int32_t

    pres

    pressure sensor (Pa * 10)

    12

    int16_t

    temp

    temperature sensor (°C * 100)

    14

    int16_t

    acceleration

    m/s² * 16

    16

    int16_t

    speed

    m/s * 16

    18

    int16_t

    height

    m

    20

    int16_t

    v_batt

    battery voltage

    22

    int16_t

    sense_d

    drogue continuity sense

    24

    int16_t

    sense_m

    main continuity sense

    26

    pad[6]

    pad bytes

    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 9. TeleMetrum v2 Calibration Data Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    pad[3]

    pad bytes

    8

    int32_t

    ground_pres

    Average barometer reading on ground

    12

    int16_t

    ground_accel

    Average accelerometer reading on ground

    14

    int16_t

    accel_plus_g

    Accel calibration at +1g

    16

    int16_t

    accel_minus_g

    Accel calibration at -1g

    18

    pad[14]

    pad bytes

    +
    +
    +

    2.5. TeleMini v3.0 Sensor Data

    + + ++++ + + + + + + + + + + +
    Table 10. Sensor Packet Type

    Type

    Description

    0x11

    TeleMini v3.0 Sensor Data

    +
    +

    TeleMini v3.0 uses this +packet format for sensor data.

    +
    +
    +

    Sensor Data packets are transmitted once per second on the ground, 10 times per second during ascent and once -per second during descent and landing

    Table 11. Sensor Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    state

    Flight state

    6

    int16_t

    v_batt

    battery voltage

    8

    int16_t

    sense_a

    apogee continuity sense

    10

    int16_t

    sense_m

    main continuity sense

    12

    int32_t

    pres

    pressure sensor (Pa * 10)

    16

    int16_t

    temp

    temperature sensor (°C * 100)

    18

    int16_t

    acceleration

    m/s² * 16

    20

    int16_t

    speed

    m/s * 16

    22

    int16_t

    height

    m

    24

    int16_t

    ground_pres

    Average barometer reading on ground

    28

    pad[4]

    pad bytes


    2.6. Configuration Data

    Table 12. Configuration Packet Type

    Type

    Description

    0x04

    Configuration Data


    This provides a description of the software installed on the -flight computer as well as any user-specified configuration data.

    Configuration data packets are transmitted once per second -during all phases of the flight

    Table 13. Configuration Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    type

    Device type

    6

    uint16_t

    flight

    Flight number

    8

    uint8_t

    config_major

    Config major version

    9

    uint8_t

    config_minor

    Config minor version

    10

    uint16_t

    apogee_delay

    Apogee deploy delay in seconds

    12

    uint16_t

    main_deploy

    Main deploy alt in meters

    14

    uint16_t

    flight_log_max

    Maximum flight log size (kB)

    16

    char

    callsign[8]

    Radio operator identifier

    24

    char

    version[8]

    Software version identifier


    2.7. GPS Location

    Table 14. GPS Packet Type

    Type

    Description

    0x05

    GPS Location


    This packet provides all of the information available from the +per second during descent and landing

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 11. Sensor Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    state

    Flight state

    6

    int16_t

    v_batt

    battery voltage

    8

    int16_t

    sense_a

    apogee continuity sense

    10

    int16_t

    sense_m

    main continuity sense

    12

    int32_t

    pres

    pressure sensor (Pa * 10)

    16

    int16_t

    temp

    temperature sensor (°C * 100)

    18

    int16_t

    acceleration

    m/s² * 16

    20

    int16_t

    speed

    m/s * 16

    22

    int16_t

    height

    m

    24

    int16_t

    ground_pres

    Average barometer reading on ground

    28

    pad[4]

    pad bytes

    +
    +
    +

    2.6. Configuration Data

    + + ++++ + + + + + + + + + + +
    Table 12. Configuration Packet Type

    Type

    Description

    0x04

    Configuration Data

    +
    +

    This provides a description of the software installed on the +flight computer as well as any user-specified configuration data.

    +
    +
    +

    Configuration data packets are transmitted once per second +during all phases of the flight

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 13. Configuration Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    type

    Device type

    6

    uint16_t

    flight

    Flight number

    8

    uint8_t

    config_major

    Config major version

    9

    uint8_t

    config_minor

    Config minor version

    10

    uint16_t

    apogee_delay

    Apogee deploy delay in seconds

    12

    uint16_t

    main_deploy

    Main deploy alt in meters

    14

    uint16_t

    flight_log_max

    Maximum flight log size (kB)

    16

    char

    callsign[8]

    Radio operator identifier

    24

    char

    version[8]

    Software version identifier

    +
    +
    +

    2.7. GPS Location

    + + ++++ + + + + + + + + + + +
    Table 14. GPS Packet Type

    Type

    Description

    0x05

    GPS Location

    +
    +

    This packet provides all of the information available from the GPS receiver—position, time, speed and precision -estimates.

    GPS Location packets are transmitted once per second during -all phases of the flight

    Table 15. GPS Location Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    flags

    See GPS Flags table below

    6

    int16_t

    altitude

    m

    8

    int32_t

    latitude

    degrees * 107

    12

    int32_t

    longitude

    degrees * 107

    16

    uint8_t

    year

    17

    uint8_t

    month

    18

    uint8_t

    day

    19

    uint8_t

    hour

    20

    uint8_t

    minute

    21

    uint8_t

    second

    22

    uint8_t

    pdop

    * 5

    23

    uint8_t

    hdop

    * 5

    24

    uint8_t

    vdop

    * 5

    25

    uint8_t

    mode

    See GPS Mode table below

    26

    uint16_t

    ground_speed

    cm/s

    28

    int16_t

    climb_rate

    cm/s

    30

    uint8_t

    course

    / 2

    31

    uint8_t

    unused[1]


    Packed into a one byte field are status flags and the +estimates.

    +
    +
    +

    GPS Location packets are transmitted once per second during +all phases of the flight

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 15. GPS Location Packet Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    flags

    See GPS Flags table below

    6

    int16_t

    altitude

    m

    8

    int32_t

    latitude

    degrees * 107

    12

    int32_t

    longitude

    degrees * 107

    16

    uint8_t

    year

    17

    uint8_t

    month

    18

    uint8_t

    day

    19

    uint8_t

    hour

    20

    uint8_t

    minute

    21

    uint8_t

    second

    22

    uint8_t

    pdop

    * 5

    23

    uint8_t

    hdop

    * 5

    24

    uint8_t

    vdop

    * 5

    25

    uint8_t

    mode

    See GPS Mode table below

    26

    uint16_t

    ground_speed

    cm/s

    28

    int16_t

    climb_rate

    cm/s

    30

    uint8_t

    course

    / 2

    31

    uint8_t

    unused[1]

    +
    +

    Packed into a one byte field are status flags and the count of satellites used to compute the position fix. Note that this number may be lower than the number of satellites being tracked; the receiver will not use information from satellites with weak signals or which are close enough to the horizon to have -significantly degraded position accuracy.

    Table 16. GPS Flags

    Bits

    Name

    Description

    0-3

    nsats

    Number of satellites in solution

    4

    valid

    GPS solution is valid

    5

    running

    GPS receiver is operational

    6

    date_valid

    Reported date is valid

    7

    course_valid

    ground speed, course and climb rates are valid


    Here are all of the valid GPS operational modes. Altus -Metrum products will only ever report N (not valid), -A (Autonomous) modes or E (Estimated). The +significantly degraded position accuracy.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 16. GPS Flags

    Bits

    Name

    Description

    0-3

    nsats

    Number of satellites in solution

    4

    valid

    GPS solution is valid

    5

    running

    GPS receiver is operational

    6

    date_valid

    Reported date is valid

    7

    course_valid

    ground speed, course and climb rates are valid

    +
    +

    Here are all of the valid GPS operational modes. Altus +Metrum products will only ever report 'N' (not valid), +'A' (Autonomous) modes or 'E' (Estimated). The remaining modes are either testing modes or require -additional data.

    Table 17. GPS Mode

    + + + + + + + + + + + + + + + + + +

    Mode

    Name

    Description

    N

    Not Valid

    All data are invalid

    A

    Autonomous mode

    Data are derived from satellite data

    D

    Differential Mode

    Data are augmented with differential data from a +additional data.

    + + + +++++ + + + + + + + + + + + + + + + + + + + +
    Table 17. GPS Mode

    Mode

    Name

    Description

    N

    Not Valid

    All data are invalid

    A

    Autonomous mode

    Data are derived from satellite data

    D

    Differential Mode

    Data are augmented with differential data from a known ground station. The SkyTraq unit in TeleMetrum -does not support this mode

    E

    Estimated

    Data are estimated using dead reckoning from the -last known data

    M

    Manual

    Data were entered manually

    S

    Simulated

    GPS receiver testing mode


    2.8. GPS Satellite Data

    Table 18. GPS Satellite Data Packet Type

    Type

    Description

    0x06

    GPS Satellite Data


    This packet provides space vehicle identifiers and +does not support this mode

    E

    Estimated

    Data are estimated using dead reckoning from the +last known data

    M

    Manual

    Data were entered manually

    S

    Simulated

    GPS receiver testing mode

    +
    +
    +

    2.8. GPS Satellite Data

    + + ++++ + + + + + + + + + + +
    Table 18. GPS Satellite Data Packet Type

    Type

    Description

    0x06

    GPS Satellite Data

    +
    +

    This packet provides space vehicle identifiers and signal quality information in the form of a C/N1 number for up to 12 satellites. The order of the svids -is not specified.

    GPS Satellite data are transmitted once per second -during all phases of the flight.

    Table 19. GPS Satellite Data Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    channels

    Number of reported satellite information

    6

    sat_info_t

    sats[12]

    See Per-Satellite data table below

    30

    uint8_t

    unused[2]


    Table 20. GPS Per-Satellite data (sat_info_t)

    Offset

    Data Type

    Name

    Description

    0

    uint8_t

    svid

    Space Vehicle Identifier

    1

    uint8_t

    c_n_1

    C/N1 signal quality indicator


    2.9. Companion Data

    Table 21. Companion Data Packet Type

    Type

    Description

    0x07

    Companion Data


    When a companion board is attached to TeleMega or +is not specified.

    +
    +
    +

    GPS Satellite data are transmitted once per second +during all phases of the flight.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 19. GPS Satellite Data Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    channels

    Number of reported satellite information

    6

    sat_info_t

    sats[12]

    See Per-Satellite data table below

    30

    uint8_t

    unused[2]

    + + ++++++ + + + + + + + + + + + + + + + + + + + + +
    Table 20. GPS Per-Satellite data (sat_info_t)

    Offset

    Data Type

    Name

    Description

    0

    uint8_t

    svid

    Space Vehicle Identifier

    1

    uint8_t

    c_n_1

    C/N1 signal quality indicator

    +
    +
    +

    2.9. Companion Data

    + + ++++ + + + + + + + + + + +
    Table 21. Companion Data Packet Type

    Type

    Description

    0x07

    Companion Data

    +
    +

    When a companion board is attached to TeleMega or TeleMetrum, it can provide telemetry data to be included in the downlink. The companion board can -provide up to 12 16-bit data values.

    The companion board itself specifies the transmission +provide up to 12 16-bit data values.

    +
    +
    +

    The companion board itself specifies the transmission rate. On the ground and during descent, that rate is limited to one packet per second. During ascent, that -rate is limited to 10 packets per second.

    Table 22. Companion Data Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    board_id

    Type of companion board attached

    6

    uint8_t

    update_period

    How often telemetry is sent, in 1/100ths of a second

    7

    uint8_t

    channels

    Number of data channels supplied

    8

    uint16_t[12]

    companion_data

    Up to 12 channels of 16-bit companion data


    3. Data Transmission

    Altus Metrum devices use Texas Instruments sub-GHz digital +rate is limited to 10 packets per second.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 22. Companion Data Contents

    Offset

    Data Type

    Name

    Description

    5

    uint8_t

    board_id

    Type of companion board attached

    6

    uint8_t

    update_period

    How often telemetry is sent, in 1/100ths of a second

    7

    uint8_t

    channels

    Number of data channels supplied

    8

    uint16_t[12]

    companion_data

    Up to 12 channels of 16-bit companion data

    +
    +
    +
    +
    +

    3. Data Transmission

    +
    +
    +

    Altus Metrum devices use Texas Instruments sub-GHz digital radio products. Ground stations use parts with HW FEC while some flight computers perform FEC in software. TeleGPS is -transmit-only.

    Table 23. Altus Metrum Radio Parts

    Part Number

    Description

    Used in

    CC1111

    10mW transceiver with integrated SoC

    TeleDongle v0.2, TeleBT v1.0, TeleMetrum v1.x, TeleMini

    CC1120

    35mW transceiver with SW FEC

    TeleMetrum v2, TeleMega

    CC1200

    35mW transceiver with HW FEC

    TeleDongle v3.0, TeleBT v3.0

    CC115L

    14mW transmitter with SW FEC

    TeleGPS


    3.1. Modulation Scheme

    Texas Instruments provides a tool for computing +transmit-only.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 23. Altus Metrum Radio Parts
    Part NumberDescriptionUsed in

    CC1111

    10mW transceiver with integrated SoC

    TeleDongle v0.2, TeleBT v1.0, TeleMetrum v1.x, TeleMini

    CC1120

    35mW transceiver with SW FEC

    TeleMetrum v2, TeleMega

    CC1200

    35mW transceiver with HW FEC

    TeleDongle v3.0, TeleBT v3.0

    CC115L

    14mW transmitter with SW FEC

    TeleGPS

    +
    +

    3.1. Modulation Scheme

    +
    +

    Texas Instruments provides a tool for computing modulation parameters given a desired modulation -format and basic bit rate.

    While we might like to use something with better +format and basic bit rate.

    +
    +
    +

    While we might like to use something with better low-signal performance like BPSK, the radios we use -don’t support that, but do support Gaussian frequency +don’t support that, but do support Gaussian frequency shift keying (GFSK). Regular frequency shift keying (FSK) encodes the signal by switching the carrier between two frequencies. The Gaussian version is @@ -94,24 +1398,169 @@ essentially the same, but the shift between frequencies gently follows a gaussian curve, rather than switching immediately. This tames the bandwidth of the signal without affecting the ability to -transmit data.

    For AltOS, there are three available bit rates, +transmit data.

    +
    +
    +

    For AltOS, there are three available bit rates, 38.4kBaud, 9.6kBaud and 2.4kBaud resulting in the -following signal parmeters:

    Table 24. Modulation Scheme

    Rate

    Deviation

    Receiver Bandwidth

    38.4kBaud

    20.5kHz

    100kHz

    9.6kBaud

    5.125kHz

    25kHz

    2.4kBaud

    1.5kHz

    5kHz


    3.2. Error Correction

    The cc1111 and cc1200 provide forward error correction -in hardware; on the cc1120 and cc115l that’s done in +following signal parmeters:

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + +
    Table 24. Modulation Scheme

    Rate

    Deviation

    Receiver Bandwidth

    38.4kBaud

    20.5kHz

    100kHz

    9.6kBaud

    5.125kHz

    25kHz

    2.4kBaud

    1.5kHz

    5kHz

    +
    +
    +

    3.2. Error Correction

    +
    +

    The cc1111 and cc1200 provide forward error correction +in hardware; on the cc1120 and cc115l that’s done in software. AltOS uses this to improve reception of weak -signals. As it’s a rate 1/2 encoding, each bit of data +signals. As it’s a rate 1/2 encoding, each bit of data takes two bits when transmitted, so the effective data -rate is half of the raw transmitted bit rate.

    Table 25. Error Correction

    Parameter

    Value

    Description

    Error Correction

    Convolutional coding

    1/2 rate, constraint length m=4

    Interleaving

    4 x 4

    Reduce effect of noise burst

    Data Whitening

    XOR with 9-bit PNR

    Rotate right with bit 8 = bit 0 xor bit 5, initial value 111111111


    4. TeleDongle serial packet format

    TeleDongle does not do any interpretation of the packet data, +rate is half of the raw transmitted bit rate.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 25. Error Correction
    ParameterValueDescription

    Error Correction

    Convolutional coding

    1/2 rate, constraint length m=4

    Interleaving

    4 x 4

    Reduce effect of noise burst

    Data Whitening

    XOR with 9-bit PNR

    Rotate right with bit 8 = bit 0 xor bit 5, initial value 111111111

    +
    +
    +
    +
    +

    4. TeleDongle serial packet format

    +
    +
    +

    TeleDongle does not do any interpretation of the packet data, instead it is configured to receive packets of a specified length (32 bytes in this case). For each received packet, TeleDongle produces a single line of text. This line starts with the string "TELEM " and is followed by a list of hexadecimal -encoded bytes.

    TELEM 224f01080b05765e00701f1a1bbeb8d7b60b070605140c000600000000000000003fa988

    The hexadecimal encoded string of bytes contains a length byte, +encoded bytes.

    +
    +
    +
    +
    TELEM 224f01080b05765e00701f1a1bbeb8d7b60b070605140c000600000000000000003fa988
    +
    +
    +
    +

    The hexadecimal encoded string of bytes contains a length byte, the packet data, two bytes added by the cc1111 radio receiver hardware and finally a checksum so that the host software can -validate that the line was transmitted without any errors.

    Table 26. TeleDongle serial Packet Format

    Offset

    Name

    Example

    Description

    0

    length

    22

    Total length of data bytes in the line. Note that -this includes the added RSSI and status bytes

    1 ·· length-3

    packet

    4f ·· 00

    Bytes of actual packet data

    length-2

    rssi

    3f

    Received signal strength. dBm = rssi / 2 - 74

    length-1

    lqi

    a9

    Link Quality Indicator and CRC status. Bit 7 -is set when the CRC is correct

    length

    checksum

    88

    (0x5a + sum(bytes 1 ·· length-1)) % 256


    5. History and Motivation

    The original AltoOS telemetry mechanism encoded everything +validate that the line was transmitted without any errors.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 26. TeleDongle serial Packet Format
    OffsetNameExampleDescription

    0

    length

    22

    Total length of data bytes in the line. Note that +this includes the added RSSI and status bytes

    1 ·· length-3

    packet

    4f ·· 00

    Bytes of actual packet data

    length-2

    rssi

    3f

    Received signal strength. dBm = rssi / 2 - 74

    length-1

    lqi

    a9

    Link Quality Indicator and CRC status. Bit 7 +is set when the CRC is correct

    length

    checksum

    88

    (0x5a + sum(bytes 1 ·· length-1)) % 256

    +
    +
    +
    +

    5. History and Motivation

    +
    +
    +

    The original AltoOS telemetry mechanism encoded everything available piece of information on the TeleMetrum hardware into a single unified packet. Initially, the packets contained very little data—some raw sensor readings along with the current GPS @@ -119,15 +1568,33 @@ coordinates when a GPS receiver was connected. Over time, the amount of data grew to include sensor calibration data, GPS satellite information and a host of internal state information designed to help diagnose flight failures in case of a loss of -the on-board flight data.

    Because every packet contained all of the data, packets were +the on-board flight data.

    +
    +
    +

    Because every packet contained all of the data, packets were huge—95 bytes long. Much of the information was also specific to the TeleMetrum hardware. With the introduction of the TeleMini flight computer, most of the data contained in the telemetry packets was unavailable. Initially, a shorter, but still comprehensive packet was implemented. This required that the ground station be pre-configured as to which kind of packet to -expect.

    The development of several companion boards also made the +expect.

    +
    +
    +

    The development of several companion boards also made the shortcomings evident—each companion board would want to include telemetry data in the radio link; with the original design, the packet would have to hold the new data as well, requiring -additional TeleMetrum and ground station changes.

    \ No newline at end of file +additional TeleMetrum and ground station changes.

    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/AltOS/doc/telemetry.pdf b/AltOS/doc/telemetry.pdf index dd81e7d..6ae6b75 100644 Binary files a/AltOS/doc/telemetry.pdf and b/AltOS/doc/telemetry.pdf differ diff --git a/AltOS/doc/telemini-v1-outline.pdf b/AltOS/doc/telemini-v1-outline.pdf index 2e9083d..e0c81f8 100644 Binary files a/AltOS/doc/telemini-v1-outline.pdf and b/AltOS/doc/telemini-v1-outline.pdf differ diff --git a/AltOS/doc/telemini-v3-outline.pdf b/AltOS/doc/telemini-v3-outline.pdf index 5fafd1c..89a46e3 100644 Binary files a/AltOS/doc/telemini-v3-outline.pdf and b/AltOS/doc/telemini-v3-outline.pdf differ