| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
1-pixel lines are harsh in 2018
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This is used to dump an eeprom wired to the stm demo board.
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>
|
|
|
|
|
|
|
| |
This avoids having the state appear to change the first time we look
at the device.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The lco common code doesn't need to share its internal values with the
world; make most of them static.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Don't use ao_lco_show as that has other logic too.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Use lower level functions to control the display more directly
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Lots of code motion; shouldn't have any functional changes.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
Missed drag race pad toggling in ao_lco_v2.c
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Move common code out of ao_lco.c and ao_lco_v2.c into a shared file,
ao_lco_bits.c. Update ao_lco.h to include shared functions.
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>
|
|
|
|
|
|
|
| |
Instead of starting the beep from the calling thread, just update some
state and poke the beeping thread.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
It sets the LEDs, so it's best to not start doing that until we've
tested them.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Allow validation of all LED connections.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
instead of uint8_t
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
No need requiring it to be uint16_t
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Was printing p.v_batt instead of (p)->v_batt. I don't know why the
former even worked.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This has the CC1120 replaced with a CC1200, but with 32MHz xtals
instead of 40MHz on the radio chip.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Track state of encoder better and only bump values when the full
motion is detected (all four states).
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Just like telelco v2
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
These are fixed at 16 and 17.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This command conflicts with the 'debug' command in these devices and
so wasn't usable anyways.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
At boot, light up all LEDS and LCD segments for a second to let the
user verify that things are working correctly.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
This requires that each pad device specify the ADC reference voltage
and all relevant voltage divider resistor values explicitly so that
the ADC values can be converted to decivolts and compared with one
another. This should be easier to understand in the future when
reading the code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Was missing all of the GPIO configuration bits, which probably meant
the ADCs were returning garbage values.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The ADC unit requires the HSI timer to run, so make sure it's enabled
for this device.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
The ADC unit always uses the HSI timer.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Show the battery voltage for a second at startup.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This just fetches ADC values on demand instead of loading them
periodically into a ring buffer from the timer interrupt.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Make it turn on at the same time as the pads with continuity, but turn
off sooner
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Continutity leds now show whether the pad is included in the drag race
*and* the continutity using four different patterns:
Drag select & igniter present: long on, short off
Drag select & igniter missing: short on, long off
Not select & igniter present: solid on
Not select & igniter missing: solid off
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The mechanical encoders go through all four steps per click while the
optical ones have a single step per click. Support both kinds.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
The optical encoders shouldn't bounce at all; let's try a minimal value.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
This increases the default debounce time for quadrature encoders to
30ms, which cleans up the mechanical encoders on TeleLCO v0.2. Also
change state tracking to explicitly check for expected state values to
avoid mis-triggering.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Was not checking event value.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
TeleLCO v2.0 has more than 4
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Instead of a three-way, just make the select button two-way and have
the arming switch disable it.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Eight pyro channel version of the TeleFire boards.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
TeleFire 8 scrambles GPIOs to make layout cleaner, placing the 8
firing outputs across two GPIO ports.
We're also adding an 8-unit selector for box number so that boards can
be re-configured in the field. These override any ROM-configuration
value; you can select the rom value by setting all switches to 'off'.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
If you've got a complicated LED pin arrangement, you can ask for each
one to be configured separately, instead of using groups in a couple
of GPIO registers. The code isn't as efficient this way, but at least
it's easy to read.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
New LCO design with a single rotary knob and lots more buttons.
Signed-off-by: Keith Packard <keithp@keithp.com>
|