| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
This reverts commit 6a9546413d6a236c010e806b50506d870961d074.
This causes the device to stop reliably handling interrupts.
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
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>
|
| | |
|
| |
|
|
|
|
| |
These set or clear a group of bits in a single GPIO register all together.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
This allows for SPI output at interrupt time, one byte at a time.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
While 512 bytes is a reasonable size, sometimes apps don't have that
much stack space.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
This provides a bit more room for tasks on their stack
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
This allows multiple SoCs to provide the same driver interface
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the CCMR1_OC1PE and CCMR2_OC3PE values.
Disable clock when no PWM outputs are running.
Fix the apb1enr value for the timer.
Set ARR value to PWM_MAX - 1 -- ARR is off by one.
Sets the GPIO pins to 40MHz bandwidth for sharper edges.
Tested on EasyMega, but that code is not included as it breaks the
companion protocol.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having arbitrary alarms firing in the middle of complicated device
logic makes no sense at all. Therefore only correct use of ao_alarm
and ao_clear_alarm was around a specific ao_sleep call, with correct
recovery in case the alarm fires.
This patch replaces all uses of ao_alarm/ao_sleep/ao_clear_alarm with
ao_sleep_for, a new function which takes the alarm timeout directly.
A few cases which weren't simply calling ao_sleep have been reworked
to pass the timeout value down to the place where sleep *is* being
called, and having that code deal with the return correctly.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
Bluetooth needs to delay adding the serial port to stdio until the
link is up and running. The cc1111 serial driver had
DELAY_SERIAL_*_STDIN bits which have been added to the STM serial driver.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
This crept in while working on the stmf0 bits. oops.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
This waits forever for USB writes to complete, instead of timing out
after five seconds. Useful when debugging the device.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
Add support to the BTM driver for non-CC1111 interrupts
Add HW flow control to STM serial driver
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
We don't write to this, so let it be const for type checking
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
|
| |
Instead of blocking on PQT, just set up the receiver to start going
and when the first bit interrupt comes in, grab the SPI bus if
possible and configure it for reception. This improves sensitivity in
the radio by a significant amount while making the code conceptually a
bit nicer.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
Redirects data input from local sensors to USB sourced data, leaving
USB enabled when the computer goes into pad mode.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
These two files were absolutely identical, so share them by moving
under kernel instead.x
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
Instead of just "knowing" that ao_boot_loader will be passed zero when
the application wants to get back to the boot loader, explicitly
define the values so that both sides always agree.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
This lets the compiler short-circuit the tests in ao_enable_gpio and
ao_disable_gpio to save a bit of code space and time.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
Look at the flash size and the device id registers to figure out how
much flash is available.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
|
| |
|
|
|
|
|
| |
Flash is at 0x08000000, but when the chip boots, it can be at 0x0 as
well. Use the 0x08000000 address when rebooting to flash
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Set the timer to 200Hz for a 5ms debounce interval. Then, simply look
for transitions ending in both bits in the encoder being off, which
indicates the the encoder is resting in a detent. If bit '2' is
turning off, the encoder was rotated clockwise, otherwise the encoder
was rotated counter clockwise.
This is a lot more reliable, although still not perfect.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
core remains a bad name to use -- dirvish skips files (and
directories, it seems) with that name.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
This lets other bits of the code know when USB has been connected.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
Print all ADC values on one line when using named ADC values
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
Wouldn't work well to get interrupted...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
This makes it possible to reflash the board without needing to disable
the watchdog.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
This makes APRS more usable when you mute the RF audio on the HT.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
Now that the build completes with no warnings, make future warnings
into errors.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
All of the warnings for STM projects are cleaned up now
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
Unused variables, mismatching signed/unsigned and a few other misc
warnings.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
The warnings are all cleaned up now, leave this on by default
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
Unused variables, functions and labels, missing enums in switch.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
The USB enable register wasn't actually getting rewritten with the
enable bit turned off, so the USB device was still powered on in flight.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
| |
We were only using the low 8 bits of the setup packet reply max len,
which meant that if the other side sent a weird max len (as Windows 7
does), then we'd truncate our setup reply to whatever was in the low 8
bits of that value.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
Change name of .text.ram to .ramtext, then load .text* into flash and
.ramtext into ram. This ensures that 'main' and anything else in a
random .text.* segment will get loaded into flash as appropriate.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
Remove the software version string from the product name
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
The .ihx version can be processed by the java loader
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
This stops exposing eeprom as 'storage' and instead exposes it with a
separate eeprom API so that it can be used for config storage without
also using it for flight log storage.
The config code has been changed to allow it to either use storage for
configuration data or eeprom.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
This tracks the angle-from-vertical as an additional input to the pyro
channels.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
Switch over to the installed pdclib everywhere
Signed-off-by: Keith Packard <keithp@keithp.com>
|