mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-08 08:00:05 +08:00
Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 46a415836b | |||
| 7ed78aba6f | |||
| 56f24ba406 | |||
| eaa554fa95 | |||
| 2f9efcedae | |||
| 01984efe7f | |||
| cbc17d942e | |||
| 2d1a5f1762 | |||
| 53bec94205 | |||
| 552262f14f | |||
| 17bf9ccb5d | |||
| 782e9b8b04 | |||
| 02a31d0293 | |||
| 36006b6d70 | |||
| ffd670b54c | |||
| 7922ecbed2 | |||
| e9a04ed755 | |||
| 424f544c6d | |||
| 962db50ce7 | |||
| 882bee610d | |||
| abdde3e206 | |||
| c333688700 |
@@ -249,7 +249,7 @@ fi
|
||||
|
||||
load_mon start
|
||||
|
||||
if param greater SIM_BAT_DRAIN 0
|
||||
if param compare SIM_BAT_ENABLE 1
|
||||
then
|
||||
battery_simulator start
|
||||
fi
|
||||
|
||||
@@ -47,7 +47,7 @@ set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
|
||||
set(CPACK_INSTALL_PREFIX "/usr")
|
||||
set(CPACK_SET_DESTDIR true)
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libfc-sensor (>=1.0.10), voxl-px4-params (>=0.3.10), voxl3-system-image(>=0.0.2) | voxl2-system-image(>=1.5.4) | rb5-system-image(>=1.6.2), modalai-slpi(>=1.1.16) | modalai-adsp(>=1.0.2)")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libfc-sensor (>=1.0.10), voxl-px4-params (>=0.3.10), voxl3-system-image(>=0.0.2) | voxl2-system-image(>=1.5.4) | rb5-system-image(>=1.6.2), modalai-slpi(>=1.2.2) | modalai-adsp(>=1.0.5)")
|
||||
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "px4-rb5-flight")
|
||||
set(CPACK_DEBIAN_PACKAGE_REPLACES "px4-rb5-flight")
|
||||
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "PX4 Autopilot for ModalAI VOXL2")
|
||||
|
||||
@@ -37,6 +37,8 @@ CONFIG_DRIVERS_MAGNETOMETER_ISENTEK_IST8310=y
|
||||
CONFIG_DRIVERS_MAGNETOMETER_QMC5883L=y
|
||||
CONFIG_DRIVERS_MAGNETOMETER_ST_IIS2MDC=y
|
||||
CONFIG_DRIVERS_POWER_MONITOR_VOXLPM=y
|
||||
CONFIG_DRIVERS_POWER_MONITOR_INA226=y
|
||||
CONFIG_DRIVERS_POWER_MONITOR_INA228=y
|
||||
CONFIG_DRIVERS_QSHELL_QURT=y
|
||||
CONFIG_DRIVERS_RC_CRSF_RC=y
|
||||
CONFIG_DRIVERS_VOXL2_IO=y
|
||||
|
||||
@@ -215,6 +215,12 @@ fi
|
||||
if [ "$POWER_MANAGER" == "VOXLPM" ]; then
|
||||
# APM power monitor
|
||||
qshell voxlpm start -X -b 2
|
||||
elif [ "$POWER_MANAGER" == "INA226" ]; then
|
||||
/bin/echo "Starting INA226 power monitor"
|
||||
qshell ina226 start -X -b 2
|
||||
elif [ "$POWER_MANAGER" == "INA228" ]; then
|
||||
/bin/echo "Starting INA228 power monitor"
|
||||
qshell ina228 start -X -b 2
|
||||
fi
|
||||
|
||||
if [ "$AIRSPEED_SENSOR" == "MS4525DO" ]; then
|
||||
|
||||
@@ -9994,6 +9994,48 @@ When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC1
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | -1 | 8191 | | -1 | |
|
||||
|
||||
### UAVCAN_EC_FAIL10 (`INT32`) {#UAVCAN_EC_FAIL10}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 10 Failsafe Value.
|
||||
|
||||
This is the output value that is set when in failsafe mode.
|
||||
|
||||
When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC10).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | -1 | 8191 | | -1 | |
|
||||
|
||||
### UAVCAN_EC_FAIL11 (`INT32`) {#UAVCAN_EC_FAIL11}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 11 Failsafe Value.
|
||||
|
||||
This is the output value that is set when in failsafe mode.
|
||||
|
||||
When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC11).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | -1 | 8191 | | -1 | |
|
||||
|
||||
### UAVCAN_EC_FAIL12 (`INT32`) {#UAVCAN_EC_FAIL12}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 12 Failsafe Value.
|
||||
|
||||
This is the output value that is set when in failsafe mode.
|
||||
|
||||
When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC12).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | -1 | 8191 | | -1 | |
|
||||
|
||||
### UAVCAN_EC_FAIL2 (`INT32`) {#UAVCAN_EC_FAIL2}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
@@ -10092,6 +10134,20 @@ When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC8
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | -1 | 8191 | | -1 | |
|
||||
|
||||
### UAVCAN_EC_FAIL9 (`INT32`) {#UAVCAN_EC_FAIL9}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 9 Failsafe Value.
|
||||
|
||||
This is the output value that is set when in failsafe mode.
|
||||
|
||||
When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC9).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | -1 | 8191 | | -1 | |
|
||||
|
||||
### UAVCAN_EC_FUNC1 (`INT32`) {#UAVCAN_EC_FUNC1}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
@@ -10166,6 +10222,228 @@ The default failsafe value is set according to the selected function:
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 0 | |
|
||||
|
||||
### UAVCAN_EC_FUNC10 (`INT32`) {#UAVCAN_EC_FUNC10}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 10 Output Function.
|
||||
|
||||
Select what should be output on UAVCAN ESC 10.
|
||||
|
||||
The default failsafe value is set according to the selected function:
|
||||
|
||||
- 'Min' for ConstantMin
|
||||
- 'Max' for ConstantMax
|
||||
- 'Max' for Parachute
|
||||
- ('Max'+'Min')/2 for Servos
|
||||
- 'Disarmed' for the rest
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Constant Min
|
||||
- `2`: Constant Max
|
||||
- `101`: Motor 1
|
||||
- `102`: Motor 2
|
||||
- `103`: Motor 3
|
||||
- `104`: Motor 4
|
||||
- `105`: Motor 5
|
||||
- `106`: Motor 6
|
||||
- `107`: Motor 7
|
||||
- `108`: Motor 8
|
||||
- `109`: Motor 9
|
||||
- `110`: Motor 10
|
||||
- `111`: Motor 11
|
||||
- `112`: Motor 12
|
||||
- `201`: Servo 1
|
||||
- `202`: Servo 2
|
||||
- `203`: Servo 3
|
||||
- `204`: Servo 4
|
||||
- `205`: Servo 5
|
||||
- `206`: Servo 6
|
||||
- `207`: Servo 7
|
||||
- `208`: Servo 8
|
||||
- `301`: Peripheral via Actuator Set 1
|
||||
- `302`: Peripheral via Actuator Set 2
|
||||
- `303`: Peripheral via Actuator Set 3
|
||||
- `304`: Peripheral via Actuator Set 4
|
||||
- `305`: Peripheral via Actuator Set 5
|
||||
- `306`: Peripheral via Actuator Set 6
|
||||
- `400`: Landing Gear
|
||||
- `401`: Parachute
|
||||
- `402`: RC Roll
|
||||
- `403`: RC Pitch
|
||||
- `404`: RC Throttle
|
||||
- `405`: RC Yaw
|
||||
- `406`: RC Flaps
|
||||
- `407`: RC AUX 1
|
||||
- `408`: RC AUX 2
|
||||
- `409`: RC AUX 3
|
||||
- `410`: RC AUX 4
|
||||
- `411`: RC AUX 5
|
||||
- `412`: RC AUX 6
|
||||
- `420`: Gimbal Roll
|
||||
- `421`: Gimbal Pitch
|
||||
- `422`: Gimbal Yaw
|
||||
- `430`: Gripper
|
||||
- `440`: Landing Gear Wheel
|
||||
- `450`: IC Engine Ignition
|
||||
- `451`: IC Engine Throttle
|
||||
- `452`: IC Engine Choke
|
||||
- `453`: IC Engine Starter
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 0 | |
|
||||
|
||||
### UAVCAN_EC_FUNC11 (`INT32`) {#UAVCAN_EC_FUNC11}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 11 Output Function.
|
||||
|
||||
Select what should be output on UAVCAN ESC 11.
|
||||
|
||||
The default failsafe value is set according to the selected function:
|
||||
|
||||
- 'Min' for ConstantMin
|
||||
- 'Max' for ConstantMax
|
||||
- 'Max' for Parachute
|
||||
- ('Max'+'Min')/2 for Servos
|
||||
- 'Disarmed' for the rest
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Constant Min
|
||||
- `2`: Constant Max
|
||||
- `101`: Motor 1
|
||||
- `102`: Motor 2
|
||||
- `103`: Motor 3
|
||||
- `104`: Motor 4
|
||||
- `105`: Motor 5
|
||||
- `106`: Motor 6
|
||||
- `107`: Motor 7
|
||||
- `108`: Motor 8
|
||||
- `109`: Motor 9
|
||||
- `110`: Motor 10
|
||||
- `111`: Motor 11
|
||||
- `112`: Motor 12
|
||||
- `201`: Servo 1
|
||||
- `202`: Servo 2
|
||||
- `203`: Servo 3
|
||||
- `204`: Servo 4
|
||||
- `205`: Servo 5
|
||||
- `206`: Servo 6
|
||||
- `207`: Servo 7
|
||||
- `208`: Servo 8
|
||||
- `301`: Peripheral via Actuator Set 1
|
||||
- `302`: Peripheral via Actuator Set 2
|
||||
- `303`: Peripheral via Actuator Set 3
|
||||
- `304`: Peripheral via Actuator Set 4
|
||||
- `305`: Peripheral via Actuator Set 5
|
||||
- `306`: Peripheral via Actuator Set 6
|
||||
- `400`: Landing Gear
|
||||
- `401`: Parachute
|
||||
- `402`: RC Roll
|
||||
- `403`: RC Pitch
|
||||
- `404`: RC Throttle
|
||||
- `405`: RC Yaw
|
||||
- `406`: RC Flaps
|
||||
- `407`: RC AUX 1
|
||||
- `408`: RC AUX 2
|
||||
- `409`: RC AUX 3
|
||||
- `410`: RC AUX 4
|
||||
- `411`: RC AUX 5
|
||||
- `412`: RC AUX 6
|
||||
- `420`: Gimbal Roll
|
||||
- `421`: Gimbal Pitch
|
||||
- `422`: Gimbal Yaw
|
||||
- `430`: Gripper
|
||||
- `440`: Landing Gear Wheel
|
||||
- `450`: IC Engine Ignition
|
||||
- `451`: IC Engine Throttle
|
||||
- `452`: IC Engine Choke
|
||||
- `453`: IC Engine Starter
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 0 | |
|
||||
|
||||
### UAVCAN_EC_FUNC12 (`INT32`) {#UAVCAN_EC_FUNC12}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 12 Output Function.
|
||||
|
||||
Select what should be output on UAVCAN ESC 12.
|
||||
|
||||
The default failsafe value is set according to the selected function:
|
||||
|
||||
- 'Min' for ConstantMin
|
||||
- 'Max' for ConstantMax
|
||||
- 'Max' for Parachute
|
||||
- ('Max'+'Min')/2 for Servos
|
||||
- 'Disarmed' for the rest
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Constant Min
|
||||
- `2`: Constant Max
|
||||
- `101`: Motor 1
|
||||
- `102`: Motor 2
|
||||
- `103`: Motor 3
|
||||
- `104`: Motor 4
|
||||
- `105`: Motor 5
|
||||
- `106`: Motor 6
|
||||
- `107`: Motor 7
|
||||
- `108`: Motor 8
|
||||
- `109`: Motor 9
|
||||
- `110`: Motor 10
|
||||
- `111`: Motor 11
|
||||
- `112`: Motor 12
|
||||
- `201`: Servo 1
|
||||
- `202`: Servo 2
|
||||
- `203`: Servo 3
|
||||
- `204`: Servo 4
|
||||
- `205`: Servo 5
|
||||
- `206`: Servo 6
|
||||
- `207`: Servo 7
|
||||
- `208`: Servo 8
|
||||
- `301`: Peripheral via Actuator Set 1
|
||||
- `302`: Peripheral via Actuator Set 2
|
||||
- `303`: Peripheral via Actuator Set 3
|
||||
- `304`: Peripheral via Actuator Set 4
|
||||
- `305`: Peripheral via Actuator Set 5
|
||||
- `306`: Peripheral via Actuator Set 6
|
||||
- `400`: Landing Gear
|
||||
- `401`: Parachute
|
||||
- `402`: RC Roll
|
||||
- `403`: RC Pitch
|
||||
- `404`: RC Throttle
|
||||
- `405`: RC Yaw
|
||||
- `406`: RC Flaps
|
||||
- `407`: RC AUX 1
|
||||
- `408`: RC AUX 2
|
||||
- `409`: RC AUX 3
|
||||
- `410`: RC AUX 4
|
||||
- `411`: RC AUX 5
|
||||
- `412`: RC AUX 6
|
||||
- `420`: Gimbal Roll
|
||||
- `421`: Gimbal Pitch
|
||||
- `422`: Gimbal Yaw
|
||||
- `430`: Gripper
|
||||
- `440`: Landing Gear Wheel
|
||||
- `450`: IC Engine Ignition
|
||||
- `451`: IC Engine Throttle
|
||||
- `452`: IC Engine Choke
|
||||
- `453`: IC Engine Starter
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 0 | |
|
||||
|
||||
### UAVCAN_EC_FUNC2 (`INT32`) {#UAVCAN_EC_FUNC2}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
@@ -10684,6 +10962,80 @@ The default failsafe value is set according to the selected function:
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 0 | |
|
||||
|
||||
### UAVCAN_EC_FUNC9 (`INT32`) {#UAVCAN_EC_FUNC9}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 9 Output Function.
|
||||
|
||||
Select what should be output on UAVCAN ESC 9.
|
||||
|
||||
The default failsafe value is set according to the selected function:
|
||||
|
||||
- 'Min' for ConstantMin
|
||||
- 'Max' for ConstantMax
|
||||
- 'Max' for Parachute
|
||||
- ('Max'+'Min')/2 for Servos
|
||||
- 'Disarmed' for the rest
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Constant Min
|
||||
- `2`: Constant Max
|
||||
- `101`: Motor 1
|
||||
- `102`: Motor 2
|
||||
- `103`: Motor 3
|
||||
- `104`: Motor 4
|
||||
- `105`: Motor 5
|
||||
- `106`: Motor 6
|
||||
- `107`: Motor 7
|
||||
- `108`: Motor 8
|
||||
- `109`: Motor 9
|
||||
- `110`: Motor 10
|
||||
- `111`: Motor 11
|
||||
- `112`: Motor 12
|
||||
- `201`: Servo 1
|
||||
- `202`: Servo 2
|
||||
- `203`: Servo 3
|
||||
- `204`: Servo 4
|
||||
- `205`: Servo 5
|
||||
- `206`: Servo 6
|
||||
- `207`: Servo 7
|
||||
- `208`: Servo 8
|
||||
- `301`: Peripheral via Actuator Set 1
|
||||
- `302`: Peripheral via Actuator Set 2
|
||||
- `303`: Peripheral via Actuator Set 3
|
||||
- `304`: Peripheral via Actuator Set 4
|
||||
- `305`: Peripheral via Actuator Set 5
|
||||
- `306`: Peripheral via Actuator Set 6
|
||||
- `400`: Landing Gear
|
||||
- `401`: Parachute
|
||||
- `402`: RC Roll
|
||||
- `403`: RC Pitch
|
||||
- `404`: RC Throttle
|
||||
- `405`: RC Yaw
|
||||
- `406`: RC Flaps
|
||||
- `407`: RC AUX 1
|
||||
- `408`: RC AUX 2
|
||||
- `409`: RC AUX 3
|
||||
- `410`: RC AUX 4
|
||||
- `411`: RC AUX 5
|
||||
- `412`: RC AUX 6
|
||||
- `420`: Gimbal Roll
|
||||
- `421`: Gimbal Pitch
|
||||
- `422`: Gimbal Yaw
|
||||
- `430`: Gripper
|
||||
- `440`: Landing Gear Wheel
|
||||
- `450`: IC Engine Ignition
|
||||
- `451`: IC Engine Throttle
|
||||
- `452`: IC Engine Choke
|
||||
- `453`: IC Engine Starter
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 0 | |
|
||||
|
||||
### UAVCAN_EC_MAX1 (`INT32`) {#UAVCAN_EC_MAX1}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
@@ -10696,6 +11048,42 @@ Maxmimum output value (when not disarmed).
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 8191 | |
|
||||
|
||||
### UAVCAN_EC_MAX10 (`INT32`) {#UAVCAN_EC_MAX10}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 10 Maximum Value.
|
||||
|
||||
Maxmimum output value (when not disarmed).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 8191 | |
|
||||
|
||||
### UAVCAN_EC_MAX11 (`INT32`) {#UAVCAN_EC_MAX11}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 11 Maximum Value.
|
||||
|
||||
Maxmimum output value (when not disarmed).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 8191 | |
|
||||
|
||||
### UAVCAN_EC_MAX12 (`INT32`) {#UAVCAN_EC_MAX12}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 12 Maximum Value.
|
||||
|
||||
Maxmimum output value (when not disarmed).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 8191 | |
|
||||
|
||||
### UAVCAN_EC_MAX2 (`INT32`) {#UAVCAN_EC_MAX2}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
@@ -10780,6 +11168,18 @@ Maxmimum output value (when not disarmed).
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 8191 | |
|
||||
|
||||
### UAVCAN_EC_MAX9 (`INT32`) {#UAVCAN_EC_MAX9}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 9 Maximum Value.
|
||||
|
||||
Maxmimum output value (when not disarmed).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 8191 | |
|
||||
|
||||
### UAVCAN_EC_MIN1 (`INT32`) {#UAVCAN_EC_MIN1}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
@@ -10792,6 +11192,42 @@ Minimum output value (when not disarmed).
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 1 | |
|
||||
|
||||
### UAVCAN_EC_MIN10 (`INT32`) {#UAVCAN_EC_MIN10}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 10 Minimum Value.
|
||||
|
||||
Minimum output value (when not disarmed).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 1 | |
|
||||
|
||||
### UAVCAN_EC_MIN11 (`INT32`) {#UAVCAN_EC_MIN11}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 11 Minimum Value.
|
||||
|
||||
Minimum output value (when not disarmed).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 1 | |
|
||||
|
||||
### UAVCAN_EC_MIN12 (`INT32`) {#UAVCAN_EC_MIN12}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 12 Minimum Value.
|
||||
|
||||
Minimum output value (when not disarmed).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 1 | |
|
||||
|
||||
### UAVCAN_EC_MIN2 (`INT32`) {#UAVCAN_EC_MIN2}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
@@ -10876,6 +11312,18 @@ Minimum output value (when not disarmed).
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 1 | |
|
||||
|
||||
### UAVCAN_EC_MIN9 (`INT32`) {#UAVCAN_EC_MIN9}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
|
||||
UAVCAN ESC 9 Minimum Value.
|
||||
|
||||
Minimum output value (when not disarmed).
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 8191 | | 1 | |
|
||||
|
||||
### UAVCAN_EC_REV (`INT32`) {#UAVCAN_EC_REV}
|
||||
|
||||
<Badge type="warning" text="This parameter is only present on some boards." />
|
||||
@@ -10895,10 +11343,14 @@ Note: this is only useful for servos.
|
||||
- `5`: UAVCAN ESC 6
|
||||
- `6`: UAVCAN ESC 7
|
||||
- `7`: UAVCAN ESC 8
|
||||
- `8`: UAVCAN ESC 9
|
||||
- `9`: UAVCAN ESC 10
|
||||
- `10`: UAVCAN ESC 11
|
||||
- `11`: UAVCAN ESC 12
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 255 | | 0 | |
|
||||
| | 0 | 4095 | | 0 | |
|
||||
|
||||
### UAVCAN_SV_DIS1 (`INT32`) {#UAVCAN_SV_DIS1}
|
||||
|
||||
@@ -28310,6 +28762,19 @@ clockwise, negative for counter-clockwise.
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | -10000 | 10000 | 0.5 | 80.0 | m |
|
||||
|
||||
### NAV_LTR_LAST_DL (`INT32`) {#NAV_LTR_LAST_DL}
|
||||
|
||||
Loiter at last GCS heartbeat position on data link loss.
|
||||
|
||||
When the data link is lost and this setting is enabled,
|
||||
the vehicle will loiter at the position where the last GCS
|
||||
heartbeat was received rather than at its current position.
|
||||
Only applies to Hold mode during failsafe actions.
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------------ | ---- |
|
||||
| | | | | Disabled (0) | |
|
||||
|
||||
### NAV_MC_ALT_RAD (`FLOAT`) {#NAV_MC_ALT_RAD}
|
||||
|
||||
MC Altitude Acceptance Radius.
|
||||
|
||||
+197
-197
@@ -95,205 +95,205 @@ They are not build into the module, and hence are neither published or subscribe
|
||||
|
||||
::: details See messages
|
||||
|
||||
- [MavlinkLog](../msg_docs/MavlinkLog.md)
|
||||
- [RadioStatus](../msg_docs/RadioStatus.md)
|
||||
- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
|
||||
- [Rpm](../msg_docs/Rpm.md)
|
||||
- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
|
||||
- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
|
||||
- [MountOrientation](../msg_docs/MountOrientation.md)
|
||||
- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
|
||||
- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
|
||||
- [TuneControl](../msg_docs/TuneControl.md)
|
||||
- [CameraStatus](../msg_docs/CameraStatus.md)
|
||||
- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
|
||||
- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
|
||||
- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
|
||||
- [RtlStatus](../msg_docs/RtlStatus.md)
|
||||
- [EventV0](../msg_docs/EventV0.md)
|
||||
- [DebugArray](../msg_docs/DebugArray.md)
|
||||
- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
|
||||
- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
|
||||
- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
|
||||
- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
|
||||
- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
|
||||
- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
|
||||
- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
|
||||
- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
|
||||
- [Vtx](../msg_docs/Vtx.md)
|
||||
- [WheelEncoders](../msg_docs/WheelEncoders.md)
|
||||
- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
|
||||
- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
|
||||
- [HeaterStatus](../msg_docs/HeaterStatus.md)
|
||||
- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
|
||||
- [SensorUwb](../msg_docs/SensorUwb.md)
|
||||
- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
|
||||
- [GeofenceResult](../msg_docs/GeofenceResult.md)
|
||||
- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
|
||||
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
|
||||
- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
|
||||
- [DatamanResponse](../msg_docs/DatamanResponse.md)
|
||||
- [SensorAirflow](../msg_docs/SensorAirflow.md)
|
||||
- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
|
||||
- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
|
||||
- [PowerMonitor](../msg_docs/PowerMonitor.md)
|
||||
- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
|
||||
- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
|
||||
- [EscStatus](../msg_docs/EscStatus.md)
|
||||
- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
|
||||
- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
|
||||
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
|
||||
- [QshellReq](../msg_docs/QshellReq.md)
|
||||
- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [VehicleStatusV2](../msg_docs/VehicleStatusV2.md)
|
||||
- [Gripper](../msg_docs/Gripper.md)
|
||||
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
|
||||
- [VehicleAirData](../msg_docs/VehicleAirData.md)
|
||||
- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
|
||||
- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
|
||||
- [PpsCapture](../msg_docs/PpsCapture.md)
|
||||
- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
|
||||
- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
|
||||
- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
|
||||
- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
|
||||
- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
|
||||
- [Airspeed](../msg_docs/Airspeed.md)
|
||||
- [VehicleImu](../msg_docs/VehicleImu.md)
|
||||
- [EstimatorStates](../msg_docs/EstimatorStates.md)
|
||||
- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
|
||||
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
|
||||
- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
|
||||
- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
|
||||
- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
|
||||
- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
|
||||
- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
|
||||
- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
|
||||
- [LoggerStatus](../msg_docs/LoggerStatus.md)
|
||||
- [Cpuload](../msg_docs/Cpuload.md)
|
||||
- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
|
||||
- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
|
||||
- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
|
||||
- [InputRc](../msg_docs/InputRc.md)
|
||||
- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
|
||||
- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
|
||||
- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
|
||||
- [OrbitStatus](../msg_docs/OrbitStatus.md)
|
||||
- [QshellRetval](../msg_docs/QshellRetval.md)
|
||||
- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
|
||||
- [LogMessage](../msg_docs/LogMessage.md)
|
||||
- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
|
||||
- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
|
||||
- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
|
||||
- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
|
||||
- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
|
||||
- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
|
||||
- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
|
||||
- [PowerButtonState](../msg_docs/PowerButtonState.md)
|
||||
- [FollowTarget](../msg_docs/FollowTarget.md)
|
||||
- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
|
||||
- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
|
||||
- [Event](../msg_docs/Event.md)
|
||||
- [VelocityLimits](../msg_docs/VelocityLimits.md)
|
||||
- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
|
||||
- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
|
||||
- [RaptorInput](../msg_docs/RaptorInput.md)
|
||||
- [LedControl](../msg_docs/LedControl.md)
|
||||
- [EstimatorBias](../msg_docs/EstimatorBias.md)
|
||||
- [AirspeedWind](../msg_docs/AirspeedWind.md)
|
||||
- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
|
||||
- [RcChannels](../msg_docs/RcChannels.md)
|
||||
- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
|
||||
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
|
||||
- [EscEepromWrite](../msg_docs/EscEepromWrite.md)
|
||||
- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
|
||||
- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
|
||||
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
|
||||
- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
|
||||
- [SensorTemp](../msg_docs/SensorTemp.md)
|
||||
- [DebugValue](../msg_docs/DebugValue.md)
|
||||
- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
|
||||
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [UlogStream](../msg_docs/UlogStream.md)
|
||||
- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
|
||||
- [EscReport](../msg_docs/EscReport.md)
|
||||
- [SensorsStatus](../msg_docs/SensorsStatus.md)
|
||||
- [SensorBaro](../msg_docs/SensorBaro.md)
|
||||
- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
|
||||
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
|
||||
- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
|
||||
- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
|
||||
- [SensorGyro](../msg_docs/SensorGyro.md)
|
||||
- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
|
||||
- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
|
||||
- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
|
||||
- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
|
||||
- [ButtonEvent](../msg_docs/ButtonEvent.md)
|
||||
- [SensorSelection](../msg_docs/SensorSelection.md)
|
||||
- [PwmInput](../msg_docs/PwmInput.md)
|
||||
- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
|
||||
- [VehicleRoi](../msg_docs/VehicleRoi.md)
|
||||
- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
|
||||
- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
|
||||
- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
|
||||
- [SensorMag](../msg_docs/SensorMag.md)
|
||||
- [DatamanRequest](../msg_docs/DatamanRequest.md)
|
||||
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
|
||||
- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
|
||||
- [DeviceInformation](../msg_docs/DeviceInformation.md)
|
||||
- [CameraCapture](../msg_docs/CameraCapture.md)
|
||||
- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
|
||||
- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
|
||||
- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
|
||||
- [OrbTest](../msg_docs/OrbTest.md)
|
||||
- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
|
||||
- [IrlockReport](../msg_docs/IrlockReport.md)
|
||||
- [MissionResult](../msg_docs/MissionResult.md)
|
||||
- [GpioConfig](../msg_docs/GpioConfig.md)
|
||||
- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
|
||||
- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
|
||||
- [TecsStatus](../msg_docs/TecsStatus.md)
|
||||
- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
|
||||
- [GpsDump](../msg_docs/GpsDump.md)
|
||||
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
|
||||
- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
|
||||
- [SystemPower](../msg_docs/SystemPower.md)
|
||||
- [Mission](../msg_docs/Mission.md)
|
||||
- [GainCompression](../msg_docs/GainCompression.md)
|
||||
- [GpioOut](../msg_docs/GpioOut.md)
|
||||
- [CameraTrigger](../msg_docs/CameraTrigger.md)
|
||||
- [RaptorStatus](../msg_docs/RaptorStatus.md)
|
||||
- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
|
||||
- [GpioIn](../msg_docs/GpioIn.md)
|
||||
- [EscEepromRead](../msg_docs/EscEepromRead.md)
|
||||
- [GpsInjectData](../msg_docs/GpsInjectData.md)
|
||||
- [HomePositionV0](../msg_docs/HomePositionV0.md)
|
||||
- [GpioRequest](../msg_docs/GpioRequest.md)
|
||||
- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
|
||||
- [Ping](../msg_docs/Ping.md)
|
||||
- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
|
||||
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
|
||||
- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
|
||||
- [HealthReport](../msg_docs/HealthReport.md)
|
||||
- [DebugVect](../msg_docs/DebugVect.md)
|
||||
- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
|
||||
- [RcParameterMap](../msg_docs/RcParameterMap.md)
|
||||
- [CellularStatus](../msg_docs/CellularStatus.md)
|
||||
- [SensorCorrection](../msg_docs/SensorCorrection.md)
|
||||
- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
|
||||
- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
|
||||
- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
|
||||
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
|
||||
- [GpsDump](../msg_docs/GpsDump.md)
|
||||
- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
|
||||
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
|
||||
- [SensorAccel](../msg_docs/SensorAccel.md)
|
||||
- [ActionRequest](../msg_docs/ActionRequest.md)
|
||||
- [MagWorkerData](../msg_docs/MagWorkerData.md)
|
||||
- [NeuralControl](../msg_docs/NeuralControl.md)
|
||||
- [BatteryInfo](../msg_docs/BatteryInfo.md)
|
||||
- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
|
||||
- [AdcReport](../msg_docs/AdcReport.md)
|
||||
- [GimbalControls](../msg_docs/GimbalControls.md)
|
||||
- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
|
||||
- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
|
||||
- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
|
||||
- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
|
||||
- [EventV0](../msg_docs/EventV0.md)
|
||||
- [ActuatorTest](../msg_docs/ActuatorTest.md)
|
||||
- [Airspeed](../msg_docs/Airspeed.md)
|
||||
- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
|
||||
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
|
||||
- [EstimatorBias](../msg_docs/EstimatorBias.md)
|
||||
- [Ping](../msg_docs/Ping.md)
|
||||
- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
|
||||
- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
|
||||
- [HeaterStatus](../msg_docs/HeaterStatus.md)
|
||||
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
|
||||
- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
|
||||
- [QshellReq](../msg_docs/QshellReq.md)
|
||||
- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
|
||||
- [SensorTemp](../msg_docs/SensorTemp.md)
|
||||
- [GpioIn](../msg_docs/GpioIn.md)
|
||||
- [Cpuload](../msg_docs/Cpuload.md)
|
||||
- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
|
||||
- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
|
||||
- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
|
||||
- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
|
||||
- [SensorsStatus](../msg_docs/SensorsStatus.md)
|
||||
- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
|
||||
- [EscEepromWrite](../msg_docs/EscEepromWrite.md)
|
||||
- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
|
||||
- [RcChannels](../msg_docs/RcChannels.md)
|
||||
- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
|
||||
- [DebugValue](../msg_docs/DebugValue.md)
|
||||
- [DatamanResponse](../msg_docs/DatamanResponse.md)
|
||||
- [SensorSelection](../msg_docs/SensorSelection.md)
|
||||
- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
|
||||
- [LedControl](../msg_docs/LedControl.md)
|
||||
- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
|
||||
- [PowerMonitor](../msg_docs/PowerMonitor.md)
|
||||
- [SensorMag](../msg_docs/SensorMag.md)
|
||||
- [SensorUwb](../msg_docs/SensorUwb.md)
|
||||
- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
|
||||
- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
|
||||
- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
|
||||
- [TecsStatus](../msg_docs/TecsStatus.md)
|
||||
- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
|
||||
- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
|
||||
- [QshellRetval](../msg_docs/QshellRetval.md)
|
||||
- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
|
||||
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
|
||||
- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
|
||||
- [CameraStatus](../msg_docs/CameraStatus.md)
|
||||
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
|
||||
- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
|
||||
- [BatteryInfo](../msg_docs/BatteryInfo.md)
|
||||
- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
|
||||
- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
|
||||
- [DebugArray](../msg_docs/DebugArray.md)
|
||||
- [GeofenceResult](../msg_docs/GeofenceResult.md)
|
||||
- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
|
||||
- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [EscStatus](../msg_docs/EscStatus.md)
|
||||
- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
|
||||
- [SensorBaro](../msg_docs/SensorBaro.md)
|
||||
- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
|
||||
- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
|
||||
- [RtlStatus](../msg_docs/RtlStatus.md)
|
||||
- [LoggerStatus](../msg_docs/LoggerStatus.md)
|
||||
- [SensorAirflow](../msg_docs/SensorAirflow.md)
|
||||
- [SensorGyro](../msg_docs/SensorGyro.md)
|
||||
- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
|
||||
- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
|
||||
- [EstimatorStates](../msg_docs/EstimatorStates.md)
|
||||
- [DatamanRequest](../msg_docs/DatamanRequest.md)
|
||||
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
|
||||
- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
|
||||
- [SensorCorrection](../msg_docs/SensorCorrection.md)
|
||||
- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
|
||||
- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
|
||||
- [OrbTest](../msg_docs/OrbTest.md)
|
||||
- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
|
||||
- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
|
||||
- [GpsInjectData](../msg_docs/GpsInjectData.md)
|
||||
- [GainCompression](../msg_docs/GainCompression.md)
|
||||
- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
|
||||
- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
|
||||
- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
|
||||
- [Mission](../msg_docs/Mission.md)
|
||||
- [FollowTarget](../msg_docs/FollowTarget.md)
|
||||
- [PpsCapture](../msg_docs/PpsCapture.md)
|
||||
- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
|
||||
- [NeuralControl](../msg_docs/NeuralControl.md)
|
||||
- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
|
||||
- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
|
||||
- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
|
||||
- [PowerButtonState](../msg_docs/PowerButtonState.md)
|
||||
- [VelocityLimits](../msg_docs/VelocityLimits.md)
|
||||
- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
|
||||
- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
|
||||
- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
|
||||
- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
|
||||
- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
|
||||
- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
|
||||
- [UlogStream](../msg_docs/UlogStream.md)
|
||||
- [MavlinkLog](../msg_docs/MavlinkLog.md)
|
||||
- [Vtx](../msg_docs/Vtx.md)
|
||||
- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
|
||||
- [SystemPower](../msg_docs/SystemPower.md)
|
||||
- [VehicleAirData](../msg_docs/VehicleAirData.md)
|
||||
- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
|
||||
- [VehicleRoi](../msg_docs/VehicleRoi.md)
|
||||
- [HomePositionV0](../msg_docs/HomePositionV0.md)
|
||||
- [DeviceInformation](../msg_docs/DeviceInformation.md)
|
||||
- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
|
||||
- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
|
||||
- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
|
||||
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
|
||||
- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
|
||||
- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
|
||||
- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
|
||||
- [CameraTrigger](../msg_docs/CameraTrigger.md)
|
||||
- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
|
||||
- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
|
||||
- [LogMessage](../msg_docs/LogMessage.md)
|
||||
- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
|
||||
- [OrbitStatus](../msg_docs/OrbitStatus.md)
|
||||
- [AdcReport](../msg_docs/AdcReport.md)
|
||||
- [Gripper](../msg_docs/Gripper.md)
|
||||
- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
|
||||
- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
|
||||
- [PwmInput](../msg_docs/PwmInput.md)
|
||||
- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
|
||||
- [VehicleImu](../msg_docs/VehicleImu.md)
|
||||
- [MissionResult](../msg_docs/MissionResult.md)
|
||||
- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
|
||||
- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
|
||||
- [CellularStatus](../msg_docs/CellularStatus.md)
|
||||
- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
|
||||
- [GimbalControls](../msg_docs/GimbalControls.md)
|
||||
- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
|
||||
- [AirspeedWind](../msg_docs/AirspeedWind.md)
|
||||
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
|
||||
- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
|
||||
- [ActionRequest](../msg_docs/ActionRequest.md)
|
||||
- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
|
||||
- [ButtonEvent](../msg_docs/ButtonEvent.md)
|
||||
- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
|
||||
- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
|
||||
- [EscEepromRead](../msg_docs/EscEepromRead.md)
|
||||
- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
|
||||
- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
|
||||
- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
|
||||
- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
|
||||
- [RadioStatus](../msg_docs/RadioStatus.md)
|
||||
- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
|
||||
- [CameraCapture](../msg_docs/CameraCapture.md)
|
||||
- [SensorAccel](../msg_docs/SensorAccel.md)
|
||||
- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
|
||||
- [WheelEncoders](../msg_docs/WheelEncoders.md)
|
||||
- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
|
||||
- [IrlockReport](../msg_docs/IrlockReport.md)
|
||||
- [GpioRequest](../msg_docs/GpioRequest.md)
|
||||
- [RaptorInput](../msg_docs/RaptorInput.md)
|
||||
- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
|
||||
- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
|
||||
- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
|
||||
- [RcParameterMap](../msg_docs/RcParameterMap.md)
|
||||
- [GpioConfig](../msg_docs/GpioConfig.md)
|
||||
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
|
||||
- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
|
||||
- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
|
||||
- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
|
||||
- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
|
||||
- [HealthReport](../msg_docs/HealthReport.md)
|
||||
- [MountOrientation](../msg_docs/MountOrientation.md)
|
||||
- [EscReport](../msg_docs/EscReport.md)
|
||||
- [InputRc](../msg_docs/InputRc.md)
|
||||
- [TuneControl](../msg_docs/TuneControl.md)
|
||||
- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
|
||||
- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
|
||||
- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
|
||||
- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
|
||||
- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
|
||||
- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
|
||||
- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
|
||||
- [RaptorStatus](../msg_docs/RaptorStatus.md)
|
||||
- [Event](../msg_docs/Event.md)
|
||||
- [DebugVect](../msg_docs/DebugVect.md)
|
||||
- [Rpm](../msg_docs/Rpm.md)
|
||||
- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
|
||||
- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
|
||||
- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
|
||||
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
|
||||
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
|
||||
- [MagWorkerData](../msg_docs/MagWorkerData.md)
|
||||
:::
|
||||
|
||||
@@ -15,7 +15,7 @@ pageClass: is-wide-page
|
||||
| is_evaluation_pending | `bool` | | | flag if the RTL point needs reevaluation (e.g. new safe points available, but need loading). |
|
||||
| has_vtol_approach | `bool` | | | flag if approaches are defined for current RTL_TYPE parameter setting |
|
||||
| rtl_type | `uint8` | | | Type of RTL chosen |
|
||||
| safe_point_index | `uint8` | | | index of the chosen safe point, if in RTL_STATUS_TYPE_DIRECT_SAFE_POINT mode |
|
||||
| safe_point_index | `uint8` | | | index of the chosen safe point, UINT8_MAX if no rally point was chosen |
|
||||
|
||||
## Constants
|
||||
|
||||
@@ -42,7 +42,7 @@ bool is_evaluation_pending # flag if the RTL point needs reevaluation (e.
|
||||
bool has_vtol_approach # flag if approaches are defined for current RTL_TYPE parameter setting
|
||||
|
||||
uint8 rtl_type # Type of RTL chosen
|
||||
uint8 safe_point_index # index of the chosen safe point, if in RTL_STATUS_TYPE_DIRECT_SAFE_POINT mode
|
||||
uint8 safe_point_index # index of the chosen safe point, UINT8_MAX if no rally point was chosen
|
||||
|
||||
uint8 RTL_STATUS_TYPE_NONE=0 # pending if evaluation can't pe performed currently e.g. when it is still loading the safe points
|
||||
uint8 RTL_STATUS_TYPE_DIRECT_SAFE_POINT=1 # chosen to directly go to a safe point or home position
|
||||
|
||||
@@ -47,7 +47,7 @@ To control how fast the battery depletes to the minimal value use the parameter
|
||||
By changing [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) in flight, you can also test regaining capacity to simulate inaccurate battery state estimation or in-air charging technology.
|
||||
:::
|
||||
|
||||
The simulated battery can be completely disabled by setting [SIM_BAT_DRAIN](../advanced_config/parameter_reference.md#SIM_BAT_DRAIN) to 0. This is useful, for example, if you provide an external battery simulation via MAVLink.
|
||||
It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
|
||||
|
||||
## Sensor/System Failure
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
+1
-1
@@ -6,7 +6,7 @@ bool is_evaluation_pending # flag if the RTL point needs reevaluation (e.
|
||||
bool has_vtol_approach # flag if approaches are defined for current RTL_TYPE parameter setting
|
||||
|
||||
uint8 rtl_type # Type of RTL chosen
|
||||
uint8 safe_point_index # index of the chosen safe point, if in RTL_STATUS_TYPE_DIRECT_SAFE_POINT mode
|
||||
uint8 safe_point_index # index of the chosen safe point, UINT8_MAX if no rally point was chosen
|
||||
|
||||
uint8 RTL_STATUS_TYPE_NONE=0 # pending if evaluation can't pe performed currently e.g. when it is still loading the safe points
|
||||
uint8 RTL_STATUS_TYPE_DIRECT_SAFE_POINT=1 # chosen to directly go to a safe point or home position
|
||||
|
||||
@@ -1,45 +1,47 @@
|
||||
# Manual control setpoint message
|
||||
#
|
||||
# This message provides a representation of a manual control input, such as an RC controller or MAVLink controller (Joystick).
|
||||
# It defines the manual_control_input topic to represent configured inputs, and the manual_control_setpoint topic ot represent the selected input.
|
||||
# The message includes fields for the roll, pitch, yaw, throttle and flaps, along with auxiliary channels and button states.
|
||||
#
|
||||
# Note: On a common RC mode 1/2/3/4 remote/joystick the stick deflection: -1 is down/left, 1 is up/right.
|
||||
# Note: QGC sends throttle/z in range [0,1000] - [0,1]. The MAVLink input conversion [0,1] to [-1,1] is at the moment kept backwards compatible.
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint64 timestamp_sample # the timestamp of the raw data (microseconds)
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Timestamp of the raw data
|
||||
|
||||
bool valid
|
||||
bool valid # True if the current data is valid.
|
||||
|
||||
uint8 SOURCE_UNKNOWN = 0
|
||||
uint8 SOURCE_RC = 1 # radio control (input_rc)
|
||||
uint8 SOURCE_MAVLINK_0 = 2 # mavlink instance 0
|
||||
uint8 SOURCE_MAVLINK_1 = 3 # mavlink instance 1
|
||||
uint8 SOURCE_MAVLINK_2 = 4 # mavlink instance 2
|
||||
uint8 SOURCE_MAVLINK_3 = 5 # mavlink instance 3
|
||||
uint8 SOURCE_MAVLINK_4 = 6 # mavlink instance 4
|
||||
uint8 SOURCE_MAVLINK_5 = 7 # mavlink instance 5
|
||||
uint8 data_source # [@enum SOURCE] Source of the manual control setpoint
|
||||
uint8 SOURCE_UNKNOWN = 0 # Unknown source
|
||||
uint8 SOURCE_RC = 1 # Radio control (input_rc)
|
||||
uint8 SOURCE_MAVLINK_0 = 2 # MAVLink instance 0
|
||||
uint8 SOURCE_MAVLINK_1 = 3 # MAVLink instance 1
|
||||
uint8 SOURCE_MAVLINK_2 = 4 # MAVLink instance 2
|
||||
uint8 SOURCE_MAVLINK_3 = 5 # MAVLink instance 3
|
||||
uint8 SOURCE_MAVLINK_4 = 6 # MAVLink instance 4
|
||||
uint8 SOURCE_MAVLINK_5 = 7 # MAVLink instance 5
|
||||
|
||||
uint8 data_source
|
||||
|
||||
# Any of the channels may not be available and be set to NaN
|
||||
# to indicate that it does not contain valid data.
|
||||
float32 roll # [@range -1,1] [@invalid NaN] Positive values are generally used for: move right, positive roll rotation, right side down
|
||||
float32 pitch # [@range -1,1] [@invalid NaN] Positive values are generally used for: move forward, negative pitch rotation, nose down
|
||||
float32 yaw # [@range -1,1] [@invalid NaN] Positive values are generally used for: positive yaw rotation, clockwise when seen top down
|
||||
float32 throttle # [@range -1,1] [@invalid NaN] Positive values are generally used for: move up, positive thrust, -1 is minimum available 0% or -100% +1 is 100% thrust
|
||||
|
||||
# Stick positions [-1,1]
|
||||
# on a common RC mode 1/2/3/4 remote/joystick the stick deflection: -1 is down/left, 1 is up/right
|
||||
# Note: QGC sends throttle/z in range [0,1000] - [0,1]. The MAVLink input conversion [0,1] to [-1,1] is at the moment kept backwards compatible.
|
||||
# Positive values are generally used for:
|
||||
float32 roll # move right, positive roll rotation, right side down
|
||||
float32 pitch # move forward, negative pitch rotation, nose down
|
||||
float32 yaw # positive yaw rotation, clockwise when seen top down
|
||||
float32 throttle # move up, positive thrust, -1 is minimum available 0% or -100% +1 is 100% thrust
|
||||
float32 flaps # [@range -1, 1] [@invalid NaN] Position of flaps switch/knob/lever
|
||||
|
||||
float32 flaps # position of flaps switch/knob/lever [-1, 1]
|
||||
float32 aux1 # [@range -1,1] [@invalid NaN] Auxiliary channel 1
|
||||
float32 aux2 # [@range -1,1] [@invalid NaN] Auxiliary channel 2
|
||||
float32 aux3 # [@range -1,1] [@invalid NaN] Auxiliary channel 3
|
||||
float32 aux4 # [@range -1,1] [@invalid NaN] Auxiliary channel 4
|
||||
float32 aux5 # [@range -1,1] [@invalid NaN] Auxiliary channel 5
|
||||
float32 aux6 # [@range -1,1] [@invalid NaN] Auxiliary channel 6
|
||||
|
||||
float32 aux1
|
||||
float32 aux2
|
||||
float32 aux3
|
||||
float32 aux4
|
||||
float32 aux5
|
||||
float32 aux6
|
||||
bool sticks_moving # True if any of the values are changing.
|
||||
|
||||
bool sticks_moving
|
||||
|
||||
uint16 buttons # From uint16 buttons field of Mavlink manual_control message
|
||||
uint16 buttons # From uint16 buttons field of MAVLink MANUAL_CONTROL message
|
||||
|
||||
# TOPICS manual_control_setpoint manual_control_input
|
||||
# DEPRECATED: float32 x
|
||||
|
||||
@@ -88,7 +88,7 @@ actuator_output:
|
||||
min: { min: 0, max: 8191, default: 1 }
|
||||
max: { min: 0, max: 8191, default: 8191 }
|
||||
failsafe: { min: 0, max: 8191 }
|
||||
num_channels: 8
|
||||
num_channels: 12
|
||||
- param_prefix: UAVCAN_SV
|
||||
group_label: 'Servos'
|
||||
channel_label: 'Servo'
|
||||
|
||||
@@ -48,6 +48,10 @@
|
||||
#include <px4_platform_common/px4_config.h>
|
||||
#include <px4_platform_common/i2c_spi_buses.h>
|
||||
|
||||
extern "C" {
|
||||
__EXPORT void fc_uninitialize_i2c_bus(int fd);
|
||||
}
|
||||
|
||||
namespace device
|
||||
{
|
||||
|
||||
@@ -122,7 +126,7 @@ I2C::init()
|
||||
_i2c_fd = _config_i2c_bus(get_device_bus(), get_device_address(), _frequency);
|
||||
pthread_mutex_unlock(_mutex);
|
||||
|
||||
if (_i2c_fd == PX4_ERROR) {
|
||||
if (_i2c_fd == -1) {
|
||||
PX4_ERR("i2c init failed");
|
||||
goto out;
|
||||
}
|
||||
@@ -132,6 +136,8 @@ I2C::init()
|
||||
|
||||
if (ret != OK) {
|
||||
PX4_ERR("i2c probe failed");
|
||||
fc_uninitialize_i2c_bus(_i2c_fd);
|
||||
_i2c_fd = -1;
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ px4_add_library(health_and_arming_checks
|
||||
checks/manualControlCheck.cpp
|
||||
checks/missionCheck.cpp
|
||||
checks/modeCheck.cpp
|
||||
checks/rallyPointCheck.cpp
|
||||
checks/navigatorCheck.cpp
|
||||
checks/offboardCheck.cpp
|
||||
checks/openDroneIDCheck.cpp
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
#include "checks/geofenceCheck.hpp"
|
||||
#include "checks/flightTimeCheck.hpp"
|
||||
#include "checks/missionCheck.hpp"
|
||||
#include "checks/rallyPointCheck.hpp"
|
||||
#include "checks/rcAndDataLinkCheck.hpp"
|
||||
#include "checks/vtolCheck.hpp"
|
||||
#include "checks/offboardCheck.hpp"
|
||||
@@ -158,6 +159,7 @@ private:
|
||||
GeofenceChecks _geofence_checks;
|
||||
FlightTimeChecks _flight_time_checks;
|
||||
MissionChecks _mission_checks;
|
||||
RallyPointChecks _rally_point_checks;
|
||||
RcAndDataLinkChecks _rc_and_data_link_checks;
|
||||
VtolChecks _vtol_checks;
|
||||
OffboardChecks _offboard_checks;
|
||||
@@ -166,7 +168,7 @@ private:
|
||||
ExternalChecks _external_checks;
|
||||
#endif
|
||||
|
||||
HealthAndArmingCheckBase *_checks[40] = {
|
||||
HealthAndArmingCheckBase *_checks[41] = {
|
||||
#ifndef CONSTRAINED_FLASH
|
||||
&_external_checks,
|
||||
#endif
|
||||
@@ -188,6 +190,7 @@ private:
|
||||
&_manual_control_checks,
|
||||
&_home_position_checks,
|
||||
&_mission_checks,
|
||||
&_rally_point_checks,
|
||||
&_offboard_checks, // must be after _estimator_checks
|
||||
&_mode_checks, // must be after _estimator_checks, _home_position_checks, _mission_checks, _offboard_checks, _external_checks
|
||||
&_open_drone_id_checks,
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2026 PX4 Development Team. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the distribution.
|
||||
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include "rallyPointCheck.hpp"
|
||||
|
||||
RallyPointChecks::RallyPointChecks()
|
||||
: _param_rtl_type_handle(param_find("RTL_TYPE"))
|
||||
{
|
||||
}
|
||||
|
||||
void RallyPointChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
{
|
||||
int32_t rtl_type = 0;
|
||||
|
||||
if (param_get(_param_rtl_type_handle, &rtl_type) != 0 || rtl_type != 5) {
|
||||
// Only enforce rally point requirement when RTL_TYPE == 5 (safe points only)
|
||||
return;
|
||||
}
|
||||
|
||||
rtl_status_s rtl_status;
|
||||
|
||||
if (!_rtl_status_sub.copy(&rtl_status) || rtl_status.safe_point_index == UINT8_MAX) {
|
||||
/* EVENT
|
||||
* @description
|
||||
* Upload at least one rally point before arming, or change <param>RTL_TYPE</param>.
|
||||
*
|
||||
* <profile name="dev">
|
||||
* This check is active when RTL_TYPE is set to 5 (safe points only).
|
||||
* </profile>
|
||||
*/
|
||||
reporter.armingCheckFailure(NavModes::All, health_component_t::system,
|
||||
events::ID("check_rally_point_missing"),
|
||||
events::Log::Error, "No rally point available");
|
||||
|
||||
if (reporter.mavlink_log_pub()) {
|
||||
mavlink_log_critical(reporter.mavlink_log_pub(), "Preflight Fail: No rally point available\t");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2026 PX4 Development Team. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the distribution.
|
||||
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../Common.hpp"
|
||||
|
||||
#include <uORB/Subscription.hpp>
|
||||
#include <uORB/topics/rtl_status.h>
|
||||
#include <parameters/param.h>
|
||||
|
||||
class RallyPointChecks : public HealthAndArmingCheckBase
|
||||
{
|
||||
public:
|
||||
RallyPointChecks();
|
||||
~RallyPointChecks() = default;
|
||||
|
||||
void checkAndReport(const Context &context, Report &reporter) override;
|
||||
|
||||
private:
|
||||
uORB::Subscription _rtl_status_sub{ORB_ID(rtl_status)};
|
||||
|
||||
const param_t _param_rtl_type_handle;
|
||||
};
|
||||
@@ -510,7 +510,7 @@ void Failsafe::checkStateAndMode(const hrt_abstime &time_us, const State &state,
|
||||
|| state.user_intended_mode == vehicle_status_s::NAVIGATION_STATE_AUTO_PRECLAND;
|
||||
|
||||
const bool dll_loss_ignored = isFailsafeIgnored(state.user_intended_mode, _param_com_dll_except.get())
|
||||
|| ignore_any_link_loss_vtol_takeoff_fixedwing || dll_loss_ignored_land;
|
||||
|| ignore_any_link_loss_vtol_takeoff_fixedwing || dll_loss_ignored_land || !state.armed;
|
||||
|
||||
if (_param_nav_dll_act.get() != int32_t(gcs_connection_loss_failsafe_mode::Disabled) && !dll_loss_ignored) {
|
||||
CHECK_FAILSAFE(status_flags, gcs_connection_lost, fromNavDllOrRclActParam(_param_nav_dll_act.get()).causedBy(Cause::GCSConnectionLoss));
|
||||
|
||||
@@ -197,6 +197,8 @@ static int gimbal_thread_main(int argc, char *argv[])
|
||||
thread_should_exit.store(true);
|
||||
}
|
||||
|
||||
const unsigned int poll_timeout_ms = params.mnt_mode_out == MNT_MODE_OUT_AUX ? 10 : 20;
|
||||
|
||||
while (!thread_should_exit.load()) {
|
||||
|
||||
const bool updated = parameter_update_sub.updated();
|
||||
@@ -219,7 +221,7 @@ static int gimbal_thread_main(int argc, char *argv[])
|
||||
const bool already_active = (thread_data.last_input_active == i);
|
||||
// poll only on active input to reduce latency, or on all if none is active
|
||||
const unsigned int poll_timeout =
|
||||
(already_active || thread_data.last_input_active == -1) ? 20 : 0;
|
||||
(already_active || thread_data.last_input_active == -1) ? poll_timeout_ms : 0;
|
||||
|
||||
update_result = thread_data.input_objs[i]->update(poll_timeout, thread_data.control_data, already_active);
|
||||
|
||||
|
||||
@@ -372,6 +372,7 @@ void LoggedTopics::add_system_identification_topics()
|
||||
void LoggedTopics::add_high_rate_sensors_topics()
|
||||
{
|
||||
add_topic_multi("distance_sensor", 0, 4);
|
||||
add_topic_multi("sensor_baro", 0, 4);
|
||||
add_topic_multi("sensor_optical_flow", 0, 2);
|
||||
add_topic_multi("sensor_gps", 0, 4);
|
||||
add_topic_multi("sensor_gnss_relative", 0, 1);
|
||||
|
||||
@@ -73,6 +73,22 @@ Loiter::on_active()
|
||||
&& hrt_elapsed_time(&_navigator->get_reposition_triplet()->current.timestamp) < 500_ms) {
|
||||
reposition();
|
||||
}
|
||||
|
||||
if (_param_nav_ltr_last_dl.get() && _navigator->get_vstatus()->failsafe && _navigator->get_vstatus()->gcs_connection_lost) {
|
||||
if (!_loiter_at_last_link_position_executed) {
|
||||
set_loiter_position(); // if we already were in hold (e.g. GoTo), we need to reset the position setpoint
|
||||
_loiter_at_last_link_position_executed = true;
|
||||
}
|
||||
|
||||
} else {
|
||||
_loiter_at_last_link_position_executed = false;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Loiter::on_inactive()
|
||||
{
|
||||
_loiter_at_last_link_position_executed = false;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -87,7 +103,6 @@ Loiter::set_loiter_position()
|
||||
_navigator->get_position_setpoint_triplet()->current.type = position_setpoint_s::SETPOINT_TYPE_IDLE;
|
||||
_navigator->set_position_setpoint_triplet_updated();
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
position_setpoint_triplet_s *pos_sp_triplet = _navigator->get_position_setpoint_triplet();
|
||||
@@ -104,10 +119,13 @@ Loiter::set_loiter_position()
|
||||
const float d_current = get_distance_to_next_waypoint(pos_sp_triplet->current.lat, pos_sp_triplet->current.lon,
|
||||
_navigator->get_global_position()->lat, _navigator->get_global_position()->lon);
|
||||
on_loiter = d_current <= (_navigator->get_acceptance_radius() + pos_sp_triplet->current.loiter_radius);
|
||||
|
||||
}
|
||||
|
||||
if (on_loiter) {
|
||||
if (_navigator->get_vstatus()->failsafe && _navigator->get_vstatus()->gcs_connection_lost && _param_nav_ltr_last_dl.get()) {
|
||||
|
||||
setLoiterFromLastLink(&_mission_item);
|
||||
|
||||
} else if (on_loiter) {
|
||||
setLoiterItemFromCurrentPositionSetpoint(&_mission_item);
|
||||
|
||||
} else if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING) {
|
||||
@@ -116,7 +134,6 @@ Loiter::set_loiter_position()
|
||||
} else {
|
||||
setLoiterItemFromCurrentPosition(&_mission_item);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// convert mission item to current setpoint
|
||||
|
||||
@@ -53,6 +53,7 @@ public:
|
||||
|
||||
void on_activation() override;
|
||||
void on_active() override;
|
||||
void on_inactive() override;
|
||||
|
||||
private:
|
||||
/**
|
||||
@@ -66,4 +67,9 @@ private:
|
||||
*/
|
||||
void set_loiter_position();
|
||||
|
||||
bool _loiter_at_last_link_position_executed{false};
|
||||
|
||||
DEFINE_PARAMETERS(
|
||||
(ParamInt<px4::params::NAV_LTR_LAST_DL>) _param_nav_ltr_last_dl
|
||||
)
|
||||
};
|
||||
|
||||
@@ -760,6 +760,19 @@ MissionBlock::setLoiterItemCommonFields(struct mission_item_s *item)
|
||||
item->origin = ORIGIN_ONBOARD;
|
||||
}
|
||||
|
||||
void
|
||||
MissionBlock::setLoiterFromLastLink(struct mission_item_s *item)
|
||||
{
|
||||
setLoiterItemCommonFields(item);
|
||||
|
||||
const PositionYawSetpoint &last_heartbeat_pos = _navigator->get_last_pos_with_gcs_heartbeat();
|
||||
|
||||
item->lat = PX4_ISFINITE(last_heartbeat_pos.lat) ? last_heartbeat_pos.lat : _navigator->get_global_position()->lat;
|
||||
item->lon = PX4_ISFINITE(last_heartbeat_pos.lon) ? last_heartbeat_pos.lon : _navigator->get_global_position()->lon;
|
||||
item->altitude = PX4_ISFINITE(last_heartbeat_pos.alt) ? last_heartbeat_pos.alt : _navigator->get_global_position()->alt;
|
||||
item->yaw = PX4_ISFINITE(last_heartbeat_pos.yaw) ? last_heartbeat_pos.yaw : NAN;
|
||||
}
|
||||
|
||||
void
|
||||
MissionBlock::set_takeoff_item(struct mission_item_s *item, float abs_altitude)
|
||||
{
|
||||
|
||||
@@ -165,6 +165,7 @@ protected:
|
||||
|
||||
void setLoiterItemFromCurrentPosition(struct mission_item_s *item);
|
||||
void setLoiterItemFromCurrentPositionWithBraking(struct mission_item_s *item);
|
||||
void setLoiterFromLastLink(struct mission_item_s *item);
|
||||
|
||||
void setLoiterItemCommonFields(struct mission_item_s *item);
|
||||
|
||||
|
||||
@@ -57,6 +57,9 @@
|
||||
|
||||
#include "GeofenceBreachAvoidance/geofence_breach_avoidance.h"
|
||||
|
||||
#include <uORB/SubscriptionMultiArray.hpp>
|
||||
#include <uORB/topics/telemetry_status.h>
|
||||
|
||||
#if CONFIG_NAVIGATOR_ADSB
|
||||
#include <lib/adsb/AdsbConflict.h>
|
||||
#endif // CONFIG_NAVIGATOR_ADSB
|
||||
@@ -174,6 +177,8 @@ public:
|
||||
|
||||
PrecLand *get_precland() { return &_precland; } /**< allow others, e.g. Mission, to use the precision land block */
|
||||
|
||||
const PositionYawSetpoint &get_last_pos_with_gcs_heartbeat() const { return _last_pos_with_gcs_heartbeat; }
|
||||
|
||||
const vehicle_roi_s &get_vroi() { return _vroi; }
|
||||
|
||||
void reset_vroi() { _vroi = {}; }
|
||||
@@ -402,6 +407,9 @@ private:
|
||||
|
||||
bool _is_capturing_images{false}; // keep track if we need to stop capturing images
|
||||
|
||||
uORB::SubscriptionMultiArray<telemetry_status_s> _telemetry_status_subs{ORB_ID::telemetry_status};
|
||||
PositionYawSetpoint _last_pos_with_gcs_heartbeat{(double)NAN, (double)NAN, NAN, NAN};
|
||||
|
||||
|
||||
// timer to trigger a delayed set gimbal neutral command
|
||||
hrt_abstime _gimbal_neutral_activation_time{UINT64_MAX};
|
||||
|
||||
@@ -225,6 +225,19 @@ void Navigator::run()
|
||||
_global_pos_sub.copy(&_global_pos);
|
||||
}
|
||||
|
||||
/* update last known position with GCS heartbeat */
|
||||
for (auto &telemetry_sub : _telemetry_status_subs) {
|
||||
telemetry_status_s telemetry;
|
||||
|
||||
if (telemetry_sub.update(&telemetry) && telemetry.heartbeat_type_gcs) {
|
||||
_last_pos_with_gcs_heartbeat.lat = _global_pos.lat;
|
||||
_last_pos_with_gcs_heartbeat.lon = _global_pos.lon;
|
||||
_last_pos_with_gcs_heartbeat.alt = _global_pos.alt;
|
||||
_last_pos_with_gcs_heartbeat.yaw = _local_pos.heading;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* check for parameter updates */
|
||||
if (_parameter_update_sub.updated()) {
|
||||
// clear update
|
||||
|
||||
@@ -140,3 +140,13 @@ parameters:
|
||||
min: -1
|
||||
decimal: 1
|
||||
increment: 1
|
||||
NAV_LTR_LAST_DL:
|
||||
description:
|
||||
short: Loiter at last GCS heartbeat position on data link loss
|
||||
long: |-
|
||||
When the data link is lost and this setting is enabled,
|
||||
the vehicle will loiter at the position where the last GCS
|
||||
heartbeat was received rather than at its current position.
|
||||
Only applies to Hold mode during failsafe actions.
|
||||
type: boolean
|
||||
default: 0
|
||||
|
||||
@@ -441,11 +441,16 @@ PositionYawSetpoint RTL::findClosestSafePoint(float min_dist, uint8_t &safe_poin
|
||||
continue;
|
||||
}
|
||||
|
||||
// Only look at rally points
|
||||
if (mission_safe_point.nav_cmd != NAV_CMD_RALLY_POINT) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Ignore safepoints which are too close to the homepoint (only if home is an option to return to)
|
||||
const bool far_from_home = get_distance_to_next_waypoint(_home_pos_sub.get().lat, _home_pos_sub.get().lon,
|
||||
mission_safe_point.lat, mission_safe_point.lon) > MAX_DIST_FROM_HOME_FOR_LAND_APPROACHES;
|
||||
|
||||
if (mission_safe_point.nav_cmd == NAV_CMD_RALLY_POINT && (far_from_home || (_param_rtl_type.get() == 5))) {
|
||||
if (far_from_home || (_param_rtl_type.get() == 5)) {
|
||||
const float dist{get_distance_to_next_waypoint(_global_pos_sub.get().lat, _global_pos_sub.get().lon, mission_safe_point.lat, mission_safe_point.lon)};
|
||||
|
||||
PositionYawSetpoint safepoint_position;
|
||||
@@ -531,32 +536,11 @@ void RTL::findRtlDestination(DestinationType &destination_type, PositionYawSetpo
|
||||
destination_type = DestinationType::DESTINATION_TYPE_SAFE_POINT;
|
||||
|
||||
} else if (_param_rtl_type.get() == 5) {
|
||||
// Safe points only but no valid safe point, fallback to last position with valid data link
|
||||
for (auto &telemetry_status : _telemetry_status_subs) {
|
||||
telemetry_status_s telemetry;
|
||||
|
||||
if (telemetry_status.update(&telemetry)) {
|
||||
|
||||
if (telemetry.heartbeat_type_gcs) {
|
||||
_last_position_before_link_loss.alt = _global_pos_sub.get().alt;
|
||||
_last_position_before_link_loss.lat = _global_pos_sub.get().lat;
|
||||
_last_position_before_link_loss.lon = _global_pos_sub.get().lon;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (PX4_ISFINITE(_last_position_before_link_loss.lat) && PX4_ISFINITE(_last_position_before_link_loss.lon)) {
|
||||
destination = _last_position_before_link_loss;
|
||||
|
||||
} else {
|
||||
// If no valid data link position, fallback to current position
|
||||
destination.alt = _global_pos_sub.get().alt;
|
||||
destination.lat = _global_pos_sub.get().lat;
|
||||
destination.lon = _global_pos_sub.get().lon;
|
||||
}
|
||||
|
||||
destination_type = DestinationType::DESTINATION_TYPE_LAST_LINK_POSITION;
|
||||
// for RTL_TYPE=5: if no rally point is found fallback to current position
|
||||
destination.alt = _global_pos_sub.get().alt;
|
||||
destination.lat = _global_pos_sub.get().lat;
|
||||
destination.lon = _global_pos_sub.get().lon;
|
||||
destination_type = DestinationType::DESTINATION_TYPE_SAFE_POINT;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -595,11 +579,6 @@ void RTL::setSafepointAsDestination(PositionYawSetpoint &rtl_position, const mis
|
||||
|
||||
float RTL::computeReturnAltitude(const PositionYawSetpoint &rtl_position, DestinationType destination_type, float cone_half_angle_deg) const
|
||||
{
|
||||
if (destination_type == DestinationType::DESTINATION_TYPE_LAST_LINK_POSITION) {
|
||||
// when returning to last known link position, do not modify altitude
|
||||
return rtl_position.alt;
|
||||
}
|
||||
|
||||
if (_param_rtl_cone_ang.get() > 0 && _vehicle_status_sub.get().vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING) {
|
||||
// horizontal distance to destination
|
||||
const float destination_dist =
|
||||
|
||||
@@ -55,13 +55,11 @@
|
||||
#include <uORB/Publication.hpp>
|
||||
#include <uORB/Subscription.hpp>
|
||||
#include <uORB/SubscriptionInterval.hpp>
|
||||
#include <uORB/SubscriptionMultiArray.hpp>
|
||||
#include <uORB/topics/home_position.h>
|
||||
#include <uORB/topics/mission.h>
|
||||
#include <uORB/topics/parameter_update.h>
|
||||
#include <uORB/topics/rtl_status.h>
|
||||
#include <uORB/topics/rtl_time_estimate.h>
|
||||
#include <uORB/topics/telemetry_status.h>
|
||||
|
||||
class Navigator;
|
||||
|
||||
@@ -96,8 +94,7 @@ private:
|
||||
enum class DestinationType {
|
||||
DESTINATION_TYPE_HOME,
|
||||
DESTINATION_TYPE_MISSION_LAND,
|
||||
DESTINATION_TYPE_SAFE_POINT,
|
||||
DESTINATION_TYPE_LAST_LINK_POSITION
|
||||
DESTINATION_TYPE_SAFE_POINT
|
||||
};
|
||||
|
||||
private:
|
||||
@@ -229,7 +226,6 @@ private:
|
||||
mutable DatamanCache _dataman_cache_landItem{"rtl_dm_cache_miss_land", 2};
|
||||
uint32_t _mission_id = 0u;
|
||||
uint32_t _safe_points_id = 0u;
|
||||
PositionYawSetpoint _last_position_before_link_loss{(double)NAN, (double)NAN, NAN, NAN};
|
||||
|
||||
mission_stats_entry_s _stats;
|
||||
|
||||
@@ -253,7 +249,6 @@ private:
|
||||
uORB::SubscriptionData<mission_s> _mission_sub{ORB_ID(mission)};
|
||||
uORB::SubscriptionData<home_position_s> _home_pos_sub{ORB_ID(home_position)};
|
||||
uORB::SubscriptionData<wind_s> _wind_sub{ORB_ID(wind)};
|
||||
uORB::SubscriptionMultiArray<telemetry_status_s> _telemetry_status_subs{ORB_ID::telemetry_status};
|
||||
|
||||
uORB::Publication<rtl_time_estimate_s> _rtl_time_estimate_pub{ORB_ID(rtl_time_estimate)};
|
||||
uORB::Publication<rtl_status_s> _rtl_status_pub{ORB_ID(rtl_status)};
|
||||
|
||||
@@ -85,8 +85,7 @@ void BatterySimulator::Run()
|
||||
|
||||
const hrt_abstime now_us = hrt_absolute_time();
|
||||
|
||||
// Limit to +1.0 s to guard against division by 0
|
||||
const float discharge_interval_us = math::max(_param_sim_bat_drain.get(), 1.0f) * 1000 * 1000;
|
||||
const float discharge_interval_us = _param_sim_bat_drain.get() * 1000 * 1000;
|
||||
|
||||
if (_armed) {
|
||||
if (_last_integration_us != 0) {
|
||||
|
||||
@@ -2,14 +2,22 @@ module_name: battery_simulator
|
||||
parameters:
|
||||
- group: SITL
|
||||
definitions:
|
||||
SIM_BAT_ENABLE:
|
||||
description:
|
||||
short: Simulator Battery enabled
|
||||
long: |-
|
||||
Enable or disable the internal battery simulation. This is useful
|
||||
when the battery is simulated externally and interfaced with PX4
|
||||
through MAVLink for example.
|
||||
type: boolean
|
||||
default: 1
|
||||
SIM_BAT_DRAIN:
|
||||
description:
|
||||
short: Simulated battery full-discharge time
|
||||
long: |-
|
||||
Time in seconds for the simulated battery to drain from 100% to 0% while armed. Set to 0 to disable the battery simulator entirely (useful when battery state is provided externally, e.g. via MAVLink).
|
||||
short: Simulator Battery drain interval
|
||||
type: float
|
||||
default: 60
|
||||
min: 0
|
||||
min: 1
|
||||
max: 86400
|
||||
increment: 1
|
||||
unit: s
|
||||
SIM_BAT_MIN_PCT:
|
||||
|
||||
Reference in New Issue
Block a user