Commit Graph

266 Commits

Author SHA1 Message Date
Andrew Tridgell
e88fe93688 AP_BoardConfig: init chibios IO after boardconfig
this allows for the init to use parameters such as BRD_IO_ENABLE from
AP_BoardConfig
2018-01-15 11:46:02 +11:00
Andrew Tridgell
7cb1c0420a AP_BoardConfig: include BRD_IO_ENABLE on ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
13f4780815 AP_BoardConfig: make a singleton
allows for io_enabled() static function
2018-01-15 11:46:02 +11:00
Andrew Tridgell
accac344f2 AP_BoardConfig: support ChibiOS as well as NuttX
allow for board detection with ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
a4d2d79ce7 AP_BoardConfig: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Mark Whitehorn
560402bad4 AP_BoardConfig: clarify PX4IO SBUS enable message 2017-11-30 10:20:04 +11:00
DOMINATOR\Eugene
4c6f954cdf AP_BoardConfig: separation of parameter groups 2017-11-15 09:52:43 +11:00
proficnc
6a94d285de AP_BoardConfig: fixed description to warn against
setting the wrong heater value in params
2017-11-07 12:00:32 +11:00
Lucas De Marchi
ef3edc531c AP_BoardConfig: add static create method 2017-09-26 03:01:21 +01:00
Peter Barker
b8d3d180d1 AP_BoardConfig: clarify board type 2 also to be used on the Cube autopilot 2017-09-08 18:02:34 +01:00
Kevin Lopez Alvarez
a5a5bd3a95 AP_BoardConfig: Remove comments and use correct board number 2017-07-24 13:47:06 +10:00
Kevin Lopez Alvarez
a51bf8c918 AP_BoardConfig: initial FMUv4pro support 2017-07-24 13:45:37 +10:00
Andrew Tridgell
401a6f5373 AP_BoardConfig: fixed FMUv1 IO update
when doing an IO firmware update uartC is used to talk to the IO
bootloader. We need to close uartC to prevent corruption of the
bootloader protocol. The uart is automatically re-opened when it is
needed
2017-07-22 16:25:17 +10:00
Peter Barker
4312d1a500 AP_BoardConfig: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Andrew Tridgell
dd7c96a6cc AP_Radio: reseve an ID for AP_Radio
as discussed with Randy
2017-07-10 17:07:36 +10:00
Eugene Shamaev
43e9c8370f AP_BoardConfig: increase start delay to 5 seconds 2017-07-03 11:44:32 +01:00
Eugene Shamaev
a7921a273b AP_BoardConfig: move of CAN parameters into separate group and support of several interfaces 2017-07-03 11:44:32 +01:00
Peter Barker
5c15c1e4d2 AP_BoardConfig: add public method returning true if on sensor error 2017-06-07 12:56:46 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
f7a683d38e AP_BoardConfig: remove redundant BRD_ prefix, it also made this parameter 17 characters long 2017-05-30 12:09:02 +09:00
Andrew Tridgell
a3cb6a42c9 AP_BoardConfig: drop target temperature for cube to 45
getting to 60 was taking far too long (15 minutes or so). 45 is more
achievable.

This is a result of the fix to the invensense temperature detection
code
2017-05-24 08:41:16 +10:00
Andrew Tridgell
9e74bfbc20 AP_BoardConfig: cope with bad config of pixhawk2
don't allow FMUv2 firmware on cube, and force temperature if incorrect
2017-05-24 08:41:16 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas
a85b7af32d AP_BoardConfig: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Andrew Tridgell
e32e2f5b5d AP_BoardConfig: added sensor_config_error()
used to notify user of fatal sensor setup error
2017-05-03 11:37:01 +10:00
Andrew Tridgell
4c36c77db1 AP_BoardConfig: split setup of safety switch init init_safety()
this allows it to be called late, so that servo outputs are fully
setup before the safety is disabled when BRD_SAFETYENABLE=0
2017-04-30 21:47:04 +10:00
Eugene Shamaev
67a6e651d6 AP_BoardConfig: removal of legacy UAVCAN support 2017-04-17 17:27:18 +10:00
Lucas De Marchi
1adf247a60 AP_BoardConfig: fix board type number for aerofc
Types 7-12 are being used by vrbrain boards. Even if they are inside
another ifdef, they can't be the same because it's used by the BRD_TYPE
parameter.  Use 13 for aerofc since it was already the one being used in
the parameter description.

