2026-08-10 21:18:36 +08:00
|
|
|
|
#ifndef AIR780E_H
|
|
|
|
|
|
#define AIR780E_H
|
|
|
|
|
|
|
|
|
|
|
|
#include "main.h"
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
|
|
/*===== 4G ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD> (Air780E <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>, <20>͵<EFBFBD>ƽ<EFBFBD><C6BD>Ч) =====*/
|
|
|
|
|
|
#define CAT_RST_PIN GPIO_PIN_4
|
|
|
|
|
|
#define CAT_RST_PORT GPIOA
|
|
|
|
|
|
|
|
|
|
|
|
#define CAT_RST_LOW() HAL_GPIO_WritePin(CAT_RST_PORT, CAT_RST_PIN, GPIO_PIN_RESET)
|
|
|
|
|
|
#define CAT_RST_HIGH() HAL_GPIO_WritePin(CAT_RST_PORT, CAT_RST_PIN, GPIO_PIN_SET)
|
|
|
|
|
|
|
|
|
|
|
|
#define CAT_RST_LOW_MS 4000 /* <20><><EFBFBD><EFBFBD> 4s Ӳ<><D3B2><EFBFBD><EFBFBD>λ */
|
|
|
|
|
|
|
|
|
|
|
|
/*===== MQTT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =====*/
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
char ClientID[20];
|
|
|
|
|
|
char Username[20];
|
|
|
|
|
|
char Passward[20];
|
|
|
|
|
|
char ServerIP[20];
|
|
|
|
|
|
uint16_t ServerPort;
|
|
|
|
|
|
char Topic[20];
|
|
|
|
|
|
} MqttConfig;
|
|
|
|
|
|
|
|
|
|
|
|
/* Ĭ<><C4AC> MQTT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǩ<EFBFBD>Ƶ<EFBFBD> main.h <20><> MQTT_xxx <20>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD><EFBFBD>ദά<E0B4A6><CEAC><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> */
|
|
|
|
|
|
|
|
|
|
|
|
/*===== U2_CopyBuff =====*/
|
|
|
|
|
|
#define U2_COPY_SIZE 10240
|
|
|
|
|
|
extern uint8_t U2_CopyBuff[U2_COPY_SIZE];
|
|
|
|
|
|
extern volatile uint16_t U2_CopyIndex;
|
|
|
|
|
|
extern volatile uint8_t U2_CopyFlag;
|
|
|
|
|
|
|
|
|
|
|
|
/*===== <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>־ (<28><> main.c <20>ж<EFBFBD> OTA ҵ<><EFBFBD>) =====*/
|
|
|
|
|
|
extern volatile uint8_t g_air780e_mqtt_ready;
|
|
|
|
|
|
extern volatile uint8_t g_air780e_first_publish_ok;
|
|
|
|
|
|
|
|
|
|
|
|
/*===== API =====*/
|
|
|
|
|
|
uint8_t catSendCmd(const char *cmd, const char *expect, uint8_t retry, uint8_t timeout);
|
|
|
|
|
|
int air780e_send_at(const char *cmd, const char *expect, int timeout_ms);
|
2026-08-18 19:26:06 +08:00
|
|
|
|
void bg_delay(uint32_t ms);
|
|
|
|
|
|
|
|
|
|
|
|
/* GPS <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>У<EFBFBD>EEPROM(ƫ<><C6AB>173) <20><> 0/1<><31><EFBFBD>հ<EFBFBD>(0xFF) <20><> main.h <20><>
|
|
|
|
|
|
* PRODUCT_WITH_GPS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GPS <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>GPS0/GPS1 <EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD> */
|
|
|
|
|
|
extern uint8_t g_gps_on;
|
|
|
|
|
|
void gps_load_mode(void);
|
|
|
|
|
|
void gps_set_mode(uint8_t on);
|
|
|
|
|
|
#define GPS_MODE_ADDR 173 /* EEPROM GPS <20><><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD>172 Ϊ<><CEAA>Ʒģʽ<C4A3><CABD> */ /* <20><>̨<EFBFBD><CCA8>Ƭ<EFBFBD><C6AC>ʱ(ι<><CEB9>+ҵ<><D2B5><EFBFBD><EFBFBD>ѯ), WiFi <20><><EFBFBD><EFBFBD> AT <20>ȴ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
2026-08-10 21:18:36 +08:00
|
|
|
|
int Verify_Firmware_External(uint32_t ext_addr, uint32_t size); /* <20>ⲿFlash<73>̼<EFBFBD>ͷУ<CDB7><D0A3>, WiFi OTA <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
|
uint16_t crc16_modbus_update(uint16_t crc, uint8_t data); /* MODBUS CRC16 <20>ۼ<EFBFBD>, WiFi OTA <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
|
void air780e_init(void);
|
|
|
|
|
|
void air780e_process(void);
|
|
|
|
|
|
void air780e_trigger_ota(const char *host, int port, const char *path, const char *ota_id, uint16_t new_ver, uint16_t crc16);
|
2026-08-16 19:14:20 +08:00
|
|
|
|
int air780e_mqtt_report(const char *header, const char *ota_id, int percent_or_success); /* <20><><EFBFBD><EFBFBD> 0=<3D>ʹ<EFBFBD> */
|
2026-08-19 22:07:41 +08:00
|
|
|
|
void air780e_mqtt_result_nowait(const char *header, const char *ota_id, int val); /* <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><CBBE>߲<EFBFBD><DFB2><EFBFBD>OK */
|
2026-08-16 19:14:20 +08:00
|
|
|
|
int air780e_ota_confirm(void); /* 0=֪ͨ<CDA8><D6AA><EFBFBD>ʹ<EFBFBD> 1=<3D><EFBFBD><DEB9><EFBFBD> -1=֪ͨδ<D6AA>ʹ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
2026-08-10 21:18:36 +08:00
|
|
|
|
uint16_t ota_get_version(void);
|
|
|
|
|
|
void CAT1_printf(const char *fmt, ...);
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* AIR780E_H */
|