Víctor Mayoral Vilches
57ec305caa
AP_HAL: Fixes to make the ERLE layer work
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches
8af1b6faa7
AP_HAL_Linux: Add support for SPIDevice_LSM9DS0
...
The LSM9DS0 SPI device is connected to
SPI0, thereby SPIDriver class should return the
corresponding device.
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches
5493be1b0d
AP_HAL: Add SPIDevice_MPU9250 as a device.
2014-07-14 09:02:46 +10:00
Andrew Tridgell
74ee70d463
HAL_Linux: updates for ERLE board type
2014-07-14 08:52:27 +10:00
Andrew Tridgell
18a64d17d3
AP_HAL: added HAL_ prefix to GPIO_ defines
...
this fixes a bug caused by GPIO_INPUT and GPIO_OUTPUT already being
defined in NuttX, which caused pinMode() not to setup pins for output
when requested
2014-06-02 09:24:52 +10:00
Andrew Tridgell
74227cd7f0
AP_HAL: prevent some FastDelegate warnings
2014-05-08 11:11:03 +10:00
Andrew Tridgell
5cd145a307
AP_HAL: added set_failsafe_pwm() API
...
this allows the PWM values for FMU firmware failure to be setup
2014-04-21 08:36:52 +10:00
Emile Castelnuovo
201332caef
AP_HAL: New VRBRAIN board definition and libraries
2014-04-08 16:19:19 +10:00
Andrew Tridgell
6eee2421cc
AP_HAL: removed RCInput valid_channels() and added new_input() and num_channels()
...
the valid_channels() method was inconsistently implemented between
boards, and served two quite different purposes. It is clearer as two
functions
2014-03-25 14:39:41 +11:00
Andrew Tridgell
d36989f6a1
AP_HAL: fixed example build
2014-03-19 12:14:06 +09:00
Randy Mackay
7663c5898e
AP_HAL_Boards: board specific storage size definition
2014-03-19 12:11:52 +09:00
Andrew Tridgell
3fa2207a2d
AP_HAL: allow for microsecond resolution in scheduler->stop_clock()
...
this makes 400Hz in the replay code possible
2014-02-26 19:33:39 +11:00
Andrew Tridgell
4cb61f1f08
AP_HAL: support uartE
2014-02-26 08:18:20 +11:00
Andrew Tridgell
735c6449a1
AP_HAL: added support for commandline arguments
...
useful for log replay, specifying log file
2014-02-23 08:15:39 +11:00
Andrew Tridgell
9cf70fe3f7
AP_HAL: another broken example build
...
this one an internal compiler error
2014-02-17 12:42:13 +11:00
Andrew Tridgell
830afefcef
AP_HAL: fixed example build
2014-02-15 06:40:29 +11:00
Andrew Tridgell
117b77460e
HAL_Linux: added stop_clock hack!
2014-02-15 05:28:08 +11:00
Andrew Tridgell
bea0a46410
AP_HAL: added servorail_voltage and power_status_flags() API on AnalogIn
2014-02-15 05:00:09 +11:00
Andrew Tridgell
7c1b9b344f
AP_HAL: added get_flow_control() API
2014-02-14 21:51:00 +11:00
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
ccb7dc640d
AP_HAL: fixed a build warning
2014-02-12 10:51:58 +11:00
Andrew Tridgell
439a075b30
AP_HAL: added force_safety_off rcoutput function
...
this forces the safety switch off, enabling PWM on the IO board
2014-02-11 15:58:25 +11:00
Andrew Tridgell
c5c1d1358a
HAL_PX4: added automatic hardware flow control detection
...
this allows us to detect if hardware flow control is not available and
automatically disable it
2014-02-11 12:11:26 +11:00
Andrew Tridgell
3e637ac5d9
AP_HAL: added enable_flow_control() option in AP_HAL
2014-02-10 12:54:50 +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
5e39b6fb11
AP_HAL: added set_safety_pwm() API
2014-01-15 22:25:22 +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
7e1e10f941
AP_HAL: added time_shift() scheduler API
...
used for log replay
2013-12-30 14:35:09 +11:00
Andrew Tridgell
172398a971
AP_HAL: added available_memory() interface
2013-12-28 14:51:01 +11:00
Andrew Tridgell
e321ad65f4
AP_HAL: fixed example build
2013-12-17 11:51:37 +11:00
Andrew Tridgell
f95bea699b
AP_HAL: added get_system_id() method on Util
2013-11-26 13:00:03 +11:00
Andrew Tridgell
cbc0f3ec27
AP_HAL: support uartD on some boards
...
PX4 and SITL get an extra UART
2013-11-23 19:29:22 +11:00
Andrew Tridgell
0ca82d5e3c
AP_HAL: added set_system_clock() API
2013-10-24 14:22:48 +11:00
Randy Mackay
443023bbbf
AP_HAL: add ignore_errors to I2C driver
2013-10-21 20:01:32 +09:00
Andrew Tridgell
7ef187fcfd
AP_HAL: added optional set_timer_speed() scheduler API
...
will be used by copter to reduce interrupt load on APM2
2013-10-13 11:03:35 +09:00
Andrew Tridgell
5ccf8409b4
AP_HAL: added an optional spi.set_bus_speed() API
...
this will be used by MPU6000 on APM2 to change speed after init
2013-10-13 11:03:04 +09:00
Andrew Tridgell
9f24c45502
AP_HAL: removed separate Console class
...
the idea of a separate console class was never really used, and just
added confusion in a HAL port. It also consumes some much needed ram
and flash space on APM2
2013-10-05 18:32:00 +10:00
Andrew Tridgell
34a328f66d
AP_HAL: added safety_switch_state() function in hal.util
...
will be used by copter to check safety switch is set
2013-10-05 15:46:35 +10:00
Andrew Tridgell
efe1e01700
AP_HAL: require a buffer write() function in all ports
...
this makes a sufficient performance difference that it is worth it
2013-10-03 12:21:07 +10:00
Andrew Tridgell
f2de4bb7b0
AP_HAL: implement AP_HAL::MemberProc via FastDelegate.h
...
this provides a more portable way to encapsulate member functions in
variables
2013-09-30 20:51:13 +10:00
Andrew Tridgell
f0f5761e8d
AP_HAL: make timed processes take void *argument
...
this allows the class to be passed in, meaning that drivers that use
register_timer_process() and register_io_process() don't need to use
static members. That results in simpler, easier to read code
2013-09-28 21:24:02 +10:00
Andrew Tridgell
296417a228
AP_HAL: added AP_HAL_LINUX define
2013-09-28 21:24:01 +10:00
Andrew Tridgell
60f3a8b6cf
AP_HAL: removed SMACCM support
2013-09-26 22:38:31 +10:00
Mike McCauley
ec5425578e
AP_HAL: Added Flymaple board
2013-09-24 13:33:25 +10:00
Andrew Tridgell
0e9aef7e52
AP_HAL: changed base defines for print()
...
this avoids a conflict with wirish from libmaple
2013-09-23 18:10:21 +10:00
Andrew Tridgell
87bb3bc5dc
AP_HAL: added AP_HAL_PX4 define
2013-09-22 16:02:42 +10:00
Andrew Tridgell
928e06f52c
AP_HAL: use fabs() in print
...
fixes build on Arduino
2013-09-22 13:18:40 +10:00
Andrew Tridgell
d46f5f6943
AP_HAL: implement betterstream functions in AP_HAL
...
this gives more consistancy between ports
2013-09-22 12:20:59 +10:00
Andrew Tridgell
0d662c52b3
AP_HAL: fixed length return from snprintf
2013-09-21 15:45:05 +10:00
Andrew Tridgell
0063f1fad8
AP_HAL: added Util.cpp
...
common printf functions
2013-09-21 14:25:42 +10:00
Andrew Tridgell
85b3f0d18d
AP_HAL: expanded printf test suite
2013-09-21 13:29:52 +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
4ad4b60fbc
HAL: added Printf test sketch
...
for testing new non-asm printf code
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
a587b1140a
AP_HAL: added voltage_latest() interface
...
this will be used for reading the 5V rail
2013-09-12 13:23:04 +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
Randy Mackay
ac36a09747
AP_HAL: add toggle to GPIO
2013-08-30 13:01:34 +10:00
Andrew Tridgell
ef5a42fabc
AP_HAL: added RCOutput example sketch
...
useful for testing all 14 channels via APM API
2013-08-30 13:01:32 +10:00
Tobias
d3ea88e8c7
AP_HAL: resolved -Woverloaded-virtual warning
...
the function:
virtual size_t AP_HAL::Print::write(const uint8_t *buffer, size_t size);
was hidden in all derived classes by their
virtual size_t write(uint8_t) = 0; implementations.
To solve this, a non-virtual write(const uint8_t *, size_t) that calls a
virtual write_implementation was added.
This isn't necessary atm, because the derived classes don't call
write(const uint8_t *, size_t), BUT this decreases the apm2-quad Program
size by 40 bytes :D and removes warnings.
2013-07-08 12:17:34 +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
a5b20b4dfc
AP_HAL: removed scaling factor on analog sources
...
these are not use anymore, as voltage_average() is used instead
2013-05-13 15:29:42 +10:00
Andrew Tridgell
589b8cdb58
AP_HAL: added voltage_average_ratiometric() call to AnalogIn
...
this is for ratiometric sensors such as the 3DR airspeed sensor and
the Maxbotix analog sonar
2013-05-13 15:12:43 +10:00
Andrew Tridgell
0b6cfc7294
AP_HAL: added set_stop_pin() and set_settle_time() interfaces to analogin
...
this is for multiple sonars on one vehicle, to prevent them
interfering with each other
2013-05-03 09:45:19 +10:00
Andrew Tridgell
500497f5fa
AP_HAL: update AnalogIn test to show the first 16 pins
2013-05-02 21:31:55 +10:00
Randy Mackay
bbbd90c430
AP_HAL: rename RCInput's valid() fn to valid_channels
2013-04-29 15:05:53 +09:00
Andrew Tridgell
3b0250b414
AP_HAL: define RC_12
...
we have 12 channels on PX4FMU+PX4IO
2013-04-25 20:10:53 +10:00
Andrew Tridgell
af7381e9e0
AP_HAL: added register_io_process()
...
this is used to register a low priority IO task. Used for file IO in
DataFlash_File.cpp
2013-04-17 21:33:50 +10:00
Andrew Tridgell
eb6c66af7e
AP_HAL: added gpio->analogPinToDigitalPin() API
2013-03-22 12:31:14 +11:00
Andrew Tridgell
7681f3b639
AP_HAL: update AnalogIn example to show voltages not raw values
2013-03-15 08:39:22 +11:00
Andrew Tridgell
b1c27407a2
AP_HAL: added voltage_average() interface to AnalogIn
...
returns voltage in Volts, using averaged reading over samples.
Where possible this should be auto-scaled against a known reference
voltage
2013-03-03 16:16:01 +11:00
Andrew Tridgell
8ed2f7d21c
AnalogIn: run the example sketch a bit slower
...
5Hz is plenty
2013-03-01 11:19:26 +11:00
Andrew Tridgell
5a55fd9a2f
AP_HAL: added HAL_BOARD_NAME define
2013-03-01 07:18:25 +11:00
Andrew Tridgell
a3ef58ac92
AP_HAL: moved AnalogIn example to generic examples
...
it is not AVR specific anymore
2013-02-22 12:50:47 +11:00
Andrew Tridgell
70f7cde9b8
AP_HAL: added run_debug_shell() hal.util method
2013-02-07 15:04:33 +11:00
Andrew Tridgell
76092eb590
AP_HAL: remove unused peek() interface from UART drivers
...
this is a bit tricky to implement on some platforms, and is unused
anyway
2013-01-16 14:43:18 +11:00
James Bielman
4fa7bb1486
Add AVR compatibility header for missing math.h definitions.
...
- Define float versions of math functions to the double versions
on AVR (eg. #define sinf sin).
- These macros appear to be missing in older versions of avr-libs.
- Include AP_Math.h rather than math.h to get these definitions.
2013-01-16 13:52:17 +11:00
James Bielman
5631f865b2
Update floating point calculations to use floats instead of doubles.
...
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell
2ce18f588b
AP_HAL: added AP_HAL_Macros.h
...
this adds a define for constexpr, allowing code to build either with
or without -std=gnu++0x
2013-01-16 09:12:55 +11:00
Andrew Tridgell
6415f00ce3
AP_HAL: added a bulk transfer() method
...
very useful for dataflash
2013-01-13 17:31:42 +11:00
Pat Hickey
7a0f95c11c
AP_HAL: add Scheduler methods in_timerprocess, system_initialize
2013-01-10 14:07:43 -08:00
Andrew Tridgell
e76c77e86a
AP_HAL: mark semaphore take operations as WARN_IF_UNUSED
...
this prevents common bugs
2013-01-09 20:42:02 +11:00
Andrew Tridgell
90523ae975
AP_HAL: added WARN_IF_UNUSED macro
...
useful for key functions
2013-01-09 20:41:37 +11:00
Pat Hickey
3da864499d
AP_HAL Semaphore: don't use limits, they don't work on c++
2013-01-04 16:19:15 -08:00
James Bielman
eca1417858
AP_HAL: Add semaphores to I2C driver.
...
- Guard I2C transactions with this semaphore in the MS5611 and
HMC5843 drivers.
2013-01-04 15:43:43 -08:00
Pat Hickey
ea2a03344e
AP_HAL Scheduler: remove begin_atomic and end_atomic from api
...
* application-level atomic operations can now only be defined in
terms of suspend/resume_timer_procs
2013-01-03 17:33:14 -08:00
Pat Hickey
81d77d4a70
AP_HAL: New semaphore interface
...
* it now looks like a semaphore!
2013-01-03 13:48:07 -08:00
James Bielman
a4af314b57
Add AP_HAL_SMACCM implementation.
...
- Add a board definition for SMACCMPilot.
- Support the SMACCM HAL in required utility libraries.
2013-01-03 13:48:06 -08:00
Andrew Tridgell
a3c26d44e4
AP_HAL: rename Sempahore.h to Semaphores.h
...
this is needed to allow build on MacOS, as its case-insensitive
filesystem picks up the NuttX semaphore.h
2013-01-02 18:22:13 +11:00
Andrew Tridgell
ba1a6eb073
AP_HAL: fixed SITL build
2013-01-02 14:48:15 +11:00
Andrew Tridgell
d3f154bbae
AP_HAL: include stdbool.h for ARM build
2013-01-02 14:45:09 +11:00
Andrew Tridgell
0ef003a45f
AP_HAL: added PX4 board support
2012-12-30 20:02:45 +11:00
Andrew Tridgell
0186fabb3b
build: allow building with the "Empty" HAL
...
useful for porting
2012-12-24 07:30:50 +11:00
Pat Hickey
1678dcc6f0
AP_HAL: GPIO INTERRUPT defines
2012-12-22 09:11:11 +11:00
Andrew Tridgell
93040e5725
AP_HAL: removed the defer_timer_process() function
...
this is now unused
2012-12-21 20:01:42 +11:00
Andrew Tridgell
60d3df50ae
AP_HAL: changed delay() to take a uint16_t
...
this allows for up to 32 second delays, and saves a bit of flash space
2012-12-20 14:53:23 +11:00
Pat Hickey
7681fef988
AP_HAL: BetterStream gets vprintf and vprintf_P methods
2012-12-20 14:53:22 +11:00
Pat Hickey
0d702045b8
AP_HAL: Add Util member for string utilities
2012-12-20 14:52:37 +11:00
Andrew Tridgell
4cff98dcae
AP_HAL: added AP_HAL_BOARD_DRIVER define
...
this makes example sketches easier to read
2012-12-20 14:52:33 +11:00
Pat Hickey
d2f7402243
AP_HAL: add bulk transaction to SPIDeviceDriver
2012-12-20 14:52:32 +11:00