summaryrefslogtreecommitdiff
path: root/src/lpc
Commit message (Collapse)AuthorAge
* altos/lpc: Force idle mode if USB gets an address during boot timeKeith Packard2013-05-19
| | | | | | This lets EasyMini be booted to idle mode by simply plugging it into USB. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Reset SPI device at startup timeKeith Packard2013-05-19
| | | | | | Wasn't doing the reset sequence correctly (write 0, then write 1). Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Configuring wrong pin for SPI1 MOSIKeith Packard2013-05-19
| | | | | | Was setting configuration for PIO1_21 instead of PIO0_21. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Allow for alternate SPI SCLK0 pin usageKeith Packard2013-05-19
| | | | | | | SPI SCLK0 can appear on three different pins; let the application configure which one it wants. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Leave SPI enabled all the timeKeith Packard2013-05-19
| | | | | | Might be able to turn it off with some care; more experimentation required. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Create TX/RX busy macros for SPI driverKeith Packard2013-05-19
| | | | | | | Check for both fifo status *and* device busy to make sure the device is idle before we touch any registers. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Fix beeper driverKeith Packard2013-05-19
| | | | | | | | Set prescale limit, not current prescale value (pr instead of pc). Flip output 1 on PWM match (set emc toggle for channel 1). Don't hold counter in reset (turn off CRST bit). Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Missing parens around ao_gpio_set macroKeith Packard2013-05-19
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: SPI runs off main clock (48MHz), not sysclk (24MHz)Keith Packard2013-05-19
| | | | | | Update SPI speed definitions to match Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Pull ADC data from the correct registersKeith Packard2013-05-19
| | | | | | | | Was just stepping through register space arbitrarily, which would have worked for EasyMini, but might have failed later if the ADC pin usage wasn't consecutive. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Don't use loader to place USB endpoint data in USB ramKeith Packard2013-05-19
| | | | | | | Instead, just assign a fixed address in registers.ld. This avoids a confusing section in the elf file. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add EXTI_PIN_NOCONFIGURE to exti interface, use for MS5607Keith Packard2013-05-19
| | | | | | | | This asks the EXTI code to not mess with the pin configuration so that the MS5607 driver can get interrupts on the MISO pin while still using it for SPI. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Make EXTI code work.Keith Packard2013-05-19
| | | | | | | | Clear rise/fall bits in ISR to avoid re-entering. Block interrupts around enable/disable bits. Create shared _ao_exti_set_enable function to control mask changes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Stick USB control structure in USB memoryKeith Packard2013-05-18
| | | | | | | No reason to have that in regular ram, and it means we've got space for large enough stacks now Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Use separate interrupt stackKeith Packard2013-05-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Try a smaller stack.Keith Packard2013-05-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Add pin interrupt driverKeith Packard2013-05-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Add beep driverKeith Packard2013-05-18
| | | | | | Hardwired to our current beeper pin Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Add ADC driverKeith Packard2013-05-18
| | | | | | Uses burst mode to get the whole set of values in one interrupt Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: add gpio int, spi, adc and ct32b defines to lpc.hKeith Packard2013-05-18
| | | | | | Lots more devices Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Clean up broken IOCONF definesKeith Packard2013-05-18
| | | | | | Missing comment closes Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Fix ao_enable_input, add ao_enable_analogKeith Packard2013-05-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: LPC interrupt priorities are just 0-3Keith Packard2013-05-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add LPC spi driverKeith Packard2013-05-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Get USB workingKeith Packard2013-05-17
| | | | | | | The lpc demo now has a USB command line. Also allocates system stack so we know when ram is tight at build time Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Finish off LPC USB register definitionsKeith Packard2013-05-17
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Start adding USB register definesKeith Packard2013-05-17
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Start adding USB register definitionsKeith Packard2013-05-17
| | | | | | Just the bare struct, no defines yet. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Take advantage of USART TX fifoKeith Packard2013-05-17
| | | | | | | The USART has a 16-byte TX fifo; keep rough track of how full it is to avoid waiting for an interrupt after every TX byte. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Get USART runningKeith Packard2013-05-17
| | | | | | Adds a simple demo thread that spews data to the serial port Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Get 100Hz timer runningKeith Packard2013-05-17
| | | | | | Use systick, which is built into the ARM core Signed-off-by: Keith Packard <keithp@keithp.com>
* lpc: Initial lpcxpresso bitsKeith Packard2013-05-17
This gets the LPC11U14 clock set to the PLL and blinks the LED. Signed-off-by: Keith Packard <keithp@keithp.com>