mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
replay: print parameter changes and error on mismatch
This commit is contained in:
parent
03aa2dd46c
commit
142452f80c
@ -127,7 +127,9 @@ Replay::setupReplayFile(const char *file_name)
|
||||
void
|
||||
Replay::setUserParams(const char *filename)
|
||||
{
|
||||
string line, param_name, value_string;
|
||||
string line;
|
||||
string pname;
|
||||
string value_string;
|
||||
ifstream myfile(filename);
|
||||
|
||||
if (!myfile.is_open()) {
|
||||
@ -144,23 +146,37 @@ Replay::setUserParams(const char *filename)
|
||||
}
|
||||
|
||||
istringstream mystrstream(line);
|
||||
mystrstream >> param_name;
|
||||
mystrstream >> pname;
|
||||
mystrstream >> value_string;
|
||||
|
||||
double param_value_double = stod(value_string);
|
||||
|
||||
param_t handle = param_find(param_name.c_str());
|
||||
param_t handle = param_find(pname.c_str());
|
||||
param_type_t param_format = param_type(handle);
|
||||
_overridden_params.insert(param_name);
|
||||
_overridden_params.insert(pname);
|
||||
|
||||
if (param_format == PARAM_TYPE_INT32) {
|
||||
int32_t value = 0;
|
||||
value = (int32_t)param_value_double;
|
||||
int32_t orig_value = 0;
|
||||
param_get(handle, &orig_value);
|
||||
|
||||
int32_t value = (int32_t)param_value_double;
|
||||
|
||||
if (orig_value != value) {
|
||||
PX4_WARN("setting %s (INT32) %d -> %d", param_name(handle), orig_value, value);
|
||||
}
|
||||
|
||||
param_set(handle, (const void *)&value);
|
||||
|
||||
} else if (param_format == PARAM_TYPE_FLOAT) {
|
||||
float value = 0;
|
||||
value = (float)param_value_double;
|
||||
float orig_value = 0;
|
||||
param_get(handle, &orig_value);
|
||||
|
||||
float value = (float)param_value_double;
|
||||
|
||||
if (fabsf(orig_value - value) > FLT_EPSILON) {
|
||||
PX4_WARN("setting %s (FLOAT) %.3f -> %.3f", param_name(handle), (double)orig_value, (double)value);
|
||||
}
|
||||
|
||||
param_set(handle, (const void *)&value);
|
||||
}
|
||||
}
|
||||
@ -383,7 +399,7 @@ Replay::readAndAddSubscription(std::ifstream &file, uint16_t msg_size)
|
||||
}
|
||||
|
||||
if (!compat) {
|
||||
PX4_WARN("Formats for %s don't match. Will ignore it.", topic_name.c_str());
|
||||
PX4_ERR("Formats for %s don't match. Will ignore it.", topic_name.c_str());
|
||||
PX4_WARN(" Internal format: %s", orb_meta->o_fields);
|
||||
PX4_WARN(" File format : %s", file_format.c_str());
|
||||
return true; // not a fatal error
|
||||
@ -549,7 +565,7 @@ Replay::readDropout(std::ifstream &file, uint16_t msg_size)
|
||||
uint16_t duration;
|
||||
file.read((char *)&duration, sizeof(duration));
|
||||
|
||||
PX4_INFO("Dropout in replayed log, %i ms", (int)duration);
|
||||
PX4_ERR("Dropout in replayed log, %i ms", (int)duration);
|
||||
return file.good();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user