| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This leaves space for four flight logs.
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>
|
|
|
|
|
|
| |
Needed to load with java
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Not enough flash otherwise.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
|
| |
LPC11U14 doesn't have on-chip config space, so we're consuming a block
of external flash. As a result, only 1984kB are available for
logging. Set the default log size to half of that to store two flights.
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>
|
|
|
|
| |
This reverts commit db6003d34595fbd103d5b131912b6a797254f1c5.
|
|
|
|
| |
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>
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
It's customized for TeleGPS uses
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
All products placing config and erase marks in on-CPU EEPROM needs to
configure the erase code correctly.
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>
|
|
|
|
|
|
|
| |
This will be useful with TeleGPS which has no other packet containing
flight state.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is mostly like the mega format, but places the flight state in a
spare byte of the GPS data and writes the gps starting location to the
flight packet.
Log data is written by the main tracker thread; there's no reason for
a separate thread given the GPS update rate and the lack of flight
controls. This means ao_log_gps has an API to be called from there,
rather than a thread to run.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Flight erase records are supposed to be written after the ao_config to
eeprom in telemega. They were getting written in the middle of one of
the pyro channel config blocks. Put a bunch of space between the two
by making the config max 1024 bytes instead of 128 bytes.
Set the log erase marker to 0x55 -- eeprom comes from the factory as
0x00, so we use any value other than 0x55 to indicate 'unused' erase
slots.
Save space for more flight erase blocks; we've got plenty.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
When writing config/erase to eeprom, there's no 'erase' operation as
on-chip eeprom is writable at a byte level. As such, we can't tell
when the erase blocks get reset when the config gets written. When
this happens, erase block 0 gets written explicitly, so just use that
call to trigger explicit erasing of the data.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
on-chip eeprom doesn't erase to 0xff, so let TeleMega use a different
value.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
TeleMega config is 200 bytes. AO_CONFIG_MAX_SIZE was 128. That didn't
work out well when logging erased flight information. Allow TeleMega
to use a larger value (1k), and then do a compiler hack to make sure
the defined value is at least as large as the ao_config structure.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Doesn't make sense to be in product
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
We've got logging enabled now
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
And adjust default radio cal to be a bit closer
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
These don't have a USB connect indicator, so just turn on telemetry by
default
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
The LPC stuff isn't actually very useful and TeleGPS uses a custom pin
instead, and was using HAS_USB_CONNECT to mean the same thing. That
wasn't good.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Not just devices with flight
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This encodes the flight number for tracking of data files.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets us test the move from pad to drogue state
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
ao_distance takes (lat, lon, lat, lon) not (lat, lat, lon, lon)
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
Make sure log can start by scanning existing logs
Enable RDF by default
Turn off telemetry until we decide whether to turn it on in the loop
Allow TeleGPS v0.3 to run without ADC
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Useful for TeleGPS
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Avoids early GPS noise right after lock
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Just adjust to avoid sensing motion from GPS noise
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Need to shift everyone right one bit to fit in 32 bits
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>
|
|
|
|
|
|
|
| |
This lets TeleGPS use the logging infrastructure without wasting a
task to log sensor data
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This replaces the flight code to monitor GPS state and switch flight
states between startup/pad/drogue
Signed-off-by: Keith Packard <keithp@keithp.com>
|