| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| | |
The lpc demo now has a USB command line.
Also allocates system stack so we know when ram is tight at build time
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| |
| | |
The LPC has only a small number of endpoints, and those are not
configurable. Let the LPC USB driver pick the IN and OUT endpoints by itself.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
Just the bare struct, no defines yet.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| |
| | |
The USART has a 16-byte TX fifo; keep rough track of how full it is to
avoid waiting for an interrupt after every TX byte.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
Adds a simple demo thread that spews data to the serial port
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
Use systick, which is built into the ARM core
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
Kinda necessary for the demo to build
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
This gets the LPC11U14 clock set to the PLL and blinks the LED.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|/
|
|
|
|
| |
This makes sure we use the known toolchain for STM32L builds
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Windows modem driver is quite chatty at startup time, getting and
setting the comm parameters each time the device is opened. Sometimes,
when setting the parameters, the cc1111 would STALL EP0.
Most of the time, Windows would happily pass this as an error back to
AltosUI which would then re-try the open (and succeed, most of the
time).
Sometimes, Windows would stall for 30 seconds before passing the error
back. This made the whole UI freeze, and I suspect most people assumed
our app had died.
A bit of analysis with the beagle USB sniffer and I discovered the
STALL settings, but there wasn't any correlation between the data on
the wire and when the STALL would be generated.
So, I found a couple of other cc1111 USB stacks on the net and just
looked to see how our driver differed. There wasn't anything clearly
related, but there were a list of small differences:
1) Other drivers didn't bother waiting for the hardware to
ack the USBADDR setting; doing it this way means we can set
the address *before* acking the setup packet. It'll get
set eventually, at which point the device will start responding to
packets again.
Easy to fix, and saves a bit of code space too.
2) The other drivers set the STALL bit for setup packets which aren't
understood. This shouldn't have any effect on 'good' systems as
those shouldn't ever be generating bogus setup packets anyways.
The driver already handled the STALL state in the interrupt
handler, the only requirement was to figure out when to explicitly
set the STALL bit.
That required moving the state updating code from the start of the
ep0 setup handling to the end, after the setup packet had been
examined and data queued in or out as appropriate.
3) Our driver explicitly queued an IN packet for any setup request
that wasn't waiting for an OUT pack. This appears to tie in with
the USBADDR change above as before I made that change, this change
caused the driver to fail to respond to most setup packets.
This was simple once the above change was made, just move the
generation of the IN packet inside the code that switched to the
IN state.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This sets the deviation to 0, enables the preamble and turns on the
transmitter. It will sit there happily sending a bare carrier forever
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Makes more sense there.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
If other drivers use the SPI bus, the MPU6000 gets confused as its
sitting on the bus looking for I2C messages. Just grab the mutex
before the OS is running and hold onto it until the MPU6000 has been initialized.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Without this, we can't talk to the chip very well
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
telemega moves the igniters around so that E/F are now drogue/main.
Add custom labels for ADC values to make parsing possible
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This caused the u-blox driver to use serial port 1 instead of the
project-specified serial port.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Take the gps_dump function from ao_gps_skytraq.c and move it to a new
file so it can be shared with the u-blox driver. That affects every
skytraq and u-blox user as they need to include the new file.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Airborne mode, < 4g (as good as it gets)
Only use 3D fixes (2D isn't very useful)
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The structs in ao_gps_ublox.h are used only by the test framework, but
it's useful to have that look right anyways.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
12 fit, but it's best to use a symbolic constant
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Uses binary mode.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Lots of stuff to do to make this old project build; just disable it
instead of fixing
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Clearly the pin isn't quite ready just after it's been configured, so
hang around for a while (100 nops) to let things setting down before
testing the value of the pin. Makes booting a lot more reliable.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Split the flash loader prototype into pieces so that each product can
build a custom flash loader with very little code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This saves enough memory to fit in under 4kB
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
.rodata* needs to be in flash; otherwise strings get left in ram.
Failing to align sections makes the initialized data get dumped into
the wrong place in memory.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
stm requires AO_BOOT_LOADER_BASE now
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This causes the flash loader startup code to fall into the loader when
the application sets the boot address to zero.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This lets the self flashing loader be linked without any of the stdio
code, which saves a bunch of memory.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Allows that value to change
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Includes the boot chain stuff
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
With the flash loader now < 4kB, we can use the spare 4kB for applications
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Saves 4kB of flash space for applications.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This removes all of the support for the base 100Hz timer from the
system, saving space when not needed
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
The necessary data structures aren't defined in this case.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
No need to loop if there's only one
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The STM flash loader wants to be taskless too, share this very simple
implementation of sleep/wakeup.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
works
Would be nice to be able to explicitly define addresses for the
romconfig variables, but I can't figure out how to make that
work. Instead, just explicitly load the files in teh right order to
make things land in the right places.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Uses objcopy -O ihex to extract the initialized bits from an elf file
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Change from development testing code to something that actually reads
and writes data from the USB link.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Both ao-stmload and the eventual java loader will support ihx files.
Signed-off-by: Keith Packard <keithp@keithp.com>
|