summaryrefslogtreecommitdiff
path: root/src/stm
Commit message (Collapse)AuthorAge
* 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>
* altos: Allow STM usb driver to be used without stdioKeith Packard2013-05-07
| | | | | | | This lets the self flashing loader be linked without any of the stdio code, which saves a bunch of memory. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm-flash: Check target flash address against AO_BOOT_APPLICATION_BASEKeith Packard2013-05-07
| | | | | | Allows that value to change Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use flash loader on all STM productsKeith Packard2013-05-07
| | | | | | Includes the boot chain stuff Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Provide another 4kB of flash space for appsKeith Packard2013-05-07
| | | | | | With the flash loader now < 4kB, we can use the spare 4kB for applications Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Shrink stm flash loader to < 4kBKeith Packard2013-05-07
| | | | | | Saves 4kB of flash space for applications. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Allow core timer to be excluded from buildKeith Packard2013-05-07
| | | | | | | This removes all of the support for the base 100Hz timer from the system, saving space when not needed Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Don't define task macros when not taskingKeith Packard2013-05-07
| | | | | | The necessary data structures aren't defined in this case. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Add comments to the .ld files explaining how the romconfig stuff ↵Keith Packard2013-05-07
| | | | | | | | | | | works Would be nice to be able to explicitly define addresses for the romconfig variables, but I can't figure out how to make that work. Instead, just explicitly load the files in teh right order to make things land in the right places. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Add .elf to .ihx ruleKeith Packard2013-05-07
| | | | | | Uses objcopy -O ihex to extract the initialized bits from an elf file Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix STM flash programmingKeith Packard2013-05-07
| | | | | | | | | | | Wait for flash to go non-busy after writing or erasing a page and before jumping back out of the RAM code. Export a separate 'erase' operation for testing. Re-lock flash after every operation. Signed-off-by: Keith Packard <keithp@keithp.com>