| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This involved figuring out which GPIO signal would reliably indicate
that the transmitter was finished; I ended up using the PA_PD bit for
this.
This also converts all of the radio users to the long packet support
as the CC115L has only a 64-byte fifo, not large enough to hold either
an RDF tone or a regular AltOS telemetry packet.
This also renames the public API for sending APRS packets from
ao_radio_send_lots to ao_radio_send_aprs, which is at least more
accurate. The workings of that API haven't changed, just the name.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
These expose the raw cc115l and rfpa0133 register settings so that we
can calibrate them against measured power outputs.
I've tested them to verify that they change how much power the board
consumes, so they're clearly doing something...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Generalizes the FAT code to deal with either 16-bit or 32-bit
versions. The testing code now runs over a variety of disk images to
check for compatibility on all of them.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
This improves sequential file performance by taking advantage of any
previous cached cluster/offset pair and starting from there when the
cluster changes rather than starting from scratch at the begining again.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This improves read/write performance with large files by not
re-walking the cluster chain for every operation
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Make FAT api provide reasonable error return values, change the tests
to write and then read a pile of files, checking that the contents are
correct (using md5sum).
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Make sure the busy counts don't underflow or overflow.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
The newer(?) chips in telegps didn't like the previous programming
scheme, so go back to fixed time for write, which does an implicit
erase before every write. Also clear the DATA bit, which is only
needed for double word erase/programming.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Otherwise, lots of random code won't know about the radio..
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Allow the bufio code to signal a fatal error if someone misuses the API
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This adds a fairly primitive FAT16 file system implementation
along with support for SD cards.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Use the new radio recv define to skip disabling the receiver when
there isn't a receiver.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The CC115L is xmit only, so split out the functions and provide
defines to check for xmit or recv separately as needed.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
SD cards require 0xff when fetching data
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Still no data, but at least the carrier comes up on frequency now.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
No configuration of power level yet, just the bare driver.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Doesn't actually do anything yet, but should initialize the chip at least
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Includes support for sending telemetry, RDF and APRS tones
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Just lights up the GPS and USB
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This makes stm-demo run on the discovery board again.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|\ |
|
| |
| |
| |
| | |
Signed-off-by: Mike Beattie <mike@ethernal.org>
|
| |
| |
| |
| |
| |
| | |
Move it from SDCC to ARM targets as Jenkins doesn't have an ARM compiler.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
Adapt to changes in OS interfaces
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|\ \ |
|
| |\ \ |
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Most of the chip can run at 8MHz, but extended register access is
limited to 6.1MHz. Instead of pushing things, just run the SPI bus at
4MHz.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
With the GPIO pins set to 10MHz now, we can run SPI at the maximum
possible speed (8MHz).
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The GPIO pin settings affect the output impedence, and hence the
maximum speed for SPI. Cranking these to suitable values allows SPI to
run at full speed.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Made the interface use void * for pointers and uint16_t for lengths
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These might do something, and should at least bring up USB
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | | |
This cleans up a few values, adds more comments and a few more NVIC fields.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Shared code for building pressure tables
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This interpolates the missing values to provide a reasonable testing
environment for the Micropeak flight firmware.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
From Tridge -- MPU6000 rev C4 and C5 are broken, having accelerometer
values in the wrong range. This commit just adds comments which note
this; experimentation will be required to actually sort out what's
going on.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This filters altitudes more accurately and also allows tracking of
acceleration, which is used to discard height data generated by
ejection charge noise
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Finally found a couple of decent references on how to set the model
(process) error covariance matrix. The current process matrix turns
out to be correct for a continuous kalman filter (which isn't
realizable, of course). For a discrete filter, the error in modeled
acceleration (we model it as a constant) needs to be propogated to the
speed and position portions of the matrix.
The correct matrix is seen in this paper:
On Reduced-Order Kalman Filters For GPS Position Filtering
J. Shima
6/2/2001
This references an older paper which is supposed to describe the
derivation of the matrix:
Singer, R.A., “Estimating Optimal Tracking Filter Performance for Manned Maneuvering Targets,”
IEEE Transactions of Aerospace and Electronic Systems, AES-5, July 1970, pp. 473-483.
This change has a minor effect on the computed correction
coefficients; it should respond more reasonably to acceleration
changes now.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This saves a ring of 16 samples while waiting for boost, and then goes
back through those looking for the first sample higher than the ground
and writes the remaining ones to the log so that we get a more
complete log of the flight
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reading the incoming data bypasses the SPI API and touches the SPI
data register directly; which port that is needs to be specified in
the pins file
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |\ |
|
| | |\ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Otherwise, the whole log looks like a an extra altitude digit.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I prototyped the mpserial interface on a breadboard and tuned the
circuit to register the LED correctly. Then adjusted the serial code
to send bits at the right speed and format.
The logging contents are now in hexdecimal with a CCITT CRC-16
computed to verify correct reception.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This logs barometric data every 192ms (more or less) to the 504
remaining bytes of internal EEPROM storage in the ATtiny85. This
provides 48.192 seconds of logging.
Signed-off-by: Keith Packard <keithp@keithp.com>
|