Andrew Tridgell
979a571d68
AP_HAL: fixed example build
2015-06-10 09:27:41 +10:00
Andrew Tridgell
c44ab01be8
AP_HAL: use noreturn attribute on panic
...
should reduce coverity warnings
2015-06-08 21:09:08 +10:00
Eugene Shamaev
ca482cf44a
StorageManager: added example sketch
2015-06-08 10:05:05 +09:00
Max Basescu
de50217809
AP_HAL: Added RC_OUTPUT_MIN_PULSEWIDTH set to 400 and RC_OUTPUT_MAX_PULSEWIDTH set to 2100
...
For use in AP_HAL_AVR in RCOutput_APMx
2015-06-05 21:03:03 +10:00
Lucas De Marchi
1d39f548dc
AP_HAL: remove aliases FUNCTOR_[BIND|TYPEF]_VOID
...
Nobody is using them anymore, so kill them.
2015-06-04 13:37:41 +09:00
Andrew Tridgell
5c86005160
AP_HAL: removed spurious delay example
2015-06-01 17:28:45 +10:00
Andrew Tridgell
1bd61ae96e
AP_HAL: no need to include AP_Vehicle_Type.h here any more
2015-06-01 17:28:24 +10:00
Andrew Tridgell
36b19b26ce
AP_HAL: convert example from .pde to .cpp
2015-06-01 17:03:40 +10:00
Andrew Tridgell
4dd47ead0e
AP_HAL: removed old fastdelegate code
2015-06-01 15:18:30 +10:00
Andrew Tridgell
ac3fc2f373
AP_HAL: fixed build warnings
2015-05-30 22:51:09 +10:00
Andrew Tridgell
4705be97bf
AP_HAL: support %lld and %llu in internal printf
...
useful for log messages with 64 bit timestamps
2015-05-27 11:54:17 +10:00
Andrew Tridgell
1a2b02a563
AP_HAL: removed AVR special case
...
no longer needed
2015-05-26 14:34:13 +10:00
Lucas De Marchi
84f399ec3c
APMrover2: Start using new Functor implementation
...
It both reduces flash size and move symbols to read-only sections.
The scheduler_tasks table is one known not to be in read-only section before due
to the FastDelegate implementation. Before and after this patch:
APMrover2 $ size APMrover2.elf{.old,}
text data bss dec hex filename
611406 4832 40920 657158 a0706 APMrover2.elf.old
609686 4824 38936 653446 9f886 APMrover2.elf
APMrover2 $ nm -C APMrover2.elf{.old,} |grep tasks
0000000000696f80 B Rover::scheduler_tasks
000000000047c440 R Rover::scheduler_tasks
As can be seen above, now the scheduler_tasks symbol is in a read-only data
section and in all of them we decreased the total size.
For APM2 we have a similar situation, but the table was already in text section
because it was using plain C pointers:
APMrover2 $ size APMrover2.elf{.old,}
text data bss dec hex filename
189518 1038 3494 194050 2f602 APMrover2.elf.old
189216 1038 3480 193734 2f4c6 APMrover2.elf
APMrover2 $ nm -C APMrover2.elf{.old,} |grep tasks
00001f92 T Rover::scheduler_tasks
00001f8a T Rover::scheduler_tasks
2015-05-26 13:46:55 +10:00
Lucas De Marchi
20ef7efaf6
AP_HAL: use functor macros
...
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:55 +10:00
Lucas De Marchi
9f0af5b9cb
AP_HAL: add fallback implementation of functor macros
2015-05-26 13:46:51 +10:00
Lucas De Marchi
83efb9280b
AP_HAL: use variadic templates in FastDelegate
...
Now that we are using C++11 we can use variadic templates to simplify
the FastDelegate classes. It also simplifies moving away from the
FastDelegate implementation.
2015-05-26 13:46:51 +10:00
Lucas De Marchi
4b5cf24a81
Allow to change to functor implementation
...
Start to add code behind APM_BUILD_FUNCTOR to support changing the
functor implementation (without breaking the build while the change is
not complete).
2015-05-26 13:46:49 +10:00
Lucas De Marchi
a1e1503e1a
AP_HAL: Add Functor implementation
...
This is a Functor implementation that should cover the use cases we have
for FastDelegate. In contrary to the latter, it can be constructed at
compile time so the compiler can safely put it in a read-only section
which covers the cases in which we are not using it.
2015-05-26 13:46:49 +10:00
Andrew Tridgell
9336914598
AP_HAL: added sendto socket method
2015-05-22 16:07:44 +10:00
Andrew Tridgell
d57fcf7e46
AP_HAL: added workaround for AVR delegates in PROGMEM
2015-05-21 07:48:45 +10:00
Andrew Tridgell
be587beedc
AP_HAL: disable nagle on sockets for faster local operation
2015-05-21 07:48:45 +10:00
Randy Mackay
0d72f3ac29
AP_HAL: fix example sketches
2015-05-12 14:42:15 +09:00
Andrew Tridgell
414f4125de
AP_HAL: use FD_CLOEXEC to prevent sockets being inherited in SITL
2015-05-11 08:05:51 +10:00
Andrew Tridgell
692fc18698
AP_HAL: protect Socket.h from double include
2015-05-10 21:02:04 +10:00
Tom Pittenger
4b6d0d8e24
AP_HAL: replace fabs() with fabsf()
2015-05-09 09:57:26 +10:00
Andrew Tridgell
2369e06815
AP_HAL: fixed SITL build on windows
2015-05-06 09:07:03 +10:00
Andrew Tridgell
4c11002976
AP_HAL: added HAL_OS_SOCKETS define
...
used for systems with BSD sockets
2015-05-05 21:34:19 +10:00
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