/**
 * @file hv_mw_StateMachine.h
 * @brief Header file of StateMachine module.
 * 
 * @verbatim
 * ==============================================================================
 *                        ##### How to use #####
 * ==============================================================================
 * (+)  
 * 
 * @endverbatim
 *
 * @author HiView SoC Software Team
 * @version 1.0.0
 * @date 2022-08-10
 */

#ifndef __SDK_MIDDLEWARE_RUNTIME_SYSTEM_MANAGER_STATE_MACHINE_INC_STATE_MACHINE_H__
#define __SDK_MIDDLEWARE_RUNTIME_SYSTEM_MANAGER_STATE_MACHINE_INC_STATE_MACHINE_H__

#include "Common/hv_comm_DataType.h"
#include "hv_comm_Define.h"


/************************pow begin*****************************/
typedef enum  _PowerState
{
    POWER_STATE_POWER_ON    = BIT_0,
    POWER_STATE_NORMAL      = BIT_1,
    POWER_STATE_STANDBY     = BIT_2,
    POWER_STATE_OFF         = BIT_3,
    POWER_STATE_ANY_STATE   = 0xFFFF,
}PowerState;
/************************pow end********************************/

/************************channel begin**************************/
typedef enum _ChannelState
{ 
    CHANNEL_STATE_IDLE      = BIT_0,
    CHANNEL_STATE_INITIAL   = BIT_1,
    CHANNEL_STATE_SEARCH    = BIT_2,
    CHANNEL_STATE_CONFIG    = BIT_3,
    CHANNEL_STATE_ACTIVE    = BIT_4,
    CHANNEL_STATE_NO_SIGNAL = BIT_5,
    CHANNEL_STATE_BURN_IN   = BIT_6,
    CHANNEL_STATE_ANY_STATE = 0xFFFF,
}ChannelState;  
/************************channel end******************************************/

/***************************input port begin*********************************/
typedef enum  _InputPortState
{
    INPUT_PORT_STATE_IDLE           = BIT_0,
    INPUT_PORT_STATE_WAIT_SYNC      = BIT_1,
    INPUT_PORT_STATE_SYNC_OK        = BIT_2,
    INPUT_PORT_STATE_DISPLAY_RDY    = BIT_3,
    INPUT_PORT_STATE_WAIT_FAST_LOCK = BIT_4,
    INPUT_PORT_STATE_WAIT_EQ_DONE   = BIT_5,
    INPUT_PORT_STATE_ANY_STATE      = 0xFFFF,
}InputPortState;

typedef enum  _HdcpPort2xState
{
    HdcpPortState_Idle         = BIT_0,
    HdcpPortState_B0           = BIT_1,
    HdcpPortState_B1           = BIT_2,
    HdcpPortState_B2           = BIT_3,
    HdcpPortState_B3           = BIT_4,
    HdcpPortState_B4           = BIT_5,
    HdcpPortState_ANY          = 0xFFFF
}HdcpPort2xState;

/***************************input port begin*********************************/


/********************************panel begin*********************************/
typedef enum  _PanelState
{
    PANEL_STATE_OFF         = BIT_0,
    PANEL_STATE_POWER_ON    = BIT_1,
    PANEL_STATE_DATA_ON     = BIT_2,
    PANEL_STATE_WAIT_LOCK   = BIT_3,
    PANEL_STATE_IDLE_PATT   = BIT_4,
    PANEL_STATE_BLK_ON      = BIT_5,
    PANEL_STATE_BLK_OFF     = BIT_6,
    PANEL_STATE_DATA_OFF    = BIT_7,
    PANEL_STATE_POWER_OFF   = BIT_8,
    PANEL_STATE_ANY = 0xFFFF,
}PanelState;

/********************************panel end*********************************/




#endif
