| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
core remains a bad name to use -- dirvish skips files (and
directories, it seems) with that name.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
ao_flight was trying to decide whether to turn off the red LED by
checking whether HAS_LED was defined. And yet, none of the flight
firmware defines that anymore, except for easymini which defines it to
zero.
Remove all uses and defines of this value, substituting AO_LED_RED in
ao_flight.c, which has to be defined for the ao_led_off call to work.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Really, most don't need it, and whinging about not having it defined
isn't useful.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This fixes the balloon code so that it works with recent altos bits
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets us use telemetrum log and telemetry formats for balloons
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets other bits of the code know when USB has been connected.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets us create more than one balloon product
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
The mega log format has a single packet for GPS info which holds a
maximum of 12 satellites. Bdale managed to get 14 sats in view, which
ended up crashing the ground station software, and also overflowed the
gps_tracking_data structure.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This makes APRS more usable when you mute the RF audio on the HT.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
The ground acceleration value will vary depending on the tilt angle of
the airframe, which will result in incorrect acceleration computations
during flight. This also avoids accidental boost detect when moving
the airframe around in pad mode.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Must flip the acceleration calibration data using the same function as
flipping the actual acceleration data or the calibration will no
longer be valid after changing orientation. For the MMA655x, this
means using 4095 in both places, rather than using 0x7fff for the
calibration data changes and 4095 for the data value changes. For the
MPU6000, this means using 0 in both places.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Only present when HAS_FLIGHT_DEBUG is enabled, this command lets the
user check the orientation tracking code by showing the current
orientation and when the calibration values are reset.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Unused varibles, functions and parameters.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
No sense checking unsigned values for less than zero.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Unused variables, mismatching signed/unsigned and a few other misc
warnings.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Unused variables, functions and labels, missing enums in switch.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
TeleMetrum has an MMA655X but no IMU, so it needs an explicit addition
for sensor errors.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
When the accelerometer says to go into pad mode, don't look for other
sensor self test errors. Only look for sensor self test errors to
choose between idle and invalid mode. This will prevent minor sensor
self test errors from letting the rocket fly safely.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
When explicit Z-axis accel calibration values were provided to the 'c
a' command, the 3-axis accelerometer calibration values would get set
to uninitialized values. Not so helpful.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
This should keep the device from failing to boot unless the IMU is
actually broken. Oh, and if self test does fail, this places the
flight computer in 'Invalid' state rather than panic.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
We can't hold the GPS mutex while waiting for the GPS receiver to load
data as it protects the GPS data with the GPS mutex.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This will allow products to specify their own current limit.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
There's plenty of space in the GPS log packets to hold course, speed,
climb and DOP values, so just stick them in.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Oops. When converting from ao_storage to ao_config, I accidentally had
the flight erase log overwriting the config block.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This leaves the whole 8MB of flash for flight storage
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This stops exposing eeprom as 'storage' and instead exposes it with a
separate eeprom API so that it can be used for config storage without
also using it for flight log storage.
The config code has been changed to allow it to either use storage for
configuration data or eeprom.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Holding the GPS mutex while waiting for the GPS code to dump data into
the GPS variables is rather counter-productive.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Shows calculated offset from vertical in ao_flight_test output
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Oops. This kinda breaks anyone else waiting for GPS data
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
The range was cranked down at some point to diagnose issues within the
task scheduler. Unfortunately, that change got merged, which meant
that general profiling lost information outside of the lower 4kB of code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This just dumps the current orientation to stdout so you can monitor
it in real time
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Trying to compute the combined rotation by taking the x/y/z rotations
as a vector is a good approximation, but not accurate enough for our
application given the large angles we sometimes see.
Instead, use a correct-but-expensive function with a pile of
transcendental function calls. The STM32L seems to be fast enough at least...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
This initializes the rotation with the angle from vertical, rather
than simply recording the off-angle vector. Doing this allows us to
accurately track the true orientation of the rocket, instead of just
the offset from the initial non-vertical orientation.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This reduces the offset error by a bit, minimizing gyro drift.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Keeps it clear where this name comes from.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Our low sampling rate means that the "cheap" hack for
integrating quaternion rotations by using sin(x) ≃ x doesn't work, so
instead we have to compute the partial rotation the hard way.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Lets us pass constants without the compile whinging
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
The MPU6000 reports signed values.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Average the IMU accelerometer values pointing up and down so that we
have a zero-g offset for all three axes. This can then be used to
compute which direction the rocket is pointing while sitting on the pad.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This tracks the angle-from-vertical as an additional input to the pyro
channels.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create a new global, ao_gps_new, which indicates new GPS position and
satellite data.
Use ao_gps_new as the new sleep/wakeup address.
Merge the separate gps position/satellite logging tasks into a single
function which waits for new data and writes out the changed values.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This meant increasing the data buffering as well so that we could
reliably capture the flight data back to the ground, even for slow
flights.
And, with the buffer extra large, we work backwards from the current
buffer location to find the last ground location rather than working
forwards from the first buffered location. This ensures that we don't
capture noise before boost and instead capture a nice flight curve instead.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
EasyMini has no LEDs. Deal with it.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
This sticks the micropeak sources in appropriate directories, rather
than in the micropeak product directory so that they can be shared
with future micropeak-style products.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Was getting left with the old value, which wasn't very useful
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Parses most eeprom and telem records now; altosui updated to show from
AltosState info.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Same data, but EasyMini uses a 3.0V supply while TeleMini uses 3.3V,
which changes the intepretation of all of the ADC values
Signed-off-by: Keith Packard <keithp@keithp.com>
|