{
    "CN1": "mm/min",
    "CN2": "XY feed rate",
    "CN3": "$ feed rate",
    "CN4": "FREE TO USE",
    "CN5": "FREE TO USE",
    "CN6": "FREE TO USE",
    "CN7": "Use keyboard",
    "CN8": "Show axis",
    "CN9": "Feedrate",
    "CN10": "Home axis",
    "CN11": "(#) is axis",
    "CN12": "Jog up",
    "CN13": "Jog Down",
    "CN14": "Keyboard keys",
    "CN15": "",
    "CN16": "Home single axis",
    "CN17": "Home",
    "CN18": "Jogging distance",
    "CN19": "Zero axis",
    "CN20": "Zero all axis",
    "CN21": "Home all axis",
    "CN22": "Disable",
    "CN23": "Stop",
    "CN34": "Status",
    "CN35": "Laser",
    "CN36": "Spindle",
    "CN37": "Probe",
    "CN38": "Coolant",
    "CN39": "Tool",
    "CN40": "Controls commands",
    "CN41": "Soft Reset",
    "CN42": "Unlock",
    "CN43": "Sleep",
    "CN44": "Modes",
    "CN45": "Motion mode",
    "CN46": "Coordinate system",
    "CN47": "Plane selection",
    "CN48": "Distance mode",
    "CN49": "Arc IJK distance mode",
    "CN50": "Feed rate mode",
    "CN51": "Units mode",
    "CN52": "Cutter radius compensation",
    "CN53": "Tool length offset",
    "CN54": "Program mode",
    "CN55": "Spindle mode",
    "CN56": "Coolant mode",
    "CN57": "Override Control",
    "CN58": "Active tool",
    "CN59": "Spindle speed",
    "CN60": "Feed rate",
    "CN61": "Resume",
    "CN62": "RPM",
    "CN63": "Rapid",
    "CN64": "Speed",
    "CN65": "Overrides",
    "CN66": "Reset",
    "CN67": "Spindle speed override",
    "CN68": "Feed override",
    "CN69": "Rapid override",
    "CN70": "Show M4 controls",
    "CN71": "Show M7 controls",
    "CN72": "Show coolant controls",
    "CN73": "Show mist controls",
    "CN74": "Enable spindle\nclockwise",
    "CN75": "Enable spindle\ncounterclockwise",
    "CN76": "Stop spindle",
    "CN77": "Enable mist coolant",
    "CN78": "Enable flood coolant",
    "CN79": "Disable coolant",
    "CN80": "Toggle controls",
    "CN81": "Toggle spindle state",
    "CN82": "Toggle flood state",
    "CN83": "Toggle mist state",
    "CN84": "Maximum power",
    "CN85": "Test duration",
    "CN86": "Test",
    "CN87": "Disable laser",
    "CN88": "Enable laser for test",
    "CN89": "% of max power",
    "CN90": "Laser Test",
    "CN91": "Mode",
    "CN92": "Input pins",
    "CN93": "Distance max",
    "CN94": "Probe thickness",
    "CN95": "Finalize probing commands",
    "CN96": "mm",
    "CN97": "inch",
    "CN98": "Probe type",
    "CN99": "Probe axis",
    "CN100": "Start probing process",
    "CN101": "Sucessfully probed",
    "CN102": "No successful probing",
    "CN103": "Probe status",
    "CN104": "Status",
    "CN105": "Retract mode",
    "CN106": "Scaling",
    "CN107": "Global offset",
    "CN108": "Diameter mode",
    "CN109": "Tool change",
    "CN110": "OVC feedrate disable",
    "CN111": "OVC rpm enable",
    "CN112": "OVC hold disable",
    "CN113": "OVC parking disable",
    "P119": "Play command",
    "btnZX": "Zero X",
    "btnZY": "Zero Y",
    "btnZZ": "Zero Z",
    "btnStop": "Stop Jog",
    "btnaxisSel+": "Next rotary axis",
    "btnaxisSel-": "Previous rotary axis",
    "btndistSel+": "Next jog distance",
    "btndistSel-": "Previous jog distance",
    "btnZaxis": "Zero current rotary axis",
    "btnZAll": "Zero All axis",
    "btnHAll": "Home All axis",
    "btn+axis": "Current rotary axis +",
    "btn-axis": "Current rotary axis -",
    "btnHaxis": "Home current rotary axis",
    "status": "Status panel",
    "laser": "Laser panel",
    "spindle": "Spindle panel",
    "overrides": "Overrides panel",
    "probe": "Probe panel",
    "Idle": "Idle",
    "Run": "Run",
    "Hold": "Hold",
    "Jog": "Jog",
    "Home": "Home",
    "Alarm": "Alarm",
    "Sleep": "Sleep",
    "Check": "Check",
    "Door": "Door",
    "Hold:0": "Hold complete. Ready to resume.",
    "Hold:1": "Hold in-progress. Reset will throw an alarm.",
    "Door:0": "Door closed. Ready to resume.",
    "Door:1": "Machine stopped. Door still ajar. Can't resume until closed.",
    "Door:2": "Door opened. Hold (or parking retract) in-progress. Reset will throw an alarm.",
    "Door:3": "Door closed and resuming. Restoring from park, if applicable. Reset will throw an alarm.",
    "ALARM:1": "Hard limit has been triggered. Machine position is likely lost due to sudden halt. Re-homing is highly recommended.",
    "ALARM:2": "Soft limit alarm. G-code motion target exceeds machine travel. Machine position retained. Alarm may be safely unlocked.",
    "ALARM:3": "Reset while in motion. Machine position is likely lost due to sudden halt. Re-homing is highly recommended.",
    "ALARM:4": "Probe fail. Probe is not in the expected initial state before starting probe cycle when G38.2 and G38.3 is not triggered and G38.4 and G38.5 is triggered.",
    "ALARM:5": "Probe fail. Probe did not contact the workpiece within the programmed travel for G38.2 and G38.4.",
    "ALARM:6": "Homing fail. The active homing cycle was reset.",
    "ALARM:7": "Homing fail. Safety door was opened during homing cycle.",
    "ALARM:8": "Homing fail. Pull off travel failed to clear limit switch. Try increasing pull-off setting or check wiring.",
    "ALARM:9": "Homing fail. Could not find limit switch within search distances. Try increasing max travel, decreasing pull-off distance, or check wiring.",
    "ALARM:10": "EStop asserted. Clear and reset",
    "ALARM:11": "Homing required. Execute homing command ($H) to continue.",
    "ALARM:12": "Limit switch engaged. Clear before continuing.",
    "ALARM:13": "Probe protection triggered. Clear before continuing.",
    "ALARM:14": "Spindle at speed timeout. Clear before continuing.",
    "ALARM:15": "Homing fail. Could not find second limit switch for auto squared axis within search distances. Try increasing max travel, decreasing pull-off distance, or check wiring.",
    "ALARM:16": "Power on selftest (POS) failed.",
    "ALARM:17": "Motor fault.",
    "ALARM:18": "Homing fail. Bad configuration.",
    "error:1": "G-code words consist of a letter and a value. Letter was not found.",
    "error:2": "Missing the expected G-code word value or numeric value format is not valid.",
    "error:3": "'$' system command was not recognized or supported.",
    "error:4": "Negative value received for an expected positive value.",
    "error:5": "Homing cycle failure. Homing is not configured via settings.",
    "error:6": "Step pulse time must be greater or equal to 2 microseconds.",
    "error:7": "A settings read failed. Auto-restoring affected settings to default values.",
    "error:8": "'$' command cannot be used unless controller state is IDLE. Ensures smooth operation during a job.",
    "error:9": "G-code commands are locked out during alarm or jog state.",
    "error:10": "Soft limits cannot be enabled without homing also enabled.",
    "error:11": "Max characters per line exceeded. Received command line was not executed.",
    "error:12": "'$' setting value cause the step rate to exceed the maximum supported.",
    "error:13": "Safety door detected as opened and door state initiated.",
    "error:14": "Build info or startup line exceeded line length limit. Line not stored.",
    "error:15": "Jog target exceeds machine travel. Jog command has been ignored.",
    "error:16": "Jog command has no '=' or contains prohibited g-code.",
    "error:17": "Laser mode requires PWM output.",
    "error:18": "Reset asserted",
    "error:19": "Non positive value",
    "error:20": "Unsupported or invalid g-code command found in block.",
    "error:21": "More than one g-code command from same modal group found in block.",
    "error:22": "Feed rate has not yet been set or is undefined.",
    "error:23": "G-code command in block requires an integer value.",
    "error:24": "More than one g-code command that requires axis words found in block.",
    "error:25": "Repeated g-code word found in block.",
    "error:26": "No axis words found in block for g-code command or current modal state which requires them.",
    "error:27": "Line number value is invalid.",
    "error:28": "G-code command is missing a required value word.",
    "error:29": "G59.x work coordinate systems are not supported.",
    "error:30": "G53 only allowed with G0 and G1 motion modes.",
    "error:31": "Axis words found in block when no command or current modal state uses them.",
    "error:32": "G2 and G3 arcs require at least one in-plane axis word.",
    "error:33": "Motion command target is invalid.",
    "error:34": "Arc radius value is invalid.",
    "error:35": "G2 and G3 arcs require at least one in-plane offset word.",
    "error:36": "Unused value words found in block.",
    "error:37": "G43.1 dynamic tool length offset is not assigned to configured tool length axis.",
    "error:38": "Tool number greater than max supported value or undefined tool selected.",
    "error:39": "Value out of range.",
    "error:40": "G-code command not allowed when tool change is pending.",
    "error:41": "Spindle not running when motion commanded in CSS or spindle sync mode.",
    "error:42": "Plane must be ZX for threading.",
    "error:43": "Max. feed rate exceeded.",
    "error:44": "RPM out of range.",
    "error:45": "Only homing is allowed when a limit switch is engaged.",
    "error:46": "Home machine to continue.",
    "error:47": "ATC: current tool is not set. Set current tool with M61.",
    "error:48": "Value word conflict.",
    "error:49": "Power on self test failed. A hard reset is required.",
    "error:50": "Emergency stop active.",
    "error:51": "Motor fault.",
    "error:52": "Setting value is out of range.",
    "error:53": "Setting is not available, possibly due to limited driver support.",
    "error:54": "Retract position is less than drill depth.",
    "error:55": "Attempt to home two auto squared axes at the same time.",
    "error:56": "Coordinate system is locked.",
    "error:57": "Unexpected file demarcation.",
    "error:60": "SD Mount Error",
    "error:61": "SD Read Error",
    "error:62": "SD Failed Open Directory",
    "error:63": "SD Directory Not Found",
    "error:64": "SD Not Mounted",
    "error:70": "BT Init Error",
    "error:71": "Unknown operation found in expression.",
    "error:72": "Divide by zero in expression attempted.",
    "error:73": "Too large or too small argrument provided.",
    "error:74": "Argument is not valid for the operation",
    "error:75": "Expression is not valid.",
    "error:76": "Either NAN (not a number) or infinity was returned from expression.",
    "error:77": "Authentication required.",
    "error:78": "Access denied.",
    "error:79": "Not allowed while critical event is active.",
    "error:80": "Flow statement only allowed in filesystem macro.",
    "error:81": "Unknown flow statement.",
    "error:82": "Stack overflow while executing flow statement.",
    "error:83": "Out of memory while executing flow statement.",
    "error:84": "Could not open file.",
    "error:253": "User defined error occured."
}
