summaryrefslogtreecommitdiff
path: root/talks/kslides
diff options
context:
space:
mode:
Diffstat (limited to 'talks/kslides')
-rw-r--r--talks/kslides73
1 files changed, 73 insertions, 0 deletions
diff --git a/talks/kslides b/talks/kslides
new file mode 100644
index 0000000..eacc5a0
--- /dev/null
+++ b/talks/kslides
@@ -0,0 +1,73 @@
+TeleMetrum Low-level Access
+ CC1111 4-wire debug interface:
+ debug data, debug clock, reset, ground
+ CP2103 -- 4 GPIOs controlled from USB
+ One USB packet per half clock
+ Beagle USB hardware monitor
+ CC1111-based debug link
+ emulates serial on USB
+ provides high-level commands
+
+TeleMetrum Software Development Environment
+ Small Device C Compiler, targeting 8051 CPU
+ Source Debugger for SDCC
+ Hex debugger using either CP2103 or CC1111 link
+ Emulates mcs51 emulator
+ Except talks to real hardware
+ Hooks up to sdcdb
+
+AltOS architecture
+ Multi-threaded
+ Avoids the 'one big loop'
+ Non pre-emptive
+ Limits where pre-emption can occur
+ sleep/wakeup rendezvous
+ Good enough for Linux
+ Timers, mutexes
+ Basic OS services
+
+Flight software architecture
+ Flight progress tracked through discrete states
+ Pad - Sitting vertically
+ Boost
+ Acceleration > 2g and Speed > 5m/s
+ or
+ Height > +20m
+ Fast
+ Acceleration < -1/4g
+ or
+ Boost period > 15s
+ Coast
+ Speed < 200m/s
+ or
+ Height < Max_height - 500m
+ Apogee
+ Height < Max Height - 10m
+ Main
+ Height < Main Height
+ Land
+ Acceleration stable for 5 seconds
+ Height stable for 5 seconds
+ Height < Launch height + 1000m
+
+Calibration
+ Radio calibrated by adjusting PLL against freq counter
+ 48MHz crystal good to 20ppm
+ 20ppm at 434MHz is 9Khz
+ Accelerometer calibrated by rotating board on bench
+ Accelerometer output runs through 5V->3.3V divider
+ Uses 1% resistors
+ Also automatically adjusts for 100G/50G/40G devices
+
+GPS adventures
+ Problem: GPS looses satellites during boost phase
+ GPS receivers track sats by synthesizing expected signal
+ frequency based on relative velociy
+ phase based on distance
+ Change in actual signal means changing synthetic signal
+ High acceleration means allowing faster changes
+ Change rate limited by 'loop filter' bandwidth.
+
+Drag race plots
+
+Standard flight plot set