summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* altos: Rework how STM clocks are initialized.Keith Packard2012-04-14
| | | | | | | | | | Clean all of the RCC configuration up after turning on the clocks. Use the MSI clock during initialization to avoid messing around with the HSI clock temporarily. Allow for an external clock on the HSE line. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use new USB driver in megametrum-v0.1 productKeith Packard2012-04-14
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add STM USB driverKeith Packard2012-04-14
| | | | | | Emulates the usual CDC-ACM device Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add STM ao_arch_reboot implementationKeith Packard2012-04-14
| | | | | | Uses the AIRCR register to force a reset Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add register definitions for STM syscfg and usbKeith Packard2012-04-14
| | | | 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: make megametrum beeper test keep beepingKeith Packard2012-04-09
| | | | | | Used to measure the beep frequency. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Check for cc1111 flash overflowKeith Packard2012-04-09
| | | | | | | The linker is supposed to do this, but it ignores the static initializer data added after the code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Increase STM SPI speed to PCLK/4Keith Packard2012-04-09
| | | | | | The pressure sensor seems happy at this speed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move MS5607 configuration to ao_pins.hKeith Packard2012-04-09
| | | | | | Which SPI port and where chip select is to be found are product specific. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add missing parens in ao_ms5607.hKeith Packard2012-04-09
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Reduce MS5607 reset delay, increase conversion delayKeith Packard2012-04-09
| | | | | | | Reset doesn't take very long, while doing a conversion seems to take more than 10ms. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make STM clock configuration per-product. Fix 32MHz CPU speedKeith Packard2012-04-09
| | | | | | | | | | This moves all of the STM clock configuration into ao_pins.h so that each product can configure it separately. While doing this, I discovered that the flash memory mode (64-bit, prefetch, latency 1) wasn't actually getting set, which is why the CPU refused to work at 32MHz. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add beeper driver to STM archKeith Packard2012-04-09
| | | | | | Drives the MegaMetrum beeper Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Test I2C code on discovery board.Keith Packard2012-04-09
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: ARM -O0 flag appears to generate buggy codeKeith Packard2012-04-09
| | | | | | Use -Os always, which is annoying... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make ms5607 driver do somethingKeith Packard2012-04-09
| | | | | | | It's loading prom values and converting sensor data, but it's getting the wrong answer at present. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: add STM I2C driver.Keith Packard2012-04-09
| | | | | | Not well tested yet... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Slow STM SPI down a bit so the MS5607 returns valuesKeith Packard2012-04-09
| | | | | | | It's still not working right, but at least it returns something other than all zeros... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow STM DMA channels to be reserved for one useKeith Packard2012-04-09
| | | | | | | | | This allows a single user of a DMA channel to reserve it for use without needing to lock the mutex; this is required for DMA from the ADC to work on megametrum as it wants to start DMA from an interrupt handler, which cannot block on a mutex. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Show temperature in stm-demoKeith Packard2012-04-07
| | | | | | Use the ADC to show current temperature Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use 384 cycle ADC sample timeKeith Packard2012-04-07
| | | | | | This is plenty fast, and provides nice stable readings. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add STM temperature sensor calibration dataKeith Packard2012-04-07
| | | | | | | Each stm32l has two-point factory temperature calibration data. Provide access to that for displaying temperature data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ADC support to megametrum firmwareKeith Packard2012-04-07
| | | | | | Measures all MM igniter and battery voltages. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ADC tests to stm-demoKeith Packard2012-04-07
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: STM SPI is not using interrupts itselfKeith Packard2012-04-07
| | | | | | All SPI transfers are done via DMA, so the DMA interrupts suffice. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add support for STM ADCKeith Packard2012-04-07
| | | | | | DMA-based driver for the STM analog to digital converter. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ability to change radio frequency in TeleTerraKeith Packard2012-04-07
| | | | | | Provide a way to set the frequency locally. 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: Force radio channel to zero when setting frequencyKeith Packard2012-04-07
| | | | | | | Otherwise, the actual radio frequency will include the channel offset, which is not useful. 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: Shorten help stringsKeith Packard2012-04-07
| | | | | | Save a bit of code space Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Save memory in ao_config.cKeith Packard2012-04-07
| | | | | | | Shorten help messages. Stop setting aes_key on products not using aes key. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Save memory in ao_cmd.cKeith Packard2012-04-07
| | | | | | | Shrink a couple of help strings move a variable in ao_cmd from data to pdata. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add fake install/uninstall targets for stm-bringupKeith Packard2012-04-07
| | | | | Keep global 'make install' from failing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Shuffle stm-demo SPI test code around a bitKeith Packard2012-04-06
| | | | | | | | | Move a debug printf beyond the chip select boundary to allow for more accurate timing. Send four bytes instead of just one. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Declare stm DMA address registers as volatile void *Keith Packard2012-04-06
| | | | | | Eliminates a cast when assigning to them. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Disable DMA unit when idleKeith Packard2012-04-06
| | | | | | Should save a bit of power Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Disable STM SPI transceiver when idleKeith Packard2012-04-06
| | | | | | Should save a bit of power. 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: megametrum builds an ELF file, not an IHX fileKeith Packard2012-04-02
| | | | | | Name it appropriately. 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: Oops. Set per-USART STM baud rate register instead of usart1Keith Packard2012-04-02
| | | | | | | Was accidentally always setting usart1 instead of the per-usart register. Didn't work too well for other usarts... Signed-off-by: Keith Packard <keithp@keithp.com>
* use explicit path not $(HOME) to find ARM toolchain for nowBdale Garbee2012-03-31
|
* Build megametrum-v0.1 by defaultKeith Packard2012-03-31
|
* altos: Add stub cc1120 driverKeith Packard2012-03-31
| | | | 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>
* altos: Move cc1111 AES driver to cc1111 directoryKeith Packard2012-03-31
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ao_freq.c to megametrum buildKeith Packard2012-03-28
| | | | | | I think this will be needed to compute radio settings on the cc1120 Signed-off-by: Keith Packard <keithp@keithp.com>
* stm-demo does not use altitude.hKeith Packard2012-03-28
|