1 TeleMetrum Low-level Access
2 CC1111 4-wire debug interface:
3 debug data, debug clock, reset, ground
4 CP2103 -- 4 GPIOs controlled from USB
5 One USB packet per half clock
6 Beagle USB hardware monitor
7 CC1111-based debug link
9 provides high-level commands
11 TeleMetrum Software Development Environment
12 Small Device C Compiler, targeting 8051 CPU
13 Source Debugger for SDCC
14 Hex debugger using either CP2103 or CC1111 link
15 Emulates mcs51 emulator
16 Except talks to real hardware
21 Avoids the 'one big loop'
23 Limits where pre-emption can occur
24 sleep/wakeup rendezvous
29 Flight software architecture
30 Flight progress tracked through discrete states
31 Pad - Sitting vertically
33 Acceleration > 2g and Speed > 5m/s
43 Height < Max_height - 500m
45 Height < Max Height - 10m
49 Acceleration stable for 5 seconds
50 Height stable for 5 seconds
51 Height < Launch height + 1000m
54 Radio calibrated by adjusting PLL against freq counter
55 48MHz crystal good to 20ppm
56 20ppm at 434MHz is 9Khz
57 Accelerometer calibrated by rotating board on bench
58 Accelerometer output runs through 5V->3.3V divider
60 Also automatically adjusts for 100G/50G/40G devices
63 Problem: GPS looses satellites during boost phase
64 GPS receivers track sats by synthesizing expected signal
65 frequency based on relative velociy
66 phase based on distance
67 Change in actual signal means changing synthetic signal
68 High acceleration means allowing faster changes
69 Change rate limited by 'loop filter' bandwidth.
73 Standard flight plot set