| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
| |
Deal with differences between cc1120 and cc1200, including built-in
packet support and various register changes.
This now works to send and receive telemetry, as well as send APRS and
RDF.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
The cc1200 is similar to the cc1120, although many registers have
changed.
This driver can send a bare carrier and an RDF tone, but does not yet
receive or transmit telemetry data.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
The cc1120 receive code is 'twisty', in that it acquires the SPI mutex
in the middle of an interrupt handler so that it can quickly start the
radio when the signal comes in. This means we have to be careful to
drop that mutex in all paths which leave the receive code, including
when the packet receive is aborted mid-way through the process.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Increase the time we wait for return packets based on the remote
protocol baud rate.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
There's no reason to use 20.5kHz deviation at 2400 and 9600 baud, and
if we get a better receiver, we'll want to use narrower deviation to
have less bandwidth sucking noise into the radio. The new values are
(nominally) 5.125kHz deviation for 9600 baud and 1.5kHz deviation for
2400 baud.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
This adds an optional length of time (in 1/10s of a second) to the
ao_pad_manual function to enable testing of igniters without needing
to use TeleLCO.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This lets us set the rate to a lower value to improve range. 9600 baud
works great; 2400 baud makes the initial search take a long time.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
sky traq was scaling by 5, ublox was scaling by 100.
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>
|
|
|
|
|
|
|
|
|
|
| |
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 supports the new 2400 and 9600 baud rates
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This adjusts the cc1120 receive parameters to increase sensitivity at
the expense of reporting many more invalid packets to the UI.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
This makes it a lot easier to tell which device is sending
information, and to receive data from multiple devices on the same
receiver.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
This reverts commit db6003d34595fbd103d5b131912b6a797254f1c5.
|
|
|
|
|
|
|
| |
This will be useful with TeleGPS which has no other packet containing
flight state.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
TeleGPS just wants full power, so remove the configuration option
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
APRS altitude is logarithmically encoded, so this implementation
includes a fixed point log-base-2 function along with a bit of other
fixed point stuff. This eliminates all floating point from TeleGPS,
saving around 4kB of code space.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This will let the fake flight code update it as necessary, without
creating a new interface in ao_ms5607.c
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets applications set the desired GPS update rate to reduce power usage
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
New compiler warning flags and moving to the nxp require a few minor
changes in the code to make it work.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Don't require apogee and main voltages as well
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Debouncing per-pin means we don't lose transitions, which makes
counting a lot more precise.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets you control the LEDs from the command line to test things.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set the timer to 200Hz for a 5ms debounce interval. Then, simply look
for transitions ending in both bits in the encoder being off, which
indicates the the encoder is resting in a detent. If bit '2' is
turning off, the encoder was rotated clockwise, otherwise the encoder
was rotated counter clockwise.
This is a lot more reliable, although still not perfect.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Set the AO_GPS_COURSE_VALID bit to signal that this part of the GPS
data is valid.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
A timeout of 10ms is more than enough to receive a query packet, but
if we miss it during device discovery, it's a pain, so retry 5 times
to make sure we find everyone.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the 'S' (which marks the field showing sats in view) with
either 'L' or 'U' to tell the user whether the GPS receiver is locked
or unlocked.
This also removes the colons in the comment field to shorten it. This
makes it fit on one line of my FT1D display.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
APRS radios often show only the last received APRS packet, which means
that erasing the last known GPS position when we lose lock by sending
0/0/0 is unhelpful. Instead, just send the last known position, and
make sure that we send 0/0/0 before we're locked the first time.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This adds the number of sats in view (as opposed to the number of sats
in solution) to the APRS packet.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This was overwriting memory past the end of the ao_gps_tracking_data
array, which isn't a good idea.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The FAT file system code wasn't cleaned up when the warning fixes were
done recently.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This new task frobs a pin periodically to inform the hardware that the
operating system is running.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
We were reporting whatever the GPS device sent, even if it wasn't
reporting a valid status. That's not terribly useful.
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>
|
|
|
|
|
|
| |
This provides lat/lon/alt in fewer bytes while improving precision.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This would prevent the cc115l driver from ever sending tones.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Unused varibles, functions and parameters.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This "can't" happen, but it's not unreasonable to have a default
return value.
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>
|
|
|
|
|
|
|
|
|
|
| |
This doesn't check for fine calibration, just makes sure the part is
within the broad tolerances specified by the manufacturer. The subtle fix
here was actually getting reset working -- there was a typo in the
bitpattern definition which caused the reset to fail, making it hard
to self-test the part, as self-test is only valid before the part is running.
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>
|
| |
|
|
|
|
|
|
| |
This lets callers pass more precision than just the original sensor value
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>
|
|
|
|
| |
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>
|