DueUIConfig({
/*
* "dueui_content" is a key looked for by DueUI as the "root" element. It MUST exist and is must be named "dueui_content".
* Another common element attribute is "style" which can contain any CSS styles you want set for the object.
* If you see something you don't understand in a style, check https://www.w3schools.com/css/default.asp.
*/
"dueui_content": {
"id": "dueui",
"type": "tabbed_panel",
"header_panel": {
"id": "dueui_header_main",
"type": "panel",
"enabled": true,
"style": {"display": "flex", "flex-direction": "row-reverse", "width": "100%", "height": "3.3em", "border-radius": "8px", "background-color": "lightsteelblue"},
"element_configs": [
/* START definition of the STOP-Button */
{
"id": "stop",
"type": "button",
"enabled": true,
"position": {"my": "left top", "at": "left top+1", "of": "#dueui_header_main"},
"style": {"width": "120px","height": "2.8em", "border-radius": "8px", "background": "red"},
"value": "STOP",
"actions": [{"type": "gcode", "gcode": "M112"}]
},
/* END definition of the STOP-Button */
/* START definition of the RESTART-Button */
{
"id": "restart",
"type": "button",
"enabled": true,
"position": {"my": "left top", "at": "right+5 top", "of": "#stop"},
"style": {"width": "120px","height": "2.8em", "border-radius": "8px", "background": "limegreen"},
"value": "RESTART",
"actions": [{"type": "gcode", "gcode": "M999"}]
},
/* END definition of the RESTART-Button */
/* START definition of the STATUS feld */
{
"id": "status",
"type": "status",
"enabled": true,
"status_level": 1,
"position": {"my": "left top", "at": "right+5 top", "of": "#restart"},
"style": {"width": "130px", "height": "2.8em", "border-radius": "8px", "border": "none"}
},
/* END definition of the STATUS feld */
/* START definition of the GCode Label and input field */
{
"id": "gcode_label",
"type": "label",
"enabled": true,
"value": "GCode: ",
"style": {"width": "60px","height": "2.8em", "border": "none"},
"position": {"my": "left top", "at": "right+60 center-8", "of": "#status"}
},
{
"id": "console_log_input2",
"type": "input_field",
"enabled": true,
"position": {"my": "left center+8", "at": "right+5 top", "of": "#gcode_label"},
"style": {"width": "35%", "height": "2.8em", "border-radius": "8px", "box-sizing": "border-box", "font-size": "16px"},
"field_type": "text",
"autocomplete_key": "console",
"submit_on_enter": true,
"actions": [{"type": "gcode", "gcode": "${value}", "get_reply": true}]
},
/* END definition of the GCode Label and input field */
/* START of ATX button where style and text are driven by state AND GCode command corresponding to current state is executed */
{
"id": "atx_power",
"type": "button",
"enabled": true,
"position": {"my": "right top", "at": "right top+1", "of": "#dueui_header_main"},
"style": {"width": "120px", "height": "2.8em", "border-radius": "8px"},
"status_level": 1,
"state_field": "${status.params.atxPower}",
"state_styles": [
{"background": "limegreen", "content": "ATX ON"}, /* state changes to 0 (atxPower off) */
{"background": "red", "content": "ATX OFF"} /* state changes to 1 (atxPower on) */
],
"value": "ATX PWR",
"actions_type": "state",
"actions": [
[
{"type": "gcode", "gcode": "M80"}, /* power ON when the current state is 0 (off) */
{"type": "log", "severity": "(I)", "value": "Power ON"}
],
[
{"type": "gcode", "gcode": "M81"}, /* power OFF when the current state is 1 (on) */
{"type": "log", "severity": "(I)", "value": "Power OFF"}
]
]
},
/* END off ATX button where style and text are driven by state AND GCode command corresponding to current state is executed */
/* START of TEST choose-button */
{
"id": "xtestx",
"type": "button",
"enabled": true,
"position": {"my": "right top", "at": "left-5 top", "of": "#atx_power"},
"style": {"width": "120px", "height": "2.8em", "background": "DarkSlateGrey"},
"status_level": 1,
"state_field": 0,
"value": "CHOOSE",
"actions_type": "choose",
"actions": [
{"type": "gcode", "gcode": "M300 S600 P800", "label": "Beep 01"},
{"type": "gcode", "gcode": "M300 S1200 P800", "label": "Beep 02"}
]
},
/* END of TEST choose-button */
]
},
/* now the menubar bottom */
"menubar": {"id": "dueui_menubar", "type": "panel", "enabled": true},
"element_configs": [
/* START of the "Main" tab */
{
"id": "dueui_panel_main",
"type": "tab_panel",
"enabled": true,
"menubar_label": "Main",
"element_configs": [
/* START definition of the HEATER area */
{
"id": "heater_labels",
"type": "heater_labels",
"enabled": true,
"position": {"my": "left top", "at": "left top+6", "of": "#dueui_panel_main"},
"style": {"width": "100px"},
"button_defaults": {"style": {"height": "2.5em", "margin-top": "5px"}}
},
{
"id": "bed_heater",
"type": "heater",
"enabled": true,
"label": "BED",
"position": {"my": "left top", "at": "right+5 top-1", "of": "#heater_labels"},
/* the following states are off, standby, on, fault, tuning */
"state_styles": [
{"background": "DarkSlateGrey", "color": "white"},
{"background": "DarkSlateGrey", "color": "goldenrod"},
{"background": "DarkSlateGrey", "color": "limegreen"},
{"background": "DarkSlateGrey", "color": "red"},
{"background": "DarkSlateGrey", "color": "violet"}
],
"button_defaults": {"style": {"width": "170px", "height": "2.5em", "margin-top": "5px"}},
"tolerances": [
{"limit": 2, "style": {"background": "limegreen"}},
{"limit": 5, "style": {"background": "goldenrod"}},
{"limit": 999, "style": {"background": "red"}}
],
"heater_index": 0,
"current_temp_field": "${status.temps.bed.current.toFixed(1)}",
"active_temp_field": "${status.temps.bed.active}",
"standby_temp_field": "${status.temps.bed.standby}",
"state_commands": {
"off": "M140 P0 S-273.15 R-273.15",
"standby": "M144 P0 S0",
"on": "M144 P0 S1"
},
"set_temp_commands": {
"standby": "M140 P0 R${value}",
"active": "M140 P0 S${value}"
}
},
{
"id": "extr1_heater",
"type": "heater",
"enabled": true,
"label": "T1",
"position": {"my": "left top", "at": "right+100 top", "of": "#bed_heater"},
/* the following states are off, standby, on, fault, tuning */
"state_styles": [
{"background": "DarkSlateGrey", "color": "white"},
{"background": "DarkSlateGrey", "color": "goldenrod"},
{"background": "DarkSlateGrey", "color": "limegreen"},
{"background": "DarkSlateGrey", "color": "red"},
{"background": "DarkSlateGrey", "color": "violet"}
],
"button_defaults": {"style": {"width": "170px", "height": "2.5em", "margin-top": "5px"}},
"tolerances": [
{"limit": 1, "style": {"background": "limegreen"}},
{"limit": 5, "style": {"background": "goldenrod"}},
{"limit": 999, "style": {"background": "red"}}
],
"heater_index": 1,
"status_level": 1,
"current_temp_field": "${status.temps.current[1].toFixed(1)}",
"active_temp_field": "${status.temps.tools.active[0]}",
"standby_temp_field": "${status.temps.tools.standby[0]}",
"state_field": "${status.temps.state[1]}",
"state_commands": {
"off": "G10 P1 S-273.15 R-273.15",
"standby": "T-1",
"on": "T1"
},
"set_temp_commands": {
"standby": "G10 P1 R${value}",
"active": "G10 P1 S${value}"
}
},
/* END definition of the HEATER area */
/* START definition of the MOVING area */
{
"id": "homeall",
"type": "button",
"enabled": true,
"value": "HOME ALL",
"style": {"width": "130px", "height": "2.5em", "background": "DarkSlateGrey"},
"position": {"my": "left top", "at": "left+550 top+10", "of": "#dueui_panel_main"},
"actions": [{"type": "gcode", "gcode": "G28"}]
},
{
"id": "main_position",
"type": "position",
"enabled": true,
"style": {"width": "420px", "height": "2.5em", "border": "none"},
"position": {"my": "left+5 top", "at": "right top", "of": "#homeall"},
"button_defaults": {
"style": {"height": "2.8em", "margin-left": "3px", "margin-right": "3px"},
"status_level": 1,
"state_styles": [
{ "background": "DarkSlateGrey", "color": "red" },
{ "background": "DarkSlateGrey", "color": "limegreen" }
]
},
"direction": "row",
"axes": [
{"label": "X: ", "gcode_axis": "X", "index": 0},
{"label": "Y: ", "gcode_axis": "Y", "index": 1},
{"label": "Z: ", "gcode_axis": "Z", "index": 2}
]
},
{
"id": "probe",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "Probe: ${status.sensors.probeValue}",
"initial_value": "Probe: ?",
"tolerances": [
{"limit": 400, "style": {"background": "DarkSlateGrey", "color": "limegreen"}},
{"limit": 500, "style": {"background": "DarkSlateGrey", "color": "goldenrod"}},
{"limit": 999, "style": {"background": "DarkSlateGrey", "color": "red"}}
],
"tolerance_value": "${status.sensors.probeValue}",
"style": {"width": "130px", "height": "2.5em"},
"position": {"my": "left+5 top", "at": "right top", "of": "#main_position"}
},
{
/* This is the scale cycle button for the X axis. */
"id": "jog_x_scale",
"type": "button",
"enabled": true,
"value": "X",
"icon": "ui-icon-arrowthick-2-e-w",
"position": {"my": "left top+30", "at": "left bottom", "of": "#homeall"},
"style": {"width": "75px", "height": "44px", "font-size": "12px", "background": "red", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_x"}]
},
{
/* Jog buttons for the X axis */
"id": "jog_x",
"type": "jog",
"enabled": true,
"position": {"my": "left+5 top-5", "at": "right top","of": "#jog_x_scale"},
"button_defaults": {"style": {"width": "45px", "height": "45px", "padding": "5px", "margin": "4px"}},
"axis": "X",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-100,-50,-25,-10,"<|>",10,25,50,100],
[-5,-1,-0.1,-0.01,"<|>",0.01,0.1,1,5]
],
"orientation": "horizontal",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale",
"sense_chnage_event": "jog_sense"
},
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_x_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+9", "of": "#jog_x"},
"style": {"width": "120px", "height": "36px", "font-size": "16px"},
"options": [
{"label": "10 mm/sec", "value": 600},
{"label": "25 mm/sec", "value": 1500},
{"label": "50 mm/sec", "value": 3000},
{"label": "100 mm/sec", "value": 6000},
{"label": "200 mm/sec", "value": 12000},
{"label": "300 mm/sec", "value": 18000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_x_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_x", "fire_on_startup": true}
]
},
{
/* This is the scale cycle button for the Y axis. */
"id": "jog_y_scale",
"type": "button",
"enabled": true,
"value": "Y",
"icon": "ui-icon-arrowthick-2-n-s",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_x_scale"},
"style": {"width": "75px", "height": "44px", "font-size": "12px", "background": "limegreen", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_y"}]
},
{
/* Jog buttons for the Y axis */
"id": "jog_y",
"type": "jog",
"enabled": true,
"position": {"my": "left+5 top-5", "at": "right top","of": "#jog_y_scale"},
"button_defaults": {"style": {"width": "45px", "height": "45px", "padding": "5px", "margin": "4px"}},
"axis": "Y",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-100,-50,-25,-10,"<|>",10,25,50,100],
[-5,-1,-0.1,-0.01,"<|>",0.01,0.1,1,5]
],
"orientation": "horizontal",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale",
"sense_chnage_event": "jog_sense"
},
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_y_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+9", "of": "#jog_y"},
"style": {"width": "120px", "height": "30px", "font-size": "16px"},
"options": [
{"label": "10 mm/sec", "value": 600},
{"label": "25 mm/sec", "value": 1500},
{"label": "50 mm/sec", "value": 3000},
{"label": "100 mm/sec", "value": 6000},
{"label": "200 mm/sec", "value": 12000},
{"label": "300 mm/sec", "value": 18000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_y_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_y", "fire_on_startup": true}
]
},
{
/* This is the scale cycle button for the Z axis. */
"id": "jog_z_scale",
"type": "button",
"enabled": true,
"value": "Z",
"icon": "ui-icon-arrowthick-2-ne-sw",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_y_scale"},
"style": {"width": "75px", "height": "44px", "font-size": "12px", "background": "royalblue", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_z"}]
},
{
/* Jog buttons for the Z axis */
"id": "jog_z",
"type": "jog",
"enabled": true,
"position": {"my": "left+5 top-5", "at": "right top","of": "#jog_z_scale"},
"button_defaults": {"style": {"width": "45px", "height": "45px", "padding": "5px", "margin": "4px"}},
"axis": "Z",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-100,-50,-25,-10,"<|>",10,25,50,100],
[-5,-1,-0.1,-0.01,"<|>",0.01,0.1,1,5]
],
"orientation": "horizontal",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale",
"sense_chnage_event": "jog_sense"
},
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_z_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+9", "of": "#jog_z"},
"style": {"width": "120px", "height": "30px", "font-size": "16px"},
"options": [
{"label": "1 mm/sec", "value": 60},
{"label": "2 mm/sec", "value": 120},
{"label": "5 mm/sec", "value": 300},
{"label": "10 mm/sec", "value": 600},
{"label": "20 mm/sec", "value": 1200},
{"label": "35 mm/sec", "value": 2100}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_z_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_z", "fire_on_startup": true}
]
},
{
/* This is the scale cycle button for the E axis. */
"id": "jog_e_scale",
"type": "button",
"enabled": true,
"value": "E",
"icon": "ui-icon-arrowreturnthick-1-s",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_z_scale"},
"style": {"width": "75px", "height": "44px", "font-size": "12px", "background": "goldenrod", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_e"}]
},
{
/* Jog buttons for the E -> Extruder */
"id": "jog_e",
"type": "jog",
"enabled": true,
"position": {"my": "left+5 top-5", "at": "right top","of": "#jog_e_scale"},
"button_defaults": {"style": {"width": "45px", "height": "45px", "padding": "5px", "margin": "4px"}},
"axis": "E",
"jog_command": "M120;M83;T1;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-100,-50,-25,-10,"<|>",10,25,50,100],
[-5,-3,-2,-1,"<|>",1,2,3,5]
],
"orientation": "horizontal",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale",
"sense_chnage_event": "jog_sense"
},
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_e_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+9", "of": "#jog_e"},
"style": {"width": "120px", "height": "30px", "font-size": "16px"},
"options": [
{"label": "1 mm/sec", "value": 60},
{"label": "2 mm/sec", "value": 120},
{"label": "5 mm/sec", "value": 300},
{"label": "10 mm/sec", "value": 600},
{"label": "20 mm/sec", "value": 1200},
{"label": "50 mm/sec", "value": 3000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_e_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_e", "fire_on_startup": true}
]
},
{
"id": "jog_text04",
"type": "button",
"enabled": true,
"read_only": true,
"value": "Add",
"style": {"width": "75px","height": "30px"},
"position": {"my": "left top", "at": "left bottom+20", "of": "#jog_e_scale"}
},
{
/* This is a selectbox that allows you to set how you want endstop sensing and move-before-homed
* configured. Because it sends events on startup to the axis jog widgets it must be defined after them. */
"id": "jog_endstop_sense",
"type": "select",
"enabled": true,
"position": {"my": "left+20 top", "at": "right top","of": "#jog_text04"},
"style": {"width": "467px", "height": "30px", "font-size": "16px"},
"options": [
{ "value": "", "label": "Nothing"},
{ "value": "S0", "label": "S0 - Ignore endstops while moving"},
{ "value": "S1", "label": "S1 - Sense endstops while moving"},
{ "value": "S2", "label": "S2 - Ignore endstops while moving also axis has not been homed"},
{ "value": "S3", "label": "S3 - Sense Length (delta only)"},
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_endstop_sense", "fire_on_startup": true},
{"type": "event", "event": "jog_sense", "target": "#jog_x,#jog_y,#jog_z,#jog_e", "fire_on_startup": true}
]
},
/* END definition of the MOVING area */
/* START definition of the SLIDER area */
{
"id": "fan_0_label",
"type": "button",
"enabled": true,
"read_only": true,
"value": "Fan 0",
"style": {"width": "9ch","height": "2.5em"},
"position": {"my": "left top", "at": "left bottom+50", "of": "#heater_labels"}
},
{
"id": "fan_0",
"type": "slider",
"enabled": true,
"style": {"width": "360px","height": "13px", "background": "DarkSlateGrey"},
"position": {"my": "left center", "at": "right+15 top+15", "of": "#fan_0_label"},
"slider": {"min": 0, "max": 100, "step": 10, "orientation": "horizontal"},
"status_level": 1,
"value": "${status.params.fanPercent[0]}",
"actions": [{"type": "gcode", "gcode": "M106 P0 S${value / 100.0}"}]
},
{
"id": "fan_0_label2",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "${status.params.fanPercent[0]}%",
"style": {"width": "9ch","height": "30px", "font-size": "10px", "text-align": "center"},
"initial_value": "---%",
"position": {"my": "left top", "at": "right+3 top+1", "of": "#fan_0"}
},
{
"id": "fan_0_label3",
"type": "label",
"enabled": true,
"value": "0%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "left"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#fan_0"}
},
{
"id": "fan_0_label4",
"type": "label",
"enabled": true,
"value": "100%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "right"},
"position": {"my": "right top", "at": "right bottom+10", "of": "#fan_0"}
},
{
"id": "fan_1_label",
"type": "button",
"enabled": true,
"read_only": true,
"value": "Fan 1 ",
"style": {"width": "9ch","height": "2.5em"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#fan_0_label"}
},
{
"id": "fan_1",
"type": "slider",
"enabled": true,
"style": {"width": "360px","height": "13px", "background": "DarkSlateGrey"},
"position": {"my": "left center", "at": "right+15 top+15", "of": "#fan_1_label"},
"slider": {"min": 0, "max": 100, "step": 10, "orientation": "horizontal"},
"status_level": 1,
"value": "${status.params.fanPercent[1]}",
"actions": [{"type": "gcode", "gcode": "M106 P1 S${value / 100.0}"}]
},
{
"id": "fan_1_label2",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "${status.params.fanPercent[1]}%",
"style": {"width": "9ch","height": "30px", "font-size": "10px", "text-align": "center"},
"initial_value": "---%",
"position": {"my": "left top", "at": "right+3 top+1", "of": "#fan_1"}
},
{
"id": "fan_1_label3",
"type": "label",
"enabled": true,
"value": "0%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "left"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#fan_1"}
},
{
"id": "fan_1_label4",
"type": "label",
"enabled": true,
"value": "100%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "right"},
"position": {"my": "right top", "at": "right bottom+10", "of": "#fan_1"}
},
{
"id": "leds_label",
"type": "button",
"enabled": true,
"read_only": true,
"value": "LEDs",
"style": {"width": "9ch","height": "2.5em"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#fan_1_label"}
},
{
"id": "leds",
"type": "slider",
"enabled": true,
"style": {"width": "360px","height": "13px", "background": "DarkSlateGrey"},
"position": {"my": "left center", "at": "right+15 top+15", "of": "#leds_label"},
"slider": {"min": 0, "max": 100, "step": 10, "orientation": "horizontal"},
"status_level": 1,
"value": "${status.params.fanPercent[2]}",
"actions": [{"type": "gcode", "gcode": "M106 P2 S${value / 100.0}"}]
/* How to set 2 GCodes -> "actions": [{"type": "gcode", "gcode": "M106 P3 S${value / 100.0} ; M106 P4 S${value / 100.0}"}] */
},
{
"id": "leds_label2",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "${status.params.fanPercent[2]}%",
"style": {"width": "9ch","height": "30px", "font-size": "10px", "text-align": "center"},
"initial_value": "---%",
"position": {"my": "left top", "at": "right+3 top+1", "of": "#leds"}
},
{
"id": "leds_label3",
"type": "label",
"enabled": true,
"value": "0%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "left"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#leds"}
},
{
"id": "leds_label4",
"type": "label",
"enabled": true,
"value": "100%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "right"},
"position": {"my": "right top", "at": "right bottom+10", "of": "#leds"}
},
{
"id": "speedfactor_label",
"type": "button",
"enabled": true,
"read_only": true,
"value": "SpeedF",
"style": {"width": "9ch","height": "2.5em"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#leds_label"}
},
{
"id": "speedfactor",
"type": "slider",
"enabled": true,
"style": {"width": "360px","height": "13px", "background": "DarkSlateGrey"},
"position": {"my": "left center", "at": "right+15 top+15", "of": "#speedfactor_label"},
"slider": {"min": 50, "max": 150, "step": 10, "orientation": "horizontal"},
"status_level": 1,
"value": "${status.params.speedFactor}",
"actions": [{"type": "gcode", "gcode": "M220 S${value}"}]
},
{
"id": "speedfactor_label2",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "${status.params.speedFactor}%",
"style": {"width": "9ch","height": "30px", "font-size": "10px", "text-align": "center"},
"initial_value": "---%",
"position": {"my": "left top", "at": "right+3 top+1", "of": "#speedfactor"}
},
{
"id": "speedfactor_label3",
"type": "label",
"enabled": true,
"value": "50%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "left"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#speedfactor"}
},
{
"id": "speedfactor_label4",
"type": "label",
"enabled": true,
"value": "150%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "right"},
"position": {"my": "right top", "at": "right bottom+10", "of": "#speedfactor"}
},
{
"id": "extrfactor_label",
"type": "button",
"enabled": true,
"read_only": true,
"value": "ExtrF",
"style": {"width": "9ch","height": "2.5em"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#speedfactor_label"}
},
{
"id": "extrfactor",
"type": "slider",
"enabled": true,
"style": {"width": "360px","height": "13px", "background": "DarkSlateGrey"},
"position": {"my": "left center", "at": "right+15 top+15", "of": "#extrfactor_label"},
"slider": {"min": 90, "max": 110, "step": 2, "orientation": "horizontal"},
"status_level": 1,
"value": "${status.params.extrFactors}",
"actions": [{"type": "gcode", "gcode": "M221 D0 S${value}"}]
},
{
"id": "extrfactor_label2",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "${status.params.extrFactors}%",
"style": {"width": "9ch","height": "30px", "font-size": "10px", "text-align": "center vertical"},
"initial_value": "---%",
"position": {"my": "left top", "at": "right+3 top+1", "of": "#extrfactor"}
},
{
"id": "extrfactor_label3",
"type": "label",
"enabled": true,
"value": "90%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "left"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#extrfactor"}
},
{
"id": "extrfactor_label4",
"type": "label",
"enabled": true,
"value": "110%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "right"},
"position": {"my": "right top", "at": "right bottom+10", "of": "#extrfactor"}
},
/* END definition of the SLIDER area */
/* START definition of the BUTTON area */
{
"id": "button01",
"type": "button",
"enabled": true,
"value": "Level Bed
(G32 S3)",
"position": {"my": "left top", "at": "left bottom+35", "of": "#jog_text04"},
"style": {"width": "160px", "height": "3.5em", "background": "DarkSlateGrey"},
"actions": [{"type": "gcode", "gcode": "G32 S3"}]
},
{
"id": "button02",
"type": "button",
"enabled": true,
"value": "Z0 bed center
(G30)",
"position": {"my": "left top", "at": "left bottom+15", "of": "#button01"},
"style": {"width": "160px", "height": "3.5em", "background": "DarkSlateGrey"},
"actions": [{"type": "gcode", "gcode": "G90; G1 X138 Y125 F12000; G1 Z20 F1800; G1 Z15 F1200; G1 Z10 F600; T1;G30;G4 P200; G90; G1 Z10 F1800"}]
},
{
"id": "button03",
"type": "button",
"enabled": true,
"value": "Bed measure
(5 points)",
"position": {"my": "left top", "at": "right+14 top", "of": "#button01"},
"style": {"width": "160px", "height": "3.5em", "background": "DarkSlateGrey"},
"actions": [{"type": "gcode", "gcode": "M98 P/macros/Tools/Bed_messuring_5points"}]
},
{
"id": "button04",
"type": "button",
"enabled": true,
"value": "- - -
- - -",
"position": {"my": "left top", "at": "left bottom+15", "of": "#button03"},
"style": {"width": "160px", "height": "3.5em", "background": "DarkSlateGrey"},
"actions": [{"type": "gcode", "gcode": "G4 P800"}]
},
{
"id": "button05",
"type": "button",
"enabled": true,
"value": "- - -
- - -",
"position": {"my": "left top", "at": "right+18 top", "of": "#button03"},
"style": {"width": "160px", "height": "3.5em", "background": "DarkSlateGrey"},
"actions": [{"type": "gcode", "gcode": "G4 P50; G4 P50"}]
},
{
"id": "button06",
"type": "button",
"enabled": true,
"value": "- - -
- - -",
"position": {"my": "left top", "at": "left bottom+15", "of": "#button05"},
"style": {"width": "160px", "height": "3.5em", "background": "DarkSlateGrey"},
"actions": [{"type": "gcode", "gcode": "G4 P50; G4 P50"}]
},
{
"id": "button07",
"type": "button",
"enabled": true,
"value": "Go to bed
center",
"position": {"my": "left top", "at": "right+14 top", "of": "#button05"},
"style": {"width": "160px", "height": "3.5em", "background": "DarkSlateGrey"},
"actions": [{"type": "gcode", "gcode": "G90; G1 X136 Y150 F6000"}]
},
{
"id": "button08",
"type": "button",
"enabled": true,
"value": "Call a
macro",
"position": {"my": "left top", "at": "left bottom+15", "of": "#button07"},
"style": {"width": "160px", "height": "3.5em", "background": "DarkSlateGrey"},
/* "actions": [{"type": "gcode", "gcode": "M98 Px_macro_test01.g"}] */
/* "actions": [{"type": "gcode", "gcode": "P/macros/Tools/Only_a_test.g"}] */
"actions": [{"type": "gcode", "gcode": "M98 P/macros/Tools/Only_a_test"}]
},
/* END definition of the BUTTON area */
]
},
/* END of the "Main" tab */
/* START of the "JobStat" tab */
{
"id": "dueui_panel_jobstatus",
"type": "tab_panel",
"enabled": true,
"menubar_label": "JobStat",
"element_configs": [
/* START definition of the PRINT-PROCESS area */
{
"id": "print_progress_label",
"type": "button",
"enabled": true,
"read_only": true,
"value": "Print Progress (by layer):",
"style": {"width": "30%","height": "2.5em"},
"position": {"my": "left+40 top", "at": "left top+30", "of": "#dueui_panel_jobstatus"}
},
{
"id": "print_progress",
"type": "progress",
"enabled": true,
"status_level": 3,
"value": "${((status.printDuration / ((status.timesLeft.layer + status.printDuration) || 1)) * 100)}",
"max": 100,
"style": {"width": "61.5%","height": "2.5em", "border": "none"},
"position": {"my": "left top", "at": "right+5% top", "of": "#print_progress_label"}
},
/* END definition of the PRINT-PROCESS area */
/* START definition of the PRINT-BUTTONS area */
{
"id": "pause",
"type": "button",
"enabled": true,
"value": "Pause print",
"style": {"width": "30%", "height": "2.5em", "background": "DarkSlateGrey"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#print_progress_label"},
"actions": [{"type": "gcode", "gcode": "M25"}]
},
{
"id": "resume",
"type": "button",
"enabled": true,
"value": "Resume print",
"style": {"width": "30%", "height": "2.5em", "background": "DarkSlateGrey"},
"position": {"my": "left top","at": "right+5% top", "of": "#pause"},
"actions": [{"type": "gcode", "gcode": "M24"}]
},
{
"id": "cancel",
"type": "button",
"enabled": true,
"value": "Cancel print",
"style": {"width": "30%", "height": "2.5em", "background": "DarkSlateGrey"},
"position": {"my": "left top", "at": "right+5% top", "of": "#resume"},
"actions": [{"type": "gcode", "gcode": "M25 ; M0"}]
},
/* END definition of the PRINT-BUTTONS area */
/* START definition of the PRINT-TIMES-INFO area */
{
"id": "elapsed_label",
"type": "label",
"enabled": true,
"value": "Elapsed Time:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "left bottom+65", "of": "#pause"}
},
{
"id": "elapsed",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.printDuration)}",
"style": {"width": "205px", "height": "2.5em"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top-15", "of": "#elapsed_label"}
},
{
"id": "times_label1",
"type": "label",
"enabled": true,
"value": "Time Left By File:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "left-5 bottom+15", "of": "#elapsed_label"}
},
{
"id": "times_label2",
"type": "label",
"enabled": true,
"value": "By Filament:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "left bottom+15", "of": "#times_label1"}
},
{
"id": "times_label3",
"type": "label",
"enabled": true,
"value": "By Layer:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "left bottom+15", "of": "#times_label2"}
},
{
"id": "byfile",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.timesLeft.file)}",
"style": {"width": "205px", "height": "2.5em"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label1"}
},
{
"id": "byfilament",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.timesLeft.filament)}",
"style": {"width": "205px", "height": "2.5em"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label2"}
},
{
"id": "bylayer",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.timesLeft.layer)}",
"style": {"width": "205px", "height": "2.5em"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label3"}
},
{
"id": "times_label4",
"type": "label",
"enabled": true,
"value": "Current Layer:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "right+15 top+15", "of": "#elapsed"}
},
{
"id": "curlayer",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.currentLayer)}",
"style": {"width": "205px", "height": "2.5em"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label4"}
},
{
"id": "times_label5",
"type": "label",
"enabled": true,
"value": "Current Layer Time:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "right+15 top+15", "of": "#byfile"}
},
{
"id": "curlayertime",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.currentLayerTime)}",
"style": {"width": "205px", "height": "2.5em"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label5"}
},
{
"id": "times_label6",
"type": "label",
"enabled": true,
"value": "extr Raw:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "right+15 top+15", "of": "#byfilament"}
},
{
"id": "extrraw",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.extrRaw)}",
"style": {"width": "205px", "height": "2.5em"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label6"}
},
{
"id": "times_label7",
"type": "label",
"enabled": true,
"value": "Fraction Printed:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "right+15 top+15", "of": "#bylayer"}
},
{
"id": "fracprinted",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.fractionPrinted)}",
"style": {"width": "205px", "height": "2.5em"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label7"}
},
{
"id": "times_label8",
"type": "label",
"enabled": true,
"value": "Requested Speed:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "right+15 top+15", "of": "#curlayer"}
},
{
"id": "speed_req",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.speeds.requested)}",
"style": {"width": "130px", "height": "2.5em", "text-align": "right"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label8"}
},
{
"id": "times_label9",
"type": "label",
"enabled": true,
"value": "mm/s",
"style": {"width": "60px", "height": "2.5em", "text-align": "left"},
"position": {"my": "left top", "at": "right+155 top", "of": "#times_label8"}
},
{
"id": "times_label10",
"type": "label",
"enabled": true,
"value": "Current Speed:",
"style": {"width": "160px", "height": "2.5em", "text-align": "right"},
"position": {"my": "left top", "at": "right+15 top+15", "of": "#curlayertime"}
},
{
"id": "speed_req",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.speeds.top)}",
"style": {"width": "130px", "height": "2.5em", "text-align": "right"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+15 top-15", "of": "#times_label10"}
},
{
"id": "times_label11",
"type": "label",
"enabled": true,
"value": "mm/s",
"style": {"width": "60px", "height": "2.5em", "text-align": "left"},
"position": {"my": "left top", "at": "right+155 top", "of": "#times_label10"}
},
/* END definition of the PRINT-TIMES-INFO area */
]
},
/* END of the "Job Status" tab */
/* START of the "Prepare" tab */
{
"id": "dueui_panel_prepare",
"type": "tab_panel",
"enabled": true,
"menubar_label": "Prepare",
"element_configs": [
{
"id": "jog_text11",
"type": "button",
"enabled": true,
"read_only": false,
"value": "HOME",
"style": {"width": "95px","height": "75px", "text-align": "center", "background": "DarkSlateGrey", "border": "none"},
"position": {"my": "left+20 top", "at": "left top+10", "of": "#dueui_panel_prepare"},
"actions": [{"type": "gcode", "gcode": "G28"}]
},
{
"id": "jog_text12",
"type": "position",
"enabled": true,
"style": {"width": "870px","height": "2.5em", "border": "none", "font-size": "20px"},
"position": {"my": "left top", "at": "right+20 top", "of": "#jog_text11"},
"button_defaults": {
"style": {"height": "75px", "margin-left": "10px", "margin-right": "10px", "border": "none"},
"status_level": 1,
"state_styles": [
{ "background": "DarkSlateGrey", "color": "red" },
{ "background": "DarkSlateGrey", "color": "limegreen" }
]
},
"direction": "row",
"axes": [
{"label": "X: ", "gcode_axis": "X", "index": 0},
{"label": "Y: ", "gcode_axis": "Y", "index": 1},
{"label": "Z: ", "gcode_axis": "Z", "index": 2}
]
},
{
"id": "jog_text13",
"type": "button",
"enabled": true,
"read_only": true,
"value": "Speed",
"style": {"width": "185px","height": "75px"},
"position": {"my": "left top", "at": "right+20 top", "of": "#jog_text12"}
},
/* START of the X Axis */
{
/* This is the scale cycle button for the X axis. */
"id": "jog_px_scale",
"type": "button",
"enabled": true,
"value": "X",
"icon": "ui-icon-arrowthick-2-e-w",
"position": {"my": "left+40 top", "at": "left top+100", "of": "#dueui_panel_prepare"},
"style": {"width": "75px", "height": "75px", "font-size": "24px", "background": "red", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_px"}]
},
{
/* Jog buttons for the X axis */
"id": "jog_px",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top-10","of": "#jog_px_scale"},
"button_defaults": {"style": {"width": "75px", "height": "75px", "padding": "5px", "margin": "12px"}},
"axis": "X",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-100,-50,-25,-10,"<|>",10,25,50,100],
[-5,-1,-0.1,-0.01,"<|>",0.01,0.1,1,5]
],
"orientation": "horizontal",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale",
"sense_chnage_event": "jog_sense"
},
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_px_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+23", "of": "#jog_px"},
"style": {"width": "185px", "height": "45px", "font-size": "18px"},
"options": [
{"label": "10 mm/sec", "value": 600},
{"label": "25 mm/sec", "value": 1500},
{"label": "50 mm/sec", "value": 3000},
{"label": "100 mm/sec", "value": 6000},
{"label": "200 mm/sec", "value": 12000},
{"label": "300 mm/sec", "value": 18000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_px_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_px", "fire_on_startup": true}
]
},
/* END of the X Axis */
/* START of the Y Axis */
{
/* This is the scale cycle button for the X axis. */
"id": "jog_py_scale",
"type": "button",
"enabled": true,
"value": "Y",
"icon": "ui-icon-arrowthick-2-n-s",
"position": {"my": "left top", "at": "left bottom+15", "of": "#jog_px_scale"},
"style": {"width": "75px", "height": "75px", "font-size": "24px", "background": "limegreen", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_py"}]
},
{
/* Jog buttons for the Y axis */
"id": "jog_py",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top-10","of": "#jog_py_scale"},
"button_defaults": {"style": {"width": "75px", "height": "75px", "padding": "5px", "margin": "12px"}},
"axis": "Y",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-100,-50,-25,-10,"<|>",10,25,50,100],
[-5,-1,-0.1,-0.01,"<|>",0.01,0.1,1,5]
],
"orientation": "horizontal",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale",
"sense_chnage_event": "jog_sense"
},
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_py_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+23", "of": "#jog_py"},
"style": {"width": "185px", "height": "45px", "font-size": "18px"},
"options": [
{"label": "10 mm/sec", "value": 600},
{"label": "25 mm/sec", "value": 1500},
{"label": "50 mm/sec", "value": 3000},
{"label": "100 mm/sec", "value": 6000},
{"label": "200 mm/sec", "value": 12000},
{"label": "300 mm/sec", "value": 18000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_py_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_py", "fire_on_startup": true}
]
},
/* END of the Y Axis */
/* START of the Z Axis */
{
/* This is the scale cycle button for the Z axis. */
"id": "jog_pz_scale",
"type": "button",
"enabled": true,
"value": "Z",
"icon": "ui-icon-arrowthick-2-ne-sw",
"position": {"my": "left top", "at": "left bottom+40", "of": "#jog_py_scale"},
"style": {"width": "75px", "height": "75px", "font-size": "24px", "background": "royalblue", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_pz"}]
},
{
/* Jog buttons for the Z axis */
"id": "jog_pz",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top-10","of": "#jog_pz_scale"},
"button_defaults": {"style": {"width": "75px", "height": "75px", "padding": "5px", "margin": "12px"}},
"axis": "Z",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-100,-50,-25,-10,"<|>",10,25,50,100],
[-5,-1,-0.1,-0.01,"<|>",0.01,0.1,1,5]
],
"orientation": "horizontal",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale",
"sense_chnage_event": "jog_sense"
},
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_pz_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+23", "of": "#jog_pz"},
"style": {"width": "185px", "height": "45px", "font-size": "18px"},
"options": [
{"label": "1 mm/sec", "value": 60},
{"label": "2 mm/sec", "value": 120},
{"label": "5 mm/sec", "value": 300},
{"label": "10 mm/sec", "value": 600},
{"label": "20 mm/sec", "value": 1200},
{"label": "35 mm/sec", "value": 2100}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_pz_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_pz", "fire_on_startup": true}
]
},
/* END of the Z Axis */
/* START of the E Axis */
{
/* This is the scale cycle button for the Z axis. */
"id": "jog_pe_scale",
"type": "button",
"enabled": true,
"value": "E",
"icon": "ui-icon-arrowreturnthick-1-s",
"position": {"my": "left top", "at": "left bottom+40", "of": "#jog_pz_scale"},
"style": {"width": "75px", "height": "75px", "font-size": "24px", "background": "goldenrod", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_pe"}]
},
{
/* Jog buttons for the E axis */
"id": "jog_pe",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top-10","of": "#jog_pe_scale"},
"button_defaults": {"style": {"width": "75px", "height": "75px", "padding": "5px", "margin": "12px"}},
"axis": "E",
"jog_command": "M120;M83;T1;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-100,-50,-25,-10,"<|>",10,25,50,100],
[-5,-3,-2,-1,"<|>",1,2,3,5]
],
"orientation": "horizontal",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale",
"sense_chnage_event": "jog_sense"
},
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_pe_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+23", "of": "#jog_pe"},
"style": {"width": "185px", "height": "45px", "font-size": "18px"},
"options": [
{"label": "1 mm/sec", "value": 60},
{"label": "2 mm/sec", "value": 120},
{"label": "5 mm/sec", "value": 300},
{"label": "10 mm/sec", "value": 600},
{"label": "20 mm/sec", "value": 1200},
{"label": "50 mm/sec", "value": 3000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_pe_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_pe", "fire_on_startup": true}
]
},
/* END of the E Axis */
]
},
/* END of the "Prepare" tab */
/* START of the "Macros" tab */
{
"id": "dueui_panel_macros",
"type": "tab_panel",
"enabled": true,
"menubar_label": "Macros",
"element_configs": [
{
"id": "panel_macros",
"type": "macro_grid",
"enabled": true,
"position": {"my": "left top", "at": "left top", "of": "#dueui_panel_macros"},
"button_defaults": {"style": { "width": "250px", "height": "2.5em" }},
"rows": 5,
"cols": 5,
"direction": "column",
"directory": "/macros",
"autofill_macros": true,
"sort_autofill": "macro",
"strip_directory": true,
"strip_prefix": true,
"strip_suffix": true
}
]
},
/* END of the "Macros" tab */
/* START of the "Files" tab */
{
/*
* A tab of gcode files.
*/
"id": "dueui_panel_files",
"type": "tab_panel",
"enabled": true,
"menubar_label": "Files",
"style": {"display": "flex", "flex-direction": "column"},
"element_configs": [
{
"id": "files_refresh",
"type": "button",
"value": "Refresh",
"style": {"width": "20ch", "height": "2.5em"},
"position": {"my": "left top", "at": "left top+5", "of": "#dueui_panel_files"},
"actions": [{"type": "event", "event": "refresh_list", "target": "#panel_files"}]
},
{
"id": "panel_files",
"type": "file_grid",
"enabled": true,
"position": {"my": "left top", "at": "left bottom+5", "of": "#files_refresh"},
"button_defaults": {"style": {"width": "64ch", "height": "2.5em", "text-align": "left", "margin-top": "10px"}
},
"cols": 1,
"style": {"position": "relative", "overflow-x": "none", "overflow-y": "scroll", "width": "calc(100% - 2ch)", "height": "calc(100% - 2.5em)"},
"direction": "column",
"directory": "/gcodes",
"confirm_message": "Print this file?",
"autofill_files": true,
"sort_autofill": "file",
"strip_directory": true,
"strip_prefix": true,
"strip_suffix": true
}
]
},
/* END of the "Files" tab */
/* START of the "Console" tab */
{
"id": "dueui_panel_console",
"type": "tab_panel",
"enabled": true,
"menubar_label": "Console",
"style": {"display": "flex", "flex-direction": "column"},
"element_defaults": {"style": {"width": "100%", "position": "relative"}},
"element_configs": [
/* START definition of the GCODE-INPUT area */
{
"id": "console_log_input",
"type": "input_field",
"enabled": true,
"style": {"height": "3.5em"},
"field_type": "text",
"autocomplete_key": "console",
"submit_on_enter": true,
"actions": [
{"type": "gcode", "gcode": "${value}", "get_reply": true}
]
},
/* END definition of the GCODE-INPUT area */
/* START definition of the CONSOLE area */
{
"id": "console_log",
"type": "textarea",
"enabled": true,
"position": {"my": "left top", "at": "left bottom", "of": "#console_log_input"},
"style": {"height": "calc(100% - 2.5em)"},
"read_only": true,
"wrap": "off",
"show_gcode_replies": true,
"show_log_messages": true,
"new_entries_at_top": true
}
/* END definition of the CONSOLE area */
]
},
/* END of the "Console" tab */
/* START of the "Test" tab */
{
"id": "dueui_panel_test",
"type": "tab_panel",
"enabled": true,
"menubar_label": "Prepare2",
"style": {"display": "flex", "flex-direction": "column"},
"element_configs": [
/* START definition of the HOMING and AXIS area */
{
"id": "jog_text21",
"type": "button",
"enabled": true,
"read_only": false,
"value": "HOME",
"style": {"width": "160px","height": "75px", "text-align": "center", "background": "DarkSlateGrey", "border": "none"},
"position": {"my": "left top", "at": "left+405 top+30", "of": "#dueui_panel_test"},
"actions": [{"type": "gcode", "gcode": "G28"}]
},
{
"id": "jog_text12",
"type": "position",
"enabled": true,
"style": {"width": "160px","height": "280px", "border": "none", "font-size": "20px"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_text21"},
"button_defaults": {
"style": {"height": "75px", "margin-top": "10px", "margin-bottom": "10px", "border": "none"},
"status_level": 1,
"state_styles": [
{ "background": "DarkSlateGrey", "color": "red" },
{ "background": "DarkSlateGrey", "color": "limegreen" }
]
},
"direction": "column",
"axes": [
{"label": "X: ", "gcode_axis": "X", "index": 0},
{"label": "Y: ", "gcode_axis": "Y", "index": 1},
{"label": "Z: ", "gcode_axis": "Z", "index": 2}
]
},
/* END definition of the HOMING and AXIS area */
/* START of the X Axis */
{
/* This is the scale cycle button for the X axis. */
"id": "jog_tx_scale",
"type": "button",
"enabled": true,
"value": "X",
"icon": "ui-icon-arrowthick-2-e-w",
"position": {"my": "left+120 top", "at": "left top+420", "of": "#dueui_panel_test"},
"style": {"width": "60px", "height": "60px", "font-size": "18px", "background": "red", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_tx"}]
},
{
/* Jog buttons for the X axis */
"id": "jog_tx",
"type": "jog",
"enabled": true,
"position": {"my": "left top-2", "at": "right+5 top","of": "#jog_tx_scale"},
"button_defaults": {"style": {"width": "60px", "height": "60px", "margin": "2px"}},
"axis": "X",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
["→",0.1,1,10,50,100],
["←",-0.1,-1,-10,-50,-100]
],
"orientation": "vertical",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
/* END of the X Axis */
/* START of the Y Axis */
{
/* This is the scale cycle button for the Y axis. */
"id": "jog_ty_scale",
"type": "button",
"enabled": true,
"value": "Y",
"icon": "ui-icon-arrowthick-2-e-w",
"position": {"my": "right-25 top", "at": "left top", "of": "#jog_tx_scale"},
"style": {"width": "60px", "height": "60px", "font-size": "18px", "background": "limegreen", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_ty"}]
},
{
/* Jog buttons for the Y axis */
"id": "jog_ty",
"type": "jog",
"enabled": true,
"position": {"my": "left-3 bottom+450", "at": "left top","of": "#jog_ty_scale"},
"button_defaults": {"style": {"width": "60px", "height": "60px", "margin": "2px"}},
"axis": "Y",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[100,50,10,1,0.1,"↑"],
[-100,-50,-10,-1,-0.1,"↓"]
],
"direction": "column",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
/* END of the Y Axis */
/* START of definition speed for the X+Y Axis */
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_txy_speed",
"type": "select",
"enabled": true,
"position": {"my": "right top", "at": "left-50 top", "of": "#jog_text21"},
"style": {"border-radius": "6px", "border": "none", "width": "130px", "height": "45px", "font-size": "18px", "background": "DarkSlateGrey","color": "white"},
"options": [
{"label": "10 mm/sec", "value": 600},
{"label": "25 mm/sec", "value": 1500},
{"label": "50 mm/sec", "value": 3000},
{"label": "100 mm/sec", "value": 6000},
{"label": "200 mm/sec", "value": 12000},
{"label": "300 mm/sec", "value": 18000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_txy_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_tx,#jog_ty", "fire_on_startup": true}
]
},
{
"id": "speed_label20",
"type": "label",
"enabled": true,
"value": "Speed X/Y:",
"style": {"width": "100px", "height": "2.5em", "text-align": "right"},
"position": {"my": "right top", "at": "left-10 top+14", "of": "#jog_txy_speed"}
},
/* END of definition speed for the X+Y Axis */
/* START of the Z Axis */
{
/* This is the scale cycle button for the Y axis. */
"id": "jog_tz_scale",
"type": "button",
"enabled": true,
"value": "Z",
"icon": "ui-icon-arrowthick-2-e-w",
"position": {"my": "left+470 top", "at": "left top", "of": "#jog_tx_scale"},
"style": {"width": "60px", "height": "60px", "font-size": "18px", "background": "royalblue", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_tz"}]
},
{
/* Jog buttons for the Z axis */
"id": "jog_tz",
"type": "jog",
"enabled": true,
"position": {"my": "left-3 bottom+450", "at": "left top","of": "#jog_tz_scale"},
"button_defaults": {"style": {"width": "60px", "height": "60px", "margin": "2px"}},
"axis": "Z",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[-50,-10,-1,-0.1,-0.02,"↑"],
[50,10,1,0.1,0.02,"↓"]
],
"direction": "column",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
/* END of the Z Axis */
/* START of definition speed for the Z Axis */
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_tz_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "left bottom+30", "of": "#jog_txy_speed"},
"style": {"border-radius": "6px", "border": "none", "width": "130px", "height": "45px", "font-size": "18px", "background": "DarkSlateGrey","color": "white"},
"options": [
{"label": "2 mm/sec", "value": 120},
{"label": "5 mm/sec", "value": 300},
{"label": "10 mm/sec", "value": 600},
{"label": "20 mm/sec", "value": 1200},
{"label": "30 mm/sec", "value": 1800},
{"label": "35 mm/sec", "value": 2100}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_tz_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_tz", "fire_on_startup": true}
]
},
{
"id": "speed_label21",
"type": "label",
"enabled": true,
"value": "Speed Z:",
"style": {"width": "100px", "height": "2.5em", "text-align": "right"},
"position": {"my": "right top", "at": "left-10 top+14", "of": "#jog_tz_speed"}
},
/* END of definition speed for the Z Axis */
/* START of the E Axis */
{
/* This is the scale cycle button for the Y axis. */
"id": "jog_te_scale",
"type": "button",
"enabled": true,
"value": "E",
"icon": "ui-icon-arrowthick-2-e-w",
"position": {"my": "left+30 top", "at": "right top", "of": "#jog_tz_scale"},
"style": {"width": "60px", "height": "60px", "font-size": "18px", "background": "goldenrod", "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_te"}]
},
{
/* Jog buttons for the E axis */
"id": "jog_te",
"type": "jog",
"enabled": true,
"position": {"my": "left-3 bottom+450", "at": "left top","of": "#jog_te_scale"},
"button_defaults": {"style": {"width": "60px", "height": "60px", "margin": "2px"}},
"axis": "E",
"jog_command": "M120;M83;T1;G1 ${axis}${position} F${speed} ${sense};M121",
"values": [
[50,10,5,3,1,"+"],
[-50,-10,-5,-3,-1,"-"]
],
"direction": "column",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
/* END of the E Axis */
/* START of definition speed for the E Axis */
{
/* This is a selectbox that allows you to set the speed for axis moves. */
"id": "jog_te_speed",
"type": "select",
"enabled": true,
"position": {"my": "left top", "at": "left bottom+30", "of": "#jog_tz_speed"},
"style": {"border-radius": "6px", "border": "none", "width": "130px", "height": "45px", "font-size": "18px", "background": "DarkSlateGrey","color": "white"},
"options": [
{"label": "1 mm/sec", "value": 60},
{"label": "2 mm/sec", "value": 120},
{"label": "3 mm/sec", "value": 180},
{"label": "5 mm/sec", "value": 300},
{"label": "10 mm/sec", "value": 600},
{"label": "50 mm/sec", "value": 3000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_te_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_te", "fire_on_startup": true}
]
},
{
"id": "speed_label21",
"type": "label",
"enabled": true,
"value": "Speed E:",
"style": {"width": "100px", "height": "2.5em", "text-align": "right"},
"position": {"my": "right top", "at": "left-10 top+14", "of": "#jog_te_speed"}
},
/* END of definition speed for the Z Axis */
]
},
/* END of the "Test" tab */
]
},
/* The status_map has the long names and styles associated with each status */
"status_map": {
"I": {"label": "Idle","style": {"background": "black","color": "green"}},
"P": {"label": "Printing","style": {"background": "black","color": "white"}},
"S": {"label": "Stopped","style": {"background": "black","color": "red"}},
"C": {"label": "Starting Up","style": {"background": "black","color": "GoldenRod"}},
"A": {"label": "Paused","style": {"background": "black","color": "white"}},
"D": {"label": "Pausing","style": {"background": "black","color": "white"}},
"R": {"label": "Resuming","style": {"background": "black","color": "white"}},
"B": {"label": "Busy","style": {"background": "black","color": "GoldenRod"}},
"F": {"label": "Updating","style": {"background": "black","color": "red"}},
"H": {"label": "Halted","style": {"background": "black","color": "red"}},
"O": {"label": "Off","style": {"background": "black","color": "red"}},
"connected": {"label": "Connected","style": {"background": "black","color": "white"}},
"disconnected": {"label": "Disconnected","style": {"background": "black","color": "GoldenRod"}},
"retrying": {"label": "Retrying","style": {"background": "black","color": "RoyalBlue"}},
"failed": {"label": "Failed","style": {"background": "black","color": "red"}}
}
})