mirror of https://github.com/ArduPilot/ardupilot
AP_Param: fixed setting of CAM_P_G in ArduCopter
the variable CAM_P_G has the same prefix as the CAM_P group. We want to allow for parameters having a common prefix with a group, so we need to keep searching after we've found a group that matches the prefix
This commit is contained in:
parent
7fe4a41c31
commit
ac44b73951
|
@ -533,7 +533,13 @@ AP_Param::find(const char *name, enum ap_var_type *ptype)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const struct GroupInfo *group_info = (const struct GroupInfo *)PGM_POINTER(&_var_info[i].group_info);
|
const struct GroupInfo *group_info = (const struct GroupInfo *)PGM_POINTER(&_var_info[i].group_info);
|
||||||
return find_group(name + len, i, group_info, ptype);
|
AP_Param *ap = find_group(name + len, i, group_info, ptype);
|
||||||
|
if (ap != NULL) {
|
||||||
|
return ap;
|
||||||
|
}
|
||||||
|
// we continue looking as we want to allow top level
|
||||||
|
// parameter to have the same prefix name as group
|
||||||
|
// parameters, for example CAM_P_G
|
||||||
} else if (strcasecmp_P(name, _var_info[i].name) == 0) {
|
} else if (strcasecmp_P(name, _var_info[i].name) == 0) {
|
||||||
*ptype = (enum ap_var_type)type;
|
*ptype = (enum ap_var_type)type;
|
||||||
return (AP_Param *)PGM_POINTER(&_var_info[i].ptr);
|
return (AP_Param *)PGM_POINTER(&_var_info[i].ptr);
|
||||||
|
|
Loading…
Reference in New Issue