Commit Graph

2854 Commits

Author SHA1 Message Date
Pat Hickey 8fe3c5e5d6 Arduino.mk: use target variables rather than recursive make for apm1, apm2.. 2012-12-20 14:52:31 +11:00
Pat Hickey 76dabef7d6 AP_HAL_Empty: fix public declaration for i2cdriver 2012-12-20 14:52:31 +11:00
Pat Hickey eda450a166 AP_HAL: I2CDriver bug fixed for pure virtual base class 2012-12-20 14:52:31 +11:00
Pat Hickey de6f9e52b2 AP_HAL_Empty: finished up scaffolding 2012-12-20 14:52:31 +11:00
Pat Hickey 4c930b77a4 DataFlash_Empty defined 2012-12-20 14:52:31 +11:00
Pat Hickey b7cd4312f3 AP_HAL_Empty: more scaffolding complete 2012-12-20 14:52:31 +11:00
Andrew Tridgell 7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell 6a56f72918 Build: added empty Arduino.h 2012-12-20 14:52:30 +11:00
Andrew Tridgell 98ead51801 SITL: fill in a lot more of the AP_HAL SITL backend 2012-12-20 14:52:30 +11:00
Andrew Tridgell 4a54ffb523 Baro: use local include to reduce boilerplate 2012-12-20 14:52:30 +11:00
Andrew Tridgell d473203737 Build: added global board targets 2012-12-20 14:52:30 +11:00
Pat Hickey 3cc204321c AP_Motors_Class: add Progmem typedef 2012-12-20 14:52:30 +11:00
Pat Hickey 8d0c56a19a AP_Curve: put template in cpp file
* required for the new funny way avr-gcc 4.7 does PSTR.
2012-12-20 14:52:30 +11:00
Pat Hickey 6ea38432b9 AP_Progmem_AVR: prog_char typedef was deprecated in avr-gcc 4.7, add compat def 2012-12-20 14:52:30 +11:00
Pat Hickey 3e3c0f57ae AP_HAL_Empty: started building out the scaffolding 2012-12-20 14:52:30 +11:00
Pat Hickey b79bd01761 SPIDriver: namespace explicit to better permit copypasta 2012-12-20 14:52:30 +11:00
Pat Hickey 527dfb5af4 AP_HAL: remove EmptyUARTDriver 2012-12-20 14:52:30 +11:00
Pat Hickey 63eb1dc85d AP_HAL_AVR_SITL: separate header for AP_HAL_MAIN and Private 2012-12-20 14:52:30 +11:00
Pat Hickey 07be511f5e AP_HAL_AVR: move AP_HAL_MAIN into separate header 2012-12-20 14:52:30 +11:00
Pat Hickey d18b9feaa1 AP_HAL: add HAL_BOARD_EMPTY to AP_HAL_BOARDS 2012-12-20 14:52:30 +11:00
Pat Hickey 104ad8f6c8 AP_Menu: save a little ram by reducing MENU_ARGS_MAX to 3
* we only ever use 3 in arducopter's gyro gain setup
2012-12-20 14:52:29 +11:00
Andrew Tridgell af12c18dea AP_Param: setup var_info and num_vars earlier
needed for AP_HAL startup
2012-12-20 14:52:29 +11:00
Andrew Tridgell 8916b280fd SITL: filled in more of the HAL SITL backend 2012-12-20 14:52:29 +11:00
Andrew Tridgell e10e3ee3be AP_HAL: fixed argv declaration to match getopt() 2012-12-20 14:52:29 +11:00
Andrew Tridgell 964bc56aa2 DataFlash: reinstate SITL dataflash code 2012-12-20 14:52:29 +11:00
Andrew Tridgell 18824c7ef5 AP_HAL: expose argc/argv in hal.init()
used for SITL port
2012-12-20 14:52:29 +11:00
Pat Hickey ddafd4ffbb memcheck: need AP_HAL_Boards import for CONFIG_HAL_BOARD configs to make sense
* with great programming in c preprocessor comes great responsibility
2012-12-20 14:52:29 +11:00
Pat Hickey d93d932831 ArduCopter: defines fixes
Conflicts:

	libraries/AP_Common/Arduino.mk
2012-12-20 14:52:28 +11:00
Pat Hickey f060df9747 AP_HAL_AVR: now that we can detect the APM revision, use wdt reboot on apm2 2012-12-20 14:52:28 +11:00
Pat Hickey 7622b725c9 AP_Limits: fixes to use hal.storage for eeprom access 2012-12-20 14:52:28 +11:00
Pat Hickey b0b3fa33b4 AP_Limits: fix for AP_Param var_info registration in AP_Limit_Module
* AP_Limit_Module class does not have its own var_info table.
2012-12-20 14:52:28 +11:00
Pat Hickey 304afd45e1 AP_Limits: export all internal headers from AP_Limits.h 2012-12-20 14:51:40 +11:00
Pat Hickey f1869d1aa6 AP_GPS: GPS_406_test ported to AP_HAL 2012-12-20 14:51:40 +11:00
Pat Hickey 4c5aaef245 removed AP_PID test, deprecated and forgotten 2012-12-20 14:51:40 +11:00
Pat Hickey 308281f252 DataFlash_test ported to AP_HAL 2012-12-20 14:51:40 +11:00
Pat Hickey a28c614fbe remove RC_Channel2 test sketch: deprecated by AP_HAL 2012-12-20 14:51:40 +11:00
Andrew Tridgell c4b8959202 DataFlash: added SITL headers 2012-12-20 14:51:40 +11:00
Pat Hickey a4fdfd999c remove AP_RangeFinder_test: deprecated by AP_HAL 2012-12-20 14:51:40 +11:00
Pat Hickey d6cb240468 AP_GPS: GPS_NMEA_test ported to AP_HAL
* I wasn't able to demonstrate the library/test sketch working with my
  ublox gps.
