summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * altos: Add a simple cache for the FAT position->cluster computationKeith Packard2013-03-28
| | | | | | | | | | | | | | This improves read/write performance with large files by not re-walking the cluster chain for every operation Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Clean up fat driver API. Improve fat testKeith Packard2013-03-28
| | | | | | | | | | | | | | | | Make FAT api provide reasonable error return values, change the tests to write and then read a pile of files, checking that the contents are correct (using md5sum). Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Add sanity checking to busy counts in bufio driverKeith Packard2013-03-28
| | | | | | | | | | | | Make sure the busy counts don't underflow or overflow. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Use FTDW, clear DATA bit. Disable backup write protectionKeith Packard2013-03-27
| | | | | | | | | | | | | | | | | | The newer(?) chips in telegps didn't like the previous programming scheme, so go back to fixed time for write, which does an implicit erase before every write. Also clear the DATA bit, which is only needed for double word erase/programming. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Teleshield has a radio, set HAS_RADIO in ao_pins.hKeith Packard2013-03-27
| | | | | | | | | | | | Otherwise, lots of random code won't know about the radio.. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Add new panic flag for bufio misuseKeith Packard2013-03-27
| | | | | | | | | | | | Allow the bufio code to signal a fatal error if someone misuses the API Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Hook up the FAT16 and SD card support to telegpsKeith Packard2013-03-27
| | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Add SDCARD and FAT16 filesystem supportKeith Packard2013-03-27
| | | | | | | | | | | | | | This adds a fairly primitive FAT16 file system implementation along with support for SD cards. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Fix config to not abort radio recv when no recv is availableKeith Packard2013-03-26
| | | | | | | | | | | | | | Use the new radio recv define to skip disabling the receiver when there isn't a receiver. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Allow radio recv and xmit to be separately configuredKeith Packard2013-03-26
| | | | | | | | | | | | | | The CC115L is xmit only, so split out the functions and provide defines to check for xmit or recv separately as needed. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos/stm: Ensure SPI always sends 0xff during receiveKeith Packard2013-03-26
| | | | | | | | | | | | SD cards require 0xff when fetching data Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Improve CC115L driver. Generates carrier now.Keith Packard2013-03-26
| | | | | | | | | | | | Still no data, but at least the carrier comes up on frequency now. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Add RFPA0133 amplifier driverKeith Packard2013-03-26
| | | | | | | | | | | | No configuration of power level yet, just the bare driver. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos/telegps: Hook up cc115l driverKeith Packard2013-03-24
| | | | | | | | | | | | Doesn't actually do anything yet, but should initialize the chip at least Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Add cc115l driver (untested)Keith Packard2013-03-24
| | | | | | | | | | | | Includes support for sending telemetry, RDF and APRS tones Signed-off-by: Keith Packard <keithp@keithp.com>
| * Add telegps initial versionKeith Packard2013-03-20
| | | | | | | | | | | | Just lights up the GPS and USB Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/stm: Add comments to the .ld files explaining how the romconfig stuff ↵Keith Packard2013-03-24
| | | | | | | | | | | | | | | | | | | | | | 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>
* | altos/stm: Add .elf to .ihx ruleKeith Packard2013-03-24
| | | | | | | | | | | | Uses objcopy -O ihex to extract the initialized bits from an elf file Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Switch ao_stm_flash to read/write binary blocksKeith Packard2013-03-24
| | | | | | | | | | | | | | 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>
* | altos: Create ihx version of stm-demoKeith Packard2013-03-24
| | | | | | | | | | | | Both ao-stmload and the eventual java loader will support ihx files. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/stm: Always declare all romconfig variablesKeith Packard2013-03-24
| | | | | | | | | | | | | | | | I haven't figured out how to assign addresses for specific initialized variables, so we'll just have to always declare all of them and make sure that we add new ones at the end. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Call ao_task_init before initializing any driversKeith Packard2013-03-24
| | | | | | | | | | | | | | | | When using task queues, the sleep queues must be initialized before any invocation of ao_wakeup or the OS will crash. Just make sure ao_task_init is always invoked early in the task process to get that done. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Expose ao_put_string functionKeith Packard2013-03-24
| | | | | | | | | | | | This works like puts, except it doesn't add a trailing newline. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/stm: Always check for idle IN buffer before sendingKeith Packard2013-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike the AVR and CC1111 USB drivers, the STM usb driver queues IN bytes in a local buffer instead of in the driver; this means that the driver is queuing bytes while the previous IN packet is queued for the host, which allows for overlapping execution. It also means that when the local buffer is full, we must check to see if the host has picked up the previous IN packet before trying to queue another IN packet for transmission. This is done by always waiting for the IN buffer to be ready before sending data. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/stm: Add debugging mechanism to STM USB driverKeith Packard2013-03-24
| | | | | | | | | | | | | | | | This adds a pile of debugging hooks to the USB driver to try and isolate various lockup-related issues. It's all disabled by default, of course. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Do not release interrupts from any pollchar functionKeith Packard2013-03-24
| | | | | | | | | | | | | | | | | | | | | | getchar relies on interrupts being blocked across the pollchar calls and into the sleep call or it may go to sleep with data pending. This prefixes all pollchar functions with _ to indicate that they are to be called with interrupts blocked and eliminates all interrupt manipulation calls from within the pollchar functions. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Add erase command to stm-flash app. Validate addresses.Keith Packard2013-03-23
| | | | | | | | | | | | | | | | This also leaves the code writing fixed values and printing read data in ascii instead of binary. Useful for debugging, will want changing for the product. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Fix STM flash programmingKeith Packard2013-03-23
| | | | | | | | | | | | | | | | | | | | | | Wait for flash to go non-busy after writing or erasing a page and before jumping back out of the RAM code. Export a separate 'erase' operation for testing. Re-lock flash after every operation. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Validate boot chain start addressKeith Packard2013-03-23
| | | | | | | | | | | | | | | | | | | | If the first block of boot memory has been smashed, and the start address is bogus, don't bother trying to jump to the application. This makes the system more resiliant to flash failures, presuming the loader erases the first block, programs the other blocks and then finally comes back to program the first block. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Mark .boot section as (NOLOAD)Keith Packard2013-03-23
| | | | | | | | | | | | | | | | | | For some reason, the silly linker marks things in section .boot as data rather than bss, so they'd end up initialized by default. Force them to be NOLOAD so they preserve values across reboot so that boot chaining works properly. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Fix up stm-flash output file name. Use discovery LED pinsKeith Packard2013-03-23
| | | | | | | | | | | | | | | | | | | | Include the AltOS version in the file name, just like any other AltOS program. Switch the LEDs to the discovery board as we're using that. Eventually, we'll stop using LEDs entirely. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Add actual flashing functions to stm-flash appKeith Packard2013-03-11
| | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Clean up boot loader supportKeith Packard2013-03-11
| | | | | | | | | | | | | | Split out code into separate files. Add support for getting back to boot loader from application. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Add program flash functionKeith Packard2013-03-11
| | | | | | | | | | | | | | | | And get it loaded to RAM so it can execute correctly. Nothing calls it yet... Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Fix up 'help' command for 8051Keith Packard2013-03-10
| | | | | | | | | | | | | | | | The help command was rewritten to avoid using printf, but the rewrite used 'const' instead of the required '__code' to point at constant strings. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Make stm-flash capable of switching to applicationKeith Packard2013-03-10
| | | | | | | | | | | | | | This shrinks the base OS load down a bit as well so that stm-flash fits comfortably in the first 8kB of memory. Signed-off-by: Keith Packard <keithp@keithp.com>
* | Add STM self-flashing loaderKeith Packard2013-03-10
|/ | | | | | | This allows the real application to get loaded at 0x2000 and jumps to that at startup time if the boot pin is set appropriately Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: re-enable optimization for stm-demo. remove unused bitsKeith Packard2013-03-10
| | | | | | This makes stm-demo run on the discovery board again. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge remote-tracking branch 'mjb/master'Keith Packard2013-03-06
|\
| * all: clean up .gitignore files and Makefile clean targetsMike Beattie2013-02-15
| | | | | | | | Signed-off-by: Mike Beattie <mike@ethernal.org>
* | altos: telescience-v0.2 is an ARM productKeith Packard2013-02-24
| | | | | | | | | | | | Move it from SDCC to ARM targets as Jenkins doesn't have an ARM compiler. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/driver: Make HMC5883 driver build againKeith Packard2013-02-24
| | | | | | | | | | | | Adapt to changes in OS interfaces Signed-off-by: Keith Packard <keithp@keithp.com>
* | Merge branch 'telescience-v0.2'Keith Packard2013-02-24
|\ \
| * \ Merge branch 'master' into telescience-v0.2Keith Packard2013-01-16
| |\ \
| * \ \ Merge branch 'master' into telescience-v0.2Keith Packard2013-01-16
| |\ \ \
| * | | | altos: Change CC1120 SPI speed to 4MHz.Keith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the chip can run at 8MHz, but extended register access is limited to 6.1MHz. Instead of pushing things, just run the SPI bus at 4MHz. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Crank fast SPI on STM to 8MHzKeith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the GPIO pins set to 10MHz now, we can run SPI at the maximum possible speed (8MHz). Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Set STM GPIO output speed for SPI pins correctlyKeith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GPIO pin settings affect the output impedence, and hence the maximum speed for SPI. Cranking these to suitable values allows SPI to run at full speed. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Build telescience-v0.2Keith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | Update avr ao_spi_slave code to match API changesKeith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made the interface use void * for pointers and uint16_t for lengths Signed-off-by: Keith Packard <keithp@keithp.com>