Thanks to Michael du Breuil for noticing it.
2017-04-12 11:46:55 -07:00
Eugene Shamaev
0b54d5764c AP_BoardConfig: support for CAN and UAVCAN at board level 2017-04-10 22:38:13 +01:00
Andrew Tridgell
bcec837f06 AP_BoardConfig: fixed warning in SITL build 2017-04-10 10:02:42 +10:00
Andrew Tridgell
c118deccb0 AP_BoardConfig: added BRD_IO_ENABLE parameter
allow for px4io to be disabled completely
2017-04-05 20:14:53 +10:00
Lucas De Marchi
ef1672befc AP_BoardConfig: replace board ifdef with feature ifdef 2017-03-24 12:06:19 +11:00
Lucas De Marchi
9a83f05714 AP_BoardConfig: enable voltage monitoring on aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi
da68612f4b AP_BoardConfig: make error function public and static
So it can be used by other parts of the code calling px4_start_driver().
2017-03-24 12:06:19 +11:00
Lucas De Marchi
00c2949dfb Add support for baro on aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi
b17acfee12 Add aerofc support
Flight Controller board that comes on Intel Aero RTF Drone.
2017-03-24 12:06:19 +11:00
Jacob Walser
84e5e088de AP_BoardConfig: Fix parameter metadata 2017-03-22 16:16:26 -07:00
Andrew Tridgell
ce978595cd AP_BoardConfig: added support for ICM-20602 detection 2017-03-02 14:21:36 +11:00
Andrew Tridgell
cf3db7560c AP_BoardConfig: fixed AUAV21 board ID to not overlap with VRBrain boards 2017-03-01 18:07:44 +11:00
Andrew Tridgell
1989f31ae3 AP_BoardConfig: added AUAV21 board type
unfortunately this uses the same sensor types as the PHMini, which
means we can't auto-detect the difference between them.
2017-03-01 17:24:10 +11:00
Andrew Tridgell
67b97b21db AP_BoardConfig: switched to always using in-tree sensors 2016-12-19 08:07:12 +11:00
Andrew Tridgell
a2e92c4054 AP_BoardConfig: increase uavcan bus settle time to 2s
needed to ensure zubax mag has time to come up
2016-11-29 12:51:16 +11:00
Michael Oborne
fbeafa0d0a Update AP_BoardConfig.cpp 2016-11-16 16:00:12 +11:00
Michael Oborne
e7e3478a58 AP_BoardConfig: add extra uavcan options
this enables the display of dynamic id assignment, which prevents the need for a serial connection to the esc, for first config.
2016-11-16 16:00:12 +11:00
Andrew Tridgell
ac4b100ae4 AP_BoardConfig: use in-tree drivers for FMUv1 2016-11-13 16:21:17 +11:00
Andrew Tridgell
08f770125e AP_BoardConfig: moved optional sensor startup out of AP_BoardConfig 2016-11-11 15:49:53 +11:00
Andrew Tridgell
4f50d67790 AP_BoardConfig: added board type auto-detection
using SPI probing
2016-11-11 08:08:55 +11:00
Andrew Tridgell
73122adb78 AP_BoardConfig: removed unused startup functions for Pixracer 2016-11-10 12:55:22 +11:00
Andrew Tridgell
e7a9de9b41 AP_BoardConfig: use in-tree drivers for PH2SLIM 2016-11-10 11:44:52 +11:00
Andrew Tridgell
b0b93f8928 AP_BoardConfig: switch pixracer to always use in-tree drivers 2016-11-09 17:08:14 +11:00
Andrew Tridgell
fcf0a4ea59 AP_BoardConfig: use in-tree drivers for PHMINI 2016-11-09 17:08:13 +11:00
Andrew Tridgell
88e24dd8bd AP_BoardConfig: added board type 103
for PH2 in-tree drivers
2016-11-09 17:08:03 +11:00
Andrew Tridgell
b9e1490740 AP_BoardConfig: added px4io auto-update to AP_BoardConfig 2016-11-09 17:08:00 +11:00
Andrew Tridgell
7e803df221 AP_BoardConfig: startup core peripherals for PX4 2016-11-09 17:07:59 +11:00
Andrew Tridgell
0c13c73aa0 AP_BoardConfig: removed PX4 airspeed drivers 2016-11-09 17:07:59 +11:00
Andrew Tridgell
ce174489c3 AP_BoardConfig: added get_board_type() for PX4
used to decide what drivers to start
2016-11-09 17:07:58 +11:00
murata
c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
Peter Barker
066d066048 AP_BoardConfig: correct parameter metadata 2016-10-27 09:15:03 -07:00
Peter Barker
a660ffa3fc AP_BoardConfig: add missing parameter metadata 2016-10-27 09:15:03 -07:00
Mathieu OTHACEHE
152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell
7bf81c44b0 AP_BoardConfig: allow programmatic setting of default safety mask 2016-10-21 11:53:34 +11:00
Andrew Tridgell
0bd3b8ecbd AP_BoardConfig: fixed bug in fmu safety mask set 2016-10-21 09:10:55 +11:00
Andrew Tridgell
8cb93ae7c3 AP_BoardConfig: call PWM_SERVO_IGNORE_SAFETY on fmu as well 2016-10-21 09:10:55 +11:00
Andrew Tridgell
07c09ad6dc AP_BoardConfig: expanded bitmask to 14 channels for safety mask 2016-10-21 09:10:55 +11:00
Andrew Tridgell
aa4cde1aae AP_BoardConfig: work around issues with bad components on some FMUv4 boards
some pixracer copies have poor components which can cause sensor bus
brownout on boot. This resets the sensor bus for 20ms on boot to try
to get clean sensor startup
2016-09-08 13:18:13 +10:00
Andrew Tridgell
b9c4a948d1 AP_BoardConfig: fixed startup ordering change in canbus vs external mag 2016-09-04 18:48:26 +10:00
Andrew Tridgell
119e312cd3 AP_BoardConfig: wait up to 0.4s for safety to be off on boot 2016-08-16 12:53:34 +10:00
Grant Morphett
30bcea73cc PX4: Added detection for MPU6000 on px4slim. 2016-08-11 08:39:16 +10:00
LukeMike
38150a5544 AP_BoardConfig: defined and managed VRBRAIN board type and all functions for sensors startup 2016-08-11 07:52:40 +10:00
Andrew Tridgell
38ebe582cc AP_BoardConfig: fixed for VRBrain build
needs access to driver start function
2016-08-10 20:43:03 +10:00
Andrew Tridgell
eaa88b1223 AP_BoardConfig: FMUv1 does not have pwm_input driver 2016-08-10 19:54:01 +10:00
Andrew Tridgell
39676d686c AP_BoardConfig: FMUv1 does not have an L3GD20 2016-08-10 19:54:01 +10:00
Andrew Tridgell
7da89c611d AP_BoardConfig: use a STATUSTEXT to show better in MP
this makes it easier to see why it won't boot
2016-08-10 19:54:01 +10:00
Andrew Tridgell
0d59935847 AP_BoardConfig: fixup for merge after VRBrain changes 2016-08-10 19:54:00 +10:00
Andrew Tridgell
77bee322e9 AP_BoardConfig: support the PHMINI as BRD_TYPE=5 2016-08-10 19:54:00 +10:00
Andrew Tridgell
61e15af3ca AP_BoardConfig: added BRD_TYPE
this allows for PH2SLIM support with BRD_TYPE=6
2016-08-10 19:54:00 +10:00
Andrew Tridgell
7c5171e9b9 AP_BoardConfig: set default temperature on PH2 to 60 2016-08-10 19:54:00 +10:00
Andrew Tridgell
7806aa4274 AP_BoardConfig: moved optional sensors to the sensor startup
this makes startup much faster
2016-08-10 19:54:00 +10:00
Andrew Tridgell
36e0c7229a AP_BoardConfig: implement PX4 driver start in C++
this brings driver startup into AP_BoardConfig, so we can start to
make driver startup depend on parameters
2016-08-10 19:53:59 +10:00
Andrew Tridgell
4643d6f314 AP_BoardConfig: break out PX4 setup from main code
refactoring in preparation for larger changes
2016-08-10 19:53:59 +10:00
Andrew Tridgell
e82384990d AP_BoardConfig: moved px4 variables to px4 structure
refactoring in preparation for larger changes
2016-08-10 19:53:59 +10:00
LukeMike
7ee8898948 AP_BoardConfig: updated defines for VRBRAIN 2016-08-07 20:31:52 +10:00
LukeMike
95ae69eb1c VRBRAIN /AP_BoardConfig: changed definition of PWM_SERVO_MODE_12PWM only for VRBRAIN 2016-08-07 20:31:52 +10:00
LukeMike
024d3311b3 VRBRAIN / AP_BoardConfig: enabled PWM configuration and safety management for all VirtualRobotix boards 2016-08-07 20:31:51 +10:00
Pavel Kirienko
accf118e38 UAVCAN hardpoint control 2016-08-04 09:16:02 +10:00
Lucas De Marchi
913f88f2be AP_BoardConfig: fix check for PX4_V4
When building for px4-v2 we have an warning because we are checking for
the value of this undefined macro. Just change both checks to use
"defined()".

