{ "version": 1, "header_image": "", "allow_edit": false, "plugins": [], "panes": [ { "width": 1, "row": { "1": 1, "2": 1, "3": 1, "4": 1 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1 }, "col_width": 4, "widgets": [ { "type": "html", "settings": { "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 = \"\";\nif (cols == 4){\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: 56px; color:#ffffff !important; position: relative; bottom: 35px; left: 160px;\\\" title=\\\"Designed by Emanuele Laface with PyEpics and Freeboard. Graphics by Dirk Nordt.\\\">Public Operations Screen</div></img></div>\";\n}\nif (cols == 3){\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: 46px; color:#ffffff !important; position: relative; bottom: 45px; left: 100px;\\\" title=\\\"Designed by Emanuele Laface with PyEpics and Freeboard. Graphics by Dirk Nordt.\\\">Public Operations Screen</div></img></div>\";\n}\n\nif (cols == 2){\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.\\\">Public Operations Screen</div></img></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", "height": 2 } } ] }, { "title": "Power applied to the RFQ", "width": 1, "row": { "1": 7, "2": 7, "3": 7, "4": 7, "5": 1, "6": 1, "7": 1, "9": 1 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "5": 3, "6": 3, "7": 3, "9": 3 }, "col_width": 4, "widgets": [ { "type": "flot_extended_plugin", "settings": { "plot_type": "stacked_area", "legend": true, "height": 4, "value": "xdata = datasources[\"POS\"][\"RFQ-010:RFS-DIG-101:Dwn0-XAxis.[:350:]\"][\"value\"];\nydata = datasources[\"POS\"][\"RFQ-010:RFS-DIG-101:Dwn6-Cmp0.[:350:]\"][\"value\"];\n\ndata = []\nfor (i = 0; i < ydata.length; i += 1) {\n\tdata.push([xdata[i],ydata[i]]);\n}\n\nreturn [{label: 'Current Power', data: data}];", "xticks": "", "yticks": "", "points": false, "tooltip": false, "zoom": "xy" } } ] }, { "title": "Power in the RFQ (not yet calibrated)", "width": 1, "row": { "1": 17, "2": 17, "3": 17, "4": 17, "6": 17, "7": 17, "9": 17, "10": 17 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "6": 1, "7": 1, "9": 1, "10": 1 }, "col_width": 4, "widgets": [ { "type": "flot_extended_plugin", "settings": { "plot_type": "stacked_area", "legend": true, "height": 4, "value": "xdata = datasources[\"POS\"][\"RFQ-010:RFS-DIG-101:Dwn0-XAxis.[:350:]\"][\"value\"];\nydata = datasources[\"POS\"][\"RFQ-010:RFS-DIG-102:Dwn4-Cmp0.[:350:]\"][\"value\"];\n\ndata = []\nfor (i = 0; i < ydata.length; i += 1) {\n\tdata.push([xdata[i],ydata[i]]);\n}\n\nreturn [{label: 'Power', data: data, color: 'red'}];", "points": false, "tooltip": false, "zoom": "xy" } } ] }, { "title": "Shift ID", "width": 1, "row": { "1": 43, "2": 35, "3": 31, "4": 31, "5": 7, "6": 7, "7": 7, "10": 7, "12": 7, "13": 7, "14": 7, "15": 7 }, "col": { "1": 1, "2": 1, "3": 2, "4": 2, "5": 1, "6": 1, "7": 1, "10": 1, "12": 1, "13": 1, "14": 1, "15": 1 }, "col_width": 1, "widgets": [ { "type": "text_widget", "settings": { "size": "regular", "value": "datasources[\"POS\"][\"NSO:Ops:SID\"][\"value\"]", "animate": false } } ] }, { "title": "Shift Leader", "width": 1, "row": { "1": 47, "2": 35, "3": 31, "4": 31, "5": 7, "6": 7, "7": 7, "10": 7, "12": 7, "13": 7, "14": 7, "15": 7 }, "col": { "1": 1, "2": 2, "3": 3, "4": 3, "5": 2, "6": 2, "7": 2, "10": 2, "12": 2, "13": 2, "14": 2, "15": 2 }, "col_width": 1, "widgets": [ { "type": "text_widget", "settings": { "size": "regular", "value": "datasources[\"POS\"][\"NSO:Ops:SL\"][\"value\"]", "animate": false } } ] }, { "title": "Current time", "width": 1, "row": { "1": 57, "2": 39, "3": 35, "4": 33, "5": 19, "6": 19, "10": 19, "12": 19, "13": 19, "14": 19, "15": 19, "16": 19 }, "col": { "1": 1, "2": 2, "3": 2, "4": 4, "5": 1, "6": 1, "10": 1, "12": 1, "13": 1, "14": 1, "15": 1, "16": 1 }, "col_width": 1, "widgets": [ { "type": "html", "settings": { "html": "<div id=\"uhr\"></div>\n<script type=\"text/javascript\" src=\"./js/bahnhofsuhr.js\"></script>\n<script type=\"text/javascript\">\n var uhr = new Bahnhofsuhr(\"uhr\", {showBorder: true, showShadow: false});\nwindow.onresize = uhr.scale;\n</script>", "height": 2 } } ] }, { "title": "Control Room Message", "width": 1, "row": { "1": 51, "2": 39, "3": 35, "4": 27, "9": 17, "10": 17, "12": 17, "13": 17, "14": 17, "15": 17, "16": 17 }, "col": { "1": 1, "2": 1, "3": 1, "4": 4, "9": 3, "10": 3, "12": 3, "13": 3, "14": 3, "15": 3, "16": 3 }, "col_width": 1, "widgets": [ { "type": "html", "settings": { "html": "var date = new Date(datasources[\"POS\"][\"NSO:Ops:Msg\"][\"timestamp\"]*1e3);\nreturn \"<div class=\\\"tw-value\\\" style=\\\"font-size: 16px; width=100%; margin-top:10px; margin-left:10px; margin-right:10px;\\\" title=\\\"\"+date+\"\\\">\"+ datasources[\"POS\"][\"NSO:Ops:Msg\"][\"value\"] +\"</div>\"", "height": 2 } } ] }, { "title": "Average power applied to the RFQ", "width": 1, "row": { "1": 27, "2": 27, "3": 27, "4": 27 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1 }, "col_width": 1, "widgets": [ { "type": "text_widget", "settings": { "title": "", "size": "regular", "value": "datasources[\"POS\"][\"RFQ-010:RFS-DIG-101:AI6-SMonAvg-Mag\"][\"value\"].toFixed(3)", "sparkline": false, "animate": true, "units": "kW" } } ] }, { "title": "Repetition Rate", "width": 1, "row": { "1": 31, "2": 27, "3": 27, "4": 27 }, "col": { "1": 1, "2": 2, "3": 2, "4": 2 }, "col_width": 1, "widgets": [ { "type": "text_widget", "settings": { "size": "regular", "value": "Math.round(datasources[\"POS\"][\"RFQ-010:RFS-EVR-101:CycleFreq-RB\"][\"value\"])", "sparkline": false, "animate": true, "units": "Hz" } } ] }, { "title": "Pulse Width", "width": 1, "row": { "1": 35, "2": 31, "3": 27, "4": 27 }, "col": { "1": 1, "2": 1, "3": 3, "4": 3 }, "col_width": 1, "widgets": [ { "type": "text_widget", "settings": { "size": "regular", "value": "(datasources[\"POS\"][\"RFQ-010:RFS-EVR-101:RFSyncWdt-SP\"][\"value\"]/1000).toFixed(3)", "animate": true, "units": "ms" } } ] }, { "title": "PSS1 MODE OF OPERATION", "width": 1, "row": { "1": 39, "2": 31, "3": 31, "4": 31 }, "col": { "1": 1, "2": 2, "3": 1, "4": 1 }, "col_width": 1, "widgets": [ { "type": "text_widget", "settings": { "size": "regular", "value": "switch(datasources[\"POS\"][\"AccPSS:PSS-Area-1:PSSMode\"][\"value\"]) {\n case 0:\n return \"Alarm\";\n break;\n case 1:\n return \"Open Access\";\n break;\n case 2:\n return \"Search\";\n break; \n case 3:\n return \"Tunnel Closed\";\n break;\n case 4:\n return \"Beam On\";\n break;\n case 5:\n return \"RM Interlock\";\n break;\n case 6:\n return \"RP Survey\";\n break;\n case 7:\n return \"Restricted Access\";\n break;\n default:\n // code block\n}", "animate": false } } ] } ], "datasources": [ { "name": "POS", "type": "JSON", "settings": { "url": "/data/api/v1/caget/AccPSS:PSS-Area-1:PSSMode,RFQ-010:RFS-DIG-101:AI6-SMonAvg-Mag,RFQ-010:RFS-EVR-101:CycleFreq-RB,RFQ-010:RFS-EVR-101:RFSyncWdt-SP,NSO:Ops:SID,NSO:Ops:Msg,NSO:Ops:SL,RFQ-010:RFS-DIG-101:Dwn6-Cmp0.[:350:],RFQ-010:RFS-DIG-101:Dwn0-XAxis.[:350:],RFQ-010:RFS-DIG-102:Dwn4-Cmp0.[:350:]", "use_thingproxy": false, "refresh": 10, "method": "GET" } }, { "name": "Clock", "type": "clock", "settings": { "refresh": 1, "name": "Clock" } } ], "columns": 4 }