109 lines
2.7 KiB
C
109 lines
2.7 KiB
C
/********************************** (C) COPYRIGHT *******************************
|
|
* File Name : main.c
|
|
* Author : WCH
|
|
* Version : V1.2
|
|
* Date : 2022/06/22
|
|
* Description :
|
|
*********************************************************************************
|
|
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
|
|
* Attention: This software (modified or not) and binary are used for
|
|
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
|
|
*******************************************************************************/
|
|
|
|
/******************************************************************************/
|
|
/* Header file contains */
|
|
#include "CONFIG.h"
|
|
#include "MESH_LIB.h"
|
|
#include "HAL.h"
|
|
#include "app_mesh_config.h"
|
|
#include "app.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
|
|
|
|
/*********************************************************************
|
|
* @fn bt_mesh_lib_init
|
|
*
|
|
* @brief mesh ¿â³õʼ»¯
|
|
*
|
|
* @return state
|
|
*/
|
|
uint8_t bt_mesh_lib_init(void)
|
|
{
|
|
uint8_t ret;
|
|
|
|
if(tmos_memcmp(VER_MESH_LIB, VER_MESH_FILE, strlen(VER_MESH_FILE)) == FALSE)
|
|
{
|
|
PRINT("mesh head file error...\n");
|
|
while(1);
|
|
}
|
|
|
|
ret = RF_RoleInit();
|
|
|
|
#if((CONFIG_BLE_MESH_PROXY) || \
|
|
(CONFIG_BLE_MESH_PB_GATT) || \
|
|
(CONFIG_BLE_MESH_OTA))
|
|
ret = GAPRole_PeripheralInit();
|
|
#endif /* PROXY || PB-GATT || OTA */
|
|
|
|
#if(CONFIG_BLE_MESH_PROXY_CLI)
|
|
ret = GAPRole_CentralInit();
|
|
#endif /* CONFIG_BLE_MESH_PROXY_CLI */
|
|
|
|
MeshTimer_Init();
|
|
MeshDeamon_Init();
|
|
ble_sm_alg_ecc_init();
|
|
|
|
#if(CONFIG_BLE_MESH_IV_UPDATE_TEST)
|
|
bt_mesh_iv_update_test(TRUE);
|
|
#endif
|
|
return ret;
|
|
}
|
|
|
|
/*********************************************************************
|
|
* @fn Main_Circulation
|
|
*
|
|
* @brief Main loop
|
|
*
|
|
* @return none
|
|
*/
|
|
__attribute__((section(".highcode")))
|
|
__attribute__((noinline))
|
|
void Main_Circulation(void)
|
|
{
|
|
while(1)
|
|
{
|
|
TMOS_SystemProcess();
|
|
}
|
|
}
|
|
|
|
/*********************************************************************
|
|
* @fn main
|
|
*
|
|
* @brief Main function
|
|
*
|
|
* @return none
|
|
*/
|
|
int main(void)
|
|
{
|
|
SystemCoreClockUpdate();
|
|
Delay_Init();
|
|
#ifdef DEBUG
|
|
USART_Printf_Init( 115200 );
|
|
#endif
|
|
PRINT("%s\n", VER_LIB);
|
|
PRINT("%s\n", VER_MESH_LIB);
|
|
WCHBLE_Init();
|
|
HAL_Init();
|
|
bt_mesh_lib_init();
|
|
App_Init();
|
|
Main_Circulation();
|
|
}
|
|
|
|
/******************************** endfile @ main ******************************/
|