../../libraries/AP_BoardConfig/AP_BoardConfig.cpp:36:7: warning: "CONFIG_ARCH_BOARD_PX4FMU_V4" is not defined [-Wundef]
 #elif CONFIG_ARCH_BOARD_PX4FMU_V4
       ^
2016-07-19 10:28:56 +10:00
Luis Vale Gonçalves
334233d48f AP_BoardConfig: fix spelling in parameter description
witch ->no
switch->yes
2016-07-04 21:59:30 +09:00
Andrew Tridgell
918c41b1e4 AP_BoardConfig: fixed IMU_TARGTEMP index 2016-07-03 12:54:27 +10:00
Andrew Tridgell
45c72eb442 AP_BoardConfig: added BRD_IMU_TARGTEMP
set target temperature for IMU
2016-07-01 15:29:52 +10:00
Andrew Tridgell
af23a681e0 AP_BoardConfig: improved docs for BRD_SAFETYENABLE 2016-06-28 09:58:55 +10:00
Michael du Breuil
4d964fbf2f AP_BoardConfig: allow channels to be moved regardless of safety switch 2016-06-17 15:20:22 +10:00
Ricardo de Almeida Gonzaga
e6564c2efa AP_BoardConfig: Fix typos 2016-05-13 19:20:05 -03:00
Andrew Tridgell
2304c41f44 AP_BoardConfig: use hal.rcout->enable_sbus_out() 2016-04-16 07:30:43 +10:00
Andrew Tridgell
5b8401cbbc AP_BoardConfig: allow setup of more complex modes for aux pins on PX4
this allows for setting up of timer capture pins
2016-04-15 09:23:46 +10:00
Andrew Tridgell
c3546dfbb0 AP_BoardConfig: default to 6 PWM on FMUv4
less likely to use relays
2016-04-14 08:05:06 +10:00
Andrew Tridgell
36528965f7 AP_BoardConfig: added 7s timeout on uavcan startup 2016-04-14 08:05:05 +10:00
Andrew Tridgell
da2a71a3de AP_BoardConfig: raise uavcan startup delay to 2s 2016-03-19 21:18:05 +11:00
Lucas De Marchi
235d64b7b9 AP_BoardConfig: replace header guard with pragma once 2016-03-16 18:40:40 +11:00
Andrew Tridgell
36177526cf AP_BoardConfig: allow setting of SBUS output frame rate 2016-03-10 15:28:46 +11:00
Holger Steinhaus
d2b6eb7700 AP_BoardConfig: wait for UAVCAN initialization complete signal 2016-03-05 09:32:13 +11:00
Holger Steinhaus
503e196546 AP_BoardConfig: allow to enable UAVCAN plug-and-play mode 2016-03-05 09:32:13 +11:00
Andrew Tridgell
5d5c398344 AP_BoardConfig: raise UAVCAN startup time
new version needs a longer time to start sensors
2016-03-04 14:57:16 +11:00
Don Gagne
2b1bc22b2a AP_BoardConfig: fix invalid Range meta data 2015-12-27 16:10:44 +11:00
Caio Marcelo de Oliveira Filho
89d6acaeaa AP_BoardConfig: use millis/micros/panic functions 2015-11-20 12:29:58 +09:00
Andrew Tridgell
2ffabe9e05 AP_BoardConfig: fixed PX4v1 build 2015-11-06 17:10:08 +11:00
Andrew Tridgell
c334bd0ddf AP_BoardConfig: added BRD_CAN_ENABLE option
this allows uavcan to be enabled/disabled at boot. When it is disabled
we save about 25k of memory, allowing for more options for things like
multiple EKF
2015-11-06 10:23:37 +11:00
Lucas De Marchi
831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Gustavo Jose de Sousa
c16b46fd23 AP_BoardConfig: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:28:42 +10:00
Tom Pittenger
457d3be4d7 AP_BoardConfig: add user-defined serial number
new param: BRD_SERIAL_NUM
// @Description: User-defined serial number of this vehicle, it can be any arbitrary number you want and has no effect on the autopilot
// @Range: -32767 to 32768 (any 16bit signed number)
2015-06-30 17:20:15 +10:00
Andrew Tridgell
e43fe520e8 AP_BoardConfig: added BRD_SBUS_OUT parameter
when this is set to 1 it enables SBUS servo output on the SBUS
connector.
2015-02-11 18:35:34 +11:00
LukeMike
fa4fffc878 VRBRAIN: deleted unnecessary customizations 2014-07-01 12:21:35 +02:00
Andrew Tridgell
1ca6583df8 AP_BoardConfig: restore /dev/vroutput change from Emile
my mistake, sorry Emile!
2014-04-08 21:05:41 +10:00
Emile Castelnuovo
39d9e93904 AP_BoardConfig: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Andrew Tridgell
8095eb0bee AP_BoardConfig: added BRD_SAFETYENABLE option
this allows the safety switch to be disabled on startup
2014-02-11 15:58:25 +11:00
Andrew Tridgell
fce464597a AP_BoardConfig: PX4v1 does not have hw flow control on UART5 2014-02-11 12:11:26 +11:00
Andrew Tridgell
1b5d5dd8c4 AP_BoardConfig: set flow control to AUTO by default 2014-02-11 12:11:26 +11:00
Andrew Tridgell
b907263685 AP_BoardConfig: added BRD_SER1_RTSCTS and BRD_SER2_RTSCTS
used to enable flow control on telemetry ports
2014-02-10 12:57:19 +11:00
Andrew Tridgell
b5822cd549 AP_BoardConfig: board specific config library
used to control board specific parameters, such as PWM output count
2014-01-20 17:06:28 +11:00