Skip to content
Snippets Groups Projects
Commit 6257d9bd authored by Mark Whitehorn's avatar Mark Whitehorn Committed by Lorenz Meier
Browse files

remove pwm "trim" command; replaced by parameter values

parent 86252e19
No related branches found
No related tags found
No related merge requests found
......@@ -90,7 +90,7 @@ usage(const char *reason)
"disarmed ...\t\t\tDisarmed PWM\n"
"min ...\t\t\t\tMinimum PWM\n"
"max ...\t\t\t\tMaximum PWM\n"
"trim ...\t\t\tTrim PWM\n"
// "trim ...\t\t\tTrim PWM\n"
"\t[-c <channels>]\t\t(e.g. 1234)\n"
"\t[-m <channel mask> ]\t(e.g. 0xF)\n"
"\t[-a]\t\t\tConfigure all outputs\n"
......@@ -168,7 +168,7 @@ pwm_main(int argc, char *argv[])
unsigned group;
unsigned long channels;
unsigned single_ch = 0;
unsigned pwm_value = 0;
int pwm_value = 0;
if (argc < 2) {
usage(NULL);
......@@ -449,48 +449,49 @@ pwm_main(int argc, char *argv[])
exit(0);
} else if (!strcmp(argv[1], "trim")) {
if (set_mask == 0) {
usage("no channels set");
}
struct pwm_output_values pwm_values;
memset(&pwm_values, 0, sizeof(pwm_values));
pwm_values.channel_count = servo_count;
/* first get current state before modifying it */
ret = ioctl(fd, PWM_SERVO_GET_TRIM_PWM, (long unsigned int)&pwm_values);
if (ret != OK) {
errx(ret, "failed get trim values");
}
for (unsigned i = 0; i < servo_count; i++) {
if (set_mask & 1 << i) {
pwm_values.values[i] = pwm_value;
if (print_verbose) {
warnx("Channel %d: trim PWM: %d", i + 1, pwm_value);
}
}
}
if (pwm_values.channel_count == 0) {
usage("no PWM values added");
} else {
ret = ioctl(fd, PWM_SERVO_SET_TRIM_PWM, (long unsigned int)&pwm_values);
if (ret != OK) {
errx(ret, "failed setting trim values");
}
}
exit(0);
// } else if (!strcmp(argv[1], "trim")) {
//
// if (set_mask == 0) {
// usage("no channels set");
// }
//
// struct pwm_output_values pwm_values;
//
// memset(&pwm_values, 0, sizeof(pwm_values));
//
// pwm_values.channel_count = servo_count;
//
// /* first get current state before modifying it */
// ret = ioctl(fd, PWM_SERVO_GET_TRIM_PWM, (long unsigned int)&pwm_values);
//
// if (ret != OK) {
// errx(ret, "failed get trim values");
// }
//
// for (unsigned i = 0; i < servo_count; i++) {
// if (set_mask & 1 << i) {
// pwm_values.values[i] = pwm_value;
//
// if (print_verbose) {
// warnx("Channel %d: trim PWM: %d", i + 1, pwm_value);
// }
// }
// }
//
// if (pwm_values.channel_count == 0) {
// usage("no PWM values added");
//
// } else {
//
// ret = ioctl(fd, PWM_SERVO_SET_TRIM_PWM, (long unsigned int)&pwm_values);
//
// if (ret != OK) {
// errx(ret, "failed setting trim values");
// }
// }
//
// exit(0);
//
} else if (!strcmp(argv[1], "disarmed")) {
......@@ -861,8 +862,9 @@ pwm_main(int argc, char *argv[])
}
printf(" failsafe: %d, disarmed: %d us, min: %d us, max: %d us, trim: %d us)",
failsafe_pwm.values[i], disarmed_pwm.values[i], min_pwm.values[i], max_pwm.values[i], trim_pwm.values[i]);
printf(" failsafe: %d, disarmed: %d us, min: %d us, max: %d us, trim: %5.2f)",
failsafe_pwm.values[i], disarmed_pwm.values[i], min_pwm.values[i], max_pwm.values[i],
(double)((int16_t)(trim_pwm.values[i]) / 10000.0f));
printf("\n");
} else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment