Commit Graph

245 Commits

Author SHA1 Message Date
Andrew Tridgell 1849db7074 AP_HAL: added board_voltage AnalogIn method
this makes it easier to get the board voltage from any library,
without having to allocate another analog channel object
2014-02-14 21:25:38 +11:00
Andrew Tridgell fc6ce42a28 HAL_AVR: fixed build 2014-01-17 15:00:20 +11:00
Andrew Tridgell 87cc95dd7f AP_HAL: removed unused enable_mask and disable_mask functions 2014-01-16 17:16:17 +11:00
Andrew Tridgell 461638780b HAL_AVR: fixed warning on memcheck build 2014-01-14 21:27:52 +11:00
Andrew Tridgell ea649e036b AP_HAL: added HAL_CPU_CLASS define for selecting algorithms
this will make it easier to select the appropiate level of algorithm
for a CPU
2013-12-31 10:28:37 +11:00
Andrew Tridgell 75cb04dd8b HAL_AVR: use memcheck for available_memory() 2013-12-28 14:51:15 +11:00
Andrew Tridgell 36e06a1709 HAL_AVR: moved memcheck into HAL_AVR 2013-12-28 14:50:42 +11:00
Randy Mackay f8e269cd04 OptFlow: correct SPI mode and baud rates 2013-12-01 23:20:02 +09:00
Andrew Tridgell 4fb1fdb627 HAL_AVR: added NULL uartD 2013-11-23 19:29:22 +11:00
Randy Mackay 80059d3516 AP_HAL_AVR: resolve compiler warning 2013-11-16 16:58:32 +09:00
Randy Mackay f5488bc447 HAL: MPU6k and Baro SPI to 8Mhz 2013-11-15 21:58:32 +09:00
Andrew Tridgell 08a6503364 HAL_AVR: force all devices on SPI0 to low speed when one is low speed
this forces MS5611 to low speed when MPU6K is low speed
2013-11-15 21:58:30 +09:00
Andrew Tridgell 11e1cf31c4 HAL_AVR: changed to 16 byte bulk transfer on SPI0 2013-11-07 12:48:16 +11:00
Andrew Tridgell 580e7b8a4a HAL_AVR: switch back to 500kHz SPI for MPU6k until we understand the issues
this is for new plane release. We need for analysis before we can
re-enable high speed SPI
2013-10-28 16:55:22 +11:00
Randy Mackay 443023bbbf AP_HAL: add ignore_errors to I2C driver 2013-10-21 20:01:32 +09:00
Andrew Tridgell a5788dde8f HAL_AVR: added Scheduler.set_timer_speed() support 2013-10-13 11:03:37 +09:00
Andrew Tridgell 34770fe6bf HAL_AVR: fixed SPI bus speed switching
this fixes a bug in changing the bus speed between devices
2013-10-13 11:03:17 +09:00
Randy Mackay f2f61af125 HAL_AVR: scheduler interrupt 500hz for APM2 2013-10-13 11:03:13 +09:00
Andrew Tridgell 04836ea763 HAL_AVR: set initial bus speed on MPU6k to 500kHz, then change to 8MHz
this should allow us to work even with older chips. See the MPU6000
product specification, which says max 20MHz for sensor and interrupt
regs, and max 1MHz for all other regs
2013-10-13 11:03:06 +09:00
Andrew Tridgell 4dc2f4bd58 HAL_AVR: spi3 at 8mhz for mpu6k and ms5611 2013-10-13 11:03:02 +09:00
John Arne Birkeland f6038f36bf HAL_AVR: Improved AVRTimer micros() and millis()
- More efficient code by using 16-bit timer
- micros() now has proper 1 us resolution and less overhead
- millis() has less overhead
- removed unneeded/unwanted initializatin of timers in AVRTimer::init()
2013-10-13 11:03:00 +09:00
Andrew Tridgell 5ba34b38c1 HAL_AVR: added specialised transfer functions for MPU6k and APM1 ADC
this saves quite a lot of time in interrupts
2013-10-13 11:02:57 +09:00
Andrew Tridgell ae1fd4baa4 HAL_AVR: reduce the latency of semaphore waits
this reduces the average cost of waiting for the MPU6000 semaphore
from the main loop
2013-10-10 15:41:51 +11:00
Andrew Tridgell fc7f3c8aa6 AP_HAL: fixed example build 2013-10-10 09:54:20 +11:00
Andrew Tridgell de4d505f62 HAL_AVR: fixed examples build 2013-10-05 22:03:42 +10:00
Andrew Tridgell 7072c52b57 HAL_AVR: removed Console driver 2013-10-05 18:32:12 +10:00
Andrew Tridgell 8e0a136d78 HAL_AVR: mark some examples as not building 2013-10-03 12:21:08 +10:00
Andrew Tridgell a59f505d25 HAL_AVR: implement an efficient buffer write() call for AVR
this saves some cycles in the telemetry code
2013-10-03 12:21:07 +10:00
Andrew Tridgell 6d58f5e188 HAL_AVR: updates for AP_HAL::MemberProc 2013-09-30 20:51:20 +10:00
Andrew Tridgell 0ade02a624 HAL_AVR: updates for new scheduler API 2013-09-28 21:24:02 +10:00
Andrew Tridgell 33fe27a104 AP_HAL_AVR: implement betterstream functions in AP_HAL
this gives more consistancy between ports
2013-09-22 12:21:11 +10:00
Andrew Tridgell b9d6f8e8b1 AP_HAL_AVR: removed unused script 2013-09-21 13:30:02 +10:00
Andrew Tridgell 60122f9877 AP_HAL: moved printf implementation from AP_HAL_AVR to AP_HAL
this gives a common printf implementation on all boards, which
simplifies testing, and also simplifies porting to new boards
2013-09-21 13:28:46 +10:00
Andrew Tridgell 16a0dfc38c HAL_AVR: changed to C implementation of float formatting
Many thanks to Soren Kuula for this work!
2013-09-21 11:16:08 +10:00
Andrew Tridgell a5b29f44d5 AP_HAL: added hal.gpio->usb_connected() function
this replaces the USB_MUX_PIN on APM2, and works on PX4 and FMUv2
2013-09-19 16:23:40 +10:00
Andrew Tridgell 23fc6f8aed AP_HAL_AVR: changed to AP_Vehicle.h 2013-09-13 11:45:24 +10:00
Andrew Tridgell a80d3344f5 AP_HAL_AVR: support voltage_latest() 2013-09-12 13:25:17 +10:00
Andrew Tridgell 7082e0f8aa AP_HAL: added hold_in_bootloader parameter to scheduler->reboot() 2013-09-04 11:58:13 +10:00
Andrew Tridgell 97b7130bb9 libraries: update license header to GPLv3
we switched to GPLv3 a long time ago, but neglected to update the
per-file license headers
2013-08-30 13:01:39 +10:00
Andrew Tridgell 0bfc18b72d HAL_AVR: fixed examples build 2013-08-30 13:01:36 +10:00
Randy Mackay ac36a09747 AP_HAL: add toggle to GPIO 2013-08-30 13:01:34 +10:00
Andrew Tridgell 63873d6af3 HAL_AVR: fixed example build 2013-07-23 09:42:51 +10:00
Andrew Tridgell c691e16139 HAL_AVR: fixed example build 2013-07-18 17:36:38 +10:00
Tobias ce6529734c HAL_AVR: reorder parameters to remove a warning with -Wreorder 2013-07-08 12:07:50 +10:00
tobias 4e7fea787b HAL_AVR: corrected includes to replace #include "$HEADER" with #inlcude "utility/$HEADER"
adding -I for EVERY DIRECTORY isn't desirable

http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
2013-07-08 12:07:50 +10:00
Andrew Tridgell 25f8983383 HAL_AVR: don't initialise TWBR twice 2013-07-05 12:59:14 +10:00
Randy Mackay b16ce5e523 AVR I2C: bug fix
Fix provided by both Jason Short and lucafedechen independently
2013-06-28 07:09:05 -10:00
Andrew Tridgell 2316c3bd11 AP_HAL: make storage->write_block() take a const pointer 2013-06-04 14:02:13 +10:00
Andrew Tridgell 3c9d45d7d0 HAL_AVR: avoid writing bytes to EEPROM that are already correct
this speeds up writing of waypoint data, reducing latency
2013-06-04 13:33:41 +10:00
Andrew Tridgell c82caeeba1 HAL_AVR: configure analog inputs as INPUT without pullup
not all pins were defaulting to this, which led to some strange
readings on some devices. First noticed by Andi on a LM335 temperature
sensor
2013-06-01 12:19:02 +10:00