void controlpanel_calibrate() { PIDGains newgains; while (true) { char ch = controlpanel_promptChar("Calibrate"); switch (ch) { case 'm': if (controlpanel_promptGains("magfollow", magfollow_getGains(), newgains)) { magfollow_setGains(newgains); printf_P(PSTR("Gains set!\n")); } else { printf_P(PSTR("Cancelled.\n")); } break; case 't': if (controlpanel_promptGains("magturn", magfollow_getTurnGains(), newgains)) { magfollow_setTurnGains(newgains); printf_P(PSTR("Gains set!\n")); } else { printf_P(PSTR("Cancelled.\n")); } break; case 'd': if (controlpanel_promptGains("motorcontrol", motorcontrol_getGains(), newgains)) { motorcontrol_setGains(newgains); printf_P(PSTR("Gains set!\n")); } else { printf_P(PSTR("Cancelled.\n")); } break; case 'f': tests_feedforward(); break; case 'q': return; case '?': static const char msg[] PROGMEM = "Calibrate Menu:\n" " m - Magnetometer PID\n" " t - Magturn PID\n" " d - Motorcontrol PID\n" " f - Feed-forward calibration !!MOVES MOTORS!!\n" " q - Back\n"; puts_P(msg); break; default: puts_P(unknown_str); break; } } }
void controlpanel_gains() { PIDGains newgains; while (true) { char ch = controlpanel_promptChar("Gains"); switch (ch) { case 'm': if (controlpanel_promptGains("motorcontrol", motorcontrol_getGains(), newgains)) { motorcontrol_setGains(newgains); printf_P(PSTR("Gains set!\n")); } else { printf_P(PSTR("Cancelled.\n")); } break; case 'M': if (controlpanel_promptGains("magfollow", magfollow_getGains(), newgains)) { magfollow_setGains(newgains); printf_P(PSTR("Gains set!\n")); } else { printf_P(PSTR("Cancelled.\n")); } break; case 'l': if (controlpanel_promptGains("linefollow", linefollow_getGains(), newgains)) { linefollow_setGains(newgains); printf_P(PSTR("Gains set!\n")); } else { printf_P(PSTR("Cancelled.\n")); } break; case 'q': return; case '?': static const char msg[] PROGMEM = "Gain commands:\n" " m - Adjust Motor Gains\n" " M - Adjust Magfollow Gains\n" " l - Adjust Linefollow Gains\n" " q - Back\n"; puts_P(msg); break; default: printf_P(PSTR("Unknown Command, type '?' for help.\n")); } } }