/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2024-05-06     lijian       the first version
 */
#ifndef APPLICATIONS_AIR820_LTE_H_
#define APPLICATIONS_AIR820_LTE_H_

#include <rtthread.h>
#include <drv_common.h>
#include <rtdevice.h>
#include <mqtt.h>
#include <gui.h>

#define  GPS  GET_PIN(B, 0)
#define  WAK  GET_PIN(B, 1)
#define  RST  GET_PIN(C, 5)


typedef struct
{
    rt_uint8_t LTE;          // 4G
    rt_uint8_t Status; //已连接1  未连接0 以有无IP为根据
    rt_uint8_t toggle;
    rt_uint8_t LTE_re;
    rt_uint8_t MQTT_re;
    rt_uint8_t Key; //使用状态键值 1使用LTE 0不使用LTE
    rt_uint8_t log;
} LTE_t; // 4G配置与状态

//AT指令发送
void AT_send(const char * cmd);

//AT串口初始化
rt_uint8_t AT_device_init();

//LTE初始化
rt_uint8_t LTE_init();

//log
void set_LTE_log(rt_uint8_t log);

//设置/获取LTE状态键值
void set_LTE_Status(rt_uint8_t Status_t);
rt_uint8_t get_LTE_Status();

//检查标志位 1 MQTT  2 LTE
void set_check_flag(rt_uint8_t flag);

//获取LTE状态
rt_uint8_t get_LTE_status_flag();

//检测MQTT与LTE联网状态
void check_LTE_MQTT();
rt_uint8_t get_LTE_re();
rt_uint8_t get_L_MQTT_re();
#endif /* APPLICATIONS_AIR820_LTE_H_ */
