| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- #ifndef _SOFT_UPDATE_H
- #define _SOFT_UPDATE_H
- #include "common.h"
- //莫之比雷达设置灵敏度及反馈
- #define CAN_UAVRH_SENSI_SA (0x7F6)
- //莫之比雷达读取灵敏度及反馈
- #define CAN_UAVRH_SENSI_RA (0x7F8)
- enum vk_update_device
- {
- // Update_buf 元素地址
- HEAD = 0,
- LEN = 1,
- TOTAL_PACK_NUM = 2,
- DEVICE = 4,
- UPDATE_STEP = 5,
- PACK_NUM = 6,
- PAYLOAD = 8,
- //更新步骤
- UPDATE_START = 200,
- UPDATE_ING = 201,
- UPDATE_END = 202,
- //设备ID
- UPDATE_OBS_F = 0x11,
- UPDATE_OBS_B = 0x12,
- UPDATE_TERAIN = 0x56,
- UPDATE_OBS360 = 0x78,
- UPDATE_SEED = 0xDA,
- UPDATE_FLOW = 0xDB,
- UPDATE_BMS = 0XDC,
- UPDATE_DISTOR = 0XDD,
- UPDATE_WEIGHT = 0xDE,
- };
- typedef struct
- {
- bool update_flag;
- uint8_t step;
- uint8_t node_id;
- uint32_t adr_offset;
- uint8_t frame_pci;
- uint8_t frame_len;
- uint8_t pack_content;
- }ez_update;
- extern ez_update EZup_par;
- enum EZ_UPDATE
- {
- STEP_DEFAULT = 0,
- STEP_FIND_NODE = 1, //发送125次寻找设备节点ID
- STEP_JUMP_BOOT = 2, //跳转boot
- STEP_EASER_FLASH = 3,//擦除FLASH
- STEP_SET_OFFSET_ADR = 4,//设置偏移地址
- STEP_SEND_DATE = 5, //发送升级数据
- STEP_ENDING = 6, //升级结束
- STEP_WAIT = 7,//等待
- PACK_HEAD = 10, //包头
- PACK_CONT = 11, //内容
- PACK_TAIL = 12, //包尾
- PACK_CRC = 13, //校验
- PACK_WAIT = 14, //等待雷达写flash
- };
- #pragma pack(1)
- typedef struct
- {
- bool U7E1;
- bool U7E3;
- bool U7E6;
- bool buf_flag;
- bool update_flag; //与AG不兼容 一个判断标志
- uint8_t update_buf[8];
- }Radar;
- #pragma pack()
- extern Radar Rupdate;
- extern bool uavrhup_getr1_ack;
- #pragma pack(1)
- typedef struct
- {
- bool use_update_buf_flag;
- uint8_t buf[150];
- bool vk_dev_update_flag;
- uint16_t vk_dev_pack_num;
- uint32_t bin_size;
- bool step_200_flag;
- bool step_201_flag;
- bool step_202_flag;
- }Update;
- #pragma pack()
- extern Update update_info;
- #pragma pack(1)
- typedef struct
- {
- bool update_flag;
- uint32_t bin_size;
- uint32_t bin_crc;
- uint8_t step;
- uint8_t dev_id;
- uint8_t buf[256];
- bool send_pack_complete;
- uint32_t pack_num;
- uint8_t end_frame_flag;
- uint16_t totol_packNum;
- uint8_t pack_crc;
- bool step_200_flag;
- bool step_201_flag;
- bool step_202_flag;
- }_eft_update;
- extern _eft_update eft_update;
- #pragma pack()
- enum EFT_UPDATE
- {
- STEP_START = 1,
- STEP_UPDATING = 2,
- STEP_END = 3,
- STEP_WAIT_ACK,
- };
- extern bool radar_update_flag;
- extern uint32_t update_count;
- void can_recv_mocib_updata_read_set_hookfunction(uint32_t cellCanID, uint8_t data[]);
- void Update_Dev_Bootversion_Function(uint8_t data[]);
- void mimo_obs_update_func(void);
- void EZ_Radar_UpdateCanRecvHookFunction(uint32_t CanID, uint8_t data[], uint8_t len);
- void Can_obstacle_update();
- void eft_dev_update_func(void);
- void eft_dev_update_wait_ereseflash(uint8_t data[]);
- void Vk_Update_Device_Protocol(void);
- #endif
|