]>
git.gag.com Git - fw/altos/log
Keith Packard [Mon, 20 May 2013 03:27:53 +0000 (20:27 -0700)]
altos/lpc: Force idle mode if USB gets an address during boot time
This lets EasyMini be booted to idle mode by simply plugging it into USB.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:27:05 +0000 (20:27 -0700)]
altos/lpc: Reset SPI device at startup time
Wasn't doing the reset sequence correctly (write 0, then write 1).
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:26:07 +0000 (20:26 -0700)]
altos/lpc: Configuring wrong pin for SPI1 MOSI
Was setting configuration for PIO1_21 instead of PIO0_21.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:25:13 +0000 (20:25 -0700)]
altos/lpc: Allow for alternate SPI SCLK0 pin usage
SPI SCLK0 can appear on three different pins; let the application
configure which one it wants.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:24:11 +0000 (20:24 -0700)]
altos/lpc: Leave SPI enabled all the time
Might be able to turn it off with some care; more experimentation required.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:22:20 +0000 (20:22 -0700)]
altos/lpc: Create TX/RX busy macros for SPI driver
Check for both fifo status *and* device busy to make sure the device
is idle before we touch any registers.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:19:15 +0000 (20:19 -0700)]
altos/lpc: Fix beeper driver
Set prescale limit, not current prescale value (pr instead of pc).
Flip output 1 on PWM match (set emc toggle for channel 1).
Don't hold counter in reset (turn off CRST bit).
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:18:44 +0000 (20:18 -0700)]
altos/lpc: Missing parens around ao_gpio_set macro
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:17:48 +0000 (20:17 -0700)]
altos/lpc: SPI runs off main clock (48MHz), not sysclk (24MHz)
Update SPI speed definitions to match
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:07:52 +0000 (20:07 -0700)]
altos/lpc: Pull ADC data from the correct registers
Was just stepping through register space arbitrarily, which would have
worked for EasyMini, but might have failed later if the ADC pin usage
wasn't consecutive.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:06:03 +0000 (20:06 -0700)]
altos/lpc: Don't use loader to place USB endpoint data in USB ram
Instead, just assign a fixed address in registers.ld. This avoids a
confusing section in the elf file.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:04:29 +0000 (20:04 -0700)]
altos: Add EXTI_PIN_NOCONFIGURE to exti interface, use for MS5607
This asks the EXTI code to not mess with the pin configuration so that
the MS5607 driver can get interrupts on the MISO pin while still using
it for SPI.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 03:00:24 +0000 (20:00 -0700)]
altos/lpc: Make EXTI code work.
Clear rise/fall bits in ISR to avoid re-entering.
Block interrupts around enable/disable bits.
Create shared _ao_exti_set_enable function to control mask changes.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 02:57:23 +0000 (19:57 -0700)]
altos: Use ao_spi_get/put_bit in MS5607 driver
Replace open-coded ao_spi_get/put and ao_gpio_set sequences
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 20 May 2013 02:51:32 +0000 (19:51 -0700)]
altos/attiny: Fix ao_spi_get_bit/ao_spi_put_bit macros
These were never written, so just use ao_spi_get/put_mask.
A precursor to changing how the MS5607 drives the SPI bus
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:54:30 +0000 (03:54 -0700)]
altos: ignore built files in easymini-v0.1
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:53:32 +0000 (03:53 -0700)]
altos: Build easymini-v0.1
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:52:59 +0000 (03:52 -0700)]
altos: Initialize SPI for easymini
Doesn't work very well without this
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:52:14 +0000 (03:52 -0700)]
altos/lpc: Stick USB control structure in USB memory
No reason to have that in regular ram, and it means we've got space
for large enough stacks now
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:22:10 +0000 (03:22 -0700)]
altos: Add easymini-v0.1 product
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:21:43 +0000 (03:21 -0700)]
altos/lpc: Use separate interrupt stack
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:21:20 +0000 (03:21 -0700)]
altos/lpc: Try a smaller stack.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:19:41 +0000 (03:19 -0700)]
altos/lpc: Add pin interrupt driver
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:18:55 +0000 (03:18 -0700)]
altos/lpc: Add beep driver
Hardwired to our current beeper pin
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:18:19 +0000 (03:18 -0700)]
altos/lpc: Add ADC driver
Uses burst mode to get the whole set of values in one interrupt
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:16:41 +0000 (03:16 -0700)]
altos/lpc: add gpio int, spi, adc and ct32b defines to lpc.h
Lots more devices
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:15:58 +0000 (03:15 -0700)]
altos/lpc: Clean up broken IOCONF defines
Missing comment closes
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:14:57 +0000 (03:14 -0700)]
altos/lpc: Fix ao_enable_input, add ao_enable_analog
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:14:16 +0000 (03:14 -0700)]
altos: LPC interrupt priorities are just 0-3
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:13:17 +0000 (03:13 -0700)]
altos: Add LPC spi driver
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:02:38 +0000 (03:02 -0700)]
altos: Use ao_port_t in m25 driver
This uses ao_port_t for all of the chip select masks
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 10:02:01 +0000 (03:02 -0700)]
altos: Use ao_data_pres macro in ao_log_tiny
Now it works on easymini too
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 09:54:55 +0000 (02:54 -0700)]
altos: Check for packet mode before trying to disable it in flight code
This is only relevant for telemini
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 09:54:30 +0000 (02:54 -0700)]
altos: ao_data_get is in ao_data.c now, not ao_adc.c
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 09:53:32 +0000 (02:53 -0700)]
altos: Allow architecture to define the type of port registers
LPC11U14 has 32-bit ports, STM32 has 16 bit ports.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 18 May 2013 09:52:49 +0000 (02:52 -0700)]
altos: Move ao_data.c from stm to core
This should be used on every processor
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 17 May 2013 10:36:47 +0000 (03:36 -0700)]
altos/lpc: Get USB working
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>
Keith Packard [Fri, 17 May 2013 01:58:24 +0000 (18:58 -0700)]
altos: Allow target-specific USB endpoint specifications
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>
Keith Packard [Wed, 8 May 2013 02:27:17 +0000 (19:27 -0700)]
altos: Finish off LPC USB register definitions
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 26 Apr 2013 03:38:32 +0000 (20:38 -0700)]
altos/lpc: Start adding USB register defines
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 22 Apr 2013 22:10:24 +0000 (17:10 -0500)]
altos/lpc: Start adding USB register definitions
Just the bare struct, no defines yet.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 20 Apr 2013 05:40:38 +0000 (00:40 -0500)]
altos/lpc: Take advantage of USART TX fifo
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>
Keith Packard [Sat, 20 Apr 2013 05:20:55 +0000 (00:20 -0500)]
altos/lpc: Get USART running
Adds a simple demo thread that spews data to the serial port
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 18 Apr 2013 21:15:52 +0000 (16:15 -0500)]
altos/lpc: Get 100Hz timer running
Use systick, which is built into the ARM core
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 18 Apr 2013 20:55:26 +0000 (15:55 -0500)]
lpcxpresso: Add ao_demo.c
Kinda necessary for the demo to build
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 18 Apr 2013 20:54:13 +0000 (15:54 -0500)]
lpc: Initial lpcxpresso bits
This gets the LPC11U14 clock set to the PLL and blinks the LED.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 17 May 2013 10:34:50 +0000 (03:34 -0700)]
libaltos: use PurgeComm in Windows altos_close to abort in-progress ops
Instead of manually signalling the related events, use PurgeComm which
can then abort the operations itself. Also make sure all of the
relevant handles are set to INVALID before closing them to avoid race conditions.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 17 May 2013 10:27:20 +0000 (03:27 -0700)]
libaltos: Build the linux library targets when doing a 'fat' build
These are necessary for the fat release, so make sure they're built then.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 17 May 2013 10:21:08 +0000 (03:21 -0700)]
altos/cc1111: Hack on USB driver to make Windows happy
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>
Keith Packard [Wed, 15 May 2013 22:32:59 +0000 (15:32 -0700)]
altos: Generate unmodulated carrier for CC1120 test mode
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>
Keith Packard [Wed, 15 May 2013 05:29:06 +0000 (22:29 -0700)]
altos: Move MS5607 info from 'v' to 'c s'
Makes more sense there.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Wed, 15 May 2013 05:19:07 +0000 (22:19 -0700)]
altos: Remove some MMA655x debugging printfs
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 17:48:24 +0000 (10:48 -0700)]
altos: Grab SPI mutex until MPU6000 I2C mode is disabled
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>
Keith Packard [Tue, 14 May 2013 16:01:49 +0000 (09:01 -0700)]
altos: Initialize MPU6000 CS pin for SPI mode
Without this, we can't talk to the chip very well
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 16:56:16 +0000 (09:56 -0700)]
altos: Fix telemega v0.3 igniter order (drogue/main moved). Label ADC dump
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>
Keith Packard [Tue, 14 May 2013 16:25:08 +0000 (09:25 -0700)]
altos: gps serial routines are called ao_gps_*, not ao_ublox_*
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>
Keith Packard [Tue, 14 May 2013 16:21:54 +0000 (09:21 -0700)]
altos: Give u-blox 3 seconds after boot before we bug it
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 16:12:29 +0000 (09:12 -0700)]
altos: Add 'g' command to ublox GPS code.
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>
Keith Packard [Wed, 15 May 2013 08:24:56 +0000 (01:24 -0700)]
altos: Add flash-loader for telescience-v0.2
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 15:51:22 +0000 (08:51 -0700)]
altos: Set u-blox navigation settings
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>
Keith Packard [Tue, 14 May 2013 15:35:24 +0000 (08:35 -0700)]
altos: Use symbolic names for ublox packet id
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 08:06:20 +0000 (01:06 -0700)]
altosui: Generate useful KML files from TeleGPS logs
Use GPS altitude when baro altitude is not present.
Don't require flight number.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 07:38:34 +0000 (00:38 -0700)]
altosui: Use GPS alt + baro height for KML altitude
GPS altitude is generally more absolutely correct than baro altitude,
so use that as the nominal pad altitude when generating a KML
file. This results in a KML file that has the flight trace start and
end closer to the ground, which is always nice.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 07:24:53 +0000 (00:24 -0700)]
altoslib: Use sequence numbers to track GPS updates to AltosRecord
State objects now record what GPS sequence ID they have to know when
the GPS data has been updated. Record objects bump the GPS sequence
each time new GPS data is recorded. This way, record objects aren't
modified as they're iterated over to generate the list of state
objects which makes it possible to iterate multiple times and get the
same resulting set of states.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:59:26 +0000 (22:59 -0700)]
altos/test: ao_gps_test_ublox uses ao_gps_blox.h
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:58:18 +0000 (22:58 -0700)]
altos: Struct used for u-blox testing had lat/lon swapped
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>
Keith Packard [Tue, 14 May 2013 05:33:12 +0000 (22:33 -0700)]
altos: Switch TeleMega v0.3 to u-blox
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:32:25 +0000 (22:32 -0700)]
altos: Provide a define for the number of sat infos in a telem packet
12 fit, but it's best to use a symbolic constant
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:31:31 +0000 (22:31 -0700)]
altos: Add U-Blox GPS driver
Uses binary mode.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:29:22 +0000 (22:29 -0700)]
altos: Don't bother fixing telelco-v0.1, just disable it
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>
Keith Packard [Tue, 14 May 2013 05:28:27 +0000 (22:28 -0700)]
altosuilib: Mistake in the MegaDongle listing -- was set to TeleMega
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:27:00 +0000 (22:27 -0700)]
altoslib: Correct hexfile address ranges
Stop trying to use sentinal values for addresses and just keep a
boolean tracking whether they've been initialized. Avoids precision
errors in the variables.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 11 May 2013 02:21:18 +0000 (19:21 -0700)]
altosui: Wait for valid callsign/flight when graphing
Wait for the data record to indicate that the flight value is valid
before setting the graph callsign/flight/serial data.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 10 May 2013 04:06:52 +0000 (21:06 -0700)]
Merge branch 'master-fixes' into stm-flash-fixes
Keith Packard [Fri, 10 May 2013 04:06:23 +0000 (21:06 -0700)]
micropeak: Use new 'last logdir' preference for MicroPeak save/load dialogs
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 10 May 2013 04:04:52 +0000 (21:04 -0700)]
Information from configure about android build was misprinted
A typo in the script caused it to print either 'yes' or ''
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 10 May 2013 04:04:11 +0000 (21:04 -0700)]
altoslib: Add non-persistent 'last logdir' preference
This is used to record the last directory for reading or writing log
files so that the UI can pop back to the same place next time.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 10 May 2013 04:03:38 +0000 (21:03 -0700)]
Add altosdroid notebook entry for imperial units
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 29 Apr 2013 06:06:24 +0000 (23:06 -0700)]
altos: Wait after configuring boot pin before testing it
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>
Keith Packard [Sat, 27 Apr 2013 22:33:04 +0000 (15:33 -0700)]
altos/stm: Create per-product flash loaders
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>
Keith Packard [Sat, 27 Apr 2013 07:37:15 +0000 (00:37 -0700)]
altos: Add ao_boot_chain to telemega v0.3
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 27 Apr 2013 07:26:11 +0000 (00:26 -0700)]
ao-tools/ao-stmload: Add --verbose flag
This dumps out the serial communication so you can see where things go wrong.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 27 Apr 2013 07:25:36 +0000 (00:25 -0700)]
altos: Remove stdio from stm-flash
This saves enough memory to fit in under 4kB
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 27 Apr 2013 07:24:08 +0000 (00:24 -0700)]
altos: Get rodata into flash, make sure sections are aligned
.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>
Keith Packard [Sat, 27 Apr 2013 07:23:14 +0000 (00:23 -0700)]
altos: Make stm-bringup build again
stm requires AO_BOOT_LOADER_BASE now
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 27 Apr 2013 07:20:47 +0000 (00:20 -0700)]
altos: Run self loader when application sets boot addr to 0
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>
Keith Packard [Sat, 27 Apr 2013 07:19:13 +0000 (00:19 -0700)]
altos: Allow STM usb driver to be used without stdio
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>
Keith Packard [Tue, 23 Apr 2013 02:08:35 +0000 (20:08 -0600)]
altos/stm-flash: Check target flash address against AO_BOOT_APPLICATION_BASE
Allows that value to change
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Apr 2013 01:59:12 +0000 (20:59 -0500)]
ao-tools/ao-stmload: application base moved to 0x08001000
And, use a symbolic name so it can be easily moved in the future
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Apr 2013 01:56:00 +0000 (20:56 -0500)]
ao-tools: reboot to loader now uses 'X' instead of 'L'
'L' is used by lots of other commands; switch to 'X' which is free.
Sigh. Someday we'll have words for commands instead of just letters
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Apr 2013 01:35:57 +0000 (20:35 -0500)]
altos: Use flash loader on all STM products
Includes the boot chain stuff
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Apr 2013 01:33:33 +0000 (20:33 -0500)]
altos/stm: Provide another 4kB of flash space for apps
With the flash loader now < 4kB, we can use the spare 4kB for applications
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Apr 2013 01:32:18 +0000 (20:32 -0500)]
altos/stm: Shrink stm flash loader to < 4kB
Saves 4kB of flash space for applications.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Apr 2013 01:30:31 +0000 (20:30 -0500)]
altos/stm: Allow core timer to be excluded from build
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>
Keith Packard [Tue, 23 Apr 2013 01:29:56 +0000 (20:29 -0500)]
altos/stm: Don't define task macros when not tasking
The necessary data structures aren't defined in this case.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Apr 2013 01:27:52 +0000 (20:27 -0500)]
altos: Eliminate stdio looping when system has a single stdio source
No need to loop if there's only one
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Apr 2013 01:24:48 +0000 (20:24 -0500)]
altos: Move ao_notask to core
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>
Keith Packard [Sun, 24 Mar 2013 23:16:55 +0000 (16:16 -0700)]
ao-tools/ao-stmload: Remove IRC dregs in source code
oops.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 24 Mar 2013 23:15:21 +0000 (16:15 -0700)]
altosui/altoslib: Move more flashing code from altosui to altoslib
Required a bit of refactoring to eliminate swing types from the
flashing code, but nothing major.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 24 Mar 2013 23:01:08 +0000 (16:01 -0700)]
altosui & altoslib: Move a pile of debug/programming bits to altoslib
Prepare to create external Java utilities to flash devices
Signed-off-by: Keith Packard <keithp@keithp.com>