summaryrefslogtreecommitdiff
path: root/src/core/ao.h
Commit message (Collapse)AuthorAge
* altos: Make APRS interval configurableKeith Packard2012-12-07
| | | | | | | This provides a separate configuration value for APRS, allowing the interval between APRS reports to vary. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow telemetry, rdf and APRS to be individually controlledKeith Packard2012-12-06
| | | | | | | But, only when APRS is available so that TeleMetrum and TeleMini don't change behaviour Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Hook APRS up to the radioKeith Packard2012-12-06
| | | | | | | This adds an arbitrary-length packet writing function to the radio code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make stdio 8-bit clean by making pollchar return intKeith Packard2012-11-30
| | | | | | | | | | We were stealing one value (0xff) in the return value from pollchar to indicate 'not ready yet'. Instead of doing that, use the integer value -1 and have pollchar return an int instead of a char. That necessitated cleaning a few other bits to make sure that 0xff wouldn't get promoted to -1 on accident. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Share getnibble functionKeith Packard2012-11-30
| | | | | | | Two implementations of the same function, one in cc1111/ao_dbg.c and the other in core/ao_send_packet.c. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove legacy telemetry from ao_monitor when not neededKeith Packard2012-11-01
| | | | | | | For products not supporting LEGACY_MONITOR, remove the (undefined) structs from the ao_monitor union. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add stack-guard code. Uses STM MPU to trap stack overflow.Keith Packard2012-10-25
| | | | | | | | This marks the lowest portion of the stack as inaccessible to the CPU, causing the processor to fault when it reaches it. The fault then generates a panic message so that the user can know what happened. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Replace __critical usage with ao_arch_critical as neededKeith Packard2012-10-25
| | | | | | | | | | | | | sdcc offers __critical as a machine-independent way to block interrupts, but as gcc doesn't, we need to use a compiler-independent construct instead. ao_arch_critical has been around since the AVR port, but some old __critical usages remained. This fixes a bunch of random hangs when communicating with MM over USB or the radio as the various stdio loops were running without interrupts blocked between the test and the sleep. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use alt_t for all Pascal-based altitude dataKeith Packard2012-10-12
| | | | | | | This allows alt_t to be overridden for systems using the MS5607/MS5611 sensors Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow for other mutex implementationsKeith Packard2012-10-12
| | | | | | Allow projects to replace ao_mutex_get and ao_mutex_put with macros Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow projects to specify clock at other than 100HzKeith Packard2012-10-12
| | | | | | Leave the default at 100Hz, but allow it to be overridden Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Split task definitions out to ao_task.hKeith Packard2012-10-12
| | | | | | And only include them if using tasks Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: include ao_arch_funcs.h at the very end of ao.hKeith Packard2012-09-09
| | | | | | Move it below the definition of the ms5607 init function Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add custom panic noise for self-test failuresKeith Packard2012-08-31
| | | | | | Make it easier to tell which component is failing self test Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Note changes to configured AES key for SPI radio convenienceKeith Packard2012-08-29
| | | | | | | Keep a sequence number to mark when the AES key is changed so that the radio code can avoid sending the key before every CMAC radio operation. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up radio APIsKeith Packard2012-08-27
| | | | | | | Move api to ao_radio_cmac.h include file. Expose ao_radio_test as standard API. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add button driver and event queueKeith Packard2012-08-06
| | | | | | | With this, a single task can wait for any button or quadrature input device. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add telefire-v0.1Keith Packard2012-07-29
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make ao_tick_count visibleKeith Packard2012-07-16
| | | | | | | Necessary to fetch it when interrupts are already disabled as we can't call ao_time then. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add arbitrary pyro channel supportKeith Packard2012-07-14
| | | | | | | Programmed by specifying a conjunction of flight conditions that trigger the igniter to fire. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Create macros to convert from/to radio RSSI representationKeith Packard2012-07-11
| | | | | | | | AO_RSSI_FROM_RADIO and AO_RADIO_FROM_RSSI. Removes a bunch of open-coded versions of the same function. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Force 434.550Mhz by connecting debug gnd and clk (trac #41)Keith Packard2012-07-10
| | | | | | | | Check for pin P2_2 low at startup and set the frequency to 434.550MHz. This value won't get written to flash, so rebooting again will restore the configured frequency. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Signal continuity over radio in pad mode (trac #40)Keith Packard2012-07-10
| | | | | | | This is especially useful for telemini which has no beeper, allowing you to hear the continuity signal while at the pad over the air. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up radio CRC handlingKeith Packard2012-06-27
| | | | | | | Make the FEC code just set the CRC_OK bit like the cc1111 radio does; eliminates a bunch of weird conventions across the FEC API. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add GPS logging code for MegaMetrumKeith Packard2012-06-26
| | | | | | | MM uses a different logging format with larger log blocks, so restructure the GPS logging code to fill them up Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make cc1111 radio control functions staticKeith Packard2012-06-26
| | | | | | No need to publish these; they're all private to cc1111 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add full MM telemetryKeith Packard2012-06-21
| | | | | | | | Create two new telemetry packets to hold all of the MM data. This patch also splits the telemetry structures out of ao.h Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add telemetry to megametrumKeith Packard2012-06-17
| | | | | | Now that the radio works Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Legacy telemetry needs original ADC recordKeith Packard2012-06-04
| | | | | | | | The legacy telemetry packets included the raw ADC structure directly, so make sure that doesn't change further, allowing teledongle firmware to remain compatible with old TM firmware. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Finish ms5607 supportKeith Packard2012-05-18
| | | | | | | | | | This has the MS5607 polling once each tick for pressure and temperature and then saving that in a global variable. The command UI provides for dumping the prom data so that an eeprom file can have raw sensor data along with the conversion factors necessary to compute useful values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add conversion between Pa and metersKeith Packard2012-05-18
| | | | | | To be used with the MS5607 which generates data in calibrated units. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Pull more interfaces out of ao.h and move to separate filesKeith Packard2012-04-14
| | | | | | This moves the aes, btm, companion, lcd and packet interfaces out of ao.h Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Massive product config cleanupKeith Packard2012-04-14
| | | | | | | | Support multiple serial ports more cleanly Split out parts of ao.h into separate feature header files Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Start adding apogee lockout supportKeith Packard2012-04-14
| | | | | | Remove radio channel support too. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make ao_config_set_radio publicKeith Packard2012-04-07
| | | | | | Allows other bits of code to reset the radio parameters. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make ao_freq_to_set reentrantKeith Packard2012-04-07
| | | | | | Save a bunch of data space this way. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add DMA, SPI and MS5607 driversKeith Packard2012-04-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move SPI functions to architecture-specific locationKeith Packard2012-04-02
| | | | | | | | Some architecture specific stuff needs to use core altos code, so create new ao_arch_funcs.h files per architecture that get pulled in at the end of ao.h Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move cc1111 DMA engine interface to cc1111/ao_arch.h from ao.hKeith Packard2012-03-31
| | | | | | It's hardware specific Signed-off-by: Keith Packard <keithp@keithp.com>
* Allow for more than 8 LEDsKeith Packard2012-03-28
| | | | | | Provide hook for architecture-specific LED mask (AO_LED_TYPE) Signed-off-by: Keith Packard <keithp@keithp.com>
* Allow for more than one serial port in core AltOSKeith Packard2012-03-28
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* Add AO_PANIC_STACKKeith Packard2012-03-28
| | | | | | Provide a panic code for stack overflow. Signed-off-by: Keith Packard <keithp@keithp.com>
* 'stdin' is a special name in some compiler environments, don't use it.Keith Packard2012-03-28
| | | | | | Switch to 'in' in the prototype for altos_serial_set_stdin. Signed-off-by: Keith Packard <keithp@keithp.com>
* Do radio settings solely by frequencyKeith Packard2012-03-26
| | | | | | | Compute the radio setting needed based on the calibration value provided and the requested frequency. Signed-off-by: Keith Packard <keithp@keithp.com>
* 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>