summaryrefslogtreecommitdiff
path: root/src/stm
Commit message (Collapse)AuthorAge
* altos: Fake flight code changes in kernel and stmKeith Packard2014-05-27
| | | | | | | Redirects data input from local sensors to USB sourced data, leaving USB enabled when the computer goes into pad mode. 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/stm: Use #define'd constants for GPIO register addressesKeith Packard2014-05-12
| | | | | | | This lets the compiler short-circuit the tests in ao_enable_gpio and ao_disable_gpio to save a bit of code space and time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Figure out available flash space based on chip id registersKeith Packard2014-05-12
| | | | | | | Look at the flash size and the device id registers to figure out how much flash is available. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: White space fix in ao_boot_pin.cKeith Packard2014-05-12
|
* altos/stm: Use flash address of boot loader instead of 0x0Keith Packard2014-05-12
| | | | | | | Flash is at 0x08000000, but when the chip boots, it can be at 0x0 as well. Use the 0x08000000 address when rebooting to flash Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Simplify quadrature trackingKeith Packard2014-05-09
| | | | | | | | | | | | Set the timer to 200Hz for a 5ms debounce interval. Then, simply look for transitions ending in both bits in the encoder being off, which indicates the the encoder is resting in a detent. If bit '2' is turning off, the encoder was rotated clockwise, otherwise the encoder was rotated counter clockwise. This is a lot more reliable, although still not perfect. 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: 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: Fixup named ADC printingKeith Packard2014-02-08
| | | | | | Print all ADC values on one line when using named ADC values Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Block interrupts while reprogramming flashKeith Packard2014-02-08
| | | | | | Wouldn't work well to get interrupted... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Enable system timer in flash loader and prod watchdog with itKeith Packard2014-02-08
| | | | | | | This makes it possible to reflash the board without needing to disable the watchdog. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add names when reporting STM ADC valuesKeith Packard2014-02-08
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report battery, apogee and main voltages over APRSKeith Packard2014-01-15
| | | | | | This makes APRS more usable when you mute the RF audio on the HT. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Turn on -Werror for STM and LPC buildsKeith Packard2013-12-20
| | | | | | | Now that the build completes with no warnings, make future warnings into errors. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Turn on -WextraKeith Packard2013-12-20
| | | | | | All of the warnings for STM projects are cleaned up now Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up -Wextra warningsKeith Packard2013-12-20
| | | | | | | Unused variables, mismatching signed/unsigned and a few other misc warnings. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Turn on -Wall for stm compilesKeith Packard2013-12-20
| | | | | | The warnings are all cleaned up now, leave this on by default Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up some minor warnings from -WallKeith Packard2013-12-20
| | | | | | Unused variables, functions and labels, missing enums in switch. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Semantic error in STM usb disable caused it to not workKeith Packard2013-12-18
| | | | | | | The USB enable register wasn't actually getting rewritten with the enable bit turned off, so the USB device was still powered on in flight. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Update pdclib paths for flash-loader buildsKeith Packard2013-12-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Build pdclib locally if necessaryKeith Packard2013-12-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use all 16 bits of setup packet len when limiting reply lenKeith Packard2013-12-17
| | | | | | | | | We were only using the low 8 bits of the setup packet reply max len, which meant that if the other side sent a weird max len (as Windows 7 does), then we'd truncate our setup reply to whatever was in the low 8 bits of that value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: arm-none-eabi-binutils now puts 'main' into .text.startupKeith Packard2013-12-08
| | | | | | | | Change name of .text.ram to .ramtext, then load .text* into flash and .ramtext into ram. This ensures that 'main' and anything else in a random .text.* segment will get loaded into flash as appropriate. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Change flash loader name to just AltosFlashKeith Packard2013-12-08
| | | | | | Remove the software version string from the product name Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Build .ihx files for all arm projectsKeith Packard2013-12-08
| | | | | | The .ihx version can be processed by the java loader Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow use of internal EEPROM for config storageKeith Packard2013-11-12
| | | | | | | | | | | This stops exposing eeprom as 'storage' and instead exposes it with a separate eeprom API so that it can be used for config storage without also using it for flight log storage. The config code has been changed to allow it to either use storage for configuration data or eeprom. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add gyro-based orientation trackingKeith Packard2013-10-25
| | | | | | | This tracks the angle-from-vertical as an additional input to the pyro channels. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use installed pdclibKeith Packard2013-10-10
| | | | | | Switch over to the installed pdclib everywhere 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/stm: New GAS version requires flags in APSR assignmentKeith Packard2013-10-08
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc, altos/stm: ARM requires ISB after switching stack pointersKeith Packard2013-10-07
| | | | | | | This sticks a barrier in the CPU to prevent using the wrong stack register past the change. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Make sure we switch to MSI during timer initKeith Packard2013-08-28
| | | | | | | Need to ensure that the CPU is actually using the MSI during timer init or all of the other clock changes won't work Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Remove stale timer definesKeith Packard2013-08-28
| | | | | | Stuff from when we weren't using systick Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Make sampling profiler work againKeith Packard2013-08-28
| | | | | | | | Disable the separate stack as that means we can't figure out the PC from the timer interrupt. Move ao_idle_loc after the interrupt release so that we see idle tasks correctly. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: New compiler doesn't correctly build flash bits yetKeith Packard2013-08-28
| | | | | | Use /opt/cortex until we make the packaged one work Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Initial TeleMetrum v2.0 bitsKeith Packard2013-08-27
| | | | | | | Adds new telemetry and logging formats along with code for TeleMetrum v2.0 design. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add fast-timer API. Use for quadrature and button driversKeith Packard2013-06-09
| | | | | | | This splits the fast-timer portion out of the debounce helper code and shares that with the quadrature driver which now uses it directly. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add debounce helper. Use in button and quadrature drivers for TeleLCOKeith Packard2013-06-09
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge branch 'lpc'Keith Packard2013-05-21
|\
| * 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: Move ao_data.c from stm to coreKeith Packard2013-05-18
| | | | | | | | | | | | This should be used on every processor Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Set the path for the STM32L compiler explicitlyKeith Packard2013-05-21
|/ | | | | | This makes sure we use the known toolchain for STM32L builds Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Grab SPI mutex until MPU6000 I2C mode is disabledKeith Packard2013-05-15
| | | | | | | | If other drivers use the SPI bus, the MPU6000 gets confused as its sitting on the bus looking for I2C messages. Just grab the mutex before the OS is running and hold onto it until the MPU6000 has been initialized. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix telemega v0.3 igniter order (drogue/main moved). Label ADC dumpKeith Packard2013-05-15
| | | | | | | telemega moves the igniters around so that E/F are now drogue/main. Add custom labels for ADC values to make parsing possible Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Wait after configuring boot pin before testing itKeith Packard2013-05-07
| | | | | | | | Clearly the pin isn't quite ready just after it's been configured, so hang around for a while (100 nops) to let things setting down before testing the value of the pin. Makes booting a lot more reliable. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Create per-product flash loadersKeith Packard2013-05-07
| | | | | | | Split the flash loader prototype into pieces so that each product can build a custom flash loader with very little code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Get rodata into flash, make sure sections are alignedKeith Packard2013-05-07
| | | | | | | | .rodata* needs to be in flash; otherwise strings get left in ram. Failing to align sections makes the initialized data get dumped into the wrong place in memory. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Run self loader when application sets boot addr to 0Keith Packard2013-05-07
| | | | | | | This causes the flash loader startup code to fall into the loader when the application sets the boot address to zero. Signed-off-by: Keith Packard <keithp@keithp.com>