summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | 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>
* | lpcxpresso: Add ao_demo.cKeith Packard2013-05-17
| | | | | | | | | | | | Kinda necessary for the demo to build 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>
* libaltos: use PurgeComm in Windows altos_close to abort in-progress opsKeith Packard2013-05-17
| | | | | | | | Instead of manually signalling the related events, use PurgeComm which can then abort the operations itself. Also make sure all of the relevant handles are set to INVALID before closing them to avoid race conditions. Signed-off-by: Keith Packard <keithp@keithp.com>
* libaltos: Build the linux library targets when doing a 'fat' buildKeith Packard2013-05-17
| | | | | | These are necessary for the fat release, so make sure they're built then. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/cc1111: Hack on USB driver to make Windows happyKeith Packard2013-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Windows modem driver is quite chatty at startup time, getting and setting the comm parameters each time the device is opened. Sometimes, when setting the parameters, the cc1111 would STALL EP0. Most of the time, Windows would happily pass this as an error back to AltosUI which would then re-try the open (and succeed, most of the time). Sometimes, Windows would stall for 30 seconds before passing the error back. This made the whole UI freeze, and I suspect most people assumed our app had died. A bit of analysis with the beagle USB sniffer and I discovered the STALL settings, but there wasn't any correlation between the data on the wire and when the STALL would be generated. So, I found a couple of other cc1111 USB stacks on the net and just looked to see how our driver differed. There wasn't anything clearly related, but there were a list of small differences: 1) Other drivers didn't bother waiting for the hardware to ack the USBADDR setting; doing it this way means we can set the address *before* acking the setup packet. It'll get set eventually, at which point the device will start responding to packets again. Easy to fix, and saves a bit of code space too. 2) The other drivers set the STALL bit for setup packets which aren't understood. This shouldn't have any effect on 'good' systems as those shouldn't ever be generating bogus setup packets anyways. The driver already handled the STALL state in the interrupt handler, the only requirement was to figure out when to explicitly set the STALL bit. That required moving the state updating code from the start of the ep0 setup handling to the end, after the setup packet had been examined and data queued in or out as appropriate. 3) Our driver explicitly queued an IN packet for any setup request that wasn't waiting for an OUT pack. This appears to tie in with the USBADDR change above as before I made that change, this change caused the driver to fail to respond to most setup packets. This was simple once the above change was made, just move the generation of the IN packet inside the code that switched to the IN state. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Generate unmodulated carrier for CC1120 test modeKeith Packard2013-05-15
| | | | | | | This sets the deviation to 0, enables the preamble and turns on the transmitter. It will sit there happily sending a bare carrier forever Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move MS5607 info from 'v' to 'c s'Keith Packard2013-05-15
| | | | | | Makes more sense there. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove some MMA655x debugging printfsKeith Packard2013-05-15
| | | | 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: 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>
* altosui: Generate useful KML files from TeleGPS logsKeith Packard2013-05-14
| | | | | | | Use GPS altitude when baro altitude is not present. Don't require flight number. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosui: Use GPS alt + baro height for KML altitudeKeith Packard2013-05-14
| | | | | | | | | GPS altitude is generally more absolutely correct than baro altitude, so use that as the nominal pad altitude when generating a KML file. This results in a KML file that has the flight trace start and end closer to the ground, which is always nice. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Use sequence numbers to track GPS updates to AltosRecordKeith Packard2013-05-14
| | | | | | | | | | | State objects now record what GPS sequence ID they have to know when the GPS data has been updated. Record objects bump the GPS sequence each time new GPS data is recorded. This way, record objects aren't modified as they're iterated over to generate the list of state objects which makes it possible to iterate multiple times and get the same resulting set of states. 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>
* altosuilib: Mistake in the MegaDongle listing -- was set to TeleMegaKeith Packard2013-05-13
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Correct hexfile address rangesKeith Packard2013-05-13
| | | | | | | | Stop trying to use sentinal values for addresses and just keep a boolean tracking whether they've been initialized. Avoids precision errors in the variables. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosui: Wait for valid callsign/flight when graphingKeith Packard2013-05-10
| | | | | | | Wait for the data record to indicate that the flight value is valid before setting the graph callsign/flight/serial data. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge branch 'master-fixes' into stm-flash-fixesKeith Packard2013-05-09
|\
| * micropeak: Use new 'last logdir' preference for MicroPeak save/load dialogsKeith Packard2013-05-09
| | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * Information from configure about android build was misprintedKeith Packard2013-05-09
| | | | | | | | | | | | A typo in the script caused it to print either 'yes' or '' Signed-off-by: Keith Packard <keithp@keithp.com>
| * altoslib: Add non-persistent 'last logdir' preferenceKeith Packard2013-05-09
| | | | | | | | | | | | | | This is used to record the last directory for reading or writing log files so that the UI can pop back to the same place next time. Signed-off-by: Keith Packard <keithp@keithp.com>
| * Add altosdroid notebook entry for imperial unitsKeith Packard2013-05-09
| | | | | | | | 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>
* | ao-tools/ao-stmload: Add --verbose flagKeith Packard2013-05-07
| | | | | | | | | | | | This dumps out the serial communication so you can see where things go wrong. 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>
* | ao-tools/ao-stmload: application base moved to 0x08001000Keith Packard2013-05-07
| | | | | | | | | | | | And, use a symbolic name so it can be easily moved in the future Signed-off-by: Keith Packard <keithp@keithp.com>
* | ao-tools: reboot to loader now uses 'X' instead of 'L'Keith Packard2013-05-07
| | | | | | | | | | | | | | | | 'L' is used by lots of other commands; switch to 'X' which is free. Sigh. Someday we'll have words for commands instead of just letters 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>