|
|
|
@ -24,15 +24,28 @@ const AP_Param::GroupInfo AC_ZR_App::var_info[] = {
@@ -24,15 +24,28 @@ const AP_Param::GroupInfo AC_ZR_App::var_info[] = {
|
|
|
|
|
// @Description: parameters test
|
|
|
|
|
// @Values: 0:None,1:other
|
|
|
|
|
// @RebootRequired: True
|
|
|
|
|
// @User: Advanced
|
|
|
|
|
// @User: zrzk
|
|
|
|
|
AP_GROUPINFO("_TYPE", 0, AC_ZR_App, _type, 1), |
|
|
|
|
|
|
|
|
|
AP_GROUPINFO("_ID_TYPE", 1, AC_ZR_App, sysid_type, 0 ), |
|
|
|
|
AP_GROUPINFO("_ID_BOARD_ID", 2, AC_ZR_App, sysid_board_id, 98765432U), |
|
|
|
|
AP_GROUPINFO("_ID_DL1", 3, AC_ZR_App, sysid_dl1, 0x8175), |
|
|
|
|
AP_GROUPINFO("_ID_DL2", 4, AC_ZR_App, sysid_dl2, 0x6fda), |
|
|
|
|
AP_GROUPINFO("_ID_DL3", 5, AC_ZR_App, sysid_dl3, 0xf38f), |
|
|
|
|
AP_GROUPINFO("_ID_DL4", 6, AC_ZR_App, sysid_dl4, 0xbf48), |
|
|
|
|
AP_GROUPINFO("_SYS_TYPE", 1, AC_ZR_App, sysid_type, 0 ), |
|
|
|
|
AP_GROUPINFO("_SYS_ID", 2, AC_ZR_App, sysid_board_id, 98765432U), |
|
|
|
|
AP_GROUPINFO("_SYS_DL1", 3, AC_ZR_App, sysid_dl1, 0x8175), |
|
|
|
|
AP_GROUPINFO("_SYS_DL2", 4, AC_ZR_App, sysid_dl2, 0x6fda), |
|
|
|
|
AP_GROUPINFO("_SYS_DL3", 5, AC_ZR_App, sysid_dl3, 0xf38f), |
|
|
|
|
AP_GROUPINFO("_SYS_DL4", 6, AC_ZR_App, sysid_dl4, 0xbf48), |
|
|
|
|
|
|
|
|
|
// @Param: _SL_*
|
|
|
|
|
// @DisplayName: ZR_SL_*
|
|
|
|
|
// @Description: 降落减速设置,3个梯度
|
|
|
|
|
// @Values: 值单位cm和cm/s
|
|
|
|
|
// @RebootRequired: True
|
|
|
|
|
// @User: zrzk
|
|
|
|
|
AP_GROUPINFO("_SL_ALT_HI", 7, AC_ZR_App, land_slow_alt_high, 3000), |
|
|
|
|
AP_GROUPINFO("_SL_ALT_MI", 8, AC_ZR_App, land_slow_alt_mid, 1500), |
|
|
|
|
AP_GROUPINFO("_SL_ALT_LO", 9, AC_ZR_App, land_slow_alt_low, 150), |
|
|
|
|
AP_GROUPINFO("_SL_SPD_HI", 10, AC_ZR_App, land_slow_speed_dn_high, 150), |
|
|
|
|
AP_GROUPINFO("_SL_SPD_MI", 11, AC_ZR_App, land_slow_speed_dn_mid, 50), |
|
|
|
|
AP_GROUPINFO("_SL_SPD_LO", 12, AC_ZR_App, land_slow_speed_dn_low, 30), |
|
|
|
|
|
|
|
|
|
AP_GROUPEND |
|
|
|
|
}; |
|
|
|
@ -144,3 +157,27 @@ uint32_t AC_ZR_App::get_zr_sysid()
@@ -144,3 +157,27 @@ uint32_t AC_ZR_App::get_zr_sysid()
|
|
|
|
|
{ |
|
|
|
|
return (uint32_t)sysid_board_id; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 降落根据高度梯度减速 |
|
|
|
|
*
|
|
|
|
|
* @param alt_cm 当前飞机高度 |
|
|
|
|
* @param sys_speed_dn 系统设置的降落速度 |
|
|
|
|
* @return uint16_t 减速后速度 |
|
|
|
|
*/ |
|
|
|
|
uint16_t AC_ZR_App::get_land_deceleration(int32_t alt_cm,int16_t sys_speed_dn) |
|
|
|
|
{ |
|
|
|
|
int16_t speed_dn_now = sys_speed_dn; // 没到减速阶段则使用系统降落速度
|
|
|
|
|
|
|
|
|
|
if(alt_cm < land_slow_alt_low){ // 最低处减速
|
|
|
|
|
speed_dn_now = land_slow_speed_dn_low; |
|
|
|
|
} |
|
|
|
|
else if(alt_cm < land_slow_alt_mid){ // 中高处减速
|
|
|
|
|
speed_dn_now = land_slow_speed_dn_mid; |
|
|
|
|
} |
|
|
|
|
else if(alt_cm < land_slow_alt_high){ // 高处减速
|
|
|
|
|
speed_dn_now = land_slow_speed_dn_high; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return abs(speed_dn_now); |
|
|
|
|
} |