Files
GD32_BOOT/Robot_V2/sys/OTA.h
T
2025-12-25 12:07:06 +08:00

28 lines
567 B
C++

#ifndef __OTA_H
#define __OTA_H
#include "Can.h"
#include "config.h"
#include "gd32c10x.h"
class OTAHandler {
public:
bool ota_active;
uint32_t received_size;
uint32_t expected_size;
OTAHandler();
void init();
void process();
bool isActive() const { return ota_active; }
void handleOTAMessage(uint32_t id, uint8_t *data, uint8_t len);
void jumpToApplication();
private:
bool validateApplication();
void eraseApplicationArea();
void writeApplicationData(uint32_t offset, uint8_t *data, uint32_t size);
void sendACK(uint32_t packet_num);
};
#endif