Skip to content

Commit 8b5f209

Browse files
committed
Fic issue where a Connect failure in the Focuser device was not reported. Make all Connected methods confirm that the set value is reflected in Get Connected.
1 parent 46bd1b7 commit 8b5f209

13 files changed

Lines changed: 145 additions & 55 deletions

ConformU/Conform/Devices/CameraTester.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -327,20 +327,26 @@ public override bool Connected
327327
{
328328
get
329329
{
330-
if (settings.DisplayMethodCalls)
331-
LogTestAndMessage("ConformanceCheck", "About to get Connected");
330+
LogCallToDriver("ConformanceCheck", "About to get Connected");
332331
return camera.Connected;
333332
}
334333
set
335334
{
336-
if (settings.DisplayMethodCalls)
337-
LogTestAndMessage("ConformanceCheck", "About to set Connected");
335+
LogCallToDriver("ConformanceCheck", "About to set Connected");
338336
SetTest("Connected");
339337
SetAction("Waiting for Connected to become 'true'");
340338
camera.Connected = value;
341339
ResetTestActionStatus();
340+
341+
// Make sure that the value set is reflected in Connected GET
342+
bool connectedState = Connected;
343+
if (connectedState != value)
344+
{
345+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
346+
}
342347
}
343348
}
349+
344350
public override void ReadCanProperties()
345351
{
346352
// ICameraV1 properties

ConformU/Conform/Devices/CoverCalibratorTester.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,13 +173,23 @@ public override bool Connected
173173
{
174174
get
175175
{
176-
LogCallToDriver("Connected", "About to get Connected property");
176+
LogCallToDriver("ConformanceCheck", "About to get Connected");
177177
return coverCalibratorDevice.Connected;
178178
}
179179
set
180180
{
181-
LogCallToDriver("Connected", "About to set Connected property");
181+
LogCallToDriver("ConformanceCheck", "About to set Connected");
182+
SetTest("Connected");
183+
SetAction("Waiting for Connected to become 'true'");
182184
coverCalibratorDevice.Connected = value;
185+
ResetTestActionStatus();
186+
187+
// Make sure that the value set is reflected in Connected GET
188+
bool connectedState = Connected;
189+
if (connectedState != value)
190+
{
191+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
192+
}
183193
}
184194
}
185195

ConformU/Conform/Devices/DomeTester.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,14 +200,23 @@ public override bool Connected
200200
{
201201
get
202202
{
203-
LogCallToDriver("Connected", "About to get Connected property");
203+
LogCallToDriver("ConformanceCheck", "About to get Connected");
204204
return domeDevice.Connected;
205205
}
206206
set
207207
{
208-
LogCallToDriver("Connected", "About to set Connected property");
208+
LogCallToDriver("ConformanceCheck", "About to set Connected");
209+
SetTest("Connected");
210+
SetAction("Waiting for Connected to become 'true'");
209211
domeDevice.Connected = value;
212+
ResetTestActionStatus();
210213

214+
// Make sure that the value set is reflected in Connected GET
215+
bool connectedState = Connected;
216+
if (connectedState != value)
217+
{
218+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
219+
}
211220
}
212221
}
213222
public override void CheckCommonMethods()

ConformU/Conform/Devices/FilerWheelTester.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,23 @@ public override bool Connected
151151
{
152152
get
153153
{
154-
LogCallToDriver("Connected", "About to get Connected property");
154+
LogCallToDriver("ConformanceCheck", "About to get Connected");
155155
return filterWheel.Connected;
156156
}
157157
set
158158
{
159-
LogCallToDriver("Connected", "About to set Connected property");
159+
LogCallToDriver("ConformanceCheck", "About to set Connected");
160+
SetTest("Connected");
161+
SetAction("Waiting for Connected to become 'true'");
160162
filterWheel.Connected = value;
163+
ResetTestActionStatus();
164+
165+
// Make sure that the value set is reflected in Connected GET
166+
bool connectedState = Connected;
167+
if (connectedState != value)
168+
{
169+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
170+
}
161171
}
162172
}
163173
public override void PreRunCheck()

ConformU/Conform/Devices/FocuserTester.cs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -167,21 +167,22 @@ public override bool Connected
167167
{
168168
get
169169
{
170-
LogCallToDriver("Connected", "About to get Connected property");
170+
LogCallToDriver("ConformanceCheck", "About to get Connected");
171171
return focuser.Connected;
172172
}
173173
set
174174
{
175-
try
176-
{
177-
LogDebug("Connected", "Setting connected state to: " + value.ToString());
178-
LogCallToDriver("Connected", "About to set Link property");
179-
focuser.Connected = value;
180-
LogDebug("AccessChecks", "Successfully changed connected state");
181-
}
182-
catch (Exception ex)
175+
LogCallToDriver("ConformanceCheck", "About to set Connected");
176+
SetTest("Connected");
177+
SetAction("Waiting for Connected to become 'true'");
178+
focuser.Connected = value;
179+
ResetTestActionStatus();
180+
181+
// Make sure that the value set is reflected in Connected GET
182+
bool connectedState = Connected;
183+
if (connectedState != value)
183184
{
184-
LogIssue("Connected", "Error changing focuser connected state: " + ex.ToString());
185+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
185186
}
186187
}
187188
}

ConformU/Conform/Devices/ObservingConditionsTester.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,13 +235,23 @@ public override bool Connected
235235
{
236236
get
237237
{
238-
LogCallToDriver("Absolute", "About to get Connected property");
238+
LogCallToDriver("ConformanceCheck", "About to get Connected");
239239
return m_ObservingConditions.Connected;
240240
}
241241
set
242242
{
243-
LogCallToDriver("Absolute", "About to set Connected property");
243+
LogCallToDriver("ConformanceCheck", "About to set Connected");
244+
SetTest("Connected");
245+
SetAction("Waiting for Connected to become 'true'");
244246
m_ObservingConditions.Connected = value;
247+
ResetTestActionStatus();
248+
249+
// Make sure that the value set is reflected in Connected GET
250+
bool connectedState = Connected;
251+
if (connectedState != value)
252+
{
253+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
254+
}
245255
}
246256
}
247257

ConformU/Conform/Devices/RotatorTester.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -178,15 +178,23 @@ public override bool Connected
178178
{
179179
get
180180
{
181-
LogCallToDriver("Connected", "About to get Connected property");
182-
bool ConnectedRet = m_Rotator.Connected;
183-
return ConnectedRet;
181+
LogCallToDriver("ConformanceCheck", "About to get Connected");
182+
return m_Rotator.Connected;
184183
}
185-
186184
set
187185
{
188-
LogCallToDriver("Connected", "About to set Connected property");
186+
LogCallToDriver("ConformanceCheck", "About to set Connected");
187+
SetTest("Connected");
188+
SetAction("Waiting for Connected to become 'true'");
189189
m_Rotator.Connected = value;
190+
ResetTestActionStatus();
191+
192+
// Make sure that the value set is reflected in Connected GET
193+
bool connectedState = Connected;
194+
if (connectedState != value)
195+
{
196+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
197+
}
190198
}
191199
}
192200

ConformU/Conform/Devices/SafetyMonitorTester.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,13 +179,23 @@ public override bool Connected
179179
{
180180
get
181181
{
182-
LogCallToDriver("Connected", "About to get Connected property");
182+
LogCallToDriver("ConformanceCheck", "About to get Connected");
183183
return m_SafetyMonitor.Connected;
184184
}
185185
set
186186
{
187-
LogCallToDriver("Connected", "About to set Connected property");
187+
LogCallToDriver("ConformanceCheck", "About to set Connected");
188+
SetTest("Connected");
189+
SetAction("Waiting for Connected to become 'true'");
188190
m_SafetyMonitor.Connected = value;
191+
ResetTestActionStatus();
192+
193+
// Make sure that the value set is reflected in Connected GET
194+
bool connectedState = Connected;
195+
if (connectedState != value)
196+
{
197+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
198+
}
189199
}
190200
}
191201

ConformU/Conform/Devices/SwitchTester.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,13 +184,23 @@ public override bool Connected
184184
{
185185
get
186186
{
187-
LogCallToDriver("Connected", "About to get Connected property");
187+
LogCallToDriver("ConformanceCheck", "About to get Connected");
188188
return m_Switch.Connected;
189189
}
190190
set
191191
{
192-
LogCallToDriver("Connected", "About to get Connected property");
192+
LogCallToDriver("ConformanceCheck", "About to set Connected");
193+
SetTest("Connected");
194+
SetAction("Waiting for Connected to become 'true'");
193195
m_Switch.Connected = value;
196+
ResetTestActionStatus();
197+
198+
// Make sure that the value set is reflected in Connected GET
199+
bool connectedState = Connected;
200+
if (connectedState != value)
201+
{
202+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
203+
}
194204
}
195205
}
196206

ConformU/Conform/Devices/TelescopeTester.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -443,17 +443,23 @@ public override bool Connected
443443
{
444444
get
445445
{
446-
if (settings.DisplayMethodCalls)
447-
LogTestAndMessage("ConformanceCheck", "About to get Connected property");
448-
bool ConnectedRet = telescopeDevice.Connected;
449-
return ConnectedRet;
446+
LogCallToDriver("ConformanceCheck", "About to get Connected");
447+
return telescopeDevice.Connected;
450448
}
451-
452449
set
453450
{
454-
if (settings.DisplayMethodCalls)
455-
LogTestAndMessage("ConformanceCheck", "About to set Connected property " + value.ToString());
451+
LogCallToDriver("ConformanceCheck", "About to set Connected");
452+
SetTest("Connected");
453+
SetAction("Waiting for Connected to become 'true'");
456454
telescopeDevice.Connected = value;
455+
ResetTestActionStatus();
456+
457+
// Make sure that the value set is reflected in Connected GET
458+
bool connectedState = Connected;
459+
if (connectedState != value)
460+
{
461+
throw new ASCOM.InvalidOperationException($"Connected was set to {value} but Connected Get returned {connectedState}.");
462+
}
457463
}
458464
}
459465

0 commit comments

Comments
 (0)