#pragma once #include #ifdef __cplusplus #include "Protocol.hpp" namespace Communication { using Callback = void(*)(const Protocol::PacketInfo&); void SetCallback(Callback cb); void Input(const uint8_t *buf, uint16_t len); bool Send(const Protocol::PacketInfo &packet); void BlockNextAck(); bool SendWithoutPayload(Protocol::PacketType type); } extern "C" { #endif void communication_usb_input(const uint8_t *buf, uint16_t len); #ifdef __cplusplus } #endif