{ "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": "RFQ Conditioning", "width": 1, "row": { "1": 7, "2": 7, "3": 7, "4": 7, "5": 1, "6": 1, "7": 1, "8": 1, "9": 1, "11": 1 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "5": 3, "6": 3, "7": 3, "8": 3, "9": 3, "11": 3 }, "col_width": 4, "widgets": [ { "type": "flot_extended_plugin", "settings": { "plot_type": "area", "legend": true, "height": 4, "value": "timelength = datasources[\"POS\"][\"RFQ-010:RFS-EVR-101:RFSyncWdt-SP\"][\"value\"]/1000;\nfullxdata = datasources[\"POS\"][\"RFQ-010:RFS-DIG-101:Dwn6-XAxis\"][\"value\"];\n\nfinalindex = Math.round(timelength/(fullxdata[fullxdata.length - 1]/fullxdata.length))*2;\n\nxdata = datasources[\"POS\"][\"RFQ-010:RFS-DIG-101:Dwn6-XAxis\"][\"value\"];\npwydata = datasources[\"POS\"][\"RFQ-010:RFS-DIG-101:Dwn6-Cmp0\"][\"value\"];\nvydata = datasources[\"POS\"][\"RFQ-010:RFS-DIG-102:Dwn4-Cmp0\"][\"value\"];\n\npwdata = [];\nvdata = [];\nfor (i = 0; i < Math.min(finalindex, xdata.length); i += 1) {\n\tpwdata.push([xdata[i], pwydata[i]]);\n vdata.push([xdata[i], vydata[i]]);\n}\n\ndata = [{label: 'Power applied', data: pwdata, color: \"green\"}, {label: 'Voltage measured', data: vdata, color: \"red\"}];\n\nreturn data;", "xticks": "", "yticks": "", "points": false, "tooltip": false, "zoom": "xy" } } ] }, { "title": "Average power applied to the RFQ", "width": 1, "row": { "1": 17, "2": 17, "3": 17, "4": 17, "9": 27, "10": 27, "11": 27, "12": 27, "14": 27 }, "col": { "1": 1, "2": 1, "3": 3, "4": 1, "9": 1, "10": 1, "11": 1, "12": 1, "14": 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": "Measured Voltage in the RFQ", "width": 1, "row": { "1": 21, "2": 17, "3": 17, "4": 17, "9": 17, "10": 17, "11": 17, "14": 17 }, "col": { "1": 1, "2": 2, "3": 1, "4": 2, "9": 2, "10": 2, "11": 2, "14": 2 }, "col_width": 1, "widgets": [ { "type": "text_widget", "settings": { "size": "regular", "value": "datasources[\"POS\"][\"RFQ-010:RFS-DIG-101:AI0-SMonAvg-Mag\"][\"value\"].toFixed(3)", "animate": true, "units": "kV" } } ] }, { "title": "Pulse Width", "width": 1, "row": { "1": 29, "2": 21, "3": 17, "4": 17, "9": 27, "10": 27, "11": 27, "12": 27, "14": 27 }, "col": { "1": 1, "2": 2, "3": 2, "4": 3, "9": 3, "10": 3, "11": 3, "12": 3, "14": 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": "Repetition Rate", "width": 1, "row": { "1": 25, "2": 21, "3": 21, "4": 17, "9": 27, "10": 27, "11": 27, "12": 27, "14": 27 }, "col": { "1": 1, "2": 1, "3": 3, "4": 4, "9": 2, "10": 2, "11": 2, "12": 2, "14": 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": "PSS1 MODE OF OPERATION", "width": 1, "row": { "1": 33, "2": 49, "3": 21, "4": 21, "9": 37, "10": 37, "13": 37, "15": 37 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "9": 1, "10": 1, "13": 1, "15": 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 } } ] }, { "title": "Shift ID", "width": 1, "row": { "1": 37, "2": 53, "3": 21, "4": 21, "5": 7, "6": 7, "7": 7, "9": 7, "10": 7, "11": 7, "12": 7, "13": 7, "14": 7, "15": 7 }, "col": { "1": 1, "2": 1, "3": 2, "4": 2, "5": 1, "6": 1, "7": 1, "9": 1, "10": 1, "11": 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": "TS2 - Klystrons", "width": 1, "row": { "1": 45, "2": 25, "3": 25, "4": 25, "5": 1, "9": 1, "10": 1, "11": 1 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "5": 5, "9": 5, "10": 5, "11": 5 }, "col_width": 4, "widgets": [ { "type": "flot_extended_plugin", "settings": { "plot_type": "line", "legend": true, "height": 3, "value": "data = [{label: 'Klystron 1 powering Cavities 3 and 4', data: datasources[\"TS2\"][\"TS2-010:RFS-DIG-101:AI3-SMonAvg-Mag\"], color: \"green\"},\n {label: 'Klystron 2 powering Cavities 1 and 2', data: datasources[\"TS2\"][\"TS2-020:RFS-DIG-101:AI3-SMonAvg-Mag\"], color: \"red\"}];\n\nreturn data;", "x_timestamp": true, "zoom": "" } } ] }, { "title": "TS2 - Pulse length and Duty cycle", "width": 1, "row": { "1": 53, "2": 33, "3": 33, "4": 33, "5": 1, "10": 5, "12": 5, "13": 5, "14": 5 }, "col": { "1": 1, "2": 1, "3": 1, "4": 3, "5": 5, "10": 9, "12": 9, "13": 9, "14": 9 }, "col_width": 2, "widgets": [ { "type": "flot_extended_plugin", "settings": { "plot_type": "line", "legend": true, "height": 3, "value": "data = [{label: \"Pulse length\", data: datasources[\"TS2\"][\"TS2-010:Ctrl-EVM-101:RFWidth-RB\"], yaxis: 2},\n {label: \"Duty cycle\", data: datasources[\"TS2\"][\"TS2-010:Ctrl-EVM-101:Mxc0-Frequency-RB\"]}];\n\nreturn data;", "xticks": "", "x_timestamp": true, "zoom": "" } } ] }, { "title": "Control Room Message", "width": 1, "row": { "1": 41, "2": 57, "3": 37, "4": 21, "9": 17, "10": 17, "11": 17, "12": 17, "13": 17, "14": 17, "15": 17, "16": 17 }, "col": { "1": 1, "2": 1, "3": 3, "4": 3, "9": 3, "10": 3, "11": 3, "12": 3, "13": 3, "14": 3, "15": 3, "16": 3 }, "col_width": 2, "widgets": [ { "type": "text_widget", "settings": { "size": "regular", "value": "datasources[\"POS\"][\"NSO:Ops:Msg\"][\"value\"]", "animate": false } } ] }, { "title": "TS2 - Vacuum", "width": 1, "row": { "1": 61, "2": 41, "3": 41, "4": 33, "7": 1, "9": 1, "12": 1, "13": 1, "14": 1, "15": 1 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "7": 7, "9": 7, "12": 7, "13": 7, "14": 7, "15": 7 }, "col_width": 2, "widgets": [ { "type": "flot_extended_plugin", "settings": { "plot_type": "line", "legend": true, "height": 3, "value": "data = [{label: 'Cavity 1', data: datasources[\"TS2\"][\"TS2-010CRM:Vac-VGC-10000:PrsR\"]},\n {label: 'Cavity 2', data: datasources[\"TS2\"][\"TS2-010CRM:Vac-VGC-20000:PrsR\"]},\n {label: 'Cavity 3', data: datasources[\"TS2\"][\"TS2-010CRM:Vac-VGC-30000:PrsR\"]},\n {label: 'Cavity 4', data: datasources[\"TS2\"][\"TS2-010CRM:Vac-VGC-40000:PrsR\"]}];\n\nreturn data;", "x_timestamp": true, "zoom": "" } } ] }, { "title": "Current time", "width": 1, "row": { "1": 69, "2": 53, "3": 43, "4": 41, "5": 19, "6": 19, "9": 19, "10": 19, "11": 19, "12": 19, "13": 19, "14": 19, "15": 19, "16": 19 }, "col": { "1": 1, "2": 2, "3": 3, "4": 1, "5": 1, "6": 1, "9": 1, "10": 1, "11": 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 } } ] } ], "datasources": [ { "name": "POS", "type": "JSON", "settings": { "url": "/data/api/v1/caget/RFQ-010:RFS-DIG-101:AI0-SMonAvg-Mag,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,RFQ-010:RFS-DIG-101:Dwn6-XAxis,RFQ-010:RFS-DIG-102:Dwn4-Cmp0", "use_thingproxy": false, "refresh": 10, "method": "GET" } }, { "name": "Clock", "type": "clock", "settings": { "refresh": 1, "name": "Clock" } }, { "name": "TS2", "type": "JSON", "settings": { "url": "/data/api/v1/archiver/TS2-010:Ctrl-EVM-101:RFWidth-RB,TS2-020:RFS-DIG-101:AI3-SMonAvg-Mag,TS2-010:RFS-DIG-101:AI3-SMonAvg-Mag,TS2-010:Ctrl-EVM-101:Mxc0-Frequency-RB,TS2-010CRM:Vac-VGC-10000:PrsR,TS2-010CRM:Vac-VGC-20000:PrsR,TS2-010CRM:Vac-VGC-30000:PrsR,TS2-010CRM:Vac-VGC-40000:PrsR/1620000/100/freeboard", "use_thingproxy": true, "refresh": 10, "method": "GET" } } ], "columns": 4 }