summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* 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>
* 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>
* 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.
* 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>
* 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>
* ao-tools: Add --wait option to ao-usbloadKeith Packard2015-01-25
| | | | | | | This waits forever for USB writes to complete, instead of timing out after five seconds. Useful when debugging the device. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add flash-loader to usbtrng-v2.0Keith Packard2015-01-25
| | | | | | Uses the new STM32F042 flash loading bits. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add self-flash support for STM32F042 processorKeith Packard2015-01-25
| | | | | | | Also moves the usual address for applications out of the way of the flash loader. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: USBtrng v2.0 hardware bringupKeith Packard2015-01-25
| | | | | | Gets the USB connection running and blinks the LEDs. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Initial STMF04x supportKeith Packard2015-01-25
| | | | | | Basic clock configuration, OS support, LED and USB drivers. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add support for TeleBT v3.0Keith Packard2015-01-24
| | | | | | | Add support to the BTM driver for non-CC1111 interrupts Add HW flow control to STM serial driver Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Fix double-buffered USB changesKeith Packard2015-01-22
| | | | | | | | These got merged when we were down in Auckland, but before they'd been finished. Transmitting worked fine, but receiving was mis-configuring the OUT buffer size in the hardware. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Get rid of some accidental debug codeKeith Packard2015-01-22
| | | | | | | I was debugging the accelerometer calibration code and left some printfs in it, which made TM run out of flash space. Signed-off-by: Keith Packard <keithp@keithp.com>
* Set version to 1.5.9.11.5.9.1Keith Packard2015-01-16
|
* altos/lpc: Switch LPC SPI driver to interrupt-drivenbdale-altosdroidKeith Packard2014-12-22
| | | | | | | This improves performance for SPI transfers, while allowing other tasks to get work done during longer SPI transfers. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Adjust CC1200 RSSI reporting valueKeith Packard2014-12-22
| | | | | | | | | On the test setup, we were about 13dB off, so tweak the settings to suit. This result wasn't tested; it's just a rough offset until we get a production run of TeleDongle boards back to do more systematic measurements. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Document cc115l power measured at RF setting 0x03 as -31.75dBmKeith Packard2014-12-22
| | | | | | | | We built a custom TeleGPS load for radio sensitivity measurements with the lowest documented power level setting (0x03), and measured the power out at that value of -31.75dBm on the test board. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/cc1200: With PQT wide open, we can't use PQT_REACHED for startKeith Packard2014-11-23
| | | | | | | | | Because we're allowing even signals only weakly correlated with the preamble through to sync detection, we can't use the PQT_REACHED symbol to tell when a packet header has been seen. Instead, just look for SYNC_FOUND. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/cc1200: Open up preamble detect to improve sensitivityKeith Packard2014-11-23
| | | | | | | Increase soft decision PQT value to max (15) to ensure that we detect even weak packets. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/cc1200: Wait for packet to be placed in FIFO during receiveKeith Packard2014-11-23
| | | | | | | | | | | | | This changes the receive code to use MCU_STATUS, waiting for MARC_STATUS1 to indicate that the packet is in the fifo before reading it out. It also fixes the receive timeout code to keep receiving if the preamble or sync have been seen when the timeout fires. This makes TeleLCO able to use short timeouts during scanning while still successfully receiving packets. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/teledongle-v1.8: Make this the same as teledongle v1.9Keith Packard2014-11-16
| | | | | | Remove RSSI LED blinking, add CRC error LED Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow TeleMega to be built without MPU6000Keith Packard2014-11-16
| | | | | | | Robert Braibish's board has a dead MPU6000; this fix lets the TeleMega firmware build without that driver so the rest of the board could be verified. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/microsplash: fix .gitignore to ignore resulting binaryKeith Packard2014-11-16
|
* altos: Reset interrupt flags before TX in CC1200 driverKeith Packard2014-11-06
| | | | | | | Failing to reset the flags set during interrupt leads to short-circuiting transmission and not a lot of packets going out. Signed-off-by: Keith Packard <keithp@keithp.com>