summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* altos: Allow ms5607 driver to either set ao_sensor_errors or panicKeith Packard2019-07-15
| | | | | | | | | | Products that want to remain usable (over USB) after a sensor failure don't want to panic when the ms5607 fails, but products with limited ROM space don't want to have extra code to check for the sensor failure and panic. Change the MS5607 driver to allow either option, and then make the micropeak based devices use it. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak-v2: Update .gitignoreKeith Packard2019-06-18
| | | | | | Ignore built stuff Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak-v2: Correct AO_LOG_ID valueKeith Packard2019-06-18
| | | | | | Typo wasn't caught by the compiler (thanks!) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak-v2: Erase log space at end of BOOST_DELAYKeith Packard2019-06-18
| | | | | | | We have to erase the log before the flight starts, so this seems like the latest possible moment. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't dump MS5607 eeprom in 'B' commandKeith Packard2019-06-18
| | | | | | MicroPeak v2 now has config stuff where these values get shown Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak-v2.0: expose log and config commands over USBKeith Packard2019-06-18
| | | | | | This lets AltosUI handle the eeprom data Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak-v2.0: Go into standby mode after landingKeith Packard2019-06-18
| | | | | | | This is the lowest power state we can reach, and consumes about 15µA or less. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak-v2.0: Fix LED blinking sequence at power-onKeith Packard2019-06-18
| | | | | | 'pips' happens between altitude report and data dump. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak-v2.0: Wait for the power supply to stabilize before measuringKeith Packard2019-06-18
| | | | | | | | If we don't wait before measuring the battery, it will often read under 3.2V right at boot time, which puts MicroPeak in flight mode instead of USB mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak-v2.0: Don't run flight code when plugged inKeith Packard2019-06-17
| | | | | | No sense running the flight code when there's a USB cable attached. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Support ao_ms5607_dump when no ms5607 taskKeith Packard2019-06-17
| | | | | | | | | MicroPeak v2.0 has tasking support, but doesn't have a separate ms5607 task. That means the device isn't getting initialized when not running the flight code, so in cmd mode we need to make sure it's initialized, and we also need to actually fetch a value to display. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Directly compute radio tuning values from frequencyKeith Packard2019-05-03
| | | | | | | | | | | | The 8051 compiler doesn't support 64-bit ints, so the old code used an iterative method in 32-bit values. That could take a long time when the frequency was mis-entered in Hz or MHz instead of kHz. This direct-computation uses 64-bit ints, but takes a fixed amount of time for any inputs. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add TeleStatic-v3.0 makefilesKeith Packard2019-04-23
|
* altos: Add preliminary TeleStatic v3.0 codeKeith Packard2019-04-21
| | | | | | | This adds the pin definitions and all of the code except for the ads131a04 driver. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v2.0: Include MAX6691 data in ringKeith Packard2019-04-21
| | | | | | | Define HAS_MAX6691 which tells the data code to pull the MAX6691 data into the data ring for logging etc. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Change MAX6691 driver to run its own threadKeith Packard2019-04-21
| | | | | | | This just captures temp data continuously; it takes 100ms to get the temp data from the sensor, so the maximum rate is around 10 samples/sec. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add MAX6691 and ADS131A0X data to ring if presentKeith Packard2019-04-21
| | | | | | | Add these two devices as potential data sources to be added into the ring if available. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v2.0: Definitions needed for MAX6691 driverKeith Packard2019-04-21
| | | | | | | Fix the DMA channel definition (STM starts values at 1 for unknown reasons). Add definition of the power enable bit for the timer. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: get ao_max6691 driver workingKeith Packard2019-04-21
| | | | | | | | | | | | | | | | | | The driver uses a timer connected to a DMA engine to measure pulse widths from the chip. We get 11 pulses for 4 channels; the first pulse is caused by the timer starting up, the next two are the marker pulse and then 8 more indicating the end of the high and low periods for each channel. The driver API returns the 8 pulse widths; the caller is expected to know what to do with those values as using them requires knowing the value of the configuration resistor and the characteristics of the thermistors. The test code assumes a 1k configuration resistor, using that it computes the resistance of the four thermistors. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Work on MAX6691 driverKeith Packard2019-04-21
|
* altos/lambdakey-v1.0: Fix obvious build errorsKeith Packard2019-04-21
| | | | | | | The code is too large to run on this device at this point, but at least it doesn't fail to compile? Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use ao_data_accel_invert when changing orientation valueKeith Packard2019-04-18
| | | | | | | | Instead of using AO_ACCEL_INVERT, use the macro which flips the values around. This fixes a bug with ADXL375 flight computers (EasyMega v2.0) where the accel cal values would be scrambled when changing orientation. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm32f4-disco: Remove schemeKeith Packard2019-03-18
| | | | | | This demo doesn't need a lisp interpreter Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm32f4: Working on USBKeith Packard2019-03-18
| | | | | | Reset now works, still no packets Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm32f4: Wrong value for CK48MSEL_PLL_QKeith Packard2019-03-18
| | | | | | This meant that the USB clock wasn't actually getting started... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm32f4: Need to read-back register after clock enableKeith Packard2019-03-18
| | | | | | | This was reported as necessary; I have no idea, but it's not expensive, so why not... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm32f4: Add -mfloat-abi=hard compile optionKeith Packard2019-03-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: ARM ABI requires 8-byte aligned stackKeith Packard2019-03-18
| | | | | | This makes doubles on the stack (as for var-args functions) work Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/drivers/ao_led.c: Declare LED port as void * to allow any SoC to use ↵Keith Packard2019-03-12
| | | | | | | | this code The generic LED code needs a generic type for the GPIO port. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altosBdale Garbee2019-02-25
|\
| * altos: add ao_time_ns APIKeith Packard2019-02-25
| | | | | | | | | | | | | | This provides nano-second resolution times by reading the systick value (which runs at 250ns ticks on stm). Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Change default time type to 32-bitsKeith Packard2019-02-25
| | | | | | | | | | | | | | Offers additional range for internal use without increasing cost on 32-bit platforms. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Fix several mis-specified time typesKeith Packard2019-02-25
| | | | | | | | | | | | Make sure AO_TICK_TYPE is used "everywhere", instead of uint16_t or other. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: ads124s0x successfully reading dataBdale Garbee2019-02-24
|/
* altos: snapshot - working on ads124x0x driverBdale Garbee2019-02-24
|
* altos: ADS124S0X driver compiles nowBdale Garbee2019-02-24
|
* altos: fix ads124s0x data structureBdale Garbee2019-02-24
|
* altos: first cut at ADS124S0X driver interrupt handlingBdale Garbee2019-02-24
|
* altos: Allow applications to override newlib printf selectionKeith Packard2019-02-21
| | | | | | | Re-defining NEWLIB_PRINTF_CFLAGS will allow applications to select printf with floating point support if desired. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix ISR declarations to make them non-weakKeith Packard2019-02-21
| | | | | | | | | | In my zeal to eliminate warnings, I added declarations of all ISR functions to a shared header file. However, I managed to include the 'weak' declaration, which meant that the intended ISR functions were as weak as the 'default' ISR functions. This left all interrupts non-functional, which doesn't make for a happy program. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v2.0: Remove build of ao_product.h from MakefileKeith Packard2019-02-21
| | | | | | This is built in common code now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: first cut of code for telefireone-v2.0Bdale Garbee2019-02-18
|
* altos: Build telefireone-v1.0 by defaultKeith Packard2019-02-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v1.0: Track ao_led_init API changeKeith Packard2019-02-18
| | | | | | No longer takes a parameter. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v1.0: Set various ADC valuesKeith Packard2019-02-18
| | | | | | Reference voltage and divider resistor values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v1.0: Set AO_LOG_FORMATKeith Packard2019-02-18
| | | | | | | Use AO_LOG_FORMAT_TELFIRETWO for now; perhaps we'll have a new format at some point. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v1.0: Turn off USE_INTERNAL_FLASHKeith Packard2019-02-18
| | | | | | This is for TeleMini v1.0 which stored log data to the program flash. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v1.0: Clean up MakefileKeith Packard2019-02-18
| | | | | | | Follow other projects and remove common bits which are now in Makefile.defs Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefireone-v1.0: Doesn't have a beeperKeith Packard2019-02-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove AO_LOG_STATE from ao_log_telefiretwoKeith Packard2019-02-18
| | | | | | | | | | Telefiretwo never changes flight state, so these packets weren't going to be written. Also stop passing &log to ao_log_firetwo -- it always got the global anyways, just use it directly. Signed-off-by: Keith Packard <keithp@keithp.com>