soft_update.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef __SOFT_UPDATE_H
  2. #define __SOFT_UPDATE_H
  3. #include "common.h"
  4. #include "stdbool.h"
  5. enum vk_update_device
  6. {
  7. // Update_buf 元素地址
  8. HEAD = 0,
  9. LEN = 1,
  10. TOTAL_PACK_NUM = 2,
  11. DEVICE = 4,
  12. UPDATE_STEP = 5,
  13. PACK_NUM = 6,
  14. PAYLOAD = 8,
  15. //更新步骤
  16. UPDATE_START = 200,
  17. UPDATE_ING = 201,
  18. UPDATE_END = 202,
  19. //设备ID
  20. UPDATE_OBS_F = 0x11,
  21. UPDATE_OBS_B = 0x12,
  22. UPDATE_TERAIN = 0x56,
  23. UPDATE_OBS360 = 0x78,
  24. UPDATE_SEED = 0xDA,
  25. UPDATE_FLOW = 0xDB,
  26. UPDATE_BMS = 0XDC,
  27. UPDATE_DISTOR = 0XDD,
  28. UPDATE_WEIGHT = 0xDE,
  29. };
  30. typedef struct
  31. {
  32. bool update_flag;
  33. uint8_t step;
  34. uint8_t node_id;
  35. uint32_t adr_offset;
  36. uint8_t frame_pci;
  37. uint8_t frame_len;
  38. uint8_t pack_content;
  39. }ez_update;
  40. extern ez_update EZup_par;
  41. enum EZ_UPDATE
  42. {
  43. STEP_DEFAULT = 0,
  44. STEP_FIND_NODE = 1, //发送125次寻找设备节点ID
  45. STEP_JUMP_BOOT = 2, //跳转boot
  46. STEP_EASER_FLASH = 3,//擦除FLASH
  47. STEP_SET_OFFSET_ADR = 4,//设置偏移地址
  48. STEP_SEND_DATE = 5, //发送升级数据
  49. STEP_ENDING = 6, //升级结束
  50. STEP_WAIT = 7,//等待
  51. PACK_HEAD = 10, //包头
  52. PACK_CONT = 11, //内容
  53. PACK_TAIL = 12, //包尾
  54. PACK_CRC = 13, //校验
  55. PACK_WAIT = 14, //等待雷达写flash
  56. };
  57. void Vk_Update_Device_Protocol(void);
  58. void Update_Dev_Bootversion_Function(uint8_t data[]);
  59. void mimo_obs_update_func(void);
  60. void EZ_Radar_UpdateCanRecvHookFunction(uint32_t CanID, uint8_t data[], uint8_t len);
  61. #endif