Commit Graph

217 Commits

Author SHA1 Message Date
Andrew Tridgell 60b1eab06d AP_BoardConfig: added get_pwm_count() 2018-01-15 11:46:02 +11:00
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