diff --git a/.gitattributes b/.gitattributes index ba27058dd73e64fa6cbabb571387321e07d52bb8..4b7bb5d6bf7df0f5ad2dff3f4d809a8d7f086e2c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3392,14 +3392,6 @@ MAC/Navigator2/pictures/16_empty.gif -text svneol=unset#image/gif MAC/Navigator2/pictures/16_hand_right.gif -text svneol=unset#image/gif MAC/Navigator2/pictures/253.bmp -text svneol=unset#image/bmp MAC/Navigator2/pictures/CS1_core.jpg -text svneol=unset#image/jpeg -MAC/Navigator2/pictures/LOFAR20_Core.PNG -text svneol=unset#image/png -MAC/Navigator2/pictures/LOFAR20_Core.bmp -text svneol=unset#image/bmp -MAC/Navigator2/pictures/LOFAR20_Core.jpg -text svneol=unset#image/jpeg -MAC/Navigator2/pictures/LOFAR20_CoreInRemote.jpg -text svneol=unset#image/jpeg -MAC/Navigator2/pictures/LOFAR20_Europe.PNG -text svneol=unset#image/png -MAC/Navigator2/pictures/LOFAR20_Europe.jpg -text svneol=unset#image/jpeg -MAC/Navigator2/pictures/LOFAR20_Remote.PNG -text svneol=unset#image/png -MAC/Navigator2/pictures/LOFAR20_Remote.jpg -text svneol=unset#image/jpeg MAC/Navigator2/pictures/LOFAR_Core.jpg -text svneol=unset#image/jpeg MAC/Navigator2/pictures/LOFAR_Europe.jpg -text svneol=unset#image/jpeg MAC/Navigator2/pictures/LOFAR_Remote.jpg -text svneol=unset#image/jpeg @@ -3422,7 +3414,6 @@ MAC/Navigator2/pictures/firmLogo.gif -text svneol=unset#image/gif MAC/Navigator2/pictures/goForward.png -text svneol=unset#image/png MAC/Navigator2/pictures/left_en.gif -text svneol=unset#image/gif MAC/Navigator2/pictures/missing[!!-~]connection.gif -text -MAC/Navigator2/pictures/nederland2.bmp -text svneol=unset#image/bmp MAC/Navigator2/pictures/point_en.GIF -text svneol=unset#image/gif MAC/Navigator2/pictures/right_en.gif -text svneol=unset#image/gif MAC/Navigator2/pictures/small-station-sized.PNG -text svneol=unset#image/png diff --git a/MAC/Navigator2/Lofar2002.vsd b/MAC/Navigator2/Lofar2002.vsd index 9ec5116693fc95c5e166c471ed23f71f064d6e8d..d82eb832291819017e6ae37a6262de86d2e717b1 100644 Binary files a/MAC/Navigator2/Lofar2002.vsd and b/MAC/Navigator2/Lofar2002.vsd differ diff --git a/MAC/Navigator2/panels/Hardware/LOFAR_Remote.pnl b/MAC/Navigator2/panels/Hardware/LOFAR_Remote.pnl index 0fc8a13c9bb9c5ec2d5febb472dc939b55730809..4e63ca9ce7a5a3dafc4f32890bde8af70e47d35d 100644 --- a/MAC/Navigator2/panels/Hardware/LOFAR_Remote.pnl +++ b/MAC/Navigator2/panels/Hardware/LOFAR_Remote.pnl @@ -158,17 +158,23 @@ E E 0 1 1 0 1 E 1 0 1 -10 0 2 1 0 "pictures/LOFAR_Remote.jpg" 13434828 E 0 0 1 0 1 45 34 "" 1 0 -1 49 41 "" 2 +1 46 41 "" 2 0 -1 50 41 "1" 1 +1 47 41 "1" 1 0 -1 51 41 "" 1 +1 48 41 "" 1 0 -1 52 42 "" 2 +1 49 42 "" 2 0 -1 53 42 "1" 1 +1 50 42 "1" 1 0 -1 54 42 "" 1 +1 51 42 "" 1 +0 +1 52 43 "" 2 +0 +1 53 43 "1" 1 +0 +1 54 43 "" 1 0 0 LAYER, 1 @@ -200,61 +206,65 @@ LAYER, 7 LANG:1 6 Layer8 0 3 10 "PANEL_REF11" -1 -"objects\\Hardware\\Station_small.pnl" 457 486 T 29 0.7424242424242424 0 0.7407407407407407 448.1779915092959 147.1415586739259 +"objects\\Hardware\\Station_small.pnl" 457 486 T 29 0.7424242424242424 0 0.7407407407407407 468.1779915092959 -2.858441326074086 1 "$Station""RS106" 3 12 "PANEL_REF13" -1 -"objects\\Hardware\\Station_small.pnl" 457 486 T 33 0.7424242424242424 0 0.7407407407407407 408.1779915092959 317.1415586739259 +"objects\\Hardware\\Station_small.pnl" 457 486 T 33 0.7424242424242424 0 0.7407407407407407 448.1779915092959 117.1415586739259 1 "$Station""RS208" 3 14 "PANEL_REF15" -1 -"objects\\Hardware\\Station_small.pnl" 457 486 T 35 0.7424242424242424 0 0.7407407407407407 328.1779915092959 127.1415586739259 +"objects\\Hardware\\Station_small.pnl" 457 486 T 35 0.7424242424242424 0 0.7407407407407407 378.1779915092959 -12.8584413260741 1 "$Station""RS306" 3 15 "PANEL_REF16" -1 -"objects\\Hardware\\Station_small.pnl" 457 486 T 36 0.7424242424242424 0 0.7407407407407407 298.1779915092959 197.1415586739259 +"objects\\Hardware\\Station_small.pnl" 457 486 T 36 0.7424242424242424 0 0.7407407407407407 358.1779915092959 37.14155867392591 1 "$Station""RS307" 3 16 "PANEL_REF17" -1 -"objects\\Hardware\\Station_small.pnl" 457 486 T 37 0.7424242424242424 0 0.7407407407407407 378.1779915092959 77.1415586739259 +"objects\\Hardware\\Station_small.pnl" 457 486 T 37 0.7424242424242424 0 0.7407407407407407 428.1779915092959 -42.8584413260741 1 "$Station""RS503" 3 18 "PANEL_REF19" -1 -"objects\\Hardware\\CEP_small.pnl" 286 26 T 40 1 0 1 286 160 +"objects\\Hardware\\CEP_small.pnl" 286 26 T 40 1 0 1 359.5617391304348 110.0855486542443 0 3 19 "PANEL_REF20" -1 -"objects\\Hardware\\Core_smalll.pnl" 506 345 T 41 1.17213060847658 0 1.176906801451277 128.9019121108508 47.96715349930949 +"objects\\Hardware\\Core_smalll.pnl" 506 345 T 41 1.17213060847658 0 0.8826801010884577 171.4619927870338 31.29537427329175 0 3 20 "PANEL_REF21" -1 -"objects\\Hardware\\Station_small.pnl" 457 486 T 41 0.7424242424242424 0 0.7407407407407407 358.1779915092959 -312.8584413260741 +"objects\\Hardware\\Station_small.pnl" 457 486 T 41 0.7424242424242424 0 0.7407407407407407 398.1779915092959 -322.8584413260741 1 "$Station""RS509" 3 21 "PANEL_REF22" -1 -"objects\\Hardware\\Station_small.pnl" 757 157 T 41 0.7241379310344828 0 0.7241379310344828 229.6021789105447 73.74010994502748 +"objects\\Hardware\\Station_small.pnl" 757 157 T 41 0.7241379310344828 0 0.7241379310344828 249.6021789105447 23.74010994502746 1 "$Station""RS508" 3 24 "PANEL_REF25" -1 -"objects\\Hardware\\Station_small.pnl" 477 317 T 44 0.7241379310344828 0 0.7241379310344828 132.3607996001998 177.8780409795103 +"objects\\Hardware\\Station_small.pnl" 477 317 T 44 0.7241379310344828 0 0.7241379310344828 232.3607996001999 67.87804097951025 1 "$Station""RS409" 3 27 "PANEL_REF28" -1 -"objects\\Hardware\\Station_small.pnl" 687 267 T 47 0.7241379310344828 0 0.7241379310344828 190.2918340829585 124.0849375312344 +"objects\\Hardware\\Station_small.pnl" 687 267 T 47 0.7241379310344828 0 0.7241379310344828 240.2918340829585 34.0849375312344 1 "$Station""RS407" 3 30 "PANEL_REF31" -1 -"objects\\Hardware\\Station_small.pnl" 667 337 T 50 0.7241379310344828 0 0.7241379310344828 194.7745927036482 133.3952823588206 +"objects\\Hardware\\Station_small.pnl" 667 337 T 50 0.7241379310344828 0 0.7241379310344828 244.7745927036482 23.39528235882065 1 "$Station""RS406" 3 34 "PANEL_REF35" -1 -"objects\\Hardware\\Station_small.pnl" 737 447 T 54 0.7241379310344828 0 0.7241379310344828 204.0849375312343 193.7401099450275 +"objects\\Hardware\\Station_small.pnl" 737 447 T 54 0.7241379310344828 0 0.7241379310344828 244.0849375312344 43.74010994502751 1 "$Station""RS205" 3 41 "PANEL_REF42" -1 -"objects\\Hardware\\Station_small.pnl" 367 497 T 61 0.7241379310344828 0 0.7241379310344828 102.015972013993 227.5332133933033 +"objects\\Hardware\\Station_small.pnl" 367 497 T 61 0.7241379310344828 0 0.7241379310344828 242.015972013993 57.5332133933033 1 "$Station""RS310" 3 42 "PANEL_REF42" -1 -"objects\\Hardware\\Station_small.pnl" 637 337 T 61 0.7142857142857143 0 0.7142857142857143 222.9409247757074 236.8865030069999 +"objects\\Hardware\\Station_small.pnl" 637 337 T 61 0.7142857142857143 0 0.7142857142857143 282.9409247757074 96.8865030069999 1 "$Station""RS305" +3 43 "PANEL_REF43" -1 +"objects\\Hardware\\Station_small.pnl" 457 486 T 62 0.7424242424242424 0 0.7407407407407407 438.1779915092959 327.1415586739259 +1 +"$Station""RS210" 0 diff --git a/MAC/Navigator2/panels/Hardware/RemoteOverview.pnl b/MAC/Navigator2/panels/Hardware/RemoteOverview.pnl index e9ee26cac931e904f9009410150165942ab0c683..4d9b5fb61fa07729efafe5b7c66ceb18a66fcbdd 100644 --- a/MAC/Navigator2/panels/Hardware/RemoteOverview.pnl +++ b/MAC/Navigator2/panels/Hardware/RemoteOverview.pnl @@ -320,6 +320,18 @@ LANG:1 15 Remote Stations 0 1 290 15 "" 7 0 +1 291 16 "" 6 +0 +1 292 16 "" 1 +0 +1 293 16 "" 2 +0 +1 294 16 "" 3 +0 +1 295 16 "" 4 +0 +1 296 16 "" 5 +0 0 LAYER, 1 1 @@ -405,6 +417,10 @@ LANG:1 6 Layer8 1 "$station""RS310" 3 15 "PANEL_REF15" -1 -"objects/Hardware\\CoreStatusView.pnl" 320 240 T 103 1 0 1 -1 -2 +"objects\\Hardware\\CoreStatusView.pnl" 320 240 T 103 1 0 1 -1 -2 0 +3 16 "PANEL_REF16" -1 +"objects\\Hardware\\LBA_HBAStatusView.pnl" 640 550 T 103 1 0 1 80 100 +1 +"$station""RS210" 0 diff --git a/MAC/Navigator2/panels/Processes/ObservationAEmbedded.pnl b/MAC/Navigator2/panels/Processes/ObservationAEmbedded.pnl index 7c2a822a6684239446cb77dd76227fcff006e857..fa7edb3e0730917e4fba0059028b9a284d7e9caa 100644 --- a/MAC/Navigator2/panels/Processes/ObservationAEmbedded.pnl +++ b/MAC/Navigator2/panels/Processes/ObservationAEmbedded.pnl @@ -38,20 +38,15 @@ void reload() { addAdders(); - resize(); - } void addAdders() { // get all the InputBuffers used by this observation - adders = navFunct_getAdderssForObservation(observationName); + adders = navFunct_getAddersForObservation(observationName); } - -void resize() { - AdderModule.size(1010,14*dynlen(adders)); -}" 0 +" 0 E E E E 1 -1 -1 0 200 170 ""0 1 E "#uses \"navPanel.ctl\" diff --git a/MAC/Navigator2/panels/Processes/ObservationAdders.pnl b/MAC/Navigator2/panels/Processes/ObservationAdders.pnl index 8b81669dc169c6eb6aceddb7939c58e1ede94dc5..b28fe7ab95dc648beb36f2646f4db3cbc832e7e7 100644 --- a/MAC/Navigator2/panels/Processes/ObservationAdders.pnl +++ b/MAC/Navigator2/panels/Processes/ObservationAdders.pnl @@ -1,7 +1,7 @@ V 11 1 LANG:1 0 -PANEL,-1 -1 1010 600 N "_3DFace" 0 +PANEL,-1 -1 975 7500 N "_3DFace" 0 "main() { // Initialise the Panel diff --git a/MAC/Navigator2/panels/Processes/ObservationIBEmbedded.pnl b/MAC/Navigator2/panels/Processes/ObservationIBEmbedded.pnl index 1b0993a0709f93fd4b1f0f0722735b625147101d..34327d2e3d56de096070b6a9e6b3147381c857c3 100644 --- a/MAC/Navigator2/panels/Processes/ObservationIBEmbedded.pnl +++ b/MAC/Navigator2/panels/Processes/ObservationIBEmbedded.pnl @@ -37,7 +37,6 @@ void reload() { navFunct_clearGlobalLists(); addInputBuffers(); - resize(); } void addInputBuffers() { @@ -46,10 +45,7 @@ void addInputBuffers() { inputBuffers = navFunct_getInputBuffersForObservation(observationName); } - -void resize() { - InputBufferModule.size(1010,14*dynlen(inputBuffers)); -}" 0 +" 0 E E E E 1 -1 -1 0 200 170 ""0 1 E "#uses \"navPanel.ctl\" diff --git a/MAC/Navigator2/panels/Processes/ObservationInputBuffers.pnl b/MAC/Navigator2/panels/Processes/ObservationInputBuffers.pnl index 32e1fd71a5091abf3a00c51565a8748f8deeaa8a..75ea0df54341310df73deddcd135a12087a2f73a 100644 --- a/MAC/Navigator2/panels/Processes/ObservationInputBuffers.pnl +++ b/MAC/Navigator2/panels/Processes/ObservationInputBuffers.pnl @@ -1,7 +1,7 @@ V 11 1 LANG:1 0 -PANEL,-1 -1 1010 600 N "_3DFace" 0 +PANEL,-1 -1 975 7500 N "_3DFace" 0 "main() { // Initialise the Panel diff --git a/MAC/Navigator2/panels/Processes/ObservationWEmbedded.pnl b/MAC/Navigator2/panels/Processes/ObservationWEmbedded.pnl index d350975f2148609ded6fa74a5d0ba158c24f1243..ba6fb921efd4dc535af6013e630b0630519eca31 100644 --- a/MAC/Navigator2/panels/Processes/ObservationWEmbedded.pnl +++ b/MAC/Navigator2/panels/Processes/ObservationWEmbedded.pnl @@ -38,19 +38,15 @@ void reload() { addWriters(); - resize(); } -void addAdders() { +void addWriters() { // get all the InputBuffers used by this observation writers = navFunct_getWritersForObservation(observationName); } - -void resize() { - WriterModule.size(1010,14*dynlen(writers)); -}" 0 +" 0 E E E E 1 -1 -1 0 200 170 ""0 1 E "#uses \"navPanel.ctl\" diff --git a/MAC/Navigator2/panels/Processes/ObservationWriters.pnl b/MAC/Navigator2/panels/Processes/ObservationWriters.pnl index 07f72d1993f3db902f4f18e4d6f5818a9fdcc4b0..6c0bce1ae05f1b92e95424cdc87c5c5eefb8d7ae 100644 --- a/MAC/Navigator2/panels/Processes/ObservationWriters.pnl +++ b/MAC/Navigator2/panels/Processes/ObservationWriters.pnl @@ -1,7 +1,7 @@ V 11 1 LANG:1 0 -PANEL,-1 -1 1010 600 N "_3DFace" 0 +PANEL,-1 -1 975 7500 N "_3DFace" 0 "main() { // Initialise the Panel diff --git a/MAC/Navigator2/panels/main.pnl b/MAC/Navigator2/panels/main.pnl index bb47ed668d71d6c861362b718f7509c073c3eeb0..b018c350865fd747e3982866ad52d5b98f0f7aca 100644 --- a/MAC/Navigator2/panels/main.pnl +++ b/MAC/Navigator2/panels/main.pnl @@ -387,7 +387,7 @@ void addStationView() { void addObservations() { int xPos_AddSymbol = 0; - int yPos_AddSymbol = 585; + int yPos_AddSymbol = 605; int ref = 1; string addPanelName = \"objects/Observations/observation_smallCEPView.pnl\"; int i = dpGet(MainDBName+\"LOFAR_PermSW_MACScheduler.activeObservations\",observationsList); @@ -556,7 +556,7 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 2 1 2 1 E 230 0 230 550 +E E 0 2 1 2 1 E 230 0 230 570 2 29 "PRIMITIVE_TEXT6" "" @@ -636,7 +636,7 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 2 1 2 1 E 621 0 621 550 +E E 0 2 1 2 1 E 621 0 621 570 2 34 "PRIMITIVE_TEXT8" "" @@ -754,7 +754,7 @@ LANG:1 3 sw6 4 41 "LINE4" "" -1 0 550 E E E 1 E 1 E N {0,0,0} E N {255,255,255} E E +1 0 570 E E E 1 E 1 E N {0,0,0} E N {255,255,255} E E E E 26 0 0 0 0 0 E E E @@ -764,11 +764,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 2 1 2 1 E 0 550 1010 550 +E E 0 2 1 2 1 E 0 570 1010 570 2 42 "PRIMITIVE_TEXT14" "" -1 10 556 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 10 576 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 27 0 0 0 0 0 E E E @@ -778,8 +778,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 10 556 59 569 -0 2 2 "0s" 0 0 0 192 0 0 10 556 1 +E E 0 1 1 2 1 E U 0 E 10 576 59 589 +0 2 2 "0s" 0 0 0 192 0 0 10 576 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -863,7 +863,7 @@ LANG:1 7 HBA LBA 2 65 "PRIMITIVE_TEXT21" "" -1 144 556 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 144 576 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 35 0 0 0 0 0 E E E @@ -873,8 +873,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 144 556 192 569 -0 2 2 "0s" 0 0 0 192 0 0 144 556 1 +E E 0 1 1 2 1 E U 0 E 144 576 192 589 +0 2 2 "0s" 0 0 0 192 0 0 144 576 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -882,7 +882,7 @@ LANG:1 7 Streams 2 66 "PRIMITIVE_TEXT22" "" -1 127 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 127 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 36 0 0 0 0 0 E E E @@ -892,8 +892,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 127 580 134 593 -0 2 2 "0s" 0 0 0 192 0 0 127 580 1 +E E 0 1 1 2 1 E U 0 E 127 600 134 613 +0 2 2 "0s" 0 0 0 192 0 0 127 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -901,7 +901,7 @@ LANG:1 1 0 2 67 "PRIMITIVE_TEXT23" "" -1 157 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 157 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 37 0 0 0 0 0 E E E @@ -911,8 +911,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 157 580 164 593 -0 2 2 "0s" 0 0 0 192 0 0 157 580 1 +E E 0 1 1 2 1 E U 0 E 157 600 164 613 +0 2 2 "0s" 0 0 0 192 0 0 157 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -920,7 +920,7 @@ LANG:1 1 1 2 68 "PRIMITIVE_TEXT24" "" -1 187 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 187 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 38 0 0 0 0 0 E E E @@ -930,8 +930,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 187 580 194 593 -0 2 2 "0s" 0 0 0 192 0 0 187 580 1 +E E 0 1 1 2 1 E U 0 E 187 600 194 613 +0 2 2 "0s" 0 0 0 192 0 0 187 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -939,7 +939,7 @@ LANG:1 1 2 2 69 "PRIMITIVE_TEXT25" "" -1 217 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 217 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 39 0 0 0 0 0 E E E @@ -949,8 +949,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 217 580 224 593 -0 2 2 "0s" 0 0 0 192 0 0 217 580 1 +E E 0 1 1 2 1 E U 0 E 217 600 224 613 +0 2 2 "0s" 0 0 0 192 0 0 217 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -958,7 +958,7 @@ LANG:1 1 3 2 70 "PRIMITIVE_TEXT26" "" -1 241 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 241 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 40 0 0 0 0 0 E E E @@ -968,8 +968,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 241 580 291 593 -0 2 2 "0s" 0 0 0 192 0 0 241 580 1 +E E 0 1 1 2 1 E U 0 E 241 600 291 613 +0 2 2 "0s" 0 0 0 192 0 0 241 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -977,7 +977,7 @@ LANG:1 8 dropping 2 71 "PRIMITIVE_TEXT27" "" -1 242 556 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 242 576 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 41 0 0 0 0 0 E E E @@ -987,8 +987,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 242 556 282 569 -0 2 2 "0s" 0 0 0 192 0 0 242 556 1 +E E 0 1 1 2 1 E U 0 E 242 576 282 589 +0 2 2 "0s" 0 0 0 192 0 0 242 576 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -996,7 +996,7 @@ LANG:1 6 Adders 2 72 "PRIMITIVE_TEXT28" "" -1 309 556 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 309 576 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 42 0 0 0 0 0 E E E @@ -1006,8 +1006,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 309 556 351 569 -0 2 2 "0s" 0 0 0 192 0 0 309 556 1 +E E 0 1 1 2 1 E U 0 E 309 576 351 589 +0 2 2 "0s" 0 0 0 192 0 0 309 576 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -1015,7 +1015,7 @@ LANG:1 7 Writers 2 73 "PRIMITIVE_TEXT29" "" -1 310 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 310 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 43 0 0 0 0 0 E E E @@ -1025,8 +1025,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 310 580 357 593 -0 2 2 "0s" 0 0 0 192 0 0 310 580 1 +E E 0 1 1 2 1 E U 0 E 310 600 357 613 +0 2 2 "0s" 0 0 0 192 0 0 310 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -1034,7 +1034,7 @@ LANG:1 7 dropped 2 74 "PRIMITIVE_TEXT30" "" -1 626 556 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 626 576 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 44 0 0 0 0 0 E E E @@ -1044,8 +1044,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 626 556 695 569 -0 2 2 "0s" 0 0 0 192 0 0 626 556 1 +E E 0 1 1 2 1 E U 0 E 626 576 695 589 +0 2 2 "0s" 0 0 0 192 0 0 626 576 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -1053,7 +1053,7 @@ LANG:1 11 Observation 2 75 "PRIMITIVE_TEXT31" "" -1 370 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 370 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 45 0 0 0 0 0 E E E @@ -1063,8 +1063,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 370 580 426 593 -0 2 2 "0s" 0 0 0 192 0 0 370 580 1 +E E 0 1 1 2 1 E U 0 E 370 600 426 613 +0 2 2 "0s" 0 0 0 192 0 0 370 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -1072,7 +1072,7 @@ LANG:1 9 startTime 2 76 "PRIMITIVE_TEXT32" "" -1 822 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 822 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 46 0 0 0 0 0 E E E @@ -1082,8 +1082,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 822 580 875 593 -0 2 2 "0s" 0 0 0 192 0 0 822 580 1 +E E 0 1 1 2 1 E U 0 E 822 600 875 613 +0 2 2 "0s" 0 0 0 192 0 0 822 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -1091,7 +1091,7 @@ LANG:1 8 stopTime 2 77 "PRIMITIVE_TEXT33" "" -1 622 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 622 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 47 0 0 0 0 0 E E E @@ -1101,8 +1101,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 622 580 672 593 -0 2 2 "0s" 0 0 0 192 0 0 622 580 1 +E E 0 1 1 2 1 E U 0 E 622 600 672 613 +0 2 2 "0s" 0 0 0 192 0 0 622 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 @@ -1110,7 +1110,7 @@ LANG:1 8 progress 2 78 "PRIMITIVE_TEXT34" "" -1 927 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 927 600 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 48 0 0 0 0 0 E E E @@ -1120,8 +1120,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 0 E 927 580 991 593 -0 2 2 "0s" 0 0 0 192 0 0 927 580 1 +E E 0 1 1 2 1 E U 0 E 927 600 991 613 +0 2 2 "0s" 0 0 0 192 0 0 927 600 1 1 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0 0 1 diff --git a/MAC/Navigator2/panels/objects/Hardware/HBA_TileElement.pnl b/MAC/Navigator2/panels/objects/Hardware/HBA_TileElement.pnl index bda6489322b35800a9a026fa13067352feab59fb..1476fd60aa4452cc192190088ea6afeaf773b457 100644 --- a/MAC/Navigator2/panels/objects/Hardware/HBA_TileElement.pnl +++ b/MAC/Navigator2/panels/objects/Hardware/HBA_TileElement.pnl @@ -126,7 +126,7 @@ void dblClick() { bDoubleClicked = true; string extra = \"\"; - if (hbaNr < 10) extra=\"0\"; + if (elementNr < 10) extra=\"0\"; if (dpExists(baseDP) ) { LOG_DEBUG(\"HBATileElement.pnl:DoubleClick|Setting currentDatapoint from : \"+g_currentDatapoint+\" to \"+baseDP); @@ -142,7 +142,7 @@ void dblClick() { // routine for right mouse click void rClick() { string extra = \"\"; - if (hbaNr < 10) extra=\"0\"; + if (elementNr < 10) extra=\"0\"; navPanel_setEvent(\"element\"+extra+elementNr,\"EventRightClick\"); }" 0 2 diff --git a/MAC/Navigator2/pictures/LOFAR20_Core.PNG b/MAC/Navigator2/pictures/LOFAR20_Core.PNG deleted file mode 100644 index eea329cf277549809110fd86dd80863586644961..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/LOFAR20_Core.PNG and /dev/null differ diff --git a/MAC/Navigator2/pictures/LOFAR20_Core.bmp b/MAC/Navigator2/pictures/LOFAR20_Core.bmp deleted file mode 100644 index 1f6f8c6c49a082040b20152a6182a052b97956ce..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/LOFAR20_Core.bmp and /dev/null differ diff --git a/MAC/Navigator2/pictures/LOFAR20_Core.jpg b/MAC/Navigator2/pictures/LOFAR20_Core.jpg deleted file mode 100644 index d0dbb5c9b45ba93d1ab8bc4847778aefff7a7175..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/LOFAR20_Core.jpg and /dev/null differ diff --git a/MAC/Navigator2/pictures/LOFAR20_CoreInRemote.jpg b/MAC/Navigator2/pictures/LOFAR20_CoreInRemote.jpg deleted file mode 100644 index 5c299d7466a05599ba8080ec70adfa610c606444..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/LOFAR20_CoreInRemote.jpg and /dev/null differ diff --git a/MAC/Navigator2/pictures/LOFAR20_Europe.PNG b/MAC/Navigator2/pictures/LOFAR20_Europe.PNG deleted file mode 100644 index bd2be6d2739ffc05b30e475bea8302cebea936e4..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/LOFAR20_Europe.PNG and /dev/null differ diff --git a/MAC/Navigator2/pictures/LOFAR20_Europe.jpg b/MAC/Navigator2/pictures/LOFAR20_Europe.jpg deleted file mode 100644 index a4f7965b3802a5582c57e56d604a67d1e117cd34..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/LOFAR20_Europe.jpg and /dev/null differ diff --git a/MAC/Navigator2/pictures/LOFAR20_Remote.PNG b/MAC/Navigator2/pictures/LOFAR20_Remote.PNG deleted file mode 100644 index 89f5ba926ceb3424f58119efa35304626bd85048..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/LOFAR20_Remote.PNG and /dev/null differ diff --git a/MAC/Navigator2/pictures/LOFAR20_Remote.jpg b/MAC/Navigator2/pictures/LOFAR20_Remote.jpg deleted file mode 100644 index 3e7aa13ff0d5d5740a6d1fb4832e846da16610a3..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/LOFAR20_Remote.jpg and /dev/null differ diff --git a/MAC/Navigator2/pictures/LOFAR_Remote.jpg b/MAC/Navigator2/pictures/LOFAR_Remote.jpg index 782dc3065c498c9614caa58286b58893c739215a..9aaaeb5ee801ecb9d4bfda6f73690467303f747c 100644 Binary files a/MAC/Navigator2/pictures/LOFAR_Remote.jpg and b/MAC/Navigator2/pictures/LOFAR_Remote.jpg differ diff --git a/MAC/Navigator2/pictures/nederland2.bmp b/MAC/Navigator2/pictures/nederland2.bmp deleted file mode 100644 index 3ae8b09ce579da9af1812d6985e74034ece99ed9..0000000000000000000000000000000000000000 Binary files a/MAC/Navigator2/pictures/nederland2.bmp and /dev/null differ diff --git a/MAC/Navigator2/scripts/libs/navFunct.ctl b/MAC/Navigator2/scripts/libs/navFunct.ctl index bce86bf64530afb85b8f2b0820198b97fa4ac9c5..255fb86dbfc940cbb6ee6ce5c7dd5a637cb77e55 100644 --- a/MAC/Navigator2/scripts/libs/navFunct.ctl +++ b/MAC/Navigator2/scripts/libs/navFunct.ctl @@ -1739,12 +1739,12 @@ void navFunct_fillStationLists() { // "CS401", // "CS501"); remoteStations = makeDynString("RS106", - "RS205","RS208", + "RS205","RS208","RS210", "RS305","RS306","RS307","RS310", "RS406","RS407","RS409", "RS503","RS508","RS509"); // remoteStations = makeDynString("RS104","RS106","RS107", -// "RS205","RS206","RS207","RS208", +// "RS205","RS206","RS207","RS208","RS210", // "RS306","RS307","RS308","RS309","RS310","RS311", // "RS404","RS406","RS407","RS408","RS409","RS410","RS411","RS412","RS413", // "RS503","RS506","RS507","RS508","RS509"); diff --git a/MAC/Navigator2/scripts/monitorStateChanges.ctl b/MAC/Navigator2/scripts/monitorStateChanges.ctl index fb3e473bf11a3a35b9b62b9537cd71a7e21d9dd5..24c5cc0bbeb481325d67f5de29fb9762e7fafc16 100644 --- a/MAC/Navigator2/scripts/monitorStateChanges.ctl +++ b/MAC/Navigator2/scripts/monitorStateChanges.ctl @@ -234,7 +234,7 @@ void objectStateTriggered(string dp1, string trigger, if (trigger == "") return; - if (bDebug) DebugN("monitorStateChanges.ctl:objectStateTriggered|entered with trigger:", trigger); + if (bDebug) DebugTN("monitorStateChanges.ctl:objectStateTriggered|entered with trigger:", trigger); string datapoint = ""; string element = ""; @@ -293,7 +293,7 @@ void objectStateTriggered(string dp1, string trigger, /////////////////////////////////////////////////////////////////////////// void setStates(string datapoint,string element,int state,string message,bool force,bool stationTrigger) { - if (bDebug) DebugN("monitorStateChanges.ctl:setStates|entered with datapoint: "+ datapoint+" element: "+ element+ " state: "+state+" message: "+message); + if (bDebug) DebugN("monitorStateChanges.ctl:setStates|entered with datapoint: "+ datapoint+" element: "+ element+ " state: "+state+" message: "+message+" stationTrigger: "+stationTrigger); string dp; @@ -302,12 +302,12 @@ void setStates(string datapoint,string element,int state,string message,bool for // and start updating the childStates for the remaining nodes. If the element is childState, // only the childState updates needs 2b done, unless stationTrigger = true, then childstate should be // handled the same way as state. - if (element == "status.state" | stationTrigger) { + if (element == "status.state" || stationTrigger) { // set the state value of this dp int aVal; dpGet(datapoint+"."+element,aVal); - if (state > -1 && state != aVal) { + if (state > -1) { if (force) { dpSet(datapoint+"."+element,state); } else { @@ -367,17 +367,12 @@ void setStates(string datapoint,string element,int state,string message,bool for rcuYDP = dp; + while ( setChildState(rcuXDP,state)) { if (bDebug) DebugN( "monitorStateChanges.ctl:setStates|Continueing with setChildState passing path: "+rcuXDP); dp = navFunct_getPathLessOne(rcuXDP); rcuXDP=dp; } - - while ( setChildState(rcuYDP,state)) { - if (bDebug) DebugN( "monitorStateChanges.ctl:setStates|Continueing with setChildState passing path: "+rcuYDP); - dp = navFunct_getPathLessOne(rcuYDP); - rcuYDP=dp; - } // } } diff --git a/MAC/Navigator2/scripts/monitorStateReset.ctl b/MAC/Navigator2/scripts/monitorStateReset.ctl index 97dfefc72beebaeee03b0c36965f0b829c19dbbb..60be101823799344f41e340df036da37769a3ef3 100644 --- a/MAC/Navigator2/scripts/monitorStateReset.ctl +++ b/MAC/Navigator2/scripts/monitorStateReset.ctl @@ -29,7 +29,7 @@ // global bool isConnected=false; -global bool bDebug = true; +global bool bDebug = false; global dyn_string dpList; global dyn_int dpStates; global dyn_string msgs; @@ -82,11 +82,10 @@ void subscribeObjectStateReset() { // If this machine is the MainCU however, we might have to pass work to the different // stations also whenever a DP resolves to be part of the station in a deeper // -// The following appointments have been made about (re)setting states/childstates: -// 1) The state change must be worse then the original state, otherwise do NOT touch -// 2) if the state is not worse then the state must be either 10 or equal to the original state from the -// point selected. Otherwise do NOT touch -// 3) when looking at childStates, if status.leaf = TRUE then we should not touch the childstate +// Note: +// when looking at childStates, if status.leaf = TRUE then we should not touch the childstate +// !!!!BEWARE!!!!! ETM has changed the way that master datapoint functions and values are set on new datapoints, +// since then this value is not copied to the DP's anymore, so we need to check the masterDP for this leaf value /////////////////////////////////////////////////////////////////////////// void resetStateTriggered(string dp1, string trigger, string dp2, int state, @@ -106,13 +105,13 @@ void resetStateTriggered(string dp1, string trigger, - if (bDebug) DebugN("monitorStateResets.ctl:resetStateTriggered|entered with trigger:", trigger); + if (bDebug) DebugTN("monitorStateResets.ctl:resetStateTriggered|entered with trigger:", trigger); string database=dpSubStr(trigger,DPSUB_SYS); if (getSystemName() == database) { if (bDebug) DebugN("monitorStateResets.ctl:resetStateTriggered|this DP resides on this system"); - string bareDP=dpSubStr(trigger,DPSUB_DP); + string bareDP=dpSubStr(trigger,DPSUB_DP_EL); int originatorState=-1; dpGet(trigger+".status.state",originatorState); if (bDebug) DebugN("monitorStateResets.ctl:resetStateTriggered|the original state is: "+ getStateColor(originatorState)); @@ -128,7 +127,7 @@ void resetStateTriggered(string dp1, string trigger, void doReset(string database,string bareDP,int state, int originatorState,string message) { //since this dp is part of this system we need to get a full list of all de dp's that belong to this dp tree, where - // dp is the top. We only are allowed to set a state higher, also keep a list of all the dp's we are setting. + // dp is the top. Keep a list of all the dp's we are setting. if (setStates(bareDP,state,originatorState,message)) { // now do the same for the childStates if (!setChildStates(bareDP,state,originatorState,message)) { @@ -147,10 +146,11 @@ void doReset(string database,string bareDP,int state, int originatorState,string // and we also need to finish it up by setting the __navObjectState with the original dp // so the values will be set in the remainder of the tree if (dpExists("__navObjectState.DPName")) { + if (bDebug) DebugN("monitorStateResets.ctl:resetStateTriggered|trigger stateChanged with DP: "+database+bareDP); dpSet("__navObjectState.DPName",database+bareDP+".status.state", "__navObjectState.stateNr",state, "__navObjectState.message",message, - "__navObjectState.force",FALSE); + "__navObjectState.force",TRUE); } else { DebugTN("monitorStateResets.ctl:resetStateTriggered|ERROR!!!: Couldn't find __navObjectState.DPName"); } @@ -172,25 +172,63 @@ bool doAlarmReset(string database,string DP,int state, int originatorState,strin return false; } if (bDebug) DebugN("monitorStateResets.ctl:doAlarmReset|results query: "+tab); - - // prepare a large dynarray with existing values and one with the values belonging to that dp - if (dynlen(tab) < 2) { - return true; - } + dyn_string stationNames; dyn_string dpMsgs; - + dyn_dyn_anytype anttab; + string antennaQuery = ""; + for(int z=2;z<=dynlen(tab);z++){ // in the process of searching through all dpnames we also have to monitor if a reset has to be tranferred from MainCU // to all or a station. for now this is only when the DPName is of DPType "Station" // if found we will add the name to a list so we can trigger all stations later if (dpTypeName(dpSubStr(tab[z][1],DPSUB_DP)) == "Station") { string aS = navFunct_getStationFromDP(tab[z][1]); - if (dpExists(aS) ) { + if (dpExists(aS) && dynContains(stationNames,aS) == 0 ) { dynAppend(stationNames,aS); } } + // We also have to monitor if a DP is an RCU, if this is the case this RCU is connected to HBA and LBA Antennas, so we need to + // add an extra list of dps to the list + if (dpTypeName(dpSubStr(tab[z][1],DPSUB_DP)) == "RCU") { + if (bDebug) DebugN("monitorStateResets.ctl:doAlarmReset|RCU found, so need to find connected antennas"); + dyn_string antennas; + dpGet(dpSubStr(tab[z][1],DPSUB_DP)+".antennas",antennas); + if (dynlen(antennas) > 0) { + antennaQuery = "SELECT '_online.._value' FROM '{"; + // loop over the found antennas + for (int i=1; i<= dynlen(antennas) ;i++) { + if (i > 1) antennaQuery+=","; + antennaQuery += antennas[i]+"*.**.status.state"; + } + antennaQuery+= "}' WHERE '_online.._value' == 56 OR '_online.._value' == 46"; + if (bDebug) DebugN("monitorStateResets.ctl:doAlarmReset|composed antennaQuery: "+antennaQuery); + + if (dpQuery(antennaQuery,anttab)<0) { + DebugTN("monitorStateResets.ctl:doAlarmReset|ERROR during dpQuery"); + } + if (bDebug) DebugN("monitorStateResets.ctl:doAlarmReset|results antennaQuery: "+anttab); + } + } + } + + if (dynlen(anttab) > 0) { + // append the found extra databasepoints to the list with dp's to reset + dynRemove(anttab,1); // contains no found dp + dynAppend(tab,anttab); + } + + + // prepare a large dynarray with existing values and one with the values belonging to that dp + if (dynlen(tab) < 2) { + return true; + } + + + + + for(int z=2;z<=dynlen(tab);z++){ if (dpExists(tab[z][1]) ){ string msgDp=navFunct_dpStripLastElement(tab[z][1])+".message"; int newstate=-1; @@ -230,23 +268,42 @@ bool doAlarmReset(string database,string DP,int state, int originatorState,strin DebugTN("monitorStateResets.ctl:doAlarmReset|ERROR during dpSet"); } } - // and same for childstate - string query = "SELECT '_online.._value' FROM '" + DP + "*.**.status.childState' WHERE '_online.._value' == 56 OR '_online.._value' == 46"; + strreplace(query,"state","childState"); if (bDebug) DebugN("monitorStateResets.ctl:doAlarmReset|composed query: "+query); - dyn_dyn_anytype tab; + dynClear(tab); + dynClear(anttab); if (dpQuery(query,tab)<0) { DebugTN("monitorStateResets.ctl:doAlarmReset|ERROR during dpQuery"); return false; } if (bDebug) DebugN("monitorStateResets.ctl:doAlarmReset|results query: "+tab); + + // also check antennas + if (antennaQuery <= "") { + strreplace(antennaQuery,"state","childState"); + if (bDebug) DebugN("monitorStateResets.ctl:doAlarmReset|composed antennaQuery: "+antennaQuery); + if (dpQuery(antennaQuery,anttab)<0) { + if (bDebug) DebugTN("monitorStateResets.ctl:doAlarmReset|ERROR during dpQuery"); + return false; + } + if (bDebug) DebugN("monitorStateResets.ctl:doAlarmReset|results antennaQuery: "+anttab); + } + + if (dynlen(anttab) > 0) { + // append the found extra databasepoints to the list with dp's to reset + dynRemove(anttab,1); // contains no found dp + dynAppend(tab,anttab); + } + // prepare a large dynarray with existing values and one with the values belonging to that dp if (dynlen(tab) < 2) { return true; } + dynClear(dpList); dynClear(dpStates); dynClear(dpMsgs); @@ -288,30 +345,69 @@ bool doAlarmReset(string database,string DP,int state, int originatorState,strin "__navObjectState.message",message, "__navObjectState.force",FALSE); } else { - DebugTN("monitorStateResets.ctl:resetStateTriggered|ERROR!!!: Couldn't find __navObjectState.DPName"); + DebugTN("monitorStateResets.ctl:doAlarmReset|ERROR!!!: Couldn't find __navObjectState.DPName"); } } } +dyn_dyn_anytype findAntennas(string startDP,string statChoice,int state) { + string antennaQuery=""; + dyn_dyn_anytype anttab; + + // We also have to monitor if a DP is an RCU, if this is the case this RCU is connected to HBA and LBA Antennas, so we need to + // add an extra list of dps to the list + if (dpTypeName(dpSubStr(startDP,DPSUB_DP)) == "RCU") { + if (bDebug) DebugN("monitorStateResets.ctl:setStates|RCU found, so need to find connected antennas"); + dyn_string antennas; + dpGet(dpSubStr(startDP,DPSUB_DP)+".antennas",antennas); + if (dynlen(antennas) > 0) { + antennaQuery = "SELECT '_online.._value' FROM '{"; + // loop over the found antennas + for (int i=1; i<= dynlen(antennas) ;i++) { + if (i > 1) antennaQuery+=","; + antennaQuery += antennas[i]+"*.**."+statChoice; + } + antennaQuery+= "}' WHERE '_online.._value' != " + state; + if (bDebug) DebugN("monitorStateResets.ctl:setStates|composed antennaQuery: "+antennaQuery); + + if (dpQuery(antennaQuery,anttab)<0) { + DebugTN("monitorStateResets.ctl:setStates|ERROR during dpQuery"); + } + if (bDebug) DebugN("monitorStateResets.ctl:setStates|results antennaQuery: "+anttab); + } + if (dynlen(anttab) > 0) { + dynRemove(anttab,1); // contains no found dp + } + } + return anttab; +} + bool setStates(string DP,int state, int originatorState,string message) { string branch="PIC"; - string query = "SELECT '_online.._value' FROM '" + DP + "*.**.status.state' WHERE '_online.._value' < " + state + " OR '_online.._value' == "+OPERATIONAL + " OR '_online.._value' == "+ originatorState; + string query = "SELECT '_online.._value' FROM '" + DP + "*.**.status.state' WHERE '_online.._value' != " + state; if (bDebug) DebugN("monitorStateResets.ctl:setStates|composed query: "+query); - dyn_dyn_anytype tab; + dyn_dyn_anytype tab; + dyn_dyn_anytype anttab; if (dpQuery(query,tab)<0) { - DebugTN("monitorStateResets.ctl:setState|ERROR during dpQuery"); + DebugTN("monitorStateResets.ctl:setStates|ERROR during dpQuery"); return false; } if (bDebug) DebugN("monitorStateResets.ctl:setStates|results query: "+tab); - - // prepare a large dynarray with existing values and one with the values belonging to that dp - if (dynlen(tab) < 2) { - return true; + + anttab = findAntennas(DP,"status.state",state); + + if (dynlen(anttab) > 0) { + // append the found extra databasepoints to the list with dp's to reset + dynAppend(tab,anttab); + dynClear(anttab); } + + // prepare a large dynarray with existing values and one with the values belonging to that dp dyn_string stationNames; dyn_string dpMsgs; + dyn_dyn_anytype anttab; for(int z=2;z<=dynlen(tab);z++){ // in the process of searching through all dpnames we also have to monitor if a reset has to be tranferred from MainCU @@ -319,11 +415,26 @@ bool setStates(string DP,int state, int originatorState,string message) { // if found we will add the name to a list so we can trigger all stations later if (dpTypeName(dpSubStr(tab[z][1],DPSUB_DP)) == "Station") { string aS = navFunct_getStationFromDP(tab[z][1]); - if (dpExists(aS) ) { + if (dpExists(aS) && dynContains(stationNames,aS) == 0) { dynAppend(stationNames,aS); } } - if (dpExists(tab[z][1]) ){ + anttab = findAntennas(tab[z][1],"status.state",state); + + if (dynlen(anttab) > 0) { + // append the found extra databasepoints to the list with dp's to reset + dynAppend(tab,anttab); + dynClear(anttab); + } + } + + + if (dynlen(tab) < 2) { + return true; + } + + for(int z=2;z<=dynlen(tab);z++){ + if (dpExists(tab[z][1])) { string msgDp=navFunct_dpStripLastElement(tab[z][1])+".message"; dynAppend(dpList,tab[z][1]); @@ -338,17 +449,16 @@ bool setStates(string DP,int state, int originatorState,string message) { if (dpSetWait(stationNames[i]+"__resetObjectState.DPName",stationNames[i]+"LOFAR_"+branch, stationNames[i]+"__resetObjectState.stateNr",state, stationNames[i]+"__resetObjectState.message",message) < 0) { - DebugTN("monitorStateResets.ctl:setState|ERROR during dpSetWait for all stations"); + DebugTN("monitorStateResets.ctl:setStates|ERROR during dpSetWait for all stations"); return false; } } - if (bDebug) DebugN("monitorStateResets.ctl:setStates|Found involved stations:"+stationNames); if (dynlen(dpList) > 0) { - if (bDebug) DebugN("monitorStateResets.ctl:setState|found dp's to set: "+dpList); + if (bDebug) DebugN("monitorStateResets.ctl:setStates|found dp's to set: "+dpList); if (dpSetWait(dpList,dpStates,dpMsgs,msgs)){ - DebugTN("monitorStateResets.ctl:setState|ERROR during dpSet"); + if (bDebug) DebugTN("monitorStateResets.ctl:setStates|ERROR during dpSet"); return false; } } else { @@ -358,28 +468,57 @@ bool setStates(string DP,int state, int originatorState,string message) { } bool setChildStates(string DP,int state, int originatorState, string message) { - string query = "SELECT '_online.._value' FROM '" + DP + "*.**.status.childState' WHERE '.status.leaf:_online.._value' == 0 AND ('.status.childState:_online.._value' < " + state + " OR '.status.childState:_online.._value' == "+OPERATIONAL+ " OR '.status.childState:_online.._value' == "+originatorState+")"; + string query = "SELECT '_online.._value' FROM '" + DP + "*.**.status.childState' WHERE '_online.._value' != " + state; if (bDebug) DebugN("monitorStateResets.ctl:setChildStates|composed statequery: "+query); - dyn_dyn_anytype tab; + dyn_dyn_anytype tab,anttab; + dyn_string antennaQuery=""; if (dpQuery(query,tab)<0) { DebugTN("monitorStateResets.ctl:setChildState|ERROR during dpQuery"); return false; } - if (bDebug) DebugN("monitorStateResets.ctl:setChildState|results query: "+tab); + + if (bDebug) DebugN("monitorStateResets.ctl:setChildStates|results query: "+tab); + + anttab = findAntennas(DP,"status.childState",state); + + if (dynlen(anttab) > 0) { + // append the found extra databasepoints to the list with dp's to reset + dynAppend(tab,anttab); + dynClear(anttab); + } + + + for(int z=2;z<=dynlen(tab);z++){ + + anttab = findAntennas(tab[z][1],"status.childState",state); + + if (dynlen(anttab) > 0) { + // append the found extra databasepoints to the list with dp's to reset + dynAppend(tab,anttab); + dynClear(anttab); + } + } + if (dynlen(tab) < 2) { + return true; + } + + if (bDebug) DebugN("newtab for childStates now: "+tab); + dyn_string valDPs; dyn_string msgDPs; dyn_string msgStr; dyn_anytype values; // prepare a large dynarray with existing values and one with the values belonging to that dp - if (dynlen(tab) < 2) { - return true; - } for(int z=2;z<=dynlen(tab);z++){ - if (dpExists(tab[z][1]) ){ + // Only for the dps that aren't a leaf + bool leaf = false; + string dp ="_mp_"+dpTypeName(dpSubStr(tab[z][1],DPSUB_DP))+".status.leaf"; + dpGet(dp,leaf); + if (dpExists(tab[z][1]) && leaf == false){ string msgDp=navFunct_dpStripLastElement(tab[z][1])+".message"; dynAppend(valDPs,tab[z][1]);