2012-12-20 14:51:40 +11:00
Andrew Tridgell d42cbb791f HAL_SITL: start filling in more of SITL framework 2012-12-20 14:51:40 +11:00
Andrew Tridgell 1342a82ba7 HAL_AVR: catch atomic nesting errors 2012-12-20 14:51:40 +11:00
Andrew Tridgell e57834d763 DataFlash: added SITL header 2012-12-20 14:51:40 +11:00
Andrew Tridgell 551ff0c8b8 AP_HAL_AVR: prevent build of AVR code on non-AVR platforms 2012-12-20 14:51:40 +11:00
Andrew Tridgell 9b15d0e714 Build: update makefile for SITL build 2012-12-20 14:51:40 +11:00
Andrew Tridgell 2c1682f310 InertialSensor: use AP_HAL progmem 2012-12-20 14:51:39 +11:00
Andrew Tridgell 7582c882e6 Motors: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Andrew Tridgell 9d1f43928c Mount: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Andrew Tridgell f393389db2 Progmem: removed desktop specific progmem handling 2012-12-20 14:51:39 +11:00
Andrew Tridgell 9b3ed0b683 AP_Limits: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Andrew Tridgell 265707401f memcheck: fix for new HAL_SITL 2012-12-20 14:51:39 +11:00
Andrew Tridgell fc8bd8cf95 SITL: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Andrew Tridgell 306d53b4ae PID: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Andrew Tridgell cead629fc4 Filter: fixed merge error 2012-12-20 14:51:39 +11:00
Andrew Tridgell 4aa16303ed RC_Channel: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Andrew Tridgell c064becf28 AP_InertialSensor: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Andrew Tridgell 62e396167a AP_InertialNav: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Andrew Tridgell 18fb9c67f6 AP_GPS: use AP_Progmem 2012-12-20 14:51:39 +11:00
Andrew Tridgell 69af1add15 Declination: fixes for AP_HAL progmem interface 2012-12-20 14:51:38 +11:00
Andrew Tridgell c181498e36 Compass: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell 53470aff09 AP_Camera: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell dbd9814327 AP_Baro: get rid of apm2_hardware parameter in init 2012-12-20 14:51:38 +11:00
Andrew Tridgell cafeaf91d6 AP_Baro: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell b5a23d934b Airspeed: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell 5c148153ac AP_AHRS: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell a18298ed76 APM_PI: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell e45f32a4b6 APM_OBC: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell 9349259487 AC_PID: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell 5a9ba4aeb4 APM_Control: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Andrew Tridgell 95d4cc2ce9 AP_Param: change method of loading defaults
this avoids a dependency on the constructor ordering by loading
defaults for each object separately
2012-12-20 14:51:38 +11:00
Andrew Tridgell 562b6a20c9 AP_HAL_AVR: conditionally build AVR specific helper code 2012-12-20 14:51:38 +11:00
Pat Hickey 54bab59066 AP_HAL_AVR_SITL: add initial scaffolding 2012-12-20 14:51:38 +11:00
Pat Hickey 475da4eca4 CONFIG_HAL_BOARD - test sketches fixed up, build all passes 2012-12-20 14:51:37 +11:00
Pat Hickey 25e597d3b3 AP_HAL_AVR: Refactor APM1 and APM2 instances to use CONFIG_HAL_BOARD 2012-12-20 14:51:37 +11:00
Pat Hickey fa02ad7d4c AP_HAL: preprocessor enum of HAL_BOARD 2012-12-20 14:51:37 +11:00
Pat Hickey da99f5f283 Arduino.mk: compile with CONFIG_HAL_BOARD define from the user's config.mk 2012-12-20 14:51:37 +11:00
Andrew Tridgell 2ea243e45b AP_Baro: removed unused code 2012-12-20 14:51:37 +11:00
Andrew Tridgell 13309cceb3 AP_GPS: reverted formatting of GPS messages 2012-12-20 14:51:37 +11:00
Pat Hickey cb70590227 AP_HAL_AVR: remove Dataflash driver 2012-12-20 14:51:37 +11:00
Pat Hickey 9cee6cc941 AP_HAL: remove Dataflash driver 2012-12-20 14:51:37 +11:00
Pat Hickey 00cd4b1857 AP_HAL_AVR: Do not init HAL's dataflash 2012-12-20 14:51:37 +11:00
Andrew Tridgell 7d70ff409d AP_OpticalFlow: use max() macro 2012-12-20 14:51:37 +11:00
Andrew Tridgell 6ee32ea872 AP_Limits: reverted parameter doc changes 2012-12-20 14:51:37 +11:00
Andrew Tridgell b70f7f57ba AP_Compass: restore low speed change on register read failure 2012-12-20 14:51:37 +11:00
Pat Hickey 7b9b088261 DataFlash: AP_HAL port fixups 2012-12-20 14:51:37 +11:00
Pat Hickey aaffd9d96e DataFlash: APM2 ported to AP_HAL SPIDeviceDriver 2012-12-20 14:51:36 +11:00
Pat Hickey 4f07a90b2e DataFlash: apm1 fixups 2012-12-20 14:51:36 +11:00
Pat Hickey ef1db1a3fc DataFlash: don't take a delay_cb 2012-12-20 14:51:36 +11:00
Pat Hickey 0e5ff36c6c DataFlash: DataFlash_APM1 rewritten in terms of AP_HAL spi primitives 2012-12-20 14:51:36 +11:00
Pat Hickey a81de007d8 DataFlash: headers switch to use AP_HAL SPI device driver types 2012-12-20 14:51:36 +11:00
Pat Hickey cc699a2a4e DataFlash: conform to ordinary stdint types
* s/unsigned char/uint8_t/g
* changed all type 'byte' to uint8_t
2012-12-20 14:51:36 +11:00
Pat Hickey fff4e87619 Arduino.mk: allow user avrdude flags 2012-12-20 14:51:36 +11:00
Andrew Tridgell 8b6ad6d559 SITL: removed SITL_debug()
not needed any more
2012-12-20 14:51:36 +11:00
Andrew Tridgell 38031edc9d AP_InertialSensor: removed spurious init() method 2012-12-20 14:51:36 +11:00
Andrew Tridgell c9a81d7de6 AP_InertialSensor: fixed sign of 16 bit SPI transfer
this gets accels and gyros working again
2012-12-20 14:51:36 +11:00
Pat Hickey dbcc4fc6a5 AP_InertialSensor: variable wibble 2012-12-20 14:51:36 +11:00
Pat Hickey 9aca19415a AP_InertialSensor: robust semaphores 2012-12-20 14:51:36 +11:00
Pat Hickey 1019fb45e7 AP_InertialSensor: remove sei in data interrupt handler 2012-12-20 14:51:36 +11:00
Pat Hickey af852aa6a9 AP_HAL_AVR: init dataflash from HAL init 2012-12-20 14:51:35 +11:00
Pat Hickey 7f02993994 AP_HAL_AVR: less chatty Dataflash 2012-12-20 14:51:35 +11:00
Pat Hickey 09c14f3807 AP_ADC: more robust semaphores 2012-12-20 14:51:35 +11:00
Pat Hickey bfd03ab40c AP_Baro: robust spi device 2012-12-20 14:51:35 +11:00
Pat Hickey 60f7788be4 AP_Baro: robust calibration 2012-12-20 14:51:35 +11:00
Pat Hickey eaa0a990a4 AP_Baro: MS5611 robust semaphores 2012-12-20 14:51:35 +11:00
Pat Hickey 52925b655f AP_Baro: MS5611 uses delay in busy wait 2012-12-20 14:51:35 +11:00
Pat Hickey 6943d32d76 SITL: fixed to build under AP_HAL
* won't work or naything like that
2012-12-20 14:51:35 +11:00
Pat Hickey 4d0b1e6571 AP_Relay: add init method 2012-12-20 14:51:35 +11:00
Pat Hickey 70a3ee738a gcs console: uartb fixup 2012-12-20 14:51:35 +11:00
Pat Hickey 7017a35fc3 AP_Airspeed: fix for AnalogIn read_average 2012-12-20 14:51:35 +11:00
Pat Hickey 8f99a12374 AP_ADC_AnalogSource: fix for new AnalogIn interface 2012-12-20 14:51:35 +11:00
Pat Hickey a6d80af9ed AP_ADC_AnalogSource: obey changes to AnalogSource interface 2012-12-20 14:51:35 +11:00
Pat Hickey 2be552ea22 AP_GPS: less chatty autodetect 2012-12-20 14:51:35 +11:00
Pat Hickey d72c5cf828 AP_GPS: uartB fixup 2012-12-20 14:51:35 +11:00
Andrew Tridgell 5840ded767 AHRS: removed constrain() defines 2012-12-20 14:51:34 +11:00
Andrew Tridgell 09e7b0b592 AHRS: removed unused variable 2012-12-20 14:51:34 +11:00
Pat Hickey 70f34656bc AP_AHRS: uart1 -> uartB fixup 2012-12-20 14:51:34 +11:00
Andrew Tridgell eb81a3934e HAL_AVR: removed extra min() define 2012-12-20 14:51:34 +11:00
Pat Hickey f9c8f93b37 AP_HAL_AVR: Dataflash APM2 does a better job detecting no df card 2012-12-20 14:51:34 +11:00
Andrew Tridgell aff1e56e82 AP_HAL: fixed AnalogIn example sketch 2012-12-20 14:51:34 +11:00
Pat Hickey 13f7bd1723 AP_HAL_AVR: AnalogIn supports read_average & read_latest 2012-12-20 14:51:34 +11:00
Pat Hickey f9e9b8a7ef AP_HAL_AVR: move scheduler's timer-hw dependent methods to a separate cpp 2012-12-20 14:51:34 +11:00
Andrew Tridgell d9f69923f2 HAL_AVR: fixed int types -> uint8_t 2012-12-20 14:51:34 +11:00
Andrew Tridgell b1856bc17e HAL_AVR: fixed warnings on all PSTR() usage 2012-12-20 14:51:34 +11:00
Andrew Tridgell 857c0b69e5 AP_HAL_AVR: fixed interrupt attach for MPU6000 2012-12-20 14:51:34 +11:00
Andrew Tridgell 31bb300f81 AP_HAL_AVR: fixed bounds check for rc input 2012-12-20 14:51:34 +11:00
Pat Hickey a79adcb7f4 AP_HAL_AVR: comment wibbles 2012-12-20 14:51:34 +11:00
Pat Hickey 8d97596ea0 AP_HAL_AVR: RCInput has overrides 2012-12-20 14:51:34 +11:00
Pat Hickey cb38651df5 AP_HAL: RCInput has overrides 2012-12-20 14:51:34 +11:00
Pat Hickey dfdc14f583 AP_HAL_AVR: Console uses only sized int types 2012-12-20 14:51:34 +11:00
Pat Hickey 8879cbbc69 AP_HAL: Console uses only sized int types 2012-12-20 14:51:33 +11:00
Pat Hickey 2ee214ee36 AP_HAL_AVR: AnalogIn uses only sized int types 2012-12-20 14:51:33 +11:00
Pat Hickey de4adefe4e AP_HAL: AnalogIn uses only sized int types 2012-12-20 14:51:33 +11:00
Pat Hickey 9455d4c297 AP_HAL_AVR: UARTDriver impl uses only sized int types 2012-12-20 14:51:33 +11:00
Pat Hickey 243590bb73 AP_HAL: UARTDriver & Stream uses only sized int types
Signed-off-by: Pat Hickey <pat@galois.com>
2012-12-20 14:51:33 +11:00
Pat Hickey ba07ae283f AP_HAL_AVR: sized ints in GPIO 2012-12-20 14:51:33 +11:00
Pat Hickey 709869f8ce AP_HAL: use sized ints in GPIO 2012-12-20 14:51:33 +11:00
Pat Hickey 765e2da8a7 AP_HAL_AVR: analog input fixed when ANALOG_INPUT_NONE
* need to provide new sample so we dont spin forever
2012-12-20 14:51:33 +11:00
Pat Hickey 2826a605ba AP_HAL_AVR: Dataflash debugging 2012-12-20 14:51:33 +11:00
Pat Hickey ff09314ab8 AP_HAL_AVR: SPI debugging 2012-12-20 14:51:33 +11:00
Pat Hickey d504db195e AP_HAL_AVR: add sei in defer timer process 2012-12-20 14:51:33 +11:00
Andrew Tridgell 0f3e30a0c3 HAL_AVR: fixed race condition in delay() 2012-12-20 14:51:33 +11:00
Pat Hickey ca4bc8d760 AP_HAL: AnalogIn read changed to read_latest and read_average 2012-12-20 14:51:33 +11:00
Pat Hickey 6218d7779f AP_HAL: expose DF_LOGGING_FORMAT to user 2012-12-20 14:51:33 +11:00
Pat Hickey 3bca50f422 AP_HAL: BetterStream removes printf attribute from _printf_P 2012-12-20 14:51:33 +11:00
Pat Hickey 88f09d100a AP_HAL_AVR: fix implementation of delay in scheduler 2012-12-20 14:51:32 +11:00
Pat Hickey 0b7a55b9f6 AP_HAL_AVR: AnalogIn hack to make vcc read work
* needs improvment
2012-12-20 14:51:32 +11:00
Pat Hickey 6e45ce12b2 AP_HAL_AVR: implement reboot in scheduler
* still need to fix system io register inits to do it like bootloader would
2012-12-20 14:51:32 +11:00
Pat Hickey 592d32ba47 AP_HAL: add reboot to scheduler 2012-12-20 14:51:32 +11:00
Pat Hickey 04d7b5ffe4 AP_HAL_AVR: implement changes to AnalogIn 2012-12-20 14:51:32 +11:00
Pat Hickey 7049934a69 AP_HAL: AnalogIn channel gets scale, source gets set_pin 2012-12-20 14:51:32 +11:00
Pat Hickey 50b765616b AP_HAL_AVR: change uart0,1,2,3 to uartA,B,C 2012-12-20 14:51:32 +11:00
Pat Hickey dbb6a2a0e5 AP_HAL: change uart0,1,2,3 to uartA,B,C 2012-12-20 14:51:32 +11:00
Pat Hickey d4e350f574 remove APM_RC, deprecated by AP_HAL 2012-12-20 14:51:32 +11:00
Pat Hickey 3b4e2296e9 remove nobuild.txt from deprecated AP_Var directory 2012-12-20 14:51:32 +11:00
Pat Hickey d53572e163 remove DigitalWriteFast library, deprecated under AP_HAL (&goodriddance) 2012-12-20 14:51:32 +11:00
Pat Hickey 2b904703d8 remove AP_PeriodicProcess library, deprecated under AP_HAL 2012-12-20 14:51:32 +11:00
Pat Hickey 5b9738bba1 remove Arduino_Mega_ISR_Registry library, deprecated under AP_HAL 2012-12-20 14:51:32 +11:00
Pat Hickey 1d21cea032 remove AP_AnalogSource library, deprecated under AP_HAL 2012-12-20 14:51:32 +11:00
Pat Hickey 3987e81e2a remove APO library, deprecated under AP_HAL 2012-12-20 14:51:31 +11:00
Pat Hickey 97e190a641 remove SPI3 library, deprecated under AP_HAL 2012-12-20 14:51:31 +11:00
Pat Hickey bc4b196f6f remove I2C library, deprecated under AP_HAL 2012-12-20 14:51:31 +11:00
Pat Hickey db31608aa2 remove AP_Semaphore library, deprecated under AP_HAL 2012-12-20 14:51:31 +11:00
Pat Hickey ec8b56db7d remove FastSerial library, deprecated under AP_HAL 2012-12-20 14:51:31 +11:00
Pat Hickey 39d14c8a93 PID: ported to AP_HAL 2012-12-20 14:51:31 +11:00
Pat Hickey 40f254af51 memcheck: ported to AP_HAL 2012-12-20 14:51:31 +11:00
Pat Hickey f4f3062df1 AP_Relay: rewritten for AP_HAL 2012-12-20 14:51:31 +11:00
Pat Hickey 71a360b3e3 APM_PI: ported to AP_HAL
* formatted to 80w, way of the future, way of the future
2012-12-20 14:51:31 +11:00
Pat Hickey 2244ac295c AP_HAL_AVR: improve RCInput documentation
copied directlyf rom AP_HAL header
2012-12-20 14:51:31 +11:00
Pat Hickey b89c45735b AP_HAL_AVR: provide 'int main (void)' impl as a macro
* avoid extra typing
* makes it HAL implementation specific
2012-12-20 14:51:31 +11:00
Pat Hickey a639f7c34f AP_HAL_AVR: rename FastSerial example to UARTDriver 2012-12-20 14:51:31 +11:00
Pat Hickey 52f6d67238 AP_HAL_AVR: add ArduPlaneLibs test sketch 2012-12-20 14:51:31 +11:00
Pat Hickey d47f77f8dd AP_HAL_AVR Scheduler: support nested atomic sections 2012-12-20 14:51:31 +11:00
Pat Hickey f543cede01 AP_HAL & AP_HAL_AVR: new SPI driver model 2012-12-20 14:51:31 +11:00
Pat Hickey 2a12392b9e AP_HAL: export semaphore header 2012-12-20 14:51:30 +11:00
Pat Hickey 03eb5a1beb AP_HAL_AVR: gpio and scheduler renamed arduino to avr 2012-12-20 14:51:30 +11:00
Pat Hickey 2e32ec3013 AP_HAL_AVR GPIO: rename Arduino to be AVR 2012-12-20 14:51:30 +11:00
Pat Hickey 17b951c45b AP_HAL_AVR Scheduler: rename Arduino to be AVR 2012-12-20 14:51:30 +11:00
Pat Hickey b2c44d8a81 AP_HAL: move AP_Semaphore to be part of the HAL 2012-12-20 14:51:30 +11:00
Pat Hickey 5f48193ea0 AP_HAL_AVR analog in example: use new constant for board vcc, and vcc not vdd 2012-12-20 14:51:30 +11:00
Pat Hickey 0c3e59a307 AP_HAL_AVR: AnalogIn channels respect pins, obey NONE input, all common
* there's no need for separate APM1/APM2 classes, so that was eliminated
* single class only has special member for vcc. all others created by
  channel interface.
