[HAL_PREFIX]
    NAME = panelui
[RADIO_BUTTONS]
    [[mpg_scale]]
        KEY = NONE
        OUTPUT = FLOAT
        DEFAULT = mpg_small
        [[[mpg_small]]]
            KEY = R6C2
            GROUP = mpg_scale
            GROUP_OUTPUT = .0001
            OUTPUT = COMMAND
            STATUS_PIN = True
            TRUE_STATE = TRUE
            FALSE_STATE = FALSE
            TRUE_COMMAND = set_linear_jog_velocity, 1
            FALSE_COMMAND = NONE, NONE
            DEFAULT = false
        [[[mpg_med]]]
            KEY = R7C2
            GROUP = mpg_scale
            GROUP_OUTPUT = .001
            OUTPUT = COMMAND
            STATUS_PIN = True
            TRUE_STATE = 2.5
            FALSE_STATE = 0
            TRUE_COMMAND = set_linear_jog_velocity, 10
            FALSE_COMMAND = NONE, NONE
            DEFAULT = false
        [[[mpg_large]]]
            KEY = R0C3
            GROUP = mpg_scale
            GROUP_OUTPUT = .01
            OUTPUT = COMMAND
            STATUS_PIN = True
            TRUE_STATE = 20
            FALSE_STATE = 0
            TRUE_COMMAND = set_linear_jog_velocity, 100
            FALSE_COMMAND = NONE, NONE
            DEFAULT = false
    [[axis_select]]
        KEY = select_axis
        OUTPUT = S32
        DEFAULT = select_x
        [[[select_x]]]
            KEY = R5C2
            GROUP = axis_select
            GROUP_OUTPUT = 1
            OUTPUT = BIT
            TRUE_STATE = True
            FALSE_STATE = False
            STATUS_PIN = True
            DEFAULT = false
        [[[select_z]]]
            KEY = R4C2
            GROUP = axis_select
            GROUP_OUTPUT = 2
            OUTPUT = BIT
            TRUE_STATE = True
            FALSE_STATE = False
            STATUS_PIN = True
            DEFAULT = false

[TOGGLE_BUTTONS]
    [[tool_change]]
        KEY = R2C5
        OUTPUT = BIT
        TRUE_COMMAND = NONE, NONE
        FALSE_COMMAND = NONE, NONE
        STATUS_PIN = True
        DEFAULT = TRUE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[flood]]
        KEY = R0C4
        OUTPUT = COMMAND
        TRUE_COMMAND = flood_on, NONE
        FALSE_COMMAND = flood_off, NONE
        STATUS_PIN = True
        DEFAULT = FALSE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[mist]]
        KEY = R1C4
        OUTPUT = COMMAND
        TRUE_COMMAND = mist_on, NONE
        FALSE_COMMAND = mist_off, NONE
        STATUS_PIN = True
        DEFAULT = FALSE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[pause]]
        KEY = R0C7
        OUTPUT = COMMAND
        TRUE_COMMAND = pause, NONE
        FALSE_COMMAND = resume, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[feed_hold]]
        KEY = R3C6
        OUTPUT = COMMAND
        TRUE_COMMAND = feed_hold, 1
        FALSE_COMMAND = feed_hold, 0
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[single_block]]
        KEY = R0C6
        OUTPUT = COMMAND
        TRUE_COMMAND = single_block, 1
        FALSE_COMMAND = single_block, 0
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[block_delete]]
        KEY = R5C4
        OUTPUT = COMMAND
        TRUE_COMMAND = block_delete, 1
        FALSE_COMMAND = block_delete, 0
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[optional_stop]]
        KEY = R1C6
        OUTPUT = COMMAND
        TRUE_COMMAND = optional_stop, 1
        FALSE_COMMAND = optional_stop, 0
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[override_limits]]
        KEY = R7C6
        OUTPUT = COMMAND
        TRUE_COMMAND = override_limits, NONE
        FALSE_COMMAND = NONE, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[estop]]
        KEY = R5C7
        OUTPUT = COMMAND
        TRUE_COMMAND = ESTOP_reset, NONE
        FALSE_COMMAND = estop, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[machine_on]]
        KEY = R1C7
        OUTPUT = COMMAND
        TRUE_COMMAND = machine_on, NONE
        FALSE_COMMAND = machine_off, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0

[MOMENTARY_BUTTONS]
    [[spindle_rev]]
        KEY = R2C3
        OUTPUT = COMMAND
        TRUE_COMMAND = SPINDLE_REVERSE_ADJUST, 200
        FALSE_COMMAND = None, NONE
        STATUS_PIN = True
        DEFAULT = FALSE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[spindle_fwd]]
        KEY = R3C3
        OUTPUT = COMMAND
        TRUE_COMMAND = SPINDLE_FORWARD_ADJUST, 200
        FALSE_COMMAND = None, NONE
        STATUS_PIN = True
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[spindle_jog_fwd]]
        KEY = R5C3
        OUTPUT = COMMAND
        TRUE_COMMAND = SPINDLE_FORWARD, 50
        FALSE_COMMAND = SPINDLE_stop, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[spindle_stop]]
        KEY = R1C3
        OUTPUT = COMMAND
        TRUE_COMMAND = SPINDLE_stop, None
        FALSE_COMMAND = none, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[jog_x+]]
        KEY = R0C2
        OUTPUT = COMMAND
        TRUE_COMMAND = continuous_jog, 0, 1
        FALSE_COMMAND = continuous_jog, 0, 0
        STATUS_PIN = True
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[jog_x-]]
        KEY = R2C2
        OUTPUT = COMMAND
        TRUE_COMMAND = continuous_jog, 0, -1
        FALSE_COMMAND = continuous_jog, 0, 0
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[jog_z+]]
        KEY = R3C2
        OUTPUT = COMMAND
        TRUE_COMMAND = continuous_jog, 2, 1
        FALSE_COMMAND = continuous_jog, 2, 0
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[jog_z-]]
        KEY = R1C2
        OUTPUT = COMMAND
        TRUE_COMMAND = continuous_jog, 2, -1
        FALSE_COMMAND = continuous_jog, 2, 0
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[CYCLE_START]]
        KEY = R2C7
        OUTPUT = COMMAND
        TRUE_COMMAND = smart_cycle_start, NONE
        FALSE_COMMAND = NONE, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[mdi_go_home]]
        KEY = R5C5
        OUTPUT = COMMAND
        TRUE_COMMAND = mdi, g53 g0 z0, g53 g0 x2
        FALSE_COMMAND = NONE, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[home_x]]
        KEY = R0C5
        OUTPUT = COMMAND
        TRUE_COMMAND = home_selected, 0
        FALSE_COMMAND = NONE, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[home_z]]
        KEY = R1C5
        OUTPUT = COMMAND
        TRUE_COMMAND = home_selected, 2
        FALSE_COMMAND = NONE, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
    [[message]]
        KEY = R3C5
        OUTPUT = COMMAND
        TRUE_COMMAND = hello_world, 1, 2
        FALSE_COMMAND = NONE, NONE
        STATUS_PIN = False
        DEFAULT = NONE
        TRUE_STATE = 1
        FALSE_STATE = 0
