Newer
Older
"plugins": [],
"panes": [
{
"width": 1,
"row": {
"1": 1,
"2": 1,
"3": 1,
"html": "datasources[\"Clock\"][\"numeric_value\"]; // trick to trigger the update\nvar cols = document.getElementsByClassName('gs_w')[0].getAttribute('data-sizex');\ndocument.getElementsByClassName('gs_w')[0].firstElementChild.firstElementChild.innerHTML = \"\";\n\nfontsize = 56;\nlmargin = 0;\nwidth = 100-lmargin;\n\nif (cols == 3) {\n lmargin=20;\n fontsize=36;\n width = 100-lmargin;\n\n}\n\nif (cols == 2) {\n lmargin=30;\n fontsize=26;\n width = 100-lmargin;\n\n}\n\ntext = `<div style=\\\"position: relative; margin-top: -15px; text-align: left;\\\">\n\t\t\t<div style=\\\"position: relative;\\\">\n\t\t\t\t<img src=\\\"../img/ess-logo.svg\\\" title=\\\"Designed by Emanuele Laface with PyEpics and Freeboard. Graphics by Dirk Nordt.\\\"></img>\n\t\t\t</div>\n<div class=\\\"tw-value\\\" style=\\\"font-size: `+String(fontsize)+`px; color:#ffffff !important; position: absolute; left: `+String(lmargin)+`%; width: `+String(width)+`%; height: 100%; justify-content: center; display: flex; align-items: center;\\\" title=\\\"Designed by Emanuele Laface with PyEpics and Freeboard. Graphics by Dirk Nordt.\\\">\n\t\t\t\tPublic Operations Screen\n\t\t\t</div>\n\t\t</div>`;\n\nif (cols == 1){\n text = \"<div style=\\\"position: static; margin-top: -15px;\\\"><img src=\\\"../img/ess-logo.svg\\\" title=\\\"Designed by Emanuele Laface with PyEpics and Freeboard. Graphics by Dirk Nordt.\\\"><div class=\\\"tw-value\\\" style=\\\"font-size: 30px; color:#ffffff !important; position: relative; bottom: 55px; left: 30px;\\\" title=\\\"Designed by Emanuele Laface with PyEpics and Freeboard. Graphics by Dirk Nordt.\\\"></div></img></div>\";\n document.getElementsByClassName('gs_w')[0].firstElementChild.firstElementChild.innerHTML = \"Public Operations Screen\";\n}\n\nreturn text;\n\n//display: flex; align-items: center; justify-content: center;\n//",
"5": 4,
"6": 5
},
"col_width": 2,
"widgets": [
{
"type": "indicator",
"settings": {
"value": "power = datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:AI2-SMonAvg-Mag\"][\"value\"]-datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:AI3-SMonAvg-Mag\"][\"value\"]+datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:AI4-SMonAvg-Mag\"][\"value\"]-datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:AI5-SMonAvg-Mag\"][\"value\"];\n\nif (power > 1) {\n return 1;\n}\nelse {\n return 0;\n}\n",
"on_text": "power = datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:AI2-SMonAvg-Mag\"][\"value\"]-datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:AI3-SMonAvg-Mag\"][\"value\"]+datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:AI4-SMonAvg-Mag\"][\"value\"]-datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:AI5-SMonAvg-Mag\"][\"value\"];\n\nreturn \"Power: \"+String(power.toFixed(3))+\" kW\";",
"off_text": "DTL Off"
}
},
{
"type": "flot_extended_plugin",
"settings": {
"plot_type": "area",
"legend": true,
"height": 4,
"value": "datasources[\"Clock\"][\"numeric_value\"];\n\ntimelength = datasources[\"dtl\"][\"DTL-010:RFS-EVR-101:RFSyncWdt-SP\"][\"value\"]/1000*2;\n\npwxdata = datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:Dwn6-XAxis\"][\"value\"];\npwydata = datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:Dwn6-Cmp0\"][\"value\"];\n\ntimestamp = datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:Dwn6-Cmp0\"][\"timeStamp\"][\"secondsPastEpoch\"];\nnow = Math.floor((new Date()).getTime() / 1000);\nenable = 1;\nif (now - timestamp > 120) {\n enable = 0;\n}\nelse {\n enable = 1;\n}\n\npwdata = [];\n\nfor (i=0; i < pwxdata.length; i++) {\n if (pwxdata[i] > timelength) {\n break;\n }\n\tpwdata.push([pwxdata[i], enable*pwydata[i]]);\n}\n\ndata = [{label: 'Power applied', data: pwdata, color: \"green\"}];\n\nreturn data;",
"xticks": "datasources[\"Clock\"][\"numeric_value\"];\n\nvar cols = document.getElementsByClassName('gs_w')[0].getAttribute('data-sizex');\n\ntimelength = datasources[\"dtl\"][\"DTL-010:RFS-EVR-101:RFSyncWdt-SP\"][\"value\"]/1000*2;\nxdata = datasources[\"dtl\"][\"DTL-010:RFS-DIG-101:Dwn6-XAxis\"][\"value\"];\n\nif (xdata.length == 0) {\n return;\n}\n\nif (timelength > xdata[xdata.length-1]) {\n timelength = xdata[xdata.length-1];\n}\n\nxtick = [];\nsize = 10;\nif (cols == 1) {\n size = 4;\n}\n\nfor (i = 0; i < (size+1); i += 1) {\n xtick.push([timelength*i/size, (timelength*i/size).toFixed(3).toString()]);\n}\nxtick[size/2][1] = xtick[size/2][1]+\"<br>t [ms]\";\n\nreturn xtick;\n\n",
"yticks": "datasources[\"Clock\"][\"numeric_value\"]\n\nif (typeof axes === 'undefined') {\n return;\n}\n\ndtlytick = [];\nfor (i = 0; i < axes.yaxis.ticks.length-1; i += 1) {\n\tdtlytick.push([axes.yaxis.ticks[i][\"v\"], axes.yaxis.ticks[i][\"label\"]]);\n}\n\ndtlytick.push([axes.yaxis.ticks[axes.yaxis.ticks.length-1][\"v\"], \"P [kW]\"]);\nreturn dtlytick;",
"zoom": "xy"
}
}
]
},
{
"title": "Permit table",
"width": 1,
"row": {
"1": 7,
"2": 7,
"3": 7,
"4": 7,
},
"col": {
"1": 1,
"2": 1,
"3": 1,
"4": 1,
},
"col_width": 1,
"widgets": [
{
"type": "indicator",
"settings": {
"title": "",
"value": "datasources[\"general\"][\"FBIS::beam_permit_ok\"][\"value\"][\"index\"]",
"on_text": "FBIS Global Permit",
"off_text": "FBIS Global Permit"
}
},
"value": "datasources[\"general\"][\"BPROD:Ops:BState\"][\"value\"][\"index\"]",
"on_text": "OP Beam Requested",
"off_text": "OP Beam Requested"
}
},
{
"type": "text_widget",
"settings": {
"title": "PSS1 Mode of Operation",
"size": "regular",
"value": "return datasources[\"general\"][\"AccPSS:PSS-Area-1:PSSMode\"][\"value\"][\"choices\"][datasources[\"general\"][\"AccPSS:PSS-Area-1:PSSMode\"][\"value\"][\"index\"]];",
"title": "Beam Production Table",
"5": 7,
"6": 7,
"7": 13,
"8": 13,
"title": "Frequency",
"size": "regular",
"value": "datasources[\"general\"][\"TD-M:Ctrl-SCE-1:ScTable-RB\"][\"value\"].split(\"__\")[1];",
"value": "valueArray = [];\nrawArray = datasources[\"general\"][\"TD-M:Ctrl-SCE-1:ScTable-RB\"][\"value\"].split(\"_\")\nrawArray.forEach(function (item, index) {\n if (item != \"\") {\n valueArray.push(item);\n }\n});\n\nreturn valueArray[2];",
"title": "LEBT Pulse Length",
"size": "regular",
"value": "valueArray = [];\nrawArray = datasources[\"general\"][\"TD-M:Ctrl-SCE-1:ScTable-RB\"][\"value\"].split(\"_\")\nrawArray.forEach(function (item, index) {\n if (item != \"\") {\n valueArray.push(item);\n }\n});\n\nreturn valueArray[3];",
"animate": true,
"units": "µs"
}
},
{
"type": "text_widget",
"settings": {
"title": "MEBT Pulse Length",
"size": "regular",
"value": "valueArray = [];\nrawArray = datasources[\"general\"][\"TD-M:Ctrl-SCE-1:ScTable-RB\"][\"value\"].split(\"_\")\nrawArray.forEach(function (item, index) {\n if (item != \"\") {\n valueArray.push(item);\n }\n});\n\nreturn valueArray[4];",
"animate": true,
"units": "µs"
"5": 7,
"6": 7,
"7": 7,
"8": 7,
"9": 7,
"10": 7,
"11": 7,
"12": 7,
"13": 7,
"14": 7,
"15": 7
},
"col": {
"1": 1,
"2": 1,
"5": 3,
"6": 2,
"7": 1,
"8": 1,
"9": 1,
"10": 1,
"11": 1,
"12": 1,
"13": 1,
"14": 1,
"15": 1
"value": "datasources[\"general\"][\"NSO:Ops:SID\"][\"value\"]",
}
},
{
"type": "text_widget",
"settings": {
"size": "regular",
"value": "datasources[\"Clock\"][\"numeric_value\"];\n\nvar elements = document.getElementsByClassName('tw-value');\n\nfor (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n if (element.innerHTML == datasources[\"general\"][\"NSO:Ops:Msg\"][\"value\"]) {\n element.style.fontSize = \"18px\";\n }\n}\n\nreturn datasources[\"general\"][\"NSO:Ops:Msg\"][\"value\"];",
"value": "if (datasources[\"general\"][\"NSO:Ops:ESSSystemPermit\"][\"value\"][\"index\"] == 1) {\n return 1;\n}\nelse {\n return 0;\n}",
"on_text": "Beam Authorization",
"off_text": "Beam Authorization"
}
},
{
"type": "indicator",
"settings": {
"value": "datasources[\"general\"][\"NSO:Ops:ESSSystemPermit\"][\"value\"][\"index\"]",
{
"title": "Ion Source",
"width": 1,
"row": {
"5": 17,
"6": 7,
"7": 7,
"8": 7,
"10": 7,
"11": 7,
"12": 7
},
"col": {
"1": 1,
"2": 2,
"5": 3,
"6": 4,
"7": 1,
"8": 1,
"10": 1,
"11": 1,
"12": 1
},
"col_width": 1,
"widgets": [
{
"type": "indicator",
"settings": {
"value": "datasources[\"source\"][\"ISrc-CS:ISS-Magtr-01:MwRdy\"][\"value\"][\"index\"]",
"on_text": "Magnetron On",
"off_text": "Magnetron Off"
}
},
{
"type": "text_widget",
"settings": {
"title": "Power",
"size": "regular",
"value": "datasources[\"source\"][\"ISrc-CS:ISS-Magtr-01:PulsHLvl-S\"][\"value\"]",
"animate": true,
"units": "W"
}
},
{
"type": "indicator",
"settings": {
"title": "High Voltage Platform",
"value": "datasources[\"source\"][\"ISrc-CS:ISS-HVPS-01:Pwr-R\"][\"value\"][\"index\"]\n",
"on_text": "String(datasources[\"source\"][\"ISrc-CS:ISS-HVPS-01:Vol-R\"][\"value\"].toFixed(0))+\" \"+datasources[\"source\"][\"ISrc-CS:ISS-HVPS-01:Vol-R\"][\"display\"][\"units\"]",
"off_text": "String(datasources[\"source\"][\"ISrc-CS:ISS-HVPS-01:Vol-R\"][\"value\"].toFixed(0))+\" \"+datasources[\"source\"][\"ISrc-CS:ISS-HVPS-01:Vol-R\"][\"display\"][\"units\"]"
"value": "timelength = datasources[\"rfq\"][\"RFQ-010:RFS-EVR-101:RFSyncWdt-SP\"][\"value\"]/1000;\npwxdata = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:Dwn6-XAxis.[0:100:-1]\"][\"value\"];\npwydata = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:Dwn6-Cmp0.[0:100:-1]\"][\"value\"];\n\npower = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:AI2-SMonAvg-Mag\"][\"value\"]-datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:AI3-SMonAvg-Mag\"][\"value\"]+datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:AI4-SMonAvg-Mag\"][\"value\"]-datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:AI5-SMonAvg-Mag\"][\"value\"];\n\npwdata = 0;\ncounts = 0;\n\ntimestamp = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:Dwn6-Cmp0.[0:100:-1]\"][\"timeStamp\"][\"secondsPastEpoch\"];\nnow = Math.floor((new Date()).getTime() / 1000);\nenable = 1;\nif (now - timestamp > 60) {\n enable = 0;\n}\n\nfor (i=0; i < pwxdata.length; i++) {\n if (pwxdata[i] > timelength) {\n break;\n }\n\tpwdata += enable*pwydata[i];\n counts += 1;\n}\n\nif (counts == 0) {\n return 0;\n}\n\nif (pwdata/counts < 3) {\n return 0;\n}\n\nreturn 1;",
"on_text": "power = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:AI2-SMonAvg-Mag\"][\"value\"]-datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:AI3-SMonAvg-Mag\"][\"value\"]+datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:AI4-SMonAvg-Mag\"][\"value\"]-datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:AI5-SMonAvg-Mag\"][\"value\"];\n\nreturn \"Power: \"+String(power.toFixed(3))+\" kW\";",
"value": "datasources[\"Clock\"][\"numeric_value\"];\n\ntimelength = datasources[\"rfq\"][\"RFQ-010:RFS-EVR-101:RFSyncWdt-SP\"][\"value\"]/1000*2;\n\npwxdata = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:Dwn6-XAxis.[0:100:-1]\"][\"value\"];\npwydata = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:Dwn6-Cmp0.[0:100:-1]\"][\"value\"];\n\ntimestamp = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:Dwn6-Cmp0.[0:100:-1]\"][\"timeStamp\"][\"secondsPastEpoch\"];\nnow = Math.floor((new Date()).getTime() / 1000);\nenable = 1;\nif (now - timestamp > 120) {\n enable = 0;\n}\nelse {\n enable = 1;\n}\n\npwdata = [];\n\nfor (i=0; i < pwxdata.length; i++) {\n if (pwxdata[i] > timelength) {\n break;\n }\n\tpwdata.push([pwxdata[i], enable*pwydata[i]]);\n}\n\ndata = [{label: 'Power applied', data: pwdata, color: \"green\"}];\n\nreturn data;",
"xticks": "datasources[\"Clock\"][\"numeric_value\"];\n\nvar cols = document.getElementsByClassName('gs_w')[0].getAttribute('data-sizex');\n\ntimelength = datasources[\"rfq\"][\"RFQ-010:RFS-EVR-101:RFSyncWdt-SP\"][\"value\"]/1000*2;\nxdata = datasources[\"rfq\"][\"RFQ-010:RFS-DIG-101:Dwn6-XAxis.[0:100:-1]\"][\"value\"];\n\nif (xdata.length == 0) {\n return;\n}\n\nif (timelength > xdata[xdata.length-1]) {\n timelength = xdata[xdata.length-1];\n}\n\nxtick = [];\nsize = 10;\nif (cols == 1) {\n size = 4;\n}\n\nfor (i = 0; i < (size+1); i += 1) {\n xtick.push([timelength*i/size, (timelength*i/size).toFixed(3).toString()]);\n}\nxtick[size/2][1] = xtick[size/2][1]+\"<br>t [ms]\";\n\nreturn xtick;\n\n",
"yticks": "datasources[\"Clock\"][\"numeric_value\"]\n\nif (typeof axes === 'undefined') {\n return;\n}\n\nytick = [];\nfor (i = 0; i < axes.yaxis.ticks.length-1; i += 1) {\n\tytick.push([axes.yaxis.ticks[i][\"v\"], axes.yaxis.ticks[i][\"label\"]]);\n}\n\nytick.push([axes.yaxis.ticks[axes.yaxis.ticks.length-1][\"v\"], \"P [kW]\"]);\nreturn ytick;",
"zoom": "xy"
}
}
]
},
{
"title": "Beam Mode",
"width": 1,
"row": {
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
"5": 15,
"6": 15,
"7": 21,
"8": 21,
"9": 21,
"10": 21,
"12": 21
},
"col": {
"1": 1,
"2": 1,
"3": 1,
"4": 1,
"5": 1,
"6": 1,
"7": 3,
"8": 3,
"9": 3,
"10": 3,
"12": 3
},
"col_width": 1,
"widgets": [
{
"type": "text_widget",
"settings": {
"size": "regular",
"value": "datasources[\"general\"][\"TD-M:Ctrl-SCE-1:BMod-Sel\"][\"value\"][\"choices\"][datasources[\"general\"][\"TD-M:Ctrl-SCE-1:BMod-Sel\"][\"value\"][\"index\"]]\n",
"value": "datasources[\"general\"][\"TD-M:Ctrl-SCE-1:BDest-Sel\"][\"value\"][\"choices\"][datasources[\"general\"][\"TD-M:Ctrl-SCE-1:BDest-Sel\"][\"value\"][\"index\"]]",
{
"title": "Beam Energy",
"width": 1,
"row": {
"12": 2
},
"col_width": 1,
"widgets": [
{
"type": "text_widget",
"settings": {
"size": "regular",
"value": "switch(datasources[\"general\"][\"TD-M:Ctrl-SCE-1:BDest-Sel\"][\"value\"][\"index\"]) {\n case 0:\n return \"0 keV\";\n break;\n case 1:\n\t\treturn \"75 keV\";\n break;\n\tcase 2:\n\t\treturn String(datasources[\"general\"][\"PBI-FBPM01:FBPM-01:Energy-R\"][\"value\"].toFixed(2))+\" MeV\";\n break;\n\tcase 3:\n\t\treturn \"DTL2 Energy\";\n break;\n\tcase 4:\n\t\treturn \"DLT3 Energy\";\n break;\n default:\n return \"NO Energy reading\";\n}",
"animate": true
}
}
]
},
{
"title": "ISrc Beam Current",
"width": 1,
"row": {
},
"col": {
"1": 1,
"2": 2,
"3": 1,
},
"col_width": 1,
"widgets": [
{
"type": "text_widget",
"settings": {
"size": "regular",
"value": "datasources[\"source\"][\"ISrc-010:PBI-BCM-001:FlatTopCurrentR\"][\"value\"].toFixed(3)",
"animate": true,
"units": "mA"
}
}
]
},
},
"col": {
"1": 1,
"2": 1,
"3": 1,
"4": 1,
"widgets": [
{
"type": "flot_extended_plugin",
"settings": {
"plot_type": "line",
"legend": true,
"height": 5,
"value": "datasources[\"Clock\"][\"numeric_value\"];\n\nswitch(datasources[\"general\"][\"TD-M:Ctrl-SCE-1:BDest-Sel\"][\"value\"][\"index\"]) {\n case 0:\n return \"ISrc\";\n break;\n case 1:\n\t\tlebtydata = datasources[\"pbi\"][\"LEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"];\n rfqydata = datasources[\"pbi\"][\"RFQ-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"];\n mebt1ydata = datasources[\"pbi\"][\"MEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"];\n mebt2ydata = datasources[\"pbi\"][\"MEBT-010:PBI-BCM-002:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"];\n fclebtydata = datasources[\"pbi\"][\"LEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[1000:40:9000]\"][\"value\"];\n fcmebtydata = datasources[\"pbi\"][\"MEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[1000:40:9000]\"][\"value\"];\n startroi = 1000;\n\t\tendroi = 9000;\n break;\n\tcase 2:\n lebtydata = datasources[\"pbi\"][\"LEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"];\n rfqydata = datasources[\"pbi\"][\"RFQ-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"];\n mebt1ydata = datasources[\"pbi\"][\"MEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"];\n mebt2ydata = datasources[\"pbi\"][\"MEBT-010:PBI-BCM-002:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"];\n fclebtydata = datasources[\"pbi\"][\"LEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[6500:1:6700]\"][\"value\"];\n fcmebtydata = datasources[\"pbi\"][\"MEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[6500:1:6700]\"][\"value\"];\n startroi = 6500;\n\t\tendroi = 6700;\n break;\n\tcase 3:\n\t\treturn \"DTL2\";\n break;\n\tcase 4:\n\t\treturn \"DLT3\";\n break;\n default:\n return \"NO Destination\";\n}\n\nlebtdata = [];\nrfqdata = [];\nmebt1data = [];\nmebt2data = [];\nfclebtdata = [];\nfcmebtdata = [];\n\n\n\nfor (i=0; i < lebtydata.length; i++) {\n\tlebtdata.push([((endroi-startroi)/lebtydata.length*i+startroi)/1000, lebtydata[i]]);\n}\n\nfor (i=0; i < rfqydata.length; i++) {\n\trfqdata.push([((endroi-startroi)/rfqydata.length*i+startroi)/1000, rfqydata[i]]);\n}\n\nfor (i=0; i < mebt1ydata.length; i++) {\n\tmebt1data.push([((endroi-startroi)/mebt1ydata.length*i+startroi)/1000, mebt1ydata[i]]);\n}\n\nfor (i=0; i < mebt2ydata.length; i++) {\n\tmebt2data.push([((endroi-startroi)/mebt2ydata.length*i+startroi)/1000, mebt2ydata[i]]);\n}\n\nfor (i=0; i < fclebtydata.length; i++) {\n\tfclebtdata.push([((endroi-startroi)/fclebtydata.length*i+startroi)/1000, fclebtydata[i]]);\n}\n\nfor (i=0; i < fcmebtydata.length; i++) {\n\tfcmebtdata.push([((endroi-startroi)/fcmebtydata.length*i+startroi)/1000, fcmebtydata[i]]);\n}\n\ndata = [{label: 'BCM LEBT', data: lebtdata, color: \"red\"},\n {label: 'BCM RFQ', data: rfqdata, color: \"green\"},\n {label: 'BCM MEBT 1', data: mebt1data, color: \"pink\"},\n {label: 'BCM MEBT 2', data: mebt2data, color: \"black\"},\n {label: 'FC LEBT', data: fclebtdata, color: \"lime\"},\n {label: 'FC MEBT', data: fcmebtdata, color: \"yellow\"}];\n\nreturn data;",
"yticks": "datasources[\"Clock\"][\"numeric_value\"];\n\nif (typeof axes === 'undefined') {\n return;\n}\n\nytick = [];\n\nmax_val = 0;\nmin_val = 0;\n \nswitch(datasources[\"POS\"][\"TD-M:Ctrl-SCE-1:BDest-Sel\"][\"value\"][\"index\"]) {\n case 0: // ISrc\n return;\n break;\n case 1:\n max_val = Math.max(Math.max.apply(Math, datasources[\"POS\"][\"LEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"RFQ-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-BCM-002:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"LEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[1000:40:9000]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[1000:40:9000]\"][\"value\"]));\n \n min_val = Math.min(Math.min.apply(Math, datasources[\"POS\"][\"LEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"RFQ-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-BCM-002:PRC-TR1-ArrayData.[5503:200:49530]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"LEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[1000:40:9000]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[1000:40:9000]\"][\"value\"]));\n break;\n\tcase 2:\n max_val = Math.max(Math.max.apply(Math, datasources[\"POS\"][\"LEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"RFQ-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-BCM-002:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"LEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[6500:1:6700]\"][\"value\"]),\n Math.max.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[6500:1:6700]\"][\"value\"]));\n \n min_val = Math.min(Math.min.apply(Math, datasources[\"POS\"][\"LEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"RFQ-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-BCM-002:PRC-TR1-ArrayData.[35772:4:36872]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"LEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[6500:1:6700]\"][\"value\"]),\n Math.min.apply(Math, datasources[\"POS\"][\"MEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[6500:1:6700]\"][\"value\"]));\n break;\n\tcase 3: // DTL1\n\t\treturn;\n break;\n\tcase 4: // DTL2\n\t\treturn;\n break;\n default:\n return;\n}\n\n\nif (max_val < 0.3) {\n for (i=-0.2; i<0.2; i+=0.05) {\n ytick.push([i,String(i.toFixed(2))]);\n }\n ytick.push([0.2,\"I [mA]\"]);\n}\nelse {\n step = (max_val-min_val)/10;\n for (i=min_val; i<max_val; i+=step) {\n ytick.push([i,String(i.toFixed(1))]);\n }\n ytick.push([max_val+step,\"I [mA]\"]);\n}\n\n\n\n\nreturn ytick;",
"url": "/data/api/v2/pvget/AccPSS:PSS-Area-1:PSSMode,BPROD:Ops:BState,NSO:Ops:SID,NSO:Ops:Msg,NSO:Ops:BeamAuthorization,NSO:Ops:ESSSystemPermit,FBIS::beam_permit_ok,PBI-FBPM01:FBPM-01:Energy-R,TD-M:Ctrl-SCE-1:ScTable-RB,TD-M:Ctrl-SCE-1:BState-Sts,TD-M:Ctrl-SCE-1:BMod-Sel,TD-M:Ctrl-SCE-1:BDest-Sel",
},
{
"name": "Clock",
"type": "clock",
"settings": {
"refresh": 1,
"name": "Clock"
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
},
{
"name": "source",
"type": "JSON",
"settings": {
"url": "/data/api/v2/pvget/ISrc-CS:ISS-Magtr-01:MwRdy,ISrc-CS:ISS-Magtr-01:PulsHLvl-S,ISrc-CS:ISS-HVPS-01:Pwr-R,ISrc-010:PBI-BCM-001:FlatTopCurrentR,ISrc-CS:ISS-HVPS-01:Vol-R",
"use_thingproxy": true,
"refresh": 10,
"method": "GET"
}
},
{
"name": "rfq",
"type": "JSON",
"settings": {
"url": "/data/api/v2/pvget/RFQ-010:RFS-DIG-101:AI2-SMonAvg-Mag,RFQ-010:RFS-DIG-101:AI3-SMonAvg-Mag,RFQ-010:RFS-DIG-101:AI4-SMonAvg-Mag,RFQ-010:RFS-DIG-101:AI5-SMonAvg-Mag,RFQ-010:RFS-DIG-101:Dwn6-XAxis.[0:100:-1],RFQ-010:RFS-DIG-101:Dwn6-Cmp0.[0:100:-1],RFQ-010:RFS-EVR-101:RFSyncWdt-SP",
"use_thingproxy": true,
"refresh": 10,
"method": "GET"
}
},
{
"name": "pbi",
"type": "JSON",
"settings": {
"url": "/data/api/v2/pvget/RFQ-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872],RFQ-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530],LEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[6500:1:6700],LEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[1000:40:9000],LEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872],LEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530],MEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[6500:1:6700],MEBT-010:PBI-FC-001:TRC2-ArrayData-Comp.[1000:40:9000],MEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[35772:4:36872],MEBT-010:PBI-BCM-001:PRC-TR1-ArrayData.[5503:200:49530],MEBT-010:PBI-BCM-002:PRC-TR1-ArrayData.[35772:4:36872],MEBT-010:PBI-BCM-002:PRC-TR1-ArrayData.[5503:200:49530]",
"use_thingproxy": true,
"refresh": 10,
"method": "GET"
}
},
{
"name": "dtl",
"type": "JSON",
"settings": {
"url": "/data/api/v2/pvget/DTL-010:RFS-DIG-101:AI2-SMonAvg-Mag,DTL-010:RFS-DIG-101:AI3-SMonAvg-Mag,DTL-010:RFS-DIG-101:AI4-SMonAvg-Mag,DTL-010:RFS-DIG-101:AI5-SMonAvg-Mag,DTL-010:RFS-DIG-101:Dwn6-XAxis,DTL-010:RFS-DIG-101:Dwn6-Cmp0,DTL-010:RFS-EVR-101:RFSyncWdt-SP",
"use_thingproxy": true,
"refresh": 10,
"method": "GET"
}