soft_update.h 1.5 KB

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