summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* altosui: Remove the dregs of AltosDroid load-old-telem codeKeith Packard2015-02-07
| | | | | | | | | | | | AltosDroid used to scan the old .telem file to return to the previous flight state on restart. Now it just loads the old state object instead, a vast improvement in performance. To do that, there were some changes in the altoslib code required. This patch just removes those, fixing replay bugs in TeleGPS along the way. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: ao_packet_getchar needs to return 'int' so AO_READ_AGAIN worksKeith Packard2015-02-07
| | | | | | | | | With ao_packet_getchar returning 'char', AO_READ_AGAIN would get converted to 0xff instead of -1 on return, making ao_packet_echo either produce a bogus character on output, breaking command responses, or wedge and never exit when the link was dropped. Signed-off-by: Keith Packard <keithp@keithp.com>
* Update version 1.6 release notes with more bug fixesKeith Packard2015-02-07
| | | | | | | A few bugs found during release testing are notable enough to be included in the release notes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Separate out ao_tracker force from dbgKeith Packard2015-02-07
| | | | | | | Allow enabling telemetry when USB is connected without also enabling the motion debugging output. 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/drivers: Increase SPI speed of CC115L to 6MHzKeith Packard2015-02-07
| | | | | | The datasheet says that the maximum for back-to-back data is 6.5MHz. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Initialize GPS data to MISSING for Monitor Idle modeKeith Packard2015-02-06
| | | | | | | Make sure any un-set values are flagged correctly for the Monitor Idle UI by using the init() method. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Use 'stateless' for Monitor IdleKeith Packard2015-02-06
| | | | | | | | This reflects the lack of flight state progression during Monitor Idle and ensures that the GPS 'ready' indicator will light after 10 solid GPS fixes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Support TeleGPS for Monitor IdleKeith Packard2015-02-06
| | | | | | | TeleGPS has ADC and GPS values, so build the necessary ADC parser and then hook up GPS parsing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Don't show 'Sats in view' for TeleGPS eeprom graphingKeith Packard2015-02-06
| | | | | | | | We don't log the visible sats from TeleGPS, only the basic GPS info. Have AltosFlightStats track whether sat info is present, then use that to elide the Sats In View graph entry as needed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: EEProm download from TeleGPS doesn't have statesKeith Packard2015-02-06
| | | | | | | | | | | | | As TeleGPS doesn't have flight states, the EEProm download progress bar shouldn't show 'state invalid', and it should use a different scale for each block. Fix this by having AltosConfigData know which devices have state based on their log format, then mark the progress bar state limits as 'invalid/invalid' instead of 'boost/landed'. Then have the progress bar use that to set a more reasonable scale for each block. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Store MS5607 data in AltosConfigData for use by AltosMs5607Keith Packard2015-02-06
| | | | | | | | | When doing 'Monitor Idle', we fetch new config data each iteration and pass that to each of the readers, including ms5607. Instead of re-fetching the config data there, just store the ms5607 parameters when we fetch it the first time and copy it over. Signed-off-by: Keith Packard <keithp@keithp.com>
* Package TeleDongle-v3.0 firmware with TeleGPS and AltosUI appsKeith Packard2015-02-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: New teledongle and telebt devices are not pair-programmedKeith Packard2015-02-06
| | | | | | | Only list telebt-v1 and teledongle-v0 as pair-programmed devices so that newer versions go through the self-programming process Signed-off-by: Keith Packard <keithp@keithp.com>
* micropeak: Install Windows AltusMetrum driver bitsKeith Packard2015-02-06
| | | | | | Make AltOS-based µPUSB devices work with MicroPeak Signed-off-by: Keith Packard <keithp@keithp.com>
* micropeak: Support both FTDI and Altus Metrum USB IDsKeith Packard2015-02-06
| | | | | | | | The windows driver only returns FTDI devices when altos_ftdi_list_start is invoked, so we need to call both that and the regular altos_list_start to get all of the devices. Signed-off-by: Keith Packard <keithp@keithp.com>
* micropeak: Fix file association registry install on WindowsKeith Packard2015-02-06
| | | | | | | Need to invoke DisableX64FSRedirection before setting file association registry entries or Windows won't find our application. Signed-off-by: Keith Packard <keithp@keithp.com>
* windows: Look for current Java version in \SOFTWARE\Wow6432NodeKeith Packard2015-02-06
| | | | | | | I have no idea what this is, but I found the Java version down in there... Signed-off-by: Keith Packard <keithp@keithp.com>
* Add 'keithp-fat' target for uploading temporary builds to keithp's machineKeith Packard2015-02-06
| | | | | | | This lets me quickly prepare a new test version for Windows/Mac in a single command. Signed-off-by: Keith Packard <keithp@keithp.com>
* libaltos: Use more SetupDi API to get Windows 7 listing devicesKeith Packard2015-02-06
| | | | | | | | My Windows 7 box doesn't include 'SymbolicName' in the registry, but SetupDiGetDeviceInstanceId *does* return something that includes vid/pid/serial, so use that in preference. Signed-off-by: Keith Packard <keithp@keithp.com>
* Update docs for 1.6Keith Packard2015-02-05
| | | | 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>
* altos/easymini-v1.0: Shrink stack to deal with USB changesKeith Packard2015-02-05
| | | | | | | Reverting the USB double buffering means using more RAM, need to shrink the EasyMini stack to accomodate that. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/teledongle-v3.0: Shrink stacks to 320 bytes to fit in ramKeith Packard2015-02-05
| | | | | | The old USB code had static in/out buffers in ram 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.
* ao-bringup: Add turnon_teledonglev3Keith Packard2015-02-04
| | | | | | | TeleDongle v3 uses the LPC11U14 processor which has no on-chip eeprom, so we must reflash the device to set the default radio calibration value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename teledongle-v1.9 as teledongle-v3.0Keith Packard2015-02-04
| | | | | | No hardware changes from the 1.9 prototypes to the 3.0 final version. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telebt-v3.0: Set initial radio cal to a sensible valueKeith Packard2015-02-04
| | | | | | | | CC1200 uses a different xtal than CC1120, so the default calibration needs to change. This value hit 434.550 on SN 2407, so it seems like a reasonable place to start. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telebt-v3.0: Add monitor bitsKeith Packard2015-02-01
| | | | | | Will be useful to actually be able to receive telemetry Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/usbtrng-v2.0: Select PA11/PA12 mapping config valueKeith Packard2015-02-01
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Support PA11/PA12 remappingKeith Packard2015-02-01
| | | | | | | | Small pin-count versions of the STMF0 can remap PA11/PA12 on the same pins as PA9/PA10. These are used by USB, so have the USB driver deal with remapping them. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telebt-v3.0: Turn red LED off after initializationKeith Packard2015-02-01
| | | | | | This lets the user know the device successfully initialized. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telebt-v3.0: Fix stdio setup for BTMKeith Packard2015-02-01
| | | | | | | Make sure the BTM module is allowed to be included in stdio, but delay adding that until the BT link is running. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Always include a check for stdio overflowKeith Packard2015-02-01
| | | | | | | For some reason, the check for running out of space to record stdio devices was disabled when only one device was expected. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/btm: Add fancier debug. Pull serial reset port low.Keith Packard2015-02-01
| | | | | | | | | | | Adds an interactive debugging mode to help diagnose BTM issues. Discovered that the serial reset pin on the BTM needs to be pulled low for the device to work correctly. Leave the bt link interrupt disabled until things are initialized. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Add ability to delay STDIO usage for serial portsKeith Packard2015-02-01
| | | | | | | | Bluetooth needs to delay adding the serial port to stdio until the link is up and running. The cc1111 serial driver had DELAY_SERIAL_*_STDIN bits which have been added to the STM serial driver. Signed-off-by: Keith Packard <keithp@keithp.com>
* And, also add the TeleBT v3.0 flash loader MakefileKeith Packard2015-01-30
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* Oops, forgot the TeleBT-v3.0 MakefileKeith Packard2015-01-30
| | | | | | | git doesn't warn about files named 'Makefile' because they're supposed to be generated... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Re-implement fast ADC code for stmf0Keith Packard2015-01-27
| | | | | | | This creates a ring buffer for ADC data so that ADC fetching can run in parallel with other activities. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/usbtrng-v2.0: Use stmf042 hardware CRC unitKeith Packard2015-01-27
| | | | | | | Switch from software to hardware for CRC computation. I think this must be faster, right? Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Add CRC driverKeith Packard2015-01-27
| | | | | | | Sets up the stm32f0 CRC hardware, exposing inline functions to access it. DMA access is possible, but usbtrng can't use that. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Remove remaining stm32l bits from stm32f0 codeKeith Packard2015-01-27
| | | | | | | These were left over from the stm32f0 initial implementation work; now it's more useful to list only the bits which are valid. Signed-off-by: Keith Packard <keithp@keithp.com>
* ao-tools: Add ao-usbtrng to dump RNG data for testingKeith Packard2015-01-26
| | | | | | | ao-usbtrng reads a specified number of kilobytes of random data from a random number generator. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Fix typo in stm32l.hKeith Packard2015-01-26
| | | | | | This crept in while working on the stmf0 bits. oops. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/usbtrng-v2.0: Add random output commandKeith Packard2015-01-26
| | | | | | | | Read chunks of random ADC data, do some CRC16 computations to de-bias and merge 4 bytes of input data into 2 bytes of output data, then dump that out over USB. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Add ADC and DMA APIsKeith Packard2015-01-26
| | | | | | | The ADC api is what USBtrng wants; a way to repeatedly read a single ADC input as fast as possible. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Add faster USB pathKeith Packard2015-01-26
| | | | | | | | This adds a way to allocate private USB buffers for sending data without needing to copy it again. It requires ensuring that all accesses are 16 bits aligned to 16 bit boundaries. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Fix linker scripts to make ao_boot workKeith Packard2015-01-26
| | | | | | | | The flash loader ended up assuming ao_boot was at the start of ram, while the application stuck it after the interrupt table (where it needs to go). Signed-off-by: Keith Packard <keithp@keithp.com>