/********************************************************
*                                                                                                            
* 文 件 名： LightTestButtonDataManage.c   
* 版权说明： 北京交控科技有限公司 
* 创建时间： 2025-12-09
* 作    者： 联锁组
* 功能描述： 试灯按钮数据管理  
* 修改记录：   
*
********************************************************/

#include "LightTestButtonDataManage.h"



/*
* 功能描述： 试灯按钮处理函数
* 参数说明： void    
* 返回值  ： void
*/
void LightTestButtonDataManageProc(void)
{
    UINT16 i = 0u;  /*循环变量*/
    UINT16 j = 0u;  /*循环变量*/

    UINT16 lightTestButtonId = 0u;  /* 试灯按钮ID */
    UINT16 lightTestButtonRelayNum = 0u; /* 试灯按钮ID数量 */
    UINT16 lightRelayId = 0u;      /* 试灯表示灯继电器ID */
    UINT16 ligthtRelatNum = 0u;   /* 试灯表示灯继电器数量 */

    UINT8 lightTestButtonState = RELAY_STATE_DOWN;   /*试灯按钮状态*/

    lightTestButtonRelayNum = GetLightTestButtonCurSum(); /*获取试灯按钮总数量*/

    for(i = 0u; i < lightTestButtonRelayNum; i++)
    { 
        /* 获取对应试灯按钮ID*/
        lightTestButtonId = GetLightTestButtonId(i);
        /*获取试灯按钮继电器采集状态*/
        lightTestButtonState = GetRelayCollState(lightTestButtonId);
        if(RELAY_STATE_UP == lightTestButtonState)      /*试灯按钮按下*/
        {
            /* 试灯表示灯继电器数量*/
            ligthtRelatNum = GetLightTestButtonRelayNum(lightTestButtonId);
            for(j = 0u; j < ligthtRelatNum; j++)
            {
                /* 获取对应试灯表示灯继电器ID*/
                lightRelayId = GetLightTestButtonRelayId(lightTestButtonId,j);
                /*设置试灯表示灯继电器吸起*/
                (void)SetRelayDriveState(lightRelayId, RELAY_DRIVE_STATE_UP); 

            }
        }
        else if(RELAY_STATE_DOWN == lightTestButtonState)   /*试灯按钮未按下*/
        {
            /* 不处理即可 */
        }
        else
        {
            /* 不处理 */
        }
    } 
}