2012-12-20 14:51:30 +11:00
Pat Hickey f4b5ef9fad AP_HAL AnalogIn: gets constants for BOARD_VCC and NONE 2012-12-20 14:51:30 +11:00
Pat Hickey b7c4cc20ac GPIO: optimized read, write, and mode for DigitalSource objects 2012-12-20 14:51:30 +11:00
Pat Hickey 054f35e33d AP_Camera: ported to AP_HAL 2012-12-20 14:51:30 +11:00
Pat Hickey f935f1ae31 AP_InertialNav: did my best at a meaningful test sketch
* the existing test sketch was just the InertialSensor test
2012-12-20 14:51:30 +11:00
Pat Hickey af4806666f AP_InertialNav: ported to AP_HAL 2012-12-20 14:51:30 +11:00
Pat Hickey c393374d4c AP_OpticalFlow: ported to AP_HAL
* 78 wide
* remove SPI.h, SPI3.h, and FastSerial.h dependencies (though not objects)
* gotta totally refactor HAL SPI driver to fix the rest
2012-12-20 14:51:30 +11:00
Pat Hickey a38ce8962e AP_Rangefinder: ported to AP_HAL. Only officially supports MaxsonarXL. 2012-12-20 14:51:30 +11:00
Pat Hickey 47f555feac AP_HAL_AVR: I2CDriver increments lockup count on any error
tridge made these changes to the "I2c" lib in a3589f2956
2012-12-20 14:51:30 +11:00
Pat Hickey 93f6267334 AP_HAL_AVR: create ArduCopterLibs test sketch
* used to make sure all ArduCopter deps build
2012-12-20 14:51:30 +11:00
Pat Hickey c1114168e4 AP_Baro tests rebase fixups 2012-12-20 14:51:29 +11:00
Pat Hickey e787b5ccd9 AP_Buffer: ported to AP_HAL 2012-12-20 14:51:29 +11:00
Pat Hickey c9541d3b00 AP_HAL: added begin_atomic and end_atomic to scheduler 2012-12-20 14:51:29 +11:00
Pat Hickey 197a685923 AP_Semaphore: ported to AP_HAL
* improved readability of test output
2012-12-20 14:51:29 +11:00
Pat Hickey f490f2432d Arduino.mk: norelax.inoflag will disable -Wl,--relax on a per sketch basis
* Some weird avr-ld bug that hits on 4.6.2 Fedora. Didn't have time to
  investigate further.
