summaryrefslogtreecommitdiff
path: root/src/core/ao.h
Commit message (Collapse)AuthorAge
* altos: flush stdout when fifo from arduino serial port is emptyKeith Packard2012-01-03
| | | | | | This avoids leaving bytes pending inside altos Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add support for UART0 in async modeKeith Packard2012-01-03
| | | | | | And copy bytes from it to stdout. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up for SDCC 3.1 - more keywordsKeith Packard2011-12-30
| | | | | | | | _asm -> __asm sbit -> __sbit remove variables named 'data' Signed-off-by: Keith Packard <keithp@keithp.com>
* altosui: Add ao_lcd_cursor_on/offKeith Packard2011-11-12
| | | | | | This shows or hides a blinking cursor on the LCD. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add configurable set of channels for TTKeith Packard2011-11-12
| | | | | | | This adds the channel list for TT, which will be configured by AltosUI. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Export 'ao_cmd_is_white' for use by other codeKeith Packard2011-11-12
| | | | | | This function tests the current input character. Signed-off-by: Keith Packard <keithp@keithp.com>
* 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: 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: 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
* altos: Add TelePyro v0.1 supportKeith Packard2011-09-21
| | | | 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: 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: 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: 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: 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>