summaryrefslogtreecommitdiff
path: root/src/avr
Commit message (Collapse)AuthorAge
* 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: Add support for multiple SPI busses and sharing device driversKeith Packard2012-04-14
| | | | | | | | | | | | | | | | The STM32L151 has several SPI busses, and we want to use more than one, so add a 'bus' parameter to the SPI interfaces. To avoid wasting time on AVR and CC1111 processors which only use one SPI bus, elide those parameters from the actual functions by wrapping them with macros. Configuring chip select is now all macroized so that each chip can have its own version, allowing the STM to share the various SPI device drivers with the cc1111 and avr processors. Note that only the M25 driver has been ported; porting the others is 'trivial', but not necessary at this point. 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>
* Don't disable interrupts before saving interrupt flag on AVRKeith Packard2012-03-28
| | | | | | | This ignores the interrupt disabled state, so we'd always leave ao_yield with interrupts disabled. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add i2c driver for avr chipKeith Packard2011-10-27
| | | | 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/avr: telescience doesn't have room for the flash write codeKeith Packard2011-10-11
| | | | | | | This is useful for debugging the SPI and flash drivers, but not necessary in production code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Shrink default stack size to use less ramKeith Packard2011-10-11
| | | | | | | Not that we have any way of knowing how much stack we're using, but at least this seems to work. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Clear SPI receive buffer before clocking new data inKeith Packard2011-10-11
| | | | | | | I don't know why this is necessary, but the receive buffer gets 'extra' data added somehow. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Pull-up on the SPI slave select pinKeith Packard2011-10-11
| | | | | | This makes the board work even when disconnected from TeleMetrum. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Register stdio handler when using serial for stdinKeith Packard2011-10-11
| | | | | | This code was left in a bit of a mess; just clean it up. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: telescience does not have a serial portKeith Packard2011-10-11
| | | | | | The USART is used for SPI to talk to the flash part. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Make ao_arch_critical argument be a statementKeith Packard2011-10-11
| | | | | | | Wrap the argument to ao_arch_critical in do { } while (0); to make sure it gets correctly checked as a statement. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Print newline after dumping ADC valuesKeith Packard2011-10-11
| | | | | | Cleans up the formating a bit. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: SPI mutex is now held by the caller, not the SPI driverKeith Packard2011-10-11
| | | | | | | | | SPI transactions generally require a read followed by a write, with the chip select held the whole time. As a result, the SPI bus must be held across multiple transactions. To make this reliable, the caller must hold the SPI mutex, instead of the underlying SPI driver. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Debug code for telepyro doesn't fit in telescienceKeith Packard2011-09-23
| | | | | | Just too many strings. Signed-off-by: Keith Packard <keithp@keithp.com>
* Dump test conversion of ADC0Keith Packard2011-09-21
|
* Dump ADC registersKeith Packard2011-09-21
|
* add missing sense_h entry in TelePyro tableBdale Garbee2011-09-21
|
* altos: Add TelePyro v0.1 supportKeith Packard2011-09-21
| | | | 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: Split avr clock initialization to ao_clock.cKeith Packard2011-08-29
| | | | | | This will be shared with the attiny code for TeleTerra v0.1 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: 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>