Exemplo n.º 1
0
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;
		}
	}
}
Exemplo n.º 2
0
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"));
		}
	}
}