IoT_SCV_CH584M/bsp/inc/bsp_ml307r.h

72 lines
2.0 KiB
C

#ifndef __BSP_ML307R_H__
#define __BSP_ML307R_H__
#include "CH58x_common.h"
/*4G 模块控制引脚*/
#define ENABLE_3_8_V GPIO_Pin_3 //PB3
#define USIM_DECT_PIN GPIO_Pin_5 //PB5
#define ML307_PWR_PIN GPIO_Pin_6 //PB6
#define ML307_RST_PIN GPIO_Pin_7 //PB7
#define ML307_UART_TX_PIN GPIO_Pin_13 //PB13
#define ML307_UART_RX_PIN GPIO_Pin_12 //PB12
typedef struct __attribute__((packed))
{
uint8_t module_init_flag : 1; //模块初始化
uint8_t module_Sleep_flag : 1; //模块睡眠
uint8_t Low_Voltage_flag : 1; //低电压
uint8_t Regular_report_flag : 1; //定期上报
uint8_t PowerOn_success_flag : 1; //模块开机成功
uint8_t PowerOn_error_flag : 1; //模块开机失败
uint8_t PowerOff_success_flag : 1;//模块关机成功
uint8_t PowerOff_error_flag : 1; //模块关机失败
uint8_t restart_success_flag : 1; //重启模块成功
uint8_t restart_error_flag : 1; //重启模块失败
uint8_t sim_success_flag : 1; //sim成功
uint8_t sim_error_flag : 1; //sim失败
uint8_t Connect_success_flag : 1; //连接平台成功
uint8_t Connect_error_flag : 1; //连接平台失败
uint8_t Valve_Open_flag : 1; //阀门打开
uint8_t Valve_Close_flag : 1; //阀门关闭
uint8_t send_complete_flag : 1; //发送数据完成标志
uint8_t send_error_flag : 1; //发送数据错误标志
uint8_t update_time_flag : 1; //更新网络时间标志位
uint8_t login_status_flag : 1; //登录到服务器标志位;
uint8_t Loop_count_flag : 3; //循环次数标志位
uint8_t Iot_Retry_flag : 1; //重试标志位;
}IotFlagStruct;
extern IotFlagStruct IotFlag_t;
static void BSP_Ml307_Power_Off(void);
void BSP_Ml307r_Init(void);
void Ml307r_Loop(void);
void BSP_Module_Emergency_Send(uint8_t* data, uint8_t len);
void BSP_ML307_StartTimeoutTimer(void);
void BSP_ML307_SetActive(void);
void BSP_ML307_SendMessage(void);
static void BSP_Read_Module(void);
static void BSP_simcom_init(void);
static void BSP_Module_Connect_CtWing(void);
#endif //!@__BSP_ML307R_H__