Commander: Add COM_ARM_AUTH_REQ for enabling Arm Authorization

Signed-off-by: Claudio Micheli <claudio@auterion.com>
This commit is contained in:
Claudio Micheli 2019-11-13 14:02:11 +01:00 committed by Lorenz Meier
parent ba5efa5642
commit ba99ef0d3b
2 changed files with 27 additions and 5 deletions

View File

@ -1268,6 +1268,7 @@ Commander::run()
param_t _param_arm_switch_is_button = param_find("COM_ARM_SWISBTN");
param_t _param_rc_override = param_find("COM_RC_OVERRIDE");
param_t _param_arm_mission_required = param_find("COM_ARM_MIS_REQ");
param_t _param_arm_auth_required = param_find("COM_ARM_AUTH_REQ");
param_t _param_escs_checks_required = param_find("COM_ARM_CHK_ESCS");
param_t _param_flight_uuid = param_find("COM_FLIGHT_UUID");
param_t _param_takeoff_finished_action = param_find("COM_TAKEOFF_ACT");
@ -1395,8 +1396,13 @@ Commander::run()
int32_t arm_mission_required_param = 0;
param_get(_param_arm_mission_required, &arm_mission_required_param);
arm_requirements |= (arm_mission_required_param &
(PreFlightCheck::ARM_REQ_MISSION_BIT | PreFlightCheck::ARM_REQ_ARM_AUTH_BIT));
arm_requirements |= (arm_mission_required_param == 0) ? PreFlightCheck::ARM_REQ_NONE :
PreFlightCheck::ARM_REQ_MISSION_BIT;
int32_t arm_auth_required_param = 0;
param_get(_param_arm_auth_required, &arm_auth_required_param);
arm_requirements |= (arm_auth_required_param == 0) ? PreFlightCheck::ARM_REQ_NONE :
PreFlightCheck::ARM_REQ_ARM_AUTH_BIT;
int32_t arm_escs_checks_required_param = 0;
param_get(_param_escs_checks_required, &arm_escs_checks_required_param);
@ -1530,9 +1536,15 @@ Commander::run()
param_get(_param_arm_without_gps, &arm_without_gps_param);
arm_requirements = (arm_without_gps_param == 1) ? PreFlightCheck::ARM_REQ_NONE : PreFlightCheck::ARM_REQ_GPS_BIT;
param_get(_param_arm_mission_required, &arm_mission_required_param);
arm_requirements |= (arm_mission_required_param &
(PreFlightCheck::ARM_REQ_MISSION_BIT | PreFlightCheck::ARM_REQ_ARM_AUTH_BIT));
arm_requirements |= (arm_mission_required_param == 0) ? PreFlightCheck::ARM_REQ_NONE :
PreFlightCheck::ARM_REQ_MISSION_BIT;
param_get(_param_arm_auth_required, &arm_auth_required_param);
arm_requirements |= (arm_auth_required_param == 0) ? PreFlightCheck::ARM_REQ_NONE :
PreFlightCheck::ARM_REQ_ARM_AUTH_BIT;
param_get(_param_escs_checks_required, &arm_escs_checks_required_param);
arm_requirements |= (arm_escs_checks_required_param == 0) ? PreFlightCheck::ARM_REQ_NONE :
PreFlightCheck::ARM_REQ_ESCS_CHECK_BIT;

View File

@ -678,6 +678,16 @@ PARAM_DEFINE_INT32(COM_POSCTL_NAVL, 0);
*/
PARAM_DEFINE_INT32(COM_ARM_AUTH, 256010);
/**
* Require arm authorization to arm
*
* The default allows to arm the vehicle without a arm authorization.
*
* @group Commander
* @boolean
*/
PARAM_DEFINE_INT32(COM_ARM_AUTH_REQ, 0);
/**
* Loss of position failsafe activation delay.
*