Skip to content
Snippets Groups Projects
Commit 61ec6e22 authored by Lorenzo Pivetta's avatar Lorenzo Pivetta
Browse files

First import

parent 654daaea
No related branches found
No related tags found
No related merge requests found
#
# Description: Enable/disable automatically $devfb$ sensors and actuators according to ccd states
# Author: Giulio Gaio
# Date: 2019/11/25
#
# Stop all the fb weight sequencers
#
step1;(write(this/CCD2StateOld) = ON) && (write(this/CCD3StateOld) = ON) && (write(this/CCD4StateOld) = ON) && goto(2);Init variables;Error init variables;-1
#
step2;read($devfb1$/State) == ON ? command($devfb1$/Off) && goto(3) : goto(3);Stopping $devfb1$;Error stopping $devfb1$;-1;tangoerror=goto(3)
step3;read($devfb2$/State) == ON ? command($devfb2$/Off) && goto(4) : goto(4);Stopping $devfb2$;Error stopping $devfb2$;-1;tangoerror=goto(4)
step4;read($devfb3$/State) == ON ? command($devfb3$/Off) && goto(5) : goto(5);Stopping $devfb3$;Error stopping $devfb3$;-1;tangoerror=goto(5)
step5;read($devfb4$/State) == ON ? command($devfb4$/Off) && goto(6) : goto(6);Stopping $devfb4$;Error stopping $devfb4$;-1;tangoerror=goto(6)
#
# Getting CCD states
#
step6;(write(this/CCD2State) = read($devccd2/State)) && goto(8);Reading $devccd2 State;Error reading $devccd2 State;-1;tangoerror=goto(7)
step7;(write(this/CCD2State) = FAULT) && goto(8);Setting $devccd2 in FAULT state;Error setting $devccd2 in FAULT state;-1
step8;(write(this/CCD3State) = read($devccd3/State)) && goto(10);Reading $devccd3 State;Error reading $devccd3 State;-1;tangoerror=goto(9)
step9;(write(this/CCD3State) = FAULT) && goto(10);Setting $devccd3 in FAULT state;Error setting $devccd3 in FAULT state;-1
step10;(write(this/CCD4State) = read($devccd4/State)) && goto(12);Reading $devccd4 State;Error reading $devccd4 State;-1;tangoerror=goto(11)
step11;(write(this/CCD4State) = FAULT) && goto(12);Setting $devccd4 in FAULT state;Error setting $devccd4 in FAULT state;-1
#
# Disabling sensors and actuators
#
step12;((read(this/CCD4State) != ON) && (read(this/CCD4StateOld) == ON)) ? (write($devfb$/SensorWeights[6]) = 0) && (write($devfb$/SensorWeights[7]) = 0) && (write($devfb$/ActuatorWeights[6]) = 0) && (write($devfb$/ActuatorWeights[7]) = 0) && goto(13) : goto(13);Checking $devccd4 changing state;Error checking $devccd4 changing state;-1;tangoerror=goto(13)
step13;((read(this/CCD3State) != ON) && (read(this/CCD3StateOld) == ON)) ? (write($devfb$/SensorWeights[4]) = 0) && (write($devfb$/SensorWeights[5]) = 0) && (write($devfb$/ActuatorWeights[4]) = 0) && (write($devfb$/ActuatorWeights[5]) = 0) && goto(14) : goto(14);Checking $devccd3 changing state;Error checking $devccd3 changing state;-1;tangoerror=goto(14)
step14;((read(this/CCD2State) != ON) && (read(this/CCD2StateOld) == ON)) ? (write($devfb$/SensorWeights[2]) = 0) && (write($devfb$/SensorWeights[3]) = 0) && (write($devfb$/ActuatorWeights[2]) = 0) && (write($devfb$/ActuatorWeights[3]) = 0) && goto(15) : goto(15);Checking $devccd2 changing state;Error checking $devccd2 changing state;-1;tangoerror=goto(15)
#
# Enabling sensors and actuators
#
step15;((read(this/CCD2State) == ON) && (read(this/CCD2StateOld) != ON)) ? (write($devfb$/SensorWeights[2]) = 1) && (write($devfb$/SensorWeights[3]) = 1) && (write($devfb$/ActuatorWeights[2]) = 1) && (write($devfb$/ActuatorWeights[3]) = 1) && goto(16) : goto(16);Checking $devccd2 changing state;Error checking $devccd2 changing state;-1;tangoerror=goto(16)
step16;((read(this/CCD3State) == ON) && (read(this/CCD3StateOld) != ON)) ? (write($devfb$/SensorWeights[4]) = 1) && (write($devfb$/SensorWeights[5]) = 1) && (write($devfb$/ActuatorWeights[4]) = 1) && (write($devfb$/ActuatorWeights[5]) = 1) && goto(17) : goto(17);Checking $devccd3 changing state;Error checking $devccd3 changing state;-1;tangoerror=goto(17)
step17;((read(this/CCD4State) == ON) && (read(this/CCD4StateOld) != ON)) ? (write($devfb$/SensorWeights[6]) = 1) && (write($devfb$/SensorWeights[7]) = 1) && (write($devfb$/ActuatorWeights[6]) = 1) && (write($devfb$/ActuatorWeights[7]) = 1) && goto(18) : goto(18);Checking $devccd4 changing state;Error checking $devccd4 changing state;-1;tangoerror=goto(18)
#
# Storing old states
#
step18;(write(this/CCD2StateOld) = read(this/CCD2State)) && (write(this/CCD3StateOld) = read(this/CCD3State)) && (write(this/CCD4StateOld) = read(this/CCD4State)) && goto(19);Updating states;Error updating states;-1
#
# Stopping unuseful cameras to avoid crashes
#
step19;((read($devccdstop1/State) == ON) || (read($devccdstop1/State) == ALARM)) ? command($devccdstop1/Stop) && goto(20) : goto(20);Stopping $devccdstop1;Error stopping $devccdstop1;-1;tangoerror=goto(20)
step20;((read($devccdstop2/State) == ON) || (read($devccdstop2/State) == ALARM)) ? command($devccdstop2/Stop) && goto(21) : goto(21);Stopping $devccdstop2;Error stopping $devccdstop2;-1;tangoerror=goto(21)
step21;((read($devccdstop3/State) == ON) || (read($devccdstop3/State) == ALARM)) ? command($devccdstop3/Stop) && goto(22) : goto(22);Stopping $devccdstop3;Error stopping $devccdstop3;-1;tangoerror=goto(22)
step22;((read($devccdstop4/State) == ON) || (read($devccdstop4/State) == ALARM)) ? command($devccdstop4/Stop) && goto(23) : goto(23);Stopping $devccdstop4;Error stopping $devccdstop4;-1;tangoerror=goto(23)
#
# Start mandatory ccds
#
step23;read(this/CCD2State) == OFF ? (command($devccd2/Start) = 0) && goto(24) : goto(24);Checking $devccd2 OFF state;Error checking $devccd2 OFF state;-1;tangoerror=goto(24)
step24;read(this/CCD3State) == OFF ? (command($devccd3/Start) = 0) && goto(25) : goto(25);Checking $devccd3 OFF state;Error checking $devccd3 OFF state;-1;tangoerror=goto(25)
step25;read(this/CCD4State) == OFF ? (command($devccd4/Start) = 0) && goto(26) : goto(26);Checking $devccd4 OFF state;Error checking $devccd4 OFF state;-1;tangoerror=goto(26)
#
step26;sleep($sleep_time) && goto(2);Sleeping;Error sleeping;-1
step27;goto(28);Exit;Exit;-1;exit
#
# Dynamic w/r attributes
#
attr;CCD2State;long;0
attr;CCD3State;long;0
attr;CCD4State;long;0
attr;CCD2StateOld;long;0
attr;CCD3StateOld;long;0
attr;CCD4StateOld;long;0
#
# Description: Enable/disable automatically $devfb$ sensors and actuators according to ccd states
# Author: Giulio Gaio
# Date: 2019/11/25
#
# Stop all the fb weight sequencers
#
step1;(write(this/CCD2StateOld) = ON) && (write(this/CCD3StateOld) = ON) && (write(this/CCD4StateOld) = ON) && (write(this/CCD5StateOld) = ON) && goto(2);Init variables;Error init variables;-1
#
step2;read($devfb1$/State) == ON ? command($devfb1$/Off) && goto(3) : goto(3);Stopping $devfb1$;Error stopping $devfb1$;-1;tangoerror=goto(3)
step3;read($devfb2$/State) == ON ? command($devfb2$/Off) && goto(4) : goto(4);Stopping $devfb2$;Error stopping $devfb2$;-1;tangoerror=goto(4)
step4;read($devfb3$/State) == ON ? command($devfb3$/Off) && goto(5) : goto(5);Stopping $devfb3$;Error stopping $devfb3$;-1;tangoerror=goto(5)
step5;read($devfb4$/State) == ON ? command($devfb4$/Off) && goto(6) : goto(6);Stopping $devfb4$;Error stopping $devfb4$;-1;tangoerror=goto(6)
#
# Getting CCD states
#
step6;(write(this/CCD2State) = read($devccd2/State)) && goto(8);Reading $devccd2 State;Error reading $devccd2 State;-1;tangoerror=goto(7)
step7;(write(this/CCD2State) = FAULT) && goto(8);Setting $devccd2 in FAULT state;Error setting $devccd2 in FAULT state;-1
step8;(write(this/CCD3State) = read($devccd3/State)) && goto(10);Reading $devccd3 State;Error reading $devccd3 State;-1;tangoerror=goto(9)
step9;(write(this/CCD3State) = FAULT) && goto(10);Setting $devccd3 in FAULT state;Error setting $devccd3 in FAULT state;-1
step10;(write(this/CCD4State) = read($devccd4/State)) && goto(12);Reading $devccd4 State;Error reading $devccd4 State;-1;tangoerror=goto(11)
step11;(write(this/CCD4State) = FAULT) && goto(12);Setting $devccd4 in FAULT state;Error setting $devccd4 in FAULT state;-1
step12;(write(this/CCD5State) = read($devccd5/State)) && goto(14);Reading $devccd5 State;Error reading $devccd5 State;-1;tangoerror=goto(13)
step13;(write(this/CCD5State) = FAULT) && goto(14);Setting $devccd5 in FAULT state;Error setting $devccd5 in FAULT state;-1
#
# Disabling sensors and actuators
#
step14;((read(this/CCD5State) != ON) && (read(this/CCD5StateOld) == ON)) ? (write($devfb$/SensorWeights[8]) = 0) && (write($devfb$/SensorWeights[9]) = 0) && (write($devfb$/ActuatorWeights[8]) = 0) && (write($devfb$/ActuatorWeights[9]) = 0) && goto(15) : goto(15);Checking $devccd5 changing state;Error checking $devccd5 changing state;-1;tangoerror=goto(15)
step15;((read(this/CCD4State) != ON) && (read(this/CCD4StateOld) == ON)) ? (write($devfb$/SensorWeights[6]) = 0) && (write($devfb$/SensorWeights[7]) = 0) && (write($devfb$/ActuatorWeights[6]) = 0) && (write($devfb$/ActuatorWeights[7]) = 0) && goto(16) : goto(16);Checking $devccd4 changing state;Error checking $devccd4 changing state;-1;tangoerror=goto(16)
step16;((read(this/CCD3State) != ON) && (read(this/CCD3StateOld) == ON)) ? (write($devfb$/SensorWeights[4]) = 0) && (write($devfb$/SensorWeights[5]) = 0) && (write($devfb$/ActuatorWeights[4]) = 0) && (write($devfb$/ActuatorWeights[5]) = 0) && goto(17) : goto(17);Checking $devccd3 changing state;Error checking $devccd3 changing state;-1;tangoerror=goto(17)
step17;((read(this/CCD2State) != ON) && (read(this/CCD2StateOld) == ON)) ? (write($devfb$/SensorWeights[2]) = 0) && (write($devfb$/SensorWeights[3]) = 0) && (write($devfb$/ActuatorWeights[2]) = 0) && (write($devfb$/ActuatorWeights[3]) = 0) && goto(18) : goto(18);Checking $devccd2 changing state;Error checking $devccd2 changing state;-1;tangoerror=goto(18)
#
# Enabling sensors and actuators
#
step18;((read(this/CCD2State) == ON) && (read(this/CCD2StateOld) != ON)) ? (write($devfb$/SensorWeights[2]) = 1) && (write($devfb$/SensorWeights[3]) = 1) && (write($devfb$/ActuatorWeights[2]) = 1) && (write($devfb$/ActuatorWeights[3]) = 1) && goto(19) : goto(19);Checking $devccd2 changing state;Error checking $devccd2 changing state;-1;tangoerror=goto(19)
step19;((read(this/CCD3State) == ON) && (read(this/CCD3StateOld) != ON)) ? (write($devfb$/SensorWeights[4]) = 1) && (write($devfb$/SensorWeights[5]) = 1) && (write($devfb$/ActuatorWeights[4]) = 1) && (write($devfb$/ActuatorWeights[5]) = 1) && goto(20) : goto(20);Checking $devccd3 changing state;Error checking $devccd3 changing state;-1;tangoerror=goto(20)
step20;((read(this/CCD4State) == ON) && (read(this/CCD4StateOld) != ON)) ? (write($devfb$/SensorWeights[6]) = 1) && (write($devfb$/SensorWeights[7]) = 1) && (write($devfb$/ActuatorWeights[6]) = 1) && (write($devfb$/ActuatorWeights[7]) = 1) && goto(21) : goto(21);Checking $devccd4 changing state;Error checking $devccd4 changing state;-1;tangoerror=goto(21)
step21;((read(this/CCD5State) == ON) && (read(this/CCD5StateOld) != ON)) ? (write($devfb$/SensorWeights[8]) = 1) && (write($devfb$/SensorWeights[9]) = 1) && (write($devfb$/ActuatorWeights[8]) = 1) && (write($devfb$/ActuatorWeights[9]) = 1) && goto(22) : goto(22);Checking $devccd5 changing state;Error checking $devccd5 changing state;-1;tangoerror=goto(22)
#
# Storing old states
#
step22;(write(this/CCD2StateOld) = read(this/CCD2State)) && (write(this/CCD3StateOld) = read(this/CCD3State)) && (write(this/CCD4StateOld) = read(this/CCD4State)) && (write(this/CCD5StateOld) = read(this/CCD5State)) && goto(23);Updating states;Error updating states;-1
#
# Stopping unuseful cameras to avoid crashes
#
step23;((read($devccdstop1/State) == ON) || (read($devccdstop1/State) == ALARM)) ? command($devccdstop1/Stop) && goto(24) : goto(24);Stopping $devccdstop1;Error stopping $devccdstop1;-1;tangoerror=goto(24)
step24;((read($devccdstop2/State) == ON) || (read($devccdstop2/State) == ALARM)) ? command($devccdstop2/Stop) && goto(25) : goto(25);Stopping $devccdstop2;Error stopping $devccdstop2;-1;tangoerror=goto(25)
step25;((read($devccdstop3/State) == ON) || (read($devccdstop3/State) == ALARM)) ? command($devccdstop3/Stop) && goto(26) : goto(26);Stopping $devccdstop3;Error stopping $devccdstop3;-1;tangoerror=goto(26)
step26;((read($devccdstop4/State) == ON) || (read($devccdstop4/State) == ALARM)) ? command($devccdstop4/Stop) && goto(27) : goto(27);Stopping $devccdstop4;Error stopping $devccdstop4;-1;tangoerror=goto(27)
#
# Start mandatory ccds
#
step27;read(this/CCD2State) == OFF ? (command($devccd2/Start) = 0) && goto(28) : goto(28);Checking $devccd2 OFF state;Error checking $devccd2 OFF state;-1;tangoerror=goto(28)
step28;read(this/CCD3State) == OFF ? (command($devccd3/Start) = 0) && goto(29) : goto(29);Checking $devccd3 OFF state;Error checking $devccd3 OFF state;-1;tangoerror=goto(29)
step29;read(this/CCD4State) == OFF ? (command($devccd4/Start) = 0) && goto(30) : goto(30);Checking $devccd4 OFF state;Error checking $devccd4 OFF state;-1;tangoerror=goto(30)
step30;read(this/CCD5State) == OFF ? (command($devccd5/Start) = 0) && goto(31) : goto(31);Checking $devccd5 OFF state;Error checking $devccd5 OFF state;-1;tangoerror=goto(31)
#
step31;sleep($sleep_time) && goto(6);Sleeping;Error sleeping;-1
step32;goto(33);Exit;Exit;-1;exit
#
# Dynamic w/r attributes
#
attr;CCD2State;long;0
attr;CCD3State;long;0
attr;CCD4State;long;0
attr;CCD5State;long;0
attr;CCD2StateOld;long;0
attr;CCD3StateOld;long;0
attr;CCD4StateOld;long;0
attr;CCD5StateOld;long;0
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment