/* * usb_cmd_mbx.cpp * * Created on: Jul 23, 2021 * Author: Andreas Berthoud */ #include #include "string.h" #include "usb_cmd_mbx.h" std::queue raw_usb_command_queue; void push_usb_command(uint8_t * payload_ptr, uint16_t length) { raw_command_t command = { .size = length, }; memcpy(command.payload, payload_ptr, length); raw_usb_command_queue.push(command); return; } uint8_t get_number_of_usb_commands_in_mailbox() { return raw_usb_command_queue.size(); } raw_command_t pop_usb_command() { raw_command_t command = raw_usb_command_queue.front(); raw_usb_command_queue.pop(); return command; }