1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef _GLOBAL_H_
- #define _GLOBAL_H_
- /* includes ----------------------------------------------------------*/
- #include "stm32f1xx_hal.h"
- #include "usart.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdbool.h>
- #include "EC800.h"
- #include "flash.h"
- #include "comm_car_485.h"
- #include "task_communication.h"
- #include "gpio.h"
- #include "norflash.h"
- /* typedef -----------------------------------------------------------*/
- typedef struct{
- uint16_t ctrEvent; // 中控板事件
- // bit0:中控板迁移事件
- // 故障相关
- uint16_t mqttTimeoutCnt; // MQTT通信超时计数
- uint8_t positionErrorCnt; // 定位信息错误计数
- uint8_t InitFaultFlag_4G; // 4g模块初始化标志 1:初始化失败 0:初始化成功
- uint8_t timeoutCnt_485; // 485通信超时计数
- uint8_t gyroDataFaultFlag; // 陀螺仪数据故障标志
- uint8_t otaUpgradeStartFlag; // OTA升级开始标志
- // 超级权限--超级用户
- uint8_t superUser; // 超级权限 1:开启超级权限 0:关闭超级权限
- // 运行中进行围栏数据更新
- uint32_t fence_update;
- // 通过定位数据获取到时间数据
- uint32_t time_stamp_flag; // 1: 获取到 0:未获取到
- // 重新连接Mqtt服务器标志
- uint8_t reconnect_server_flag; // 1: 需要重新连接
- }global_par;
- extern global_par s_global_par;
- // 事件枚举
- enum event{
- CtrlPanelMigration, // 中控板迁移事件
- };
- // 定义故障结构体
- typedef struct {
- char errid[32]; // 假设errid的最大长度为32字节
- char errorInfo[128]; // 假设errorInfo的最大长度为128字节
- } Fault;
- /* define ------------------------------------------------------------*/
- #define TIMEOUT_485 10 // 10s 485通信超时时间
- #define FILTER_TIME_gyro 3 // 3s 陀螺仪故障滤波时间
- #define FILTER_TIME_GPS 240 // GPS滤波时间,单位:秒
- #define TIME_OUT_OTA 600 // 120s OTA升级超时时间设置为2min 跟升级周期链接现在是200ms
- #define MAX_RECORDS 500 // 历史故障记录的最大条数
- #define FAULT_RECORD_TIME 120 // 同一条故障记录的间隔时间 2min
- /* macro -------------------------------------------------------------*/
- /* variables ---------------------------------------------------------*/
- /* function prototypes -----------------------------------------------*/
- // @brief 中控板初始化
- extern void centralCtrSys_Init(param_boot *p_param_boot, global_par *p_global_par);
- // @brief 中控板故障检测
- extern void faultDetection(global_par *p_global_par);
- // @brief 控制蜂鸣器响应
- extern void control_beep_response(void);
- // @brief 历史故障存储
- void storeFaultRecord(void);
- // @brief 更新保存的时间信息
- void refreshSavedTime(void);
- #endif
|