global(5951).h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef _GLOBAL_H_
  2. #define _GLOBAL_H_
  3. /* includes ----------------------------------------------------------*/
  4. #include "stm32f1xx_hal.h"
  5. #include "usart.h"
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9. #include <stdbool.h>
  10. #include "EC800.h"
  11. #include "flash.h"
  12. #include "comm_car_485.h"
  13. #include "task_communication.h"
  14. #include "gpio.h"
  15. #include "norflash.h"
  16. /* typedef -----------------------------------------------------------*/
  17. typedef struct{
  18. uint16_t ctrEvent; // 中控板事件
  19. // bit0:中控板迁移事件
  20. // 故障相关
  21. uint16_t mqttTimeoutCnt; // MQTT通信超时计数
  22. uint8_t positionErrorCnt; // 定位信息错误计数
  23. uint8_t InitFaultFlag_4G; // 4g模块初始化标志 1:初始化失败 0:初始化成功
  24. uint8_t timeoutCnt_485; // 485通信超时计数
  25. uint8_t gyroDataFaultFlag; // 陀螺仪数据故障标志
  26. uint8_t otaUpgradeStartFlag; // OTA升级开始标志
  27. // 超级权限--超级用户
  28. uint8_t superUser; // 超级权限 1:开启超级权限 0:关闭超级权限
  29. }global_par;
  30. extern global_par s_global_par;
  31. // 事件枚举
  32. enum event{
  33. CtrlPanelMigration, // 中控板迁移事件
  34. };
  35. // 定义故障结构体
  36. typedef struct {
  37. char errid[32]; // 假设errid的最大长度为32字节
  38. char errorInfo[128]; // 假设errorInfo的最大长度为128字节
  39. } Fault;
  40. /* define ------------------------------------------------------------*/
  41. #define TIMEOUT_485 10 // 10s 485通信超时时间
  42. #define FILTER_TIME_gyro 3 // 3s 陀螺仪故障滤波时间
  43. #define TIME_OUT_OTA 60// 600 // 120s OTA升级超时时间设置为2min 跟升级周期链接现在是200ms
  44. #define MAX_RECORDS 500
  45. /* macro -------------------------------------------------------------*/
  46. /* variables ---------------------------------------------------------*/
  47. /* function prototypes -----------------------------------------------*/
  48. // @brief 中控板初始化
  49. extern void centralCtrSys_Init(param_boot *p_param_boot, global_par *p_global_par);
  50. // @brief 中控板故障检测
  51. extern void faultDetection(global_par *p_global_par);
  52. // @brief 控制蜂鸣器响应
  53. extern void control_beep_response(void);
  54. // @brief 历史故障存储
  55. void storeFaultRecord(void);
  56. #endif