#include "hid.h" #include "raw_hid.h" #include #include void hid_send(uint32_t hex) { uint8_t length = 32; uint8_t response[length]; memset(response, 0, length); uint8_t first, second, third, fourth; uint8_t n = 1; if (*(char *)&n == 1) { // Little endian first = (uint8_t)hex; second = (uint8_t)(hex >> 8); third = (uint8_t)(hex >> 16); fourth = (uint8_t)(hex >> 24); } else { // Big endian fourth = (uint8_t)hex; third = (uint8_t)(hex << 8); second = (uint8_t)(hex << 16); first = (uint8_t)(hex << 24); } response[0] = first; response[1] = second; response[2] = third; response[3] = fourth; raw_hid_send(response, length); } // `data` is a pointer to the buffer containing the received HID report // `length` is the length of the report - always `RAW_EPSIZE` void raw_hid_receive(uint8_t *data, uint8_t length) { /* We don't care about received stuff */ }