summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* 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: Initialize MPU6000 CS pin for SPI modeKeith Packard2013-05-15
| | | | | | Without this, we can't talk to the chip very well 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: gps serial routines are called ao_gps_*, not ao_ublox_*Keith Packard2013-05-15
| | | | | | | This caused the u-blox driver to use serial port 1 instead of the project-specified serial port. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Give u-blox 3 seconds after boot before we bug itKeith Packard2013-05-15
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add 'g' command to ublox GPS code.Keith Packard2013-05-15
| | | | | | | | Take the gps_dump function from ao_gps_skytraq.c and move it to a new file so it can be shared with the u-blox driver. That affects every skytraq and u-blox user as they need to include the new file. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add flash-loader for telescience-v0.2Keith Packard2013-05-15
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set u-blox navigation settingsKeith Packard2013-05-14
| | | | | | | Airborne mode, < 4g (as good as it gets) Only use 3D fixes (2D isn't very useful) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use symbolic names for ublox packet idKeith Packard2013-05-14
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/test: ao_gps_test_ublox uses ao_gps_blox.hKeith Packard2013-05-13
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Struct used for u-blox testing had lat/lon swappedKeith Packard2013-05-13
| | | | | | | The structs in ao_gps_ublox.h are used only by the test framework, but it's useful to have that look right anyways. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch TeleMega v0.3 to u-bloxKeith Packard2013-05-13
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Provide a define for the number of sat infos in a telem packetKeith Packard2013-05-13
| | | | | | 12 fit, but it's best to use a symbolic constant Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add U-Blox GPS driverKeith Packard2013-05-13
| | | | | | Uses binary mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't bother fixing telelco-v0.1, just disable itKeith Packard2013-05-13
| | | | | | | Lots of stuff to do to make this old project build; just disable it instead of fixing 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: Add ao_boot_chain to telemega v0.3Keith Packard2013-05-07
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove stdio from stm-flashKeith Packard2013-05-07
| | | | | | This saves enough memory to fit in under 4kB 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: Make stm-bringup build againKeith Packard2013-05-07
| | | | | | stm requires AO_BOOT_LOADER_BASE now 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: Eliminate stdio looping when system has a single stdio sourceKeith Packard2013-05-07
| | | | | | No need to loop if there's only one Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move ao_notask to coreKeith Packard2013-05-07
| | | | | | | The STM flash loader wants to be taskless too, share this very simple implementation of sleep/wakeup. 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: Switch ao_stm_flash to read/write binary blocksKeith Packard2013-05-07
| | | | | | | Change from development testing code to something that actually reads and writes data from the USB link. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Create ihx version of stm-demoKeith Packard2013-05-07
| | | | | | Both ao-stmload and the eventual java loader will support ihx files. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add erase command to stm-flash app. Validate addresses.Keith Packard2013-05-07
| | | | | | | | This also leaves the code writing fixed values and printing read data in ascii instead of binary. Useful for debugging, will want changing for the product. 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>
* altos: Validate boot chain start addressKeith Packard2013-05-07
| | | | | | | | | | If the first block of boot memory has been smashed, and the start address is bogus, don't bother trying to jump to the application. This makes the system more resiliant to flash failures, presuming the loader erases the first block, programs the other blocks and then finally comes back to program the first block. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Mark .boot section as (NOLOAD)Keith Packard2013-05-07
| | | | | | | | | For some reason, the silly linker marks things in section .boot as data rather than bss, so they'd end up initialized by default. Force them to be NOLOAD so they preserve values across reboot so that boot chaining works properly. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix up stm-flash output file name. Use discovery LED pinsKeith Packard2013-05-07
| | | | | | | | | | Include the AltOS version in the file name, just like any other AltOS program. Switch the LEDs to the discovery board as we're using that. Eventually, we'll stop using LEDs entirely. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add actual flashing functions to stm-flash appKeith Packard2013-05-07
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up boot loader supportKeith Packard2013-05-07
| | | | | | | Split out code into separate files. Add support for getting back to boot loader from application. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add program flash functionKeith Packard2013-05-07
| | | | | | | | And get it loaded to RAM so it can execute correctly. Nothing calls it yet... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make stm-flash capable of switching to applicationKeith Packard2013-05-07
| | | | | | | This shrinks the base OS load down a bit as well so that stm-flash fits comfortably in the first 8kB of memory. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add STM self-flashing loaderKeith Packard2013-05-07
| | | | | | | This allows the real application to get loaded at 0x2000 and jumps to that at startup time if the boot pin is set appropriately Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Sanity check barometer before going to pad modeKeith Packard2013-05-07
| | | | | | | Make sure the barometer is reporting some sensible value before letting TM try to fly the rocket. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Elide M25 debug output from storage info commandKeith Packard2013-05-07
| | | | | | | This is just chip-specific info that no UI actually needs. It takes a bunch of ROM to write it though, making TeleMetrum not have much space left. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set APRS deviation to 3kHzKeith Packard2013-05-07
| | | | | | | | I finally found a bunch of references to APRS on the net and they all appear to assume a 3kHz deviation. Let's see if this works better with Yaesu radios. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/test: Fix warning in ao_aprs_testKeith Packard2013-05-07
| | | | | | Was not forward-declaring ao_radio_send_aprs, causing a warning Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use SYSTICK on STM32LKeith Packard2013-05-07
| | | | | | | It's probably more power efficient than using one of the timers, and it's certainly easier to configure. Signed-off-by: Keith Packard <keithp@keithp.com>