diff --git a/posctl.cc b/posctl.cc index 5e7e3e1..9c862ac 100644 --- a/posctl.cc +++ b/posctl.cc @@ -65,6 +65,10 @@ void axis_history_add(int axis, double diff, double out) { #define CALIB_DURATION_DIST 20.0 // max distance to detect movement #define CALIB_STARTSTOP_DELAY 2.5 // time to wait for start and stop +// axis definitions +#define AXIS_RA 1 +#define AXIS_DEC 0 + void posctl_gui_update(); void cb_posctl_show_window (GtkWidget *widget, gpointer data) { @@ -116,51 +120,51 @@ void cb_posctl_show (GtkWidget *widget, gpointer data) { void cb_posctl_btn_axismove (GtkWidget *widget, gpointer data) { - GtkWidget *btn_a1min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a1_min")); - GtkWidget *btn_a1center = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a1_center")); - GtkWidget *btn_a1max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a1_max")); - GtkWidget *btn_a2min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a2_min")); - GtkWidget *btn_a2center = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a2_center")); - GtkWidget *btn_a2max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a2_max")); - double a1min, a2min, a1max, a2max; + GtkWidget *btn_ramin = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_ra_min")); + GtkWidget *btn_racenter = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_ra_center")); + GtkWidget *btn_ramax = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_ra_max")); + GtkWidget *btn_decmin = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_dec_min")); + GtkWidget *btn_deccenter = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_dec_center")); + GtkWidget *btn_decmax = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_dec_max")); + double ramin, decmin, ramax, decmax; printf ("%s:%d %s\n", __FILE__, __LINE__, __FUNCTION__); - posctl.GetAxisParam(0, &a1min, &a1max, NULL, NULL, NULL); - posctl.GetAxisParam(1, &a2min, &a2max, NULL, NULL, NULL); + posctl.GetAxisParam(0, &ramin, &ramax, NULL, NULL, NULL); + posctl.GetAxisParam(1, &decmin, &decmax, NULL, NULL, NULL); - if (widget == btn_a1min) posctl.OutputWriteValue(0, a1min); - else if (widget == btn_a1center) posctl.OutputWriteValue(0, (a1max-a1min)/2.0+a1min); - else if (widget == btn_a1max) posctl.OutputWriteValue(0, a1max); - else if (widget == btn_a2min) posctl.OutputWriteValue(1, a1min); - else if (widget == btn_a2center) posctl.OutputWriteValue(1, (a1max-a1min)/2.0+a1min); - else if (widget == btn_a2max) posctl.OutputWriteValue(1, a1max); + if (widget == btn_ramin) posctl.OutputWriteValue(AXIS_DEC, ramin); + else if (widget == btn_racenter) posctl.OutputWriteValue(AXIS_DEC, (ramax-ramin)/2.0+ramin); + else if (widget == btn_ramax) posctl.OutputWriteValue(AXIS_DEC, ramax); + else if (widget == btn_decmin) posctl.OutputWriteValue(AXIS_RA, decmin); + else if (widget == btn_deccenter) posctl.OutputWriteValue(AXIS_RA, (decmax-decmin)/2.0+decmin); + else if (widget == btn_decmax) posctl.OutputWriteValue(AXIS_RA, decmax); posctl_gui_update(); } void cb_posctl_change_entry (GtkWidget *widget, gpointer data) { - double a1min, a1max, a1p, a1i, a1d; - double a2min, a2max, a2p, a2i, a2d; + double ramin, ramax, rap, rai, rad; + double decmin, decmax, decp, deci, decd; GtkWidget *e_posdevice = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_device")); - GtkWidget *a1_min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_min")); - GtkWidget *a1_max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_max")); - GtkWidget *a1_kp = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_kp")); - GtkWidget *a1_ki = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_ki")); - GtkWidget *a1_kd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_kd")); - GtkWidget *a2_min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_min")); - GtkWidget *a2_max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_max")); - GtkWidget *a2_kp = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_kp")); - GtkWidget *a2_ki = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_ki")); - GtkWidget *a2_kd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_kd")); + GtkWidget *ra_min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_min")); + GtkWidget *ra_max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_max")); + GtkWidget *ra_kp = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_kp")); + GtkWidget *ra_ki = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_ki")); + GtkWidget *ra_kd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_kd")); + GtkWidget *dec_min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_min")); + GtkWidget *dec_max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_max")); + GtkWidget *dec_kp = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_kp")); + GtkWidget *dec_ki = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_ki")); + GtkWidget *dec_kd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_kd")); GtkWidget *resetsim = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_resetsim")); const char *s; - posctl.GetAxisParam(0, &a1min, &a1max, &a1p, &a1i, &a1d); - posctl.GetAxisParam(1, &a2min, &a2max, &a2p, &a2i, &a2d); + posctl.GetAxisParam(0, &ramin, &ramax, &rap, &rai, &rad); + posctl.GetAxisParam(1, &decmin, &decmax, &decp, &deci, &decd); printf ("%s:%d %s\n", __FILE__, __LINE__, __FUNCTION__); s = gtk_entry_get_text(GTK_ENTRY(widget)); @@ -169,19 +173,19 @@ void cb_posctl_change_entry (GtkWidget *widget, gpointer data) { posctl.LockMutex(); if (e_posdevice == widget) posctl.SetDevice(s); - else if (a1_min == widget) a1min = atof(s); - else if (a1_max == widget) a1max = atof(s); - else if (a1_kp == widget) a1p = atof(s); - else if (a1_ki == widget) a1i = atof(s); - else if (a1_kd == widget) a1d = atof(s); - else if (a2_min == widget) a2min = atof(s); - else if (a2_max == widget) a2max = atof(s); - else if (a2_kp == widget) a2p = atof(s); - else if (a2_ki == widget) a2i = atof(s); - else if (a2_kd == widget) a2d = atof(s); - - posctl.SetAxisParam(0, a1min, a1max, a1p, a1i, a1d); - posctl.SetAxisParam(1, a2min, a2max, a2p, a2i, a2d); + else if (ra_min == widget) ramin = atof(s); + else if (ra_max == widget) ramax = atof(s); + else if (ra_kp == widget) rap = atof(s); + else if (ra_ki == widget) rai = atof(s); + else if (ra_kd == widget) rad = atof(s); + else if (dec_min == widget) decmin = atof(s); + else if (dec_max == widget) decmax = atof(s); + else if (dec_kp == widget) decp = atof(s); + else if (dec_ki == widget) deci = atof(s); + else if (dec_kd == widget) decd = atof(s); + + posctl.SetAxisParam(0, ramin, ramax, rap, rai, rad); + posctl.SetAxisParam(1, decmin, decmax, decp, deci, decd); posctl.UnLockMutex(); } @@ -202,17 +206,17 @@ void cb_posctl_angles_draw(GtkWidget *area, cairo_t *cr, int w, int h, gpointer // rotation da GtkWidget *entry_rot_angle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_rotangle")); GtkWidget *entry_rot_len = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_rotlen")); - GtkWidget *entry_axis1_angle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1angle")); - GtkWidget *entry_axis1_len = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1len")); - GtkWidget *entry_axis2_angle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2angle")); - GtkWidget *entry_axis2_len = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2len")); + GtkWidget *entry_axis1_angle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_angle")); + GtkWidget *entry_axis1_len = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_len")); + GtkWidget *entry_axis2_angle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_angle")); + GtkWidget *entry_axis2_len = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_len")); float rotangle = atof(gtk_entry_get_text(GTK_ENTRY(entry_rot_angle))) * (M_PI / 180); float rotlen = atof(gtk_entry_get_text(GTK_ENTRY(entry_rot_len))); - float a1_angle = atof(gtk_entry_get_text(GTK_ENTRY(entry_axis1_angle))) * (M_PI / 180); - float a1_len = atof(gtk_entry_get_text(GTK_ENTRY(entry_axis1_len))); - float a2_angle = atof(gtk_entry_get_text(GTK_ENTRY(entry_axis2_angle))) * (M_PI / 180); - float a2_len = atof(gtk_entry_get_text(GTK_ENTRY(entry_axis2_len))); + float ra_angle = atof(gtk_entry_get_text(GTK_ENTRY(entry_axis1_angle))) * (M_PI / 180); + float ra_len = atof(gtk_entry_get_text(GTK_ENTRY(entry_axis1_len))); + float dec_angle = atof(gtk_entry_get_text(GTK_ENTRY(entry_axis2_angle))) * (M_PI / 180); + float dec_len = atof(gtk_entry_get_text(GTK_ENTRY(entry_axis2_len))); if (posctl_rot_da == NULL) // should only be called once posctl_rot_da = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_da_rotation")); @@ -260,8 +264,8 @@ void cb_posctl_angles_draw(GtkWidget *area, cairo_t *cr, int w, int h, gpointer cairo_stroke(cr); // axis1 - lpos.x = sin(a1_angle) * a1_len * 4.0; - lpos.y = cos(a1_angle) * a1_len * 4.0; + lpos.x = sin(ra_angle) * ra_len * 4.0; + lpos.y = cos(ra_angle) * ra_len * 4.0; cairo_set_source_rgb(cr, 0.0, 0.75, 0.3); cairo_set_line_width(cr, 4.0); cairo_move_to(cr, center.x, center.y); @@ -273,8 +277,8 @@ void cb_posctl_angles_draw(GtkWidget *area, cairo_t *cr, int w, int h, gpointer cairo_stroke(cr); // axis2 - lpos.x = sin(a2_angle) * a2_len * 4.0; - lpos.y = cos(a2_angle) * a2_len * 4.0; + lpos.x = sin(dec_angle) * dec_len * 4.0; + lpos.y = cos(dec_angle) * dec_len * 4.0; cairo_set_source_rgb(cr, 0.0, 0.3, 0.75); cairo_set_line_width(cr, 4.0); cairo_move_to(cr, center.x, center.y); @@ -445,37 +449,37 @@ void posctl_gui_update() { GtkWidget *e_cal_rotangle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_rotangle")); GtkWidget *e_cal_rotlen = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_rotlen")); - GtkWidget *e_cal_a1angle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1angle")); - GtkWidget *e_cal_a1len = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1len")); + GtkWidget *e_cal_raangle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_angle")); + GtkWidget *e_cal_ralen = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_len")); - GtkWidget *e_cal_a2angle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2angle")); - GtkWidget *e_cal_a2len = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2len")); + GtkWidget *e_cal_decangle = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_angle")); + GtkWidget *e_cal_declen = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_len")); GtkWidget *lb_earthaxis = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_earthaxis")); GtkWidget *lb_axisaxis = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_axisaxis")); GtkWidget *e_posdevice = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_device")); - GtkWidget *btn_a1min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a1_min")); - GtkWidget *btn_a1center = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a1_center")); - GtkWidget *btn_a1max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a1_max")); - GtkWidget *btn_a2min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a2_min")); - GtkWidget *btn_a2center = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a2_center")); - GtkWidget *btn_a2max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_a2_max")); - - - GtkWidget *a1_min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_min")); - GtkWidget *a1_max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_max")); - GtkWidget *a1_kp = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_kp")); - GtkWidget *a1_ki = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_ki")); - GtkWidget *a1_kd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a1_kd")); - GtkWidget *a1_out = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_outx")); - GtkWidget *a1_pv = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_dx")); - GtkWidget *a2_min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_min")); - GtkWidget *a2_max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_max")); - GtkWidget *a2_kp = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_kp")); - GtkWidget *a2_ki = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_ki")); - GtkWidget *a2_kd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_a2_kd")); - GtkWidget *a2_out = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_outy")); - GtkWidget *a2_pv = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_dy")); + GtkWidget *btn_ramin = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_ra_min")); + GtkWidget *btn_racenter = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_ra_center")); + GtkWidget *btn_ramax = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_ra_max")); + GtkWidget *btn_decmin = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_dec_min")); + GtkWidget *btn_deccenter = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_dec_center")); + GtkWidget *btn_decmax = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_btn_dec_max")); + + + GtkWidget *ra_min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_min")); + GtkWidget *ra_max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_max")); + GtkWidget *ra_kp = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_kp")); + GtkWidget *ra_ki = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_ki")); + GtkWidget *ra_kd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_ra_kd")); + GtkWidget *ra_out = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_outx")); + GtkWidget *ra_pv = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_dx")); + GtkWidget *dec_min = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_min")); + GtkWidget *dec_max = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_max")); + GtkWidget *dec_kp = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_kp")); + GtkWidget *dec_ki = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_ki")); + GtkWidget *dec_kd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_entry_dec_kd")); + GtkWidget *dec_out = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_outy")); + GtkWidget *dec_pv = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "posctl_lb_dy")); posctl.LockMutex(); int m = posctl.GetMode(); @@ -484,12 +488,12 @@ void posctl_gui_update() { gtk_widget_set_sensitive(btnclib, true); gtk_widget_set_sensitive(btncontrol, true); gtk_widget_set_sensitive(btnstop, false); - gtk_widget_set_sensitive(btn_a1min, true); - gtk_widget_set_sensitive(btn_a1center, true); - gtk_widget_set_sensitive(btn_a1max, true); - gtk_widget_set_sensitive(btn_a2min, true); - gtk_widget_set_sensitive(btn_a2center, true); - gtk_widget_set_sensitive(btn_a2max, true); + gtk_widget_set_sensitive(btn_ramin, true); + gtk_widget_set_sensitive(btn_racenter, true); + gtk_widget_set_sensitive(btn_ramax, true); + gtk_widget_set_sensitive(btn_decmin, true); + gtk_widget_set_sensitive(btn_deccenter, true); + gtk_widget_set_sensitive(btn_decmax, true); gtk_widget_set_sensitive(e_posdevice, true); gtk_label_set_label(GTK_LABEL(caliblabel), (char *) ""); } @@ -500,12 +504,12 @@ void posctl_gui_update() { gtk_widget_set_sensitive(btnclib, false); gtk_widget_set_sensitive(btncontrol, false); gtk_widget_set_sensitive(btnstop, true); - gtk_widget_set_sensitive(btn_a1min, false); - gtk_widget_set_sensitive(btn_a1center, false); - gtk_widget_set_sensitive(btn_a1max, false); - gtk_widget_set_sensitive(btn_a2min, false); - gtk_widget_set_sensitive(btn_a2center, false); - gtk_widget_set_sensitive(btn_a2max, false); + gtk_widget_set_sensitive(btn_ramin, false); + gtk_widget_set_sensitive(btn_racenter, false); + gtk_widget_set_sensitive(btn_ramax, false); + gtk_widget_set_sensitive(btn_decmin, false); + gtk_widget_set_sensitive(btn_deccenter, false); + gtk_widget_set_sensitive(btn_decmax, false); gtk_widget_set_sensitive(e_posdevice, false); } @@ -515,14 +519,14 @@ void posctl_gui_update() { gtk_entry_set_text (GTK_ENTRY(e_cal_rotlen), txt); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.calib_axis1.a); - gtk_entry_set_text (GTK_ENTRY(e_cal_a1angle), txt); + gtk_entry_set_text (GTK_ENTRY(e_cal_raangle), txt); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.calib_axis1.l); - gtk_entry_set_text (GTK_ENTRY(e_cal_a1len), txt); + gtk_entry_set_text (GTK_ENTRY(e_cal_ralen), txt); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.calib_axis2.a); - gtk_entry_set_text (GTK_ENTRY(e_cal_a2angle), txt); + gtk_entry_set_text (GTK_ENTRY(e_cal_decangle), txt); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.calib_axis2.l); - gtk_entry_set_text (GTK_ENTRY(e_cal_a2len), txt); + gtk_entry_set_text (GTK_ENTRY(e_cal_declen), txt); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.calib_rot.a - posctl.calib_axis1.a); gtk_label_set_text (GTK_LABEL(lb_earthaxis), txt); @@ -531,38 +535,38 @@ void posctl_gui_update() { gtk_entry_set_text (GTK_ENTRY(e_posdevice), posctl.GetDevice().c_str()); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.axis_op[0]); - gtk_label_set_text(GTK_LABEL(a1_out), txt); + gtk_label_set_text(GTK_LABEL(ra_out), txt); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.axis_op[1]); - gtk_label_set_text(GTK_LABEL(a2_out), txt); + gtk_label_set_text(GTK_LABEL(dec_out), txt); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.axis_pv[0]); - gtk_label_set_text(GTK_LABEL(a1_pv), txt); + gtk_label_set_text(GTK_LABEL(ra_pv), txt); strfromd (txt, sizeof(txt-1), (char *)"%f", posctl.axis_pv[1]); - gtk_label_set_text(GTK_LABEL(a2_pv), txt); + gtk_label_set_text(GTK_LABEL(dec_pv), txt); posctl.GetAxisParam(0, &mi, &ma, &kp, &ki, &kd); strfromd (txt, sizeof(txt-1), (char *)"%f", mi); - gtk_entry_set_text_nofocus (a1_min, txt); + gtk_entry_set_text_nofocus (ra_min, txt); strfromd (txt, sizeof(txt-1), (char *)"%f", ma); - gtk_entry_set_text_nofocus (a1_max, txt); + gtk_entry_set_text_nofocus (ra_max, txt); strfromd (txt, sizeof(txt-1), (char *)"%f", kp); - gtk_entry_set_text_nofocus (a1_kp, txt); + gtk_entry_set_text_nofocus (ra_kp, txt); strfromd (txt, sizeof(txt-1), (char *)"%f", ki); - gtk_entry_set_text_nofocus (a1_ki, txt); + gtk_entry_set_text_nofocus (ra_ki, txt); strfromd (txt, sizeof(txt-1), (char *)"%f", kd); - gtk_entry_set_text_nofocus (a1_kd, txt); + gtk_entry_set_text_nofocus (ra_kd, txt); posctl.GetAxisParam(1, &mi, &ma, &kp, &ki, &kd); strfromd (txt, sizeof(txt-1), (char *)"%f", mi); - gtk_entry_set_text_nofocus (a2_min, txt); + gtk_entry_set_text_nofocus (dec_min, txt); strfromd (txt, sizeof(txt-1), (char *)"%f", ma); - gtk_entry_set_text_nofocus (a2_max, txt); + gtk_entry_set_text_nofocus (dec_max, txt); strfromd (txt, sizeof(txt-1), (char *)"%f", kp); - gtk_entry_set_text_nofocus (a2_kp, txt); + gtk_entry_set_text_nofocus (dec_kp, txt); strfromd (txt, sizeof(txt-1), (char *)"%f", ki); - gtk_entry_set_text_nofocus (a2_ki, txt); + gtk_entry_set_text_nofocus (dec_ki, txt); strfromd (txt, sizeof(txt-1), (char *)"%f", kd); - gtk_entry_set_text_nofocus (a2_kd, txt); + gtk_entry_set_text_nofocus (dec_kd, txt); const gchar *txtptr = gtk_entry_get_text(GTK_ENTRY(e_posdevice)); if (strncmp(txtptr, "SIMULATION", 11) == 0) gtk_widget_show (btnsimreset); @@ -608,7 +612,7 @@ gboolean cb_thread_posctl (gpointer data) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tg), true); break; case (POSCTL_CALIB_MODE_AXIS1M): - tg = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "cal_mode_a1")); + tg = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "cal_mode_ra")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tg), true); break; case (POSCTL_CALIB_MODE_AXIS2START): @@ -794,7 +798,7 @@ void PosCtl::CalibModeWait(int x, int y) { void PosCtl::CalibModeDelta(int x, int y) { struct timeval tv; float timediff; - double a1min, a1max; + double ramin, ramax; float dist = hypot ((float)(x - calib_pos.x), (float)(y - calib_pos.y)); gettimeofday (&tv, NULL); @@ -804,7 +808,7 @@ void PosCtl::CalibModeDelta(int x, int y) { position_f_2d fp; printf ("%s:%d %s\n", __FILE__, __LINE__, __FUNCTION__); - pid_axis[0].GetParam(&a1min, &a1max, NULL, NULL, NULL); + pid_axis[0].GetParam(&ramin, &ramax, NULL, NULL, NULL); fp.x = (x - calib_pos.x) / (float)timediff; fp.y = (y - calib_pos.y) / (float)timediff; @@ -1139,7 +1143,7 @@ int PosCtl::OutputWriteValue (int axis, double value) { std::string s = setlocale(LC_ALL, NULL); setlocale (LC_ALL, "C"); - snprintf(outbuf, 254, ":R%c%+09.4f#", (axis == 0 ? 'D' : 'R'), value); + snprintf(outbuf, 254, ":R%c%+09.4f#", (axis == AXIS_DEC ? 'D' : 'R'), value); outbuf[254] = 0; // reset language setting to default @@ -1175,11 +1179,8 @@ int PosCtl::OutputWriteStop () { int PosCtl::OutputWriteStart () { printf ("%s:%d %s\n", __FILE__, __LINE__, __FUNCTION__); - OutputWriteValue(0, 0.0); - OutputWriteValue(1, 0.0); + OutputWriteValue(AXIS_DEC, 0.0); + OutputWriteValue(AXIS_RA, 0.0); return 0; } - - -