summaryrefslogtreecommitdiff
path: root/src/lpc
Commit message (Collapse)AuthorAge
* altos: add ao_time_ns APIKeith Packard2019-02-25
| | | | | | | This provides nano-second resolution times by reading the systick value (which runs at 250ns ticks on stm). Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix several mis-specified time typesKeith Packard2019-02-25
| | | | | | Make sure AO_TICK_TYPE is used "everywhere", instead of uint16_t or other. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix ISR declarations to make them non-weakKeith Packard2019-02-21
| | | | | | | | | | In my zeal to eliminate warnings, I added declarations of all ISR functions to a shared header file. However, I managed to include the 'weak' declaration, which meant that the intended ISR functions were as weak as the 'default' ISR functions. This left all interrupts non-functional, which doesn't make for a happy program. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move common build definitions to src/Makefile.defsKeith Packard2019-02-18
| | | | | | | | This cleans up the build process for all architectures, providing a common place to specify vpath, cflags and build rules for various common files. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add -Wshadow to CFLAGSKeith Packard2019-02-18
| | | | | | And fix up the related messages. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add a pile more compiler warningsKeith Packard2019-02-18
| | | | | | | | | | | Adds: -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Declare task stack as union of uint8_t and uint32_tKeith Packard2019-02-18
| | | | | | | Support -Wcast-align and -Wpointer-arith while still allowing architectures to pick whether they want an 8-bit or 32-bit stack. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add 'void' to function declarations with no params.Keith Packard2019-02-18
| | | | | | Support -Wstrict-prototypes Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Declare all public functions in header filesKeith Packard2019-02-18
| | | | | | | Including interrupt vectors to catch mis-spellings. Working toward supporting -Wmissing-prototypes Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Mark local functions 'static'Keith Packard2019-02-18
| | | | | | Working towards supporting -Wmissing-prototypes Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Create ao_data_fill shared functionKeith Packard2018-10-19
| | | | | | | This fills a data ring entry with all of the current sensor values other than the ADC. It is used in all of the adc completion functions. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up AO_ROMCONFIG bitsKeith Packard2018-10-13
| | | | | | | Remove address parameter (doesn't work with gcc), create shared ao_romconfig in kernel. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add generic LED driver.Keith Packard2018-10-13
| | | | | | | | | | | This driver uses the generic GPIO functions and allows per-LED port and pin configuration. It supports up to 32 LEDs. Rename SoC-specific LED drivers. Remove enabled parameter to ao_led_init Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Eliminate 'pin' field from GPIO functionsKeith Packard2018-10-13
| | | | | | | This was used with the 8051 bit-addressing mode to provide single-instruction access to GPIO pins. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove 8051 address space specifiersKeith Packard2018-10-13
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch to newlib-nano for libc on armKeith Packard2018-10-13
| | | | | | Stop using pdclib Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Make sure USB pull-up is held low at boot for 'a while'Keith Packard2018-10-08
| | | | | | | Add a delay loop to make sure the host sees the pull-up low for long enough. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Fix stdio wakeup on serial IRQKeith Packard2018-08-15
| | | | | | Should just use USE_SERIAL_0_STDIN directly Signed-off-by: Keith Packard <keithp@keithp.com>
* 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/lpc: Really fix aes entry in lpc vpathKeith Packard2017-04-21
| | | | | | I added another entry instead of fixing the existing one. Not ideal. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc,altos/stmf0: Use -n flag to work around link editor issueKeith Packard2017-04-21
| | | | | | | | | Something changed in the link editor which makes it complain about 'no space for program headers' on LPC and STMF0 builds. Somehow, adding the '-n' flag to the linking step fixes it. It doesn't appear to break the build, so I guess it's ok? Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Add (void *) cast to fix alignment warningKeith Packard2017-04-21
| | | | | | The -Wcast-align warning is generated when this cast is not present. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Fix up Makefile definitionsKeith Packard2017-04-21
| | | | | | | | vpath reference to aes was busted. WARN_CFLAGS needs -Wcast-align. Wrap AO_CFLAGS. 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/lpc: Handle USB reset by resetting internal stateKeith Packard2016-06-10
| | | | | | | Just like stmf0, this clears internal state at USB reset time so the driver can survive host OS reboots. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add one-byte SPI output routine for LPC and STM coresKeith Packard2016-03-26
| | | | | | This allows for SPI output at interrupt time, one byte at a time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Add fast timerKeith Packard2016-03-26
| | | | | | This offers a faster timer callback for higher-precision operation Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Give up on interrupt-driven SPI driverKeith Packard2015-02-07
| | | | | | | | | There are just too many limitations in when interrupts are delivered to make them useful. Instead, just drive the SPI directly with the CPU. At higher spi speeds (6Mhz or more), it's probably faster to do it this way anyways. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Double buffer USB data transfersKeith Packard2015-02-05
| | | | | | | | | | This allocates twice the space in the USB memory so that transactions can be double buffered without using separate CPU memory. Signed-off-by: Keith Packard <keithp@keithp.com> Conflicts: src/lpc/ao_usb_lpc.c
* altos/lpc: Clean up USB endpoint access functionsKeith Packard2015-02-05
| | | | | | | | | The USB device endpoints can have two pointers in them, but we use only the first. Fix the access functions to take an index as to which we want so that we can disable the other address registers with them instead of requiring open-coded access. Signed-off-by: Keith Packard <keithp@keithp.com>
* Revert LPC usb performance improvementsKeith Packard2015-02-05
| | | | | | | There's something screwy going on, sticking garbage in the input buffer at boot time Signed-off-by: Keith Packard <keithp@keithp.com>
* Revert "altos/lpc: Fix double-buffered USB changes"Keith Packard2015-02-05
| | | | This reverts commit 41a0604ad1ea1a03e2db7d41731dbadf466b45db.
* altos/lpc: Fix double-buffered USB changesKeith Packard2015-01-22
| | | | | | | | These got merged when we were down in Auckland, but before they'd been finished. Transmitting worked fine, but receiving was mis-configuring the OUT buffer size in the hardware. Signed-off-by: Keith Packard <keithp@keithp.com>
* Set version to 1.5.9.11.5.9.1Keith Packard2015-01-16
|
* altos/lpc: Switch LPC SPI driver to interrupt-drivenbdale-altosdroidKeith Packard2014-12-22
| | | | | | | This improves performance for SPI transfers, while allowing other tasks to get work done during longer SPI transfers. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Disable JTAG when using pins for GPIOKeith Packard2014-11-06
| | | | | | | JTAG is enabled by default, making those pins not support GPIO unless specifically configured. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Declare SPI send parameters as constKeith Packard2014-11-06
| | | | | | This matches STM Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rework packet receive for cc1120Keith Packard2014-07-05
| | | | | | | | | | Instead of blocking on PQT, just set up the receiver to start going and when the first bit interrupt comes in, grab the SPI bus if possible and configure it for reception. This improves sensitivity in the radio by a significant amount while making the code conceptually a bit nicer. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: HAS_USB_CONNECT has been changed to mean a custom pinKeith Packard2014-06-05
| | | | | | | | The LPC stuff isn't actually very useful and TeleGPS uses a custom pin instead, and was using HAS_USB_CONNECT to mean the same thing. That wasn't good. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: whitespaceKeith Packard2014-05-21
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: adc code computes number of active ADC channelsKeith Packard2014-05-21
| | | | | | | Don't require the application to provide AO_NUM_ADC when AO_ADC_NUM is computed automatically. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: stm and lpc ao_boot.h were identical. move to kernel.Keith Packard2014-05-15
| | | | | | | These two files were absolutely identical, so share them by moving under kernel instead.x Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use explicit boot loader signal in ao_boot_rebootKeith Packard2014-05-15
| | | | | | | | Instead of just "knowing" that ao_boot_loader will be passed zero when the application wants to get back to the boot loader, explicitly define the values so that both sides always agree. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Assume all LPC products will have 32KB of flashKeith Packard2014-05-12
| | | | | | | If we ever use something smaller than this, we'll need to figure out how to tell how much memory the device has. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report battery voltage instead of S at startupKeith Packard2014-04-05
| | | | | | | This works on everything with a beeper except TeleMetrum v1.0 which just doesn't have enough flash space for the code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename 'core' to 'kernel'Keith Packard2014-04-05
| | | | | | | core remains a bad name to use -- dirvish skips files (and directories, it seems) with that name. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix LPC LED driverKeith Packard2014-03-09
| | | | | | Was using wrong types Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: fix building LPC serial support for STDIOKeith Packard2014-03-09
| | | | 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>
* altos: Switch APRS to compressed position formatKeith Packard2014-01-14
| | | | | | This provides lat/lon/alt in fewer bytes while improving precision. Signed-off-by: Keith Packard <keithp@keithp.com>