|
|
|
@ -219,6 +219,8 @@ void cb_posctl_axis_draw(GtkWidget *area, cairo_t *cr, int w, int h, gpointer da
|
|
|
|
|
void posctl_gui_update() {
|
|
|
|
|
char txt[255];
|
|
|
|
|
|
|
|
|
|
GtkWidget *caliblabel = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_calib_label"));
|
|
|
|
|
|
|
|
|
|
GtkWidget *btnclib = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_calib"));
|
|
|
|
|
GtkWidget *cbenable = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_enablectl"));
|
|
|
|
|
|
|
|
|
@ -239,8 +241,12 @@ void posctl_gui_update() {
|
|
|
|
|
if (m == POSCTL_MODE_OFF) {
|
|
|
|
|
gtk_widget_set_sensitive(btnclib, true);
|
|
|
|
|
gtk_widget_set_sensitive(cbenable, true);
|
|
|
|
|
gtk_label_set_label(GTK_LABEL(caliblabel), (char *) "");
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (m == POSCTL_MODE_CALIB) {
|
|
|
|
|
gtk_label_set_label(GTK_LABEL(caliblabel), (char *) "running");
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_set_sensitive(btnclib, false);
|
|
|
|
|
gtk_widget_set_sensitive(cbenable, false);
|
|
|
|
|
}
|
|
|
|
@ -374,10 +380,8 @@ void PosCtl::CalibModeDelta(int x, int y) {
|
|
|
|
|
|
|
|
|
|
printf ("%s:%d %s\n", __FILE__, __LINE__, __FUNCTION__);
|
|
|
|
|
|
|
|
|
|
fp.x = x - calib_pos.x;
|
|
|
|
|
fp.x /= (float)timediff;
|
|
|
|
|
fp.y = y - calib_pos.y;
|
|
|
|
|
fp.y /= (float)timediff;
|
|
|
|
|
fp.x = (x - calib_pos.x) / (float)timediff;
|
|
|
|
|
fp.y = (y - calib_pos.y) / (float)timediff;
|
|
|
|
|
|
|
|
|
|
LockMutex();
|
|
|
|
|
calib_rot_angle = atan2(fp.x, fp.y) * 180.0 / M_PI;
|
|
|
|
@ -387,7 +391,6 @@ void PosCtl::CalibModeDelta(int x, int y) {
|
|
|
|
|
calib_mode = POSCTL_CALIB_MODE_AXIS1_MA;
|
|
|
|
|
gettimeofday (&calib_timestamp, NULL);
|
|
|
|
|
gdk_threads_add_idle(cb_thread_posctl, NULL);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -399,7 +402,7 @@ void PosCtl::CalibModeAxis(int x, int y) {
|
|
|
|
|
gettimeofday (&tv, NULL);
|
|
|
|
|
timediff = (float)(tv.tv_sec - calib_timestamp.tv_sec) + ((tv.tv_usec - calib_timestamp.tv_usec) / 1000000.0);
|
|
|
|
|
|
|
|
|
|
if (timediff > 10.0) {
|
|
|
|
|
if (timediff > 5.0) {
|
|
|
|
|
printf ("%s:%d %s calib_mode: %d\n", __FILE__, __LINE__, __FUNCTION__, calib_mode);
|
|
|
|
|
|
|
|
|
|
calib_mode++;
|
|
|
|
|