summaryrefslogtreecommitdiff
path: root/src/avr
Commit message (Collapse)AuthorAge
* altos: Make CDC ACM 'line coding' publicKeith Packard2017-05-04
| | | | | | This allows other systems to see what baud rate the host has requested. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Avoid warning about unused args in stdio_put and stdio_getKeith Packard2017-02-20
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* Switch from GPLv2 to GPLv2+Keith Packard2016-07-12
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Declare port register type only in arch headerKeith Packard2014-11-06
| | | | | | | Instead of defaulting to 8 bits, explicitly require declaration of the type of the port register for each architecture. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Expose ao_usb_running globallyKeith Packard2014-02-18
| | | | | | This lets other bits of the code know when USB has been connected. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add --with parameters to configure for compiler selectionnew-stateKeith Packard2013-10-08
| | | | | | | | This allows the user to specify which compiler to use for each target CPU. Also checks to make sure the arm compiler supports -m0 and -m3 cpu type flags. The build now actually uses the specified compilers too. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Eliminate stdio looping when system has a single stdio sourceKeith Packard2013-05-07
| | | | | | No need to loop if there's only one Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Do not release interrupts from any pollchar functionKeith Packard2013-03-31
| | | | | | | | | | | getchar relies on interrupts being blocked across the pollchar calls and into the sleep call or it may go to sleep with data pending. This prefixes all pollchar functions with _ to indicate that they are to be called with interrupts blocked and eliminates all interrupt manipulation calls from within the pollchar functions. Signed-off-by: Keith Packard <keithp@keithp.com>
* Update avr ao_spi_slave code to match API changesKeith Packard2013-01-13
| | | | | | Made the interface use void * for pointers and uint16_t for lengths 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: Leave interrupts disabled while checking for task to runKeith Packard2012-10-26
| | | | | | | Otherwise, we run the risk of an interrupt waking a task after we've decided to idle the CPU. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ao_arch_block/release_interrupts to avr and cc1111Keith Packard2012-10-25
| | | | | | Stop using cli/sei for AVR, add replacement to __critical for cc1111 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Let AVR products override the stack size. Set telepyro to 104Keith Packard2012-10-22
| | | | | | Otherwise, telepyro doesn't have enough ram... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add telescience-pwm productKeith Packard2012-10-16
| | | | | | Split out special PWM-sampling telescience product Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Only enable PWM on telescience_pwm productKeith Packard2012-10-16
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* telescience: correctly calculating rate values with higher resolutionRobert Garbee2012-10-16
|
* ICP3 workingRobert Garbee2012-10-16
|
* Timer 3 working with slower clock and all 16 bits.Robert Garbee2012-10-16
|
* first work on PWM input to TeleScience, 'p' command displays timer 1Robert Garbee2012-10-16
|
* telescience: steal last adc channel for icp3 most recent valueRobert Garbee2012-10-16
| | | | | | Make the ICP3 rpm counter use in ao_adc_avr.c optional Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Use ISR_BLOCK to disable interrupts during slave ISRKeith Packard2012-10-16
| | | | | | This avoids enabling and then immediatly disabling them Signed-off-by: Keith Packard <keithp@keithp.com>
* Revert "first work on PWM input to TeleScience, 'p' command displays timer 1"Keith Packard2012-09-01
| | | | | | PWM bits not suitable for master This reverts commit e93c6bcc799d76d4ff425815e2601a25e6796229.
* Revert "Timer 3 working with slower clock and all 16 bits."Keith Packard2012-09-01
| | | | | | PWM bits not suitable for master This reverts commit 49b1ff4c614d24977b33cd17b583acc87acff476.
* Revert "ICP3 working"Keith Packard2012-09-01
| | | | | | PWM bits not suitable for master This reverts commit 75d6aa6f798606f1a6c5a46542065dda81e63b2a.
* Revert "telescience: correctly calculating rate values with higher resolution"Keith Packard2012-09-01
| | | | | | PWM bits not suitable for master This reverts commit ada6f2dfc045e77cb9499f20cdec1b4a54ef0db1.
* altos: Fix ao_delay function and move from per-chip code to ao_task.cKeith Packard2012-08-28
| | | | | | | ao_delay hasn't been chip-specific for a long time, and it had a bug in not calling ao_clear_alarm. Signed-off-by: Keith Packard <keithp@keithp.com>
* telescience: correctly calculating rate values with higher resolutionRobert Garbee2012-07-18
|
* ICP3 workingRobert Garbee2012-07-18
|
* Timer 3 working with slower clock and all 16 bits.Robert Garbee2012-07-18
|
* first work on PWM input to TeleScience, 'p' command displays timer 1Robert Garbee2012-07-17
|
* altos: Place STM config values at fixed addresses for re-useKeith Packard2012-07-17
| | | | | | | | Just like cc1111, stick the serial number and radio calibration values at known fixed addresses so that when re-flashing the board, we can go find the existing values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Enable pyro channel control in telepyroKeith Packard2012-07-16
| | | | | | This should make the board actually work now. 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: Remove some debug code from avr ADC driverKeith Packard2012-07-16
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* src: Add driver for AVR internal eeprom. Use for telepyro config.Keith Packard2012-07-16
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Remove debugging command from USB driverKeith Packard2012-07-16
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/avr: Remove debugging printf in avr stdio startupKeith Packard2012-07-16
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* src: Add explicit 'pin' argument to ao_enable_outputKeith Packard2012-07-14
| | | | | | | This lets the cc1111 use the atomic bit operation instead of a mask, which is immune to interrupt issues as well as being a shorter code sequence. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: include targe SPI speed in get requestKeith Packard2012-06-27
| | | | | | | STM needs it to be provided when enabling the SPI device, so just fix AVR and cc1111 to do the same. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make telescience-v0.1 build with new ao_data structKeith Packard2012-05-27
| | | | 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: 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>