#include "Area_Arb_Common.h"

/**
 * @brief 执行初始化，4线与仲裁模式根据配置区分
 */
void Area_Arb_Common_Init(void)
{
    if(0x55u == g_PFM_Cfg.M_Arb_Enable)
    {
        Area_With_Arb_Init();
    }
    else
    {
        Area_init();//区域初始化
    }
}
/**
 * @brief 获取所有板卡区域状态，4线与仲裁模式根据配置开关从不同结构体获取
 */
void Area_Arb_Common_Get_All_State(STR_Area_State *p_all_State)
{
    if(0x55u == g_PFM_Cfg.M_Arb_Enable)
    {
        AreaArb_Get_All_State(p_all_State);
    }
    else
    {
        Area_Get_All_State(p_all_State);
    }
}
/**
 * @brief 获取另一地A系的ID
 */
CM_UINT32 Area_Arb_Common_GetArea_A_ID(void)
{
    CM_UINT32 id = 0u;
    if(0x55u == g_PFM_Cfg.M_Arb_Enable)
    {
        id = (CM_UINT32)AreaArb_GetArea_A_ID();
    }
    else
    {
        id = Area_GetArea_A_ID();
    }
    return id;
}
/**
 * @brief 获取另一地B系的ID
 */
CM_UINT32 Area_Arb_Common_GetArea_B_ID(void)
{
    CM_UINT32 id = 0u;
    if(0x55u == g_PFM_Cfg.M_Arb_Enable)
    {
        id = (CM_UINT32)AreaArb_GetArea_B_ID();
    }
    else
    {
        id = Area_GetArea_B_ID();
    }
    return id;
}
/**
 * @brief 判断是否存在备地
 */
CM_BOOL Area_Arb_Common_Slave_Is_Exist(void)
{
    CM_BOOL rt = ENUM_CM_FALSE;
    if(0x55u == g_PFM_Cfg.M_Arb_Enable)
    {
        rt = Area_Slave_Is_Exist();
    }
    else
    {
        rt = AreaArb_Slave_Is_Exist();
    }
    return rt;
}