| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Avoids conflict with global 'log' function
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Get conversion functions written and fix up a few warnings
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This just adds the driver, it doesn't hook it up yet
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
We no longer need to wrap these functions
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Use DATA bits to mark which sensors have failed, then report that in
beeps at startup time to help diagnose hardware failures while still
allowing the board to be used over USB.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This powers down the UART logic on request.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This lets AltosUI handle the eeprom data
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
This adds the pin definitions and all of the code except for the
ads131a04 driver.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Add these two devices as potential data sources to be added into the
ring if available.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This makes doubles on the stack (as for var-args functions) work
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Offers additional range for internal use without increasing cost on
32-bit platforms.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Make sure AO_TICK_TYPE is used "everywhere", instead of uint16_t or other.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
And fix up the related messages.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Support -Wcast-align and -Wpointer-arith while still allowing
architectures to pick whether they want an 8-bit or 32-bit stack.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Switch to uint8_t * instead.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Including interrupt vectors to catch mis-spellings.
Working toward supporting -Wmissing-prototypes
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Working towards supporting -Wmissing-prototypes
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
Need to not use ao_error_h_sq_avg without HAS_ACCEL
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The mpu9250 on EasyMega v2.0 is rotated 90° compared with EasyMega v1
and TeleMega IMU devices.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Includes self-test code and multi-byte mode operation for reading
sample registers.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This fills a data ring entry with all of the current sensor values
other than the ADC. It is used in all of the adc completion functions.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Remove address parameter (doesn't work with gcc), create shared
ao_romconfig in kernel.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This makes sure that doubles are aligned properly when passed on the stack.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This driver uses the generic GPIO functions and allows per-LED port
and pin configuration. It supports up to 32 LEDs.
Rename SoC-specific LED drivers.
Remove enabled parameter to ao_led_init
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This was used with the 8051 bit-addressing mode to provide
single-instruction access to GPIO pins.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
__at doesn't exist for non-8051
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Lets other readline users specify alternate prompts.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Don't use a global variable to hold the result.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Now that we don't support 8051, we don't need these
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Stop using pdclib
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
ao_force_freq is used by TeleMini to set the radio to known
values. As TeleMini v3.0 also has configurable telemetry rates, this
value also needs to be set back to a known value.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Avoid conflicts with 'log' math function.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Current gcc complains about this.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this, there was only ao_boost_tick, which got reset at each
motor burn start. That meant there wasn't any way to measure total
flight time for pyro channels and 'apogee lockout' was based on time
since most recent motor start instead of total flight time.
Now pyro channels and apogee lockout both use total flight time, while
motor burn length still uses time since most recent motor burn start
(as it should).
Docs and UI updated to use 'launch' instead of 'boost' to try and make
the change clear.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This makes after motor stay valid even if further motors burn.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Enable the computation of ao_error_h_sq_avg in ao_flight_test even
when an accelerometer is present to allow review of that data.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We had required a minimum altitude of 100m to transition from boost to
coast. With small motors in a heavy multi-staged rocket, this can fail
to detect coast in time to light the second motor.
Also, this would fail to deploy recovery systems if the flight failed
before reaching 100m.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This creates another IN endpoint which provides the contents of flash
for validation of the firmware load on the host.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This adds the necessary descriptor information to support another IN
endpoint for applications.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
These are putchar and flush functions that are used when sending data
to the additional IN2 and IN3 endpoints.
Signed-off-by: Keith Packard <keithp@keithp.com>
|