summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* altos/telelco-v2.0: Use single-step quadrature codeKeith Packard2018-05-28
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/driver: Add support for one-step-per-click quadrature encoderKeith Packard2018-05-28
| | | | | | | The mechanical encoders go through all four steps per click while the optical ones have a single step per click. Support both kinds. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telelco-v2.0: Reduce quadrature debounce timeKeith Packard2018-05-28
| | | | | | The optical encoders shouldn't bounce at all; let's try a minimal value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/drivers: Make quadrature debounce longer by default. Fix state trackingKeith Packard2018-05-28
| | | | | | | | | This increases the default debounce time for quadrature encoders to 30ms, which cleans up the mechanical encoders on TeleLCO v0.2. Also change state tracking to explicitly check for expected state values to avoid mis-triggering. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telelco-v2.0: Only switch encoder mode on push, not releaseKeith Packard2018-05-28
| | | | | | Was not checking event value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/ao_button.c: Support up to 16 buttonsKeith Packard2018-05-28
| | | | | | TeleLCO v2.0 has more than 4 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telelco-v2: Change select button to alternate box/pad modeKeith Packard2018-05-28
| | | | | | | Instead of a three-way, just make the select button two-way and have the arming switch disable it. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add TeleFireEight v1.0 productKeith Packard2018-05-21
| | | | | | Eight pyro channel version of the TeleFire boards. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/drivers: Pads with multi-port firing and pad selector DIP switchKeith Packard2018-05-21
| | | | | | | | | | | TeleFire 8 scrambles GPIOs to make layout cleaner, placing the 8 firing outputs across two GPIO ports. We're also adding an 8-unit selector for box number so that boards can be re-configured in the field. These override any ROM-configuration value; you can select the rom value by setting all switches to 'off'. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Add per-LED port/pin mode in LED codeKeith Packard2018-05-16
| | | | | | | | | If you've got a complicated LED pin arrangement, you can ask for each one to be configured separately, instead of using groups in a couple of GPIO registers. The code isn't as efficient this way, but at least it's easy to read. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add TeleLCO v2.0 productKeith Packard2018-05-16
| | | | | | New LCO design with a single rotary knob and lots more buttons. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/vidtime: Check for value change in normal code, not irqKeith Packard2018-05-16
| | | | | | This makes sure each value change is reported to the user. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: add 'vidtime', a simple brightness monitorKeith Packard2018-05-07
| | | | | | | | This is a testing tool for video refresh tracking. It uses the mpusb v3.0 hardware and monitors the phototransistor value, sending 0 or 1 to the USB port when the value changes. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge branch 'mpusb'Keith Packard2018-05-07
|\
| * altos/mpusb-v3.0: Make it compile againKeith Packard2018-05-07
| | | | | | | | | | | | A few things have changed since this code was written. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos/stmf0: leave ao_power_gpio names undefined without power managementKeith Packard2018-05-07
| | | | | | | | | | | | Should make it more obvious at compile time that you've done something wrong. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Add µPusb v3.0 projectKeith Packard2018-05-07
| | | | | | | | | | | | | | This replaces the ft230 with a stm32f04, saving a bit of BOM and giving us control over the firmware. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/test: Replace state name with 10* state value in test log. Fix raw speedKeith Packard2018-05-07
| | | | | | | | | | | | | | | | Using a state value means we can plot state changes along with the rest of the graph. Raw speed (simple integrated acceleration) was busted; mostly needing to skip the first accel sample. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Eliminate height requirement for coast detectKeith Packard2018-05-07
| | | | | | | | | | | | | | | | | | | | | | We had required a minimum altitude of 100m to transition from boost to coast. With small motors in a heavy multi-staged rocket, this can fail to detect coast in time to light the second motor. Also, this would fail to deploy recovery systems if the flight failed before reaching 100m. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/chaoskey-v1.0: Add endpoint for reading flash contentsKeith Packard2018-05-07
| | | | | | | | | | | | | | This creates another IN endpoint which provides the contents of flash for validation of the firmware load on the host. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/stmf0: Fix up USB debug codeKeith Packard2018-05-07
| | | | | | | | | | | | | | At least make it compile. In this configuration, it's dumping out IN3 endpoint register values. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/stmf0: Add IN3 alternate endpoint supportKeith Packard2018-05-07
| | | | | | | | | | | | This adds the code necessary to drive another IN endpoint. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/stmf0: Toggle IN2 SW_BUF bit when sending dataKeith Packard2018-05-07
| | | | | | | | | | | | | | This tells the hardware we're done writing data to the second input buffer and allows it to be switched from NAK to VALID. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/kernel: Add USB descriptors for IN3Keith Packard2018-05-07
| | | | | | | | | | | | | | This adds the necessary descriptor information to support another IN endpoint for applications. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/kernel: Define usb IN2/IN3 functionsKeith Packard2018-05-07
|/ | | | | | | These are putchar and flush functions that are used when sending data to the additional IN2 and IN3 endpoints. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Set 0x0 mapping to Main Flash for boot loaderKeith Packard2018-05-01
| | | | | | | | | When DFU finishes loading firmware and jumps to the application, it leaves the mapping of addresses starting at 0x0 set to System flash, which prevents the boot loader from receiving interrupts and requires a power cycle during flash & cal. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: whitespace fixKeith Packard2018-05-01
| | | | | | Trailing whitespace. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Change tests for AO_BOOT_CHAIN and AO_BOOT_PIN to #ifKeith Packard2018-05-01
| | | | | | Were #ifdef, which meant that #define AO_BOOT_PIN 0 didn't work right. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox1ihu: Pull down radio control pin in flash loaderKeith Packard2018-04-26
| | | | | | Ensures that the radio is powered down while in the flash loader. Signed-off-by: Keith Packard <keithp@keithp.com>
* Remove ao_radio_cal from stm products without radiosKeith Packard2018-04-26
| | | | | | Products without a radio don't need this value. Signed-off-by: Keith Packard <keithp@keithp.com>
* had the sense backwards .. presence of 'attached' should put us in the loaderBdale Garbee2018-04-26
|
* move signal that forces flash-loader on to PB8, active highBdale Garbee2018-04-26
|
* altos: Build fox1ihu by defaultKeith Packard2018-04-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Enable system timer in flash loader and prod watchdog with itKeith Packard2018-04-26
| | | | | | | This makes it possible to reflash the board without needing to disable the watchdog. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Update ADC to fox-1 IHU Revision 2Keith Packard2018-04-26
| | | | | | Change ADC pin definitions to match new hardware. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Transition to current altos build environmentKeith Packard2018-04-26
| | | | | | Fix the library usage, use $(LIBS) instead of $(SAT_CLIB) -lgcc Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: update product name to show v2, enable watchdog by defaultKeith Packard2018-04-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Run app when PD6 is lowKeith Packard2018-04-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Add fox1ihu flash loaderKeith Packard2018-04-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Add MRAM and SD card driversKeith Packard2018-04-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Enable M25 driver for MRAM.Keith Packard2018-04-26
| | | | | | The M25 driver can also talk to the MRAM chip, with a few adjustments Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Add watchdog timerKeith Packard2018-04-26
| | | | | | Runs at 25Hz, can be enabled and disabled via the command line Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Turn on all of the fox lightsKeith Packard2018-04-26
| | | | | | Fox has two red and two green LEDs Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Provide names for fox ADC channelsKeith Packard2018-04-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Fix up Fox ADC bitsKeith Packard2018-04-26
| | | | | | Update to current schematic Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: Initialize FOX adcKeith Packard2018-04-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/fox: rename fox productBdale Garbee2018-04-26
| | | | It's Fox1IHU-v1 now
* altos/fox: Add fox1ihu bringup firmwareKeith Packard2018-04-26
| | | | | | Firmware capable of testing fox1ihu hardware Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/flash-loader: On STM, don't include ao_usb_disableKeith Packard2018-04-26
| | | | | | This saves a bit of space, keeping the flash loader under 4k on fox Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use max of 64 previous orient values when checking pyro limitsKeith Packard2018-04-26
| | | | | | | | | Instead of checking just a single measurement to see if the orientation is outside of the desired limits, use the maximum of 64 previous values to that rapidly changing orientation won't accidentally enable a pyro channel if sampled at the 'wrong time'. Signed-off-by: Keith Packard <keithp@keithp.com>