| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
This was used for testing the original TeleMini which couldn't log
data at full speed.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This allows for APRS testing in the new teledongle code
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Missed a semi-colon.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
All of the integer pyro configuration parameters may be negative, so
parse that correctly.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Send a beep for each additional pyro channel, low for no igniter, mid
for igniter. Does not change the reporting for the apogee/main channels.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This avoids having MicroKite try to detect boost and has it just start
recording data immediately.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
ao_gps_print is used with new telem packets from a few places; use
AO_TELEMETRY_LOCATION_ALTITUDE when necessary.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This aborts any pending radio receive when changing the data rate so
that the radio can be reprogrammed to receive at the correct rate.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Stores 32-bits for all of the flight parameters. Uses 64-bit
intermediates for kalman computation.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
There's only one byte free, so we'll record the pdop value
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Telemetry gets a special 'mode' flag indicating that 24-bit data is
present; log files get new data and log readers are expected to detect
that via the firmware version number.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
TeleMini doesn't have space for the larger table, and the smaller one
isn't that much less accurate at lower altitudes.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets TeleMini-v2.0 compile.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This uses a 100m 'launch detect' altitude and logs data every 19.2s
instead of every .192s.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
Instead of blocking on PQT, just set up the receiver to start going
and when the first bit interrupt comes in, grab the SPI bus if
possible and configure it for reception. This improves sensitivity in
the radio by a significant amount while making the code conceptually a
bit nicer.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This lets the radio code adjust the telemetry packet sending pattern
when the data rate changes.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This data is constant, so we don't need to send it very often. Once
every five seconds should be plenty.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This configures the MegaDongle v0.1 directory to use the pin
assignments in TeleMetrum v1.9 boards.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This dumps pyro check failures for ao_flight_test so you can see why
pyro charges aren't firing.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This uses the low-digit from the serial number by default, but lets
the user change it if desired.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
telegps is unique in that USB may be connected while a flight is
active and sensible things should happen. If a flight is being
recorded and gets erased, then a new flight should be started.
This is done by hooking in the flight erase code and calling out to
the tracker code to figure out whether to switch to a new flight or not.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Instead of comparing only against the last logged value, keep a ring
and start logging as soon as we move away from the furthest one in the ring.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
We don't want to accidentally log stuff when you're just trying to
charge the battery.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
This removes the ao_flight_state value from the tracker code and makes
it simply log position information when the device has moved within
the last 10 log intervals. This also changes the configuration
parameters to define what 'motionless' means, and what interval to
configure the GPS receiver for, log data and send telemetry.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
TeleGPS no longer has ao_flight_state
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This adds a 'I' parameter to set the extra pyro channel firing time
(in ticks). This has no effect on the main/drogue channels.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
This provides a more accurate means of determining available log space
than guessing whether some portion of the flash chip holds
configuration data.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
TeleGPS doesn't need apogee delay, so re-purpose it for the battery voltage
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
We just don't have enough RAM for 8 samples.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Oops. 16 bits won't hold position information...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
And only set this for tracker products; other products place state in
separate state packets
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Also, logs 8 pre-launch GPS packets so we can get the ground position.
Signed-off-by: Keith Packard <keithp@keithp.com>
|