summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* 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>
* altos/teledongle-v1.9: Switch to NXP processor as on prototype boardsKeith Packard2014-11-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Disable JTAG when using pins for GPIOKeith Packard2014-11-06
| | | | | | | JTAG is enabled by default, making those pins not support GPIO unless specifically configured. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Declare SPI send parameters as constKeith Packard2014-11-06
| | | | | | This matches STM Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use other TeleDongle LED for CRC-invalid packet reportingKeith Packard2014-11-06
| | | | | | | Instead of blinking out some fake-o RSSI indication, just blink the red LED when a packet with a bad CRC is received. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use AO_SPO_SPEED_FAST for CC1200Keith Packard2014-11-06
| | | | | | | This asks for the fastest available SPI speed, instead of fixing it to 8MHz, which may not be supported on every architecture. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Stop attempting to ramp power on CC115LKeith Packard2014-11-06
| | | | | | | | The PA register on the 115L isn't in any way monotonic, making the old code broken. Just rempve it instead of fixing it; we don't ramp anywhere else... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Declare port register type only in arch headerKeith Packard2014-11-06
| | | | | | | Instead of defaulting to 8 bits, explicitly require declaration of the type of the port register for each architecture. Signed-off-by: Keith Packard <keithp@keithp.com>
* Move teledongle 1.9 to 1.8; there's a new 1.9Keith Packard2014-11-06
| | | | | | 1.9 is now the lpc11u14-based form-factor prototype board. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename microwater to microsplashKeith Packard2014-11-05
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Increase CC1200 SPI data rate to 8MHzKeith Packard2014-10-25
| | | | | | | This got set to 125kHz to make debugging with a logic analyzer easier and never changed back to a reasonable speed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix up telemetry delay computationsKeith Packard2014-10-25
| | | | | | | | | | | | | | | | With RDF, APRS and telemetry all being sent at varying rates, computing when to send the next radio data is not as simple as sending telemetry and then figuring out whether to send RDF and/or APRS. Fix this by computing times for the next telemetry/rdf/aprs packet, and only sending each when that time has passed. Compute the delay until the next radio activity as the minimum time to any transmission. This also adds code to the config bits to reset the radio times whenever something changes that might affect which radio data to send next. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Perform cc1200 calibration less often. Tweak radio paramsKeith Packard2014-10-25
| | | | | | | | | | | This performs calibration after every 4 operations, or when the frequency changes. This reduces the time it takes to get to receive mode. This also makes the sync and preamble qualifiers more strict to reject bad packets. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove old AO_SEND_ALL_BARO bitsKeith Packard2014-10-25
| | | | | | | This was used for testing the original TeleMini which couldn't log data at full speed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Build TeleDongle v1.9 by defaultKeith Packard2014-10-25
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Increase PQT value for cc1200 improving sensitivityKeith Packard2014-10-25
| | | | | | | | The PQT value indicates how 'good' the preamble is; higher values allow a lower quality of preamble to pass the test, permitting more packets to be decoded. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Sort out ao_gps_print altitude fetchingKeith Packard2014-10-25
| | | | | | | | | | ao_gps_print is used by both teledongle/telebt and the host-based GPS test code. The first instance uses the old internal GPS structure, containing just a 16-bit altitude while the second uses an ao_telemetry structure, which contains 32 bits split into two members. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/teledongle-v1.9: Add remaining code to complete the projectKeith Packard2014-10-24
| | | | | | This turns the prototype board into a full teledongle Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Complete cc1200 driverKeith Packard2014-10-24
| | | | | | | | | | Deal with differences between cc1120 and cc1200, including built-in packet support and various register changes. This now works to send and receive telemetry, as well as send APRS and RDF. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Expose telemetry altitude macros even without GPSKeith Packard2014-10-24
| | | | | | This allows for APRS testing in the new teledongle code Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Mark STM ao_spi_send as taking const pointerKeith Packard2014-10-24
| | | | | | We don't write to this, so let it be const for type checking Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add prototype TeleDongle v1.9 codeKeith Packard2014-10-05
| | | | | | | Lights up the hardware, sends carrier and RDF tones. A bit more cc1200 work to be done still. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Copy cc1120 driver to cc1200 driver and hack a bitKeith Packard2014-10-05
| | | | | | | | | | The cc1200 is similar to the cc1120, although many registers have changed. This driver can send a bare carrier and an RDF tone, but does not yet receive or transmit telemetry data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix syntax error with ao_log_mega change.Keith Packard2014-10-04
| | | | | | Missed a semi-colon. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Record 32-bits for gyro calibration valuesKeith Packard2014-10-04
| | | | | | | | | The gyro ground calibration values are scaled by 512 to provide a bit more precision for the computations. This means they don't fit in 16 bits, so change the format of the flight log record. Also change the reported format so that AltosUI has a chance of figuring it out. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Handle antenna down in ao_flight_testKeith Packard2014-09-29
| | | | | | | Parse the Pad orientation config value and flip the accelerometer value back around in antenna down configuration. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make sure we drop the SPI mutex when aborting cc1120 recvKeith Packard2014-09-26
| | | | | | | | | | The cc1120 receive code is 'twisty', in that it acquires the SPI mutex in the middle of an interrupt handler so that it can quickly start the radio when the signal comes in. This means we have to be careful to drop that mutex in all paths which leave the receive code, including when the packet receive is aborted mid-way through the process. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make sure we don't beep out continuity twice in idle modeKeith Packard2014-09-11
| | | | | | | | | | | | | | If the battery voltage report takes longer than the initialiation sequence, we could get to the state reporting after the state had switched from startup to idle. This would result in continuity being reported the first time through the loop. Then, as the state had already changed, we'd pass through the while test and go back to report continuity a second time. Fixed by using the state remembered before beeping out the voltage to decide whether to report the continuity. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add smaller altitude table file to .gitignoreKeith Packard2014-09-11
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/test: Add TMv2 test program to .gitignoreKeith Packard2014-09-11
|
* altos: Fix ability to disable telemetry by setting interval to 0Keith Packard2014-09-11
| | | | | | | | | For non-zero telemetry intervals, the radio code limits the value based on the data rate. However, a zero interval means that telemetry should be entirely disabled, so that value should be left alone when checking. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/easymega: Set USB PID for EasyMega to 0x0028Keith Packard2014-09-09
| | | | | | | It was using 0x0023, which is for TeleMega. 0x0028 is what's listed in usbvidpid.h. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Scale packet master receive delay by baud rateKeith Packard2014-09-06
| | | | | | | Increase the time we wait for return packets based on the remote protocol baud rate. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Reduce deviation at 2400/9600 baudKeith Packard2014-09-06
| | | | | | | | | | There's no reason to use 20.5kHz deviation at 2400 and 9600 baud, and if we get a better receiver, we'll want to use narrower deviation to have less bandwidth sucking noise into the radio. The new values are (nominally) 5.125kHz deviation for 9600 baud and 1.5kHz deviation for 2400 baud. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow negative values for pyro configuration dataKeith Packard2014-09-03
| | | | | | | All of the integer pyro configuration parameters may be negative, so parse that correctly. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefire: Add firing length to manual pad commandKeith Packard2014-09-03
| | | | | | | | This adds an optional length of time (in 1/10s of a second) to the ao_pad_manual function to enable testing of igniters without needing to use TeleLCO. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't add AO_LOG_FLIGHT to existing GPS logsKeith Packard2014-09-01
| | | | | | | When appending to a TeleGPS log, don't stick another flight value into the log. That just confuses the ground station software. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make sure pyro remains valid during delayKeith Packard2014-08-29
| | | | | | | Keep checking pyro status while waiting for delay to expire to make sure nothing changes. Disable pyro channel if something does. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add telerepeat-v1.0Keith Packard2014-08-17
| | | | | | | This uses TeleBT hardware to provide a telemetry repeater, receiving packets on one frequency and re-transmitting them on another. Signed-off-by: Keith Packard <keithp@keithp.com>
* telegps-v1.0: Provide one log and append to itKeith Packard2014-08-17
| | | | | | | | Instead of creating per-flight logs, create a single log and append data to it each time TeleGPS is powered on. This avoids potentially running out of log space just because the device is powered off/on. Signed-off-by: Keith Packard <keithp@keithp.com>
* cc1111: Wait for internal flash write to completeKeith Packard2014-08-17
| | | | | | This ensures that we don't try to start another write too soon. Signed-off-by: Keith Packard <keithp@keithp.com>