|
|
|
@ -595,10 +595,6 @@ gboolean cb_thread_posctl (gpointer data) {
|
|
|
|
|
free (data);
|
|
|
|
|
|
|
|
|
|
switch (posctl_calib_debug.mode) {
|
|
|
|
|
case (POSCTL_CALIB_MODE_OFF):
|
|
|
|
|
tg = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "cal_mode_off"));
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tg), true);
|
|
|
|
|
break;
|
|
|
|
|
case (POSCTL_CALIB_MODE_STOP1):
|
|
|
|
|
tg = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "cal_mode_rs"));
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tg), true);
|
|
|
|
@ -628,6 +624,8 @@ gboolean cb_thread_posctl (gpointer data) {
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tg), true);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
tg = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "cal_mode_off"));
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tg), true);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -717,7 +715,7 @@ void PosCtl::StartCalibration() {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
mode = POSCTL_MODE_CALIB;
|
|
|
|
|
calib_mode = POSCTL_CALIB_MODE_STOP1;
|
|
|
|
|
calib_mode = POSCTL_CALIB_MODE_START;
|
|
|
|
|
gettimeofday (&calib_timestamp, NULL);
|
|
|
|
|
NotifyGtk();
|
|
|
|
|
}
|
|
|
|
@ -848,13 +846,13 @@ void PosCtl::CalibModeAxis(int x, int y) {
|
|
|
|
|
fp.y = (y - calib_pos.y) / timediff;
|
|
|
|
|
|
|
|
|
|
if (calib_mode == POSCTL_CALIB_MODE_AXIS1M) {
|
|
|
|
|
calib_axis1_v = fp;
|
|
|
|
|
calib_axis1_v = fp - calib_rot_v;
|
|
|
|
|
calc_vec2anglelen(&calib_axis1_v, &calib_axis1);
|
|
|
|
|
if (OutputWriteStop()) mode = POSCTL_MODE_OFF;
|
|
|
|
|
else if (OutputWriteValue(1, pid_axis[1].GetMax())) mode = POSCTL_MODE_OFF;
|
|
|
|
|
}
|
|
|
|
|
else if (calib_mode == POSCTL_CALIB_MODE_AXIS2M) {
|
|
|
|
|
calib_axis2_v = fp;
|
|
|
|
|
calib_axis2_v = fp - calib_rot_v;
|
|
|
|
|
calc_vec2anglelen(&calib_axis2_v, &calib_axis2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -896,6 +894,9 @@ void PosCtl::Loop (int posx, int posy) {
|
|
|
|
|
// calibration mode?
|
|
|
|
|
if (mode == POSCTL_MODE_CALIB) {
|
|
|
|
|
switch (calib_mode) {
|
|
|
|
|
case (POSCTL_CALIB_MODE_START):
|
|
|
|
|
CalibModeStart(posx, posy);
|
|
|
|
|
break;
|
|
|
|
|
case (POSCTL_CALIB_MODE_STOP1):
|
|
|
|
|
case (POSCTL_CALIB_MODE_AXIS1START):
|
|
|
|
|
case (POSCTL_CALIB_MODE_AXIS2START):
|
|
|
|
|