summaryrefslogtreecommitdiff
path: root/src/cc1111
Commit message (Collapse)AuthorAge
* altos: Need to use 16-bit counts for ao_xmem functionsKeith Packard2012-09-14
| | | | | | | | | Trying to use 8-bit counts is a nice optimization which fails when the count is larger than 255, as is the case with clearing the flash block in the AT45 driver. This bug resulted in the inability to erase flights on TeleMetrum v1.0 boards. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Wait for IN dma complete on slave SPI sendKeith Packard2012-08-29
| | | | | | | SPI send double buffered, so the DMA completes one byte too early. Use the recv DMA to know when the SPI transfer is complete. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Mostly working SPI radio linkKeith Packard2012-08-28
| | | | | | | | This includes long delays to avoid overrunning the cc1111 input, otherwise it works pretty well. The delays mean that we can't capture the reply to a cmac command though, so more work is needed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: When sharing radio DMA for AES, use it for in instead of outKeith Packard2012-08-28
| | | | | | | | | We look at the out_done value, but not the in_done value; if we use the radio DMA for out, we would have to use ao_radio_dma_done to check for completion. This way, we can ignore that value and use the existing ao_aes_dma_out_done value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix ao_delay function and move from per-chip code to ao_task.cKeith Packard2012-08-28
| | | | | | | ao_delay hasn't been chip-specific for a long time, and it had a bug in not calling ao_clear_alarm. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up radio APIsKeith Packard2012-08-27
| | | | | | | Move api to ao_radio_cmac.h include file. Expose ao_radio_test as standard API. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: More SPI slave changes for cc1111 driverKeith Packard2012-08-27
| | | | | | Don't enable DMA in the other direction when doing slave transfers. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add SPI slave get/put macros to cc1111Keith Packard2012-08-27
| | | | | | Theese don't try to drive the chip select line Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow sharing of radio DMA with aes engineKeith Packard2012-08-26
| | | | | | otherwise, telefire doesn't have enough DMA channels. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make cc1111 SPI pins configurableKeith Packard2012-08-24
| | | | | | | Allow either USART in any configuration. Still only supports one SPI bus though. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Disable telefire 'pad' listener when testing radioKeith Packard2012-08-24
| | | | | | | Ensures that the radio testing won't block waiting for a firing mode packet to arrive. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/cc1111: Document SPI bus pin optionsKeith Packard2012-08-18
| | | | | | Just a comment in the source code about which pins each option selects. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Oops. Serial 1 stdin was busted by typoKeith Packard2012-08-07
| | | | | | | | | | A typo in the symbol used to enable stdin wakeups from serial1 caused the input to pend until some other wakeup occurred. This also makes the serial1 hw flow control pin selects in config 2 work right, although those aren't used by any current product Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Build ao_kalman.h from cc1111 subdirs as neededKeith Packard2012-08-05
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* src/cc1111: Enable SPI slave modeKeith Packard2012-08-05
| | | | | | This is untested... Signed-off-by: Keith Packard <keithp@keithp.com>
* src/cc1111: Allow serial0 without serial1Keith Packard2012-08-05
| | | | | | The ao_serial_speed structure is needed by serial0 too. Signed-off-by: Keith Packard <keithp@keithp.com>
* src/cc1111: Add ao_gpio_set macroKeith Packard2012-08-05
| | | | | | Allows general GPIO-using code to run on cc1111 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add telefire-v0.1Keith Packard2012-07-29
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/cc1111: Fix serial 0 option 2 pins definitionsKeith Packard2012-07-29
| | | | | | tx/rx are 4/5, rts/cts are 2/3 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Place STM config values at fixed addresses for re-useKeith Packard2012-07-17
| | | | | | | | Just like cc1111, stick the serial number and radio calibration values at known fixed addresses so that when re-flashing the board, we can go find the existing values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make ao_tick_count visibleKeith Packard2012-07-16
| | | | | | | Necessary to fetch it when interrupts are already disabled as we can't call ao_time then. Signed-off-by: Keith Packard <keithp@keithp.com>
* src: Add explicit 'pin' argument to ao_enable_outputKeith Packard2012-07-14
| | | | | | | This lets the cc1111 use the atomic bit operation instead of a mask, which is immune to interrupt issues as well as being a shorter code sequence. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Have 'make clean' remove all programs, even old onesKeith Packard2012-07-11
| | | | | | | This makes sure that changing version numbers doesn't leave old compiled output lying around. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Force 434.550Mhz by connecting debug gnd and clk (trac #41)Keith Packard2012-07-10
| | | | | | | | Check for pin P2_2 low at startup and set the frequency to 434.550MHz. This value won't get written to flash, so rebooting again will restore the configured frequency. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Signal continuity over radio in pad mode (trac #40)Keith Packard2012-07-10
| | | | | | | This is especially useful for telemini which has no beeper, allowing you to hear the continuity signal while at the pad over the air. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Declare cc1111 accel_ref as unsigned so the math works1.0.9.6Keith Packard2012-06-28
| | | | | | | | If accel_ref is signed, then the careful shifting and dividing dance necessary to correct for changes in the relationship between the 5V and 3.3V supplies always generates zero. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: include targe SPI speed in get requestKeith Packard2012-06-27
| | | | | | | STM needs it to be provided when enabling the SPI device, so just fix AVR and cc1111 to do the same. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: ao_ignite.c is no longer cc1111 specificKeith Packard2012-06-26
| | | | | | Move it to core Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make cc1111 radio control functions staticKeith Packard2012-06-26
| | | | | | No need to publish these; they're all private to cc1111 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up usage of port parametersKeith Packard2012-06-26
| | | | | | | | Make stm port parameters always be pointers; this avoids the confusion where some macros took '&port' and others took a bare 'port', and also unifies code to run on other processors in a consistent fashion. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove unused AES code from teledongle and tidongleKeith Packard2012-06-04
| | | | | | Leave this out as neither of these products need it. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove accel_ref from pre v1.1 TM firmwareKeith Packard2012-06-04
| | | | | | | V1.0 needs RAM space for flash buffer, leaving too little room for this extra data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add support for MegaAccel daughter card.Keith Packard2012-06-01
| | | | | | | | | Switches all acceleration computation to using the MegaAccel accelerometer to ensure support for high-g flights. MPU6000 values continue to be logged as normal Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up ADC selection for cc1111Keith Packard2012-05-28
| | | | | | Depend directly on product defines instead of trying to guess Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: All cc1111 products have a radioKeith Packard2012-05-28
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make telemini-v1.0 compile with new ao_data structureKeith Packard2012-05-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make telemetrum-v1.1 compile with new ao_data structureKeith Packard2012-05-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Starting to write cc1120 driverKeith Packard2012-04-17
| | | | | | | This does "something" in radio test mode, appearing to generate a 730MHz signal. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Massive product config cleanupKeith Packard2012-04-14
| | | | | | | | Support multiple serial ports more cleanly Split out parts of ao.h into separate feature header files Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Start adding apogee lockout supportKeith Packard2012-04-14
| | | | | | Remove radio channel support too. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add support for multiple SPI busses and sharing device driversKeith Packard2012-04-14
| | | | | | | | | | | | | | | | The STM32L151 has several SPI busses, and we want to use more than one, so add a 'bus' parameter to the SPI interfaces. To avoid wasting time on AVR and CC1111 processors which only use one SPI bus, elide those parameters from the actual functions by wrapping them with macros. Configuring chip select is now all macroized so that each chip can have its own version, allowing the STM to share the various SPI device drivers with the cc1111 and avr processors. Note that only the M25 driver has been ported; porting the others is 'trivial', but not necessary at this point. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move SPI functions to architecture-specific locationKeith Packard2012-04-02
| | | | | | | | Some architecture specific stuff needs to use core altos code, so create new ao_arch_funcs.h files per architecture that get pulled in at the end of ao.h Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move cc1111 DMA engine interface to cc1111/ao_arch.h from ao.hKeith Packard2012-03-31
| | | | | | It's hardware specific Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move cc1111 AES driver to cc1111 directoryKeith Packard2012-03-31
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Require callsign match in packet codeKeith Packard2012-03-26
| | | | | | | | | | | Ignore packets with mismatching callsigns to avoid accidental connections between devices controlled by different stations. As a special case, if the device is configured with the default callsign (N0CALL), then let anyone connect. This allows configuration of new devices without needing to change the ground station callsign. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set correct registers for serial0 baudKeith Packard2012-01-03
| | | | | | oops. not going to work very well setting serial 1. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add support for UART0 in async modeKeith Packard2012-01-03
| | | | | | And copy bytes from it to stdout. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: More _asm -> __asm changesKeith Packard2011-12-30
| | | | | | Missed a few last time Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up for SDCC 3.1 - more keywordsKeith Packard2011-12-30
| | | | | | | | _asm -> __asm sbit -> __sbit remove variables named 'data' Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: SDCC 3.1 wants __at instead of atKeith Packard2011-12-30
| | | | | | Older SDCC would accept __at, so just replace all occurances unconditionally. Signed-off-by: Keith Packard <keithp@keithp.com>