2012-12-20 14:51:29 +11:00
Pat Hickey 9bf69d4e0d AP_AHRS: port to AP_HAL 2012-12-20 14:51:29 +11:00
Pat Hickey 6cc231ae7d AP_Mount: ported to AP_HAL
I do not have the hardware required to test this
2012-12-20 14:51:29 +11:00
Pat Hickey eefb0f4515 APM_OBC: translate to AP_HAL, make trivial test sketch to test build 2012-12-20 14:51:29 +11:00
Pat Hickey 3b1150d857 AP_Menu: ported to AP_HAL 2012-12-20 14:51:29 +11:00
Pat Hickey ec53515648 AP_Param: eeprom translated to use AP_HAL. No unit tests available! 2012-12-20 14:51:29 +11:00
Pat Hickey 87c55f68c2 AP_HAL_AVR Storage: conform to new API 2012-12-20 14:51:29 +11:00
Pat Hickey 7908e41416 AP_HAL Storage: use a int type rather than pointer type for location 2012-12-20 14:51:29 +11:00
Andrew Tridgell c4d9b5e328 AP_HAL_PX4: added stdio.h 2012-12-20 14:51:29 +11:00
Andrew Tridgell 2669c33476 AP_HAL_PX4: added main program as include 2012-12-20 14:51:29 +11:00
Andrew Tridgell 28353cd683 AP_Progmem: check for PX4FMU_BUILD explicitly 2012-12-20 14:51:29 +11:00
Andrew Tridgell 3a2e138994 AP_Common: no c++ magic for PX4 build 2012-12-20 14:51:28 +11:00
Pat Hickey be00b2f681 AP_HAL_PX4: brief disclaimer 2012-12-20 14:51:28 +11:00
Andrew Tridgell c5221c34a5 HAL_AVR: don't auto build PX4 stuff yet 2012-12-20 14:51:28 +11:00
Pat Hickey 64a79f3598 AP_HAL_PX4: Stub Console implemented 2012-12-20 14:51:28 +11:00
Pat Hickey 166eff180d AP_Progmem Identity: switch to straight typedef of prog_char_t to char 2012-12-20 14:51:28 +11:00
Pat Hickey 9f69254c00 AP_Progmem: identity to use regular strings as PSTRs 2012-12-20 14:51:28 +11:00
Andrew Tridgell e9d41312ca HAL_AVR: automatically find tests to build 2012-12-20 14:51:28 +11:00
Pat Hickey 2d363e0683 AP_HAL_PX4: trivial console header 2012-12-20 14:51:28 +11:00
Pat Hickey a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Pat Hickey a399851ca2 AP_HAL: Depend on AP_Progmem rather than AP_Common to provide pstr 2012-12-20 14:51:28 +11:00
Pat Hickey 5c738810e2 AP_Progmem created: progmem macros per specific platform
* derived from AP_Common
2012-12-20 14:51:28 +11:00
Pat Hickey a2f97ac7c7 AP_Common.cpp: Delete empty cpp file 2012-12-20 14:51:28 +11:00
Pat Hickey f58935d1e7 AP_Common c++ lib: eliminate freeMemory and displayMemory
* also, no more error message in pure virtual call
2012-12-20 14:51:28 +11:00
Pat Hickey 9f9c183a4d remove AP_Vector.h as deprecated 2012-12-20 14:51:28 +11:00
Pat Hickey 925223341d remove AP_Var: deprecated 2012-12-20 14:51:28 +11:00
Pat Hickey 488fb9750b remove AP_MetaClass as deprecated 2012-12-20 14:51:27 +11:00
Pat Hickey d50d0682e9 remove APO library: deprecated 2012-12-20 14:51:27 +11:00
Pat Hickey 668caa4a2e Fix calls to AP_HAL::Scheduler::register_timer_process 2012-12-20 14:51:27 +11:00
Pat Hickey bae7e4b88e AP_HAL Scheduler: simplify register_timer_process, min time for delay cb 2012-12-20 14:51:27 +11:00
Pat Hickey 6a59ad143e AP_Curve: made into its own library 2012-12-20 14:51:27 +11:00
Andrew Tridgell 53105efbcd HAL_AVR: more uart0 -> console changes 2012-12-20 14:51:27 +11:00
Andrew Tridgell d133f15f57 HAL_AVR: use hal.console instead of hal.uart0 2012-12-20 14:51:27 +11:00
Andrew Tridgell ecd67ad79b HAL_AVR: added more build examples 2012-12-20 14:51:27 +11:00
Andrew Tridgell 87e300b119 AP_HAL: added double print functions
this copes with the fact that the compiler doesn't really know that
float and double are the same things
2012-12-20 14:51:27 +11:00
Andrew Tridgell e663f5feab HAL_AVR: use ccache if available 2012-12-20 14:51:27 +11:00
Andrew Tridgell f269172d96 HAL_AVR: fixed build of remaining HAL_AVR examples 2012-12-20 14:51:27 +11:00
Andrew Tridgell 978c7ae329 HAL_AVR: added build_all.sh script 2012-12-20 14:51:27 +11:00
Andrew Tridgell 49e1f452e1 HAL_AVR: fixed I2C example build 2012-12-20 14:51:27 +11:00
Pat Hickey f8047f158d Arduino.mk: Changes to asm opts for compatibility with avr-gcc4.6
* Need to make sure these are compatible with older toolchains
  before pushing to master
