/********************************** (C) COPYRIGHT ******************************* * File Name : peripheral.h * Author : WCH * Version : V1.0 * Date : 2018/12/11 * 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. *******************************************************************************/ #ifndef PERIPHERAL_H #define PERIPHERAL_H #include #include #include "define.h" #ifdef __cplusplus extern "C" { #endif /********************************************************************* * INCLUDES */ /********************************************************************* * CONSTANTS */ // Peripheral Task Events #define SBP_START_DEVICE_EVT 0x0001 #define SBP_PERIODIC_EVT 0x0002 #define SBP_READ_RSSI_EVT 0x0004 #define SBP_PARAM_UPDATE_EVT 0x0008 #define SBP_PHY_UPDATE_EVT 0x0010 /********************************************************************* * MACROS */ typedef struct { uint16_t connHandle; // Connection handle of current connection uint16_t connInterval; uint16_t connSlaveLatency; uint16_t connTimeout; } peripheralConnItem_t; //for send to ble typedef enum { SEND_TO_BLE_TO_SEND = 1, SEND_TO_BLE_ALLOC_FAILED, SEND_TO_BLE_SEND_FAILED, } send_to_ble_state_t; /********************************************************************* * FUNCTIONS */ /* * Task Initialization for the BLE Application */ extern void Peripheral_Init(void); /* * Task Event Processor for the BLE Application */ extern uint16_t Peripheral_ProcessEvent(uint8_t task_id, uint16_t events); typedef bool (*download_ble_data_func)(uint8_t *data, int len); typedef void (*ble_connect_func)(bool stat); void ble_data_send(uint8_t *data, int len); void set_download_ble_data_func(download_ble_data_func func); void set_download_ble_file_func(download_ble_data_func func); void set_ble_connect_evtfunc(ble_connect_func func); void debug_ble_tx_data(uint8_t *data, uint16_t length); /********************************************************************* *********************************************************************/ #ifdef __cplusplus } #endif #endif