source: trunk/FACT++/scripts/handleDriveArmed.js@ 18370

Last change on this file since 18370 was 18370, checked in by tbretz, 9 years ago
Adapted handling of drive control states.
File size: 1.5 KB
Line 
1'use strict';
2
3// Get Drive control armed
4function handleDriveArmed(wait_state)
5{
6 var state = dim.state("DRIVE_CONTROL");
7 if (state===undefined)
8 return undefined;
9
10 if (wait_state && wait_state.length>0 && state.name!=wait_state)
11 return wait_state;
12
13 //dim.log("DRIVE_CONTROL: "+state.name+"["+state.index+"]");
14
15 switch (state.name)
16 {
17 case "Disconnected":
18 console.out("Drivectrl in 'Disconnected'... sending RECONNECT... waiting for 'Initialized'.");
19 dim.send("DRIVE_CONTROL/RECONNECT");
20 return "Initialized";
21
22 case "Connected":
23 case "Parking":
24 case "Stopping":
25 case "Armed":
26 case "Blocked":
27 v8.sleep(1000);
28 return undefined;
29
30 case "Locked":
31 console.out("WARNING - Drive is LOCKED. Please unlock manually.");
32 // Do NOT unlock the drive here... it is a safety feature which should
33 // never be used in an auotmatic process otherwise it is not realiable!
34 return "";
35
36 case "Moving":
37 case "Tracking":
38 case "OnTrack":
39 console.out("Drive in '"+state.name+"'... sending STOP... waiting for 'Armed'.");
40 dim.send("DRIVE_CONTROL/STOP");
41 return "Armed";
42
43 case "ERROR":
44 console.out("Drive in '"+state.name+"'... sending STOP... waiting for 'Initialized'");
45 dim.send("DRIVE_CONTROL/STOP");
46 return "Initialized"; // Process that again if necessary
47
48 case "Initialized":
49 return "";
50 }
51
52 throw new Error("DRIVE_CONTROL:"+state.name+"["+state.index+"] unknown or not handled.");
53}
Note: See TracBrowser for help on using the repository browser.