summaryrefslogtreecommitdiff
path: root/src/core
Commit message (Collapse)AuthorAge
* altos: Handle internal and external telem monitoring requestsKeith Packard2011-11-12
| | | | | | | | | | | | Record separate internal vs external monitoring state, allowing both to happen at the same time, and when either is turned off, the other keeps working. This also adds disable/enable so that other radio users can temporarily take over the radio; monitoring will resume when the other radio user is finished. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make ao_xmem funcs require __xdata void * instead of castingKeith Packard2011-11-11
| | | | | | | | | | | | Having an explicit cast in the ao_xmem wrapper macros caused the compiler to generate garbage values for pdata addresses, making the upper byte 0x00 instead of the required 0xf0. Removing the casts from the ao_xmem macros exposed this problem, so a new PDATA_TO_XDATA macros was added, along with a CODE_TO_XDATA macro which serve to cast pointers, with suitable address modifications, so that things work again. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Bring up basic TeleTerra v0.2 UImultiarchKeith Packard2011-10-26
| | | | | | Lots of fun stuff here -- multiple panes of information. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add battery voltage sampling driverKeith Packard2011-10-23
| | | | | | | For devices without a full ADC compliment, this just samples the battery pin and converts to mV. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add button driver and sample userKeith Packard2011-10-23
| | | | | | Hook up the teleterra buttons and have them beep Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add teleballoon-v1.1 directoryKeith Packard2011-10-21
| | | | | | This is an alternate firmware load for telemetrum v1.1. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Split out arch-specific bits of LCD driverKeith Packard2011-10-11
| | | | | | The arch-specific section just puts a single nibble to the device. Signed-off-by: Keith Packard <keithp@keithp.com>
* Bump to 1.0.9.31.0.9.3Keith Packard2011-10-11
| | | | | | TeleScience and TelePyro now work. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make HAS_STORAGE_DEBUG define consistentKeith Packard2011-10-11
| | | | | | | This allows products to include the 'w' command for testing flash writing as needed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Respond to telemetry rate changes immediatelyKeith Packard2011-10-09
| | | | | | | | Instead of waiting for the previous telemetry interval to expire, immediately switch to the new telemetry rate. This will provide more telemetry data early in the boost. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Ignore ejection bumps when doing boost re-detectKeith Packard2011-10-08
| | | | | | | | An ejection charge looks an awful lot like an extra (really small) motor burn. Ignore them by averaging the acceleration during fast/coast using a /64 exponential decay filter. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Write xdata versions of memory functions1.0.9.1Keith Packard2011-10-07
| | | | | | | | | | | | | | | | These are significantly smaller than the general pointer versions from libc on the cc1111. Signed-off-by: Keith Packard <keithp@keithp.com> Conflicts: src/Makefile.proto src/cc1111/ao_adc.c src/cc1111/ao_packet_master.c src/core/ao.h Fix up the new makefiles
* Merge remote-tracking branch 'origin/simple-quiet' into multiarchKeith Packard2011-10-07
| | | | | | | Conflicts: configure.ac fix version number
* Merge remote-tracking branch 'uniarch/master' into multiarchKeith Packard2011-10-07
| | | | | | | Conflicts: src/core/ao_cmd.c Use ao_arch_reboot after waiting for a second
* altos: missing ao_log_single.cKeith Packard2011-09-21
| | | | | | Neglected to add this file. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add TelePyro v0.1 supportKeith Packard2011-09-21
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Support staging by going back to boost as neededKeith Packard2011-09-21
| | | | | | | Detect additional motor burns by looking for high positive acceleration in coast or fast modes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Pre-compute RDF packet len at compile timeKeith Packard2011-09-21
| | | | | | | Instead of computing the RDF packet len at run time, which takes a pile of code space. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: SPI slave code is now per-productKeith Packard2011-09-21
| | | | | | | We can't write general purpose SPI slave code as we must eliminate any latency because the SPI ports have no buffering. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: don't beep igniter continuity for telenanoKeith Packard2011-08-28
| | | | | | Without any igniters, it's not nice to annoy people. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report continuity in telebtKeith Packard2011-08-28
| | | | | | Report continuity values from remote altimeter Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: add 'report' to telebtKeith Packard2011-08-28
| | | | | | | This beeps out flight state changes and max altitude at landing, just like the altimeter. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add pragma to eliminate unreachable code warning on SDCCKeith Packard2011-08-28
| | | | | | | This pragma was removed as GCC doesn't support it; make it conditional on SDCC so that we eliminate a warning message. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Blink on telem packet receive instead of toggleKeith Packard2011-08-28
| | | | | | | Toggling the LED was too confusing; just blink for 100ms each time a packet comes in. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove RSSI reporting from telebtKeith Packard2011-08-28
| | | | | | | Telebt uses one LED for bluetooth connection and the other for telem packet reception leaving none for RSSI. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add RSSI blinking to new-style telemetry codeKeith Packard2011-08-28
| | | | | | | Pull the RSSI data out locally and set the RSSI led blinking when using the variable-length TELEM output mechanism. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Start logging telemetry data right at boot timeKeith Packard2011-08-28
| | | | | | | Anything logging telemetry data should just start logging packets as soon as they boot. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Share log code between telescience and telebt. Add telebt logKeith Packard2011-08-27
| | | | | | | | Telescience and telebt both log data in 32-byte chunks, so share some code which manages that between the two products. Add simple telemetry logging to telebt. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add HAS_LOG for products that log to eepromKeith Packard2011-08-27
| | | | | | Some products have eeprom for config, but none for logging (like telelaunch) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Finish up primitive telelaunch protocolKeith Packard2011-08-27
| | | | | | | | This adds two commands to teledongle, one to query and one to actually fire the igniter. These will (eventually) want to be replaced with something nicer. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Implement remote launch protocolKeith Packard2011-08-27
| | | | | | | | Uses the radio_cmac module to provide secure communication. Keeps igniter closed for 500ms. Provides remote status for arming and ignition. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Get AES CBC-MAC packet transfers runningKeith Packard2011-08-27
| | | | | | | | | This just has simple command-line based packet transfers for testing. This also adds special ao_telelaunch bits where the launch control code will live. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: More work on AES bitsKeith Packard2011-08-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Start work on AES and raw radio interfaces.Keith Packard2011-08-27
| | | | | | We probably don't want this raw radio interface, but it's a start. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Start telelaunch productKeith Packard2011-08-27
| | | | | | Looks a lot like TM, but without the flight code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add 'send all baro' compile-time optionKeith Packard2011-08-27
| | | | | | | | | | | | This option creates a new packet type that delivers full sensor-rate barometer telemetry data to allow for off-line analysis of flight algorithms using all of the data, rather than the slower rate provided either over telemetry or stored in the eeprom file. Define AO_SEND_ALL_BARO and this will get built in. Perhaps this could be a run-time option... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: re-order ao_task to match single-arch codeidentical-buildKeith Packard2011-08-26
| | | | | | | This is just for testing to make the new build match the old build exactly. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Integrate telescience supportKeith Packard2011-08-26
| | | | | | Adds a few drivers including an LCD driver Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: get avr-demo to build. Pull in AVR drivers and LCD driverKeith Packard2011-08-25
| | | | | | | This completes the basic task of making an AVR version of altos by getting the Teensy 'avr-demo' program to build. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: add GCC/SDCC compat macros, init_stack, save_context and GCC stdio hooksKeith Packard2011-08-25
| | | | | | | | | | | | | | More arch-indepdency bits. GCC stdio is different from SDCC, so create suitable code in avr/ao_avr_stdio.c Create macros to initialize the task stack frame and save the task context. Add GCC/SDCC type definition compatibility macros Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: AVR changes - create ao_arch.h files, define ao_arch_rebootKeith Packard2011-08-25
| | | | | | | | Start pulling changes needed for avr port; architecture-specific code will live in <architcture>/ao_arch.h. This first change defines the ao_arch_reboot macro to reboot the microcontroller. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Restructure altos build to prepare for multi-arch supportKeith Packard2011-08-25
Split out sources into separate directories: core: architecture and product independent bits cc1111: cc1111-specific code drivers: architecture independent drivers product: product-specific sources and Makefile fragments util: scripts for building stuff This should have no effect on the built products, but testing is encouraged Signed-off-by: Keith Packard <keithp@keithp.com>