summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* altos/stmf0: Remove ao_usb_freeKeith Packard2016-06-11
| | | | | | This can't work without a lot more effort. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Rework the sram allocation to save a few text bytesKeith Packard2016-06-11
| | | | | | | Boot loaders were going over 4096 bytes of ROM. I suspect we'll need more serious work soon. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/cc1115l: Reduce trace buffer sizeKeith Packard2016-06-10
| | | | | | A 32-element trace buffer is all the larger we can fit in teledongle. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Handle USB reset in STM32L usb driverKeith Packard2016-06-10
| | | | | | | Just like lpc and stmf0, deal with the host resetting the bus while rebooting by restoring all usb-related data to the initial values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Handle USB reset by resetting internal stateKeith Packard2016-06-10
| | | | | | | Just like stmf0, this clears internal state at USB reset time so the driver can survive host OS reboots. Signed-off-by: Keith Packard <keithp@keithp.com>
* stmf0: Do not send more data than requested for GET_DESCRIPTORKeith Packard2016-06-09
| | | | | | | | When Linux boots, it asks for only the first 8 bytes of the device descriptor; we must limit the amount of data sent back to that amount or USB will get wedged. Signed-off-by: Keith Packard <keithp@keithp.com>
* stmf0: Clear all USB state when resetting chip. Wakeup all sleepersKeith Packard2016-06-09
| | | | | | | | | When USB is reset, but the board is not power cycled, all of the internal USB state needs to be reset, and any tasks blocked on sending or receiving packets need to be awoken so they can go wait for USB to start running again. Signed-off-by: Keith Packard <keithp@keithp.com>
* telegps-v1.0: Document how SN 1959 was fixedKeith Packard2016-06-09
| | | | | | | SN1959 was fixed by jumpering pin 8 to pin 10 so that the DONE_INT_PIN could be switched from PIO 2 to PIO 4 as pin 8 appeared to have failed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Fill preload map on site or lat/lon changeKeith Packard2016-05-27
| | | | | | | | This loads the map view with the selected area when the site entry is changed or the user hits return in the lat/lon fields. This lets you see the target launch site without having to load the whole preload set. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/cc1111: Use SW to drive UART RTS pinKeith Packard2016-05-09
| | | | | | Can't get the hw to work. Signed-off-by: Keith Packard <keithp@keithp.com>
* Ignore some built files for 1.6.3Keith Packard2016-05-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make sure AO_MMA655X_INVERT is declared where neededKeith Packard2016-05-02
| | | | | | | | Add #define AO_MMA655X_INVERT 0 to existing products which didn't declare it at all. This will make sure the value is set correctly for each new board. Signed-off-by: Keith Packard <keithp@keithp.com>
* Revert "altos/stm: Run scheduler code on interrupt stack"Keith Packard2016-04-30
| | | | | | This reverts commit 6a9546413d6a236c010e806b50506d870961d074. This causes the device to stop reliably handling interrupts.
* altos: Clear packet queue when starting packet masterKeith Packard2016-04-25
| | | | | | | | This avoids overfilling the packet buffer when disconnected. Applications using packet mode shouldn't expect that output be saved across master sessions. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telebt-v3.0: Flip CTS/RTS pins for BT moduleKeith Packard2016-04-25
| | | | | | | These are wired backwards, so ask that the right pins be used, which requires switching to software control of the pins. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm32l: Add support for software-driven HW flow controlKeith Packard2016-04-25
| | | | | | | | This allows applications to request that the flow control bits be driven from software rather than hardware, permitting more flexible pin configuration. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use TXE instead of TC for serial on STM32lKeith Packard2016-04-25
| | | | | | | Using TXE allows for full-speed communication, rather than waiting for each byte to be transmitted before inserting the next into the queue. Signed-off-by: Keith Packard <keithp@keithp.com>
* Debug bits for telebtKeith Packard2016-04-25
|
* altos: avoid mixed declarations and code in ao_task.cKeith Packard2016-04-19
| | | | | | sdcc can't handle this. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefiretwo-v0.2: Change alarm names in commentKeith Packard2016-04-19
| | | | | | The PCB is labeled 'A' and 'B'. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Fix external interruptsKeith Packard2016-04-19
| | | | | | | | Missing a reserved address in the registers broke everything nicely, but the priority values were also wrong - stm32f0 exposes 8 bits per priority, like the stm32l, but it uses only the top two bits. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add TeleFireTwo v0.2 projectKeith Packard2016-04-19
| | | | | | | This is much like TeleFireTwo v0.1, with only one pyro channel and added siren and strobe Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telelcotwo: Add idle timeoutKeith Packard2016-04-19
| | | | | | | | Puts TeleLCOTwo in a low power state (drawing about 80µA) after a timeout (default two minutes) to keep from killing the battery if the device is left turned on. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use simpler debounce logic for buttonsKeith Packard2016-04-19
| | | | | | | | | | | Instead of waiting for a while after the transition to decide if it has stuck, signal the event right away and then ignore other transitions for the debounce interval. This seems to work just as reliably, but has the benefit of eliminating button latency at press time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ao_lco_two.c; alternate LCO interface codeKeith Packard2016-04-19
| | | | | | | | The LCO interface is likely to end up very device specific as the interactions depends on the input devices. Here's a version for TeleLCOTwo, which has two arming switches and a firing button. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix telefiretwo .gitignoreKeith Packard2016-04-19
| | | | | | Was ignoring the wrong built files Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add TeleLCOTwo firmwareKeith Packard2016-04-19
| | | | | | The LCO side of a two-channel launch controller setup. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Support pad/lco boxes with fixed box numbersKeith Packard2016-04-19
| | | | | | | This allows for a configuration without adjustable box numbers on either end of the link, simplifying the UI. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow for pad boxes with different sensor configurationsKeith Packard2016-04-19
| | | | | | | | This allows for a pad box without a resistor from power to each FET. That resistor is needed to detect welded relays, but in a solid-state system, that's not a possibility. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: telefiretwo-v0.1 bitsKeith Packard2016-04-19
| | | | | | Get this board running. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add pad support for new telefire versionsKeith Packard2016-04-19
| | | | | | | | | | | | Makes the voltage divider values configurable, and allows for pyro channels that don't have the resistors necessary to check for a stuck relay. Also supports STM32L processors with wider GPIO registers, and uses the new ao_gpio_set/clr_bits functions to fire igniters rather than cc1111-specific code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Support telefire products in cc1200 driverKeith Packard2016-04-19
| | | | | | Need to disable the pad code while testing the radio. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/detherm: Add servo driverKeith Packard2016-04-13
| | | | | | This just provides commands to test the servo with. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/detherm: Add ms5607 to dethermKeith Packard2016-04-13
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add easy mini plotting helper in test codeKeith Packard2016-04-13
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ao_gpi_set/clr_bits functionsKeith Packard2016-04-13
| | | | | | These set or clear a group of bits in a single GPIO register all together. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Add pwm and exti driversKeith Packard2016-04-02
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add detherm productKeith Packard2016-04-02
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Support HPE clock sourceKeith Packard2016-04-02
| | | | | | Allows the use of crystals instead of requiring USB. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Add SPI driver.Keith Packard2016-04-02
| | | | | | | This also changes the DMA interface a bit so we can select for interrupts on only the interesting channels. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use mini logging for detherm, just without ADCKeith Packard2016-04-02
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add Detherm log format (easymini without ADC)Keith Packard2016-04-02
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow for flight hardware without any ADC valuesKeith Packard2016-04-02
| | | | | | | Detherm has no ADC connections, so we don't need to disable the ADC when going to landed state. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add one-byte SPI output routine for LPC and STM coresKeith Packard2016-03-26
| | | | | | This allows for SPI output at interrupt time, one byte at a time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Add fast timerKeith Packard2016-03-26
| | | | | | This offers a faster timer callback for higher-precision operation Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Allow apps to define different stack sizeKeith Packard2016-03-26
| | | | | | | While 512 bytes is a reasonable size, sometimes apps don't have that much stack space. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Validate current task SP in interrupt by looking at PSPKeith Packard2016-03-26
| | | | | | | | | We use a separate stack pointer for task code, which means we can verify that it is in range in any interrupt handler. This adds checks for the task stack (under #ifdef DEBUG) that run in ao_wakeup as well as at every timer interrupt. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Run scheduler code on interrupt stackKeith Packard2016-03-26
| | | | | | This provides a bit more room for tasks on their stack Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Construct .bin files for flash loadersKeith Packard2016-03-18
| | | | | | | This builds a .bin file which can be used with dfu-util instead of using openocd to load the initial flash loader. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Expose fast timer API from kernel/Keith Packard2016-03-18
| | | | | | This allows multiple SoCs to provide the same driver interface Signed-off-by: Keith Packard <keithp@keithp.com>