diff options
Diffstat (limited to 'src')
485 files changed, 2391 insertions, 894 deletions
| diff --git a/src/Makefile b/src/Makefile index ecba2fbd..5bc0a7a0 100644 --- a/src/Makefile +++ b/src/Makefile @@ -19,7 +19,7 @@ include Makedefs  SDCCDIRS=\  	telemetrum-v1.2 telemetrum-v1.1 telemetrum-v1.0 \  	teledongle-v0.2 \ -	telemini-v1.0 telemini-v2.0 \ +	telemini-v1.0 \  	telebt-v1.0 \  	teleterra-v0.2 teleshield-v0.1 \  	telefire-v0.1 telefire-v0.2 \ @@ -31,6 +31,7 @@ ARMM3DIRS=\  	telemega-v1.0 telemega-v1.0/flash-loader \  	telemega-v2.0 telemega-v2.0/flash-loader \  	telemetrum-v2.0 telemetrum-v2.0/flash-loader \ +	telemetrum-v3.0 telemetrum-v3.0/flash-loader \  	megadongle-v0.1 megadongle-v0.1/flash-loader \  	telegps-v0.3 telegps-v0.3/flash-loader \  	telegps-v1.0 telegps-v1.0/flash-loader \ diff --git a/src/attiny/ao_arch.h b/src/attiny/ao_arch.h index 6ca12af6..3a34f417 100644 --- a/src/attiny/ao_arch.h +++ b/src/attiny/ao_arch.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_arch_funcs.h b/src/attiny/ao_arch_funcs.h index d4584a9f..0b67a407 100644 --- a/src/attiny/ao_arch_funcs.h +++ b/src/attiny/ao_arch_funcs.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_async.c b/src/attiny/ao_async.c index f64f7bde..f7a29d3b 100644 --- a/src/attiny/ao_async.c +++ b/src/attiny/ao_async.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_async.h b/src/attiny/ao_async.h index 1b239712..e3ce97f3 100644 --- a/src/attiny/ao_async.h +++ b/src/attiny/ao_async.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_clock.c b/src/attiny/ao_clock.c index 22de8e99..d722d568 100644 --- a/src/attiny/ao_clock.c +++ b/src/attiny/ao_clock.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_eeprom_tiny.c b/src/attiny/ao_eeprom_tiny.c index 83014183..be3c965a 100644 --- a/src/attiny/ao_eeprom_tiny.c +++ b/src/attiny/ao_eeprom_tiny.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_exti.c b/src/attiny/ao_exti.c index 0ca10ca4..8ae1c4a0 100644 --- a/src/attiny/ao_exti.c +++ b/src/attiny/ao_exti.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_exti.h b/src/attiny/ao_exti.h index 85bb2fba..8b22458e 100644 --- a/src/attiny/ao_exti.h +++ b/src/attiny/ao_exti.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_i2c_attiny.c b/src/attiny/ao_i2c_attiny.c index 2ee44fd2..f29ed6a9 100644 --- a/src/attiny/ao_i2c_attiny.c +++ b/src/attiny/ao_i2c_attiny.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_led.c b/src/attiny/ao_led.c index 27bbea69..5f53129e 100644 --- a/src/attiny/ao_led.c +++ b/src/attiny/ao_led.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/attiny/ao_spi_attiny.c b/src/attiny/ao_spi_attiny.c index 3c4afb02..f63eb651 100644 --- a/src/attiny/ao_spi_attiny.c +++ b/src/attiny/ao_spi_attiny.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr-demo/ao_demo.c b/src/avr-demo/ao_demo.c index e35babb3..ff909b37 100644 --- a/src/avr-demo/ao_demo.c +++ b/src/avr-demo/ao_demo.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_adc_avr.c b/src/avr/ao_adc_avr.c index 231512b2..2732c4db 100644 --- a/src/avr/ao_adc_avr.c +++ b/src/avr/ao_adc_avr.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_arch.h b/src/avr/ao_arch.h index f8c7f042..2b1da642 100644 --- a/src/avr/ao_arch.h +++ b/src/avr/ao_arch.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_arch_funcs.h b/src/avr/ao_arch_funcs.h index 792ff744..891ad9b1 100644 --- a/src/avr/ao_arch_funcs.h +++ b/src/avr/ao_arch_funcs.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_avr_stdio.c b/src/avr/ao_avr_stdio.c index f9c0f88c..cca2a971 100644 --- a/src/avr/ao_avr_stdio.c +++ b/src/avr/ao_avr_stdio.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_clock.c b/src/avr/ao_clock.c index 0d42b6d5..54a9163b 100644 --- a/src/avr/ao_clock.c +++ b/src/avr/ao_clock.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_debug_avr.c b/src/avr/ao_debug_avr.c index 2e41e15a..3821779e 100644 --- a/src/avr/ao_debug_avr.c +++ b/src/avr/ao_debug_avr.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_eeprom_avr.c b/src/avr/ao_eeprom_avr.c index 2451fa8a..2fdf177b 100644 --- a/src/avr/ao_eeprom_avr.c +++ b/src/avr/ao_eeprom_avr.c @@ -4,7 +4,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_i2c_usart.c b/src/avr/ao_i2c_usart.c index 60e35f8c..c95548d4 100644 --- a/src/avr/ao_i2c_usart.c +++ b/src/avr/ao_i2c_usart.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_lcd_port.c b/src/avr/ao_lcd_port.c index b1e8aa17..87756e41 100644 --- a/src/avr/ao_lcd_port.c +++ b/src/avr/ao_lcd_port.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_led.c b/src/avr/ao_led.c index 91dfb85e..8eba4898 100644 --- a/src/avr/ao_led.c +++ b/src/avr/ao_led.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_pins.h b/src/avr/ao_pins.h index a08e87fa..9686c418 100644 --- a/src/avr/ao_pins.h +++ b/src/avr/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_pwmin.c b/src/avr/ao_pwmin.c index 84397357..5eb392a4 100644 --- a/src/avr/ao_pwmin.c +++ b/src/avr/ao_pwmin.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_pwmin.h b/src/avr/ao_pwmin.h index 8097d399..43c12f53 100644 --- a/src/avr/ao_pwmin.h +++ b/src/avr/ao_pwmin.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_romconfig.c b/src/avr/ao_romconfig.c index ecc19c76..4acfc1c8 100644 --- a/src/avr/ao_romconfig.c +++ b/src/avr/ao_romconfig.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_serial_avr.c b/src/avr/ao_serial_avr.c index e0f813d5..ab82b7b1 100644 --- a/src/avr/ao_serial_avr.c +++ b/src/avr/ao_serial_avr.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_spi_slave.c b/src/avr/ao_spi_slave.c index 15e9924d..3504739d 100644 --- a/src/avr/ao_spi_slave.c +++ b/src/avr/ao_spi_slave.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_spi_usart.c b/src/avr/ao_spi_usart.c index 7c41042a..0d509cb7 100644 --- a/src/avr/ao_spi_usart.c +++ b/src/avr/ao_spi_usart.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_timer.c b/src/avr/ao_timer.c index d2ea2be7..2eaa8b63 100644 --- a/src/avr/ao_timer.c +++ b/src/avr/ao_timer.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/avr/ao_usb_avr.c b/src/avr/ao_usb_avr.c index cb0455c2..08950a97 100644 --- a/src/avr/ao_usb_avr.c +++ b/src/avr/ao_usb_avr.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_adc.c b/src/cc1111/ao_adc.c index 1689ebef..94af5cda 100644 --- a/src/cc1111/ao_adc.c +++ b/src/cc1111/ao_adc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_aes.c b/src/cc1111/ao_aes.c index b1f305ec..e845a928 100644 --- a/src/cc1111/ao_aes.c +++ b/src/cc1111/ao_aes.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_arch.h b/src/cc1111/ao_arch.h index 6eb1a111..bacfabb8 100644 --- a/src/cc1111/ao_arch.h +++ b/src/cc1111/ao_arch.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_arch_funcs.h b/src/cc1111/ao_arch_funcs.h index 1eb506cd..d849655b 100644 --- a/src/cc1111/ao_arch_funcs.h +++ b/src/cc1111/ao_arch_funcs.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_battery.c b/src/cc1111/ao_battery.c index b9845fb3..9fb4c26b 100644 --- a/src/cc1111/ao_battery.c +++ b/src/cc1111/ao_battery.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_beep.c b/src/cc1111/ao_beep.c index 3642f4c6..04d10485 100644 --- a/src/cc1111/ao_beep.c +++ b/src/cc1111/ao_beep.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_button.c b/src/cc1111/ao_button.c index a0f221c2..0496a32f 100644 --- a/src/cc1111/ao_button.c +++ b/src/cc1111/ao_button.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_dbg.c b/src/cc1111/ao_dbg.c index 4e534697..ca751b88 100644 --- a/src/cc1111/ao_dbg.c +++ b/src/cc1111/ao_dbg.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_dma.c b/src/cc1111/ao_dma.c index 8779ddf4..18266518 100644 --- a/src/cc1111/ao_dma.c +++ b/src/cc1111/ao_dma.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_exti.c b/src/cc1111/ao_exti.c index 537f6252..e21e417c 100644 --- a/src/cc1111/ao_exti.c +++ b/src/cc1111/ao_exti.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_exti.h b/src/cc1111/ao_exti.h index 49fca5d2..927a4f09 100644 --- a/src/cc1111/ao_exti.h +++ b/src/cc1111/ao_exti.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_intflash.c b/src/cc1111/ao_intflash.c index eb3535c6..154b3c25 100644 --- a/src/cc1111/ao_intflash.c +++ b/src/cc1111/ao_intflash.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_launch.c b/src/cc1111/ao_launch.c index 420f7568..4f0a0c14 100644 --- a/src/cc1111/ao_launch.c +++ b/src/cc1111/ao_launch.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_lcd_port.c b/src/cc1111/ao_lcd_port.c index e61b1a60..9b588090 100644 --- a/src/cc1111/ao_lcd_port.c +++ b/src/cc1111/ao_lcd_port.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_led.c b/src/cc1111/ao_led.c index 5beed58d..5fae46c2 100644 --- a/src/cc1111/ao_led.c +++ b/src/cc1111/ao_led.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_pins.h b/src/cc1111/ao_pins.h index 9cbb0a7b..10b1f802 100644 --- a/src/cc1111/ao_pins.h +++ b/src/cc1111/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_radio.c b/src/cc1111/ao_radio.c index cead0364..166d14d5 100644 --- a/src/cc1111/ao_radio.c +++ b/src/cc1111/ao_radio.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -587,13 +588,13 @@ ao_radio_rdf_abort(void)  /* Output carrier */ -static __xdata	ao_radio_test_on; +static __xdata	radio_test_on;  void  ao_radio_test(uint8_t on)  {  	if (on) { -		if (!ao_radio_test_on) { +		if (!radio_test_on) {  #if HAS_MONITOR  			ao_monitor_disable();  #endif @@ -605,13 +606,13 @@ ao_radio_test(uint8_t on)  #endif  			ao_radio_get(0xff);  			RFST = RFST_STX; -			ao_radio_test_on = 1; +			radio_test_on = 1;  		}  	} else  { -		if (ao_radio_test_on) { +		if (radio_test_on) {  			ao_radio_idle();  			ao_radio_put(); -			ao_radio_test_on = 0; +			radio_test_on = 0;  #if HAS_MONITOR  			ao_monitor_enable();  #endif diff --git a/src/cc1111/ao_reboot.c b/src/cc1111/ao_reboot.c index 8c47b893..6e1de7a3 100644 --- a/src/cc1111/ao_reboot.c +++ b/src/cc1111/ao_reboot.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_romconfig.c b/src/cc1111/ao_romconfig.c index f3fe61b1..abd51b23 100644 --- a/src/cc1111/ao_romconfig.c +++ b/src/cc1111/ao_romconfig.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_serial.c b/src/cc1111/ao_serial.c index b4f57908..70293b4e 100644 --- a/src/cc1111/ao_serial.c +++ b/src/cc1111/ao_serial.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_spi.c b/src/cc1111/ao_spi.c index fb08f3f5..124e09cb 100644 --- a/src/cc1111/ao_spi.c +++ b/src/cc1111/ao_spi.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_string.c b/src/cc1111/ao_string.c index 85d6383e..dd62ca3d 100644 --- a/src/cc1111/ao_string.c +++ b/src/cc1111/ao_string.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_timer.c b/src/cc1111/ao_timer.c index 2fbc6621..0acef562 100644 --- a/src/cc1111/ao_timer.c +++ b/src/cc1111/ao_timer.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/ao_usb.c b/src/cc1111/ao_usb.c index d9d255f8..7d363c08 100644 --- a/src/cc1111/ao_usb.c +++ b/src/cc1111/ao_usb.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/cc1111/cc1111.h b/src/cc1111/cc1111.h index ac1e71c9..7d7c3a20 100644 --- a/src/cc1111/cc1111.h +++ b/src/cc1111/cc1111.h @@ -5,7 +5,8 @@     This program is free software; you can redistribute it and/or modify     it under the terms of the GNU General Public License as published by -   the Free Software Foundation; version 2 of the License. +   the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.     This program is distributed in the hope that it will be useful, but     WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/chaoskey-v0.1/ao_chaoskey.c b/src/chaoskey-v0.1/ao_chaoskey.c index 48c8bf04..68928416 100644 --- a/src/chaoskey-v0.1/ao_chaoskey.c +++ b/src/chaoskey-v0.1/ao_chaoskey.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/chaoskey-v0.1/ao_pins.h b/src/chaoskey-v0.1/ao_pins.h index 73f76307..cb8f3393 100644 --- a/src/chaoskey-v0.1/ao_pins.h +++ b/src/chaoskey-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/chaoskey-v0.1/flash-loader/ao_pins.h b/src/chaoskey-v0.1/flash-loader/ao_pins.h index 295e0258..a2370e17 100644 --- a/src/chaoskey-v0.1/flash-loader/ao_pins.h +++ b/src/chaoskey-v0.1/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/chaoskey-v1.0/ao_chaoskey.c b/src/chaoskey-v1.0/ao_chaoskey.c index f887e601..c3acd441 100644 --- a/src/chaoskey-v1.0/ao_chaoskey.c +++ b/src/chaoskey-v1.0/ao_chaoskey.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/chaoskey-v1.0/ao_pins.h b/src/chaoskey-v1.0/ao_pins.h index 89a2cb08..f2c46d8b 100644 --- a/src/chaoskey-v1.0/ao_pins.h +++ b/src/chaoskey-v1.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/chaoskey-v1.0/flash-loader/ao_pins.h b/src/chaoskey-v1.0/flash-loader/ao_pins.h index 570800ca..4b788f67 100644 --- a/src/chaoskey-v1.0/flash-loader/ao_pins.h +++ b/src/chaoskey-v1.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/detherm/ao_detherm.c b/src/detherm/ao_detherm.c index fba9195e..0f7f4c85 100644 --- a/src/detherm/ao_detherm.c +++ b/src/detherm/ao_detherm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/detherm/ao_pins.h b/src/detherm/ao_pins.h index 1c577b6e..a8f9f2a4 100644 --- a/src/detherm/ao_pins.h +++ b/src/detherm/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/detherm/flash-loader/ao_pins.h b/src/detherm/flash-loader/ao_pins.h index 570800ca..4b788f67 100644 --- a/src/detherm/flash-loader/ao_pins.h +++ b/src/detherm/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_25lc1024.c b/src/drivers/ao_25lc1024.c index fac0a430..a9c897b3 100644 --- a/src/drivers/ao_25lc1024.c +++ b/src/drivers/ao_25lc1024.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_25lc1024.h b/src/drivers/ao_25lc1024.h index 44e52387..7e48f0dd 100644 --- a/src/drivers/ao_25lc1024.h +++ b/src/drivers/ao_25lc1024.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_74hc165.c b/src/drivers/ao_74hc165.c index 143f4e3f..8842801d 100644 --- a/src/drivers/ao_74hc165.c +++ b/src/drivers/ao_74hc165.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_74hc165.h b/src/drivers/ao_74hc165.h index 3ae51353..febbf1b3 100644 --- a/src/drivers/ao_74hc165.h +++ b/src/drivers/ao_74hc165.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_74hc497.c b/src/drivers/ao_74hc497.c index 4c13ee71..b3fd3c91 100644 --- a/src/drivers/ao_74hc497.c +++ b/src/drivers/ao_74hc497.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_74hc497.h b/src/drivers/ao_74hc497.h index 6df7bcae..bb14f20a 100644 --- a/src/drivers/ao_74hc497.h +++ b/src/drivers/ao_74hc497.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_aprs.h b/src/drivers/ao_aprs.h index a033fa0b..8f70d2d0 100644 --- a/src/drivers/ao_aprs.h +++ b/src/drivers/ao_aprs.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_at24c.c b/src/drivers/ao_at24c.c index 2a23be3a..8f91e3ca 100644 --- a/src/drivers/ao_at24c.c +++ b/src/drivers/ao_at24c.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_at45db161d.c b/src/drivers/ao_at45db161d.c index e7e74153..abba3f1f 100644 --- a/src/drivers/ao_at45db161d.c +++ b/src/drivers/ao_at45db161d.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_at45db161d.h b/src/drivers/ao_at45db161d.h index 9ee6f1b6..db52f0f4 100644 --- a/src/drivers/ao_at45db161d.h +++ b/src/drivers/ao_at45db161d.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_btm.c b/src/drivers/ao_btm.c index 8e7052cb..c65a8548 100644 --- a/src/drivers/ao_btm.c +++ b/src/drivers/ao_btm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_bufio.c b/src/drivers/ao_bufio.c index 70e30b67..f212da53 100644 --- a/src/drivers/ao_bufio.c +++ b/src/drivers/ao_bufio.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_bufio.h b/src/drivers/ao_bufio.h index 6629f143..b0a11944 100644 --- a/src/drivers/ao_bufio.h +++ b/src/drivers/ao_bufio.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_button.c b/src/drivers/ao_button.c index 8e7dead7..725ac45a 100644 --- a/src/drivers/ao_button.c +++ b/src/drivers/ao_button.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -92,6 +93,12 @@ _ao_button_init(uint8_t b)  } +uint8_t +ao_button_get(uint8_t b) +{ +	return ao_button_state[b].value; +} +  static void  ao_button_isr(void)  { diff --git a/src/drivers/ao_button.h b/src/drivers/ao_button.h index ce349d65..601472f9 100644 --- a/src/drivers/ao_button.h +++ b/src/drivers/ao_button.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -18,6 +19,9 @@  #ifndef _AO_BUTTON_H_  #define _AO_BUTTON_H_ +uint8_t +ao_button_get(uint8_t b); +  void  ao_button_init(void); diff --git a/src/drivers/ao_cc1120.c b/src/drivers/ao_cc1120.c index 6b800585..efe5f996 100644 --- a/src/drivers/ao_cc1120.c +++ b/src/drivers/ao_cc1120.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -182,9 +183,8 @@ ao_radio_fifo_write_start(void)  	return status;  } -static inline uint8_t ao_radio_fifo_write_stop(uint8_t status) { +static inline void ao_radio_fifo_write_stop(void) {  	ao_radio_deselect(); -	return status;  }  static uint8_t @@ -192,7 +192,8 @@ ao_radio_fifo_write(uint8_t *data, uint8_t len)  {  	uint8_t	status = ao_radio_fifo_write_start();  	ao_radio_spi_send(data, len); -	return ao_radio_fifo_write_stop(status); +	ao_radio_fifo_write_stop(); +	return status;  }  static uint8_t @@ -200,7 +201,8 @@ ao_radio_fifo_write_fixed(uint8_t data, uint8_t len)  {  	uint8_t status = ao_radio_fifo_write_start();  	ao_radio_spi_send_fixed(data, len); -	return ao_radio_fifo_write_stop(status); +	ao_radio_fifo_write_stop(); +	return status;  }  static uint8_t @@ -773,11 +775,10 @@ void  ao_radio_continuity(uint8_t c)  {  	uint8_t	i; -	uint8_t status;  	ao_rdf_start(AO_RADIO_CONT_TOTAL_LEN); -	status = ao_radio_fifo_write_start(); +	(void) ao_radio_fifo_write_start();  	for (i = 0; i < 3; i++) {  		ao_radio_spi_send_fixed(0x00, AO_RADIO_CONT_PAUSE_LEN);  		if (i < c) @@ -786,8 +787,7 @@ ao_radio_continuity(uint8_t c)  			ao_radio_spi_send_fixed(0x00, AO_RADIO_CONT_TONE_LEN);  	}  	ao_radio_spi_send_fixed(0x00, AO_RADIO_CONT_PAUSE_LEN); -	status = ao_radio_fifo_write_stop(status); -	(void) status; +	ao_radio_fifo_write_stop();  	ao_rdf_run();  } @@ -998,6 +998,8 @@ ao_radio_rx_isr(void)  {  	uint8_t	d; +	if (ao_radio_abort) +		return;  	if (rx_task_id) {  		if (ao_radio_try_select(rx_task_id)) {  			++rx_fast_start; diff --git a/src/drivers/ao_cc1120.h b/src/drivers/ao_cc1120.h index 943f3449..87b083d4 100644 --- a/src/drivers/ao_cc1120.h +++ b/src/drivers/ao_cc1120.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_cc115l.c b/src/drivers/ao_cc115l.c index 24180f34..a67071d2 100644 --- a/src/drivers/ao_cc115l.c +++ b/src/drivers/ao_cc115l.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_cc115l.h b/src/drivers/ao_cc115l.h index 811c14aa..c40f5358 100644 --- a/src/drivers/ao_cc115l.h +++ b/src/drivers/ao_cc115l.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_cc1200.c b/src/drivers/ao_cc1200.c index cd85f208..2bc99734 100644 --- a/src/drivers/ao_cc1200.c +++ b/src/drivers/ao_cc1200.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -802,18 +803,12 @@ ao_radio_rdf_abort(void)  	ao_wakeup(&ao_radio_wake);  } -static void -ao_radio_test_cmd(void) +static uint8_t radio_on; + +void +ao_radio_test_on(void)  { -	uint8_t	mode = 2; -	static uint8_t radio_on; -	ao_cmd_white(); -	if (ao_cmd_lex_c != '\n') { -		ao_cmd_decimal(); -		mode = (uint8_t) ao_cmd_lex_u32; -	} -	mode++; -	if ((mode & 2) && !radio_on) { +	if (!radio_on) {  #if HAS_MONITOR  		ao_monitor_disable();  #endif @@ -836,12 +831,12 @@ ao_radio_test_cmd(void)  #endif  		radio_on = 1;  	} -	if (mode == 3) { -		printf ("Hit a character to stop..."); flush(); -		getchar(); -		putchar('\n'); -	} -	if ((mode & 1) && radio_on) { +} + +void +ao_radio_test_off(void) +{ +	if (radio_on) {  		ao_radio_idle();  		ao_radio_put();  		radio_on = 0; @@ -854,6 +849,27 @@ ao_radio_test_cmd(void)  	}  } +static void +ao_radio_test_cmd(void) +{ +	uint8_t	mode = 2; +	ao_cmd_white(); +	if (ao_cmd_lex_c != '\n') { +		ao_cmd_decimal(); +		mode = (uint8_t) ao_cmd_lex_u32; +	} +	mode++; +	if ((mode & 2)) +		ao_radio_test_on(); +	if (mode == 3) { +		printf ("Hit a character to stop..."); flush(); +		getchar(); +		putchar('\n'); +	} +	if ((mode & 1)) +		ao_radio_test_off(); +} +  void  ao_radio_send(const void *d, uint8_t size)  { diff --git a/src/drivers/ao_cc1200.h b/src/drivers/ao_cc1200.h index b2b63cde..8e17bbd9 100644 --- a/src/drivers/ao_cc1200.h +++ b/src/drivers/ao_cc1200.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_companion.c b/src/drivers/ao_companion.c index 5f07e8b0..f82558a3 100644 --- a/src/drivers/ao_companion.c +++ b/src/drivers/ao_companion.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_event.c b/src/drivers/ao_event.c index 8f88d778..9856c2aa 100644 --- a/src/drivers/ao_event.c +++ b/src/drivers/ao_event.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_event.h b/src/drivers/ao_event.h index ea89da23..d1c69d81 100644 --- a/src/drivers/ao_event.h +++ b/src/drivers/ao_event.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_fat.c b/src/drivers/ao_fat.c index cbcd42bc..fb8eecff 100644 --- a/src/drivers/ao_fat.c +++ b/src/drivers/ao_fat.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_fat.h b/src/drivers/ao_fat.h index 01435363..39f4207b 100644 --- a/src/drivers/ao_fat.h +++ b/src/drivers/ao_fat.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_gps_sirf.c b/src/drivers/ao_gps_sirf.c index d89435b9..8bebd610 100644 --- a/src/drivers/ao_gps_sirf.c +++ b/src/drivers/ao_gps_sirf.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_gps_skytraq.c b/src/drivers/ao_gps_skytraq.c index 066df6ff..c483382e 100644 --- a/src/drivers/ao_gps_skytraq.c +++ b/src/drivers/ao_gps_skytraq.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_gps_ublox.c b/src/drivers/ao_gps_ublox.c index 74c29e0a..22af413a 100644 --- a/src/drivers/ao_gps_ublox.c +++ b/src/drivers/ao_gps_ublox.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_gps_ublox.h b/src/drivers/ao_gps_ublox.h index e4a358a8..1d9bcee8 100644 --- a/src/drivers/ao_gps_ublox.h +++ b/src/drivers/ao_gps_ublox.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_hmc5883.c b/src/drivers/ao_hmc5883.c index f761671a..f668fb66 100644 --- a/src/drivers/ao_hmc5883.c +++ b/src/drivers/ao_hmc5883.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_hmc5883.h b/src/drivers/ao_hmc5883.h index ff2725eb..78637b02 100644 --- a/src/drivers/ao_hmc5883.h +++ b/src/drivers/ao_hmc5883.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_lcd.c b/src/drivers/ao_lcd.c index 6def0c80..c35093bc 100644 --- a/src/drivers/ao_lcd.c +++ b/src/drivers/ao_lcd.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_lco.c b/src/drivers/ao_lco.c index 6c192537..00f10ecc 100644 --- a/src/drivers/ao_lco.c +++ b/src/drivers/ao_lco.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_lco.h b/src/drivers/ao_lco.h index 253f9702..5721eed5 100644 --- a/src/drivers/ao_lco.h +++ b/src/drivers/ao_lco.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_lco_cmd.c b/src/drivers/ao_lco_cmd.c index 6a365687..dcc0c6d0 100644 --- a/src/drivers/ao_lco_cmd.c +++ b/src/drivers/ao_lco_cmd.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_lco_cmd.h b/src/drivers/ao_lco_cmd.h index c55448cd..2975bffe 100644 --- a/src/drivers/ao_lco_cmd.h +++ b/src/drivers/ao_lco_cmd.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_lco_func.c b/src/drivers/ao_lco_func.c index 08d45467..862cb1be 100644 --- a/src/drivers/ao_lco_func.c +++ b/src/drivers/ao_lco_func.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_lco_func.h b/src/drivers/ao_lco_func.h index 42754352..6b06f928 100644 --- a/src/drivers/ao_lco_func.h +++ b/src/drivers/ao_lco_func.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_lco_two.c b/src/drivers/ao_lco_two.c index f53fef7d..1cb0546c 100644 --- a/src/drivers/ao_lco_two.c +++ b/src/drivers/ao_lco_two.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -18,6 +19,7 @@  #include <ao.h>  #include <ao_lco.h>  #include <ao_event.h> +#include <ao_button.h>  #include <ao_lco_func.h>  #include <ao_radio_cmac.h> @@ -36,7 +38,6 @@ static uint8_t	ao_lco_debug;  #define AO_LCO_VALID_EVER	2  static uint8_t	ao_lco_suspended; -static uint8_t	ao_lco_selected;  static uint8_t	ao_lco_valid;  static uint8_t	ao_lco_channels;  static uint16_t	ao_lco_tick_offset; @@ -44,29 +45,34 @@ static uint16_t	ao_lco_tick_offset;  /* UI values */  static uint8_t	ao_lco_armed;  static uint8_t	ao_lco_firing; - -#define ao_lco_box	(ao_config.pad_box) +static uint8_t	ao_lco_box;  static struct ao_pad_query	ao_pad_query; -#define MASK_SIZE(n)	(((n) + 7) >> 3) -#define MASK_ID(n)	((n) >> 3) -#define MASK_SHIFT(n)	((n) & 7) +/* TeleFireTwo boxes have a single pad */ +#define ao_lco_pad	0  static void -ao_lco_set_armed(int pad, int armed) +ao_lco_set_box(int box)  { -	uint8_t	bit = (1 << pad); +	ao_lco_box = ao_config.pad_box + box; +	ao_lco_valid = 0; +	ao_lco_armed = 0; +	ao_wakeup(&ao_lco_armed); +} + +static void +ao_lco_set_armed(int armed) +{ +	uint8_t	bit = (1 << ao_lco_pad);  	if (armed) { -		ao_lco_selected |= bit; -		ao_lco_armed |= bit; +		ao_lco_armed = bit;  	} else { -		ao_lco_selected &= ~bit; -		ao_lco_armed &= ~bit; +		ao_lco_armed = 0;  	} -	PRINTD(DEBUG_EVENT, "pad %d bit 0x%x armed %d ao_lco_selected 0x%x ao_lco_armed 0x%x\n", -	       pad, bit, armed, ao_lco_selected, ao_lco_armed); +	PRINTD(DEBUG_EVENT, "pad %d bit 0x%x armed %d ao_lco_armed 0x%x\n", +	       ao_lco_pad, bit, armed, ao_lco_armed);  	ao_wakeup(&ao_lco_armed);  } @@ -76,7 +82,6 @@ ao_lco_suspend(void)  	if (!ao_lco_suspended) {  		PRINTD(DEBUG_EVENT, "suspend\n");  		ao_lco_suspended = 1; -		ao_lco_selected = 0;  		ao_lco_armed = 0;  		ao_wakeup(&ao_pad_query);  	} @@ -97,7 +102,6 @@ ao_lco_input(void)  	static struct ao_event	event;  	uint8_t	timeout; -	ao_config_get();  	for (;;) {  		if (ao_config.pad_idle && !ao_lco_suspended) {  			timeout = ao_event_get_for(&event, AO_SEC_TO_TICKS(ao_config.pad_idle)); @@ -114,14 +118,12 @@ ao_lco_input(void)  		switch (event.type) {  		case AO_EVENT_BUTTON:  			switch (event.unit) { -			case AO_BUTTON_ARM_0: -				ao_lco_set_armed(0, event.value); +			case AO_BUTTON_BOX: +				ao_lco_set_box(event.value);  				break; -#if AO_BUTTON_ARM_NUM > 1 -			case AO_BUTTON_ARM_1: -				ao_lco_set_armed(1, event.value); +			case AO_BUTTON_ARM: +				ao_lco_set_armed(event.value);  				break; -#endif  			case AO_BUTTON_FIRE:  				if (ao_lco_armed) {  					ao_lco_firing = event.value; @@ -185,6 +187,7 @@ ao_lco_igniter_status(void)  	uint8_t		t = 0;  	for (;;) { +		uint8_t	all_status;  		ao_sleep(&ao_pad_query);  		while (ao_lco_suspended) {  			ao_led_off(AO_LED_GREEN|AO_LED_AMBER|AO_LED_RED|AO_LED_REMOTE_ARM); @@ -192,13 +195,14 @@ ao_lco_igniter_status(void)  				ao_led_off(continuity_led[c]);  			ao_sleep(&ao_lco_suspended);  		} -		PRINTD(DEBUG_STATUS, "RSSI %d VALID %d\n", ao_radio_cmac_rssi, ao_lco_valid); +		PRINTD(DEBUG_STATUS, "RSSI %d VALID %d channels %d arm_status %d\n", +		       ao_radio_cmac_rssi, ao_lco_valid, +		       ao_lco_channels, ao_pad_query.arm_status);  		if (!(ao_lco_valid & AO_LCO_VALID_LAST)) {  			ao_led_on(AO_LED_RED);  			ao_led_off(AO_LED_GREEN|AO_LED_AMBER); -			continue; -		} -		if (ao_radio_cmac_rssi < -90) { +			memset(&ao_pad_query, '\0', sizeof (ao_pad_query)); +		} else if (ao_radio_cmac_rssi < -90) {  			ao_led_on(AO_LED_AMBER);  			ao_led_off(AO_LED_RED|AO_LED_GREEN);  		} else { @@ -210,15 +214,28 @@ ao_lco_igniter_status(void)  		else  			ao_led_off(AO_LED_REMOTE_ARM); +		all_status = AO_PAD_IGNITER_STATUS_NO_IGNITER_RELAY_OPEN; +		for (c = 0; c < 8; c++) { +			if (ao_pad_query.channels & (1 << c)) { +				uint8_t status = ao_pad_query.igniter_status[c]; +				if (status > all_status) +					all_status = status; +				PRINTD(DEBUG_STATUS, "\tchannel %d status %d\n", c, status); +			} +		}  		for (c = 0; c < AO_LED_CONTINUITY_NUM; c++) { -			uint8_t	status; - -			if (ao_pad_query.channels & (1 << c)) -				status = ao_pad_query.igniter_status[c]; -			else -				status = AO_PAD_IGNITER_STATUS_NO_IGNITER_RELAY_OPEN; -			PRINTD(DEBUG_STATUS, "\tchannel %d status %d\n", c, status); -			if (status == AO_PAD_IGNITER_STATUS_GOOD_IGNITER_RELAY_OPEN) +			uint8_t	on = 0; +			if (c == (ao_lco_box - ao_config.pad_box) % AO_LED_CONTINUITY_NUM) { +				switch (all_status) { +				case AO_PAD_IGNITER_STATUS_GOOD_IGNITER_RELAY_OPEN: +					on = 1; +					break; +				case AO_PAD_IGNITER_STATUS_NO_IGNITER_RELAY_CLOSED: +				case AO_PAD_IGNITER_STATUS_UNKNOWN: +					on = t & 1; +				} +			} +			if (on)  				ao_led_on(continuity_led[c]);  			else  				ao_led_off(continuity_led[c]); @@ -254,10 +271,14 @@ ao_lco_monitor(void)  {  	uint16_t		delay; +	ao_config_get(); +	ao_lco_set_box(ao_button_get(AO_BUTTON_BOX));  	ao_add_task(&ao_lco_input_task, ao_lco_input, "lco input");  	ao_add_task(&ao_lco_arm_warn_task, ao_lco_arm_warn, "lco arm warn");  	ao_add_task(&ao_lco_igniter_status_task, ao_lco_igniter_status, "lco igniter status"); +	ao_led_on(~0);  	ao_beep_for(AO_BEEP_MID, AO_MS_TO_TICKS(200)); +	ao_led_off(~0);  	for (;;) {  		while (ao_lco_suspended)  			ao_sleep(&ao_lco_suspended); @@ -270,13 +291,11 @@ ao_lco_monitor(void)  		} else {  			ao_lco_get_channels();  			if (ao_lco_armed) { -				if (ao_lco_selected) { -					PRINTD(DEBUG_STATUS, "Arming pads %x\n", -					       ao_lco_selected); -					if (ao_lco_valid & AO_LCO_VALID_EVER) { -						ao_lco_arm(ao_lco_box, ao_lco_selected, ao_lco_tick_offset); -						ao_delay(AO_MS_TO_TICKS(10)); -					} +				PRINTD(DEBUG_STATUS, "Arming pads %x\n", +				       ao_lco_armed); +				if (ao_lco_valid & AO_LCO_VALID_EVER) { +					ao_lco_arm(ao_lco_box, ao_lco_armed, ao_lco_tick_offset); +					ao_delay(AO_MS_TO_TICKS(10));  				}  			}  		} diff --git a/src/drivers/ao_log_fat.c b/src/drivers/ao_log_fat.c index 45b67012..62e97868 100644 --- a/src/drivers/ao_log_fat.c +++ b/src/drivers/ao_log_fat.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_m25.c b/src/drivers/ao_m25.c index e6c7bb4d..b506b0a7 100644 --- a/src/drivers/ao_m25.c +++ b/src/drivers/ao_m25.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_mma655x.c b/src/drivers/ao_mma655x.c index c36858ad..b9f1709c 100644 --- a/src/drivers/ao_mma655x.c +++ b/src/drivers/ao_mma655x.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_mma655x.h b/src/drivers/ao_mma655x.h index e57e3377..87f7384d 100644 --- a/src/drivers/ao_mma655x.h +++ b/src/drivers/ao_mma655x.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_mpu6000.c b/src/drivers/ao_mpu6000.c index c0458027..650407ad 100644 --- a/src/drivers/ao_mpu6000.c +++ b/src/drivers/ao_mpu6000.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_mpu6000.h b/src/drivers/ao_mpu6000.h index dc3a9fbf..ae42d4b4 100644 --- a/src/drivers/ao_mpu6000.h +++ b/src/drivers/ao_mpu6000.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_mr25.c b/src/drivers/ao_mr25.c index 53cbf9d7..2d355c9f 100644 --- a/src/drivers/ao_mr25.c +++ b/src/drivers/ao_mr25.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_ms5607.c b/src/drivers/ao_ms5607.c index ef31882e..261df67f 100644 --- a/src/drivers/ao_ms5607.c +++ b/src/drivers/ao_ms5607.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_ms5607.h b/src/drivers/ao_ms5607.h index b58178fd..18f99bf8 100644 --- a/src/drivers/ao_ms5607.h +++ b/src/drivers/ao_ms5607.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_ms5607_convert.c b/src/drivers/ao_ms5607_convert.c index 4d412cbe..0e96f60b 100644 --- a/src/drivers/ao_ms5607_convert.c +++ b/src/drivers/ao_ms5607_convert.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_ms5607_convert_8051.c b/src/drivers/ao_ms5607_convert_8051.c index a74086d9..b7081107 100644 --- a/src/drivers/ao_ms5607_convert_8051.c +++ b/src/drivers/ao_ms5607_convert_8051.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_packet.c b/src/drivers/ao_packet.c index 18330ead..008af5db 100644 --- a/src/drivers/ao_packet.c +++ b/src/drivers/ao_packet.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_packet_master.c b/src/drivers/ao_packet_master.c index 2beda4cb..e63771e5 100644 --- a/src/drivers/ao_packet_master.c +++ b/src/drivers/ao_packet_master.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_packet_slave.c b/src/drivers/ao_packet_slave.c index 0872682f..b877128a 100644 --- a/src/drivers/ao_packet_slave.c +++ b/src/drivers/ao_packet_slave.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_pad.c b/src/drivers/ao_pad.c index 99a90e77..ffa833fe 100644 --- a/src/drivers/ao_pad.c +++ b/src/drivers/ao_pad.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_pad.h b/src/drivers/ao_pad.h index d77d105a..648d3005 100644 --- a/src/drivers/ao_pad.h +++ b/src/drivers/ao_pad.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_pca9922.c b/src/drivers/ao_pca9922.c index 6d1b5fae..09f52a0e 100644 --- a/src/drivers/ao_pca9922.c +++ b/src/drivers/ao_pca9922.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_pwm.h b/src/drivers/ao_pwm.h index 2dd2ffd5..1751ebfd 100644 --- a/src/drivers/ao_pwm.h +++ b/src/drivers/ao_pwm.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_pyro_slave.c b/src/drivers/ao_pyro_slave.c index f07c2cba..a293d929 100644 --- a/src/drivers/ao_pyro_slave.c +++ b/src/drivers/ao_pyro_slave.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_quadrature.c b/src/drivers/ao_quadrature.c index 0cdcc9fb..deecfb79 100644 --- a/src/drivers/ao_quadrature.c +++ b/src/drivers/ao_quadrature.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_quadrature.h b/src/drivers/ao_quadrature.h index d7dda682..a99e4cc5 100644 --- a/src/drivers/ao_quadrature.h +++ b/src/drivers/ao_quadrature.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_radio_master.c b/src/drivers/ao_radio_master.c index 128fcf32..79e4b22b 100644 --- a/src/drivers/ao_radio_master.c +++ b/src/drivers/ao_radio_master.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_radio_slave.c b/src/drivers/ao_radio_slave.c index 9a0612e5..2f1dab29 100644 --- a/src/drivers/ao_radio_slave.c +++ b/src/drivers/ao_radio_slave.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_radio_spi.h b/src/drivers/ao_radio_spi.h index 2957f70d..9dccdd29 100644 --- a/src/drivers/ao_radio_spi.h +++ b/src/drivers/ao_radio_spi.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_rfpa0133.c b/src/drivers/ao_rfpa0133.c index a98e261a..7ef32ef3 100644 --- a/src/drivers/ao_rfpa0133.c +++ b/src/drivers/ao_rfpa0133.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_rfpa0133.h b/src/drivers/ao_rfpa0133.h index 2ba7f699..793cdf76 100644 --- a/src/drivers/ao_rfpa0133.h +++ b/src/drivers/ao_rfpa0133.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_science_slave.c b/src/drivers/ao_science_slave.c index 996e98d9..775318f9 100644 --- a/src/drivers/ao_science_slave.c +++ b/src/drivers/ao_science_slave.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_sdcard.c b/src/drivers/ao_sdcard.c index 47188ef3..4b17c5e3 100644 --- a/src/drivers/ao_sdcard.c +++ b/src/drivers/ao_sdcard.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_sdcard.h b/src/drivers/ao_sdcard.h index 50b70c73..8f794efc 100644 --- a/src/drivers/ao_sdcard.h +++ b/src/drivers/ao_sdcard.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_servo.c b/src/drivers/ao_servo.c index b48a4112..78978e3e 100644 --- a/src/drivers/ao_servo.c +++ b/src/drivers/ao_servo.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_servo.h b/src/drivers/ao_servo.h index e1df347a..23059c44 100644 --- a/src/drivers/ao_servo.h +++ b/src/drivers/ao_servo.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_seven_segment.c b/src/drivers/ao_seven_segment.c index f1339ee5..d2e1248f 100644 --- a/src/drivers/ao_seven_segment.c +++ b/src/drivers/ao_seven_segment.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_seven_segment.h b/src/drivers/ao_seven_segment.h index f997f3b5..bdac98c7 100644 --- a/src/drivers/ao_seven_segment.h +++ b/src/drivers/ao_seven_segment.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_trng.c b/src/drivers/ao_trng.c index e69cd30b..d89cc81a 100644 --- a/src/drivers/ao_trng.c +++ b/src/drivers/ao_trng.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_trng.h b/src/drivers/ao_trng.h index 78577428..307a20fd 100644 --- a/src/drivers/ao_trng.h +++ b/src/drivers/ao_trng.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_trng_send.c b/src/drivers/ao_trng_send.c index 4ac6ee5e..85034efd 100644 --- a/src/drivers/ao_trng_send.c +++ b/src/drivers/ao_trng_send.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -96,18 +97,7 @@ ao_trng_send_raw(void)  #endif -/* Make sure there's at least 8 bits of variance in the samples */ -#define MIN_VARIANCE		(128 * 128) - -/* Make sure the signal is spread around a bit */ -#define MAX_VARIANCE		(512 * 512) - -#define ADD_STATS(value) do {			\ -		sum += (value);			\ -		sum2 += (value) * (value);	\ -	} while(0) - -#define VARIANCE(n)	((sum2 - (sum / (n) * sum)) / (n)) +static uint32_t	previous[AO_USB_IN_SIZE / sizeof (uint16_t)];  static int  ao_trng_get_cooked(uint16_t *buf) @@ -115,29 +105,24 @@ ao_trng_get_cooked(uint16_t *buf)  	uint16_t	i;  	uint16_t	t;  	uint32_t	*rnd = (uint32_t *) ao_adc_ring; -	int32_t 	sum, sum2, var; +	uint8_t		mismatch = 0; -	sum = sum2 = 0;  	t = ao_adc_get(AO_USB_IN_SIZE) >> 1;		/* one 16-bit value per output byte */  	for (i = 0; i < AO_USB_IN_SIZE / sizeof (uint16_t); i++) {  		uint32_t	v; -		uint16_t	v1, v2;  		/* Fetch two values in one operation */  		v = rnd[t]; +		if (v != previous[i]) { +			mismatch = 1; +			previous[i] = v; +		}  		t = (t + 1) & ((AO_ADC_RING_SIZE >> 1) - 1);  		*buf++ = ao_crc_in_32_out_16(v); - -		v1 = v; -		v2 = v >> 16; - -		ADD_STATS(v1); -		ADD_STATS(v2);  	}  	ao_adc_ack(AO_USB_IN_SIZE); -	var = VARIANCE(2 * AO_USB_IN_SIZE / sizeof (uint16_t)); -	return var >= MIN_VARIANCE && var <= MAX_VARIANCE; +	return mismatch;  }  #define AO_TRNG_START_WAIT	1024 diff --git a/src/drivers/ao_trng_send.h b/src/drivers/ao_trng_send.h index 83312d59..4a41637f 100644 --- a/src/drivers/ao_trng_send.h +++ b/src/drivers/ao_trng_send.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_watchdog.c b/src/drivers/ao_watchdog.c index 096a5564..1a877fcb 100644 --- a/src/drivers/ao_watchdog.c +++ b/src/drivers/ao_watchdog.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/drivers/ao_watchdog.h b/src/drivers/ao_watchdog.h index 73e1559d..e40475f6 100644 --- a/src/drivers/ao_watchdog.h +++ b/src/drivers/ao_watchdog.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/easymega-v1.0/ao_easymega.c b/src/easymega-v1.0/ao_easymega.c index e217c33c..9848c367 100644 --- a/src/easymega-v1.0/ao_easymega.c +++ b/src/easymega-v1.0/ao_easymega.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -36,14 +37,14 @@ int  main(void)  {  	ao_clock_init(); -	 +  #if HAS_STACK_GUARD  	ao_mpu_init();  #endif  	ao_task_init();  	ao_led_init(LEDS_AVAILABLE); -	ao_led_on(AO_LED_GREEN); +	ao_led_on(LEDS_AVAILABLE);  	ao_timer_init();  	ao_i2c_init(); @@ -72,7 +73,7 @@ main(void)  	ao_eeprom_init();  	ao_storage_init(); -	 +  	ao_flight_init();  	ao_log_init();  	ao_report_init(); @@ -89,7 +90,8 @@ main(void)  #if HAS_SAMPLE_PROFILE  	ao_sample_profile_init();  #endif -	 + +	ao_led_off(LEDS_AVAILABLE);  	ao_start_scheduler();  	return 0;  } diff --git a/src/easymega-v1.0/ao_pins.h b/src/easymega-v1.0/ao_pins.h index 773e58d9..42a8b09c 100644 --- a/src/easymega-v1.0/ao_pins.h +++ b/src/easymega-v1.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/easymega-v1.0/flash-loader/ao_pins.h b/src/easymega-v1.0/flash-loader/ao_pins.h index 445289bf..858e5916 100644 --- a/src/easymega-v1.0/flash-loader/ao_pins.h +++ b/src/easymega-v1.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/easymini-v1.0/ao_easymini.c b/src/easymini-v1.0/ao_easymini.c index 97230b61..6025219d 100644 --- a/src/easymini-v1.0/ao_easymini.c +++ b/src/easymini-v1.0/ao_easymini.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/easymini-v1.0/ao_pins.h b/src/easymini-v1.0/ao_pins.h index 1d794497..5983bb9e 100644 --- a/src/easymini-v1.0/ao_pins.h +++ b/src/easymini-v1.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/easymini-v1.0/flash-loader/ao_pins.h b/src/easymini-v1.0/flash-loader/ao_pins.h index 4330151d..9e02d365 100644 --- a/src/easymini-v1.0/flash-loader/ao_pins.h +++ b/src/easymini-v1.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kalman/kalman.5c b/src/kalman/kalman.5c index 55fde04c..a91b28d8 100755 --- a/src/kalman/kalman.5c +++ b/src/kalman/kalman.5c @@ -5,7 +5,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kalman/kalman_filter.5c b/src/kalman/kalman_filter.5c index efbbf1ab..b676a47b 100644 --- a/src/kalman/kalman_filter.5c +++ b/src/kalman/kalman_filter.5c @@ -5,7 +5,8 @@ load "matrix.5c"   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kalman/kalman_micro.5c b/src/kalman/kalman_micro.5c index 1b080384..97404e17 100644 --- a/src/kalman/kalman_micro.5c +++ b/src/kalman/kalman_micro.5c @@ -5,7 +5,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kalman/load_csv.5c b/src/kalman/load_csv.5c index 0086c6db..7c6c286e 100644 --- a/src/kalman/load_csv.5c +++ b/src/kalman/load_csv.5c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kalman/matrix.5c b/src/kalman/matrix.5c index 667648f5..99a522db 100644 --- a/src/kalman/matrix.5c +++ b/src/kalman/matrix.5c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao.h b/src/kernel/ao.h index 27a16606..fb41d7a9 100644 --- a/src/kernel/ao.h +++ b/src/kernel/ao.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -640,6 +641,12 @@ void  ao_radio_rdf_abort(void);  void +ao_radio_test_on(void); + +void +ao_radio_test_off(void); + +void  ao_radio_init(void);  /* @@ -666,6 +673,7 @@ extern __xdata union ao_monitor ao_monitor_ring[AO_MONITOR_RING];  #define ao_monitor_ring_next(n)	(((n) + 1) & (AO_MONITOR_RING - 1))  #define ao_monitor_ring_prev(n)	(((n) - 1) & (AO_MONITOR_RING - 1)) +extern __xdata uint8_t ao_monitoring_mutex;  extern __data uint8_t ao_monitoring;  extern __data uint8_t ao_monitor_head; diff --git a/src/kernel/ao_adc.h b/src/kernel/ao_adc.h index 373db1c4..ffa6f07c 100644 --- a/src/kernel/ao_adc.h +++ b/src/kernel/ao_adc.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_aes.h b/src/kernel/ao_aes.h index c47bc2db..5ae98424 100644 --- a/src/kernel/ao_aes.h +++ b/src/kernel/ao_aes.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_balloon.c b/src/kernel/ao_balloon.c index 904a9c08..47b69e25 100644 --- a/src/kernel/ao_balloon.c +++ b/src/kernel/ao_balloon.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_beep.h b/src/kernel/ao_beep.h index 9d6ecf27..085dd5b1 100644 --- a/src/kernel/ao_beep.h +++ b/src/kernel/ao_beep.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_boot.h b/src/kernel/ao_boot.h index 62392d25..0977cf65 100644 --- a/src/kernel/ao_boot.h +++ b/src/kernel/ao_boot.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_btm.h b/src/kernel/ao_btm.h index 484e5d7f..f67dc9f7 100644 --- a/src/kernel/ao_btm.h +++ b/src/kernel/ao_btm.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_cmd.c b/src/kernel/ao_cmd.c index d2f583ef..10716afd 100644 --- a/src/kernel/ao_cmd.c +++ b/src/kernel/ao_cmd.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -393,11 +394,17 @@ ao_cmd(void)  			if (func)  				break;  		} +#if HAS_MONITOR +		ao_mutex_get(&ao_monitoring_mutex); +#endif  		if (func)  			(*func)();  		else  			ao_cmd_status = ao_cmd_syntax_error;  		report(); +#if HAS_MONITOR +		ao_mutex_put(&ao_monitoring_mutex); +#endif  	}  } diff --git a/src/kernel/ao_companion.h b/src/kernel/ao_companion.h index 035325a3..4c161455 100644 --- a/src/kernel/ao_companion.h +++ b/src/kernel/ao_companion.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_config.c b/src/kernel/ao_config.c index f95ca893..5dda1c85 100644 --- a/src/kernel/ao_config.c +++ b/src/kernel/ao_config.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_config.h b/src/kernel/ao_config.h index 3c73ea49..f730c73c 100644 --- a/src/kernel/ao_config.h +++ b/src/kernel/ao_config.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_convert.c b/src/kernel/ao_convert.c index db1f2301..1cd62345 100644 --- a/src/kernel/ao_convert.c +++ b/src/kernel/ao_convert.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_convert_pa.c b/src/kernel/ao_convert_pa.c index 410815b6..8ae0e7c9 100644 --- a/src/kernel/ao_convert_pa.c +++ b/src/kernel/ao_convert_pa.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_convert_pa_test.c b/src/kernel/ao_convert_pa_test.c index 95422862..e0ee2928 100644 --- a/src/kernel/ao_convert_pa_test.c +++ b/src/kernel/ao_convert_pa_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_convert_test.c b/src/kernel/ao_convert_test.c index 87e76841..c8debbc5 100644 --- a/src/kernel/ao_convert_test.c +++ b/src/kernel/ao_convert_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_convert_volt.c b/src/kernel/ao_convert_volt.c index f697e748..5afedfa5 100644 --- a/src/kernel/ao_convert_volt.c +++ b/src/kernel/ao_convert_volt.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_data.c b/src/kernel/ao_data.c index 6a3d02a1..35d42b8f 100644 --- a/src/kernel/ao_data.c +++ b/src/kernel/ao_data.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_data.h b/src/kernel/ao_data.h index 6ee0965d..d62852ef 100644 --- a/src/kernel/ao_data.h +++ b/src/kernel/ao_data.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_dbg.h b/src/kernel/ao_dbg.h index 181e6ec2..abf9e6db 100644 --- a/src/kernel/ao_dbg.h +++ b/src/kernel/ao_dbg.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_debounce.c b/src/kernel/ao_debounce.c index b9d67729..42efc2dd 100644 --- a/src/kernel/ao_debounce.c +++ b/src/kernel/ao_debounce.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_debounce.h b/src/kernel/ao_debounce.h index 19c620f5..d6ac21f0 100644 --- a/src/kernel/ao_debounce.h +++ b/src/kernel/ao_debounce.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_distance.c b/src/kernel/ao_distance.c index 5654182a..481a53c1 100644 --- a/src/kernel/ao_distance.c +++ b/src/kernel/ao_distance.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_distance.h b/src/kernel/ao_distance.h index 6762434e..63f43a7b 100644 --- a/src/kernel/ao_distance.h +++ b/src/kernel/ao_distance.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_ee_fake.c b/src/kernel/ao_ee_fake.c index 7fcfcab0..84c13000 100644 --- a/src/kernel/ao_ee_fake.c +++ b/src/kernel/ao_ee_fake.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_eeprom.h b/src/kernel/ao_eeprom.h index 915522bf..bd8b6725 100644 --- a/src/kernel/ao_eeprom.h +++ b/src/kernel/ao_eeprom.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_fake_flight.c b/src/kernel/ao_fake_flight.c index 11329bb9..5880cf2b 100644 --- a/src/kernel/ao_fake_flight.c +++ b/src/kernel/ao_fake_flight.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_fake_flight.h b/src/kernel/ao_fake_flight.h index 172fc589..5e7d1572 100644 --- a/src/kernel/ao_fake_flight.h +++ b/src/kernel/ao_fake_flight.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_fast_timer.h b/src/kernel/ao_fast_timer.h index 90fb3930..3b419180 100644 --- a/src/kernel/ao_fast_timer.h +++ b/src/kernel/ao_fast_timer.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_fec.h b/src/kernel/ao_fec.h index 618756c1..9ccc3af1 100644 --- a/src/kernel/ao_fec.h +++ b/src/kernel/ao_fec.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_fec_rx.c b/src/kernel/ao_fec_rx.c index c4f5559a..8e4a8522 100644 --- a/src/kernel/ao_fec_rx.c +++ b/src/kernel/ao_fec_rx.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_fec_tx.c b/src/kernel/ao_fec_tx.c index 4941d745..3feb1301 100644 --- a/src/kernel/ao_fec_tx.c +++ b/src/kernel/ao_fec_tx.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_flight.c b/src/kernel/ao_flight.c index 9031a54a..50f2b68f 100644 --- a/src/kernel/ao_flight.c +++ b/src/kernel/ao_flight.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_flight.h b/src/kernel/ao_flight.h index 01d21c11..6894fe59 100644 --- a/src/kernel/ao_flight.h +++ b/src/kernel/ao_flight.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_flight_nano.c b/src/kernel/ao_flight_nano.c index 406d81ad..d849dc64 100644 --- a/src/kernel/ao_flight_nano.c +++ b/src/kernel/ao_flight_nano.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_forward.c b/src/kernel/ao_forward.c index 2a937183..721b52d0 100644 --- a/src/kernel/ao_forward.c +++ b/src/kernel/ao_forward.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_forward.h b/src/kernel/ao_forward.h index 1897dc08..2fe28f66 100644 --- a/src/kernel/ao_forward.h +++ b/src/kernel/ao_forward.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_freq.c b/src/kernel/ao_freq.c index 12496f6f..6478dae2 100644 --- a/src/kernel/ao_freq.c +++ b/src/kernel/ao_freq.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_gps_print.c b/src/kernel/ao_gps_print.c index 6d9ee346..b1183bad 100644 --- a/src/kernel/ao_gps_print.c +++ b/src/kernel/ao_gps_print.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_gps_report.c b/src/kernel/ao_gps_report.c index 7ef98a97..39688fea 100644 --- a/src/kernel/ao_gps_report.c +++ b/src/kernel/ao_gps_report.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_gps_report_mega.c b/src/kernel/ao_gps_report_mega.c index f3711fb1..8a298655 100644 --- a/src/kernel/ao_gps_report_mega.c +++ b/src/kernel/ao_gps_report_mega.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_gps_report_metrum.c b/src/kernel/ao_gps_report_metrum.c index 8ce074fe..508f1519 100644 --- a/src/kernel/ao_gps_report_metrum.c +++ b/src/kernel/ao_gps_report_metrum.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_gps_show.c b/src/kernel/ao_gps_show.c index e45cd795..ec197769 100644 --- a/src/kernel/ao_gps_show.c +++ b/src/kernel/ao_gps_show.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_host.h b/src/kernel/ao_host.h index 6eb752c9..a7fa5ec2 100644 --- a/src/kernel/ao_host.h +++ b/src/kernel/ao_host.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_ignite.c b/src/kernel/ao_ignite.c index 823d003c..52d9d77e 100644 --- a/src/kernel/ao_ignite.c +++ b/src/kernel/ao_ignite.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_int64.c b/src/kernel/ao_int64.c index ca75751b..fdea61c0 100644 --- a/src/kernel/ao_int64.c +++ b/src/kernel/ao_int64.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_int64.h b/src/kernel/ao_int64.h index b16db58c..11c16404 100644 --- a/src/kernel/ao_int64.h +++ b/src/kernel/ao_int64.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_kalman.c b/src/kernel/ao_kalman.c index 7b0f8145..69a1b3de 100644 --- a/src/kernel/ao_kalman.c +++ b/src/kernel/ao_kalman.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_lcd.h b/src/kernel/ao_lcd.h index f7e1391a..3ed8c64c 100644 --- a/src/kernel/ao_lcd.h +++ b/src/kernel/ao_lcd.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_led.h b/src/kernel/ao_led.h index d9a0914a..7de09237 100644 --- a/src/kernel/ao_led.h +++ b/src/kernel/ao_led.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_list.h b/src/kernel/ao_list.h index 8a6fa4d9..e2df6885 100644 --- a/src/kernel/ao_list.h +++ b/src/kernel/ao_list.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log.c b/src/kernel/ao_log.c index 40a96ef7..0589b4b0 100644 --- a/src/kernel/ao_log.c +++ b/src/kernel/ao_log.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log.h b/src/kernel/ao_log.h index fdd428c2..13eb05bf 100644 --- a/src/kernel/ao_log.h +++ b/src/kernel/ao_log.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_big.c b/src/kernel/ao_log_big.c index 8f57bf75..e32abd1a 100644 --- a/src/kernel/ao_log_big.c +++ b/src/kernel/ao_log_big.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_gps.c b/src/kernel/ao_log_gps.c index 7643091c..02551169 100644 --- a/src/kernel/ao_log_gps.c +++ b/src/kernel/ao_log_gps.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_gps.h b/src/kernel/ao_log_gps.h index a9e8c831..cc947d6e 100644 --- a/src/kernel/ao_log_gps.h +++ b/src/kernel/ao_log_gps.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_mega.c b/src/kernel/ao_log_mega.c index cb83be4b..a0212198 100644 --- a/src/kernel/ao_log_mega.c +++ b/src/kernel/ao_log_mega.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_metrum.c b/src/kernel/ao_log_metrum.c index 08e7b8c4..154b1740 100644 --- a/src/kernel/ao_log_metrum.c +++ b/src/kernel/ao_log_metrum.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_micro.c b/src/kernel/ao_log_micro.c index aef78def..aa0f5c76 100644 --- a/src/kernel/ao_log_micro.c +++ b/src/kernel/ao_log_micro.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_micro.h b/src/kernel/ao_log_micro.h index 976852ee..ec5cf3ed 100644 --- a/src/kernel/ao_log_micro.h +++ b/src/kernel/ao_log_micro.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_mini.c b/src/kernel/ao_log_mini.c index 844f38aa..d5735cdc 100644 --- a/src/kernel/ao_log_mini.c +++ b/src/kernel/ao_log_mini.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_single.c b/src/kernel/ao_log_single.c index 3f6235a6..63768e1a 100644 --- a/src/kernel/ao_log_single.c +++ b/src/kernel/ao_log_single.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_telem.c b/src/kernel/ao_log_telem.c index 095aca37..1305a84d 100644 --- a/src/kernel/ao_log_telem.c +++ b/src/kernel/ao_log_telem.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_telescience.c b/src/kernel/ao_log_telescience.c index 002a10bd..3f514f18 100644 --- a/src/kernel/ao_log_telescience.c +++ b/src/kernel/ao_log_telescience.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_log_tiny.c b/src/kernel/ao_log_tiny.c index 67767dc9..7769b7b5 100644 --- a/src/kernel/ao_log_tiny.c +++ b/src/kernel/ao_log_tiny.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_microflight.c b/src/kernel/ao_microflight.c index f7521f21..f415420d 100644 --- a/src/kernel/ao_microflight.c +++ b/src/kernel/ao_microflight.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_microkalman.c b/src/kernel/ao_microkalman.c index 75a29cc4..ff543cc4 100644 --- a/src/kernel/ao_microkalman.c +++ b/src/kernel/ao_microkalman.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_monitor.c b/src/kernel/ao_monitor.c index cba0d80a..7cbee288 100644 --- a/src/kernel/ao_monitor.c +++ b/src/kernel/ao_monitor.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -35,6 +36,7 @@  #error Must define AO_MONITOR_LED  #endif +__xdata uint8_t ao_monitoring_mutex;  __data uint8_t ao_monitoring;  static __data uint8_t ao_monitor_disabled;  static __data uint8_t ao_internal_monitoring; @@ -240,6 +242,7 @@ ao_monitor_put(void)  			printf ("rx cleanup: %d\n", ao_rx_done_tick - ao_fec_decode_end);  		}  #endif +			ao_mutex_get(&ao_monitoring_mutex);  			printf("TELEM ");  			hex((uint8_t) (ao_monitoring + 2));  			sum = 0x5a; @@ -250,6 +253,7 @@ ao_monitor_put(void)  			}  			hex(sum);  			putchar ('\n'); +			ao_mutex_put(&ao_monitoring_mutex);  #if HAS_RSSI  			if (recv_raw.packet[ao_monitoring + 1] & AO_RADIO_STATUS_CRC_OK) {  				rssi = AO_RSSI_FROM_RADIO(recv_raw.packet[ao_monitoring]); diff --git a/src/kernel/ao_mutex.c b/src/kernel/ao_mutex.c index a36fe939..ff73e3bc 100644 --- a/src/kernel/ao_mutex.c +++ b/src/kernel/ao_mutex.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_notask.c b/src/kernel/ao_notask.c index 6f967e6d..00fe1ed6 100644 --- a/src/kernel/ao_notask.c +++ b/src/kernel/ao_notask.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_notask.h b/src/kernel/ao_notask.h index 6b6b5bb8..a4446726 100644 --- a/src/kernel/ao_notask.h +++ b/src/kernel/ao_notask.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_packet.h b/src/kernel/ao_packet.h index 136609c3..9d99b0e6 100644 --- a/src/kernel/ao_packet.h +++ b/src/kernel/ao_packet.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_panic.c b/src/kernel/ao_panic.c index e280f98c..3feecd5a 100644 --- a/src/kernel/ao_panic.c +++ b/src/kernel/ao_panic.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_power.c b/src/kernel/ao_power.c index bead5944..bf59ab53 100644 --- a/src/kernel/ao_power.c +++ b/src/kernel/ao_power.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_power.h b/src/kernel/ao_power.h index 98a8c1c7..304c45a4 100644 --- a/src/kernel/ao_power.h +++ b/src/kernel/ao_power.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_product.c b/src/kernel/ao_product.c index 3a829b3a..c4df9f26 100644 --- a/src/kernel/ao_product.c +++ b/src/kernel/ao_product.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_pyro.c b/src/kernel/ao_pyro.c index 43e73de4..c9920ab3 100644 --- a/src/kernel/ao_pyro.c +++ b/src/kernel/ao_pyro.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_pyro.h b/src/kernel/ao_pyro.h index 0fde725a..a730ef19 100644 --- a/src/kernel/ao_pyro.h +++ b/src/kernel/ao_pyro.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_quaternion.h b/src/kernel/ao_quaternion.h index 044f1607..651083fc 100644 --- a/src/kernel/ao_quaternion.h +++ b/src/kernel/ao_quaternion.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_radio_cmac.c b/src/kernel/ao_radio_cmac.c index b6835346..92b365a2 100644 --- a/src/kernel/ao_radio_cmac.c +++ b/src/kernel/ao_radio_cmac.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_radio_cmac.h b/src/kernel/ao_radio_cmac.h index e86f31e9..74fe8c60 100644 --- a/src/kernel/ao_radio_cmac.h +++ b/src/kernel/ao_radio_cmac.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_radio_cmac_cmd.c b/src/kernel/ao_radio_cmac_cmd.c index 64410921..6d29f392 100644 --- a/src/kernel/ao_radio_cmac_cmd.c +++ b/src/kernel/ao_radio_cmac_cmd.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_radio_cmac_cmd.h b/src/kernel/ao_radio_cmac_cmd.h index 6b8782de..ef89c5b7 100644 --- a/src/kernel/ao_radio_cmac_cmd.h +++ b/src/kernel/ao_radio_cmac_cmd.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_report.c b/src/kernel/ao_report.c index f4253b3d..6592d616 100644 --- a/src/kernel/ao_report.c +++ b/src/kernel/ao_report.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_report_micro.c b/src/kernel/ao_report_micro.c index 0e8e287f..af68457d 100644 --- a/src/kernel/ao_report_micro.c +++ b/src/kernel/ao_report_micro.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_rssi.c b/src/kernel/ao_rssi.c index 793b190b..66fb8b57 100644 --- a/src/kernel/ao_rssi.c +++ b/src/kernel/ao_rssi.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_sample.c b/src/kernel/ao_sample.c index 29bf2bf6..90ea07ad 100644 --- a/src/kernel/ao_sample.c +++ b/src/kernel/ao_sample.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_sample.h b/src/kernel/ao_sample.h index 2ec998bd..da40187b 100644 --- a/src/kernel/ao_sample.h +++ b/src/kernel/ao_sample.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_sample_profile.c b/src/kernel/ao_sample_profile.c index d3743d12..4819a161 100644 --- a/src/kernel/ao_sample_profile.c +++ b/src/kernel/ao_sample_profile.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_sample_profile.h b/src/kernel/ao_sample_profile.h index dbc29d3d..c633779d 100644 --- a/src/kernel/ao_sample_profile.h +++ b/src/kernel/ao_sample_profile.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_send_packet.c b/src/kernel/ao_send_packet.c index 66315d22..c8a1d46e 100644 --- a/src/kernel/ao_send_packet.c +++ b/src/kernel/ao_send_packet.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_send_packet.h b/src/kernel/ao_send_packet.h index 526f7b55..61010937 100644 --- a/src/kernel/ao_send_packet.h +++ b/src/kernel/ao_send_packet.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_serial.h b/src/kernel/ao_serial.h index e21643ac..ef3e93d7 100644 --- a/src/kernel/ao_serial.h +++ b/src/kernel/ao_serial.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_sqrt.c b/src/kernel/ao_sqrt.c index 3a550eaa..ca4678cf 100644 --- a/src/kernel/ao_sqrt.c +++ b/src/kernel/ao_sqrt.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_state.c b/src/kernel/ao_state.c index ed197aa5..08e790be 100644 --- a/src/kernel/ao_state.c +++ b/src/kernel/ao_state.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_stdio.c b/src/kernel/ao_stdio.c index 1d65fcf5..b79d465a 100644 --- a/src/kernel/ao_stdio.c +++ b/src/kernel/ao_stdio.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_storage.c b/src/kernel/ao_storage.c index 6eddae7f..bee9293e 100644 --- a/src/kernel/ao_storage.c +++ b/src/kernel/ao_storage.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_storage.h b/src/kernel/ao_storage.h index 6cc6fcb7..59b137ad 100644 --- a/src/kernel/ao_storage.h +++ b/src/kernel/ao_storage.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_task.c b/src/kernel/ao_task.c index cf0b58ed..e8a092aa 100644 --- a/src/kernel/ao_task.c +++ b/src/kernel/ao_task.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_task.h b/src/kernel/ao_task.h index 0e353fe8..f1dbd654 100644 --- a/src/kernel/ao_task.h +++ b/src/kernel/ao_task.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_telem.h b/src/kernel/ao_telem.h index 1a8da291..1989a02d 100644 --- a/src/kernel/ao_telem.h +++ b/src/kernel/ao_telem.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_telemetry.c b/src/kernel/ao_telemetry.c index 16363f75..15085bf4 100644 --- a/src/kernel/ao_telemetry.c +++ b/src/kernel/ao_telemetry.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -293,6 +294,7 @@ ao_send_mini(void)  static __pdata int8_t ao_telemetry_config_max;  static __pdata int8_t ao_telemetry_config_cur; +static __pdata uint16_t ao_telemetry_flight_number;  static void  ao_send_configuration(void) @@ -301,11 +303,7 @@ ao_send_configuration(void)  	{  		telemetry.generic.type = AO_TELEMETRY_CONFIGURATION;  		telemetry.configuration.device = AO_idProduct_NUMBER; -#if HAS_LOG -		telemetry.configuration.flight = ao_log_full() ? 0 : ao_flight_number; -#else -		telemetry.configuration.flight = ao_flight_number; -#endif +		telemetry.configuration.flight = ao_telemetry_flight_number;  		telemetry.configuration.config_major = AO_CONFIG_MAJOR;  		telemetry.configuration.config_minor = AO_CONFIG_MINOR;  #if AO_idProduct_NUMBER == 0x25 && HAS_ADC @@ -405,6 +403,11 @@ ao_telemetry(void)  	while (!ao_flight_number)  		ao_sleep(&ao_flight_number); +	ao_telemetry_flight_number = ao_flight_number; +#if HAS_LOG +	if (ao_log_full()) +		ao_telemetry_flight_number = 0; +#endif  	telemetry.generic.serial = ao_serial_number;  	for (;;) {  		while (ao_telemetry_interval == 0) diff --git a/src/kernel/ao_telemetry.h b/src/kernel/ao_telemetry.h index 672d2317..c0f5e3c5 100644 --- a/src/kernel/ao_telemetry.h +++ b/src/kernel/ao_telemetry.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_tracker.c b/src/kernel/ao_tracker.c index 962f145d..4abd309a 100644 --- a/src/kernel/ao_tracker.c +++ b/src/kernel/ao_tracker.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_tracker.h b/src/kernel/ao_tracker.h index 78c40cb4..7d534339 100644 --- a/src/kernel/ao_tracker.h +++ b/src/kernel/ao_tracker.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/kernel/ao_usb.h b/src/kernel/ao_usb.h index 8f3e7813..cdea5178 100644 --- a/src/kernel/ao_usb.h +++ b/src/kernel/ao_usb.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/altos-loader.ld b/src/lpc/altos-loader.ld index 9df6e456..84d7610c 100644 --- a/src/lpc/altos-loader.ld +++ b/src/lpc/altos-loader.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/altos-standalone.ld b/src/lpc/altos-standalone.ld index 032406f8..db53dcaf 100644 --- a/src/lpc/altos-standalone.ld +++ b/src/lpc/altos-standalone.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/altos.ld b/src/lpc/altos.ld index 00d4f18a..e6a6a7ed 100644 --- a/src/lpc/altos.ld +++ b/src/lpc/altos.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_adc_lpc.c b/src/lpc/ao_adc_lpc.c index b24163ee..26a5ea08 100644 --- a/src/lpc/ao_adc_lpc.c +++ b/src/lpc/ao_adc_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_arch.h b/src/lpc/ao_arch.h index 42faf06f..da21dc9d 100644 --- a/src/lpc/ao_arch.h +++ b/src/lpc/ao_arch.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_arch_funcs.h b/src/lpc/ao_arch_funcs.h index dbb41538..5fc0f680 100644 --- a/src/lpc/ao_arch_funcs.h +++ b/src/lpc/ao_arch_funcs.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_beep_lpc.c b/src/lpc/ao_beep_lpc.c index eb9132b8..b1211752 100644 --- a/src/lpc/ao_beep_lpc.c +++ b/src/lpc/ao_beep_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_boot_chain.c b/src/lpc/ao_boot_chain.c index 9e45ba27..0d0bb91c 100644 --- a/src/lpc/ao_boot_chain.c +++ b/src/lpc/ao_boot_chain.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_boot_pin.c b/src/lpc/ao_boot_pin.c index 51ecc0a9..e3c7d0c1 100644 --- a/src/lpc/ao_boot_pin.c +++ b/src/lpc/ao_boot_pin.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_exti.h b/src/lpc/ao_exti.h index e8599eb4..75f2cf5f 100644 --- a/src/lpc/ao_exti.h +++ b/src/lpc/ao_exti.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_exti_lpc.c b/src/lpc/ao_exti_lpc.c index fdb6a1ca..193f4547 100644 --- a/src/lpc/ao_exti_lpc.c +++ b/src/lpc/ao_exti_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_fast_timer_lpc.c b/src/lpc/ao_fast_timer_lpc.c index c4f26fc4..ce434139 100644 --- a/src/lpc/ao_fast_timer_lpc.c +++ b/src/lpc/ao_fast_timer_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_flash.h b/src/lpc/ao_flash.h index aaf66b39..fe9761a9 100644 --- a/src/lpc/ao_flash.h +++ b/src/lpc/ao_flash.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_flash_loader_lpc.c b/src/lpc/ao_flash_loader_lpc.c index 2ab548cf..47e2abc6 100644 --- a/src/lpc/ao_flash_loader_lpc.c +++ b/src/lpc/ao_flash_loader_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_flash_lpc.c b/src/lpc/ao_flash_lpc.c index 5a31f39f..cb1a0606 100644 --- a/src/lpc/ao_flash_lpc.c +++ b/src/lpc/ao_flash_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_flash_lpc_pins.h b/src/lpc/ao_flash_lpc_pins.h index e2243d5c..4330dfd7 100644 --- a/src/lpc/ao_flash_lpc_pins.h +++ b/src/lpc/ao_flash_lpc_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_interrupt.c b/src/lpc/ao_interrupt.c index 3318db2b..3e0119c6 100644 --- a/src/lpc/ao_interrupt.c +++ b/src/lpc/ao_interrupt.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_led_lpc.c b/src/lpc/ao_led_lpc.c index a0b293b9..2d2c3972 100644 --- a/src/lpc/ao_led_lpc.c +++ b/src/lpc/ao_led_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_romconfig.c b/src/lpc/ao_romconfig.c index cbb922ec..4e7bab8d 100644 --- a/src/lpc/ao_romconfig.c +++ b/src/lpc/ao_romconfig.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_serial_lpc.c b/src/lpc/ao_serial_lpc.c index b0d5fcbc..0011744d 100644 --- a/src/lpc/ao_serial_lpc.c +++ b/src/lpc/ao_serial_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_spi_lpc.c b/src/lpc/ao_spi_lpc.c index f091c89c..a8d4cda9 100644 --- a/src/lpc/ao_spi_lpc.c +++ b/src/lpc/ao_spi_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_timer_lpc.c b/src/lpc/ao_timer_lpc.c index 623559eb..166e2f15 100644 --- a/src/lpc/ao_timer_lpc.c +++ b/src/lpc/ao_timer_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/ao_usb_lpc.c b/src/lpc/ao_usb_lpc.c index 3b3226ad..5c13eb4b 100644 --- a/src/lpc/ao_usb_lpc.c +++ b/src/lpc/ao_usb_lpc.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpc/lpc.h b/src/lpc/lpc.h index 40d412d0..38dd2aee 100644 --- a/src/lpc/lpc.h +++ b/src/lpc/lpc.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpcxpresso/ao_demo.c b/src/lpcxpresso/ao_demo.c index 0c931611..568ebd18 100644 --- a/src/lpcxpresso/ao_demo.c +++ b/src/lpcxpresso/ao_demo.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/lpcxpresso/ao_pins.h b/src/lpcxpresso/ao_pins.h index 0ffc2fad..1bfc83bf 100644 --- a/src/lpcxpresso/ao_pins.h +++ b/src/lpcxpresso/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/math/math.h b/src/math/math.h index 97dd74cf..3a279663 100644 --- a/src/math/math.h +++ b/src/math/math.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/megadongle-v0.1/ao_megadongle.c b/src/megadongle-v0.1/ao_megadongle.c index 68d6de60..e6821a3e 100644 --- a/src/megadongle-v0.1/ao_megadongle.c +++ b/src/megadongle-v0.1/ao_megadongle.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/megadongle-v0.1/ao_pins.h b/src/megadongle-v0.1/ao_pins.h index 9edd91f4..4d3ad4dd 100644 --- a/src/megadongle-v0.1/ao_pins.h +++ b/src/megadongle-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/megadongle-v0.1/flash-loader/ao_pins.h b/src/megadongle-v0.1/flash-loader/ao_pins.h index 1af92f13..2b18f8e5 100644 --- a/src/megadongle-v0.1/flash-loader/ao_pins.h +++ b/src/megadongle-v0.1/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/microkite/ao_pins.h b/src/microkite/ao_pins.h index 346b63a1..396b57e3 100644 --- a/src/microkite/ao_pins.h +++ b/src/microkite/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/micropeak/ao_pins.h b/src/micropeak/ao_pins.h index 63e9cb1b..7cfbca49 100644 --- a/src/micropeak/ao_pins.h +++ b/src/micropeak/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/micropeak/micro-log-parse.5c b/src/micropeak/micro-log-parse.5c index e1548fb0..c16ba0b4 100644 --- a/src/micropeak/micro-log-parse.5c +++ b/src/micropeak/micro-log-parse.5c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/microsplash/ao_pins.h b/src/microsplash/ao_pins.h index 37885ec2..50a99346 100644 --- a/src/microsplash/ao_pins.h +++ b/src/microsplash/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/nanopeak-v0.1/ao_pins.h b/src/nanopeak-v0.1/ao_pins.h index bd4a06d1..713c810a 100644 --- a/src/nanopeak-v0.1/ao_pins.h +++ b/src/nanopeak-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_flash_pins.h b/src/product/ao_flash_pins.h index 4917ee6f..ff8d3273 100644 --- a/src/product/ao_flash_pins.h +++ b/src/product/ao_flash_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_flash_task.c b/src/product/ao_flash_task.c index 9a12add6..1f0edb05 100644 --- a/src/product/ao_flash_task.c +++ b/src/product/ao_flash_task.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_flash_task.h b/src/product/ao_flash_task.h index 0a2fbb35..6039fc46 100644 --- a/src/product/ao_flash_task.h +++ b/src/product/ao_flash_task.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_micropeak.c b/src/product/ao_micropeak.c index 54522d86..f9960eb8 100644 --- a/src/product/ao_micropeak.c +++ b/src/product/ao_micropeak.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_micropeak.h b/src/product/ao_micropeak.h index 622f5a69..6dc7a465 100644 --- a/src/product/ao_micropeak.h +++ b/src/product/ao_micropeak.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_teledongle.c b/src/product/ao_teledongle.c index 8bfd8b84..9e0d7662 100644 --- a/src/product/ao_teledongle.c +++ b/src/product/ao_teledongle.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_telelaunch.c b/src/product/ao_telelaunch.c index dde66090..9e155555 100644 --- a/src/product/ao_telelaunch.c +++ b/src/product/ao_telelaunch.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_telemetrum.c b/src/product/ao_telemetrum.c index 221498d6..a10cb384 100644 --- a/src/product/ao_telemetrum.c +++ b/src/product/ao_telemetrum.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_telemini.c b/src/product/ao_telemini.c index a0d8e18a..b192763d 100644 --- a/src/product/ao_telemini.c +++ b/src/product/ao_telemini.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_telenano.c b/src/product/ao_telenano.c index 77750efd..ac08979f 100644 --- a/src/product/ao_telenano.c +++ b/src/product/ao_telenano.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_telepyro.c b/src/product/ao_telepyro.c index 6f09be64..5b8e38c2 100644 --- a/src/product/ao_telepyro.c +++ b/src/product/ao_telepyro.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_telescience.c b/src/product/ao_telescience.c index 2888c266..28bf7e79 100644 --- a/src/product/ao_telescience.c +++ b/src/product/ao_telescience.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_teleterra.c b/src/product/ao_teleterra.c index e739ae0b..0142f9e3 100644 --- a/src/product/ao_teleterra.c +++ b/src/product/ao_teleterra.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_teleterra_0_2.c b/src/product/ao_teleterra_0_2.c index 4f7530f7..4e865378 100644 --- a/src/product/ao_teleterra_0_2.c +++ b/src/product/ao_teleterra_0_2.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_terraui.c b/src/product/ao_terraui.c index 1e7b5dcd..c2bbc30e 100644 --- a/src/product/ao_terraui.c +++ b/src/product/ao_terraui.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_test.c b/src/product/ao_test.c index 273a73b5..d1c60804 100644 --- a/src/product/ao_test.c +++ b/src/product/ao_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/product/ao_tidongle.c b/src/product/ao_tidongle.c index b1a96bdd..77321a02 100644 --- a/src/product/ao_tidongle.c +++ b/src/product/ao_tidongle.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/spiradio-v0.1/ao_pins.h b/src/spiradio-v0.1/ao_pins.h index cf01c9c6..472da16f 100644 --- a/src/spiradio-v0.1/ao_pins.h +++ b/src/spiradio-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/spiradio-v0.1/ao_spiradio.c b/src/spiradio-v0.1/ao_spiradio.c index de9ea706..07d33aa4 100644 --- a/src/spiradio-v0.1/ao_spiradio.c +++ b/src/spiradio-v0.1/ao_spiradio.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm-bringup/ao.h b/src/stm-bringup/ao.h index 2c7d5282..29d0d716 100644 --- a/src/stm-bringup/ao.h +++ b/src/stm-bringup/ao.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm-bringup/bringup.c b/src/stm-bringup/bringup.c index c5fad4a3..b9c6d5d6 100644 --- a/src/stm-bringup/bringup.c +++ b/src/stm-bringup/bringup.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm-bringup/bringup.ld b/src/stm-bringup/bringup.ld index 10d50cd6..dcdcf073 100644 --- a/src/stm-bringup/bringup.ld +++ b/src/stm-bringup/bringup.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm-demo/ao_demo.c b/src/stm-demo/ao_demo.c index ffc5d2d8..db432c2a 100644 --- a/src/stm-demo/ao_demo.c +++ b/src/stm-demo/ao_demo.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm-demo/ao_pins.h b/src/stm-demo/ao_pins.h index 885b9db6..233537df 100644 --- a/src/stm-demo/ao_pins.h +++ b/src/stm-demo/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm-demo/flash-loader/ao_pins.h b/src/stm-demo/flash-loader/ao_pins.h index 4c59101a..eb5fcb8b 100644 --- a/src/stm-demo/flash-loader/ao_pins.h +++ b/src/stm-demo/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm-flash/ao_pins.h b/src/stm-flash/ao_pins.h index d6c72653..853b6841 100644 --- a/src/stm-flash/ao_pins.h +++ b/src/stm-flash/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/altos-loader.ld b/src/stm/altos-loader.ld index 0753f5f7..a4a7dc43 100644 --- a/src/stm/altos-loader.ld +++ b/src/stm/altos-loader.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/altos-ram.ld b/src/stm/altos-ram.ld index 1143a08b..098454e1 100644 --- a/src/stm/altos-ram.ld +++ b/src/stm/altos-ram.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/altos.ld b/src/stm/altos.ld index 3106cc3b..6a8c7113 100644 --- a/src/stm/altos.ld +++ b/src/stm/altos.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_adc_stm.c b/src/stm/ao_adc_stm.c index 67416a9d..77f121dc 100644 --- a/src/stm/ao_adc_stm.c +++ b/src/stm/ao_adc_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_arch.h b/src/stm/ao_arch.h index f9508b8f..0cc29376 100644 --- a/src/stm/ao_arch.h +++ b/src/stm/ao_arch.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_arch_funcs.h b/src/stm/ao_arch_funcs.h index a796891d..18ca20da 100644 --- a/src/stm/ao_arch_funcs.h +++ b/src/stm/ao_arch_funcs.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -136,7 +137,7 @@ void  ao_spi_recv(void *block, uint16_t len, uint8_t spi_index);  void -ao_spi_duplex(void *out, void *in, uint16_t len, uint8_t spi_index); +ao_spi_duplex(const void *out, void *in, uint16_t len, uint8_t spi_index);  extern uint16_t	ao_spi_speed[STM_NUM_SPI]; diff --git a/src/stm/ao_beep_stm.c b/src/stm/ao_beep_stm.c index a95d869b..0b4e6012 100644 --- a/src/stm/ao_beep_stm.c +++ b/src/stm/ao_beep_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_boot_chain.c b/src/stm/ao_boot_chain.c index bcebf033..488af1e1 100644 --- a/src/stm/ao_boot_chain.c +++ b/src/stm/ao_boot_chain.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_boot_pin.c b/src/stm/ao_boot_pin.c index e825b618..4b5dc2ac 100644 --- a/src/stm/ao_boot_pin.c +++ b/src/stm/ao_boot_pin.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_dma_stm.c b/src/stm/ao_dma_stm.c index 0135de48..6d779660 100644 --- a/src/stm/ao_dma_stm.c +++ b/src/stm/ao_dma_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_eeprom_stm.c b/src/stm/ao_eeprom_stm.c index 4207a860..05f880b8 100644 --- a/src/stm/ao_eeprom_stm.c +++ b/src/stm/ao_eeprom_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_exti.h b/src/stm/ao_exti.h index ebea224d..4f3e6132 100644 --- a/src/stm/ao_exti.h +++ b/src/stm/ao_exti.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_exti_stm.c b/src/stm/ao_exti_stm.c index 925f9a22..3e0b3e5c 100644 --- a/src/stm/ao_exti_stm.c +++ b/src/stm/ao_exti_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_fast_timer.c b/src/stm/ao_fast_timer.c index 9a73eb51..f4378ca8 100644 --- a/src/stm/ao_fast_timer.c +++ b/src/stm/ao_fast_timer.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_flash.h b/src/stm/ao_flash.h index 09ca5ac1..d191d80d 100644 --- a/src/stm/ao_flash.h +++ b/src/stm/ao_flash.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_flash_loader_stm.c b/src/stm/ao_flash_loader_stm.c index 6bf89234..a8d1701b 100644 --- a/src/stm/ao_flash_loader_stm.c +++ b/src/stm/ao_flash_loader_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_flash_stm.c b/src/stm/ao_flash_stm.c index 39dc8144..c1648421 100644 --- a/src/stm/ao_flash_stm.c +++ b/src/stm/ao_flash_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_flash_stm_pins.h b/src/stm/ao_flash_stm_pins.h index d157a226..d5893c80 100644 --- a/src/stm/ao_flash_stm_pins.h +++ b/src/stm/ao_flash_stm_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_i2c_stm.c b/src/stm/ao_i2c_stm.c index 158f5b21..29a8f173 100644 --- a/src/stm/ao_i2c_stm.c +++ b/src/stm/ao_i2c_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -137,7 +138,7 @@ ao_i2c_ev_isr(uint8_t index)  		ao_wakeup(&ao_i2c_state[index]);  	}  	if (sr1 & (1 << STM_I2C_SR1_RXNE)) { -		if (ao_i2c_recv_len[index]) {			 +		if (ao_i2c_recv_len[index]) {  			*(ao_i2c_recv_data[index]++) = stm_i2c->dr;  			if (!--ao_i2c_recv_len[index])  				ao_wakeup(&ao_i2c_recv_len[index]); @@ -254,7 +255,7 @@ ao_i2c_send(void *block, uint16_t len, uint8_t index, uint8_t stop)  			    (0 << STM_DMA_CCR_PINC) |  			    (0 << STM_DMA_CCR_CIRC) |  			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR)); -			    +  	ao_dma_start(tx_dma_index);  	ao_arch_block_interrupts();  	while (!ao_dma_done[tx_dma_index]) @@ -330,7 +331,7 @@ ao_i2c_recv(void *block, uint16_t len, uint8_t index, uint8_t stop)  				    block,  				    len,  				    (0 << STM_DMA_CCR_MEM2MEM) | -				    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | +				    (STM_DMA_CCR_PL_HIGH << STM_DMA_CCR_PL) |  				    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) |  				    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) |  				    (1 << STM_DMA_CCR_MINC) | diff --git a/src/stm/ao_interrupt.c b/src/stm/ao_interrupt.c index 56cce0c0..eb1ed0b5 100644 --- a/src/stm/ao_interrupt.c +++ b/src/stm/ao_interrupt.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_lcd_font.c b/src/stm/ao_lcd_font.c index 0d7d87c1..b1664b13 100644 --- a/src/stm/ao_lcd_font.c +++ b/src/stm/ao_lcd_font.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_lcd_stm.c b/src/stm/ao_lcd_stm.c index 95af53d1..10d5d620 100644 --- a/src/stm/ao_lcd_stm.c +++ b/src/stm/ao_lcd_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_lcd_stm.h b/src/stm/ao_lcd_stm.h index 14667546..1b769174 100644 --- a/src/stm/ao_lcd_stm.h +++ b/src/stm/ao_lcd_stm.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_led.c b/src/stm/ao_led.c index 9b61cf62..0f39befb 100644 --- a/src/stm/ao_led.c +++ b/src/stm/ao_led.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_mpu.h b/src/stm/ao_mpu.h index cc6132a5..f26e132a 100644 --- a/src/stm/ao_mpu.h +++ b/src/stm/ao_mpu.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_mpu_stm.c b/src/stm/ao_mpu_stm.c index 969d7446..b3102ff5 100644 --- a/src/stm/ao_mpu_stm.c +++ b/src/stm/ao_mpu_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_profile.c b/src/stm/ao_profile.c index 149ca29f..fc6bbad7 100644 --- a/src/stm/ao_profile.c +++ b/src/stm/ao_profile.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_profile.h b/src/stm/ao_profile.h index f8a0c25e..3bf8c0b0 100644 --- a/src/stm/ao_profile.h +++ b/src/stm/ao_profile.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_pwm_stm.c b/src/stm/ao_pwm_stm.c index ce1fa6f3..53000a17 100644 --- a/src/stm/ao_pwm_stm.c +++ b/src/stm/ao_pwm_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_romconfig.c b/src/stm/ao_romconfig.c index 5da15072..9d5fd6fb 100644 --- a/src/stm/ao_romconfig.c +++ b/src/stm/ao_romconfig.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_sample_profile_timer.c b/src/stm/ao_sample_profile_timer.c index d5af3a57..4471a01f 100644 --- a/src/stm/ao_sample_profile_timer.c +++ b/src/stm/ao_sample_profile_timer.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_sample_profile_timer.h b/src/stm/ao_sample_profile_timer.h index 1da1bfb4..f7ba486a 100644 --- a/src/stm/ao_sample_profile_timer.h +++ b/src/stm/ao_sample_profile_timer.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_serial_stm.c b/src/stm/ao_serial_stm.c index bf079060..db0be992 100644 --- a/src/stm/ao_serial_stm.c +++ b/src/stm/ao_serial_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_spi_stm.c b/src/stm/ao_spi_stm.c index 214092f6..05078f3b 100644 --- a/src/stm/ao_spi_stm.c +++ b/src/stm/ao_spi_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -85,6 +86,46 @@ validate_spi(struct stm_spi *stm_spi, int which, uint16_t len)  #endif  static void +ao_spi_set_dma_mosi(uint8_t id, const void *data, uint16_t len, uint32_t minc) +{ +	struct stm_spi *stm_spi = ao_spi_stm_info[id].stm_spi; +	uint8_t	mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; + +	ao_dma_set_transfer(mosi_dma_index, +			    &stm_spi->dr, +			    (void *) data, +			    len, +			    (0 << STM_DMA_CCR_MEM2MEM) | +			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | +			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | +			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | +			    (minc << STM_DMA_CCR_MINC) | +			    (0 << STM_DMA_CCR_PINC) | +			    (0 << STM_DMA_CCR_CIRC) | +			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR)); +} + +static void +ao_spi_set_dma_miso(uint8_t id, void *data, uint16_t len, uint32_t minc) +{ +	struct stm_spi *stm_spi = ao_spi_stm_info[id].stm_spi; +	uint8_t	miso_dma_index = ao_spi_stm_info[id].miso_dma_index; + +	ao_dma_set_transfer(miso_dma_index, +			    &stm_spi->dr, +			    data, +			    len, +			    (0 << STM_DMA_CCR_MEM2MEM) | +			    (STM_DMA_CCR_PL_HIGH << STM_DMA_CCR_PL) | +			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | +			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | +			    (minc << STM_DMA_CCR_MINC) | +			    (0 << STM_DMA_CCR_PINC) | +			    (0 << STM_DMA_CCR_CIRC) | +			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR)); +} + +static void  ao_spi_run(uint8_t id, uint8_t which, uint16_t len)  {  	struct stm_spi *stm_spi = ao_spi_stm_info[id].stm_spi; @@ -123,40 +164,15 @@ void  ao_spi_send(const void *block, uint16_t len, uint8_t spi_index)  {  	uint8_t id = AO_SPI_INDEX(spi_index); -	struct stm_spi *stm_spi = ao_spi_stm_info[id].stm_spi; -	uint8_t	mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; -	uint8_t	miso_dma_index = ao_spi_stm_info[id].miso_dma_index;  	/* Set up the transmit DMA to deliver data */ -	ao_dma_set_transfer(mosi_dma_index, -			    &stm_spi->dr, -			    (void *) block, -			    len, -			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | -			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | -			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | -			    (1 << STM_DMA_CCR_MINC) | -			    (0 << STM_DMA_CCR_PINC) | -			    (0 << STM_DMA_CCR_CIRC) | -			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR)); +	ao_spi_set_dma_mosi(id, block, len, 1);  	/* Set up the receive DMA -- when this is done, we know the SPI unit  	 * is idle. Without this, we'd have to poll waiting for the BSY bit to  	 * be cleared  	 */ -	ao_dma_set_transfer(miso_dma_index, -			    &stm_spi->dr, -			    &spi_dev_null, -			    len, -			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | -			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | -			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | -			    (0 << STM_DMA_CCR_MINC) | -			    (0 << STM_DMA_CCR_PINC) | -			    (0 << STM_DMA_CCR_CIRC) | -			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR)); +	ao_spi_set_dma_miso(id, &spi_dev_null, len, 0);  	ao_spi_run(id, 1, len);  } @@ -165,40 +181,15 @@ void  ao_spi_send_fixed(uint8_t value, uint16_t len, uint8_t spi_index)  {  	uint8_t id = AO_SPI_INDEX(spi_index); -	struct stm_spi *stm_spi = ao_spi_stm_info[id].stm_spi; -	uint8_t	mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; -	uint8_t	miso_dma_index = ao_spi_stm_info[id].miso_dma_index;  	/* Set up the transmit DMA to deliver data */ -	ao_dma_set_transfer(mosi_dma_index, -			    &stm_spi->dr, -			    &value, -			    len, -			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | -			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | -			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | -			    (0 << STM_DMA_CCR_MINC) | -			    (0 << STM_DMA_CCR_PINC) | -			    (0 << STM_DMA_CCR_CIRC) | -			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR)); +	ao_spi_set_dma_mosi(id, &value, len, 0);  	/* Set up the receive DMA -- when this is done, we know the SPI unit  	 * is idle. Without this, we'd have to poll waiting for the BSY bit to  	 * be cleared  	 */ -	ao_dma_set_transfer(miso_dma_index, -			    &stm_spi->dr, -			    &spi_dev_null, -			    len, -			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | -			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | -			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | -			    (0 << STM_DMA_CCR_MINC) | -			    (0 << STM_DMA_CCR_PINC) | -			    (0 << STM_DMA_CCR_CIRC) | -			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR)); +	ao_spi_set_dma_miso(id, &spi_dev_null, len, 0);  	ao_spi_run(id, 3, len);  } @@ -267,78 +258,29 @@ void  ao_spi_recv(void *block, uint16_t len, uint8_t spi_index)  {  	uint8_t		id = AO_SPI_INDEX(spi_index); -	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; -	uint8_t		mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; -	uint8_t		miso_dma_index = ao_spi_stm_info[id].miso_dma_index;  	spi_dev_null = 0xff;  	/* Set up transmit DMA to make the SPI hardware actually run */ -	ao_dma_set_transfer(mosi_dma_index, -			    &stm_spi->dr, -			    &spi_dev_null, -			    len, -			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | -			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | -			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | -			    (0 << STM_DMA_CCR_MINC) | -			    (0 << STM_DMA_CCR_PINC) | -			    (0 << STM_DMA_CCR_CIRC) | -			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR)); +	ao_spi_set_dma_mosi(id, &spi_dev_null, len, 0);  	/* Set up the receive DMA to capture data */ -	ao_dma_set_transfer(miso_dma_index, -			    &stm_spi->dr, -			    block, -			    len, -			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | -			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | -			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | -			    (1 << STM_DMA_CCR_MINC) | -			    (0 << STM_DMA_CCR_PINC) | -			    (0 << STM_DMA_CCR_CIRC) | -			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR)); +	ao_spi_set_dma_miso(id, block, len, 1);  	ao_spi_run(id, 9, len);  }  void -ao_spi_duplex(void *out, void *in, uint16_t len, uint8_t spi_index) +ao_spi_duplex(const void *out, void *in, uint16_t len, uint8_t spi_index)  {  	uint8_t		id = AO_SPI_INDEX(spi_index); -	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; -	uint8_t		mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; -	uint8_t		miso_dma_index = ao_spi_stm_info[id].miso_dma_index;  	/* Set up transmit DMA to send data */ -	ao_dma_set_transfer(mosi_dma_index, -			    &stm_spi->dr, -			    out, -			    len, -			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | -			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | -			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | -			    (1 << STM_DMA_CCR_MINC) | -			    (0 << STM_DMA_CCR_PINC) | -			    (0 << STM_DMA_CCR_CIRC) | -			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR)); +	ao_spi_set_dma_mosi(id, out, len, 1);  	/* Set up the receive DMA to capture data */ -	ao_dma_set_transfer(miso_dma_index, -			    &stm_spi->dr, -			    in, -			    len, -			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | -			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) | -			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) | -			    (1 << STM_DMA_CCR_MINC) | -			    (0 << STM_DMA_CCR_PINC) | -			    (0 << STM_DMA_CCR_CIRC) | -			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR)); +	ao_spi_set_dma_miso(id, in, len, 1); +  	ao_spi_run(id, 11, len);  } diff --git a/src/stm/ao_spi_stm_slave.c b/src/stm/ao_spi_stm_slave.c index 962ff2c6..5bb5105d 100644 --- a/src/stm/ao_spi_stm_slave.c +++ b/src/stm/ao_spi_stm_slave.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -54,7 +55,7 @@ ao_spi_slave_send(void *block, uint16_t len)  			    block,  			    len,  			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | +			    (STM_DMA_CCR_PL_HIGH << STM_DMA_CCR_PL) |  			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) |  			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) |  			    (1 << STM_DMA_CCR_MINC) | @@ -74,7 +75,7 @@ ao_spi_slave_send(void *block, uint16_t len)  			    &spi_dev_null,  			    len,  			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | +			    (STM_DMA_CCR_PL_VERY_HIGH << STM_DMA_CCR_PL) |  			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) |  			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) |  			    (0 << STM_DMA_CCR_MINC) | @@ -110,7 +111,7 @@ ao_spi_slave_recv(void *block, uint16_t len)  			    &spi_dev_null,  			    len,  			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | +			    (STM_DMA_CCR_PL_HIGH << STM_DMA_CCR_PL) |  			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) |  			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) |  			    (0 << STM_DMA_CCR_MINC) | @@ -127,7 +128,7 @@ ao_spi_slave_recv(void *block, uint16_t len)  			    block,  			    len,  			    (0 << STM_DMA_CCR_MEM2MEM) | -			    (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) | +			    (STM_DMA_CCR_PL_VERY_HIGH << STM_DMA_CCR_PL) |  			    (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) |  			    (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) |  			    (1 << STM_DMA_CCR_MINC) | diff --git a/src/stm/ao_timer.c b/src/stm/ao_timer.c index 91ede84b..f86a5116 100644 --- a/src/stm/ao_timer.c +++ b/src/stm/ao_timer.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/ao_usb_stm.c b/src/stm/ao_usb_stm.c index 3d26466b..0de501ab 100644 --- a/src/stm/ao_usb_stm.c +++ b/src/stm/ao_usb_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stm/stm32l.h b/src/stm/stm32l.h index 352214ff..463125e2 100644 --- a/src/stm/stm32l.h +++ b/src/stm/stm32l.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/Makefile-flash.defs b/src/stmf0/Makefile-flash.defs index 29d6ae45..804595bd 100644 --- a/src/stmf0/Makefile-flash.defs +++ b/src/stmf0/Makefile-flash.defs @@ -60,7 +60,7 @@ $(OBJ): $(INC)  distclean:	clean  clean: -	rm -f *.o $(HARDWARE)-$(PROGNAME)-*.elf +	rm -f *.o $(HARDWARE)-$(PROGNAME)-*.elf $(HARDWARE)-$(PROGNAME)-*.bin  	rm -f ao_product.h  install: diff --git a/src/stmf0/altos-loader.ld b/src/stmf0/altos-loader.ld index 86cf1838..c458116b 100644 --- a/src/stmf0/altos-loader.ld +++ b/src/stmf0/altos-loader.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/altos.ld b/src/stmf0/altos.ld index 9dbc83d0..8f8933c6 100644 --- a/src/stmf0/altos.ld +++ b/src/stmf0/altos.ld @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_adc_fast.c b/src/stmf0/ao_adc_fast.c index 0a2e2c5c..5ce3a396 100644 --- a/src/stmf0/ao_adc_fast.c +++ b/src/stmf0/ao_adc_fast.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -153,7 +154,7 @@ ao_adc_init(void)  #endif  	/* Set the clock */ -	stm_adc.cfgr2 = STM_ADC_CFGR2_CKMODE_PCLK_2 << STM_ADC_CFGR2_CKMODE; +	stm_adc.cfgr2 = STM_ADC_CFGR2_CKMODE_ADCCLK << STM_ADC_CFGR2_CKMODE;  	/* Shortest sample time */  	stm_adc.smpr = STM_ADC_SMPR_SMP_1_5 << STM_ADC_SMPR_SMP; diff --git a/src/stmf0/ao_adc_fast.h b/src/stmf0/ao_adc_fast.h index c6903e9f..b8b5e003 100644 --- a/src/stmf0/ao_adc_fast.h +++ b/src/stmf0/ao_adc_fast.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_arch.h b/src/stmf0/ao_arch.h index 2597cadc..a36482b6 100644 --- a/src/stmf0/ao_arch.h +++ b/src/stmf0/ao_arch.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -114,21 +115,14 @@ extern const uint32_t ao_radio_cal;  #endif  #define AO_HCLK		(AO_SYSCLK / AO_AHB_PRESCALER) -#define AO_PCLK1	(AO_HCLK / AO_APB1_PRESCALER) -#define AO_PCLK2	(AO_HCLK / AO_APB2_PRESCALER) +#define AO_PCLK		(AO_HCLK / AO_APB_PRESCALER)  #define AO_SYSTICK	(AO_HCLK)  #define AO_PANIC_DELAY_SCALE  (AO_SYSCLK / 12000000) -#if AO_APB1_PRESCALER == 1 -#define AO_TIM23467_CLK		AO_PCLK1 +#if AO_APB_PRESCALER == 1 +#define AO_TIM_CLK		AO_PCLK  #else -#define AO_TIM23467_CLK		(2 * AO_PCLK1) -#endif - -#if AO_APB2_PRESCALER == 1 -#define AO_TIM91011_CLK		AO_PCLK2 -#else -#define AO_TIM91011_CLK		(2 * AO_PCLK2) +#define AO_TIM_CLK		(2 * AO_PCLK)  #endif  #define AO_STM_NVIC_HIGH_PRIORITY	(0 << 6) diff --git a/src/stmf0/ao_arch_funcs.h b/src/stmf0/ao_arch_funcs.h index 64311b23..8b6234c4 100644 --- a/src/stmf0/ao_arch_funcs.h +++ b/src/stmf0/ao_arch_funcs.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -82,7 +83,57 @@ void  ao_spi_send_fixed(uint8_t value, uint16_t len, uint8_t spi_index);  void -ao_spi_send_sync(void *block, uint16_t len, uint8_t spi_index); +ao_spi_send_sync(const void *block, uint16_t len, uint8_t spi_index); + +void +ao_spi_start_bytes(uint8_t spi_index); + +void +ao_spi_stop_bytes(uint8_t spi_index); + +static inline void +ao_spi_send_byte(uint8_t byte, uint8_t spi_index) +{ +	struct stm_spi	*stm_spi; + +	switch (AO_SPI_INDEX(spi_index)) { +	case 0: +		stm_spi = &stm_spi1; +		break; +	case 1: +		stm_spi = &stm_spi2; +		break; +	} + +	while (!(stm_spi->sr & (1 << STM_SPI_SR_TXE))) +		; +	stm_spi->dr = byte; +	while (!(stm_spi->sr & (1 << STM_SPI_SR_RXNE))) +		; +	(void) stm_spi->dr; +} + +static inline uint8_t +ao_spi_recv_byte(uint8_t spi_index) +{ +	struct stm_spi	*stm_spi; + +	switch (AO_SPI_INDEX(spi_index)) { +	case 0: +		stm_spi = &stm_spi1; +		break; +	case 1: +		stm_spi = &stm_spi2; +		break; +	} + +	while (!(stm_spi->sr & (1 << STM_SPI_SR_TXE))) +		; +	stm_spi->dr = 0xff; +	while (!(stm_spi->sr & (1 << STM_SPI_SR_RXNE))) +		; +	return stm_spi->dr; +}  void  ao_spi_recv(void *block, uint16_t len, uint8_t spi_index); diff --git a/src/stmf0/ao_boot_chain.c b/src/stmf0/ao_boot_chain.c index 83a543a0..8f850a0a 100644 --- a/src/stmf0/ao_boot_chain.c +++ b/src/stmf0/ao_boot_chain.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_boot_pin.c b/src/stmf0/ao_boot_pin.c index e825b618..4b5dc2ac 100644 --- a/src/stmf0/ao_boot_pin.c +++ b/src/stmf0/ao_boot_pin.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_crc.h b/src/stmf0/ao_crc.h index cd011d3a..7acc6f9c 100644 --- a/src/stmf0/ao_crc.h +++ b/src/stmf0/ao_crc.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_crc_stm.c b/src/stmf0/ao_crc_stm.c index 863f5ef5..4eb4540e 100644 --- a/src/stmf0/ao_crc_stm.c +++ b/src/stmf0/ao_crc_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_dma_stm.c b/src/stmf0/ao_dma_stm.c index e90c6bf8..7045514c 100644 --- a/src/stmf0/ao_dma_stm.c +++ b/src/stmf0/ao_dma_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_exti.h b/src/stmf0/ao_exti.h index 192611bd..7452af8e 100644 --- a/src/stmf0/ao_exti.h +++ b/src/stmf0/ao_exti.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_exti_stm.c b/src/stmf0/ao_exti_stm.c index 910afcf7..910a36f2 100644 --- a/src/stmf0/ao_exti_stm.c +++ b/src/stmf0/ao_exti_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_flash.h b/src/stmf0/ao_flash.h index 09ca5ac1..d191d80d 100644 --- a/src/stmf0/ao_flash.h +++ b/src/stmf0/ao_flash.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_flash_loader_stm.c b/src/stmf0/ao_flash_loader_stm.c index 6bf89234..a8d1701b 100644 --- a/src/stmf0/ao_flash_loader_stm.c +++ b/src/stmf0/ao_flash_loader_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_flash_stm.c b/src/stmf0/ao_flash_stm.c index 5fe0e619..2aeff388 100644 --- a/src/stmf0/ao_flash_stm.c +++ b/src/stmf0/ao_flash_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_flash_stm_pins.h b/src/stmf0/ao_flash_stm_pins.h index ab60b4f3..80993b24 100644 --- a/src/stmf0/ao_flash_stm_pins.h +++ b/src/stmf0/ao_flash_stm_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_gpio.c b/src/stmf0/ao_gpio.c index c7bf0797..024ff948 100644 --- a/src/stmf0/ao_gpio.c +++ b/src/stmf0/ao_gpio.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_interrupt.c b/src/stmf0/ao_interrupt.c index c6d8ef34..79412483 100644 --- a/src/stmf0/ao_interrupt.c +++ b/src/stmf0/ao_interrupt.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_led.c b/src/stmf0/ao_led.c index 9b61cf62..0f39befb 100644 --- a/src/stmf0/ao_led.c +++ b/src/stmf0/ao_led.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_pwm.c b/src/stmf0/ao_pwm.c index c1e157f5..f1c10b0b 100644 --- a/src/stmf0/ao_pwm.c +++ b/src/stmf0/ao_pwm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_romconfig.c b/src/stmf0/ao_romconfig.c index 5da15072..9d5fd6fb 100644 --- a/src/stmf0/ao_romconfig.c +++ b/src/stmf0/ao_romconfig.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/ao_spi_stm.c b/src/stmf0/ao_spi_stm.c index 55bf59d2..0448ad8c 100644 --- a/src/stmf0/ao_spi_stm.c +++ b/src/stmf0/ao_spi_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -41,8 +42,6 @@ static const struct ao_spi_stm_info ao_spi_stm_info[STM_NUM_SPI] = {  static uint8_t	spi_dev_null; - -  #define SPI_CR2	((0 << STM_SPI_CR2_LDMA_TX) |				\  		 (0 << STM_SPI_CR2_LDMA_RX) |				\  		 (1 << STM_SPI_CR2_FRXTH) |				\ @@ -62,12 +61,86 @@ static uint8_t	spi_dev_null;  			 (0 << STM_SPI_CR2_TXDMAEN) |	\  			 (0 << STM_SPI_CR2_RXDMAEN)) +#if DEBUG +static struct { +	uint8_t	task; +	uint8_t	which; +	AO_TICK_TYPE tick; +	uint16_t len; +} spi_tasks[64]; +static uint8_t	spi_task_index; + +static void +validate_spi(struct stm_spi *stm_spi, int which, uint16_t len) +{ +	uint32_t	sr = stm_spi->sr; + +	if (stm_spi != &stm_spi2) +		return; +	spi_tasks[spi_task_index].task = ao_cur_task ? ao_cur_task->task_id : 0; +	spi_tasks[spi_task_index].which = which; +	spi_tasks[spi_task_index].tick = ao_time(); +	spi_tasks[spi_task_index].len = len; +	spi_task_index = (spi_task_index + 1) & (63); +	if (sr & (1 << STM_SPI_SR_FRE)) +		ao_panic(0x40 | 1); +	if (sr & (1 << STM_SPI_SR_BSY)) +		ao_panic(0x40 | 2); +	if (sr & (1 << STM_SPI_SR_OVR)) +		ao_panic(0x40 | 3); +	if (sr & (1 << STM_SPI_SR_MODF)) +		ao_panic(0x40 | 4); +	if (sr & (1 << STM_SPI_SR_UDR)) +		ao_panic(0x40 | 5); +	if ((sr & (1 << STM_SPI_SR_TXE)) == 0) +		ao_panic(0x40 | 6); +	if (sr & (1 << STM_SPI_SR_RXNE)) +		ao_panic(0x40 | 7); +	if (which != 5 && which != 6 && which != 13) +		if (ao_cur_task->task_id != ao_spi_mutex[1]) +			ao_panic(0x40 | 8); +} +#else +#define validate_spi(stm_spi, which, len) do { (void) (which); (void) (len); } while (0) +#endif + +static void +ao_spi_run(uint8_t id, uint8_t which, uint16_t len) +{ +	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; +	uint8_t		mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; +	uint8_t		miso_dma_index = ao_spi_stm_info[id].miso_dma_index; + +	validate_spi(stm_spi, which, len); + +	stm_spi->cr2 = SPI_CR2_DMA; + +	ao_dma_start(miso_dma_index); +	ao_dma_start(mosi_dma_index); + +	ao_arch_critical( +		while (!ao_dma_done[miso_dma_index]) +			ao_sleep(&ao_dma_done[miso_dma_index]); +		); + +	while ((stm_spi->sr & (1 << STM_SPI_SR_TXE)) == 0); +	while (stm_spi->sr & (1 << STM_SPI_SR_BSY)); + +	validate_spi(stm_spi, which+1, len); + +	stm_spi->cr2 = 0; + +	ao_dma_done_transfer(mosi_dma_index); +	ao_dma_done_transfer(miso_dma_index); +} +  void  ao_spi_send(const void *block, uint16_t len, uint8_t spi_index)  { -	struct stm_spi *stm_spi = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].stm_spi; -	uint8_t	mosi_dma_index = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].mosi_dma_index; -	uint8_t	miso_dma_index = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].miso_dma_index; +	uint8_t		id = AO_SPI_INDEX(spi_index); +	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; +	uint8_t		mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; +	uint8_t		miso_dma_index = ao_spi_stm_info[id].miso_dma_index;  	/* Set up the transmit DMA to deliver data */  	ao_dma_set_transfer(mosi_dma_index, @@ -84,9 +157,6 @@ ao_spi_send(const void *block, uint16_t len, uint8_t spi_index)  			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR) |  			    (0 << STM_DMA_CCR_TCIE)); -	/* Clear RXNE */ -	(void) stm_spi->dr; -  	/* Set up the receive DMA -- when this is done, we know the SPI unit  	 * is idle. Without this, we'd have to poll waiting for the BSY bit to  	 * be cleared @@ -105,24 +175,16 @@ ao_spi_send(const void *block, uint16_t len, uint8_t spi_index)  			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR) |  			    (1 << STM_DMA_CCR_TCIE)); -	stm_spi->cr2 = SPI_CR2_DMA; - -	ao_dma_start(miso_dma_index); -	ao_dma_start(mosi_dma_index); -	ao_arch_critical( -		while (!ao_dma_done[miso_dma_index]) -			ao_sleep(&ao_dma_done[miso_dma_index]); -		); -	ao_dma_done_transfer(mosi_dma_index); -	ao_dma_done_transfer(miso_dma_index); +	ao_spi_run(id, 1, len);  }  void  ao_spi_send_fixed(uint8_t value, uint16_t len, uint8_t spi_index)  { -	struct stm_spi *stm_spi = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].stm_spi; -	uint8_t	mosi_dma_index = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].mosi_dma_index; -	uint8_t	miso_dma_index = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].miso_dma_index; +	uint8_t		id = AO_SPI_INDEX(spi_index); +	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; +	uint8_t		mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; +	uint8_t		miso_dma_index = ao_spi_stm_info[id].miso_dma_index;  	/* Set up the transmit DMA to deliver data */  	ao_dma_set_transfer(mosi_dma_index, @@ -139,9 +201,6 @@ ao_spi_send_fixed(uint8_t value, uint16_t len, uint8_t spi_index)  			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR) |  			    (0 << STM_DMA_CCR_TCIE)); -	/* Clear RXNE */ -	(void) stm_spi->dr; -  	/* Set up the receive DMA -- when this is done, we know the SPI unit  	 * is idle. Without this, we'd have to poll waiting for the BSY bit to  	 * be cleared @@ -160,40 +219,67 @@ ao_spi_send_fixed(uint8_t value, uint16_t len, uint8_t spi_index)  			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR) |  			    (1 << STM_DMA_CCR_TCIE)); -	stm_spi->cr2 = SPI_CR2_DMA; -	ao_dma_start(miso_dma_index); -	ao_dma_start(mosi_dma_index); -	ao_arch_critical( -		while (!ao_dma_done[miso_dma_index]) -			ao_sleep(&ao_dma_done[miso_dma_index]); -		); -	ao_dma_done_transfer(mosi_dma_index); -	ao_dma_done_transfer(miso_dma_index); +	ao_spi_run(id, 3, len);  }  void -ao_spi_send_sync(void *block, uint16_t len, uint8_t spi_index) +ao_spi_start_bytes(uint8_t spi_index)  { -	uint8_t		*b = block; -	struct stm_spi	*stm_spi = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].stm_spi; +	uint8_t		id = AO_SPI_INDEX(spi_index); +	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi;  	stm_spi->cr2 = SPI_CR2_SYNC; +	validate_spi(stm_spi, 5, 0xffff); +} -	/* Clear RXNE */ +void +ao_spi_stop_bytes(uint8_t spi_index) +{ +	uint8_t		id = AO_SPI_INDEX(spi_index); +	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; + +	while ((stm_spi->sr & (1 << STM_SPI_SR_TXE)) == 0) +		; +	while (stm_spi->sr & (1 << STM_SPI_SR_BSY)) +		; +	/* Clear the OVR flag */  	(void) stm_spi->dr; +	(void) stm_spi->sr; +	validate_spi(stm_spi, 6, 0xffff); +	stm_spi->cr2 = 0; +} +void +ao_spi_send_sync(const void *block, uint16_t len, uint8_t spi_index) +{ +	uint8_t		id = AO_SPI_INDEX(spi_index); +	const uint8_t	*b = block; +	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; + +	stm_spi->cr2 = SPI_CR2_SYNC; + +	validate_spi(stm_spi, 7, len);  	while (len--) {  		while (!(stm_spi->sr & (1 << STM_SPI_SR_TXE)));  		stm_spi->dr = *b++;  	} +	while ((stm_spi->sr & (1 << STM_SPI_SR_TXE)) == 0) +		; +	while (stm_spi->sr & (1 << STM_SPI_SR_BSY)) +		; +	/* Clear the OVR flag */ +	(void) stm_spi->dr; +	(void) stm_spi->sr; +	validate_spi(stm_spi, 8, len);  }  void  ao_spi_recv(void *block, uint16_t len, uint8_t spi_index)  { -	struct stm_spi *stm_spi = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].stm_spi; -	uint8_t	mosi_dma_index = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].mosi_dma_index; -	uint8_t	miso_dma_index = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].miso_dma_index; +	uint8_t		id = AO_SPI_INDEX(spi_index); +	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; +	uint8_t		mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; +	uint8_t		miso_dma_index = ao_spi_stm_info[id].miso_dma_index;  	spi_dev_null = 0xff; @@ -212,9 +298,6 @@ ao_spi_recv(void *block, uint16_t len, uint8_t spi_index)  			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR) |  			    (0 << STM_DMA_CCR_TCIE)); -	/* Clear RXNE */ -	(void) stm_spi->dr; -  	/* Set up the receive DMA to capture data */  	ao_dma_set_transfer(miso_dma_index,  			    &stm_spi->dr, @@ -230,26 +313,16 @@ ao_spi_recv(void *block, uint16_t len, uint8_t spi_index)  			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR) |  			    (1 << STM_DMA_CCR_TCIE)); -	stm_spi->cr2 = SPI_CR2_DMA; -	ao_dma_start(miso_dma_index); -	ao_dma_start(mosi_dma_index); - -	/* Wait until the SPI unit is done */ -	ao_arch_critical( -		while (!ao_dma_done[miso_dma_index]) -			ao_sleep(&ao_dma_done[miso_dma_index]); -		); - -	ao_dma_done_transfer(mosi_dma_index); -	ao_dma_done_transfer(miso_dma_index); +	ao_spi_run(id, 9, len);  }  void  ao_spi_duplex(void *out, void *in, uint16_t len, uint8_t spi_index)  { -	struct stm_spi *stm_spi = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].stm_spi; -	uint8_t	mosi_dma_index = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].mosi_dma_index; -	uint8_t	miso_dma_index = ao_spi_stm_info[AO_SPI_INDEX(spi_index)].miso_dma_index; +	uint8_t		id = AO_SPI_INDEX(spi_index); +	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; +	uint8_t		mosi_dma_index = ao_spi_stm_info[id].mosi_dma_index; +	uint8_t		miso_dma_index = ao_spi_stm_info[id].miso_dma_index;  	/* Set up transmit DMA to send data */  	ao_dma_set_transfer(mosi_dma_index, @@ -266,9 +339,6 @@ ao_spi_duplex(void *out, void *in, uint16_t len, uint8_t spi_index)  			    (STM_DMA_CCR_DIR_MEM_TO_PER << STM_DMA_CCR_DIR) |  			    (0 << STM_DMA_CCR_TCIE)); -	/* Clear RXNE */ -	(void) stm_spi->dr; -  	/* Set up the receive DMA to capture data */  	ao_dma_set_transfer(miso_dma_index,  			    &stm_spi->dr, @@ -284,18 +354,7 @@ ao_spi_duplex(void *out, void *in, uint16_t len, uint8_t spi_index)  			    (STM_DMA_CCR_DIR_PER_TO_MEM << STM_DMA_CCR_DIR) |  			    (1 << STM_DMA_CCR_TCIE)); -	stm_spi->cr2 = SPI_CR2_DMA; -	ao_dma_start(miso_dma_index); -	ao_dma_start(mosi_dma_index); - -	/* Wait until the SPI unit is done */ -	ao_arch_critical( -		while (!ao_dma_done[miso_dma_index]) -			ao_sleep(&ao_dma_done[miso_dma_index]); -		); - -	ao_dma_done_transfer(mosi_dma_index); -	ao_dma_done_transfer(miso_dma_index); +	ao_spi_run(id, 11, len);  }  static void @@ -303,32 +362,24 @@ ao_spi_disable_index(uint8_t spi_index)  {  	/* Disable current config  	 */ -	switch (AO_SPI_INDEX(spi_index)) { -	case STM_SPI_INDEX(1): -		switch (spi_index) { -		case AO_SPI_1_PA5_PA6_PA7: -			stm_gpio_set(&stm_gpioa, 5, 1); -			stm_moder_set(&stm_gpioa, 5, STM_MODER_OUTPUT); -			stm_moder_set(&stm_gpioa, 6, STM_MODER_INPUT); -			stm_moder_set(&stm_gpioa, 7, STM_MODER_OUTPUT); -			break; -		case AO_SPI_1_PB3_PB4_PB5: -			stm_gpio_set(&stm_gpiob, 3, 1); -			stm_moder_set(&stm_gpiob, 3, STM_MODER_OUTPUT); -			stm_moder_set(&stm_gpiob, 4, STM_MODER_INPUT); -			stm_moder_set(&stm_gpiob, 5, STM_MODER_OUTPUT); -			break; -		} +	switch (spi_index) { +	case AO_SPI_1_PA5_PA6_PA7: +		stm_gpio_set(&stm_gpioa, 5, 1); +		stm_moder_set(&stm_gpioa, 5, STM_MODER_OUTPUT); +		stm_moder_set(&stm_gpioa, 6, STM_MODER_INPUT); +		stm_moder_set(&stm_gpioa, 7, STM_MODER_OUTPUT);  		break; -	case STM_SPI_INDEX(2): -		switch (spi_index) { -		case AO_SPI_2_PB13_PB14_PB15: -			stm_gpio_set(&stm_gpiob, 13, 1); -			stm_moder_set(&stm_gpiob, 13, STM_MODER_OUTPUT); -			stm_moder_set(&stm_gpiob, 14, STM_MODER_INPUT); -			stm_moder_set(&stm_gpiob, 15, STM_MODER_OUTPUT); -			break; -		} +	case AO_SPI_1_PB3_PB4_PB5: +		stm_gpio_set(&stm_gpiob, 3, 1); +		stm_moder_set(&stm_gpiob, 3, STM_MODER_OUTPUT); +		stm_moder_set(&stm_gpiob, 4, STM_MODER_INPUT); +		stm_moder_set(&stm_gpiob, 5, STM_MODER_OUTPUT); +		break; +	case AO_SPI_2_PB13_PB14_PB15: +		stm_gpio_set(&stm_gpiob, 13, 1); +		stm_moder_set(&stm_gpiob, 13, STM_MODER_OUTPUT); +		stm_moder_set(&stm_gpiob, 14, STM_MODER_INPUT); +		stm_moder_set(&stm_gpiob, 15, STM_MODER_OUTPUT);  		break;  	}  } @@ -336,29 +387,21 @@ ao_spi_disable_index(uint8_t spi_index)  static void  ao_spi_enable_index(uint8_t spi_index)  { -	switch (AO_SPI_INDEX(spi_index)) { -	case STM_SPI_INDEX(1): -		switch (spi_index) { -		case AO_SPI_1_PA5_PA6_PA7: -			stm_afr_set(&stm_gpioa, 5, STM_AFR_AF0); -			stm_afr_set(&stm_gpioa, 6, STM_AFR_AF0); -			stm_afr_set(&stm_gpioa, 7, STM_AFR_AF0); -			break; -		case AO_SPI_1_PB3_PB4_PB5: -			stm_afr_set(&stm_gpiob, 3, STM_AFR_AF0); -			stm_afr_set(&stm_gpiob, 4, STM_AFR_AF0); -			stm_afr_set(&stm_gpiob, 5, STM_AFR_AF0); -			break; -		} +	switch (spi_index) { +	case AO_SPI_1_PA5_PA6_PA7: +		stm_afr_set(&stm_gpioa, 5, STM_AFR_AF0); +		stm_afr_set(&stm_gpioa, 6, STM_AFR_AF0); +		stm_afr_set(&stm_gpioa, 7, STM_AFR_AF0);  		break; -	case STM_SPI_INDEX(2): -		switch (spi_index) { -		case AO_SPI_2_PB13_PB14_PB15: -			stm_afr_set(&stm_gpiob, 13, STM_AFR_AF0); -			stm_afr_set(&stm_gpiob, 14, STM_AFR_AF0); -			stm_afr_set(&stm_gpiob, 15, STM_AFR_AF0); -			break; -		} +	case AO_SPI_1_PB3_PB4_PB5: +		stm_afr_set(&stm_gpiob, 3, STM_AFR_AF0); +		stm_afr_set(&stm_gpiob, 4, STM_AFR_AF0); +		stm_afr_set(&stm_gpiob, 5, STM_AFR_AF0); +		break; +	case AO_SPI_2_PB13_PB14_PB15: +		stm_afr_set(&stm_gpiob, 13, STM_AFR_AF0); +		stm_afr_set(&stm_gpiob, 14, STM_AFR_AF0); +		stm_afr_set(&stm_gpiob, 15, STM_AFR_AF0);  		break;  	}  } @@ -369,6 +412,20 @@ ao_spi_config(uint8_t spi_index, uint32_t speed)  	uint8_t		id = AO_SPI_INDEX(spi_index);  	struct stm_spi	*stm_spi = ao_spi_stm_info[id].stm_spi; +	if (spi_index != ao_spi_index[id]) { + +		/* Disable old config +		 */ +		ao_spi_disable_index(ao_spi_index[id]); + +		/* Enable new config +		 */ +		ao_spi_enable_index(spi_index); + +		/* Remember current config +		 */ +		ao_spi_index[id] = spi_index; +	}  	stm_spi->cr2 = SPI_CR2;  	stm_spi->cr1 = ((0 << STM_SPI_CR1_BIDIMODE) |			/* Three wire mode */  			(0 << STM_SPI_CR1_BIDIOE) | @@ -384,21 +441,6 @@ ao_spi_config(uint8_t spi_index, uint32_t speed)  			(1 << STM_SPI_CR1_MSTR) |  			(0 << STM_SPI_CR1_CPOL) |			/* Format 0 */  			(0 << STM_SPI_CR1_CPHA)); - -	if (spi_index != ao_spi_index[id]) { - -		/* Disable old config -		 */ -		ao_spi_disable_index(ao_spi_index[id]); - -		/* Enable new config -		 */ -		ao_spi_enable_index(spi_index); - -		/* Remember current config -		 */ -		ao_spi_index[id] = spi_index; -	}  }  uint8_t @@ -439,10 +481,57 @@ ao_spi_channel_init(uint8_t spi_index)  	ao_spi_disable_index(spi_index);  	stm_spi->cr1 = 0; -	(void) stm_spi->sr;  	stm_spi->cr2 = SPI_CR2_SYNC; + +	/* Clear any pending data and error flags */ +	(void) stm_spi->dr; +	(void) stm_spi->sr;  } +#if DEBUG +void +ao_spi_dump_cmd(void) +{ +	int s; + +	for (s = 0; s < 64; s++) { +		int i = (spi_task_index + s) & 63; +		if (spi_tasks[i].which) { +			int t; +			const char *name = "(none)"; +			for (t = 0; t < ao_num_tasks; t++) +				if (ao_tasks[t]->task_id == spi_tasks[i].task) { +					name = ao_tasks[t]->name; +					break; +				} +			printf("%2d: %5d task %2d which %2d len %5d %s\n", +			       s, +			       spi_tasks[i].tick, +			       spi_tasks[i].task, +			       spi_tasks[i].which, +			       spi_tasks[i].len, +			       name); +		} +	} +	for (s = 0; s < STM_NUM_SPI; s++) { +		struct stm_spi *spi = ao_spi_stm_info[s].stm_spi; + +		printf("%1d: mutex %2d index %3d miso dma %3d mosi dma %3d", +		       s, ao_spi_mutex[s], ao_spi_index[s], +		       ao_spi_stm_info[s].miso_dma_index, +		       ao_spi_stm_info[s].mosi_dma_index); +		printf(" cr1 %04x cr2 %02x sr %03x\n", +		       spi->cr1, spi->cr2, spi->sr); +	} + +} + +static const struct ao_cmds ao_spi_cmds[] = { +	{ ao_spi_dump_cmd, 	"S\0Dump SPI status" }, +	{ 0, NULL } +}; +#endif +  void  ao_spi_init(void)  { @@ -475,4 +564,7 @@ ao_spi_init(void)  	ao_spi_index[1] = AO_SPI_CONFIG_NONE;  	ao_spi_channel_init(STM_SPI_INDEX(2));  #endif +#if DEBUG +	ao_cmd_register(&ao_spi_cmds[0]); +#endif  } diff --git a/src/stmf0/ao_timer.c b/src/stmf0/ao_timer.c index e5bf04a3..5c05e4f1 100644 --- a/src/stmf0/ao_timer.c +++ b/src/stmf0/ao_timer.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -175,13 +176,12 @@ ao_clock_normal_start(void)  	while (!(stm_rcc.cr & (1 << STM_RCC_CR_HSERDY)))  		asm("nop"); -#ifdef STM_PLLSRC  	/* Disable the PLL */  	stm_rcc.cr &= ~(1 << STM_RCC_CR_PLLON);  	while (stm_rcc.cr & (1 << STM_RCC_CR_PLLRDY))  		asm("nop"); -	/* PLLVCO to 48MHz (for USB) -> PLLMUL = 3 */ +	/* Set multiplier */  	cfgr = stm_rcc.cfgr;  	cfgr &= ~(STM_RCC_CFGR_PLLMUL_MASK << STM_RCC_CFGR_PLLMUL);  	cfgr |= (AO_RCC_CFGR_PLLMUL << STM_RCC_CFGR_PLLMUL); @@ -191,8 +191,8 @@ ao_clock_normal_start(void)  	cfgr |= (STM_RCC_CFGR_PLLSRC_TARGET_CLOCK  << STM_RCC_CFGR_PLLSRC);  	stm_rcc.cfgr = cfgr; -	/* Disable pre divider */ -	stm_rcc.cfgr2 = (STM_RCC_CFGR2_PREDIV_1 << STM_RCC_CFGR2_PREDIV); +	/* Set pre divider */ +	stm_rcc.cfgr2 = (AO_RCC_CFGR2_PLLDIV << STM_RCC_CFGR2_PREDIV);  	/* Enable the PLL and wait for it */  	stm_rcc.cr |= (1 << STM_RCC_CR_PLLON); @@ -201,9 +201,6 @@ ao_clock_normal_start(void)  #endif -#endif - -  #if AO_HSI48  #define STM_RCC_CFGR_SWS_TARGET_CLOCK		STM_RCC_CFGR_SWS_HSI48  #define STM_RCC_CFGR_SW_TARGET_CLOCK		STM_RCC_CFGR_SW_HSI48 @@ -225,6 +222,8 @@ ao_clock_normal_start(void)  #define STM_PLLSRC				STM_HSI  #define STM_RCC_CFGR_PLLSRC_TARGET_CLOCK	0  #endif + +  }  static void @@ -302,14 +301,34 @@ ao_clock_init(void)  	/* Clear reset flags */  	stm_rcc.csr |= (1 << STM_RCC_CSR_RMVF); +#ifdef AO_MCO_PORT +	cfgr = stm_rcc.cfgr; + +	/* Send PLL clock to MCO */ +	cfgr &= ~(STM_RCC_CFGR_MCO_MASK << STM_RCC_CFGR_MCO); +	cfgr |= (STM_RCC_CFGR_MCO_PLLCLK << STM_RCC_CFGR_MCO); + +	/* Divide by 1 */ +	cfgr &= ~(STM_RCC_CFGR_MCOPRE_DIV_MASK << STM_RCC_CFGR_MCOPRE); +	cfgr |= (STM_RCC_CFGR_MCOPRE_DIV_1 << STM_RCC_CFGR_MCOPRE); + +	/* Don't divide PLL */ +	cfgr |= (1 << STM_RCC_CFGR_PLL_NODIV); + +	stm_rcc.cfgr = cfgr; + +	ao_enable_port(AO_MCO_PORT); +	stm_ospeedr_set(AO_MCO_PORT, AO_MCO_PIN, STM_OSPEEDR_HIGH); +	stm_afr_set(AO_MCO_PORT, AO_MCO_PIN, AO_MCO_AF); +#endif +  #if DEBUG_THE_CLOCK  	/* Output SYSCLK on PA8 for measurments */  	stm_rcc.ahbenr |= (1 << STM_RCC_AHBENR_GPIOAEN);  	stm_afr_set(&stm_gpioa, 8, STM_AFR_AF0); -	stm_moder_set(&stm_gpioa, 8, STM_MODER_ALTERNATE); -	stm_ospeedr_set(&stm_gpioa, 8, STM_OSPEEDR_40MHz); +	stm_ospeedr_set(&stm_gpioa, 8, STM_OSPEEDR_HIGH);  	stm_rcc.cfgr |= (STM_RCC_CFGR_MCOPRE_DIV_1 << STM_RCC_CFGR_MCOPRE);  	stm_rcc.cfgr |= (STM_RCC_CFGR_MCOSEL_HSE << STM_RCC_CFGR_MCOSEL); diff --git a/src/stmf0/ao_usb_stm.c b/src/stmf0/ao_usb_stm.c index fb3d8c85..cbedb996 100644 --- a/src/stmf0/ao_usb_stm.c +++ b/src/stmf0/ao_usb_stm.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/stmf0/stm32f0.h b/src/stmf0/stm32f0.h index 33eb9c88..054200e0 100644 --- a/src/stmf0/stm32f0.h +++ b/src/stmf0/stm32f0.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -312,6 +313,15 @@ extern struct stm_rcc stm_rcc;  #define STM_RCC_CFGR_MCO	(24)  # define STM_RCC_CFGR_MCO_DISABLE	0 +# define STM_RCC_CFGR_MCO_RC		1 +# define STM_RCC_CFGR_MCO_LSI		2 +# define STM_RCC_CFGR_MCO_LSE		3 +# define STM_RCC_CFGR_MCO_SYSCLK	4 +# define STM_RCC_CFGR_MCO_HSI		5 +# define STM_RCC_CFGR_MCO_HSE		6 +# define STM_RCC_CFGR_MCO_PLLCLK	7 +# define STM_RCC_CFGR_MCO_HSI48		8 +# define STM_RCC_CFGR_MCO_MASK		(0xf)  #define STM_RCC_CFGR_PLLMUL	(18)  #define  STM_RCC_CFGR_PLLMUL_2		0 @@ -1344,6 +1354,290 @@ extern struct stm_i2c stm_i2c1, stm_i2c2;  #define STM_I2C_CCR_CCR		0  #define  STM_I2C_CCR_MASK	0x7ff +struct stm_tim1 { +	vuint32_t	cr1; +	vuint32_t	cr2; +	vuint32_t	smcr; +	vuint32_t	dier; + +	vuint32_t	sr; +	vuint32_t	egr; +	vuint32_t	ccmr1; +	vuint32_t	ccmr2; + +	vuint32_t	ccer; +	vuint32_t	cnt; +	vuint32_t	psc; +	vuint32_t	arr; + +	vuint32_t	rcr; +	vuint32_t	ccr1; +	vuint32_t	ccr2; +	vuint32_t	ccr3; + +	vuint32_t	ccr4; +	vuint32_t	bdtr; +	vuint32_t	dcr; +	vuint32_t	dmar; +}; + +#define STM_TIM1_CR1_CKD	8 +#define  STM_TIM1_CR1_CKD_1		0 +#define  STM_TIM1_CR1_CKD_2		1 +#define  STM_TIM1_CR1_CKD_4		2 + +#define STM_TIM1_CR1_ARPE	7 + +#define STM_TIM1_CR1_CMS	5 +#define  STM_TIM1_CR1_CMS_EDGE		0 +#define  STM_TIM1_CR1_CMS_CENTER_1	1 +#define  STM_TIM1_CR1_CMS_CENTER_2	2 +#define  STM_TIM1_CR1_CMS_CENTER_3	3 + +#define STM_TIM1_CR1_DIR	4 +#define  STM_TIM1_CR1_DIR_UP		0 +#define  STM_TIM1_CR1_DIR_DOWn		1 +#define STM_TIM1_CR1_OPM	3 +#define STM_TIM1_CR1_URS	2 +#define STM_TIM1_CR1_UDIS	1 +#define STM_TIM1_CR1_CEN	0 + +#define STM_TIM1_CR2_OIS4	14 +#define STM_TIM1_CR2_OIS3N	13 +#define STM_TIM1_CR2_OIS3	12 +#define STM_TIM1_CR2_OIS2N	11 +#define STM_TIM1_CR2_OIS2	10 +#define STM_TIM1_CR2_OIS1N	9 +#define STM_TIM1_CR2_OSI1	8 +#define STM_TIM1_CR2_TI1S	7 +#define STM_TIM1_CR2_MMS	4 +#define  STM_TIM1_CR2_MMS_RESET			0 +#define  STM_TIM1_CR2_MMS_ENABLE		1 +#define  STM_TIM1_CR2_MMS_UPDATE		2 +#define  STM_TIM1_CR2_MMS_COMPARE_PULSE		3 +#define  STM_TIM1_CR2_MMS_COMPARE_OC1REF	4 +#define  STM_TIM1_CR2_MMS_COMPARE_OC2REF	5 +#define  STM_TIM1_CR2_MMS_COMPARE_OC3REF	6 +#define  STM_TIM1_CR2_MMS_COMPARE_OC4REF	7 +#define STM_TIM1_CR2_CCDS	3 +#define STM_TIM1_CR2_CCUS	2 +#define STM_TIM1_CR2_CCPC	0 + +#define STM_TIM1_SMCR_ETP	15 +#define STM_TIM1_SMCR_ECE	14 +#define STM_TIM1_SMCR_ETPS	12 +#define  STM_TIM1_SMCR_ETPS_OFF		0 +#define  STM_TIM1_SMCR_ETPS_DIV_2	1 +#define  STM_TIM1_SMCR_ETPS_DIV_4	2 +#define  STM_TIM1_SMCR_ETPS_DIV_8	3 + +#define STM_TIM1_SMCR_ETF	8 +#define  STM_TIM1_SMCR_ETF_NONE		0 +#define  STM_TIM1_SMCR_ETF_DIV_1_N_2	1 +#define  STM_TIM1_SMCR_ETF_DIV_1_N_4	2 +#define  STM_TIM1_SMCR_ETF_DIV_1_N_8	3 +#define  STM_TIM1_SMCR_ETF_DIV_2_N_6	4 +#define  STM_TIM1_SMCR_ETF_DIV_2_N_8	5 +#define  STM_TIM1_SMCR_ETF_DIV_4_N_6	6 +#define  STM_TIM1_SMCR_ETF_DIV_4_N_8	7 +#define  STM_TIM1_SMCR_ETF_DIV_8_N_6	8 +#define  STM_TIM1_SMCR_ETF_DIV_8_N_8	9 +#define  STM_TIM1_SMCR_ETF_DIV_16_N_5	10 +#define  STM_TIM1_SMCR_ETF_DIV_16_N_6	11 +#define  STM_TIM1_SMCR_ETF_DIV_16_N_8	12 +#define  STM_TIM1_SMCR_ETF_DIV_32_N_5	13 +#define  STM_TIM1_SMCR_ETF_DIV_32_N_6	14 +#define  STM_TIM1_SMCR_ETF_DIV_32_N_8	15 + +#define STM_TIM1_SMCR_MSM	7 +#define STM_TIM1_SMCR_TS	4 +#define  STM_TIM1_SMCR_TS_ITR0		0 +#define  STM_TIM1_SMCR_TS_ITR1		1 +#define  STM_TIM1_SMCR_TS_ITR2		2 +#define  STM_TIM1_SMCR_TS_ITR3		3 +#define  STM_TIM1_SMCR_TS_TI1F_ED	4 +#define  STM_TIM1_SMCR_TS_TI1FP1	5 +#define  STM_TIM1_SMCR_TS_TI2FP2	6 +#define  STM_TIM1_SMCR_TS_ETRF		7 + +#define STM_TIM1_SMCR_OCCS	3 +#define STM_TIM1_SMCR_SMS	0 +#define  STM_TIM1_SMCR_SMS_DISABLE	0 +#define  STM_TIM1_SMCR_SMS_ENCODER_1	1 +#define  STM_TIM1_SMCR_SMS_ENCODER_2	2 +#define  STM_TIM1_SMCR_SMS_ENCODER_3	3 +#define  STM_TIM1_SMCR_SMS_RESET	4 +#define  STM_TIM1_SMCR_SMS_GATED	5 +#define  STM_TIM1_SMCR_SMS_TRIGGER	6 +#define  STM_TIM1_SMCR_SMS_EXTERNAL	7 + +#define STM_TIM1_DIER_TDE	14 +#define STM_TIM1_DIER_COMDE	13 +#define STM_TIM1_DIER_CC4DE	12 +#define STM_TIM1_DIER_CC3DE	11 +#define STM_TIM1_DIER_CC2DE	10 +#define STM_TIM1_DIER_CC1DE	9 +#define STM_TIM1_DIER_UDE	8 +#define STM_TIM1_DIER_BIE	7 +#define STM_TIM1_DIER_TIE	6 +#define STM_TIM1_DIER_COMIE	5 +#define STM_TIM1_DIER_CC4IE	4 +#define STM_TIM1_DIER_CC3IE	3 +#define STM_TIM1_DIER_CC2IE	2 +#define STM_TIM1_DIER_CC1IE	1 +#define STM_TIM1_DIER_UIE	0 + +#define STM_TIM1_SR_CC4OF	12 +#define STM_TIM1_SR_CC3OF	11 +#define STM_TIM1_SR_CC2OF	10 +#define STM_TIM1_SR_CC1OF	9 +#define STM_TIM1_SR_BIF		7 +#define STM_TIM1_SR_TIF		6 +#define STM_TIM1_SR_COMIF	5 +#define STM_TIM1_SR_CC4IF	4 +#define STM_TIM1_SR_CC3IF	3 +#define STM_TIM1_SR_CC2IF	2 +#define STM_TIM1_SR_CC1IF	1 +#define STM_TIM1_SR_UIF		0 + +#define STM_TIM1_EGR_BG		7 +#define STM_TIM1_EGR_TG		6 +#define STM_TIM1_EGR_COMG	5 +#define STM_TIM1_EGR_CC4G	4 +#define STM_TIM1_EGR_CC3G	3 +#define STM_TIM1_EGR_CC2G	2 +#define STM_TIM1_EGR_CC1G	1 +#define STM_TIM1_EGR_UG		0 + +#define STM_TIM1_CCMR1_OC2CE	15 +#define STM_TIM1_CCMR1_OC2M	12 +#define STM_TIM1_CCMR1_OC2PE	11 +#define STM_TIM1_CCMR1_OC2FE	10 +#define STM_TIM1_CCMR1_CC2S	8 +#define STM_TIM1_CCMR1_OC1CE	7 +#define STM_TIM1_CCMR1_OC1M	4 +#define  STM_TIM1_CCMR_OCM_FROZEN		0 +#define  STM_TIM1_CCMR_OCM_1_HIGH_MATCH		1 +#define  STM_TIM1_CCMR_OCM_1_LOW_MATCH		2 +#define  STM_TIM1_CCMR_OCM_TOGGLE		3 +#define  STM_TIM1_CCMR_OCM_FORCE_LOW		4 +#define  STM_TIM1_CCMR_OCM_FORCE_HIGH		5 +#define  STM_TIM1_CCMR_OCM_PWM_MODE_1		6 +#define  STM_TIM1_CCMR_OCM_PWM_MODE_2		7 + +#define STM_TIM1_CCMR1_OC1PE	3 +#define STM_TIM1_CCMR1_OC1FE	2 +#define STM_TIM1_CCMR1_CC1S	0 +#define  STM_TIM1_CCMR_CCS_OUTPUT	0 +#define  STM_TIM1_CCMR_CCS_INPUT_TI1	1 +#define  STM_TIM1_CCMR_CCS_INPUT_TI2	2 +#define  STM_TIM1_CCMR_CCS_INPUT_TRC	3 + +#define STM_TIM1_CCMR1_IC2F	12 +#define STM_TIM1_CCMR1_IC2PSC	10 +#define STM_TIM1_CCMR1_CC2S	8 +#define STM_TIM1_CCMR1_IC1F	4 +#define  STM_TIM1_CCMR1_IC1F_NONE	0 +#define  STM_TIM1_CCMR1_IC1F_DIV_1_N_2	1 +#define  STM_TIM1_CCMR1_IC1F_DIV_1_N_4	2 +#define  STM_TIM1_CCMR1_IC1F_DIV_1_N_8	3 +#define  STM_TIM1_CCMR1_IC1F_DIV_2_N_6	4 +#define  STM_TIM1_CCMR1_IC1F_DIV_2_N_8	5 +#define  STM_TIM1_CCMR1_IC1F_DIV_4_N_6	6 +#define  STM_TIM1_CCMR1_IC1F_DIV_4_N_8	7 +#define  STM_TIM1_CCMR1_IC1F_DIV_8_N_6	8 +#define  STM_TIM1_CCMR1_IC1F_DIV_8_N_8	9 +#define  STM_TIM1_CCMR1_IC1F_DIV_16_N_5	10 +#define  STM_TIM1_CCMR1_IC1F_DIV_16_N_6	11 +#define  STM_TIM1_CCMR1_IC1F_DIV_16_N_8	12 +#define  STM_TIM1_CCMR1_IC1F_DIV_32_N_5	13 +#define  STM_TIM1_CCMR1_IC1F_DIV_32_N_6	14 +#define  STM_TIM1_CCMR1_IC1F_DIV_32_N_8	15 + +#define STM_TIM1_CCMR1_IC1PSC	2 +#define  STM_TIM1_CCMR1_IC1PSC_NONE	0 +#define  STM_TIM1_CCMR1_IC1PSC_2	1 +#define  STM_TIM1_CCMR1_IC1PSC_4	2 +#define  STM_TIM1_CCMR1_IC1PSC_8	3 + +#define STM_TIM1_CCMR1_CC1S	0 +#define  STM_TIM1_CCMR1_CC1S_OUTPUT	0 +#define  STM_TIM1_CCMR1_CC1S_TI1	1 +#define  STM_TIM1_CCMR1_CC1S_TI2	2 +#define  STM_TIM1_CCMR1_CC1S_TRC	3 + +#define STM_TIM1_CCMR2_OC4CE	15 +#define STM_TIM1_CCMR2_OC4M	12 +#define STM_TIM1_CCMR2_OC4PE	11 +#define STM_TIM1_CCMR2_OC4FE	10 +#define STM_TIM1_CCMR2_CC4S	8 +#define  STM_TIM1_CCMR2_CCS_OUTPUT	0 +#define  STM_TIM1_CCMR2_CCS_INPUT_TI3	1 +#define  STM_TIM1_CCMR2_CCS_INPUT_TI4	2 +#define  STM_TIM1_CCMR2_CCS_INPUT_TRC	3 +#define STM_TIM1_CCMR2_OC3CE	7 +#define STM_TIM1_CCMR2_OC3M	4 +#define STM_TIM1_CCMR2_OC3PE	3 +#define STM_TIM1_CCMR2_OC3FE	2 +#define STM_TIM1_CCMR2_CC3S	0 + +#define STM_TIM1_CCMR2_IC4F	12 +#define STM_TIM1_CCMR2_IC2PSC	10 +#define STM_TIM1_CCMR2_CC4S	8 +#define STM_TIM1_CCMR2_IC3F	4 +#define  STM_TIM1_CCMR2_IC1F_NONE	0 +#define  STM_TIM1_CCMR2_IC1F_DIV_1_N_2	1 +#define  STM_TIM1_CCMR2_IC1F_DIV_1_N_4	2 +#define  STM_TIM1_CCMR2_IC1F_DIV_1_N_8	3 +#define  STM_TIM1_CCMR2_IC1F_DIV_2_N_6	4 +#define  STM_TIM1_CCMR2_IC1F_DIV_2_N_8	5 +#define  STM_TIM1_CCMR2_IC1F_DIV_4_N_6	6 +#define  STM_TIM1_CCMR2_IC1F_DIV_4_N_8	7 +#define  STM_TIM1_CCMR2_IC1F_DIV_8_N_6	8 +#define  STM_TIM1_CCMR2_IC1F_DIV_8_N_8	9 +#define  STM_TIM1_CCMR2_IC1F_DIV_16_N_5	10 +#define  STM_TIM1_CCMR2_IC1F_DIV_16_N_6	11 +#define  STM_TIM1_CCMR2_IC1F_DIV_16_N_8	12 +#define  STM_TIM1_CCMR2_IC1F_DIV_32_N_5	13 +#define  STM_TIM1_CCMR2_IC1F_DIV_32_N_6	14 +#define  STM_TIM1_CCMR2_IC1F_DIV_32_N_8	15 + +#define STM_TIM1_CCER_CC4P	13 +#define STM_TIM1_CCER_CC4E	12 +#define STM_TIM1_CCER_CC3NP	11 +#define STM_TIM1_CCER_CC3NE	10 +#define STM_TIM1_CCER_CC3P	9 +#define STM_TIM1_CCER_CC3E	8 +#define STM_TIM1_CCER_CC2NP	7 +#define STM_TIM1_CCER_CC2NE	6 +#define STM_TIM1_CCER_CC2P	5 +#define STM_TIM1_CCER_CC2E	4 +#define STM_TIM1_CCER_CC1BP	3 +#define STM_TIM1_CCER_CC1NE	2 +#define STM_TIM1_CCER_CC1P	1 +#define STM_TIM1_CCER_CC1E	0 + +#define STM_TIM1_BDTR_MOE	15 +#define STM_TIM1_BDTR_AOE	14 +#define STM_TIM1_BDTR_BKP	13 +#define STM_TIM1_BDTR_BKE	12 +#define STM_TIM1_BDTR_OSSR	11 +#define STM_TIM1_BDTR_OSSI	10 +#define STM_TIM1_BDTR_LOCK	8 +#define  STM_TIM1_BDTR_LOCK_OFF		0 +#define  STM_TIM1_BDTR_LOCK_LEVEL_1	1 +#define  STM_TIM1_BDTR_LOCK_LEVEL_2	2 +#define  STM_TIM1_BDTR_LOCK_LEVEL_3	3 + +#define STM_TIM1_BDTR_DTG	0 + +#define STM_TIM1_DCR_DBL	8 +#define STM_TIM1_DCR_DBA	0 + +extern struct stm_tim1 stm_tim1; + +#define stm_tim1	(*(struct stm_tim1 *)0x40012c00) +  struct stm_tim23 {  	vuint32_t	cr1;  	vuint32_t	cr2; @@ -1518,15 +1812,15 @@ extern struct stm_tim23 stm_tim2, stm_tim3;  #define STM_TIM23_CCMR2_OC4CE	15  #define STM_TIM23_CCMR2_OC4M	12 -#define  STM_TIM23_CCMR2_OC4M_FROZEN			0 -#define  STM_TIM23_CCMR2_OC4M_SET_HIGH_ON_MATCH	1 -#define  STM_TIM23_CCMR2_OC4M_SET_LOW_ON_MATCH		2 -#define  STM_TIM23_CCMR2_OC4M_TOGGLE			3 -#define  STM_TIM23_CCMR2_OC4M_FORCE_LOW			4 -#define  STM_TIM23_CCMR2_OC4M_FORCE_HIGH		5 -#define  STM_TIM23_CCMR2_OC4M_PWM_MODE_1		6 -#define  STM_TIM23_CCMR2_OC4M_PWM_MODE_2		7 -#define  STM_TIM23_CCMR2_OC4M_MASK			7 +#define  STM_TIM23_CCMR2_OCM_FROZEN			0 +#define  STM_TIM23_CCMR2_OCM_SET_HIGH_ON_MATCH	1 +#define  STM_TIM23_CCMR2_OCM_SET_LOW_ON_MATCH		2 +#define  STM_TIM23_CCMR2_OCM_TOGGLE			3 +#define  STM_TIM23_CCMR2_OCM_FORCE_LOW			4 +#define  STM_TIM23_CCMR2_OCM_FORCE_HIGH			5 +#define  STM_TIM23_CCMR2_OCM_PWM_MODE_1			6 +#define  STM_TIM23_CCMR2_OCM_PWM_MODE_2			7 +#define  STM_TIM23_CCMR2_OCM_MASK			7  #define STM_TIM23_CCMR2_OC4PE	11  #define STM_TIM23_CCMR2_OC4FE	10  #define STM_TIM23_CCMR2_CC4S	8 @@ -1538,15 +1832,15 @@ extern struct stm_tim23 stm_tim2, stm_tim3;  #define STM_TIM23_CCMR2_OC3CE	7  #define STM_TIM23_CCMR2_OC3M	4 -#define  STM_TIM23_CCMR2_OC3M_FROZEN			0 -#define  STM_TIM23_CCMR2_OC3M_SET_HIGH_ON_MATCH		1 -#define  STM_TIM23_CCMR2_OC3M_SET_LOW_ON_MATCH		2 -#define  STM_TIM23_CCMR2_OC3M_TOGGLE			3 -#define  STM_TIM23_CCMR2_OC3M_FORCE_LOW			4 -#define  STM_TIM23_CCMR2_OC3M_FORCE_HIGH		5 +#define  STM_TIM23_CCMR2_OCM_FROZEN			0 +#define  STM_TIM23_CCMR2_OCM_SET_HIGH_ON_MATCH		1 +#define  STM_TIM23_CCMR2_OCM_SET_LOW_ON_MATCH		2 +#define  STM_TIM23_CCMR2_OCM_TOGGLE			3 +#define  STM_TIM23_CCMR2_OCM_FORCE_LOW			4 +#define  STM_TIM23_CCMR2_OCM_FORCE_HIGH			5  #define  STM_TIM23_CCMR2_OC3M_PWM_MODE_1		6 -#define  STM_TIM23_CCMR2_OC3M_PWM_MODE_2		7 -#define  STM_TIM23_CCMR2_OC3M_MASK			7 +#define  STM_TIM23_CCMR2_OCM_PWM_MODE_2			7 +#define  STM_TIM23_CCMR2_OCM_MASK			7  #define STM_TIM23_CCMR2_OC3PE	11  #define STM_TIM23_CCMR2_OC3FE	2  #define STM_TIM23_CCMR2_CC3S	0 diff --git a/src/teleballoon-v1.1/ao_pins.h b/src/teleballoon-v1.1/ao_pins.h index 4c23ca88..2bf4d593 100644 --- a/src/teleballoon-v1.1/ao_pins.h +++ b/src/teleballoon-v1.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teleballoon-v1.1/ao_teleballoon.c b/src/teleballoon-v1.1/ao_teleballoon.c index 867e98ab..bdbf91d4 100644 --- a/src/teleballoon-v1.1/ao_teleballoon.c +++ b/src/teleballoon-v1.1/ao_teleballoon.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teleballoon-v2.0/ao_pins.h b/src/teleballoon-v2.0/ao_pins.h index b62b5580..746bb3ee 100644 --- a/src/teleballoon-v2.0/ao_pins.h +++ b/src/teleballoon-v2.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teleballoon-v2.0/ao_teleballoon.c b/src/teleballoon-v2.0/ao_teleballoon.c index 9b506814..2432c272 100644 --- a/src/teleballoon-v2.0/ao_teleballoon.c +++ b/src/teleballoon-v2.0/ao_teleballoon.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telebt-v1.0/ao_pins.h b/src/telebt-v1.0/ao_pins.h index 4181ef35..ca751be3 100644 --- a/src/telebt-v1.0/ao_pins.h +++ b/src/telebt-v1.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telebt-v1.0/ao_telebt.c b/src/telebt-v1.0/ao_telebt.c index 935cde7d..a56adc92 100644 --- a/src/telebt-v1.0/ao_telebt.c +++ b/src/telebt-v1.0/ao_telebt.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telebt-v3.0/ao_pins.h b/src/telebt-v3.0/ao_pins.h index 50584940..61cbe9bb 100644 --- a/src/telebt-v3.0/ao_pins.h +++ b/src/telebt-v3.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telebt-v3.0/ao_telebt.c b/src/telebt-v3.0/ao_telebt.c index 1fe06b1a..9117863b 100644 --- a/src/telebt-v3.0/ao_telebt.c +++ b/src/telebt-v3.0/ao_telebt.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -32,7 +33,7 @@ main(void)  	ao_task_init();  	ao_led_init(LEDS_AVAILABLE); -	ao_led_on(AO_LED_RED); +	ao_led_on(LEDS_AVAILABLE);  	ao_timer_init();  	ao_spi_init(); @@ -52,7 +53,7 @@ main(void)  	ao_config_init(); -	ao_led_off(AO_LED_RED); +	ao_led_off(LEDS_AVAILABLE);  	ao_start_scheduler();  	return 0; diff --git a/src/telebt-v3.0/flash-loader/ao_pins.h b/src/telebt-v3.0/flash-loader/ao_pins.h index 8711548d..139934fa 100644 --- a/src/telebt-v3.0/flash-loader/ao_pins.h +++ b/src/telebt-v3.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teledongle-v1.8/ao_pins.h b/src/teledongle-v1.8/ao_pins.h index cff3e5e8..72bea368 100644 --- a/src/teledongle-v1.8/ao_pins.h +++ b/src/teledongle-v1.8/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teledongle-v1.8/ao_teledongle.c b/src/teledongle-v1.8/ao_teledongle.c index 5ce6b15b..7fd6acdb 100644 --- a/src/teledongle-v1.8/ao_teledongle.c +++ b/src/teledongle-v1.8/ao_teledongle.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teledongle-v3.0/ao_pins.h b/src/teledongle-v3.0/ao_pins.h index 52a86fcb..effc2322 100644 --- a/src/teledongle-v3.0/ao_pins.h +++ b/src/teledongle-v3.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teledongle-v3.0/ao_teledongle.c b/src/teledongle-v3.0/ao_teledongle.c index 02b93efe..32899af2 100644 --- a/src/teledongle-v3.0/ao_teledongle.c +++ b/src/teledongle-v3.0/ao_teledongle.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -31,7 +32,7 @@ main(void)  	ao_task_init();  	ao_led_init(LEDS_AVAILABLE); -	ao_led_on(AO_LED_RED); +	ao_led_on(LEDS_AVAILABLE);  	ao_timer_init();  	ao_spi_init(); @@ -47,7 +48,7 @@ main(void)  	ao_config_init(); -	ao_led_off(AO_LED_RED); +	ao_led_off(LEDS_AVAILABLE);  	ao_start_scheduler();  	return 0;  } diff --git a/src/teledongle-v3.0/flash-loader/ao_pins.h b/src/teledongle-v3.0/flash-loader/ao_pins.h index aee5be27..f06af5f3 100644 --- a/src/teledongle-v3.0/flash-loader/ao_pins.h +++ b/src/teledongle-v3.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefire-v0.1/ao_pins.h b/src/telefire-v0.1/ao_pins.h index 1087c7c9..ee0ca716 100644 --- a/src/telefire-v0.1/ao_pins.h +++ b/src/telefire-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefire-v0.1/ao_telefire.c b/src/telefire-v0.1/ao_telefire.c index afa09e20..706a23a6 100644 --- a/src/telefire-v0.1/ao_telefire.c +++ b/src/telefire-v0.1/ao_telefire.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefire-v0.2/ao_pins.h b/src/telefire-v0.2/ao_pins.h index 28cc65b9..4faeb65f 100644 --- a/src/telefire-v0.2/ao_pins.h +++ b/src/telefire-v0.2/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefire-v0.2/ao_telefire.c b/src/telefire-v0.2/ao_telefire.c index f27ca5e8..5187d5b9 100644 --- a/src/telefire-v0.2/ao_telefire.c +++ b/src/telefire-v0.2/ao_telefire.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefiretwo-v0.1/ao_pins.h b/src/telefiretwo-v0.1/ao_pins.h index fd840f47..f56061b2 100644 --- a/src/telefiretwo-v0.1/ao_pins.h +++ b/src/telefiretwo-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefiretwo-v0.1/ao_telefiretwo.c b/src/telefiretwo-v0.1/ao_telefiretwo.c index 38629d86..bdcf3213 100644 --- a/src/telefiretwo-v0.1/ao_telefiretwo.c +++ b/src/telefiretwo-v0.1/ao_telefiretwo.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefiretwo-v0.1/flash-loader/ao_pins.h b/src/telefiretwo-v0.1/flash-loader/ao_pins.h index daa9048d..ded45a40 100644 --- a/src/telefiretwo-v0.1/flash-loader/ao_pins.h +++ b/src/telefiretwo-v0.1/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefiretwo-v0.2/ao_pins.h b/src/telefiretwo-v0.2/ao_pins.h index 0fddc6df..70af5dd1 100644 --- a/src/telefiretwo-v0.2/ao_pins.h +++ b/src/telefiretwo-v0.2/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefiretwo-v0.2/ao_telefiretwo.c b/src/telefiretwo-v0.2/ao_telefiretwo.c index 38629d86..bdcf3213 100644 --- a/src/telefiretwo-v0.2/ao_telefiretwo.c +++ b/src/telefiretwo-v0.2/ao_telefiretwo.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telefiretwo-v0.2/flash-loader/ao_pins.h b/src/telefiretwo-v0.2/flash-loader/ao_pins.h index daa9048d..ded45a40 100644 --- a/src/telefiretwo-v0.2/flash-loader/ao_pins.h +++ b/src/telefiretwo-v0.2/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v0.1/ao_pins.h b/src/telegps-v0.1/ao_pins.h index 7ff59956..96e8cfd7 100644 --- a/src/telegps-v0.1/ao_pins.h +++ b/src/telegps-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v0.1/ao_telegps.c b/src/telegps-v0.1/ao_telegps.c index bc37b504..eb8ab72d 100644 --- a/src/telegps-v0.1/ao_telegps.c +++ b/src/telegps-v0.1/ao_telegps.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v0.1/flash-loader/ao_pins.h b/src/telegps-v0.1/flash-loader/ao_pins.h index 564e84de..a6b5db39 100644 --- a/src/telegps-v0.1/flash-loader/ao_pins.h +++ b/src/telegps-v0.1/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v0.3/ao_pins.h b/src/telegps-v0.3/ao_pins.h index d0e4d835..9c650cc4 100644 --- a/src/telegps-v0.3/ao_pins.h +++ b/src/telegps-v0.3/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v0.3/ao_telegps.c b/src/telegps-v0.3/ao_telegps.c index dd699ecf..abc80954 100644 --- a/src/telegps-v0.3/ao_telegps.c +++ b/src/telegps-v0.3/ao_telegps.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v0.3/flash-loader/ao_pins.h b/src/telegps-v0.3/flash-loader/ao_pins.h index 91097a25..56b8fde8 100644 --- a/src/telegps-v0.3/flash-loader/ao_pins.h +++ b/src/telegps-v0.3/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v1.0/ao_pins.h b/src/telegps-v1.0/ao_pins.h index eb1033da..19774f63 100644 --- a/src/telegps-v1.0/ao_pins.h +++ b/src/telegps-v1.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v1.0/ao_telegps.c b/src/telegps-v1.0/ao_telegps.c index 7a71699b..ae7e3156 100644 --- a/src/telegps-v1.0/ao_telegps.c +++ b/src/telegps-v1.0/ao_telegps.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telegps-v1.0/flash-loader/ao_pins.h b/src/telegps-v1.0/flash-loader/ao_pins.h index 91097a25..56b8fde8 100644 --- a/src/telegps-v1.0/flash-loader/ao_pins.h +++ b/src/telegps-v1.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.1/ao_lco.c b/src/telelco-v0.1/ao_lco.c index cb2195ef..649bf586 100644 --- a/src/telelco-v0.1/ao_lco.c +++ b/src/telelco-v0.1/ao_lco.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.1/ao_lco.h b/src/telelco-v0.1/ao_lco.h index 253f9702..5721eed5 100644 --- a/src/telelco-v0.1/ao_lco.h +++ b/src/telelco-v0.1/ao_lco.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.1/ao_pins.h b/src/telelco-v0.1/ao_pins.h index 970f9bd1..23115997 100644 --- a/src/telelco-v0.1/ao_pins.h +++ b/src/telelco-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.1/ao_telelco.c b/src/telelco-v0.1/ao_telelco.c index 70665ec6..608f093d 100644 --- a/src/telelco-v0.1/ao_telelco.c +++ b/src/telelco-v0.1/ao_telelco.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.2/ao_pins.h b/src/telelco-v0.2/ao_pins.h index da790b14..b90fca8b 100644 --- a/src/telelco-v0.2/ao_pins.h +++ b/src/telelco-v0.2/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.2/ao_telelco.c b/src/telelco-v0.2/ao_telelco.c index d9f7c693..7b04d386 100644 --- a/src/telelco-v0.2/ao_telelco.c +++ b/src/telelco-v0.2/ao_telelco.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.2/flash-loader/ao_pins.h b/src/telelco-v0.2/flash-loader/ao_pins.h index 6c8ff7e2..72f840c0 100644 --- a/src/telelco-v0.2/flash-loader/ao_pins.h +++ b/src/telelco-v0.2/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.3/ao_pins.h b/src/telelco-v0.3/ao_pins.h index 92095a7c..d874a19b 100644 --- a/src/telelco-v0.3/ao_pins.h +++ b/src/telelco-v0.3/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.3/ao_telelco.c b/src/telelco-v0.3/ao_telelco.c index d9f7c693..7b04d386 100644 --- a/src/telelco-v0.3/ao_telelco.c +++ b/src/telelco-v0.3/ao_telelco.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelco-v0.3/flash-loader/ao_pins.h b/src/telelco-v0.3/flash-loader/ao_pins.h index 6c8ff7e2..72f840c0 100644 --- a/src/telelco-v0.3/flash-loader/ao_pins.h +++ b/src/telelco-v0.3/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelcotwo-v0.1/ao_pins.h b/src/telelcotwo-v0.1/ao_pins.h index ce797a38..714a5c3a 100644 --- a/src/telelcotwo-v0.1/ao_pins.h +++ b/src/telelcotwo-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -155,14 +156,12 @@  #define AO_BUTTON_0_PORT	&stm_gpioa  #define AO_BUTTON_0		0 -#define AO_BUTTON_ARM_0		0 +#define AO_BUTTON_BOX		0  #define AO_BUTTON_1_PORT	&stm_gpioa  #define AO_BUTTON_1		1 -#define AO_BUTTON_ARM_1		1 - -#define AO_BUTTON_ARM_NUM	2 +#define AO_BUTTON_ARM		1  #define AO_BUTTON_2_PORT	&stm_gpioa  #define AO_BUTTON_2		2 diff --git a/src/telelcotwo-v0.1/ao_telelcotwo.c b/src/telelcotwo-v0.1/ao_telelcotwo.c index 318875e3..b3fcd200 100644 --- a/src/telelcotwo-v0.1/ao_telelcotwo.c +++ b/src/telelcotwo-v0.1/ao_telelcotwo.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telelcotwo-v0.1/flash-loader/ao_pins.h b/src/telelcotwo-v0.1/flash-loader/ao_pins.h index 266bff6c..ee29a678 100644 --- a/src/telelcotwo-v0.1/flash-loader/ao_pins.h +++ b/src/telelcotwo-v0.1/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemega-v0.1/ao_pins.h b/src/telemega-v0.1/ao_pins.h index 1815ef54..11c4267c 100644 --- a/src/telemega-v0.1/ao_pins.h +++ b/src/telemega-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemega-v0.1/ao_telemega.c b/src/telemega-v0.1/ao_telemega.c index 7b035269..3cfc9b44 100644 --- a/src/telemega-v0.1/ao_telemega.c +++ b/src/telemega-v0.1/ao_telemega.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemega-v0.1/flash-loader/ao_pins.h b/src/telemega-v0.1/flash-loader/ao_pins.h index 1af92f13..2b18f8e5 100644 --- a/src/telemega-v0.1/flash-loader/ao_pins.h +++ b/src/telemega-v0.1/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemega-v1.0/ao_pins.h b/src/telemega-v1.0/ao_pins.h index 58b4d61a..4decbbf7 100644 --- a/src/telemega-v1.0/ao_pins.h +++ b/src/telemega-v1.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemega-v1.0/ao_telemega.c b/src/telemega-v1.0/ao_telemega.c index 7b035269..2deb852e 100644 --- a/src/telemega-v1.0/ao_telemega.c +++ b/src/telemega-v1.0/ao_telemega.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -37,7 +38,7 @@ int  main(void)  {  	ao_clock_init(); -	 +  #if HAS_STACK_GUARD  	ao_mpu_init();  #endif @@ -45,7 +46,7 @@ main(void)  	ao_task_init();  	ao_serial_init();  	ao_led_init(LEDS_AVAILABLE); -	ao_led_on(AO_LED_GREEN); +	ao_led_on(LEDS_AVAILABLE);  	ao_timer_init();  	ao_i2c_init(); @@ -74,7 +75,7 @@ main(void)  	ao_eeprom_init();  	ao_storage_init(); -	 +  	ao_flight_init();  	ao_log_init();  	ao_report_init(); @@ -96,7 +97,8 @@ main(void)  #if HAS_SAMPLE_PROFILE  	ao_sample_profile_init();  #endif -	 + +	ao_led_off(LEDS_AVAILABLE);  	ao_start_scheduler();  	return 0;  } diff --git a/src/telemega-v1.0/flash-loader/ao_pins.h b/src/telemega-v1.0/flash-loader/ao_pins.h index 1af92f13..2b18f8e5 100644 --- a/src/telemega-v1.0/flash-loader/ao_pins.h +++ b/src/telemega-v1.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemega-v2.0/ao_pins.h b/src/telemega-v2.0/ao_pins.h index 242f0ab2..b1c472da 100644 --- a/src/telemega-v2.0/ao_pins.h +++ b/src/telemega-v2.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemega-v2.0/ao_telemega.c b/src/telemega-v2.0/ao_telemega.c index 86427107..7a1c46ae 100644 --- a/src/telemega-v2.0/ao_telemega.c +++ b/src/telemega-v2.0/ao_telemega.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -38,7 +39,7 @@ int  main(void)  {  	ao_clock_init(); -	 +  #if HAS_STACK_GUARD  	ao_mpu_init();  #endif @@ -46,7 +47,7 @@ main(void)  	ao_task_init();  	ao_serial_init();  	ao_led_init(LEDS_AVAILABLE); -	ao_led_on(AO_LED_GREEN); +	ao_led_on(LEDS_AVAILABLE);  	ao_timer_init();  	ao_i2c_init(); @@ -75,7 +76,7 @@ main(void)  	ao_eeprom_init();  	ao_storage_init(); -	 +  	ao_flight_init();  	ao_log_init();  	ao_report_init(); @@ -97,9 +98,11 @@ main(void)  #if HAS_SAMPLE_PROFILE  	ao_sample_profile_init();  #endif -	 +  	ao_pwm_init(); +	ao_led_off(LEDS_AVAILABLE); +  	ao_start_scheduler();  	return 0;  } diff --git a/src/telemega-v2.0/flash-loader/ao_pins.h b/src/telemega-v2.0/flash-loader/ao_pins.h index 304bb7c3..936354ed 100644 --- a/src/telemega-v2.0/flash-loader/ao_pins.h +++ b/src/telemega-v2.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemetrum-v2.0/ao_pins.h b/src/telemetrum-v2.0/ao_pins.h index fbb38df2..d9063173 100644 --- a/src/telemetrum-v2.0/ao_pins.h +++ b/src/telemetrum-v2.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemetrum-v2.0/ao_telemetrum.c b/src/telemetrum-v2.0/ao_telemetrum.c index 46599cb2..5cf42a8d 100644 --- a/src/telemetrum-v2.0/ao_telemetrum.c +++ b/src/telemetrum-v2.0/ao_telemetrum.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -35,7 +36,7 @@ int  main(void)  {  	ao_clock_init(); -	 +  #if HAS_STACK_GUARD  	ao_mpu_init();  #endif @@ -43,7 +44,7 @@ main(void)  	ao_task_init();  	ao_serial_init();  	ao_led_init(LEDS_AVAILABLE); -	ao_led_on(AO_LED_RED); +	ao_led_on(LEDS_AVAILABLE);  	ao_timer_init();  	ao_spi_init(); @@ -66,7 +67,7 @@ main(void)  	ao_eeprom_init();  	ao_storage_init(); -	 +  	ao_flight_init();  	ao_log_init();  	ao_report_init(); @@ -87,7 +88,8 @@ main(void)  #if HAS_SAMPLE_PROFILE  	ao_sample_profile_init();  #endif -	 +	ao_led_off(LEDS_AVAILABLE); +  	ao_start_scheduler();  	return 0;  } diff --git a/src/telemetrum-v2.0/flash-loader/ao_pins.h b/src/telemetrum-v2.0/flash-loader/ao_pins.h index 304bb7c3..936354ed 100644 --- a/src/telemetrum-v2.0/flash-loader/ao_pins.h +++ b/src/telemetrum-v2.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemetrum-v3.0/.gitignore b/src/telemetrum-v3.0/.gitignore new file mode 100644 index 00000000..35ce24d4 --- /dev/null +++ b/src/telemetrum-v3.0/.gitignore @@ -0,0 +1,2 @@ +ao_product.h +telemetrum-*.elf diff --git a/src/telemetrum-v3.0/Makefile b/src/telemetrum-v3.0/Makefile new file mode 100644 index 00000000..002cc3f6 --- /dev/null +++ b/src/telemetrum-v3.0/Makefile @@ -0,0 +1,130 @@ +# +# AltOS build +# +# + +include ../stm/Makefile.defs + +INC = \ +	ao.h \ +	ao_arch.h \ +	ao_arch_funcs.h \ +	ao_boot.h \ +	ao_companion.h \ +	ao_data.h \ +	ao_sample.h \ +	ao_pins.h \ +	altitude-pa.h \ +	ao_kalman.h \ +	ao_product.h \ +	ao_ms5607.h \ +	ao_mma655x.h \ +	ao_cc1200_CC1200.h \ +	ao_profile.h \ +	ao_task.h \ +	ao_whiten.h \ +	ao_sample_profile.h \ +	ao_mpu.h \ +	stm32l.h \ +	Makefile + +#PROFILE=ao_profile.c +#PROFILE_DEF=-DAO_PROFILE=1 + +#SAMPLE_PROFILE=ao_sample_profile.c \ +#	ao_sample_profile_timer.c +#SAMPLE_PROFILE_DEF=-DHAS_SAMPLE_PROFILE=1 + +#STACK_GUARD=ao_mpu_stm.c +#STACK_GUARD_DEF=-DHAS_STACK_GUARD=1 + +MATH_SRC=\ +	ef_log.c + +ALTOS_SRC = \ +	ao_boot_chain.c \ +	ao_interrupt.c \ +	ao_product.c \ +	ao_romconfig.c \ +	ao_cmd.c \ +	ao_config.c \ +	ao_task.c \ +	ao_led.c \ +	ao_stdio.c \ +	ao_panic.c \ +	ao_timer.c \ +	ao_mutex.c \ +	ao_serial_stm.c \ +	ao_gps_ublox.c \ +	ao_gps_show.c \ +	ao_gps_report_metrum.c \ +	ao_ignite.c \ +	ao_freq.c \ +	ao_dma_stm.c \ +	ao_spi_stm.c \ +	ao_cc1200.c \ +	ao_fec_tx.c \ +	ao_fec_rx.c \ +	ao_data.c \ +	ao_ms5607.c \ +	ao_mma655x.c \ +	ao_adc_stm.c \ +	ao_beep_stm.c \ +	ao_storage.c \ +	ao_m25.c \ +	ao_usb_stm.c \ +	ao_exti_stm.c \ +	ao_eeprom_stm.c \ +	ao_report.c \ +	ao_convert_pa.c \ +	ao_convert_volt.c \ +	ao_log.c \ +	ao_log_metrum.c \ +	ao_sample.c \ +	ao_kalman.c \ +	ao_flight.c \ +	ao_telemetry.c \ +	ao_packet_slave.c \ +	ao_packet.c \ +	ao_companion.c \ +	ao_aprs.c \ +	$(MATH_SRC) \ +	$(PROFILE) \ +	$(SAMPLE_PROFILE) \ +	$(STACK_GUARD) + +PRODUCT=TeleMetrum-v3.0 +PRODUCT_DEF=-DTELEMETRUM_V_3_0 +IDPRODUCT=0x000b + +CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) $(PROFILE_DEF) $(SAMPLE_PROFILE_DEF) $(STACK_GUARD_DEF) -Os -g + +PROGNAME=telemetrum-v3.0 +PROG=$(PROGNAME)-$(VERSION).elf +HEX=$(PROGNAME)-$(VERSION).ihx + +SRC=$(ALTOS_SRC) ao_telemetrum.c +OBJ=$(SRC:.c=.o) + +all: $(PROG) $(HEX) + +$(PROG): Makefile $(OBJ) altos.ld +	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS) + +../altitude-pa.h: make-altitude-pa +	nickle $< > $@ + +$(OBJ): $(INC) + +ao_product.h: ao-make-product.5c ../Version +	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ + +distclean:	clean + +clean: +	rm -f *.o $(PROGNAME)-*.elf $(PROGNAME)-*.ihx +	rm -f ao_product.h + +install: + +uninstall: diff --git a/src/telemetrum-v3.0/ao_pins.h b/src/telemetrum-v3.0/ao_pins.h new file mode 100644 index 00000000..ccf2f18f --- /dev/null +++ b/src/telemetrum-v3.0/ao_pins.h @@ -0,0 +1,316 @@ +/* + * Copyright © 2012 Keith Packard <keithp@keithp.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +#ifndef _AO_PINS_H_ +#define _AO_PINS_H_ + +#define HAS_TASK_QUEUE		1 + +/* 8MHz High speed external crystal */ +#define AO_HSE			8000000 + +/* PLLVCO = 96MHz (so that USB will work) */ +#define AO_PLLMUL		12 +#define AO_RCC_CFGR_PLLMUL	(STM_RCC_CFGR_PLLMUL_12) + +/* SYSCLK = 32MHz (no need to go faster than CPU) */ +#define AO_PLLDIV		3 +#define AO_RCC_CFGR_PLLDIV	(STM_RCC_CFGR_PLLDIV_3) + +/* HCLK = 32MHz (CPU clock) */ +#define AO_AHB_PRESCALER	1 +#define AO_RCC_CFGR_HPRE_DIV	STM_RCC_CFGR_HPRE_DIV_1 + +/* Run APB1 at 16MHz (HCLK/2) */ +#define AO_APB1_PRESCALER	2 +#define AO_RCC_CFGR_PPRE1_DIV	STM_RCC_CFGR_PPRE2_DIV_2 + +/* Run APB2 at 16MHz (HCLK/2) */ +#define AO_APB2_PRESCALER	2 +#define AO_RCC_CFGR_PPRE2_DIV	STM_RCC_CFGR_PPRE2_DIV_2 + +#define HAS_SERIAL_1		0 +#define USE_SERIAL_1_STDIN	0 +#define SERIAL_1_PB6_PB7	0 +#define SERIAL_1_PA9_PA10	1 + +#define HAS_SERIAL_2		0 +#define USE_SERIAL_2_STDIN	0 +#define SERIAL_2_PA2_PA3	0 +#define SERIAL_2_PD5_PD6	0 + +#define HAS_SERIAL_3		1 +#define USE_SERIAL_3_STDIN	0 +#define SERIAL_3_PB10_PB11	1 +#define SERIAL_3_PC10_PC11	0 +#define SERIAL_3_PD8_PD9	0 + +#define AO_CONFIG_DEFAULT_FLIGHT_LOG_MAX	(512 * 1024) +#define AO_CONFIG_MAX_SIZE			1024 +#define LOG_ERASE_MARK				0x55 +#define LOG_MAX_ERASE				128 + +#define HAS_EEPROM		1 +#define USE_INTERNAL_FLASH	0 +#define USE_EEPROM_CONFIG	1 +#define USE_STORAGE_CONFIG	0 +#define HAS_USB			1 +#define HAS_BEEP		1 +#define HAS_BATTERY_REPORT	1 +#define BEEPER_CHANNEL		4 +#define HAS_RADIO		1 +#define HAS_TELEMETRY		1 +#define HAS_APRS		1 +#define HAS_COMPANION		1 + +#define HAS_SPI_1		1 +#define SPI_1_PA5_PA6_PA7	1	/* Barometer */ +#define SPI_1_PB3_PB4_PB5	1	/* Accelerometer */ +#define SPI_1_PE13_PE14_PE15	0 +#define SPI_1_OSPEEDR		STM_OSPEEDR_10MHz + +#define HAS_SPI_2		1 +#define SPI_2_PB13_PB14_PB15	1	/* Flash, Companion, Radio */ +#define SPI_2_PD1_PD3_PD4	0 +#define SPI_2_OSPEEDR		STM_OSPEEDR_10MHz + +#define SPI_2_PORT		(&stm_gpiob) +#define SPI_2_SCK_PIN		13 +#define SPI_2_MISO_PIN		14 +#define SPI_2_MOSI_PIN		15 + +#define HAS_I2C_1		0 +#define I2C_1_PB8_PB9		0 + +#define HAS_I2C_2		0 +#define I2C_2_PB10_PB11		0 + +#define PACKET_HAS_SLAVE	1 +#define PACKET_HAS_MASTER	0 + +#define LOW_LEVEL_DEBUG		0 + +#define LED_PORT_ENABLE		STM_RCC_AHBENR_GPIOCEN +#define LED_PORT		(&stm_gpioc) +#define LED_PIN_RED		14 +#define LED_PIN_GREEN		15 +#define AO_LED_RED		(1 << LED_PIN_RED) +#define AO_LED_GREEN		(1 << LED_PIN_GREEN) + +#define LEDS_AVAILABLE		(AO_LED_RED | AO_LED_GREEN) + +#define HAS_GPS			1 +#define HAS_FLIGHT		1 +#define HAS_ADC			1 +#define HAS_ADC_TEMP		1 +#define HAS_LOG			1 + +/* + * Igniter + */ + +#define HAS_IGNITE		1 +#define HAS_IGNITE_REPORT	1 + +#define AO_SENSE_DROGUE(p)	((p)->adc.sense_a) +#define AO_SENSE_MAIN(p)	((p)->adc.sense_m) +#define AO_IGNITER_CLOSED	400 +#define AO_IGNITER_OPEN		60 + +/* Drogue */ +#define AO_IGNITER_DROGUE_PORT	(&stm_gpioa) +#define AO_IGNITER_DROGUE_PIN	8 + +/* Main */ +#define AO_IGNITER_MAIN_PORT	(&stm_gpioa) +#define AO_IGNITER_MAIN_PIN	9 + +#define AO_IGNITER_SET_DROGUE(v)	stm_gpio_set(AO_IGNITER_DROGUE_PORT, AO_IGNITER_DROGUE_PIN, v) +#define AO_IGNITER_SET_MAIN(v)		stm_gpio_set(AO_IGNITER_MAIN_PORT, AO_IGNITER_MAIN_PIN, v) + +/* + * ADC + */ +#define AO_DATA_RING		32 +#define AO_ADC_NUM_SENSE	2 + +struct ao_adc { +	int16_t			sense_a; +	int16_t			sense_m; +	int16_t			v_batt; +	int16_t			temp; +}; + +#define AO_ADC_DUMP(p) \ +	printf("tick: %5u drogue: %5d main: %5d batt: %5d\n", \ +	       (p)->tick, \ +	       (p)->adc.sense_a, (p)->adc.sense_m, \ +	       (p)->adc.v_batt); + +#define AO_ADC_SENSE_DROGUE	0 +#define AO_ADC_SENSE_DROGUE_PORT	(&stm_gpioa) +#define AO_ADC_SENSE_DROGUE_PIN	0 + +#define AO_ADC_SENSE_MAIN	1 +#define AO_ADC_SENSE_MAIN_PORT	(&stm_gpioa) +#define AO_ADC_SENSE_MAIN_PIN	1 + +#define AO_ADC_V_BATT		8 +#define AO_ADC_V_BATT_PORT	(&stm_gpiob) +#define AO_ADC_V_BATT_PIN	0 + +#define AO_ADC_TEMP		16 + +#define AO_ADC_RCC_AHBENR	((1 << STM_RCC_AHBENR_GPIOAEN) | \ +				 (1 << STM_RCC_AHBENR_GPIOEEN) | \ +				 (1 << STM_RCC_AHBENR_GPIOBEN)) + +#define AO_NUM_ADC_PIN		3 + +#define AO_ADC_PIN0_PORT	AO_ADC_SENSE_DROGUE_PORT +#define AO_ADC_PIN0_PIN		AO_ADC_SENSE_DROGUE_PIN +#define AO_ADC_PIN1_PORT	AO_ADC_SENSE_MAIN_PORT +#define AO_ADC_PIN1_PIN		AO_ADC_SENSE_MAIN_PIN +#define AO_ADC_PIN2_PORT	AO_ADC_V_BATT_PORT +#define AO_ADC_PIN2_PIN		AO_ADC_V_BATT_PIN + +#define AO_NUM_ADC	       	(AO_NUM_ADC_PIN + 1) + +#define AO_ADC_SQ1		AO_ADC_SENSE_DROGUE +#define AO_ADC_SQ2		AO_ADC_SENSE_MAIN +#define AO_ADC_SQ3		AO_ADC_V_BATT +#define AO_ADC_SQ4		AO_ADC_TEMP + +/* + * Voltage divider on ADC battery sampler + */ +#define AO_BATTERY_DIV_PLUS	56	/* 5.6k */ +#define AO_BATTERY_DIV_MINUS	100	/* 10k */ + +/* + * Voltage divider on ADC igniter samplers + */ +#define AO_IGNITE_DIV_PLUS	100	/* 100k */ +#define AO_IGNITE_DIV_MINUS	27	/* 27k */ + +/* + * ADC reference in decivolts + */ +#define AO_ADC_REFERENCE_DV	33 + +/* + * GPS + */ + +#define AO_SERIAL_SPEED_UBLOX	AO_SERIAL_SPEED_9600 + +#define ao_gps_getchar		ao_serial3_getchar +#define ao_gps_putchar		ao_serial3_putchar +#define ao_gps_set_speed	ao_serial3_set_speed +#define ao_gps_fifo		(ao_stm_usart3.rx_fifo) + +/* + * Pressure sensor settings + */ +#define HAS_MS5607		1 +#define HAS_MS5611		0 +#define AO_MS5607_PRIVATE_PINS	1 +#define AO_MS5607_CS_PORT	(&stm_gpiob) +#define AO_MS5607_CS_PIN	12 +#define AO_MS5607_CS_MASK	(1 << AO_MS5607_CS) +#define AO_MS5607_MISO_PORT	(&stm_gpioa) +#define AO_MS5607_MISO_PIN	6 +#define AO_MS5607_MISO_MASK	(1 << AO_MS5607_MISO) +#define AO_MS5607_SPI_INDEX	AO_SPI_1_PA5_PA6_PA7 + +/* + * SPI Flash memory + */ + +#define M25_MAX_CHIPS		1 +#define AO_M25_SPI_CS_PORT	(&stm_gpiob) +#define AO_M25_SPI_CS_MASK	(1 << 8) +#define AO_M25_SPI_BUS		AO_SPI_2_PB13_PB14_PB15 + +/* + * Radio (cc1200) + */ + +/* gets pretty close to 434.550 */ + +#define AO_RADIO_CAL_DEFAULT 	5695733 + +#define AO_CC1200_SPI_CS_PORT	(&stm_gpioa) +#define AO_CC1200_SPI_CS_PIN	2 +#define AO_CC1200_SPI_BUS	AO_SPI_2_PB13_PB14_PB15 +#define AO_CC1200_SPI		stm_spi2 + +#define AO_CC1200_INT_PORT		(&stm_gpioa) +#define AO_CC1200_INT_PIN		(3) +#define AO_CC1200_MCU_WAKEUP_PORT	(&stm_gpioa) +#define AO_CC1200_MCU_WAKEUP_PIN	(4) + +#define AO_CC1200_INT_GPIO	2 +#define AO_CC1200_INT_GPIO_IOCFG	CC1200_IOCFG2 + +#define AO_CC1200_MARC_GPIO	3 +#define AO_CC1200_MARC_GPIO_IOCFG	CC1200_IOCFG3 + +#define HAS_BOOT_RADIO		0 + +#define HAS_HIGHG_ACCEL		1 + +/* + * mma655x + */ + +#define HAS_MMA655X		1 +#define AO_MMA655X_SPI_INDEX	AO_SPI_1_PB3_PB4_PB5 +#define AO_MMA655X_CS_PORT	(&stm_gpiob) +#define AO_MMA655X_CS_PIN	9 +#define AO_MMA655X_INVERT	1 + +#define NUM_CMDS		16 + +/* + * Companion + */ + +#define AO_COMPANION_CS_PORT	(&stm_gpiob) +#define AO_COMPANION_CS_PIN	(6) +#define AO_COMPANION_SPI_BUS	AO_SPI_2_PB13_PB14_PB15 + +/* + * Monitor + */ + +#define HAS_MONITOR		0 +#define LEGACY_MONITOR		0 +#define HAS_MONITOR_PUT		1 +#define AO_MONITOR_LED		0 +#define HAS_RSSI		0 + +/* + * Profiling Viterbi decoding + */ + +#ifndef AO_PROFILE +#define AO_PROFILE	       	0 +#endif + +#endif /* _AO_PINS_H_ */ diff --git a/src/telemetrum-v3.0/ao_telemetrum.c b/src/telemetrum-v3.0/ao_telemetrum.c new file mode 100644 index 00000000..6349d188 --- /dev/null +++ b/src/telemetrum-v3.0/ao_telemetrum.c @@ -0,0 +1,94 @@ +/* + * Copyright © 2016 Keith Packard <keithp@keithp.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +#include <ao.h> +#include <ao_ms5607.h> +#include <ao_mma655x.h> +#include <ao_log.h> +#include <ao_exti.h> +#include <ao_packet.h> +#include <ao_companion.h> +#include <ao_eeprom.h> +#include <ao_profile.h> +#if HAS_SAMPLE_PROFILE +#include <ao_sample_profile.h> +#endif +#if HAS_STACK_GUARD +#include <ao_mpu.h> +#endif + +int +main(void) +{ +	ao_clock_init(); + +#if HAS_STACK_GUARD +	ao_mpu_init(); +#endif + +	ao_task_init(); +	ao_serial_init(); +	ao_led_init(LEDS_AVAILABLE); +	ao_led_on(AO_LED_RED); +	ao_timer_init(); + +	ao_spi_init(); +	ao_dma_init(); +	ao_exti_init(); + +	ao_adc_init(); +#if HAS_BEEP +	ao_beep_init(); +#endif +	ao_cmd_init(); + +#if HAS_MS5607 +	ao_ms5607_init(); +#endif +#if HAS_MMA655X +	ao_mma655x_init(); +#endif + +	ao_eeprom_init(); + +	ao_storage_init(); + +	ao_flight_init(); +	ao_log_init(); +	ao_report_init(); + +	ao_usb_init(); +	ao_gps_init(); +	ao_gps_report_metrum_init(); +	ao_telemetry_init(); +	ao_radio_init(); +	ao_packet_slave_init(FALSE); +	ao_igniter_init(); +	ao_companion_init(); + +	ao_config_init(); +#if AO_PROFILE +	ao_profile_init(); +#endif +#if HAS_SAMPLE_PROFILE +	ao_sample_profile_init(); +#endif + +	ao_start_scheduler(); +	return 0; +} diff --git a/src/telemetrum-v3.0/flash-loader/Makefile b/src/telemetrum-v3.0/flash-loader/Makefile new file mode 100644 index 00000000..5f26541a --- /dev/null +++ b/src/telemetrum-v3.0/flash-loader/Makefile @@ -0,0 +1,8 @@ +# +# AltOS flash loader build +# +# + +TOPDIR=../.. +HARDWARE=telemetrum-v3.0 +include $(TOPDIR)/stm/Makefile-flash.defs diff --git a/src/telemetrum-v3.0/flash-loader/ao_pins.h b/src/telemetrum-v3.0/flash-loader/ao_pins.h new file mode 100644 index 00000000..936354ed --- /dev/null +++ b/src/telemetrum-v3.0/flash-loader/ao_pins.h @@ -0,0 +1,35 @@ +/* + * Copyright © 2013 Keith Packard <keithp@keithp.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +#ifndef _AO_PINS_H_ +#define _AO_PINS_H_ + +/* External crystal at 8MHz */ +#define AO_HSE		8000000 + +#include <ao_flash_stm_pins.h> + +/* Companion port cs_companion0 PB6 */ + +#define AO_BOOT_PIN			1 +#define AO_BOOT_APPLICATION_GPIO	stm_gpiob +#define AO_BOOT_APPLICATION_PIN		6 +#define AO_BOOT_APPLICATION_VALUE	1 +#define AO_BOOT_APPLICATION_MODE	AO_EXTI_MODE_PULL_UP + +#endif /* _AO_PINS_H_ */ diff --git a/src/telemini-v2.0/ao_pins.h b/src/telemini-v2.0/ao_pins.h index e75adc07..4f1d36df 100644 --- a/src/telemini-v2.0/ao_pins.h +++ b/src/telemini-v2.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telemini-v2.0/ao_telemini.c b/src/telemini-v2.0/ao_telemini.c index 0d8dd1cb..68bc3dfe 100644 --- a/src/telemini-v2.0/ao_telemini.c +++ b/src/telemini-v2.0/ao_telemini.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telerepeat-v1.0/ao_pins.h b/src/telerepeat-v1.0/ao_pins.h index 2a7dbd3b..e47d368c 100644 --- a/src/telerepeat-v1.0/ao_pins.h +++ b/src/telerepeat-v1.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telerepeat-v1.0/ao_telerepeat.c b/src/telerepeat-v1.0/ao_telerepeat.c index 21bf8a73..43a5ed42 100644 --- a/src/telerepeat-v1.0/ao_telerepeat.c +++ b/src/telerepeat-v1.0/ao_telerepeat.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telescience-v0.2/ao_pins.h b/src/telescience-v0.2/ao_pins.h index 03bd59db..c78766cd 100644 --- a/src/telescience-v0.2/ao_pins.h +++ b/src/telescience-v0.2/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telescience-v0.2/ao_telescience.c b/src/telescience-v0.2/ao_telescience.c index 74eef8f4..05bb8653 100644 --- a/src/telescience-v0.2/ao_telescience.c +++ b/src/telescience-v0.2/ao_telescience.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/telescience-v0.2/flash-loader/ao_pins.h b/src/telescience-v0.2/flash-loader/ao_pins.h index 907ff341..8eaf9299 100644 --- a/src/telescience-v0.2/flash-loader/ao_pins.h +++ b/src/telescience-v0.2/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teleshield-v0.1/ao_ardu_serial.c b/src/teleshield-v0.1/ao_ardu_serial.c index e6e19f67..535cc624 100644 --- a/src/teleshield-v0.1/ao_ardu_serial.c +++ b/src/teleshield-v0.1/ao_ardu_serial.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teleshield-v0.1/ao_pins.h b/src/teleshield-v0.1/ao_pins.h index 68bb44ee..6baa88c8 100644 --- a/src/teleshield-v0.1/ao_pins.h +++ b/src/teleshield-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teleshield-v0.1/ao_teleshield.c b/src/teleshield-v0.1/ao_teleshield.c index d602f646..713c49f9 100644 --- a/src/teleshield-v0.1/ao_teleshield.c +++ b/src/teleshield-v0.1/ao_teleshield.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teleterra-v0.1/ao_pins.h b/src/teleterra-v0.1/ao_pins.h index ba7177af..d25a77b7 100644 --- a/src/teleterra-v0.1/ao_pins.h +++ b/src/teleterra-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/teleterra-v0.2/ao_pins.h b/src/teleterra-v0.2/ao_pins.h index 472af534..8d9f7a2f 100644 --- a/src/teleterra-v0.2/ao_pins.h +++ b/src/teleterra-v0.2/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_aes_test.c b/src/test/ao_aes_test.c index dcedbfca..4b65df8d 100644 --- a/src/test/ao_aes_test.c +++ b/src/test/ao_aes_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_aprs_test.c b/src/test/ao_aprs_test.c index ae505dea..3852668a 100644 --- a/src/test/ao_aprs_test.c +++ b/src/test/ao_aprs_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_fat_test.c b/src/test/ao_fat_test.c index d1309024..63be71c6 100644 --- a/src/test/ao_fat_test.c +++ b/src/test/ao_fat_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_fec_test.c b/src/test/ao_fec_test.c index 216a4b79..cbced6ae 100644 --- a/src/test/ao_fec_test.c +++ b/src/test/ao_fec_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_flight_test.c b/src/test/ao_flight_test.c index f71c3052..bd7f2ff8 100644 --- a/src/test/ao_flight_test.c +++ b/src/test/ao_flight_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_gps_test.c b/src/test/ao_gps_test.c index 543bbcc3..7c1ecc15 100644 --- a/src/test/ao_gps_test.c +++ b/src/test/ao_gps_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_gps_test_skytraq.c b/src/test/ao_gps_test_skytraq.c index 5eb7118d..61e7905a 100644 --- a/src/test/ao_gps_test_skytraq.c +++ b/src/test/ao_gps_test_skytraq.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_gps_test_ublox.c b/src/test/ao_gps_test_ublox.c index 83efbb4f..05334bbf 100644 --- a/src/test/ao_gps_test_ublox.c +++ b/src/test/ao_gps_test_ublox.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_int64_test.c b/src/test/ao_int64_test.c index 8557a1c7..07538ee0 100644 --- a/src/test/ao_int64_test.c +++ b/src/test/ao_int64_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_micropeak_test.c b/src/test/ao_micropeak_test.c index f4af707e..059c2284 100644 --- a/src/test/ao_micropeak_test.c +++ b/src/test/ao_micropeak_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_ms5607_convert_test.c b/src/test/ao_ms5607_convert_test.c index 1c571f1c..4876d21e 100644 --- a/src/test/ao_ms5607_convert_test.c +++ b/src/test/ao_ms5607_convert_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/test/ao_quaternion_test.c b/src/test/ao_quaternion_test.c index b630f1d3..ac232deb 100644 --- a/src/test/ao_quaternion_test.c +++ b/src/test/ao_quaternion_test.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbrelay-v0.1/ao_pins.h b/src/usbrelay-v0.1/ao_pins.h index a72f6cc8..20118728 100644 --- a/src/usbrelay-v0.1/ao_pins.h +++ b/src/usbrelay-v0.1/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbrelay-v0.1/ao_usbrelay.c b/src/usbrelay-v0.1/ao_usbrelay.c index 879094b5..d908f4db 100644 --- a/src/usbrelay-v0.1/ao_usbrelay.c +++ b/src/usbrelay-v0.1/ao_usbrelay.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbrelay-v0.1/flash-loader/ao_pins.h b/src/usbrelay-v0.1/flash-loader/ao_pins.h index a8046009..cb385600 100644 --- a/src/usbrelay-v0.1/flash-loader/ao_pins.h +++ b/src/usbrelay-v0.1/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbtrng-v2.0/ao_pins.h b/src/usbtrng-v2.0/ao_pins.h index 1997d205..2b23f967 100644 --- a/src/usbtrng-v2.0/ao_pins.h +++ b/src/usbtrng-v2.0/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbtrng-v2.0/ao_usbtrng.c b/src/usbtrng-v2.0/ao_usbtrng.c index 42713b6e..e34babec 100644 --- a/src/usbtrng-v2.0/ao_usbtrng.c +++ b/src/usbtrng-v2.0/ao_usbtrng.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbtrng-v2.0/flash-loader/ao_pins.h b/src/usbtrng-v2.0/flash-loader/ao_pins.h index 9fa8b715..9e7c2c33 100644 --- a/src/usbtrng-v2.0/flash-loader/ao_pins.h +++ b/src/usbtrng-v2.0/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbtrng/ao_pins.h b/src/usbtrng/ao_pins.h index 0f2b1ea6..2fd5df33 100644 --- a/src/usbtrng/ao_pins.h +++ b/src/usbtrng/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbtrng/ao_usbtrng.c b/src/usbtrng/ao_usbtrng.c index 66e12337..cb15a250 100644 --- a/src/usbtrng/ao_usbtrng.c +++ b/src/usbtrng/ao_usbtrng.c @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/usbtrng/flash-loader/ao_pins.h b/src/usbtrng/flash-loader/ao_pins.h index a8046009..cb385600 100644 --- a/src/usbtrng/flash-loader/ao_pins.h +++ b/src/usbtrng/flash-loader/ao_pins.h @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/src/util/make-whiten b/src/util/make-whiten index d68a02af..b7a33609 100644 --- a/src/util/make-whiten +++ b/src/util/make-whiten @@ -3,7 +3,8 @@   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version.   *   * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of | 
