From e28ff195f95038471b14a8d1dc641b65ea365f5a Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 21 Dec 2017 19:50:56 -0700 Subject: [PATCH 1/1] update docs --- AltOS/doc/altos.html | 1629 ++++++++++--------------- AltOS/doc/altos.pdf | Bin 246567 -> 246567 bytes AltOS/doc/altusmetrum-revhistory.html | 4 +- AltOS/doc/altusmetrum.html | 248 ++-- AltOS/doc/altusmetrum.pdf | Bin 20740255 -> 20744209 bytes AltOS/doc/companion.html | 195 ++- AltOS/doc/companion.pdf | Bin 58893 -> 58893 bytes AltOS/doc/easymega-outline.pdf | Bin 15101 -> 0 bytes AltOS/doc/easymini-outline.pdf | Bin 15211 -> 0 bytes AltOS/doc/easymini-revhistory.html | 4 +- AltOS/doc/easymini.html | 96 +- AltOS/doc/easymini.pdf | Bin 1434255 -> 1438027 bytes AltOS/doc/micropeak.pdf | Bin 3724878 -> 3724878 bytes AltOS/doc/telegps-outline.pdf | Bin 15129 -> 0 bytes AltOS/doc/telegps.html | 110 +- AltOS/doc/telegps.pdf | Bin 3130742 -> 3134451 bytes AltOS/doc/telemega-outline.pdf | Bin 14974 -> 0 bytes AltOS/doc/telemetrum-outline.pdf | Bin 15086 -> 0 bytes AltOS/doc/telemetry.html | 333 ++--- AltOS/doc/telemetry.pdf | Bin 106005 -> 106005 bytes AltOS/doc/telemini-v1-outline.pdf | Bin 14926 -> 0 bytes AltOS/doc/telemini-v3-outline.pdf | Bin 15576 -> 0 bytes 22 files changed, 1078 insertions(+), 1541 deletions(-) diff --git a/AltOS/doc/altos.html b/AltOS/doc/altos.html index 421fb2e..7ca6a09 100644 --- a/AltOS/doc/altos.html +++ b/AltOS/doc/altos.html @@ -1,1004 +1,635 @@ -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
Revision 1.105 November 2012
Portable version
Revision 0.122 November 2010
Initial content

Table of Contents

1. Overview
2. AltOS Porting Layer
1. Low-level CPU operations
1.1. ao_arch_block_interrupts/ao_arch_release_interrupts
1.2. ao_arch_save_regs, ao_arch_save_stack, - ao_arch_restore_stack
1.3. ao_arch_wait_interupt
2. GPIO operations
2.1. GPIO setup
2.2. Reading and writing GPIO pins
3. Programming the 8051 with SDCC
1. 8051 memory spaces
1.1. __data
1.2. __idata
1.3. __xdata
1.4. __pdata
1.5. __code
1.6. __bit
1.7. __sfr, __sfr16, __sfr32, __sbit
2. Function calls on the 8051
2.1. __reentrant functions
2.2. Non __reentrant functions
2.3. __interrupt functions
2.4. __critical functions and statements
4. Task functions
1. ao_add_task
2. ao_exit
3. ao_sleep
4. ao_wakeup
5. ao_alarm
6. ao_start_scheduler
7. ao_clock_init
5. Timer Functions
1. ao_time
2. ao_delay
3. ao_timer_set_adc_interval
4. ao_timer_init
6. AltOS Mutexes
1. ao_mutex_get
2. ao_mutex_put
7. DMA engine
1. CC1111 DMA Engine
1.1. ao_dma_alloc
1.2. ao_dma_set_transfer
1.3. ao_dma_start
1.4. ao_dma_trigger
1.5. ao_dma_abort
2. STM32L DMA Engine
2.1. ao_dma_alloc
2.2. ao_dma_set_transfer
2.3. ao_dma_set_isr
2.4. ao_dma_start
2.5. ao_dma_done_transfer
2.6. ao_dma_abort
8. Stdio interface
1. putchar
2. getchar
3. flush
4. ao_add_stdio
9. Command line interface
1. ao_cmd_register
2. ao_cmd_lex
3. ao_cmd_put16
4. ao_cmd_put8
5. ao_cmd_white
6. ao_cmd_hex
7. ao_cmd_decimal
8. ao_match_word
9. ao_cmd_init
10. USB target device
1. ao_usb_flush
2. ao_usb_putchar
3. ao_usb_pollchar
4. ao_usb_getchar
5. ao_usb_disable
6. ao_usb_enable
7. ao_usb_init
11. Serial peripherals
1. ao_serial_getchar
2. ao_serial_putchar
3. ao_serial_drain
4. ao_serial_set_speed
5. ao_serial_init
12. CC1111 Radio peripheral
1. Radio Introduction
2. ao_radio_set_telemetry
3. ao_radio_set_packet
4. ao_radio_set_rdf
5. ao_radio_idle
6. ao_radio_get
7. ao_radio_put
8. ao_radio_abort
9. Radio Telemetry
9.1. ao_radio_send
9.2. ao_radio_recv
10. Radio Direction Finding
10.1. ao_radio_rdf
11. Radio Packet Mode
11.1. ao_packet_putchar
11.2. ao_packet_pollchar
11.3. ao_packet_slave_start
11.4. ao_packet_slave_stop
11.5. ao_packet_slave_init
11.6. ao_packet_master_init

