Andrew Tridgell
08b9ed3342
AP_HAL: added socket handling class
2015-05-05 21:34:19 +10:00
Andrew Tridgell
35d22b9d57
AP_HAL: added getopt_cpp class
...
a simple port of getopt_long to C++
2015-05-05 09:45:58 +10:00
Andrew Tridgell
40e3b422b5
HAL_SITL: rename HAL_AVR_SITL to HAL_SITL
...
it is nothing to do with the original AVR emulation now
2015-05-05 09:45:54 +10:00
Andrew Tridgell
df21c6c68d
AP_HAL: support micros64() and millis64() on all platforms
...
this will allow for 64 bit timestamps in DF logs (Peter is working on
that)
2015-04-30 12:17:34 +10:00
Mikhail Avkhimenia
7ba6a5e346
AP_HAL: Specify terrain directory for Navio
2015-04-14 10:16:25 +10:00
Andrew Tridgell
55019abd71
AP_HAL: allow for default parameter override for PX4 and SITL
2015-04-04 09:01:40 -07:00
Andrew Tridgell
b52918331a
AP_HAL: make PXF use AK8963 compass by default
2015-03-13 18:46:15 +11:00
Andrew Tridgell
d186b82edc
AP_HAL: consolidate AK8963 defines
2015-03-13 18:46:15 +11:00
mirkix
4f1dd85e47
AP_HAL: Add test sketch for RC input to RC output pass through
2015-03-11 21:14:15 +09:00
Andrew Tridgell
c63540f7b1
AP_HAL: added delay_microseconds_boost()
...
this will be used by wait_for_sample() to boost priority for a short
period at the end of each delay_microseconds()
2015-02-16 11:52:37 +11:00
Jonathan Challinger
aa7776ea59
AP_HAL: add soft_armed state to hal.util
2015-02-11 20:25:10 +11:00
Grant Morphett
525787078f
AP_HAL: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:45 +11:00
Andrew Tridgell
3075cb058d
AP_HAL: changed semantics of RCInput.new_input()
...
this makes calling new_input() in RCInput clear the new input
flag. This fixes an issue with calls to read() for auxillary channels
clearing the new_input flag, which could cause brief failsafe
conditions.
2015-02-09 10:39:05 +11:00
Emile Castelnuovo
a0673b56f9
AP_HAL: added new VRBRAIN boards and new subtypes
2015-02-02 08:43:58 +11:00
LukeMike
edd0f13845
AP_HAL: mapped the different sizes of storage for all VR boards
2015-02-02 08:43:58 +11:00
Randy Mackay
f84d31b838
HAL: fix example sketch
2015-01-28 17:15:40 +09:00
mirkix
d11c5286c3
AP_HAL: HAL_COMPASS_AK8963 used but not defined anywhere
2015-01-22 14:35:51 +11:00
mirkix
7ceb93befa
AP_HAL: make the examples usable with Linux
2015-01-22 14:30:47 +11:00
mirkix
70445d11f6
AP_HAL: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
2015-01-12 21:36:40 +13:00
Andrew Tridgell
6fb00f4fc3
AP_HAL: create a common utility/RingBuffer.h header
2015-01-07 08:41:14 +11:00
Staroselskii Georgii
a08a34f863
AP_HAL: changed default compass for Navio
2015-01-07 08:41:13 +11:00
Staroselskii Georgii
e4a21f291d
AP_HAL_Linux: added LinuxSPIUARTDriver that can handle SPI-driven Ublox
2015-01-07 08:41:12 +11:00
Andrew Tridgell
6993be54b7
HAL_Linux: raise storage size to 16k
...
match PX4 size
2015-01-03 14:06:54 +11:00
Andrew Tridgell
5aabfd4dc4
AP_HAL: added RCInput example sketch
2014-12-02 15:49:50 +11:00
Andrew Tridgell
8e36c1cd60
AP_HAL: fixed RCOutput example
2014-12-02 15:03:59 +11:00
Andrew Tridgell
4ec6a74829
AP_HAL: addex UART_test example sketch
2014-12-02 13:14:03 +11:00
Andrew Tridgell
9e0a7e6631
AP_HAL: fixed printf example build
2014-12-02 13:14:03 +11:00
Andrew Tridgell
e89d380b73
AP_HAL: added set_esc_scaling() RCOutput function
...
this will be used to scale outputs for uavcan ESCs based on throttle
range
2014-11-26 11:14:44 +11:00
bugobliterator
ad460659ad
AP_HAL: make toneAlarm_init() return bool
2014-11-15 16:59:06 +11:00
Staroselskii Georgii
bf860ee41f
AP_HAL_Linux: Ublox SPI stub
2014-11-14 10:28:34 +11:00
Andrew Tridgell
adcf994356
AP_HAL: added Zynq platform type
2014-11-14 10:21:04 +11:00
bugobliterator
af203760bd
HAL_Linux: change the return type of AP_HAL::Util::tonealarm_init() to signed int8_t.
...
This is a part of a set of fixes for the bugs and typos tridge discovered and shared inside earlier commits for setting up tonealarm.
2014-11-10 06:27:48 +11:00
bugobliterator
fa6e83318d
AP_HAL: Add virtual toneAlarm member functions to be declared under Linux_HAL
2014-11-10 06:27:48 +11:00
Randy Mackay
033b14db16
AP_HAL: add force_safety_on method
2014-09-18 09:58:44 +09:00
Emile Castelnuovo
7a70c0132d
AP_HAL: VRBRAIN corrected EEPROM size and added terrain folder on MicroSD
2014-08-31 10:56:56 +09:00
Andrew Tridgell
7439d34a5d
AP_HAL: add millis64() and micros64() on faster boards
...
this can be used for much simpler scheduling, without any wrap
handling
2014-08-20 07:55:19 +10:00
Andrew Tridgell
b40bd479c4
HAL_Linux: moved FRAM vs FS choice into HAL_Linux headers
2014-08-19 10:08:17 +10:00
Andrew Tridgell
226b67d357
AP_HAL: make PXf default to MPU9250
2014-08-19 10:08:16 +10:00
bugobliterator
072c39ea6a
AP_HAL: Add option to select Storage type AP_HAL_Boards.h
...
user can set HAL_STORAGE as USE_FS or USE_FRAM inside AP_HAL_Boards.h as per his/her choice or board setup
2014-08-19 10:08:16 +10:00
Víctor Mayoral Vilches
37793cd7fa
AP_HAL_Namespace: Change LSM9DS0 into two different devices.
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
e272ed8d96
AP_HAL: Add support for L3GD20
2014-08-19 10:08:15 +10:00
Víctor Mayoral Vilches
82186a3961
HAL: Add two new SPI devices
...
SPIDevice_LSM303D and SPIDevice_L3GD20 added to the enum.
The code has also been formated.
2014-08-19 10:08:15 +10:00
Emile Castelnuovo
0d62b15292
AP_HAL: added missing CONFIG_HAL_BOARD_SUBTYPE #define for HAL_BOARD_VRBRAIN
2014-08-16 20:28:57 +10:00
Andrew Tridgell
b61ecb47af
AP_HAL: fixed example build
2014-08-13 22:11:46 +10:00
Andrew Tridgell
5cca163b1f
AP_HAL: fixed example build
2014-08-13 21:48:35 +10:00
Andrew Tridgell
e34463a4bb
AP_HAL: flymaple build fix
2014-08-13 18:46:44 +10:00
Andrew Tridgell
d40d0f6aec
AP_HAL: removed old storage type read/write functions
...
not needed any more
2014-08-13 18:46:44 +10:00
Andrew Tridgell
f748e07ecf
AP_HAL: ensure we have subtypes for all boards
2014-08-13 18:46:43 +10:00
Mikhail Avkhimenia
784533e9c8
AP_HAL: add configuration for HAL_BOARD_SUBTYPE_LINUX_NAVIO
2014-08-12 22:09:17 +10:00
Andrew Tridgell
02dec5634f
AP_HAL: fixed example builds
2014-07-25 17:52:01 +10:00
Andrew Tridgell
63b5811a7c
AP_HAL: added HAL_BOARD_TERRAIN_DIRECTORY
2014-07-24 21:45:56 +10:00
Andrew Tridgell
9b23921626
AP_HAL: added LSM9DSO_G SPI device
2014-07-19 13:22:24 +10:00
Markus Koetter
1edf7ef05f
AP_HAL: use VRBRAIN INS/BARO/COMPASS for VRBRAIN boards
2014-07-15 11:43:00 +10:00
Andrew Tridgell
7195e38585
AP_HAL: fixed I2C build on APM2
2014-07-14 09:44:35 +10:00
Andrew Tridgell
5693392838
AP_HAL: added the concept of a board subtype, and default sensor types
...
this will make the vehicle code much more generic
2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches
c4b6026d53
HAL_Linux: include readRegistersMultiple in I2CDriver
...
AP_HAL_Linux implemments this new method.
2014-07-14 09:28:42 +10:00
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
Pat Hickey
c86004d676
AP_HAL: Add panic method to scheduler
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
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
d18b9feaa1
AP_HAL: add HAL_BOARD_EMPTY to AP_HAL_BOARDS
2012-12-20 14:52:30 +11:00
Andrew Tridgell
e10e3ee3be
AP_HAL: fixed argv declaration to match getopt()
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
fa02ad7d4c
AP_HAL: preprocessor enum of HAL_BOARD
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
cb38651df5
AP_HAL: RCInput has overrides
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
de4adefe4e
AP_HAL: AnalogIn 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
709869f8ce
AP_HAL: use sized ints in GPIO
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
592d32ba47
AP_HAL: add reboot to scheduler
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
dbb6a2a0e5
AP_HAL: change uart0,1,2,3 to uartA,B,C
2012-12-20 14:51:32 +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
b2c44d8a81
AP_HAL: move AP_Semaphore to be part of the HAL
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
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
c9541d3b00
AP_HAL: added begin_atomic and end_atomic to scheduler
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
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
bae7e4b88e
AP_HAL Scheduler: simplify register_timer_process, min time for delay cb
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
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
73ccfaf2d7
AP_HAL: implement DigitalSource abstraction
...
* GPIO's complement to AnalogSource
2012-12-20 14:51:25 +11:00
Pat Hickey
017f592eef
AP_HAL: add ConsoleDriver interface
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
279a755ab3
AP_HAL: AnalogIn interface fleshed out
2012-12-20 14:51:23 +11:00
Pat Hickey
6671310399
AP_HAL Scheduler: interface has AP_PeriodicProcess functionality
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
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
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
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
5445ad02f8
AP_HAL_AVR: RCOutput tested implementation for APM2
2012-12-20 14:51:21 +11:00
Pat Hickey
acfbddef0d
AP_HAL: proper RCOutput interface specification
2012-12-20 14:51:20 +11:00
Pat Hickey
fb6abbe191
AP_HAL: proper RCInput interface specification
2012-12-20 14:51:20 +11:00
Pat Hickey
db76562cd5
AP_HAL: global rename PPMInput -> RCInput, PWMOutput -> RCOutput
...
* for clarity. nobody cares that PPM/PWM is the implementation, and with
sbus etc it might not be
2012-12-20 14:51:20 +11:00
Pat Hickey
46f31aa69c
AP_HAL_AVR: Implement I2CDriver based on libraries/I2C
...
* Removed a ton of code we don't need from that driver, which should make
writing new drivers easier.
2012-12-20 14:51:20 +11:00
Pat Hickey
cae931a93a
AP_HAL_AVR UARTDriver does basic hello world printing
...
* will import more complex tests next
2012-12-20 14:51:20 +11:00
Pat Hickey
e9c5f07db2
AP_HAL: Working GPIO interface & implementation
...
* actually, tested the output only... gotta do input next
2012-12-20 14:51:20 +11:00
Pat Hickey
ea8242ace1
AP_HAL: Add scheduler interface, move Arduino init code to implementation
2012-12-20 14:51:19 +11:00
Pat Hickey
18329b1a5d
AP_HAL: add virtual init method to HAL class
2012-12-20 14:51:19 +11:00
Pat Hickey
8eb9b39a44
AP_HAL_AVR move library classes to their own AP_HAL_AVR namespace
2012-12-20 14:51:19 +11:00
Pat Hickey
afd1f36400
AP_HAL: add BetterStream, Stream, and Print interfaces
...
* BetterStream Means AP_HAL depends on AP_Common, for now, in order to have
the AVR specific pgm_char_t defined.
I'll need to factor that out in the future but for now it can stay
2012-12-20 14:51:19 +11:00
Pat Hickey
29a425c0dd
AP_HAL: import utility Print, Stream, and BetterStream headers
2012-12-20 14:51:18 +11:00
Pat Hickey
dc03b1190f
AP_HAL: Stub implementations of pure virtual AP_HAL classes
2012-12-20 14:51:18 +11:00