/********************************** (C) COPYRIGHT *******************************
 * File Name          : main.c
 * Author             : WCH
 * Version            : V1.1
 * Date               : 2026/01/14
 * Description        : 外设从机应用主函数及任务系统初始化
 *******************************************************************************/

/******************************************************************************/
/* 头文件包含 */
#include "../User/include/includes.h"


/*********************************************************************
 * GLOBAL TYPEDEFS
 */
__attribute__((aligned(4))) uint32_t MEM_BUF[BLE_MEMHEAP_SIZE / 4];

#if(defined(BLE_MAC)) && (BLE_MAC == TRUE)
const uint8_t MacAddr[6] = {0x84, 0xC2, 0xE4, 0x03, 0x02, 0x02};
#endif


#define     ceshi   0x00

/*********************************************************************
 * @fn      main
 * @brief   主函数
 * @return  none
 */
int main(void)
{
    HSECFG_Capacitance(HSECap_18p);
    SetSysClock(CLK_SOURCE_HSE_PLL_100MHz);
#if(defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE)
    GPIOA_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
#endif
    WDT_Init();

    UARTx_Init(UART_0,115200,BLV_DETInfo_Recv_Processing);           //RS485通讯串口

    CH57x_BLEInit();                        //初始化 BLE 协议栈底层
    HAL_Init();                             //初始化硬件抽象层（HAL），配置芯片基础外设。
    GAPRole_PeripheralInit();               //初始化外设（Peripheral）角色的 GAP 层参数。

    EEPROM_Init();
    Peripheral_Init();                      //应用层自定义初始化
    Sensor_Init();                          //IO扫描初始化

    Dbg_Println(DBG_BIT_DEVICE_STATUS,"MCU Start:%s",VER_LIB);
    PRINT("MCU_Rst:%04x\n", R8_RESET_STATUS);

    while(1)
    {
        WDT_Feed();

        UART_RECEIVE();

        DIP_ScanTask();

        TMOS_SystemProcess();

        Blv_CardlessPower_Tack();

        print_RDRsta_Tack();

        Action_Task();
    }
}

/******************************** endfile @ main ******************************/