Chapter 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 - 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 - 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 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 - code that operates in separate threads instead of tying - 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 - 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 - pending sleep, allowing operations to time-out instead of - 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 - 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(void)
-	{
-	        ao_clock_init();
+
+AltOS

AltOS

Altos Metrum Operating System

Keith Packard

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


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 +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 +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 +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 +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 +code that operates in separate threads instead of tying +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 +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 +pending sleep, allowing operations to time-out instead of +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 +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(void)
+{
+        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();
-	        #if HAS_DBG
-	        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 - 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. -

1. Low-level CPU operations

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

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 - discard any interrupts. Use these for sections of code that - must be atomic with respect to any code run from an - interrupt handler. -

1.2. ao_arch_save_regs, ao_arch_save_stack, - ao_arch_restore_stack

-	  static inline void
-	  ao_arch_save_regs(void);
+        /* 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();
+#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 +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 +run the multi-tasking framework while providing reliable +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_save_stack(void);
+static inline void
+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
+ao_arch_save_regs(void);
 
-	  static inline void
-	  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. -

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 - reduced power mode, this must at the least allow pending - interrupts to be processed. -

2. GPIO operations

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

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 specific - GPIO pins while others only provide 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. -

2.1.1. 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. -

2.1.2. 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 pull-down. A - disconnected pin will read an undetermined value. -

-

2.2. Reading and writing GPIO pins

- These macros read and write individual GPIO pins. -

2.2.1. ao_gpio_set

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

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

2.2.2. 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. -

Chapter 3. 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. -

1. 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 - 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. -

1.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 - these registers located at 0x00 - 0x1F. AltOS uses only - the first bank at 0x00 - 0x07, leaving the other 24 - bytes available for other data. -

1.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. -

1.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. -

1.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. -

1.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. -

1.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 - separate address space as a special addressing mode for - a few bytes in the __data segment. -

1.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. 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.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 - 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.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 - 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.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 - as stand-alone interrupt handlers. Interrupt functions may - call the ao_wakeup function to wake AltOS tasks. -

2.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 - 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 4. Task functions

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

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, - 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. -

2. ao_exit

-	void
-	ao_exit(void)
-      

- This terminates the current task. -

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 - 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();
-	  while (!ao_radio_done)
-	          ao_sleep(&ao_radio_done);
-	  ao_arch_release_interrupts();
-	

-

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 ao_sleep block - can only be run from normal mode, and so this sequence can - never be interrupted with execution of the other sequence. -

5. ao_alarm

-	void
-	ao_alarm(uint16_t delay);
+static inline void
+ao_arch_save_stack(void);
 
-	void
-	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);
-	  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 - 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. -

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. -

7. ao_clock_init

-	void
-	ao_clock_init(void);
-      

- This initializes the main CPU clock and switches to it. -

Chapter 5. 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. -

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. -

2. ao_delay

-	void
-	ao_delay(uint16_t ticks);
-      

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

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. 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 6. 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. -

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. -

2. ao_mutex_put

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

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

Chapter 7. 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 - 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 - 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 - 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. -

1. CC1111 DMA Engine

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. -

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' 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. -

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. -

1.4. ao_dma_trigger

-	  void
-	  ao_dma_trigger(uint8_t id)
-	

- Trigger the specified DMA engine to start copying data. -

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. -

2. STM32L DMA Engine

2.1. ao_dma_alloc

-	  uint8_t ao_dma_done[];
+static inline void
+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 +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 +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 +initialization time to configure pins as +needed for system operation. One tricky aspect +is that some chips provide direct access to +specific GPIO pins while others only provide +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) +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +0x2f. Special instructions access these bits +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 +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 +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 +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 +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 +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 +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 +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 +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 +interrupts suspended for the whole period of +execution. Individual statements may also be marked as +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
+ao_add_task(__xdata struct ao_task * task,
+            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 +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 +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();
+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 +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 +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
+ao_alarm(uint16_t delay);
 
-	  void
-	  ao_dma_alloc(uint8_t index);
-	

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

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 of the STM32L documentation and tells the - DMA engine what the transfer unit size, direction and step - are. -

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. -

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]' 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. -

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. -

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 8. 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. -

1. putchar

-	void
-	putchar(char c)
-      

- Delivers a single character to the current console - device. -

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. -

3. flush

-	void
-	flush(void)
-      

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

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 - AO_READ_AGAIN if none is available. Significantly, it does - 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 - block until the buffer is delivered, but it is not - required to do so. -

Chapter 9. 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. -

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' - 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 - 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. -

-

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. -

3. ao_cmd_put16

-	void
-	ao_cmd_put16(uint16_t v);
-      

- Writes 'v' as four hexadecimal characters. -

4. ao_cmd_put8

-	void
-	ao_cmd_put8(uint8_t v);
-      

- Writes 'v' as two hexadecimal characters. -

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. -

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; -

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. 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, ao_cmd_status is set to - ao_cmd_syntax_error and 0 is returned. -

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 10. 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 - 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. -

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. -

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. -

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. -

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. -

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 nor TeleMetrum are able to - signal to the USB host that they have 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. -

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. -

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 11. 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. -

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. -

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. -

3. ao_serial_drain

-	void
-	ao_serial_drain(void);
-      

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

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. -

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 12. CC1111 Radio peripheral

1. Radio Introduction

- The CC1111 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 - 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 - reliable duplex byte stream between TeleDongle and - TeleMetrum. This is an asymmetrical protocol with - TeleMetrum only transmitting in response to a packet sent - 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 - 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 - 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. -

  3. - 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. -

-

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. -

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. -

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. -

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. -

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. -

7. ao_radio_put

-	  void
-	  ao_radio_put(void);
-	

- Releases the radio mutex. -

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. -

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. -

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. -

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()). -

10. Radio Direction Finding

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

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. 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.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.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.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.4. ao_packet_slave_stop

-	  void
-	  ao_packet_slave_stop(void);
-	

- Disables the packet slave task, stopping the radio receiver. -

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.6. ao_packet_master_init

-	  void
-	  ao_packet_master_init(void);
-	

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

+void +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);
+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 +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 +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 +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 +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 +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 +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 +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 +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 +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
+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 +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 +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[];
+
+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 +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 +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 +signal from either hardware or software to +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 +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 +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 +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
+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 +AO_READ_AGAIN if none is available. Significantly, it does +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +command line. It does not skip leading white space. If +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 +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 +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 +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 +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 +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 +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 +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 +are able to signal to the USB host that they have +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 +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 +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 +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 +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 +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 +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 +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 +reliable duplex byte stream between TeleDongle and +TeleMetrum. This is an asymmetrical protocol with +TeleMetrum only transmitting in response to a packet sent +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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. +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 +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 +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, +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 +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 diff --git a/AltOS/doc/altos.pdf b/AltOS/doc/altos.pdf index a6bf9010eccf0ad3d7e472892bec5cd808c50cfc..36eca075271f3a6dc3f6af8fe65ef57fa67e49af 100644 GIT binary patch delta 156 zcmZ49#=pFcf5JHqBSS+=V+$kGjn^c2xQz@$3@xpUEv$@8H~-{mWkeR3+{tHz%x^x% z*M5wT5r~<#ALC>Gy4l&u*wE6+%+1lo+||*-z`)tf#n8~y(bCw>%*5Ej%+0_~!G@5M K>HiKfYXShfJS$xQ delta 156 zcmZ49#=pFcf5JHqLqj7&QwvkWjn^c2xD5?Mj0~+zEv!rpH~-{mWkeR3+{tHz%x^x% z*M5wT5r~<#ALC>Gy4l&n+{M7v!qwQt&D_!0!o|YS(%90(!obAb$;8~$z{%83!G@5M K>HiKfYXShHPb%>M diff --git a/AltOS/doc/altusmetrum-revhistory.html b/AltOS/doc/altusmetrum-revhistory.html index becc94b..48b7963 100644 --- a/AltOS/doc/altusmetrum-revhistory.html +++ b/AltOS/doc/altusmetrum-revhistory.html @@ -1,5 +1,7 @@ -Revision History
Revision History
Revision 1.8.311 Dec 2017
+Revision History
Revision History
Revision 1.8.420 Dec 2017
+ Support EasyMini v2.0 hardware. +
Revision 1.8.311 Dec 2017
Support TeleMega v3.0 hardware. Fix one firmware bug affecting all flight computers and another two affecting TeleMega and EasyMega. Several new AltosUI graphing features. diff --git a/AltOS/doc/altusmetrum.html b/AltOS/doc/altusmetrum.html index ee93354..69e25f8 100644 --- a/AltOS/doc/altusmetrum.html +++ b/AltOS/doc/altusmetrum.html @@ -19,7 +19,7 @@ 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
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. 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.3
F.1.1. AltOS
F.1.2. AltosUI and TeleGPS Applications
F.2. Release Notes for Version 1.8.2
F.2.1. AltOS
F.2.2. AltosUI and TeleGPS Applications
F.3. Release Notes for Version 1.8.1
F.3.1. AltOS
F.3.2. AltosUI and TeleGPS Applications
F.4. Release Notes for Version 1.8
F.4.1. AltOS
F.4.2. AltosUI and TeleGPS Applications
F.5. Release Notes for Version 1.7
F.5.1. AltOS
F.5.2. AltosUI and TeleGPS Applications
F.6. Release Notes for Version 1.6.8
F.6.1. AltOS
F.6.2. AltosUI, TeleGPS and AltosDroid Applications
F.7. Release Notes for Version 1.6.5
F.7.1. AltOS
F.7.2. AltosUI, TeleGPS and AltosDroid Applications
F.8. Release Notes for Version 1.6.4
F.8.1. AltOS
F.8.2. AltosUI, TeleGPS and AltosDroid Applications
F.8.3. Documentation
F.9. Release Notes for Version 1.6.3
F.9.1. AltOS
F.9.2. AltosUI and TeleGPS Applications
F.9.3. AltosDroid
F.9.4. Documentation
F.10. Release Notes for Version 1.6.2
F.10.1. AltOS
F.10.2. AltosUI and TeleGPS Applications
F.10.3. Documentation
F.11. Release Notes for Version 1.6.1
F.11.1. AltOS
F.11.2. AltosUI and TeleGPS Applications
F.11.3. AltosDroid
F.12. Release Notes for Version 1.6
F.12.1. AltOS
F.12.2. AltosUI and TeleGPS Applications
F.13. Release Notes for Version 1.5
F.13.1. AltOS
F.13.2. AltosUI and TeleGPS Applications
F.14. Release Notes for Version 1.4.2
F.14.1. AltosUI and TeleGPS Applications
F.15. Release Notes for Version 1.4.1
F.15.1. AltosUI and TeleGPS Applications:
F.16. Release Notes for Version 1.4
F.16.1. AltOS
F.16.2. AltosUI Application
F.16.3. TeleGPS Application
F.16.4. Documentation
F.17. Release Notes for Version 1.3.2
F.17.1. AltOS
F.17.2. AltosUI Application
F.18. Release Notes for Version 1.3.1
F.18.1. AltOS
F.18.2. AltosUI Application
F.19. Release Notes for Version 1.3
F.19.1. AltOS
F.19.2. AltosUI Application
F.20. Release Notes for Version 1.2.1
F.20.1. AltOS
F.20.2. AltosUI Application
F.20.3. AltosDroid
F.21. Release Notes for Version 1.2
F.21.1. AltOS
F.21.2. AltosUI and MicroPeak Application
F.22. Release Notes for Version 1.1
F.22.1. AltOS
F.22.2. AltosUI
F.23. Release Notes for Version 1.1
F.23.1. AltOS
F.23.2. AltosUI
F.24. Release Notes for Version 1.0.1
F.24.1. AltOS
F.24.2. AltosUI Application
F.25. Release Notes for Version 0.9.2
F.25.1. AltosUI
F.26. Release Notes for Version 0.9
F.26.1. AltOS
F.26.2. AltosUI Application
F.27. Release Notes for Version 0.8
F.27.1. AltosUI Application:
F.28. Release Notes for Version 0.7.1
F.28.1. AltosUI Application

Chapter 1. Introduction and Overview

Welcome to the Altus Metrum community! Our circuits and software reflect +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
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. 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.4
F.1.1. AltOS
F.2. Release Notes for Version 1.8.3
F.2.1. AltOS
F.2.2. AltosUI and TeleGPS Applications
F.3. Release Notes for Version 1.8.2
F.3.1. AltOS
F.3.2. AltosUI and TeleGPS Applications
F.4. Release Notes for Version 1.8.1
F.4.1. AltOS
F.4.2. AltosUI and TeleGPS Applications
F.5. Release Notes for Version 1.8
F.5.1. AltOS
F.5.2. AltosUI and TeleGPS Applications
F.6. Release Notes for Version 1.7
F.6.1. AltOS
F.6.2. AltosUI and TeleGPS Applications
F.7. Release Notes for Version 1.6.8
F.7.1. AltOS
F.7.2. AltosUI, TeleGPS and AltosDroid Applications
F.8. Release Notes for Version 1.6.5
F.8.1. AltOS
F.8.2. AltosUI, TeleGPS and AltosDroid Applications
F.9. Release Notes for Version 1.6.4
F.9.1. AltOS
F.9.2. AltosUI, TeleGPS and AltosDroid Applications
F.9.3. Documentation
F.10. Release Notes for Version 1.6.3
F.10.1. AltOS
F.10.2. AltosUI and TeleGPS Applications
F.10.3. AltosDroid
F.10.4. Documentation
F.11. Release Notes for Version 1.6.2
F.11.1. AltOS
F.11.2. AltosUI and TeleGPS Applications
F.11.3. Documentation
F.12. Release Notes for Version 1.6.1
F.12.1. AltOS
F.12.2. AltosUI and TeleGPS Applications
F.12.3. AltosDroid
F.13. Release Notes for Version 1.6
F.13.1. AltOS
F.13.2. AltosUI and TeleGPS Applications
F.14. Release Notes for Version 1.5
F.14.1. AltOS
F.14.2. AltosUI and TeleGPS Applications
F.15. Release Notes for Version 1.4.2
F.15.1. AltosUI and TeleGPS Applications
F.16. Release Notes for Version 1.4.1
F.16.1. AltosUI and TeleGPS Applications:
F.17. Release Notes for Version 1.4
F.17.1. AltOS
F.17.2. AltosUI Application
F.17.3. TeleGPS Application
F.17.4. Documentation
F.18. Release Notes for Version 1.3.2
F.18.1. AltOS
F.18.2. AltosUI Application
F.19. Release Notes for Version 1.3.1
F.19.1. AltOS
F.19.2. AltosUI Application
F.20. Release Notes for Version 1.3
F.20.1. AltOS
F.20.2. AltosUI Application
F.21. Release Notes for Version 1.2.1
F.21.1. AltOS
F.21.2. AltosUI Application
F.21.3. AltosDroid
F.22. Release Notes for Version 1.2
F.22.1. AltOS
F.22.2. AltosUI and MicroPeak Application
F.23. Release Notes for Version 1.1
F.23.1. AltOS
F.23.2. AltosUI
F.24. Release Notes for Version 1.1
F.24.1. AltOS
F.24.2. AltosUI
F.25. Release Notes for Version 1.0.1
F.25.1. AltOS
F.25.2. AltosUI Application
F.26. Release Notes for Version 0.9.2
F.26.1. AltosUI
F.27. Release Notes for Version 0.9
F.27.1. AltOS
F.27.2. AltosUI Application
F.28. Release Notes for Version 0.8
F.28.1. AltosUI Application:
F.29. Release Notes for Version 0.7.1
F.29.1. AltosUI Application

Chapter 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, @@ -148,13 +148,13 @@ 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 +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 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 +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 not prevent the flight computer from safely controlling the flight or transmitting telemetry signals, but no record of the flight will be @@ -166,7 +166,7 @@ primary igniter channels.


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 +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 be transmitted every five seconds. This can be used to find the rocket using RDF techniques when the signal @@ -236,7 +236,7 @@ battery.

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 +the board.

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 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 @@ -257,7 +257,7 @@ screw terminals in the same position.

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.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 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 @@ -273,7 +273,7 @@ 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 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.

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 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 @@ -291,7 +291,7 @@ 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.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 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 @@ -314,7 +314,7 @@ the left power switch wire. Hook a lead to either of the mounting holes for a ground connection.

5.4. 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 +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 up to do dual-deployment with an event at apogee to separate the airframe and deploy a drogue and another event at 250m @@ -325,7 +325,7 @@ 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.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 EasyMini. You can use either method; both feed through the power switch terminals.

One battery connection is the standard Altus Metrum white JST plug. This mates with single-cell Lithium @@ -353,7 +353,7 @@ 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 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.

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 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 @@ -368,7 +368,7 @@ Radio switched from cc1120 to cc1200. 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 +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 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 @@ -384,12 +384,12 @@ wire from the Lipo terminal (Bottom 3) to the Pyro terminal 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 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.

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 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 +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 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 @@ -558,7 +558,7 @@ 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 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!

Chapter 11. AltosUI

Figure 11.1. AltosUI Main Window

altosui.png

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 @@ -568,7 +568,7 @@ the tasks provided from the top-level toolbar.

Figure 11.2. Device Selection Dialog

device-selection.png

All telemetry data received are automatically recorded +device.

Figure 11.2. Device Selection Dialog

device-selection.png

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 device is displayed at the top of the window. You can @@ -615,7 +615,7 @@ 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 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

Figure 11.3. Monitor Flight Launch Pad View

launch-pad.png

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:

@@ -673,7 +673,7 @@ GPS receiver has reliable reception from the 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

Figure 11.4. Monitor Flight Ascent View

ascent.png

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 with the maximum values for each of them. This allows you to @@ -684,7 +684,7 @@ 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 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

Figure 11.5. Monitor Flight Descent View

descent.png

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 @@ -710,7 +710,7 @@ 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

Figure 11.6. Monitor Flight Landed View

landed.png

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 @@ -732,11 +732,11 @@ 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 +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 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 +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 you to locate the rocket, both while it is in the air, and when it has landed. The rocket’s state is @@ -755,7 +755,7 @@ units will be shown at the start of the line.

Images are fetched automatic 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 +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 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 @@ -800,7 +800,7 @@ record file, either a .telem file recording telemetry data or a 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), +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 clicking and dragging down and to the right. Once zoomed, the graph can be reset by clicking and @@ -808,7 +808,7 @@ 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

Figure 11.11. Flight Graph Configuration

graph-configure.png

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 @@ -829,7 +829,7 @@ 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 +

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 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 @@ -856,7 +856,7 @@ 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 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

Figure 11.14. Altimeter Configuration

configure-altimeter.png

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 @@ -1020,7 +1020,7 @@ 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 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

Figure 11.15. Additional Pyro Channel Configuration

configure-pyro.png

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 @@ -1147,7 +1147,7 @@ note that the check is based on when the rocket transitions

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 +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 flight so that you can keep your eyes on the sky and still get information about the @@ -1212,7 +1212,7 @@ 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 +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 about the connected device, including the product name, software version and hardware serial @@ -1267,7 +1267,7 @@ 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 +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 computer to help test recovery systems deployment. Because this command can operate over the @@ -1283,13 +1283,13 @@ button. The word Arm is replaced by a cou timer indicating that you have 10 seconds to press the 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

Figure 11.19. Scan Channels Window

scan-channels.png

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 +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 internet connectivity at the site.

There’s a drop-down menu of launch sites we know about; if your favorites aren’t there, please let us @@ -1337,7 +1337,7 @@ 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

Figure 11.21. Monitor Idle Window

monitor-idle.png

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 @@ -1950,7 +1950,7 @@ 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 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 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 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 @@ -2303,7 +2303,7 @@ 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 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, 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 @@ -2332,11 +2332,13 @@ 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

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

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.3

Version 1.8.3 includes support for TeleMega version 3.0 along +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

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

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.4

Version 1.8.4 includes support for EasyMini version 2.0

F.1.1. AltOS

  • +Support for EasyMini version 2.0 hardware. +

F.2. 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.1.1. AltOS

AltOS New Features

  • +downloading.

    F.2.1. AltOS

    AltOS New Features

    • Support for TeleMega version 3.0 hardware.

    AltOS Bug Fixes

    • Ground testing EasyMega and TeleMega additional pyro @@ -2348,7 +2350,7 @@ from capturing log data.
    • Fixed saving of pyro configuration that ended with Descending. -

    F.1.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    F.2.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Support for TeleMega version 3.0.
    • Graph lines have improved appearance to make them easier to @@ -2372,18 +2374,18 @@ to make it more useful for Tripoli record reporting.
    • CSV export now includes TeleMega/EasyMega pyro voltages and tilt angle. -

F.2. Release Notes for Version 1.8.2

Version 1.8.2 includes support for TeleGPS version 2.0 along +

F.3. 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.2.1. AltOS

AltOS New Features

  • +analyzing saved data files.

    F.3.1. AltOS

    AltOS New Features

    • Support for TeleGPS version 2.0 hardware. -

    F.2.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • +

    F.3.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.3. Release Notes for Version 1.8.1

Version 1.8.1 includes an important bug fix for Apogee Lockout +

F.4. 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 with accelerometers deal with speeds around and above Mach @@ -2393,7 +2395,7 @@ disregard the barometric sensor above 330m/s (around Mach 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.3.1. AltOS

AltOS Bug Fixes

  • +analyzing saved data files.

    F.4.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. @@ -2402,7 +2404,7 @@ 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.3.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    F.4.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

    • @@ -2411,12 +2413,12 @@ for graphing or KML export.
    • Load frequency preference at startup. The loading code was broken, so you’d see only the default frequencies. -

F.4. Release Notes for Version 1.8

Version 1.8 includes support for our new TeleBT v4.0 ground +

F.5. 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.4.1. AltOS

AltOS New Features

  • +boards and ground station interfaces.

    F.5.1. AltOS

    AltOS New Features

    • Add support for TeleBT v4.0 boards. -

    F.4.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    F.5.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Add support for TeleBT v4.0 hardware
    • Rewrite graphing and export functions. This code now handles @@ -2427,20 +2429,20 @@ 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.5. Release Notes for Version 1.7

Version 1.7 includes support for our new TeleMini v3.0 +

F.6. 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.5.1. AltOS

AltOS New Features

  • +and ground station interfaces.

    F.6.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.5.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    F.6.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Add support for TeleMini v3.0 hardware -

F.6. Release Notes for Version 1.6.8

Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where +

F.7. 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.6.1. AltOS

AltOS fixes:

  • +v2.0 users should update their flight firmware.

    F.7.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. @@ -2453,7 +2455,7 @@ flight.

    AltOS changes:

    • Flash LEDS on all products briefly during power up so that they can be tested during production. -

    F.6.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • +

    F.7.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 @@ -2461,20 +2463,20 @@ disabled to never re-appear.
    • Deal with ground station failure better during Configure Ground Station operation by cleaning up pending operations. -

F.7. Release Notes for Version 1.6.5

Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where +

F.8. 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.7.1. AltOS

AltOS fixes:

  • +v2.0 users should update their flight firmware.

    F.8.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.7.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • +

    F.8.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with Windows package. -

F.8. Release Notes for Version 1.6.4

Version 1.6.4 fixes a bluetooth communication problem with +

F.9. 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.8.1. AltOS

AltOS fixes:

  • +minor nits. It also now ships firmware for some newer devices.

    F.9.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. @@ -2482,7 +2484,7 @@ 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.8.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI, TeleGPS and AltosDroid New Features:

    • +

    F.9.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.
    • @@ -2493,17 +2495,17 @@ 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.8.3. Documentation

    • +

    F.9.3. Documentation

    • Mention TeleMega v2.0 in hardware specs table.
    • Document TeleGPS RF output in telegps manual. -

F.9. Release Notes for Version 1.6.3

Version 1.6.3 adds idle mode to AltosDroid and has bug fixes +

F.10. 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.9.1. AltOS

AltOS fixes:

  • +along with BlueTooth support for Windows.

    F.10.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.9.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • +

    F.10.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. @@ -2525,7 +2527,7 @@ the connected Altus Metrum USB devices appear again.
    • Fix acceleration data presented in MonitorIdle mode for TeleMetrum v2.0 flight computers. -

    F.9.3. AltosDroid

    AltosDroid new features:

    • +

    F.10.3. AltosDroid

    AltosDroid new features:

    • Monitor Idle mode. Check state of flight computer while in idle mode over the radio link
    • @@ -2563,12 +2565,12 @@ 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.9.4. Documentation

    • +

    F.10.4. Documentation

    • Document TeleMega and EasyMega additional pyro channel continuity audio alert pattern. -

F.10. Release Notes for Version 1.6.2

Version 1.6.2 includes support for our updated TeleMega v2.0 +

F.11. 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.10.1. AltOS

AltOS New Features:

  • +and ground station interfaces.

    F.11.1. AltOS

    AltOS New Features:

    • Add support for TeleMega v2.0 boards.
    • Add PWM servo driver. There’s no higher level code using @@ -2577,14 +2579,14 @@ servo output connector.

    AltOS Fixes:

    • Slow down telemetry packets to allow receiver to keep up. -

    F.10.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS Fixes:

    • +

    F.11.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.10.3. Documentation

    We spent a bunch of time trying to improve our documentation

    • +

    F.11.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. @@ -2593,9 +2595,9 @@ Provide links between sections in each document.
    • Lots of minor rewriting and restructuring to avoid duplication of information -

F.11. Release Notes for Version 1.6.1

Version 1.6.1 includes support for our updated TeleBT v3.0 +

F.12. 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.11.1. AltOS

AltOS New Features:

  • +and ground station interfaces.

    F.12.1. AltOS

    AltOS New Features:

    • Add support for TeleBT v3.0 boards.
    • Add support for uncompressed APRS data, providing support @@ -2605,7 +2607,7 @@ altitude data.

    AltOS Fixes:

    • Make TeleDongle and TeleBT more tolerant of data rate variations from transmitting devices. -

    F.11.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • +

    F.12.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. @@ -2643,7 +2645,7 @@ 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.11.3. AltosDroid

    AltosDroid New Features:

    • +

    F.12.3. AltosDroid

    AltosDroid New Features:

    • Add offline map support using mapping code from AltosUI.
    • Support TeleDongle (and TeleBT via USB) on devices @@ -2671,9 +2673,9 @@ Make voice announcements depend on current tab.
    • Compute adjustment to current travel direction while in motion towards rocket. -

F.12. Release Notes for Version 1.6

Version 1.6 includes support for our updated TeleDongle v3.0 +

F.13. 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.12.1. AltOS

AltOS New Features

  • +and ground station interfaces.

    F.13.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. @@ -2693,7 +2695,7 @@ 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.12.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • +

    F.13.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 @@ -2739,9 +2741,9 @@ 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.13. Release Notes for Version 1.5

Version 1.5 is a major release. It includes support for our new +

F.14. 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.13.1. AltOS

AltOS New Features

  • +software for all our boards and the AltosUI ground station

    F.14.1. AltOS

    AltOS New Features

    • Add support for EasyMega boards.
    • Make the APRS SSID be configurable. This lets you track @@ -2775,7 +2777,7 @@ 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.13.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • +

    F.14.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. @@ -2792,18 +2794,18 @@ Make the Graph button on the landed tab w 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.14. Release Notes for Version 1.4.2

Version 1.4.2 is a minor release. It fixes Java-related install issues on -Windows

F.14.1. AltosUI and TeleGPS Applications

Windows Install Fixes

  • +

F.15. Release Notes for Version 1.4.2

Version 1.4.2 is a minor release. It fixes Java-related install issues on +Windows

F.15.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.15. Release Notes for Version 1.4.1

Version 1.4.1 is a minor release. It fixes install issues on +

F.16. 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 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.15.1. AltosUI and TeleGPS Applications:

Windows Install Fixes

  • +V2.0 firmware image will not need to upgrade.

    F.16.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.
    • @@ -2821,9 +2823,9 @@ 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.16. Release Notes for Version 1.4

Version 1.4 is a major release. It includes support for our new +

F.17. 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.16.1. AltOS

AltOS new features:

  • +software for all our boards and the AltosUI ground station

    F.17.1. AltOS

    AltOS new features:

    • Add support for TeleGPS boards.
    • Make the beeper tone configurable, making it @@ -2853,7 +2855,7 @@ number to 2 on TeleMega and TeleMetrum v2.
    • Fix u-Blox GPS driver to mark course and speed data as being present. -

    F.16.2. AltosUI Application

    AltosUI new features:

    • +

    F.17.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 @@ -2910,12 +2912,12 @@ 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.16.3. TeleGPS Application

    • +

    F.17.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.16.4. Documentation

    Documentation changes:

    • +

    F.17.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. @@ -2923,8 +2925,8 @@ 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.17. 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.17.1. AltOS

AltOS fixes:

  • +

F.18. 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.18.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. @@ -2934,7 +2936,7 @@ 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.17.2. AltosUI Application

AltosUI fixes:

  • +

F.18.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 @@ -2947,8 +2949,8 @@ 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.18. 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.18.1. AltOS

AltOS new features:

  • +

F.19. 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.19.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 @@ -2970,7 +2972,7 @@ 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.18.2. AltosUI Application

AltosUI new features:

  • +

F.19.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 @@ -2984,8 +2986,8 @@ Main. 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.19. 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.19.1. AltOS

AltOS new features:

  • +

F.20. 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.20.1. AltOS

AltOS new features:

  • Add STM32L processor support. This includes enhancements to the scheduler to support products with many threads. @@ -3009,7 +3011,7 @@ 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.19.2. AltosUI Application

AltosUI new features:

  • +

F.20.2. AltosUI Application

AltosUI new features:

  • Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini telemetry and log formats.

AltosUI fixes:

  • @@ -3022,9 +3024,9 @@ Add Download button to menu bar.
  • Save the last log directory and offer that as the default for new downloads -

F.20. Release Notes for Version 1.2.1

Version 1.2.1 is a minor release. It adds support for TeleBT and +

F.21. 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.20.1. AltOS

AltOS new features:

  • +AltosUI and fixes some bugs in the AltOS firmware.

    F.21.1. AltOS

    AltOS new features:

    • Add support for TeleBT

    AltOS fixes:

    • In TeleMini recovery mode (when booted with the @@ -3044,7 +3046,7 @@ Adjusted the automatic gain control parameters that affect receive performance for TeleDongle. Field tests indicate that this may improve receive performance somewhat. -

    F.20.2. AltosUI Application

    AltosUI application new features:

    • +

    F.21.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, @@ -3078,15 +3080,15 @@ 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.20.3. AltosDroid

    • +

    F.21.3. AltosDroid

    • First version of this application -

F.21. Release Notes for Version 1.2

Version 1.2 is a major release. It adds support for MicroPeak -and the MicroPeak USB adapter.

F.21.1. AltOS

AltOS New Features:

  • +

F.22. Release Notes for Version 1.2

Version 1.2 is a major release. It adds support for MicroPeak +and the MicroPeak USB adapter.

F.22.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.21.2. AltosUI and MicroPeak Application

New Features:

  • +

F.22.2. AltosUI and MicroPeak Application

New Features:

  • Added MicroPeak application

AltosUI and MicroPeak fixes:

  • Distribute Mac OS X packages in disk image (.dmg) @@ -3097,11 +3099,11 @@ 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.22. Release Notes for Version 1.1

Version 1.1.1 is a bug-fix release. It fixes a couple of bugs +

F.23. 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.22.1. AltOS

AltOS fixes:

  • +addition of the Ground Distance value in the Descent tab.

    F.23.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 @@ -3110,7 +3112,7 @@ 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.22.2. AltosUI

    AltosUI new features:

    • +

    F.23.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 @@ -3139,8 +3141,8 @@ 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.23. 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.23.1. AltOS

AltOS Firmware New Features:

  • +

F.24. 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.24.1. AltOS

AltOS Firmware New Features:

  • Add apogee-lockout value. Overrides the apogee detection logic to prevent incorrect apogee charge firing. @@ -3160,7 +3162,7 @@ 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.23.2. AltosUI

AltosUI New Features:

  • +

F.24.2. AltosUI

AltosUI New Features:

  • Make the look-n-feel configurable, providing a choice from the available options.
  • @@ -3214,8 +3216,8 @@ 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.24. 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.24.1. AltOS

AltOS New Features

  • +

F.25. 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.25.1. AltOS

AltOS New Features

  • Add TeleMini v1.0 support.
  • Support operation of TeleMetrum with the antenna pointing @@ -3250,7 +3252,7 @@ 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.24.2. AltosUI Application

AltosUI New Features

  • +

F.25.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. @@ -3294,8 +3296,8 @@ 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.25. Release Notes for Version 0.9.2

Version 0.9.2 is an AltosUI bug-fix release, with no firmware -changes.

F.25.1. AltosUI

AltosUI fixes:

  • +

F.26. Release Notes for Version 0.9.2

Version 0.9.2 is an AltosUI bug-fix release, with no firmware +changes.

F.26.1. AltosUI

AltosUI fixes:

  • Fix plotting problems due to missing file in the Mac OS install image.
  • @@ -3303,8 +3305,8 @@ Always read whole eeprom blocks, mark empty records invalid, display parsing errors to user.
  • Add software version to Configure AltosUI dialog -

F.26. 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.26.1. AltOS

  • +

F.27. 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.27.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 @@ -3321,12 +3323,12 @@ 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.26.2. AltosUI Application

  • +

F.27.2. AltosUI Application

  • Support for telemetry format changes.
  • Support for multiple flight logs. -

F.27. Release Notes for Version 0.8

Version 0.8 offers a major upgrade in the AltosUI -interface.

F.27.1. AltosUI Application:

  • +

F.28. Release Notes for Version 0.8

Version 0.8 offers a major upgrade in the AltosUI +interface.

F.28.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 @@ -3365,8 +3367,8 @@ 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.28. 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.28.1. AltosUI Application

  • +

F.29. 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.29.1. AltosUI Application

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 |(?WP;~Y=kn))?rr7L#ZBS>?d#+ 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�qdtuwUU0WQ|FD2w#oi! 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 Companion Port

AltOS Companion Port

Protocol Definitions

Keith Packard

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

Revision History
Revision 0.113 January 2012
Initial content

1. 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 - 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 - 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 - 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 - 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 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 - the flight computer to the companion board, and then the various - reply message formats for each type of command message. -

3.1. Command Message

Table 1. Companion Command Message

OffsetData TypeNameDescription
0uint8_tcommandCommand identifier
1uint8_tflight_stateCurrent flight computer state
2uint16_ttickFlight computer clock (100 ticks/second)
4uint16_tserialFlight computer serial number
6uint16_tflightFlight number
8   

Table 2. Companion Command Identifiers

ValueNameDescription
1SETUPSupply the flight computer with companion - information
2FETCHReturn telemetry information
3NOTIFYTell 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, - 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 - 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 - 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 - 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.2. SETUP reply message

Table 3. SETUP reply contents

OffsetData TypeNameDescription
0uint16_tboard_idBoard identifier
2uint16_tboard_id_inverse~board_id—used to tell if a board is present
4uint8_tupdate_periodMinimum time (in 100Hz ticks) between FETCH commands
5uint8_tchannelsNumber 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 - 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.3. FETCH reply message

Table 4. FETCH reply contents

OffsetData TypeNameDescription
0uint16_tdata00th data item
2uint16_tdata11st 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 - 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 - 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 - 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 - computer and companion boards allows for the base flight - computer firmware to include support for companion boards. -

+ +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 +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 +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 +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 +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 +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 +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 +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 +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, +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +computer and companion boards allows for the base flight +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 3ef5655e8f04a0b26daaf3c1f117757fa83fe1f4..2193112fe8cc9052b1608fc12fbbb2ff39d4f1fb 100644 GIT binary patch delta 143 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 diff --git a/AltOS/doc/easymini-outline.pdf b/AltOS/doc/easymini-outline.pdf index 07716702df46c4f752d2ead49002ec50536de4a0..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 15211 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 -Revision History
Revision History
Revision 1.6.321 April 2016
+Revision History
Revision History
Revision 1.8.420 Dec 2017
+ Support EasyMini v2.0 hardware. +
Revision 1.6.321 April 2016
Minor release fixing various host software bugs.
Revision 1.6.210 January 2016
First release of separate EasyMini doc diff --git a/AltOS/doc/easymini.html b/AltOS/doc/easymini.html index 82f5b44..03820f4 100644 --- a/AltOS/doc/easymini.html +++ b/AltOS/doc/easymini.html @@ -19,7 +19,7 @@ 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
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.3
F.1.1. AltOS
F.1.2. AltosUI and TeleGPS Applications
F.2. Release Notes for Version 1.8.2
F.2.1. AltOS
F.2.2. AltosUI and TeleGPS Applications
F.3. Release Notes for Version 1.8.1
F.3.1. AltOS
F.3.2. AltosUI and TeleGPS Applications
F.4. Release Notes for Version 1.8
F.4.1. AltOS
F.4.2. AltosUI and TeleGPS Applications
F.5. Release Notes for Version 1.7
F.5.1. AltOS
F.5.2. AltosUI and TeleGPS Applications
F.6. Release Notes for Version 1.6.8
F.6.1. AltOS
F.6.2. AltosUI, TeleGPS and AltosDroid Applications
F.7. Release Notes for Version 1.6.5
F.7.1. AltOS
F.7.2. AltosUI, TeleGPS and AltosDroid Applications
F.8. Release Notes for Version 1.6.4
F.8.1. AltOS
F.8.2. AltosUI, TeleGPS and AltosDroid Applications
F.8.3. Documentation
F.9. Release Notes for Version 1.6.3
F.9.1. AltOS
F.9.2. AltosUI and TeleGPS Applications
F.9.3. AltosDroid
F.9.4. Documentation
F.10. Release Notes for Version 1.6.2
F.10.1. AltOS
F.10.2. AltosUI and TeleGPS Applications
F.10.3. Documentation

Chapter 1. Introduction and Overview

Welcome to the Altus Metrum community! Our circuits and software reflect +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
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.4
F.1.1. AltOS
F.2. Release Notes for Version 1.8.3
F.2.1. AltOS
F.2.2. AltosUI and TeleGPS Applications
F.3. Release Notes for Version 1.8.2
F.3.1. AltOS
F.3.2. AltosUI and TeleGPS Applications
F.4. Release Notes for Version 1.8.1
F.4.1. AltOS
F.4.2. AltosUI and TeleGPS Applications
F.5. Release Notes for Version 1.8
F.5.1. AltOS
F.5.2. AltosUI and TeleGPS Applications
F.6. Release Notes for Version 1.7
F.6.1. AltOS
F.6.2. AltosUI and TeleGPS Applications
F.7. Release Notes for Version 1.6.8
F.7.1. AltOS
F.7.2. AltosUI, TeleGPS and AltosDroid Applications
F.8. Release Notes for Version 1.6.5
F.8.1. AltOS
F.8.2. AltosUI, TeleGPS and AltosDroid Applications
F.9. Release Notes for Version 1.6.4
F.9.1. AltOS
F.9.2. AltosUI, TeleGPS and AltosDroid Applications
F.9.3. Documentation
F.10. Release Notes for Version 1.6.3
F.10.1. AltOS
F.10.2. AltosUI and TeleGPS Applications
F.10.3. AltosDroid
F.10.4. Documentation
F.11. Release Notes for Version 1.6.2
F.11.1. AltOS
F.11.2. AltosUI and TeleGPS Applications
F.11.3. Documentation

Chapter 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, @@ -105,12 +105,12 @@ 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 +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 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 +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 not prevent the flight computer from safely controlling the flight or transmitting telemetry signals, but no record of the flight will be @@ -167,7 +167,7 @@ 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.

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 +battery.

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 up to do dual-deployment with an event at apogee to separate the airframe and deploy a drogue and another event at 250m @@ -178,7 +178,7 @@ 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 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 EasyMini. You can use either method; both feed through the power switch terminals.

One battery connection is the standard Altus Metrum white JST plug. This mates with single-cell Lithium @@ -276,7 +276,7 @@ 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 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!

Chapter 7. AltosUI

Figure 7.1. AltosUI Main Window

altosui.png

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 @@ -310,7 +310,7 @@ record file, either a .telem file recording telemetry data or a 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), +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 clicking and dragging down and to the right. Once zoomed, the graph can be reset by clicking and @@ -318,7 +318,7 @@ 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

Figure 7.3. Flight Graph Configuration

graph-configure.png

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 @@ -339,7 +339,7 @@ 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 +

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 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 @@ -358,7 +358,7 @@ tools can be configured to skip over.

The remaining lines of the file cont 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

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 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:

@@ -442,7 +442,7 @@ 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 +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 flash data to this directory. This directory is also used as the staring point @@ -476,7 +476,7 @@ 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 +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 computer to help test recovery systems deployment.

Selecting the Fire Igniter button brings up the usual device selection dialog. Pick the desired @@ -642,7 +642,7 @@ 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 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, 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 @@ -661,11 +661,13 @@ 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


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.3

Version 1.8.3 includes support for TeleMega version 3.0 along +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


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.4

Version 1.8.4 includes support for EasyMini version 2.0

F.1.1. AltOS

  • +Support for EasyMini version 2.0 hardware. +

F.2. 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.1.1. AltOS

AltOS New Features

  • +downloading.

    F.2.1. AltOS

    AltOS New Features

    • Support for TeleMega version 3.0 hardware.

    AltOS Bug Fixes

    • Ground testing EasyMega and TeleMega additional pyro @@ -677,7 +679,7 @@ from capturing log data.
    • Fixed saving of pyro configuration that ended with Descending. -

    F.1.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    F.2.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Support for TeleMega version 3.0.
    • Graph lines have improved appearance to make them easier to @@ -701,18 +703,18 @@ to make it more useful for Tripoli record reporting.
    • CSV export now includes TeleMega/EasyMega pyro voltages and tilt angle. -

F.2. Release Notes for Version 1.8.2

Version 1.8.2 includes support for TeleGPS version 2.0 along +

F.3. 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.2.1. AltOS

AltOS New Features

  • +analyzing saved data files.

    F.3.1. AltOS

    AltOS New Features

    • Support for TeleGPS version 2.0 hardware. -

    F.2.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • +

    F.3.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.3. Release Notes for Version 1.8.1

Version 1.8.1 includes an important bug fix for Apogee Lockout +

F.4. 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 with accelerometers deal with speeds around and above Mach @@ -722,7 +724,7 @@ disregard the barometric sensor above 330m/s (around Mach 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.3.1. AltOS

AltOS Bug Fixes

  • +analyzing saved data files.

    F.4.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. @@ -731,7 +733,7 @@ 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.3.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    F.4.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

    • @@ -740,12 +742,12 @@ for graphing or KML export.
    • Load frequency preference at startup. The loading code was broken, so you’d see only the default frequencies. -

F.4. Release Notes for Version 1.8

Version 1.8 includes support for our new TeleBT v4.0 ground +

F.5. 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.4.1. AltOS

AltOS New Features

  • +boards and ground station interfaces.

    F.5.1. AltOS

    AltOS New Features

    • Add support for TeleBT v4.0 boards. -

    F.4.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    F.5.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Add support for TeleBT v4.0 hardware
    • Rewrite graphing and export functions. This code now handles @@ -756,20 +758,20 @@ 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.5. Release Notes for Version 1.7

Version 1.7 includes support for our new TeleMini v3.0 +

F.6. 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.5.1. AltOS

AltOS New Features

  • +and ground station interfaces.

    F.6.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.5.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    F.6.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Add support for TeleMini v3.0 hardware -

F.6. Release Notes for Version 1.6.8

Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where +

F.7. 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.6.1. AltOS

AltOS fixes:

  • +v2.0 users should update their flight firmware.

    F.7.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. @@ -782,7 +784,7 @@ flight.

    AltOS changes:

    • Flash LEDS on all products briefly during power up so that they can be tested during production. -

    F.6.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • +

    F.7.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 @@ -790,20 +792,20 @@ disabled to never re-appear.
    • Deal with ground station failure better during Configure Ground Station operation by cleaning up pending operations. -

F.7. Release Notes for Version 1.6.5

Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where +

F.8. 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.7.1. AltOS

AltOS fixes:

  • +v2.0 users should update their flight firmware.

    F.8.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.7.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • +

    F.8.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with Windows package. -

F.8. Release Notes for Version 1.6.4

Version 1.6.4 fixes a bluetooth communication problem with +

F.9. 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.8.1. AltOS

AltOS fixes:

  • +minor nits. It also now ships firmware for some newer devices.

    F.9.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. @@ -811,7 +813,7 @@ 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.8.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI, TeleGPS and AltosDroid New Features:

    • +

    F.9.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.
    • @@ -822,17 +824,17 @@ 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.8.3. Documentation

    • +

    F.9.3. Documentation

    • Mention TeleMega v2.0 in hardware specs table.
    • Document TeleGPS RF output in telegps manual. -

F.9. Release Notes for Version 1.6.3

Version 1.6.3 adds idle mode to AltosDroid and has bug fixes +

F.10. 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.9.1. AltOS

AltOS fixes:

  • +along with BlueTooth support for Windows.

    F.10.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.9.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • +

    F.10.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. @@ -854,7 +856,7 @@ the connected Altus Metrum USB devices appear again.
    • Fix acceleration data presented in MonitorIdle mode for TeleMetrum v2.0 flight computers. -

    F.9.3. AltosDroid

    AltosDroid new features:

    • +

    F.10.3. AltosDroid

    AltosDroid new features:

    • Monitor Idle mode. Check state of flight computer while in idle mode over the radio link
    • @@ -892,12 +894,12 @@ 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.9.4. Documentation

    • +

    F.10.4. Documentation

    • Document TeleMega and EasyMega additional pyro channel continuity audio alert pattern. -

F.10. Release Notes for Version 1.6.2

Version 1.6.2 includes support for our updated TeleMega v2.0 +

F.11. 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.10.1. AltOS

AltOS New Features:

IGS)lM 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 delta 175908 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%0AG#;+-LwnQQU&m8E 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 diff --git a/AltOS/doc/micropeak.pdf b/AltOS/doc/micropeak.pdf index fa9f00c52e4043f19431f2ac11058753a8d8641c..064a5116386b8ef546963261ff053251c125aab6 100644 GIT binary patch delta 372 zcmajWJx&5a0LAePBCdceet@8YsOuMB?##|O10g1Y>qo9nkuJQ7_2PZvtM&Yn_-~0X zkirJi*hB_f@UV?6a>!!`1+2bB>|zi5I6w(y9HN3Mj&O_<)KJGM8aTr_E)d`nSGdLv zZqY;wZFJDZ9YRPbM9?s}hy6-?SDcTOvHDSKJJL2B>Ze$lVQj34jIr_9$oQc#_;2zN HEM4;t)kAyB delta 372 zcmajWJ5B;o7{&2iMdc*}BEBC8C~xJv-r>#=V=|A-3fPe$EOtnm0JE6#wW@^27nLBztKc&ud>L_er z6B%q_8#~A%hdc@>VizU+eaom|4^`}=h65bp2*)_VDb8??3tXa(D>TqV3)i?o8y$4f zLmvYSaf>^QAkesnfr~NhN9uUxWn{y6oP^>h{wRn7?Z;6ZN)mV`4qRibeyl(IH(9j4 Gz1}b8r+jGu diff --git a/AltOS/doc/telegps-outline.pdf b/AltOS/doc/telegps-outline.pdf index f9359c31589843f84abc7abb241db37d612593f2..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 15129 zcmb8W1zgn4^EeI&C zl$Ks^3E~z|h#vG=PNtP7B3!ovv2hE;ziGiEmXM}p@_mJZ!!L+RA|pd^DGO7E(Hh|`aPYhyxdAL}&s@;#8c-+Z0K_*5c_gwa6ovACRq zi;>?yxbdF750<#kxhT{o*N7;mqE~<>B`xtosZvyO5DGIGk96 zl0F-(zUw9LQ&=ci&eq}=p#!2JO*~K7xLiSwODJ!}o98zPc>mF1Xp>aT@B$)=i4;yy z+2gOqLSEW4QbcGbcZiSlW>?RkxK(+XL(I@4Gwy3OiKY|`BKDb)J)-yClSRk)>&3Aj zFD~^tUJm{5Kk zadQl$$bpI6%L=H#$mX^W5~B~!2OnV-bW-u##3*V;$TmJS_O}e0@1gqj`Cw;Ape*>o z-rRC|>8Wz(QL}^!nw7*Y3zWhItaa427KlCe42o;Z9XBjgqx%ggP75O1{(w7o-%^p% zqA`i*z2P;zQwm_|#yjxwOgCc03h{MQVUE7F6Ns6vnuD3=mzb8C<}?UdN9RTr@$XD0 zS%0#Q|GJqr9;dg(s^sBkUt6&2#JxFGxfTU`qU76qek=0v;i6< zDrzigydeqgS0Y~n`~h$8P)>#u09NEhzJ$PNuDV5}eLhoDJ|!l=?vUO{V^v{i^d=yS z@t+E3mefdB&Ja|2k@GyqVT62>CGmBvjP?7zp`vvFj6jg$T?D%vU&i#1))39Q!qIaq z^tR?46Gb3_R!z+Ou*!B1a9b(Ugr^PN3Bd`q3$ak} zl@HBV0{cLIhG%!egL*q+mJ%IAYQQrDc6b~iS{+GCjo-*U=|2+B`|Nejw>Jp(RZUrPAXXRv%_ZpE9VQf2!>1!6r&^v%vuwP8wP z(usEL(dnV+DPS~ER~j+keg>MUPz#*^Zt(%Wqpj+h`ngjAJ za1QVp$^L8OPLfW>r6~Vo|3XwP<6`Oj_L6qr53fIj(Q1{6mnk_)A4CzT^*m)(wrWz( z9#ON5u86IOfYlx0ZRCF`2f;}0l2j?a{7jM{S5{IGTTpCMwGEs^o^%&*7cj4tu6dhNHT!`or9>8ajDHc|qzI8V^QBMo~sja-8#& z@*n5b=b7hL=ZFmfthKFaEk~?p#@j8*xR57p8`$=RR)cv zjmH-*7UmjqWl4Q09aR{%93mNqtb44lZn|uK98(**J2YK9UVN%CuPtWKBynAeJlfm` z7*CsCcp}9nRRykGysBKTRJL|4*wMY{l%IZO4QpS23GAB~c8hQ*-hY6vhW}9^|I_Q- z5X*SWunpqS{sS|@(xRmFzU|L0@$dL9EbNR^jJ-N9@7<*cAWc=Hc<2~#&RDX1CG*(nW)L3*(-y`2Dv{}qpoN$a? z%$7h@f9}A~P}q!{{gP>pgN4`nI{mQ{Ns^sS>>PR1c`H#*>^C;^wn6Yqa346et+92h zZH?v`jTQCk#L2eQwiY>=GKqPh^(VF!Wf@)BSXpH`9a)N3iNRIj>=7wpr4hLy?)Y2x z^~maR*9cvy?U+P4Ke8dm;l|pB%dK?mf3NC+_Du*z=e&zgWt0a!5sc^Va$V!2m->_x zS+Ba@OS$n~AXuhWklnuI9>*TRl&~H%^V3zv)$JaV zd9(ULJD~~@^%(&Lya&=w%w6gO#>8$^}KGyTC zr`L~(hoK^s^Y1@KoO{{tO*O_mZz8hCv?JPl5c|N3-T1-mWy?ZP2xaVv%q|%#FO#UM zFVkYo>)q-(?=tlQ?tIu+pS73aATu3_$$CFMoH<55=3)_P{%8+*mBpt+8o8=Es^_)L zbygpyis}kwtIVK%t>FH}MH*f?UF#LAyVhb9VFKUN`fH2c8x(%LBwp2?Dt&;BjD6Lm z)0IS;Np_d4DS6=?Zt{`H@3FD#E>-=nXy$ zS}a*_T<^-h!9 z?7{bQvQ@tRS<~6=28d(6NwZtpRn`8^i9}ROxKNgB-EQLS&O=?k5iT1M&-0YFM(b1k zy?Ig{F%b8r*momVnBq5|L!=~~w>GeD z_;G$ONeq3}ca?tr+dS))&XMNkPOz)&p2u3_T597Hx277EZxWkrpCSq(u2NCNl-RPo zJH3j|GR`wE@-N029%DRyEcpPp&SwzKpB(^0PQQCcUwj?qpP+^72{g^?CDz+zjsm>s zK8CzV537-L3Q)w^?jt?2z~rNWWcEz=m_n64FLz1HWEX(5=$#VYdb0D0I%S^lU7%pz zLHKt+{j;B*9>SZu@%XrTxPEzm+&^J@912oWl3*u@DFERRs_Oqj;Q5IF_if>Rpt`#~ z1i+yLfq_lIFfan5=4=eR0ctBL{>5|TMG*OmizqDS26tqwAuxb3#N5(OgnF;Oi5g&O zDnhNrqr|CXF9or%l=pCisCg)>n|N582$)ifi3+<3y4l*>!g~X_+1l7S3A%|;gW*mq zL=gTP0p_3<#T0flH4{{omi>tWFNsiFz+m=*92~B$uI#Q{>`+H@4xoU500$?C0|a7& zW3V~7+rhwYY<5mGzbHsUoJ<@o?O_N{`j5^`O@0%ycXqV7A!BO70e9?eA$Bk)4j?;_ zgBpP79c&DBhKW!kNST@lnn4|H!7x#AH>Ol$laJ}XY7v&n-0%S|=5@--V|m?6 z_eM`!Ufh1nB{_UlmgYx0gU{r0y(FYQE~lC^pH9ThRTO@&OjL(@;(4=rb3A&+wm0|w z_}0|Bv#ODe@6CL@TNtlAR3;b&O_uzm;`U?c4m0AXjNY+gc#C8S6TFY)WsDeRq98YD z04ZD^x(mz~Mk7<0`lk^PA7Pshvu6^7P3VW3$1ULcV7X1cVD@pLj5Ul_UDYbRuntz$ zX(Y7;(vzrbhZPYQwgVYFz8j;m(NqRnX?)SH)-_3Lrm4OsYw@_2Sj!}DDGb(GG`99a z^Ks!?$EGQYck9as$@_FdOj|5>k28+Bk(HG^CJX!LM456Pjv9>}BjY?hUVZM^@pVnD z!=pnsk;k#uk6o6-L@*@!ekxOK0NRJ*PM`yXyTrx?R5J?Yw8bX-lI+T6`;5xhwheiP zoQk$wglC3Ac*JRhJa$!(+_TI5ne#*IWK)rffX_fNS$P!}rf%35SG#ngqg;l16)O=6 zD!IqB%$vD@!@C-t#2al-Ta@@YYDcT(HZ;HWyiFPOu#!Y~o4cQ_D7;7?6!m1^Wz6AO zU3QZ22ZQD_tn-veFn*Uug}|PTL#Z9_e$tngKs%wW2|$xYo3p8fNnh^f1o;~wbzo=| zHbqdmh*EYy)r0L-k2SP6Xanc{e&&Z>10mBzM%(to2Pt2ed~MO^U9{f!S2OTRelbm- zplo|T;{3{jJEbiqVK%W7 zYoAYcKCLz)8FFt++Bn;#Mk#?<@{^Gc+c-RUKg~tuqt=)T+EtXYSdTudSd3PLcH}JH zHfiv)b0YKGiD2NJpXP&lUX@sV*6g^xHxqQ-3~_#b*co$bQSN9tdwezGWW&|;BT9+7 zEAjbm`{cM>is3X%AYuDlR9>W=n&7Q!ml;;e)7K@tL4>?TD;cvxCoOVVe0G$PewG)_ z%oO=4)o;jp#XF|e+Bwwe7L2uUNQ!aRf^~K9!W0d%2?`43G9IB99#E=zyq%`iuyvnm zmoQJu#6Mm;MtO+g3zV02Uh?8bsUQm~-<`G}n+WpO*;LqEbBPS;(>mjjyPh`gfF3J4 zBgYkAIHJYqZE3_e;vN&dY}bGA5v4^I6$O&LZ>Vw99Fx=8%Hqs|M7r2M0r%+w}kv{>}Hf z$((c8oEb%|tqhkR-aOTqn|w+YoFENJ4tzwb6W5vC{A~COPuUE2*lTfVP(s&0tEO96 zkkkttk}Nb46<@37c4}s_TNJ^cRfGt$ESd8lZ3pUC=*=3E9@Ig0(b0bLs+y{tTx=L# zJ&!l{j2NgAvoi!0;wbM+AV+yp_?K~2SS-EFSlKmSV60o}@v7y07{H~4R#+HpQF8ak z)W&ecp^?Axg5~lEo|zRna31&aaQ0vu)a1ExT_D;ZLY-O2lvARQlR7UlDbkmku+?KMv>BQ3^^`=23Y(erG`OPAmuG$0~3Zv-Y2E^>EsJT6DJyIaM<&`7;l62 zHfz6kM|mSxIPL$3vx``l5UUrEm+QB)EAV^yLU^jG5GSa!qY1I}gg(7()H8vg)Cx8vaD*zW1 zHz$0`xcP2o0)8TG?gW6(F=AH0_VN%!Qve_E1|Z>NawA$eGNK;QJ)(>tgD5M&z;G8` z!pE{7E@Wy>Y0RGnr`#V8vBZASkXR`a@wt3OL@NQKI`Nsj?|3wqS+T}>FhCvpG{ea z8b1{{@x7DG18vLD_BrkkwyH)p{X&Xre;gg8?l7cHzd~!?3Sr*sZzM=N#mEIhQ;AYa zh66&S_-iJVX4O>Gn{s*CNMB3ta!m<(Kxc-GH(GySZHqNzl><>fY$7M8`d;l&q?6Tm zcP*2Vdy`zWPN~S1f7{=wFS!;)N}U>=92WY5!`9s+-c?_hR4-by_la<#>)ezb8bqv} zA?Uy7d=?&{a4+sQjvK1cGRjU^6Xc@%0aCQrdivYAWj30%Wf7VOHCu0cy^k$gQw6m# z=KYvGgBAquNQ$)fF7SA2AzL+9uh-QXrB!9s<&_z4L>`oV>7eTfy_5++JHPwFeVjdB z3~INVoIE+1K(b+(%fy9`|JD4}u!vputT8Xi`y;_Z*}i=KSgJSF@*h6R8!w@SiqR4U zr+*zGNbjE1j89ah{k}yreTw2dLy&tVi;3E7mIbB{RlQ4w#8r$|t=9rO& zWN-_!-PcUt3KMJn=*}iyq*;jmEz{LXY2^3>8K>LCgVI9~hisX2`rHhViu(G2n{O@? zUF1_%^}sZ7Fw;I-q%N4LLTv~f#reju;CfDii+hBDEU`Un@W7`%(B4i=Z)D!P+EgJn zvR#sCBTG!kVXaR!L|dDdPOT_Y!(=NuoI`yqv2`KkNAm(Z!-(kOHdf$|B5HL$b<{T<3*B#(*gttgRY2p_ zZ);n+$F4LoBMT4eeA?SD0;+J0zr`_ltkwv}0uw{L`LJ?`)N!mPmeQ>zxYzyAx8+~N zytFs;K_B<}mdS9NE-NLRoQ%R@m45*mV0w$XE}~!%<-cK} zChN(TXU&Vaw6k!czJ*MvpG@xJpXjs9BHjETM7zKOKto~fzd2;I6A%K-gq1!n3q3a( z%QPme)Vdwb^wu)6QM^@=IDszn0h0qA!SVQmK$*0L_MT?&xA0`Lc)A)KH!uRKvCRcCL6$_y;*a97=Yx^ z!pIXsMTa5N7l0=?mD;W@Gn<>{7ESh~zB@Z@Vg*6{R36*rYsi1ILm`Gu#_d!jEt z6$SUi5HVeq+U;w!(YewvDt2vH_leBL$ zt&Kl1fSZ*jD#p)ws|zIvO_-a2RjQOgK?r3>MOkBFi1DbXP1Hve60L^&sLA1tkMHp7 zuXng{K;UG71{L43H}{Ci7h7pQKDEMeNaQSf(!w-=q!M!uV@~bNJ|>B0?Bo$=v=TE8 zH?mEqvu_s9cx8=buEDe}@r5t#xVDwxh5X{($2Fxco*Pqj&B(VFxL3mNt_@>-gx5x;0bSf!q5|#JE&KTl8qq&b)EW;H%o&ji(_!8WA9%=A7`%E}w;O>%ph}Qei zNDJTLi@_7Z`{@tu^_%^um=xXHMxj5Fb(vo&WX@kcwOaP!2(KV3q3Ec)wS{+pixd@L zONpcxuwzodhcYqO(Sx$jTmW|apte=AxKZ30BBd6zVm#g9SiZRFUMO%R0C`RB zyc8RSc+F(1O~fJMaw{*u31SeOO5zdf zYB}778SEs)G{ZdEy_FW;nNVU~`3and5+;qa&j0Z13QtU6aGCssl|fJbDW>VN=IcxV z(5_><6PW(c_!>&f<>$uQAcxe;x`hSRd@U$J zuwEssBS3V|+VojdTvM!Tubu&IrTGsR?u~WmO8G%KZR%%tr}Ah0$&_|QG_Fyx<+Nvx zM(*NX>Rx)Hw3OYD!EXBy%?=A8Hf?Y$Gz1UEOgP{-o3+&AD@akSsn_dk6B}^ia&x*@)Nu@{QBCJ10TrBe>5t)C-XGTu7ii{JS3zy{>Oq0a?>KfR z6x&ELK6FJ4Af_^-fyiA{c@-WGDyx;tU zjgHLVvaKQ3H+5cP_9??|8=jT@o;!aLZP1Yh$0CbJ(0OjoQt= z(~2Tff~_m@5d$VakshiNKJObOeDJ7?d)#HL=c759A_fxL&=LJyD&#WZdD~2pMEeq*cWV02}IwVH5 z`B942oU`Ou%`$apMDO}NNltlVi&yUC*g&L+%!nh<_{Ff{;Ky^XlX6y$Pf-!KG5ZMn z<-GdI-z9k{{1`7=456HR<>E%FA1I4=_bGR;#Xcu>yJ-O*?yUhJJ>BJja?u^RG*|9B zlR9$+7C{sbG8fOTgsU0r4r_!XHB)0^1@E?&ekK8~X;Tfaaa(W`-`36Vvl~n#5J_~V zAEbst+bn4@OLn~p~xkXqYZG8%=pzJ^{jiA7BuG806)DIfFkdzZCGDdi3 zytWDSE5vfR%FVprg#GB>_CYr;i!lkFpdrDc2=0wp5wmr#j^kV#2*cVDb@;XrJbv$? zXUu+g-16|1|D+U*R^i7x&-0lWmbHHGL+5tygvX38NmM<<84ESDO$uTeDb|%N&I7AhU*T`UcgKE*;0-y`8)E(Z$4qTX}HR<=c1TmWMJ@ z9YtZCbZkUe1fe9MK6_ZvP?->!uwM5rlgy`?2KFDkg*DykZ6-%>RayhYv1K14oicn; zlf37ksiI?2b4IeL)*6xCVnv^OzNv=t&T2baUeTn?yf4LGevpg$TMKl4XWDt){K@S3 zw|+{(Wb$a2b}@&6chh|G_vSRjpWPGIEUB|{F3Gb#X_y*a;hT*!jHA?6osNvtuct2{ z{D_vBgwyenM2*v3QLZq)kEjqLC?o}&WK(8Yy%*}o#gF}Cft!J}jf_38VQ$Fc70IE1 zw4!Q^d&bKK--E2TpPl$lMUJHp2f3!n^2t3ncj+Y`)okCIy*TB93jb(c2woJ5fAVVQ z_%ymfjYRlk#>P5R;&W~Jm>u$n1NxT_4$=myyBAV=`x4)p)zin?S81POd8J1@R)5k5 za<8y*R#w0rIo`Y&wIRsYlw(LJBLXKzC_j3pa$k{~0Z7+Es|I_dz&XY9aA}FBRa*ev zp!ln&mTjzVS2~XQnlv4odyHwHyTwW3JE?oH6&Y;V?Rb4lTdE0qbS&?WySA4574S`t zz5{FlA}qNQwZ>OCkX*g-T_gL$=wTqo8^^M}BFeqECtBAP(4{e3*V&I@y(}P?+2e`) zhI;xJnw_!FPa7*toW`Zt<=i#poWH7ByQJ7Z8%m*x4McJ}i&eUEwVA5G-g(C8E!AL; z7va@=mwYHkz~|^lo{gNcEl0*0M}a$JWlx_bYKM-YlG6D$9F2tU>*f@-G9QNjh&D3Dzb{jn zNEkdGIO*gP&URTj+2HS_|2m;XNVUo0&Aj&U3<{apfOF9ZW4P5{q8*z7j z_meFj`{3}h(XHU5pDd!jbYxeX$_H8cdY_b2o)&_zuUxeHj)?0(cB zt4}!0L0x{bN9CG9ME+)>oJ>d4#Ka`Sy)o55fHkU!{O#SobvhH)VmHgowu%>lb|#HA z=e*;qRfbK+V~as{w&hW%4O+wsR%U>!tta!>S|^Si`aqoWGt0R!7WQwo@3&oe+De-9 z>~+S{yHJq$6h>Txm~f_)aG8o)_jwHrWr{GU*^21R1RBiQ9=`14oA>;dTUQq!lG#Xw zvTZH}+%|Vwvi7=)gfE>U5!~;wo`gRG1OOJ1SC2M^S}I9Xa{iT*Vr< zG`YNkDn{b|tMO1u{mbQ6216{0>FZXO0nv*dmgfoO2ZaYOmV=hj9q(>L?!Bq*zF3Zv zM`NN2_#hc;|3qLN%s_DO@Ozd~O+InP@U5r&Rw5Awotpy2U)Cw!PJtbbrNB8+i%&i@ zEgig@?REtRH3ZMh)9l5h?izg|DHl#^5V$;Dto|fd7HZ{icX#TwZt^2&u-O=4pVfPl zT1y8bmM%SNN_;Me0%zdb`yM~f?WQI=GlzJw(wb&`DC^@qd|Pdc^74dX|>I_sU@OA?C{;BBCB7Mea^Ebcc{PMJ)Mx=b>6eW;*l`Y@mJVTe@ix*=#& z1z$IQDb!??G;nc5SGic~T@HW2snY8}TqTD$L<`{H1A47Y3+E@i>8CHgg0})cf_KU1 zdN1+r<|w&u55H_kN2+uOX+GFemm3NySU7Y)(&dpW5RM49s@|9G)zx6Oc2~(%Emwa3 z=|fgHB)upznG3iS%48rLy=B4M^0CXfAJ4s^yO>N@z{X4&N*w7*#&a^ZNL7ZjQ(EM+ z6qL~&MZ05q`6O@_w+NnDR^f-uGHuC=h0=ht71o)<$Tl!Vp?UYciCbeL4@x86bDGst zk7B{8=+`uXYLp%*n$_!P)ZqNU0V{57A>tJCGdW%C#6>RV>%MA35_O6?Pn`}!gU_Q! zbDrlA=B`Iax0|Q;6&q-1oq%dBSwz@ryzTbmw5330^UslKpA^;&rC=Bsy9Y+Ty5{Wn zHjSH>im9TC?o_llXUOlo!lA6h7nb?_P)K{fU;HuliR-`&2lkhwjmcRaD2Lc#OX}SG zetY`xz}&P$2}}9Oo|xO=3%iw08nv@^zk8{|hO_aJ&PHovJI4c}uwlQuL=RZ=espMD zvvxYVMiH>K^5n^>bMMr)8J^f$P(2tdKVluo<3B2KYQF5d-RjJ5PX8{xwxrJIhxL3n z=U(j2H<~^(dLO>6uD0u}ps`k9f!+EiabwE!5z&(G9>bT#gKj-#(BUhXSL z--L9l(eWR6aN~;CUYdcxLAq; z@(8QnikBd37aOE4m4-Ayb}W2{fv-Vt#nyM`&S#^3j__vIxkqubMs_IJ2Jg}sP~hPX zJ(?0yuJ+YC1ufGplXnWb6i){3*!XZ8hcrLE!||$FwkEJ3yxFXxYh9P(wiD>(9FRp+`;Q%e4*jARmYRQ8z2(a zXPuN-AE3U-j6&tDf00N}#YJPHK%&s`SLzP}FG%_-Sw`srz zt9l)Rt2<2#^XI*T-6!elWc~aJ)QPWW?xUuK&F(JtqU&hg?nz44i7d0}lc{)Nd}-*` z&Q4-d%15uO?-eShHF$Evq(VYpu7|bv0*h9&R#Q&KDr;U=RLzC+Kz8K6_-z%djjh{S z6A`%tknZD?DB#KRCB?)7-&RY;j7`oaexz5Nj55$vRjK$;$4JPOjysi3sK-&2ltz-s zslzRC=Yq zldl`(M3a;#Cd}f$eQ7)#{r0Kydrwt{Z|6lCQ!#v_ip6Ct%o;(|8&>VklD*XxxT>ZP z2=cJcY*k8Td)S$(4P?qn=B8stNeQt=y=$5LjV?^}R+<%aAr;`eADD!NRD>Wsc8M|X{7;+g zT17qHhFe)t9bi!D*YLUH9M|TvB?YjUUh36$xo0wgs=ux$DhNNvRYRxC>7v&5jpb1F zOg>OQXgYXZF?ijzIvueWU)8ziprsX7lYfcq8gPwMovocict>xG-OM_>lx8<`1^G1c zfZ4US>C3xyr5q(rNbOQ1mz7Clziwq*;mX@An|)Q+jjv?0p;u0`yv3E80fz$QPUY?G ztEB_wtcJeZp;y)Q56&qax31X5q7EZdU(Ib)sx=l(Sroq?lT@rUE6yD=)wMF7$u5>3BeCPF)Yma=cZ{HipZu@r<%T0g<5eMYu=K7t+aucjU01=_DUy+!fQM3Pu z!~89gC8^o1{$-01*R9imJwqf)BebUf==4{h5ybf`a|Rx~`W3oEM0@_oqeH}#5T)Na zbO`WGqzRFUhp7F3gvMm-;I}Z~5h{2X%M>2evV^&_$={HMYS>vKE@%Kizaxr&1innc z@bDF!s1raB^fSrtFV{f+9b3F%kK=!^0)Ss+QIJ-L$|*=If$jff1`hu{EI0y!7GiXu z8+0{yCwQby!Ojc{Kum!uJS7mGs^|{C)`H0HV*+qIaWsWEA_m8(A*BW{t2x87>2C7w z;9`U`eG@zUGnxnhA|j5e@aU%&JbK5W1<->R^>{fs0U#a$02f>kJRmN3Fq9tv0`bD* zq43}Q-0(6tfR7jc)mr*}T-`bCpAaL)3#c@)fK*_i=K$V!{7RO1;jF%66mvTH%y7AjQ$0{}s(Rx=@ za#R#UGHvxiF86GEq$^)e2>qCgtPp9?B$F}rtWf!q?}oC{+t%t$>-xu@j+L+Rk25WA z)8l2DlhKeo7QIY$aJ)M$wwa!OJ1bXzZ9bWPJV9vMdp6IuDzWe?J>_%z7fw0Zp!ww! z)#>p%hFJd>IGHCBvlZl?-woT>jDv%l$<0;#vWCV&p4skJ)PL}LHn}nxu~m1`!?jyd>G0zD3D}7Siu|w9i{1zA-I8eMuUZY-qz*54m zH?d7UCb4PEHCyx43)I5>?y%F|KX{V7Z8To+?HrA%dolgrCg5fU5wprA!2R0>{7Sa{ zYcB1LlKs;L01=A(r{c*&Y+N8Pcrqyh{HNY)S=ve1Ia&S!{57`!=Z&;qwg!>Y-~?Ab zs52th0F&dfr77GF{9*L;5i0dF#{l$Sv3n_avab!)9MSy^oxdb2D8ds`0gMp%g*JHQ zue?XVAL{rMT@h>yv2g;xHSZ>40IuDCT#ADyUi?fV_=Btx!f0`5I6;2Z|8+!vx1R{9 z-IxwpxaQy3RzwaW5CFO%h!_r{Z%3#JA~vtb0l%&Xw@kKh5lH@gO2Opp3Tx4D0Z0l9$!|KtzI zB>=a@%A{-^BW;5-Gs*frJIPfzr|vQv3qkTtN8b@N!8C zNb&N^@W@C>$;wFb^N0feH_DBss9Acz-3mU0UOK_Rj

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

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 +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.4
E.1.1. AltOS
E.2. Release Notes for Version 1.8.3
E.2.1. AltOS
E.2.2. AltosUI and TeleGPS Applications
E.3. Release Notes for Version 1.8.2
E.3.1. AltOS
E.3.2. AltosUI and TeleGPS Applications
E.4. Release Notes for Version 1.8.1
E.4.1. AltOS
E.4.2. AltosUI and TeleGPS Applications
E.5. Release Notes for Version 1.8
E.5.1. AltOS
E.5.2. AltosUI and TeleGPS Applications
E.6. Release Notes for Version 1.7
E.6.1. AltOS
E.6.2. AltosUI and TeleGPS Applications
E.7. Release Notes for Version 1.6.8
E.7.1. AltOS
E.7.2. AltosUI, TeleGPS and AltosDroid Applications
E.8. Release Notes for Version 1.6.5
E.8.1. AltOS
E.8.2. AltosUI, TeleGPS and AltosDroid Applications
E.9. Release Notes for Version 1.6.4
E.9.1. AltOS
E.9.2. AltosUI, TeleGPS and AltosDroid Applications
E.9.3. Documentation
E.10. Release Notes for Version 1.6.3
E.10.1. AltOS
E.10.2. AltosUI and TeleGPS Applications
E.10.3. AltosDroid
E.10.4. Documentation
E.11. Release Notes for Version 1.6.2
E.11.1. AltOS
E.11.2. AltosUI and TeleGPS Applications
E.11.3. Documentation
E.12. Release Notes for Version 1.6.1
E.12.1. AltOS
E.12.2. AltosUI and TeleGPS Applications
E.12.3. AltosDroid
E.13. Release Notes for Version 1.6
E.13.1. AltOS
E.13.2. AltosUI and TeleGPS Applications
E.14. Release Notes for Version 1.5
E.14.1. AltOS
E.14.2. AltosUI and TeleGPS Applications
E.15. Release Notes for Version 1.4.2
E.15.1. AltosUI and TeleGPS Applications
E.16. Release Notes for Version 1.4.1
E.16.1. AltosUI and TeleGPS Applications:
E.17. Release Notes for Version 1.4
E.17.1. AltOS
E.17.2. AltosUI Application
E.17.3. TeleGPS Application
E.17.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 @@ -554,11 +554,13 @@ progress bar. 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.3

Version 1.8.3 includes support for TeleMega version 3.0 along +

Appendix E. Release Notes

E.1. Release Notes for Version 1.8.4

Version 1.8.4 includes support for EasyMini version 2.0

E.1.1. AltOS

  • +Support for EasyMini version 2.0 hardware. +

E.2. 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.1.1. AltOS

AltOS New Features

  • +downloading.

    E.2.1. AltOS

    AltOS New Features

    • Support for TeleMega version 3.0 hardware.

    AltOS Bug Fixes

    • Ground testing EasyMega and TeleMega additional pyro @@ -570,7 +572,7 @@ from capturing log data.
    • Fixed saving of pyro configuration that ended with Descending. -

    E.1.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    E.2.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Support for TeleMega version 3.0.
    • Graph lines have improved appearance to make them easier to @@ -594,18 +596,18 @@ to make it more useful for Tripoli record reporting.
    • CSV export now includes TeleMega/EasyMega pyro voltages and tilt angle. -

E.2. Release Notes for Version 1.8.2

Version 1.8.2 includes support for TeleGPS version 2.0 along +

E.3. 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.2.1. AltOS

AltOS New Features

  • +analyzing saved data files.

    E.3.1. AltOS

    AltOS New Features

    • Support for TeleGPS version 2.0 hardware. -

    E.2.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • +

    E.3.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.3. Release Notes for Version 1.8.1

Version 1.8.1 includes an important bug fix for Apogee Lockout +

E.4. 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 with accelerometers deal with speeds around and above Mach @@ -615,7 +617,7 @@ disregard the barometric sensor above 330m/s (around Mach 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.3.1. AltOS

AltOS Bug Fixes

  • +analyzing saved data files.

    E.4.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. @@ -624,7 +626,7 @@ 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.3.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    E.4.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

    • @@ -633,12 +635,12 @@ for graphing or KML export.
    • Load frequency preference at startup. The loading code was broken, so you’d see only the default frequencies. -

E.4. Release Notes for Version 1.8

Version 1.8 includes support for our new TeleBT v4.0 ground +

E.5. 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.4.1. AltOS

AltOS New Features

  • +boards and ground station interfaces.

    E.5.1. AltOS

    AltOS New Features

    • Add support for TeleBT v4.0 boards. -

    E.4.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    E.5.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Add support for TeleBT v4.0 hardware
    • Rewrite graphing and export functions. This code now handles @@ -649,20 +651,20 @@ 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.5. Release Notes for Version 1.7

Version 1.7 includes support for our new TeleMini v3.0 +

E.6. 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.5.1. AltOS

AltOS New Features

  • +and ground station interfaces.

    E.6.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.5.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • +

    E.6.2. AltosUI and TeleGPS Applications

    AltosUI New Features

    • Add support for TeleMini v3.0 hardware -

E.6. Release Notes for Version 1.6.8

Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where +

E.7. 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.6.1. AltOS

AltOS fixes:

  • +v2.0 users should update their flight firmware.

    E.7.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. @@ -675,7 +677,7 @@ flight.

    AltOS changes:

    • Flash LEDS on all products briefly during power up so that they can be tested during production. -

    E.6.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • +

    E.7.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 @@ -683,20 +685,20 @@ disabled to never re-appear.
    • Deal with ground station failure better during Configure Ground Station operation by cleaning up pending operations. -

E.7. Release Notes for Version 1.6.5

Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where +

E.8. 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.7.1. AltOS

AltOS fixes:

  • +v2.0 users should update their flight firmware.

    E.8.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.7.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • +

    E.8.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI fixes:

    • Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with Windows package. -

E.8. Release Notes for Version 1.6.4

Version 1.6.4 fixes a bluetooth communication problem with +

E.9. 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.8.1. AltOS

AltOS fixes:

  • +minor nits. It also now ships firmware for some newer devices.

    E.9.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. @@ -704,7 +706,7 @@ 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.8.2. AltosUI, TeleGPS and AltosDroid Applications

    AltosUI, TeleGPS and AltosDroid New Features:

    • +

    E.9.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.
    • @@ -715,17 +717,17 @@ 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.8.3. Documentation

    • +

    E.9.3. Documentation

    • Mention TeleMega v2.0 in hardware specs table.
    • Document TeleGPS RF output in telegps manual. -

E.9. Release Notes for Version 1.6.3

Version 1.6.3 adds idle mode to AltosDroid and has bug fixes +

E.10. 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.9.1. AltOS

AltOS fixes:

  • +along with BlueTooth support for Windows.

    E.10.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.9.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • +

    E.10.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. @@ -747,7 +749,7 @@ the connected Altus Metrum USB devices appear again.
    • Fix acceleration data presented in MonitorIdle mode for TeleMetrum v2.0 flight computers. -

    E.9.3. AltosDroid

    AltosDroid new features:

    • +

    E.10.3. AltosDroid

    AltosDroid new features:

    • Monitor Idle mode. Check state of flight computer while in idle mode over the radio link
    • @@ -785,12 +787,12 @@ 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.9.4. Documentation

    • +

    E.10.4. Documentation

    • Document TeleMega and EasyMega additional pyro channel continuity audio alert pattern. -

E.10. Release Notes for Version 1.6.2

Version 1.6.2 includes support for our updated TeleMega v2.0 +

E.11. 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.10.1. AltOS

AltOS New Features:

  • +and ground station interfaces.

    E.11.1. AltOS

    AltOS New Features:

    • Add support for TeleMega v2.0 boards.
    • Add PWM servo driver. There’s no higher level code using @@ -799,14 +801,14 @@ servo output connector.

    AltOS Fixes:

    • Slow down telemetry packets to allow receiver to keep up. -

    E.10.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS Fixes:

    • +

    E.11.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.10.3. Documentation

    We spent a bunch of time trying to improve our documentation

    • +

    E.11.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. @@ -815,9 +817,9 @@ Provide links between sections in each document.
    • Lots of minor rewriting and restructuring to avoid duplication of information -

E.11. Release Notes for Version 1.6.1

Version 1.6.1 includes support for our updated TeleBT v3.0 +

E.12. 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.11.1. AltOS

AltOS New Features:

  • +and ground station interfaces.

    E.12.1. AltOS

    AltOS New Features:

    • Add support for TeleBT v3.0 boards.
    • Add support for uncompressed APRS data, providing support @@ -827,7 +829,7 @@ altitude data.

    AltOS Fixes:

    • Make TeleDongle and TeleBT more tolerant of data rate variations from transmitting devices. -

    E.11.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features:

    • +

    E.12.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. @@ -865,7 +867,7 @@ 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.11.3. AltosDroid

    AltosDroid New Features:

    • +

    E.12.3. AltosDroid

    AltosDroid New Features:

    • Add offline map support using mapping code from AltosUI.
    • Support TeleDongle (and TeleBT via USB) on devices @@ -893,9 +895,9 @@ Make voice announcements depend on current tab.
    • Compute adjustment to current travel direction while in motion towards rocket. -

E.12. Release Notes for Version 1.6

Version 1.6 includes support for our updated TeleDongle v3.0 +

E.13. 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.12.1. AltOS

AltOS New Features

  • +and ground station interfaces.

    E.13.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. @@ -915,7 +917,7 @@ 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.12.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • +

    E.13.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 @@ -961,9 +963,9 @@ 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.13. Release Notes for Version 1.5

Version 1.5 is a major release. It includes support for our new +

E.14. 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.13.1. AltOS

AltOS New Features

  • +software for all our boards and the AltosUI ground station

    E.14.1. AltOS

    AltOS New Features

    • Add support for EasyMega boards.
    • Make the APRS SSID be configurable. This lets you track @@ -997,7 +999,7 @@ 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.13.2. AltosUI and TeleGPS Applications

    AltosUI and TeleGPS New Features

    • +

    E.14.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. @@ -1014,18 +1016,18 @@ Make the Graph button on the landed tab w 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.14. Release Notes for Version 1.4.2

Version 1.4.2 is a minor release. It fixes Java-related install issues on -Windows

E.14.1. AltosUI and TeleGPS Applications

Windows Install Fixes

  • +

E.15. Release Notes for Version 1.4.2

Version 1.4.2 is a minor release. It fixes Java-related install issues on +Windows

E.15.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.15. Release Notes for Version 1.4.1

Version 1.4.1 is a minor release. It fixes install issues on +

E.16. 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 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.15.1. AltosUI and TeleGPS Applications:

Windows Install Fixes

  • +V2.0 firmware image will not need to upgrade.

    E.16.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.
    • @@ -1043,9 +1045,9 @@ 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.16. Release Notes for Version 1.4

Version 1.4 is a major release. It includes support for our new +

E.17. 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.16.1. AltOS

AltOS new features:

  • +software for all our boards and the AltosUI ground station

    E.17.1. AltOS

    AltOS new features:

    • Add support for TeleGPS boards.
    • Make the beeper tone configurable, making it @@ -1075,7 +1077,7 @@ number to 2 on TeleMega and TeleMetrum v2.
    • Fix u-Blox GPS driver to mark course and speed data as being present. -

    E.16.2. AltosUI Application

    AltosUI new features:

    • +

    E.17.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 @@ -1132,12 +1134,12 @@ 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.16.3. TeleGPS Application

    • +

    E.17.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.16.4. Documentation

    Documentation changes:

    • +

    E.17.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. diff --git a/AltOS/doc/telegps.pdf b/AltOS/doc/telegps.pdf index 9b3c2eb9c711083e23990cfa9fd839004afa8e91..29134c3bc522cdd90789d2a7762d77844ed96cc8 100644 GIT binary patch delta 90543 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

      Su$R?uwg*rqZLR9i)S%?LYEnPaiv$G8%+; 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 N5Z%S)<>B4!#XlL4BkceH delta 86965 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 WNPH?Ao{EG%#axX+gB(4aH2x2?Q|rF~ diff --git a/AltOS/doc/telemega-outline.pdf b/AltOS/doc/telemega-outline.pdf index 043836fd6abbae30a7892c5ecfdd448efefa2c8f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 14974 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 diff --git a/AltOS/doc/telemetry.html b/AltOS/doc/telemetry.html index 5113c2a..ac37b9f 100644 --- a/AltOS/doc/telemetry.html +++ b/AltOS/doc/telemetry.html @@ -1,200 +1,133 @@ -AltOS Telemetry

      AltOS Telemetry

      Packet Definitions

      Keith Packard

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

      Revision History
      Revision 0.101 July 2011
      Initial content

      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 - 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 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

      OffsetData TypeNameDescription
      0uint16_tserialDevice serial Number
      2uint16_ttickDevice time in 100ths of a second
      4uint8_ttypePacket type
      5   

      - 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 and TeleNano Sensor Data

      TypeDescription
      0x01TeleMetrum v1.x Sensor Data
      0x02TeleMini Sensor Data
      0x03TeleNano Sensor Data

      - TeleMetrum v1.x, TeleMini 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 the - ground, 10 times per second during ascent and once per second - during descent and landing -

      Table 2. Sensor Packet Contents

      OffsetData TypeNameDescription
      5uint8_tstateFlight state
      6int16_taccelaccelerometer (TM only)
      8int16_tprespressure sensor
      10int16_ttemptemperature sensor
      12int16_tv_battbattery voltage
      14int16_tsense_ddrogue continuity sense (TM/Tm)
      16int16_tsense_mmain continuity sense (TM/Tm)
      18int16_taccelerationm/s² * 16
      20int16_tspeedm/s * 16
      22int16_theightm
      24int16_tground_presAverage barometer reading on ground
      26int16_tground_accelTM
      28int16_taccel_plus_gTM
      30int16_taccel_minus_gTM
      32   

      2.3. TeleMega Sensor Data

      TypeDescription
      0x08TeleMega IMU Sensor Data
      0x09TeleMega 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 - 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 - 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 - 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, - 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 - 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 3. TeleMega IMU Sensor Packet Contents

      OffsetData TypeNameDescription
      5uint8_torientAngle from vertical in degrees
      6int16_taccelHigh G accelerometer
      8int32_tprespressure (Pa * 10)
      12int16_ttemptemperature (°C * 100)
      14int16_taccel_xX axis acceleration (across)
      16int16_taccel_yY axis acceleration (along)
      18int16_taccel_zZ axis acceleration (through)
      20int16_tgyro_xX axis rotation (across)
      22int16_tgyro_yY axis rotation (along)
      24int16_tgyro_zZ axis rotation (through)
      26int16_tmag_xX field strength (across)
      28int16_tmag_yY field strength (along)
      30int16_tmag_zZ field strength (through)
      32   

      Table 4. TeleMega Kalman and Voltage Data Packet Contents

      OffsetData TypeNameDescription
      5uint8_tstateFlight state
      6int16_tv_battbattery voltage
      8int16_tv_pyropyro battery voltage
      10int8_t[6]sensepyro continuity sense
      16int32_tground_presAverage barometer reading on ground
      20int16_tground_accelAverage accelerometer reading on ground
      22int16_taccel_plus_gAccel calibration at +1g
      24int16_taccel_minus_gAccel calibration at -1g
      26int16_taccelerationm/s² * 16
      28int16_tspeedm/s * 16
      30int16_theightm
      32   

      2.4. TeleMetrum v2 Sensor Data

      TypeDescription
      0x0ATeleMetrum v2 Sensor Data
      0x0BTeleMetrum 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 - 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 5. TeleMetrum v2 Sensor Packet Contents

      OffsetData TypeNameDescription
      5uint8_tstateFlight state
      6int16_taccelaccelerometer
      8int32_tprespressure sensor (Pa * 10)
      12int16_ttemptemperature sensor (°C * 100)
      14int16_taccelerationm/s² * 16
      16int16_tspeedm/s * 16
      18int16_theightm
      20int16_tv_battbattery voltage
      22int16_tsense_ddrogue continuity sense
      24int16_tsense_mmain continuity sense
      26pad[6]pad bytes 
      32   

      Table 6. TeleMetrum v2 Calibration Data Packet Contents

      OffsetData TypeNameDescription
      5pad[3]pad bytes 
      8int32_tground_presAverage barometer reading on ground
      12int16_tground_accelAverage accelerometer reading on ground
      14int16_taccel_plus_gAccel calibration at +1g
      16int16_taccel_minus_gAccel calibration at -1g
      18pad[14]pad bytes 
      32   

      2.5. Configuration Data

      TypeDescription
      0x04Configuration 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 7. Sensor Packet Contents

      OffsetData TypeNameDescription
      5uint8_ttypeDevice type
      6uint16_tflightFlight number
      8uint8_tconfig_majorConfig major version
      9uint8_tconfig_minorConfig minor version
      10uint16_tapogee_delayApogee deploy delay in seconds
      12uint16_tmain_deployMain deploy alt in meters
      14uint16_tflight_log_maxMaximum flight log size (kB)
      16charcallsign[8]Radio operator identifier
      24charversion[8]Software version identifier
      32   

      2.6. GPS Location

      TypeDescription
      0x05GPS 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 8. GPS Location Packet Contents

      OffsetData TypeNameDescription
      5uint8_tflagsSee GPS Flags table below
      6int16_taltitudem
      8int32_tlatitudedegrees * 107
      12int32_tlongitudedegrees * 107
      16uint8_tyear 
      17uint8_tmonth 
      18uint8_tday 
      19uint8_thour 
      20uint8_tminute 
      21uint8_tsecond 
      22uint8_tpdop* 5
      23uint8_thdop* 5
      24uint8_tvdop* 5
      25uint8_tmodeSee GPS Mode table below
      26uint16_tground_speedcm/s
      28int16_tclimb_ratecm/s
      30uint8_tcourse/ 2
      31uint8_tunused[1] 
      32   

      - 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 9. GPS Flags

      BitsNameDescription
      0-3nsatsNumber of satellites in solution
      4validGPS solution is valid
      5runningGPS receiver is operational
      6date_validReported date is valid
      7course_validground 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 10. GPS Mode

      ModeNameDecsription
      NNot ValidAll data are invalid
      AAutonomous modeData are derived from satellite data
      DDifferential Mode - Data are augmented with differential data from a - known ground station. The SkyTraq unit in TeleMetrum - does not support this mode -
      EEstimated - Data are estimated using dead reckoning from the - last known data -
      MManualData were entered manually
      SSimulatedGPS receiver testing mode

      2.7. GPS Satellite Data

      TypeDescription
      0x06GPS 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 11. GPS Satellite Data Contents

      OffsetData TypeNameDescription
      5uint8_tchannelsNumber of reported satellite information
      6sat_info_tsats[12]See Per-Satellite data table below
      30uint8_tunused[2] 
      32   

      Table 12. GPS Per-Satellite data (sat_info_t)

      OffsetData TypeNameDescription
      0uint8_tsvidSpace Vehicle Identifier
      1uint8_tc_n_1C/N1 signal quality indicator
      2   

      2.8. Companion Data Data

      TypeDescription
      0x07Companion Data 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 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 13. Companion Data Contents

      OffsetData TypeNameDescription
      5uint8_tboard_idType of companion board attached
      6uint8_tupdate_periodHow often telemetry is sent, in 1/100ths of a second
      7uint8_tchannelsNumber of data channels supplied
      8uint16_t[12]companion_dataUp to 12 channels of 16-bit companion data
      32   

      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 14. Altus Metrum Radio Parts

      Part NumberDescriptionUsed in
      CC111110mW transceiver with integrated SoCTeleDongle v0.2, TeleBT v1.0, TeleMetrum v1.x, TeleMini
      CC112035mW transceiver with SW FECTeleMetrum v2, TeleMega
      CC120035mW transceiver with HW FECTeleDongle v3.0, TeleBT v3.0
      CC115L14mW transmitter with SW FECTeleGPS

      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 low-signal - performance like BPSK, the radios we use 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 - 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, 38.4kBaud, - 9.6kBaud and 2.4kBaud resulting in the following signal - parmeters: - -

      Table 15. Modulation Scheme

      RateDeviationReceiver Bandwidth
      38.4kBaud20.5kHz100kHz
      9.6kBaud5.125kHz25kHz
      2.4kBaud1.5kHz5kHz

      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 takes - two bits when transmitted, so the effective data rate is half - of the raw transmitted bit rate. -

      Table 16. Error Correction

      ParameterValueDescription
      Error CorrectionConvolutional coding1/2 rate, constraint length m=4
      Interleaving4 x 4Reduce effect of noise burst
      Data WhiteningXOR with 9-bit PNRRotate right with bit 8 = bit 0 xor bit 5, initial - value 111111111

      4. TeleDongle 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, - 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 17. Packet Format

      OffsetNameExampleDescription
      0length22Total length of data bytes in the line. Note that - this includes the added RSSI and status bytes
      1 ·· length-3packet4f ·· 00Bytes of actual packet data
      length-2rssi3fReceived signal strength. dBm = rssi / 2 - 74
      length-1lqia9Link Quality Indicator and CRC status. Bit 7 - is set when the CRC is correct
      lengthchecksum88(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 - 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 - 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 - 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. -

      + +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, +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 +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 +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 +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 +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 +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 +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 +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 +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 +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, +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +modulation parameters given a desired modulation +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 +shift keying (GFSK). Regular frequency shift keying +(FSK) encodes the signal by switching the carrier +between two frequencies. The Gaussian version is +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, +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 +software. AltOS uses this to improve reception of weak +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, +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, +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 +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 +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 +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 +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 diff --git a/AltOS/doc/telemetry.pdf b/AltOS/doc/telemetry.pdf index e17d772bd577a48e18abe1d6497b22b4c3e11e43..9c0a21eda6898dd37436c724de6b04b8e70d2dba 100644 GIT binary patch delta 148 zcmbQbhi&Q}wh3oBj0_DejV+8#HeMCy;Wjc1F|@QYwy-ib+5DZSl@VEBayy?9GQar< z-}WPXj8FTVos5kPEnLi<3{A{jEuBm)%uSrkTuls3TwTnJ9bGLP?G$VXDVhFeE~6#@ DI!!1~ delta 148 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 diff --git a/AltOS/doc/telemini-v3-outline.pdf b/AltOS/doc/telemini-v3-outline.pdf index 3c8b4ee9b5c72db7e7e8300a0d218a60321a0718..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 15576 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 Tu70k_&47XdjEvGMGJyXF=Fi)P -- 2.30.2

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.3
E.1.1. AltOS
E.1.2. AltosUI and TeleGPS Applications
E.2. Release Notes for Version 1.8.2
E.2.1. AltOS
E.2.2. AltosUI and TeleGPS Applications
E.3. Release Notes for Version 1.8.1
E.3.1. AltOS
E.3.2. AltosUI and TeleGPS Applications
E.4. Release Notes for Version 1.8
E.4.1. AltOS
E.4.2. AltosUI and TeleGPS Applications
E.5. Release Notes for Version 1.7
E.5.1. AltOS
E.5.2. AltosUI and TeleGPS Applications
E.6. Release Notes for Version 1.6.8
E.6.1. AltOS
E.6.2. AltosUI, TeleGPS and AltosDroid Applications
E.7. Release Notes for Version 1.6.5
E.7.1. AltOS
E.7.2. AltosUI, TeleGPS and AltosDroid Applications
E.8. Release Notes for Version 1.6.4
E.8.1. AltOS
E.8.2. AltosUI, TeleGPS and AltosDroid Applications
E.8.3. Documentation
E.9. Release Notes for Version 1.6.3
E.9.1. AltOS
E.9.2. AltosUI and TeleGPS Applications
E.9.3. AltosDroid
E.9.4. Documentation
E.10. Release Notes for Version 1.6.2
E.10.1. AltOS
E.10.2. AltosUI and TeleGPS Applications
E.10.3. Documentation
E.11. Release Notes for Version 1.6.1
E.11.1. AltOS
E.11.2. AltosUI and TeleGPS Applications
E.11.3. AltosDroid
E.12. Release Notes for Version 1.6
E.12.1. AltOS
E.12.2. AltosUI and TeleGPS Applications
E.13. Release Notes for Version 1.5
E.13.1. AltOS
E.13.2. AltosUI and TeleGPS Applications
E.14. Release Notes for Version 1.4.2
E.14.1. AltosUI and TeleGPS Applications
E.15. Release Notes for Version 1.4.1
E.15.1. AltosUI and TeleGPS Applications:
E.16. Release Notes for Version 1.4
E.16.1. AltOS
E.16.2. AltosUI Application
E.16.3. TeleGPS Application
E.16.4. Documentation