50 lines
1.7 KiB
C
50 lines
1.7 KiB
C
/**
|
||
******************************************************************************
|
||
* @file User\Driver\drv_air724.h
|
||
* @author 路淮
|
||
* @version v0.1
|
||
* @date 2026-05-21
|
||
* @brief 4G模块(AIR724)驱动头文件
|
||
******************************************************************************
|
||
*/
|
||
|
||
#ifndef __DRVAIR724_H
|
||
#define __DRVAIR724_H
|
||
|
||
/* includes ------------------------------------------------------------------*/
|
||
#include "global.h"
|
||
|
||
/* macro ------------------------------------------------------------------------------------------------*/
|
||
#define AIR724_SOCKET_MAX 6
|
||
|
||
/* struct -----------------------------------------------------------------------------------------------*/
|
||
typedef struct {
|
||
char iccid[24];
|
||
char imsi[16];
|
||
char imei[16];
|
||
uint8_t csq;
|
||
uint8_t ber;
|
||
uint8_t socket_connected[AIR724_SOCKET_MAX];
|
||
} Air724_Info_t;
|
||
|
||
/* Exported functions prototypes ------------------------------------------------------------------------*/
|
||
void drv_all_init(void);
|
||
|
||
/* ── 查询发送函数(STM32 → 4G)── */
|
||
void drv_air724_set_server(const char *ip, uint16_t port);
|
||
void drv_air724_connect_channel(uint8_t channel);
|
||
void drv_air724_disconnect_channel(uint8_t channel);
|
||
void drv_air724_query_iccid(void);
|
||
void drv_air724_query_imsi(void);
|
||
void drv_air724_query_imei(void);
|
||
void drv_air724_query_signal(void);
|
||
void drv_air724_query_link_status(void);
|
||
|
||
/* ── 统一解析入口(4G → STM32)── */
|
||
void drv_air724_parse_response(const uint8_t *frame, uint16_t len);
|
||
|
||
/* Exported constants -----------------------------------------------------------------------------------*/
|
||
extern Air724_Info_t g_air724_info;
|
||
|
||
#endif /* __DRVAIR724_H */
|