diff --git a/ADApp/op/adl/NDPluginBaseFull.adl b/ADApp/op/adl/NDPluginBaseFull.adl index 70f779d8e..1bbe24cba 100644 --- a/ADApp/op/adl/NDPluginBaseFull.adl +++ b/ADApp/op/adl/NDPluginBaseFull.adl @@ -8,7 +8,7 @@ display { x=399 y=92 width=775 - height=565 + height=590 } clr=14 bclr=4 @@ -227,10 +227,39 @@ text { limits { } } +text { + object { + x=20 + y=134 + width=140 + height=20 + } + "basic attribute" { + clr=14 + } + textix="SDK version" + align="horiz. right" +} +"text update" { + object { + x=170 + y=135 + width=160 + height=18 + } + monitor { + chan="$(P)$(R)SDKVersion_RBV" + clr=54 + bclr=4 + } + format="string" + limits { + } +} "text entry" { object { x=170 - y=160 + y=185 width=100 height=20 } @@ -246,7 +275,7 @@ text { "text update" { object { x=276 - y=161 + y=186 width=100 height=18 } @@ -261,7 +290,7 @@ text { text { object { x=30 - y=160 + y=185 width=130 height=20 } @@ -274,7 +303,7 @@ text { text { object { x=60 - y=135 + y=160 width=100 height=20 } @@ -287,7 +316,7 @@ text { "text entry" { object { x=170 - y=135 + y=160 width=100 height=20 } @@ -303,7 +332,7 @@ text { "text update" { object { x=276 - y=136 + y=161 width=100 height=18 } @@ -319,7 +348,7 @@ text { text { object { x=100 - y=185 + y=210 width=60 height=20 } @@ -332,7 +361,7 @@ text { menu { object { x=170 - y=185 + y=210 width=100 height=20 } @@ -345,7 +374,7 @@ menu { "text update" { object { x=276 - y=186 + y=211 width=100 height=18 } @@ -364,7 +393,7 @@ rectangle { x=5 y=30 width=380 - height=530 + height=555 } "basic attribute" { clr=14 @@ -374,7 +403,7 @@ rectangle { text { object { x=30 - y=335 + y=360 width=130 height=20 } @@ -387,7 +416,7 @@ text { "text update" { object { x=170 - y=336 + y=361 width=100 height=18 } @@ -402,7 +431,7 @@ text { text { object { x=10 - y=285 + y=310 width=150 height=20 } @@ -415,7 +444,7 @@ text { menu { object { x=170 - y=285 + y=310 width=100 height=20 } @@ -428,7 +457,7 @@ menu { "text update" { object { x=276 - y=286 + y=311 width=100 height=18 } @@ -444,7 +473,7 @@ menu { text { object { x=70 - y=385 + y=410 width=90 height=20 } @@ -457,7 +486,7 @@ text { menu { object { x=170 - y=385 + y=410 width=100 height=20 } @@ -470,7 +499,7 @@ menu { "text update" { object { x=276 - y=386 + y=411 width=100 height=18 } @@ -486,7 +515,7 @@ menu { "text entry" { object { x=170 - y=310 + y=335 width=100 height=20 } @@ -501,7 +530,7 @@ menu { "text update" { object { x=276 - y=311 + y=336 width=100 height=18 } @@ -516,7 +545,7 @@ menu { text { object { x=70 - y=310 + y=335 width=90 height=20 } @@ -529,7 +558,7 @@ text { "text entry" { object { x=170 - y=410 + y=435 width=100 height=20 } @@ -544,7 +573,7 @@ text { "text update" { object { x=276 - y=411 + y=436 width=100 height=18 } @@ -559,7 +588,7 @@ text { text { object { x=70 - y=410 + y=435 width=90 height=20 } @@ -572,7 +601,7 @@ text { text { object { x=10 - y=360 + y=385 width=150 height=20 } @@ -585,7 +614,7 @@ text { "text update" { object { x=276 - y=360 + y=385 width=100 height=18 } @@ -601,7 +630,7 @@ text { "text entry" { object { x=170 - y=360 + y=385 width=100 height=20 } @@ -616,7 +645,7 @@ text { text { object { x=20 - y=435 + y=460 width=140 height=20 } @@ -629,7 +658,7 @@ text { "text update" { object { x=276 - y=435 + y=460 width=100 height=18 } @@ -645,7 +674,7 @@ text { "text entry" { object { x=170 - y=435 + y=460 width=100 height=20 } @@ -660,7 +689,7 @@ text { "text update" { object { x=276 - y=461 + y=486 width=100 height=18 } @@ -675,7 +704,7 @@ text { text { object { x=40 - y=460 + y=485 width=120 height=20 } @@ -688,7 +717,7 @@ text { "message button" { object { x=170 - y=460 + y=485 width=100 height=20 } @@ -703,7 +732,7 @@ text { text { object { x=20 - y=260 + y=285 width=140 height=20 } @@ -716,7 +745,7 @@ text { "text entry" { object { x=170 - y=260 + y=285 width=100 height=20 } @@ -732,7 +761,7 @@ text { "text update" { object { x=276 - y=261 + y=286 width=100 height=18 } @@ -748,7 +777,7 @@ text { text { object { x=70 - y=210 + y=235 width=90 height=20 } @@ -761,7 +790,7 @@ text { "text entry" { object { x=170 - y=210 + y=235 width=100 height=20 } @@ -776,7 +805,7 @@ text { "text update" { object { x=276 - y=211 + y=236 width=100 height=18 } @@ -791,7 +820,7 @@ text { text { object { x=10 - y=235 + y=260 width=150 height=20 } @@ -804,7 +833,7 @@ text { "text entry" { object { x=170 - y=235 + y=260 width=100 height=20 } @@ -819,7 +848,7 @@ text { "text update" { object { x=276 - y=236 + y=261 width=100 height=18 } @@ -836,7 +865,7 @@ rectangle { x=390 y=30 width=380 - height=530 + height=555 } "basic attribute" { clr=14 @@ -1105,7 +1134,7 @@ text { text { object { x=10 - y=485 + y=510 width=150 height=20 } @@ -1118,7 +1147,7 @@ text { composite { object { x=50 - y=535 + y=560 width=220 height=20 } @@ -1127,7 +1156,7 @@ composite { "related display" { object { x=170 - y=535 + y=560 width=100 height=20 } @@ -1142,7 +1171,7 @@ composite { text { object { x=50 - y=535 + y=560 width=110 height=20 } @@ -1157,7 +1186,7 @@ composite { menu { object { x=170 - y=485 + y=510 width=100 height=20 } @@ -1170,7 +1199,7 @@ menu { "text update" { object { x=276 - y=486 + y=511 width=100 height=18 } @@ -1187,7 +1216,7 @@ menu { text { object { x=23 - y=510 + y=535 width=140 height=20 } @@ -1200,7 +1229,7 @@ text { "message button" { object { x=170 - y=510 + y=535 width=100 height=20 } diff --git a/ADApp/op/bob/autoconvert/NDPluginBaseFull.bob b/ADApp/op/bob/autoconvert/NDPluginBaseFull.bob index 851d772a9..e9cb29eca 100644 --- a/ADApp/op/bob/autoconvert/NDPluginBaseFull.bob +++ b/ADApp/op/bob/autoconvert/NDPluginBaseFull.bob @@ -5,7 +5,7 @@ 399 92 775 - 565 + 590 @@ -180,11 +180,46 @@ false false + + text SDK version + SDK version + 20 + 134 + 140 + + + + + 2 + + + text update SDK version + $(P)$(R)SDKVersion_RBV + 170 + 135 + 160 + 18 + + + + + + + + + + + + + 6 + false + false + text entry #40 $(P)$(R)NDArrayAddress 170 - 160 + 185 @@ -201,7 +236,7 @@ text update #44 $(P)$(R)NDArrayAddress_RBV 276 - 161 + 186 18 @@ -223,7 +258,7 @@ text #48 Array address 30 - 160 + 185 130 @@ -235,7 +270,7 @@ text #51 Array port 60 - 135 + 160 @@ -246,7 +281,7 @@ text entry #54 $(P)$(R)NDArrayPort 170 - 135 + 160 @@ -263,7 +298,7 @@ text update #58 $(P)$(R)NDArrayPort_RBV 276 - 136 + 161 18 @@ -285,7 +320,7 @@ text #62 Enable 100 - 185 + 210 60 @@ -297,7 +332,7 @@ menu #65 $(P)$(R)EnableCallbacks 170 - 185 + 210 20 @@ -309,7 +344,7 @@ text update #68 $(P)$(R)EnableCallbacks_RBV 276 - 186 + 211 18 @@ -331,7 +366,7 @@ 5 30 380 - 530 + 555 1 @@ -347,7 +382,7 @@ text #75 Max # threads 30 - 335 + 360 130 @@ -359,7 +394,7 @@ text update #78 $(P)$(R)MaxThreads_RBV 170 - 336 + 361 18 @@ -381,7 +416,7 @@ text #82 Callbacks block 10 - 285 + 310 150 @@ -393,7 +428,7 @@ menu #85 $(P)$(R)BlockingCallbacks 170 - 285 + 310 20 @@ -405,7 +440,7 @@ text update #88 $(P)$(R)BlockingCallbacks_RBV 276 - 286 + 311 18 @@ -427,7 +462,7 @@ text #92 Sort mode 70 - 385 + 410 90 @@ -439,7 +474,7 @@ menu #95 $(P)$(R)SortMode 170 - 385 + 410 20 @@ -451,7 +486,7 @@ text update #98 $(P)$(R)SortMode_RBV 276 - 386 + 411 18 @@ -473,7 +508,7 @@ text entry #102 $(P)$(R)NumThreads 170 - 310 + 335 @@ -490,7 +525,7 @@ text update #106 $(P)$(R)NumThreads_RBV 276 - 311 + 336 18 @@ -512,7 +547,7 @@ text #110 # threads 70 - 310 + 335 90 @@ -524,7 +559,7 @@ text entry #113 $(P)$(R)SortTime 170 - 410 + 435 @@ -541,7 +576,7 @@ text update #117 $(P)$(R)SortTime_RBV 276 - 411 + 436 18 @@ -563,7 +598,7 @@ text #121 Sort time 70 - 410 + 435 90 @@ -575,7 +610,7 @@ text #124 Queue size/free 10 - 360 + 385 150 @@ -587,7 +622,7 @@ text update #127 $(P)$(R)QueueFree 276 - 360 + 385 18 @@ -608,7 +643,7 @@ text entry #131 $(P)$(R)QueueSize 170 - 360 + 385 @@ -625,7 +660,7 @@ text #135 Sort size/free 20 - 435 + 460 140 @@ -637,7 +672,7 @@ text update #138 $(P)$(R)SortFree 276 - 435 + 460 18 @@ -658,7 +693,7 @@ text entry #142 $(P)$(R)SortSize 170 - 435 + 460 @@ -675,7 +710,7 @@ text update #146 $(P)$(R)DisorderedArrays_RBV 276 - 461 + 486 18 @@ -697,7 +732,7 @@ text #150 # disordered 40 - 460 + 485 120 @@ -717,7 +752,7 @@ $(P)$(R)DisorderedArrays Reset to 0 170 - 460 + 485 20 @@ -728,7 +763,7 @@ text #156 Max. byte rate 20 - 260 + 285 140 @@ -740,7 +775,7 @@ text entry #159 $(P)$(R)MaxByteRate 170 - 260 + 285 @@ -757,7 +792,7 @@ text update #163 $(P)$(R)MaxByteRate_RBV 276 - 261 + 286 18 @@ -779,7 +814,7 @@ text #167 Min. time 70 - 210 + 235 90 @@ -791,7 +826,7 @@ text entry #170 $(P)$(R)MinCallbackTime 170 - 210 + 235 @@ -808,7 +843,7 @@ text update #174 $(P)$(R)MinCallbackTime_RBV 276 - 211 + 236 18 @@ -830,7 +865,7 @@ text #178 Max. array rate 10 - 235 + 260 150 @@ -842,7 +877,7 @@ text entry #181 $(P)$(R)MaxArrayRate 170 - 235 + 260 @@ -859,7 +894,7 @@ text update #185 $(P)$(R)MaxArrayRate_RBV 276 - 236 + 261 18 @@ -882,7 +917,7 @@ 390 30 380 - 530 + 555 1 @@ -1219,7 +1254,7 @@ text #254 Array callbacks 10 - 485 + 510 150 @@ -1230,7 +1265,7 @@ composite #257 50 - 535 + 560 220 20 @@ -1270,7 +1305,7 @@ menu #266 $(P)$(R)ArrayCallbacks 170 - 485 + 510 20 @@ -1282,7 +1317,7 @@ text update #269 $(P)$(R)ArrayCallbacks_RBV 276 - 486 + 511 18 @@ -1303,7 +1338,7 @@ text #273 Process plugin 23 - 510 + 535 140 @@ -1323,7 +1358,7 @@ $(P)$(R)ProcessPlugin Process 170 - 510 + 535 20 diff --git a/ADApp/op/edl/autoconvert/NDPluginBaseFull.edl b/ADApp/op/edl/autoconvert/NDPluginBaseFull.edl index 0a1388187..772c9774c 100644 --- a/ADApp/op/edl/autoconvert/NDPluginBaseFull.edl +++ b/ADApp/op/edl/autoconvert/NDPluginBaseFull.edl @@ -6,7 +6,7 @@ release 1 x 399 y 92 w 775 -h 565 +h 590 font "helvetica-medium-r-18.0" ctlFont "helvetica-bold-r-10.0" btnFont "helvetica-medium-r-18.0" @@ -236,6 +236,50 @@ newPos objType "controls" endObjectProperties +# (Static Text) +object activeXTextClass +beginObjectProperties +major 4 +minor 1 +release 1 +x 20 +y 134 +w 140 +h 20 +font "helvetica-medium-r-14.0" +fontAlign "right" +fgColor rgb 0 0 0 +bgColor index 3 +useDisplayBg +value { + "SDK version" +} +endObjectProperties + +# (Text Monitor) +object activeXTextDspClass:noedit +beginObjectProperties +major 4 +minor 7 +release 0 +x 170 +y 135 +w 160 +h 18 +controlPv "$(P)$(R)SDKVersion_RBV" +format "string" +font "helvetica-medium-r-14.0" +fontAlign "left" +fgColor rgb 2560 0 47104 +bgColor rgb 47872 47872 47872 +limitsFromDb +nullColor rgb 60928 46592 11008 +smartRefresh +fastUpdate +newPos +objType "controls" +endObjectProperties + # (Text Control) object activeXTextDspClass beginObjectProperties @@ -243,7 +287,7 @@ major 4 minor 7 release 0 x 170 -y 160 +y 185 w 100 h 20 controlPv "$(P)$(R)NDArrayAddress" @@ -269,7 +313,7 @@ major 4 minor 7 release 0 x 276 -y 161 +y 186 w 100 h 18 controlPv "$(P)$(R)NDArrayAddress_RBV" @@ -293,7 +337,7 @@ major 4 minor 1 release 1 x 30 -y 160 +y 185 w 130 h 20 font "helvetica-medium-r-14.0" @@ -313,7 +357,7 @@ major 4 minor 1 release 1 x 60 -y 135 +y 160 w 100 h 20 font "helvetica-medium-r-14.0" @@ -333,7 +377,7 @@ major 4 minor 7 release 0 x 170 -y 135 +y 160 w 100 h 20 controlPv "$(P)$(R)NDArrayPort" @@ -359,7 +403,7 @@ major 4 minor 7 release 0 x 276 -y 136 +y 161 w 100 h 18 controlPv "$(P)$(R)NDArrayPort_RBV" @@ -383,7 +427,7 @@ major 4 minor 1 release 1 x 100 -y 185 +y 210 w 60 h 20 font "helvetica-medium-r-14.0" @@ -403,7 +447,7 @@ major 4 minor 7 release 0 x 276 -y 186 +y 211 w 100 h 18 controlPv "$(P)$(R)EnableCallbacks_RBV" @@ -430,7 +474,7 @@ release 0 x 5 y 30 w 380 -h 530 +h 555 lineColor rgb 0 0 0 fillColor rgb 0 0 0 lineWidth 0 @@ -443,7 +487,7 @@ major 4 minor 1 release 1 x 30 -y 335 +y 360 w 130 h 20 font "helvetica-medium-r-14.0" @@ -463,7 +507,7 @@ major 4 minor 7 release 0 x 170 -y 336 +y 361 w 100 h 18 controlPv "$(P)$(R)MaxThreads_RBV" @@ -487,7 +531,7 @@ major 4 minor 1 release 1 x 10 -y 285 +y 310 w 150 h 20 font "helvetica-medium-r-14.0" @@ -507,7 +551,7 @@ major 4 minor 7 release 0 x 276 -y 286 +y 311 w 100 h 18 controlPv "$(P)$(R)BlockingCallbacks_RBV" @@ -531,7 +575,7 @@ major 4 minor 1 release 1 x 70 -y 385 +y 410 w 90 h 20 font "helvetica-medium-r-14.0" @@ -551,7 +595,7 @@ major 4 minor 7 release 0 x 276 -y 386 +y 411 w 100 h 18 controlPv "$(P)$(R)SortMode_RBV" @@ -575,7 +619,7 @@ major 4 minor 7 release 0 x 170 -y 310 +y 335 w 100 h 20 controlPv "$(P)$(R)NumThreads" @@ -601,7 +645,7 @@ major 4 minor 7 release 0 x 276 -y 311 +y 336 w 100 h 18 controlPv "$(P)$(R)NumThreads_RBV" @@ -625,7 +669,7 @@ major 4 minor 1 release 1 x 70 -y 310 +y 335 w 90 h 20 font "helvetica-medium-r-14.0" @@ -645,7 +689,7 @@ major 4 minor 7 release 0 x 170 -y 410 +y 435 w 100 h 20 controlPv "$(P)$(R)SortTime" @@ -671,7 +715,7 @@ major 4 minor 7 release 0 x 276 -y 411 +y 436 w 100 h 18 controlPv "$(P)$(R)SortTime_RBV" @@ -695,7 +739,7 @@ major 4 minor 1 release 1 x 70 -y 410 +y 435 w 90 h 20 font "helvetica-medium-r-14.0" @@ -715,7 +759,7 @@ major 4 minor 1 release 1 x 10 -y 360 +y 385 w 150 h 20 font "helvetica-medium-r-14.0" @@ -735,7 +779,7 @@ major 4 minor 7 release 0 x 276 -y 360 +y 385 w 100 h 18 controlPv "$(P)$(R)QueueFree" @@ -760,7 +804,7 @@ major 4 minor 7 release 0 x 170 -y 360 +y 385 w 100 h 20 controlPv "$(P)$(R)QueueSize" @@ -786,7 +830,7 @@ major 4 minor 1 release 1 x 20 -y 435 +y 460 w 140 h 20 font "helvetica-medium-r-14.0" @@ -806,7 +850,7 @@ major 4 minor 7 release 0 x 276 -y 435 +y 460 w 100 h 18 controlPv "$(P)$(R)SortFree" @@ -831,7 +875,7 @@ major 4 minor 7 release 0 x 170 -y 435 +y 460 w 100 h 20 controlPv "$(P)$(R)SortSize" @@ -857,7 +901,7 @@ major 4 minor 7 release 0 x 276 -y 461 +y 486 w 100 h 18 controlPv "$(P)$(R)DisorderedArrays_RBV" @@ -881,7 +925,7 @@ major 4 minor 1 release 1 x 40 -y 460 +y 485 w 120 h 20 font "helvetica-medium-r-14.0" @@ -901,7 +945,7 @@ major 4 minor 1 release 1 x 20 -y 260 +y 285 w 140 h 20 font "helvetica-medium-r-14.0" @@ -921,7 +965,7 @@ major 4 minor 7 release 0 x 170 -y 260 +y 285 w 100 h 20 controlPv "$(P)$(R)MaxByteRate" @@ -947,7 +991,7 @@ major 4 minor 7 release 0 x 276 -y 261 +y 286 w 100 h 18 controlPv "$(P)$(R)MaxByteRate_RBV" @@ -971,7 +1015,7 @@ major 4 minor 1 release 1 x 70 -y 210 +y 235 w 90 h 20 font "helvetica-medium-r-14.0" @@ -991,7 +1035,7 @@ major 4 minor 7 release 0 x 170 -y 210 +y 235 w 100 h 20 controlPv "$(P)$(R)MinCallbackTime" @@ -1017,7 +1061,7 @@ major 4 minor 7 release 0 x 276 -y 211 +y 236 w 100 h 18 controlPv "$(P)$(R)MinCallbackTime_RBV" @@ -1041,7 +1085,7 @@ major 4 minor 1 release 1 x 10 -y 235 +y 260 w 150 h 20 font "helvetica-medium-r-14.0" @@ -1061,7 +1105,7 @@ major 4 minor 7 release 0 x 170 -y 235 +y 260 w 100 h 20 controlPv "$(P)$(R)MaxArrayRate" @@ -1087,7 +1131,7 @@ major 4 minor 7 release 0 x 276 -y 236 +y 261 w 100 h 18 controlPv "$(P)$(R)MaxArrayRate_RBV" @@ -1113,7 +1157,7 @@ release 0 x 390 y 30 w 380 -h 530 +h 555 lineColor rgb 0 0 0 fillColor rgb 0 0 0 lineWidth 0 @@ -1458,7 +1502,7 @@ major 4 minor 1 release 1 x 10 -y 485 +y 510 w 150 h 20 font "helvetica-medium-r-14.0" @@ -1478,7 +1522,7 @@ major 4 minor 0 release 0 x 50 -y 535 +y 560 w 220 h 20 @@ -1491,7 +1535,7 @@ major 4 minor 1 release 1 x 50 -y 535 +y 560 w 110 h 20 font "helvetica-medium-r-14.0" @@ -1516,7 +1560,7 @@ major 4 minor 7 release 0 x 276 -y 486 +y 511 w 100 h 18 controlPv "$(P)$(R)ArrayCallbacks_RBV" @@ -1541,7 +1585,7 @@ major 4 minor 1 release 1 x 23 -y 510 +y 535 w 140 h 20 font "helvetica-medium-r-14.0" @@ -1956,7 +2000,7 @@ major 4 minor 0 release 0 x 170 -y 185 +y 210 w 100 h 20 fgColor rgb 0 0 0 @@ -1976,7 +2020,7 @@ major 4 minor 0 release 0 x 170 -y 285 +y 310 w 100 h 20 fgColor rgb 0 0 0 @@ -1996,7 +2040,7 @@ major 4 minor 0 release 0 x 170 -y 385 +y 410 w 100 h 20 fgColor rgb 0 0 0 @@ -2016,7 +2060,7 @@ major 4 minor 0 release 0 x 170 -y 460 +y 485 w 100 h 20 fgColor rgb 0 0 0 @@ -2115,7 +2159,7 @@ major 4 minor 0 release 0 x 50 -y 535 +y 560 w 220 h 20 @@ -2128,7 +2172,7 @@ major 4 minor 0 release 0 x 170 -y 535 +y 560 w 100 h 20 fgColor rgb 0 0 0 @@ -2165,7 +2209,7 @@ major 4 minor 0 release 0 x 170 -y 485 +y 510 w 100 h 20 fgColor rgb 0 0 0 @@ -2185,7 +2229,7 @@ major 4 minor 0 release 0 x 170 -y 510 +y 535 w 100 h 20 fgColor rgb 0 0 0 diff --git a/ADApp/op/opi/autoconvert/NDPluginBaseFull.opi b/ADApp/op/opi/autoconvert/NDPluginBaseFull.opi index 5153cb6f7..7c90133e3 100644 --- a/ADApp/op/opi/autoconvert/NDPluginBaseFull.opi +++ b/ADApp/op/opi/autoconvert/NDPluginBaseFull.opi @@ -14,7 +14,7 @@ 5 - 565 + 590 true @@ -118,7 +118,7 @@ $(pv_value) false - 530 + 555 true @@ -175,7 +175,7 @@ $(pv_value) false - 530 + 555 true @@ -239,7 +239,7 @@ $(pv_value) Grouping Container 220 50 - 535 + 560 @@ -779,6 +779,97 @@ $(pv_value) 170 110 + + + false + + + + + + + 0 + 1 + true + + + + + + + 20 + 2 + Label + + + true + true + false + + + false + SDK version + + true + 1 + true + Label + 140 + false + 20 + 134 + + + + false + false + false + + + + true + + + + 0 + 1 + true + + + + false + + + + 4 + 18 + 0 + Text Update + 0 + true + $(P)$(R)SDKVersion_RBV + + 0.0 + + + true + true + false + + + false + ###### + $(pv_name) +$(pv_value) + false + 1 + true + Text Update + 160 + false + 170 + 135 + false @@ -839,7 +930,7 @@ $(pv_value) Text Input 100 170 - 160 + 185 @@ -890,7 +981,7 @@ $(pv_value) 100 false 276 - 161 + 186 @@ -930,7 +1021,7 @@ $(pv_value) 130 false 30 - 160 + 185 @@ -970,7 +1061,7 @@ $(pv_value) 100 false 60 - 135 + 160 @@ -1032,7 +1123,7 @@ $(pv_value) Text Input 100 170 - 135 + 160 @@ -1083,7 +1174,7 @@ $(pv_value) 100 false 276 - 136 + 161 @@ -1123,7 +1214,7 @@ $(pv_value) 60 false 100 - 185 + 210 @@ -1167,7 +1258,7 @@ $(pv_value) Menu Button 100 170 - 185 + 210 @@ -1218,7 +1309,7 @@ $(pv_value) 100 false 276 - 186 + 211 @@ -1258,7 +1349,7 @@ $(pv_value) 130 false 30 - 335 + 360 @@ -1309,7 +1400,7 @@ $(pv_value) 100 false 170 - 336 + 361 @@ -1349,7 +1440,7 @@ $(pv_value) 150 false 10 - 285 + 310 @@ -1393,7 +1484,7 @@ $(pv_value) Menu Button 100 170 - 285 + 310 @@ -1444,7 +1535,7 @@ $(pv_value) 100 false 276 - 286 + 311 @@ -1484,7 +1575,7 @@ $(pv_value) 90 false 70 - 385 + 410 @@ -1528,7 +1619,7 @@ $(pv_value) Menu Button 100 170 - 385 + 410 @@ -1579,7 +1670,7 @@ $(pv_value) 100 false 276 - 386 + 411 @@ -1641,7 +1732,7 @@ $(pv_value) Text Input 100 170 - 310 + 335 @@ -1692,7 +1783,7 @@ $(pv_value) 100 false 276 - 311 + 336 @@ -1732,7 +1823,7 @@ $(pv_value) 90 false 70 - 310 + 335 @@ -1794,7 +1885,7 @@ $(pv_value) Text Input 100 170 - 410 + 435 @@ -1845,7 +1936,7 @@ $(pv_value) 100 false 276 - 411 + 436 @@ -1885,7 +1976,7 @@ $(pv_value) 90 false 70 - 410 + 435 @@ -1925,7 +2016,7 @@ $(pv_value) 150 false 10 - 360 + 385 @@ -1976,7 +2067,7 @@ $(pv_value) 100 false 276 - 360 + 385 @@ -2038,7 +2129,7 @@ $(pv_value) Text Input 100 170 - 360 + 385 @@ -2078,7 +2169,7 @@ $(pv_value) 140 false 20 - 435 + 460 @@ -2129,7 +2220,7 @@ $(pv_value) 100 false 276 - 435 + 460 @@ -2191,7 +2282,7 @@ $(pv_value) Text Input 100 170 - 435 + 460 @@ -2242,7 +2333,7 @@ $(pv_value) 100 false 276 - 461 + 486 @@ -2282,7 +2373,7 @@ $(pv_value) 120 false 40 - 460 + 485 @@ -2335,7 +2426,7 @@ $(pv_value) Action Button 100 170 - 460 + 485 @@ -2375,7 +2466,7 @@ $(pv_value) 140 false 20 - 260 + 285 @@ -2437,7 +2528,7 @@ $(pv_value) Text Input 100 170 - 260 + 285 @@ -2488,7 +2579,7 @@ $(pv_value) 100 false 276 - 261 + 286 @@ -2528,7 +2619,7 @@ $(pv_value) 90 false 70 - 210 + 235 @@ -2590,7 +2681,7 @@ $(pv_value) Text Input 100 170 - 210 + 235 @@ -2641,7 +2732,7 @@ $(pv_value) 100 false 276 - 211 + 236 @@ -2681,7 +2772,7 @@ $(pv_value) 150 false 10 - 235 + 260 @@ -2743,7 +2834,7 @@ $(pv_value) Text Input 100 170 - 235 + 260 @@ -2794,7 +2885,7 @@ $(pv_value) 100 false 276 - 236 + 261 @@ -3681,7 +3772,7 @@ $(pv_value) 150 false 10 - 485 + 510 @@ -3725,7 +3816,7 @@ $(pv_value) Menu Button 100 170 - 485 + 510 @@ -3776,7 +3867,7 @@ $(pv_value) 100 false 276 - 486 + 511 @@ -3816,7 +3907,7 @@ $(pv_value) 140 false 23 - 510 + 535 @@ -3869,7 +3960,7 @@ $(pv_value) Action Button 100 170 - 510 + 535 diff --git a/ADApp/op/ui/autoconvert/NDPluginBaseFull.ui b/ADApp/op/ui/autoconvert/NDPluginBaseFull.ui index 7ebd6ea6a..2e70394db 100644 --- a/ADApp/op/ui/autoconvert/NDPluginBaseFull.ui +++ b/ADApp/op/ui/autoconvert/NDPluginBaseFull.ui @@ -7,7 +7,7 @@ 399 92 775 - 565 + 590 @@ -549,7 +549,7 @@ border-radius: 2px; 170 - 160 + 185 100 20 @@ -600,7 +600,7 @@ border-radius: 2px; 276 - 161 + 186 100 18 @@ -680,7 +680,7 @@ border-radius: 2px; 30 - 160 + 185 130 20 @@ -716,7 +716,7 @@ border-radius: 2px; 60 - 135 + 160 100 20 @@ -726,7 +726,7 @@ border-radius: 2px; 170 - 135 + 160 100 20 @@ -777,7 +777,7 @@ border-radius: 2px; 276 - 136 + 161 100 18 @@ -857,7 +857,7 @@ border-radius: 2px; 100 - 185 + 210 60 20 @@ -867,7 +867,7 @@ border-radius: 2px; 170 - 185 + 210 100 20 @@ -897,7 +897,7 @@ border-radius: 2px; 276 - 186 + 211 100 18 @@ -956,7 +956,7 @@ border-radius: 2px; 5 30 380 - 530 + 555 @@ -1014,7 +1014,7 @@ border-radius: 2px; 30 - 335 + 360 130 20 @@ -1024,7 +1024,7 @@ border-radius: 2px; 170 - 336 + 361 100 18 @@ -1104,7 +1104,7 @@ border-radius: 2px; 10 - 285 + 310 150 20 @@ -1114,7 +1114,7 @@ border-radius: 2px; 170 - 285 + 310 100 20 @@ -1144,7 +1144,7 @@ border-radius: 2px; 276 - 286 + 311 100 18 @@ -1224,7 +1224,7 @@ border-radius: 2px; 70 - 385 + 410 90 20 @@ -1234,7 +1234,7 @@ border-radius: 2px; 170 - 385 + 410 100 20 @@ -1264,7 +1264,7 @@ border-radius: 2px; 276 - 386 + 411 100 18 @@ -1318,7 +1318,7 @@ border-radius: 2px; 170 - 310 + 335 100 20 @@ -1369,7 +1369,7 @@ border-radius: 2px; 276 - 311 + 336 100 18 @@ -1449,7 +1449,7 @@ border-radius: 2px; 70 - 310 + 335 90 20 @@ -1459,7 +1459,7 @@ border-radius: 2px; 170 - 410 + 435 100 20 @@ -1510,7 +1510,7 @@ border-radius: 2px; 276 - 411 + 436 100 18 @@ -1590,7 +1590,7 @@ border-radius: 2px; 70 - 410 + 435 90 20 @@ -1626,7 +1626,7 @@ border-radius: 2px; 10 - 360 + 385 150 20 @@ -1636,7 +1636,7 @@ border-radius: 2px; 276 - 360 + 385 100 18 @@ -1690,7 +1690,7 @@ border-radius: 2px; 170 - 360 + 385 100 20 @@ -1767,7 +1767,7 @@ border-radius: 2px; 20 - 435 + 460 140 20 @@ -1777,7 +1777,7 @@ border-radius: 2px; 276 - 435 + 460 100 18 @@ -1831,7 +1831,7 @@ border-radius: 2px; 170 - 435 + 460 100 20 @@ -1882,7 +1882,7 @@ border-radius: 2px; 276 - 461 + 486 100 18 @@ -1962,7 +1962,7 @@ border-radius: 2px; 40 - 460 + 485 120 20 @@ -1972,7 +1972,7 @@ border-radius: 2px; 170 - 460 + 485 100 20 @@ -2037,7 +2037,7 @@ border-radius: 2px; 20 - 260 + 285 140 20 @@ -2047,7 +2047,7 @@ border-radius: 2px; 170 - 260 + 285 100 20 @@ -2098,7 +2098,7 @@ border-radius: 2px; 276 - 261 + 286 100 18 @@ -2178,7 +2178,7 @@ border-radius: 2px; 70 - 210 + 235 90 20 @@ -2188,7 +2188,7 @@ border-radius: 2px; 170 - 210 + 235 100 20 @@ -2239,7 +2239,7 @@ border-radius: 2px; 276 - 211 + 236 100 18 @@ -2319,7 +2319,7 @@ border-radius: 2px; 10 - 235 + 260 150 20 @@ -2329,7 +2329,7 @@ border-radius: 2px; 170 - 235 + 260 100 20 @@ -2380,7 +2380,7 @@ border-radius: 2px; 276 - 236 + 261 100 18 @@ -2439,7 +2439,7 @@ border-radius: 2px; 390 30 380 - 530 + 555 @@ -3298,7 +3298,7 @@ border-radius: 2px; 10 - 485 + 510 150 20 @@ -3308,7 +3308,7 @@ border-radius: 2px; 50 - 535 + 560 222 22 @@ -3393,7 +3393,7 @@ border-radius: 2px; 170 - 485 + 510 100 20 @@ -3423,7 +3423,7 @@ border-radius: 2px; 276 - 486 + 511 100 18 @@ -3503,7 +3503,7 @@ border-radius: 2px; 23 - 510 + 535 140 20 @@ -3513,7 +3513,7 @@ border-radius: 2px; 170 - 510 + 535 100 20 @@ -4022,6 +4022,93 @@ border-radius: 2px; caLineEdit::Static + + + QFrame::NoFrame + + + + 0 + 0 + 0 + + + + + 0 + 0 + 0 + + + + SDK version + + + ESimpleLabel::WidthAndHeight + + + Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignVCenter + + + + 20 + 134 + 140 + 20 + + + + + + + 170 + 135 + 160 + 18 + + + + caLineEdit::WidthAndHeight + + + $(P)$(R)SDKVersion_RBV + + + + 10 + 0 + 184 + + + + + 187 + 187 + 187 + + + + caLineEdit::Channel + + + caLineEdit::Channel + + + 0.0 + + + 1.0 + + + Qt::AlignAbsolute|Qt::AlignLeft|Qt::AlignVCenter + + + string + + + caLineEdit::Static + + diff --git a/ADApp/pluginSrc/NDFileHDF5.cpp b/ADApp/pluginSrc/NDFileHDF5.cpp index 2b4d89b88..6298b8e49 100644 --- a/ADApp/pluginSrc/NDFileHDF5.cpp +++ b/ADApp/pluginSrc/NDFileHDF5.cpp @@ -2384,12 +2384,13 @@ NDFileHDF5::NDFileHDF5(const char *portName, int queueSize, int blockingCallback } /* Set the plugin type string */ + setStringParam(NDPluginDriverPluginType, "NDFileHDF5"); + unsigned majnum=0, minnum=0, relnum=0; H5get_libversion( &majnum, &minnum, &relnum ); - char* plugin_type = (char*)calloc(40, sizeof(char)); - epicsSnprintf(plugin_type, 40, "NDFileHDF5 ver%d.%d.%d", majnum, minnum, relnum); - //printf("plugin type and version: %s\n", plugin_type ); - setStringParam(NDPluginDriverPluginType, plugin_type); + char sdkVersion[40]; + epicsSnprintf(sdkVersion, sizeof(sdkVersion), "%u.%u.%u", majnum, minnum, relnum); + setStringParam(ADSDKVersion, sdkVersion); this->supportsMultipleArrays = 1; this->pAttributeId = NULL; this->pFileAttributes = new NDAttributeList; diff --git a/ADApp/pluginSrc/NDFileJPEG.cpp b/ADApp/pluginSrc/NDFileJPEG.cpp index 55903ad55..34699e26d 100644 --- a/ADApp/pluginSrc/NDFileJPEG.cpp +++ b/ADApp/pluginSrc/NDFileJPEG.cpp @@ -323,6 +323,14 @@ NDFileJPEG::NDFileJPEG(const char *portName, int queueSize, int blockingCallback /* Set the plugin type string */ setStringParam(NDPluginDriverPluginType, "NDFileJPEG"); + + char sdkVersion[40]; +#ifdef JPEG_LIB_VERSION_MAJOR + epicsSnprintf(sdkVersion, sizeof(sdkVersion), "%d.%d", JPEG_LIB_VERSION_MAJOR, JPEG_LIB_VERSION_MINOR); +#else + epicsSnprintf(sdkVersion, sizeof(sdkVersion), "%d.%d", JPEG_LIB_VERSION / 10, JPEG_LIB_VERSION % 10); +#endif + setStringParam(ADSDKVersion, sdkVersion); this->supportsMultipleArrays = 0; setIntegerParam(NDFileJPEGQuality, 50); } diff --git a/ADApp/pluginSrc/NDFileMagick.cpp b/ADApp/pluginSrc/NDFileMagick.cpp index 8971e9662..c908cec37 100644 --- a/ADApp/pluginSrc/NDFileMagick.cpp +++ b/ADApp/pluginSrc/NDFileMagick.cpp @@ -206,6 +206,7 @@ NDFileMagick::NDFileMagick(const char *portName, int queueSize, int blockingCall /* Set the plugin type string */ setStringParam(NDPluginDriverPluginType, "NDFileMagick"); + setStringParam(ADSDKVersion, MagickLibVersionText); this->supportsMultipleArrays = 0; createParam(NDFileMagickQualityString, asynParamInt32, &NDFileMagickQuality); diff --git a/ADApp/pluginSrc/NDFileNetCDF.cpp b/ADApp/pluginSrc/NDFileNetCDF.cpp index c11867ce8..de2f70e07 100644 --- a/ADApp/pluginSrc/NDFileNetCDF.cpp +++ b/ADApp/pluginSrc/NDFileNetCDF.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -532,6 +533,10 @@ NDFileNetCDF::NDFileNetCDF(const char *portName, int queueSize, int blockingCall /* Set the plugin type string */ setStringParam(NDPluginDriverPluginType, "NDFileNetCDF"); + + // nc_inq_libvers() returns e.g. "4.3.3.1 of Jan 1 2020 00:00:00 $" + std::string ncVersion(nc_inq_libvers()); + setStringParam(ADSDKVersion, ncVersion.substr(0, ncVersion.find(' ')).c_str()); this->supportsMultipleArrays = 1; this->pAttributeId = NULL; this->ncId = 0; diff --git a/ADApp/pluginSrc/NDFileNexus.cpp b/ADApp/pluginSrc/NDFileNexus.cpp index ac5c92952..54acf3433 100644 --- a/ADApp/pluginSrc/NDFileNexus.cpp +++ b/ADApp/pluginSrc/NDFileNexus.cpp @@ -884,6 +884,7 @@ NDFileNexus::NDFileNexus(const char *portName, int queueSize, int blockingCallba /* Set the plugin type string */ setStringParam(NDPluginDriverPluginType, "NDFileNexus"); + setStringParam(ADSDKVersion, NXgetversion()); this->supportsMultipleArrays = 1; } diff --git a/ADApp/pluginSrc/NDFileTIFF.cpp b/ADApp/pluginSrc/NDFileTIFF.cpp index 16596051f..639a2aa35 100644 --- a/ADApp/pluginSrc/NDFileTIFF.cpp +++ b/ADApp/pluginSrc/NDFileTIFF.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include @@ -619,6 +620,12 @@ NDFileTIFF::NDFileTIFF(const char *portName, int queueSize, int blockingCallback /* Set the plugin type string */ setStringParam(NDPluginDriverPluginType, "NDFileTIFF"); + + // TIFFGetVersion() returns e.g. "LIBTIFF, Version 4.0.6\nCopyright ..." + std::string tiffVersion(TIFFGetVersion()); + size_t start = tiffVersion.find("Version "); + start = (start == std::string::npos) ? 0 : start + strlen("Version "); + setStringParam(ADSDKVersion, tiffVersion.substr(start, tiffVersion.find('\n', start) - start).c_str()); this->supportsMultipleArrays = 0; this->pAttributeId = NULL; diff --git a/ADApp/pluginSrc/NDPluginPva.cpp b/ADApp/pluginSrc/NDPluginPva.cpp index 0377cd810..872769cbd 100644 --- a/ADApp/pluginSrc/NDPluginPva.cpp +++ b/ADApp/pluginSrc/NDPluginPva.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -165,6 +166,11 @@ NDPluginPva::NDPluginPva(const char *portName, int queueSize, /* Set the plugin type string */ setStringParam(NDPluginDriverPluginType, "NDPluginPva"); + char sdkVersion[40]; + epicsSnprintf(sdkVersion, sizeof(sdkVersion), "%d.%d.%d", + EPICS_PVA_MAJOR_VERSION, EPICS_PVA_MINOR_VERSION, EPICS_PVA_MAINTENANCE_VERSION); + setStringParam(ADSDKVersion, sdkVersion); + /* Set PvName */ setStringParam(NDPluginPvaPvName, pvName); diff --git a/ADApp/pluginSrc/NDPluginPvxs.cpp b/ADApp/pluginSrc/NDPluginPvxs.cpp index 36b3f3bc8..f8ff00f58 100644 --- a/ADApp/pluginSrc/NDPluginPvxs.cpp +++ b/ADApp/pluginSrc/NDPluginPvxs.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include @@ -138,6 +139,12 @@ NDPluginPvxs::NDPluginPvxs(const char *portName, int queueSize, /* Set the plugin type string */ setStringParam(NDPluginDriverPluginType, "NDPluginPvxs"); + unsigned long pvxsVersion = pvxs::version_int(); + char sdkVersion[40]; + epicsSnprintf(sdkVersion, sizeof(sdkVersion), "%lu.%lu.%lu", + (pvxsVersion >> 24) & 0xff, (pvxsVersion >> 16) & 0xff, (pvxsVersion >> 8) & 0xff); + setStringParam(ADSDKVersion, sdkVersion); + /* Set PvName */ setStringParam(NDPluginPvxsPvName, pvName); diff --git a/RELEASE.md b/RELEASE.md index 50968b248..862aa57ce 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -45,6 +45,12 @@ files respectively, in the configure/ directory of the appropriate release of th ### NDFileHDF * Added support for direct chunk write for NDArrays compressed with the lz4hd5 codec. + +### Plugin SDK versions + * Plugins that use third-party libraries (NDFileHDF5, NDFileJPEG, NDFileMagick, NDFileNetCDF, + NDFileNexus, NDFileTIFF, NDPluginPva, NDPluginPvxs) now report the library version in SDKVersion_RBV. + * NDFileHDF5 no longer includes the HDF5 library version in PluginType_RBV. + * Added SDKVersion_RBV to the NDPluginBaseFull screen. ### Database template files * Fixed record names in NDROIStat.template to avoid record name duplication.