2012-12-20 14:51:26 +11:00
Pat Hickey 1cd09be2fd AP_HAL_AVR: proper empty uart for APM1 vs APM2
* APM1 uses uart2 as a spi port (dataflash)
* APM2 uses uart3 as a spi port (dataflash)
2012-12-20 14:51:26 +11:00
Pat Hickey de81267bd5 AP_HAL_AVR: utility/vprintf.cpp fixed for avr-gcc 4.6 2012-12-20 14:51:26 +11:00
Pat Hickey afa1143506 RC_Channel: ported to AP_HAL
* keeping everyone honest
* remove second unmaintained unit test:  No idea wtf is going on in there.
2012-12-20 14:51:26 +11:00
Pat Hickey c6fe5e5340 AP_Motors: ported to AP_HAL 2012-12-20 14:51:26 +11:00
Pat Hickey 95a13bdbd2 APM_Control: ported to AP_HAL
Unable to test since there are no unit tests.
2012-12-20 14:51:26 +11:00
Pat Hickey 9f9dfc7c63 AP_Limits: fix spacing to 80 columns, use standard cpp header guard conventions
* No idea what was going on there. Confusing.
2012-12-20 14:51:26 +11:00
Pat Hickey 3503c7627a AP_LeadFitler: ported to AP_HAL 2012-12-20 14:51:26 +11:00
Pat Hickey 4acf2c8591 AP_InertialSensor: ported to AP_HAL 2012-12-20 14:51:26 +11:00
Pat Hickey 11bf533c57 AP_HAL_AVR: implement GPIO::attach_interrupt just for interrupt 6 2012-12-20 14:51:26 +11:00
Pat Hickey 7480707f9e AP_HAL: Add attach_interrupt method to GPIO 2012-12-20 14:51:26 +11:00
Pat Hickey d422ab7806 AP_HAL: Extend Scheduler to support defered timer procs
* based on queue_proc from AP_PeriodicProcess
2012-12-20 14:51:26 +11:00
Pat Hickey 53432a1101 AP_Compass: ported to AP_HAL 2012-12-20 14:51:26 +11:00
Pat Hickey 9aada26e34 AP_Declination: translated to AP_HAL 2012-12-20 14:51:26 +11:00
Pat Hickey 5d40074e4e AP_Baro: port to AP_HAL 2012-12-20 14:51:26 +11:00
Pat Hickey c56c4ae240 Various example sketches: hal.uart0->begin(115200) is redundant. use console.
just assume uart0 is initialized by the HAL, because it is. DRY.
also, don't ever use uart0 explicitly in example sketches, use console
and let the hal figure it out.
2012-12-20 14:51:25 +11:00
Pat Hickey 11cfde1e46 AP_HAL_AVR: I2CDriver initialize in HAL init
* Makes more sense to have everything set to go by the time we're in setup.
2012-12-20 14:51:25 +11:00
Pat Hickey ce8dc5fd5c AP_AnalogSource: obsoleted by AP_HAL. Renamed to AP_ADC_AnalogSource. 2012-12-20 14:51:25 +11:00
Pat Hickey dfc8e91fd3 AP_Airspeed: port to AP_HAL 2012-12-20 14:51:25 +11:00
Pat Hickey 84e0dd406e Filter: ported to AP_HAL 2012-12-20 14:51:25 +11:00
Pat Hickey 30deb76ea3 AP_ADC: ported to AP_HAL
AP_ADC_test run on bench with APM1, looks ok.
2012-12-20 14:51:25 +11:00
Pat Hickey 050a878935 AC_PID: Ported to AP_HAL. 2012-12-20 14:51:25 +11:00
Pat Hickey 73ccfaf2d7 AP_HAL: implement DigitalSource abstraction
* GPIO's complement to AnalogSource
2012-12-20 14:51:25 +11:00
Pat Hickey deb96143d3 AP_GPS_IMU: fix type punning warnings by using memcpy 2012-12-20 14:51:25 +11:00
Pat Hickey 9ed023aeb4 AP_GPS: Builds under AP_HAL. Not tested. 2012-12-20 14:51:25 +11:00
Pat Hickey e83504f80d AP_HAL_AVR LCDTest: fix build 2012-12-20 14:51:25 +11:00
Pat Hickey 6d9ac42618 GCS Console: add lib implementing message handling from DATA16 and DATA32 msgs
console demonstrates simple loopback
works with our branch of mavproxy at the moment
2012-12-20 14:51:25 +11:00
Pat Hickey 40734bc2f2 AP_HAL_AVR Console: bugfix on buffer bytes free vs used
* had them reversed. doh
2012-12-20 14:51:25 +11:00
Pat Hickey fd89bacbc8 GCS_MAVLink: wibble to mavlink_helpers.h to fix build. 2012-12-20 14:51:25 +11:00
Pat Hickey 2a72c7e730 GCS_MAVLink: Regenerate mavlink1.0 implementation
created using:
mavgen.py --lang=C --wire-protocol=1.0 --output=./include/mavlink/v1.0 ./message_definitions/ardupilotmega.xml
mavlink repo commit 79cabfe956464c8f745807a6e65062ac3fc09193
2012-12-20 14:51:25 +11:00
Pat Hickey a86a696311 GCS_Mavlink: add the DATA16 and DATA32 messages definitions to ardupilotmega.xml 2012-12-20 14:51:24 +11:00
Pat Hickey ed19ff7f2f GCS_Console example: implement a trivial mavlink gcs
* Just heartbeats and sends a single parameter down
* all other messages unimplemented
* console is dumped to statustext at the moment (that will change soon)
2012-12-20 14:51:24 +11:00
Pat Hickey 6661f827fa GCS_MAVLink: port to work with AP_HAL class rather than FastSerial 2012-12-20 14:51:24 +11:00
Pat Hickey f2b21ecc41 AP_Param: Port to work with AP_HAL class instead of FastSerial 2012-12-20 14:51:24 +11:00
Pat Hickey 7dbe198e5c AP_Math: port to work on coreless arduino (AP_HAL) 2012-12-20 14:51:24 +11:00
Pat Hickey 52adb462a9 AP_HAL_AVR: Finished implementation of AVRConsoleDriver 2012-12-20 14:51:24 +11:00
Pat Hickey 98f86d0288 AP_HAL_AVR: Console more complete, but still not 100% 2012-12-20 14:51:24 +11:00
Pat Hickey 6f4d208ffc AP_HAL_AVR: fixup in vprintf header 2012-12-20 14:51:24 +11:00
Pat Hickey f889d5ac13 AP_HAL_AVR: trivial ConsoleDriver implementation
* user backend unimplemented. will do that next.
2012-12-20 14:51:24 +11:00
Pat Hickey 017f592eef AP_HAL: add ConsoleDriver interface 2012-12-20 14:51:24 +11:00
Pat Hickey a3a6482fd3 AP_HAL_AVR: vprintf implementation exists outside of class hierchary.
* Makes it easier to mix into other classes.
2012-12-20 14:51:24 +11:00
Pat Hickey 36154559fc AP_HAL: change txspace from a BetterStream method to a Stream method. 2012-12-20 14:51:24 +11:00
Pat Hickey 72f8667d9c AP_HAL_AVR: AnalogIn implemented 2012-12-20 14:51:23 +11:00
Pat Hickey 279a755ab3 AP_HAL: AnalogIn interface fleshed out 2012-12-20 14:51:23 +11:00
Pat Hickey 01e34825f3 AP_HAL_AVR: Scheduler unit tests 2012-12-20 14:51:22 +11:00
Pat Hickey ba7a596ec3 AP_HAL_AVR: Scheduler extensions implemented 2012-12-20 14:51:22 +11:00
Pat Hickey 6671310399 AP_HAL Scheduler: interface has AP_PeriodicProcess functionality 2012-12-20 14:51:22 +11:00
Pat Hickey a1863ec1f5 AP_HAL_AVR ISRRegistry: use AP_HAL::Proc types instead of private typedef 2012-12-20 14:51:22 +11:00
Pat Hickey af68c09591 AP_HAL Namespace: typedef Proc and TimedProc 2012-12-20 14:51:22 +11:00
Pat Hickey 229f58412b AP_HAL_AVR Storage: commit test 2012-12-20 14:51:22 +11:00
Pat Hickey 187571cca9 AP_HAL Scheduler fixes & AP_HAL_AVR Scheduler changed to match 2012-12-20 14:51:22 +11:00
Pat Hickey 2adfc4fbc5 AP_HAL Scheduler add method register_delay_callback (unimplemented) 2012-12-20 14:51:22 +11:00
Pat Hickey 1d89419059 AP_HAL: Scheduler should use stdint types, conform names 2012-12-20 14:51:22 +11:00
Pat Hickey a9dff1ad25 AP_HAL_AVR: bugfix to SPIDriver.cpp
* Had freq set to 10 mhz, not 1mhz... stupid mistake.
2012-12-20 14:51:22 +11:00
Pat Hickey 177da8ea5b AP_HAL_AVR: Bugfix to SPIDriver_MPU6000 (works now) 2012-12-20 14:51:22 +11:00
Pat Hickey 8ffec83b73 DataFlash: fixes to lib include and make the test smaller 2012-12-20 14:51:22 +11:00
Pat Hickey 06441b4117 AP_HAL_AVR Dataflash implemented, tested for APM2
* Need to get my APM1 board from home to test it on there...
2012-12-20 14:51:21 +11:00
Pat Hickey 9beba972c8 AP_HAL_AVR: Dataflash instances stubbed out based on /libraries/DataFlash 2012-12-20 14:51:21 +11:00
Pat Hickey 34ec5081e2 AP_HAL: Dataflash interface populated 2012-12-20 14:51:21 +11:00
Pat Hickey 3b697fe299 AP_HAL: rename Log to Dataflash
* I'd love to build a proper abstraction for logging, but I don't have the
  time to do so right now.
