| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Avoids conflict with global 'log' function
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Makes gcc happy
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
These were sitting in my src directory but not in git
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This adds a new directory for EasyMega v3.0, replacing the mpu9250
with a bmx160.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Get conversion functions written and fix up a few warnings
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This just adds the driver, it doesn't hook it up yet
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
We no longer need to wrap these functions
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
GCC can emit a warning when programs redefine 'main'.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
EasyMega v2.0
TeleFireEight v2.0
TeleFireOne v1.0
TeleLco v0.2 with cc1200 radio
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the button bounces between the triggering interrupt and the button
state check, we could lose the final state change of the button and
send an incorrect event to the application. In the worst case, the button
would end up in exactly the wrong state, toggling in the wrong direction.
Use the fast timer to poll all buttons instead so that there is only
one check of each button at each poll interval (instead of the
interrupt and the state check). This makes buttons reliably debounced.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Use DATA bits to mark which sensors have failed, then report that in
beeps at startup time to help diagnose hardware failures while still
allowing the board to be used over USB.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This gets power consumption down under 1mA on the pad. Not really low
enough to sell, but I think this is about as low as the chip will go.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Set SPI_1_POWER_MANAGE and/or SPI_2_POWER_MANAGE to have the spi
blocks powered down when not in use.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This powers down the UART logic on request.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
We only need the power interface when placing the chip in the lowest
power state, so don't power up the power interface clock at startup,
instead wait until later.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
Products that want to remain usable (over USB) after a sensor failure
don't want to panic when the ms5607 fails, but products with limited
ROM space don't want to have extra code to check for the sensor
failure and panic. Change the MS5607 driver to allow either option,
and then make the micropeak based devices use it.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Ignore built stuff
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Typo wasn't caught by the compiler (thanks!)
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
We have to erase the log before the flight starts, so this seems like
the latest possible moment.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
MicroPeak v2 now has config stuff where these values get shown
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets AltosUI handle the eeprom data
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This is the lowest power state we can reach, and consumes about 15µA
or less.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
'pips' happens between altitude report and data dump.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
If we don't wait before measuring the battery, it will often read
under 3.2V right at boot time, which puts MicroPeak in flight mode
instead of USB mode.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
No sense running the flight code when there's a USB cable attached.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
MicroPeak v2.0 has tasking support, but doesn't have a separate ms5607
task. That means the device isn't getting initialized when not running
the flight code, so in cmd mode we need to make sure it's initialized,
and we also need to actually fetch a value to display.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 8051 compiler doesn't support 64-bit ints, so the old
code used an iterative method in 32-bit values. That could take
a long time when the frequency was mis-entered in Hz or MHz instead of
kHz.
This direct-computation uses 64-bit ints, but takes a fixed amount of
time for any inputs.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
| |
This adds the pin definitions and all of the code except for the
ads131a04 driver.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Define HAS_MAX6691 which tells the data code to pull the MAX6691 data
into the data ring for logging etc.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This just captures temp data continuously; it takes 100ms to get the
temp data from the sensor, so the maximum rate is around 10 samples/sec.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Add these two devices as potential data sources to be added into the
ring if available.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Fix the DMA channel definition (STM starts values at 1 for unknown reasons).
Add definition of the power enable bit for the timer.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The driver uses a timer connected to a DMA engine to measure pulse
widths from the chip. We get 11 pulses for 4 channels; the first pulse
is caused by the timer starting up, the next two are the marker pulse
and then 8 more indicating the end of the high and low periods for
each channel.
The driver API returns the 8 pulse widths; the caller is expected to
know what to do with those values as using them requires knowing the
value of the configuration resistor and the characteristics of the
thermistors.
The test code assumes a 1k configuration resistor, using that it computes
the resistance of the four thermistors.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
| |
The code is too large to run on this device at this point, but at least
it doesn't fail to compile?
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Instead of using AO_ACCEL_INVERT, use the macro which flips the values
around. This fixes a bug with ADXL375 flight computers (EasyMega v2.0) where the
accel cal values would be scrambled when changing orientation.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This demo doesn't need a lisp interpreter
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Reset now works, still no packets
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This meant that the USB clock wasn't actually getting started...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This was reported as necessary; I have no idea, but it's not
expensive, so why not...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This makes doubles on the stack (as for var-args functions) work
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
this code
The generic LED code needs a generic type for the GPIO port.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
This provides nano-second resolution times by reading the systick
value (which runs at 250ns ticks on stm).
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| |
| | |
Offers additional range for internal use without increasing cost on
32-bit platforms.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
Make sure AO_TICK_TYPE is used "everywhere", instead of uint16_t or other.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|/ |
|
| |
|