{ transitions: [ { key: 'start', descr: "From 'INIT' to 'IDLE' when 'true'", }, { key: 'to_ref', descr: "From 'M_ERROR' to 'M_REF' when 'menu_push'", }, { key: 'to_fault', descr: "From 'IDLE' to 'M_FAULT' when 'menu_push'", }, { key: 'to_error', descr: "From 'M_FAULT' to 'M_ERROR' when 'menu_push'", }, { key: 'to_ctrl', descr: "From 'M_REF' to 'M_CTRL' when 'menu_push'", }, { key: 'to_disp', descr: "From 'M_CTRL' to 'M_DISP' when 'menu_push'", }, { key: 'to_unit', descr: "From 'M_DISP' to 'M_UNIT' when 'menu_push'", }, { key: 'to_oper', descr: "From 'M_UNIT' to 'M_OPER' when 'menu_push'", }, { key: 'to_idle', descr: "From 'M_OPER' to 'IDLE' when 'menu_push'", }, { key: 'setter', descr: "From 'M_REF,M_CTRL,M_DISP,M_UNIT,M_OPER' to 'IDLE' when 'set_push'", }, { key: 'nochg', descr: "From 'M_REF,M_CTRL,M_DISP,M_UNIT,M_OPER' to 'IDLE' when 'set_push_nch'", }, { key: 'operate', descr: "From '*' to 'IDLE' when 'oper_push'", }, { key: 'tout', descr: "From '*' to 'IDLE' when 'is_buttons_silent'", }, ], states: [ { key: 'INIT', descr: 'Initial State', }, { key: 'IDLE', descr: 'Idle State', }, { key: 'M_REF', descr: 'Modify Reference', }, { key: 'M_FAULT', descr: 'Show Faults', }, { key: 'M_ERROR', descr: 'Show Errors', }, { key: 'M_CTRL', descr: 'Modify Control', }, { key: 'M_DISP', descr: 'Modify Display', }, { key: 'M_UNIT', descr: 'Modify Units', }, { key: 'M_OPER', descr: 'Modify Operation', }, ], variables: [ { key: 'tick', domain: 'private', }, { key: 'state_tick', domain: 'timers', }, { key: 'event', domain: 'private', }, { key: 'ui_timeout', domain: 'params', descr: 'Timeouts if no Button in this period', }, { key: 'value', domain: 'output', descr: 'Value', }, { key: 'old', domain: 'output', descr: 'Old Value', }, { key: 'v_ref', domain: 'output', descr: 'REF Value', }, { key: 'v_ctrl', domain: 'output', descr: 'CTRL Value', }, { key: 'v_disp', domain: 'output', descr: 'DISP Value', }, { key: 'v_unit', domain: 'output', descr: 'UNIT Value', }, { key: 'v_oper', domain: 'output', descr: 'OPER Value', }, { key: 'run_time', domain: 'timers', descr: 'Elapsed from start', }, { key: 'last_button', domain: 'timers', descr: 'Elapsed from latest rx', }, { key: 'is_buttons_silent', domain: 'funcs', }, { key: 'oper_push', domain: 'funcs', }, { key: 'is_changed', domain: 'funcs', }, { key: 'menu_push', domain: 'funcs', }, { key: 'set_push', domain: 'funcs', }, { key: 'set_push_nch', domain: 'funcs', }, { key: 'plus_push', domain: 'funcs', }, { key: 'minus_push', domain: 'funcs', }, { key: 'start_push', domain: 'funcs', }, { key: 'reset_push', domain: 'funcs', }, { key: 'stop_push', domain: 'funcs', }, ], events: { '16': { key: 'B_MENU', descr: 'MENU BUTTON', }, '17': { key: 'B_SET', descr: 'SET BUTTON', }, '18': { key: 'B_PLUS', descr: 'PLUS BUTTON', }, '19': { key: 'B_MINUS', descr: 'MINUS BUTTON', }, '20': { key: 'B_START', descr: 'START BUTTON', }, '21': { key: 'B_RESET', descr: 'RESET BUTTON', }, '22': { key: 'B_STOP', descr: 'STOP BUTTON', }, }, }