* The dataflash libs need to be pushed into the AP_HAL_AVR anyway, so I'll
  do that now and replace the interface with a better logging driver later.
2012-12-20 14:51:21 +11:00
Pat Hickey 5d2327f52f AP_HAL: Don't need a separate Console class, BetterStream will do. 2012-12-20 14:51:21 +11:00
Pat Hickey 261ef791a7 AP_HAL Storage: trivial interface and implementation wraps avr/eeprom funcs 2012-12-20 14:51:21 +11:00
Pat Hickey b0d8f43111 AP_HAL_AVR: Implemented SPIDriver based on Arduino, but it doesn't work yet
* I don't have an APM2.5 board I can easily connect a logic analyzer to see
  the traffic on the bus...
2012-12-20 14:51:21 +11:00
Pat Hickey b2a34800e2 AP_HAL_AVR RCPassthroughTest: write to upper (>8) channels as well. 2012-12-20 14:51:21 +11:00
Pat Hickey 1f670b4ce2 AP_HAL_AVR: bugfix to RCOutput_APM1 driver CH5 and CH6
* copypasted the code from RCOutputAPM1 and forgot to fix the io pins
  to initialize properly
2012-12-20 14:51:21 +11:00
Pat Hickey ad64fd2924 AP_HAL_AVR: RCOutput_APM2, bugfix to get_freq on CH_10 and CH_11 2012-12-20 14:51:21 +11:00
Pat Hickey 875e928628 AP_HAL_AVR: mostly working implementation of RCOutput_APM1.cpp
* CH5 and CH6 output doesn't work at the moment. not sure why
2012-12-20 14:51:21 +11:00
Pat Hickey d8ceb427f4 AP_HAL_AVR wibble: s/OUT/CH_/g to be more clear
* also, correct my poor german, h/t acfoltzer
2012-12-20 14:51:21 +11:00
Pat Hickey 5445ad02f8 AP_HAL_AVR: RCOutput tested implementation for APM2 2012-12-20 14:51:21 +11:00