blob: 90cd41e99234b4749eb196ea3c98c4320170ac28 [file]
#pragma once
#include <cstdint>
class CDCCommand {
public:
enum class Status {
Done = 0,
Continue,
Error
};
virtual void init() = 0;
virtual Status update() = 0;
};
void init_usb();
void update_usb();
bool usb_cdc_connected();
uint16_t usb_cdc_read(uint8_t *data, uint16_t len);
uint32_t usb_cdc_read_available();
void usb_cdc_write(const uint8_t *data, uint16_t len);
void usb_cdc_flush_write();
void usb_cdc_update();