@@ -62,61 +62,55 @@ func nexstar_command(t *alpaca.Telescope, len int, buf []byte) []byte {
62
62
ra , dec , err := t .GetRaDec ()
63
63
if err != nil {
64
64
log .Errorf ("Unable to get RA/DEC: %s" , err .Error ())
65
- break
66
- }
67
- radec := telescope.Coordinates {
68
- RA : ra ,
69
- Dec : dec ,
70
- }
65
+ } else {
66
+ radec := telescope.Coordinates {
67
+ RA : ra ,
68
+ Dec : dec ,
69
+ }
71
70
72
- high_precision := true
73
- if buf [0 ] == 'E' {
74
- high_precision = false
71
+ high_precision := true
72
+ if buf [0 ] == 'E' {
73
+ high_precision = false
74
+ }
75
+ ret = fmt .Sprintf ("%s#" , radec .Nexstar (high_precision ))
75
76
}
76
- ret = fmt .Sprintf ("%s#" , radec .Nexstar (high_precision ))
77
77
78
78
case 'Z' :
79
79
// Get AZM/ALT. Note that AZM is 0->360, while Alt is -90->90
80
80
azm , alt , err := t .GetAzmAlt ()
81
81
if err != nil {
82
82
log .Errorf ("Unable to get AZM/ALT: %s" , err .Error ())
83
- break
83
+ } else {
84
+ azm_int := uint32 (azm / 360.0 * math .Pow (2 , 16 ))
85
+ alt_int := uint32 (alt / 360.0 * math .Pow (2 , 16 ))
86
+ ret = fmt .Sprintf ("%04X,%04X#" , azm_int , alt_int )
84
87
}
85
88
86
- azm_int := uint32 (azm / 360.0 * math .Pow (2 , 16 ))
87
- alt_int := uint32 (alt / 360.0 * math .Pow (2 , 16 ))
88
- ret = fmt .Sprintf ("%04X,%04X#" , azm_int , alt_int )
89
-
90
89
case 'z' :
91
90
// Get Precise AZM/ALT
92
91
azm , alt , err := t .GetAzmAlt ()
93
92
if err != nil {
94
93
log .Errorf ("Unable to get AZM/ALT: %s" , err .Error ())
95
- break
94
+ } else {
95
+ azm_int := uint32 (azm / 360.0 * 4294967296.0 )
96
+ alt_int := uint32 (alt / 360.0 * 4294967296.0 )
97
+ ret = fmt .Sprintf ("%08X,%08X#" , azm_int , alt_int )
96
98
}
97
99
98
- azm_int := uint32 (azm / 360.0 * 4294967296.0 )
99
- alt_int := uint32 (alt / 360.0 * 4294967296.0 )
100
- ret = fmt .Sprintf ("%08X,%08X#" , azm_int , alt_int )
101
-
102
100
case 't' :
103
101
// get tracking mode
104
102
mode , err := t .GetTracking ()
105
103
if err != nil {
106
104
log .Errorf ("Unable to get tracking mode: %s" , err .Error ())
107
- break
105
+ } else {
106
+ ret = fmt .Sprintf ("%d#" , mode )
108
107
}
109
- ret = fmt .Sprintf ("%d#" , mode )
110
108
111
109
case 'T' :
112
110
// set tracking mode
113
111
var tracking_mode alpaca.TrackingMode
114
112
fmt .Sscanf (string (buf [1 ]), "%d" , & tracking_mode )
115
- err := t .PutTracking (tracking_mode )
116
- if err != nil {
117
- log .Errorf ("Unable to set tracking mode: %s" , err .Error ())
118
- break
119
- }
113
+ err = t .PutTracking (tracking_mode )
120
114
ret = "#"
121
115
122
116
case 'V' :
@@ -126,10 +120,6 @@ func nexstar_command(t *alpaca.Telescope, len int, buf []byte) []byte {
126
120
case 'P' :
127
121
// Slew
128
122
err = executeSlew (t , buf )
129
- if err != nil {
130
- log .Errorf ("Unable to slew: %s" , err .Error ())
131
- break
132
- }
133
123
ret = "#"
134
124
135
125
case 's' :
@@ -158,31 +148,33 @@ func nexstar_command(t *alpaca.Telescope, len int, buf []byte) []byte {
158
148
159
149
case 'w' :
160
150
// get location
151
+ failed := false
161
152
lat , err := t .GetSiteLatitude ()
162
153
if err != nil {
163
- break
154
+ log .Errorf ("Error talking to scope: %s" , err .Error ())
155
+ failed = true
164
156
}
165
157
166
158
long , err := t .GetSiteLatitude ()
167
159
if err != nil {
168
- break
160
+ // logged at the end
161
+ failed = true
162
+ }
163
+
164
+ if ! failed {
165
+ ret_val = LatLongToNexstar (lat , long )
166
+ ret_val = append (ret_val , '#' )
169
167
}
170
- ret_val = LatLongToNexstar (lat , long )
171
- ret_val = append (ret_val , '#' )
172
168
173
169
case 'W' :
174
170
// set location
175
- lat , long := NexstarToLatLong (buf [1 :8 ])
171
+ lat , long := NexstarToLatLong (buf [1 :9 ])
176
172
err = t .PutSiteLatitude (lat )
177
173
if err != nil {
178
- log .Errorf ("Error setting site latitude: %s" , err .Error ())
179
- break
174
+ log .Errorf ("Error talking to scope: %s" , err .Error ())
180
175
}
181
176
err = t .PutSiteLongitude (long )
182
- if err != nil {
183
- log .Errorf ("Error setting site longitude: %s" , err .Error ())
184
- break
185
- }
177
+ // logged at the end
186
178
ret = "#"
187
179
188
180
case 'H' :
0 commit comments