mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
71 lines
1.2 KiB
C
71 lines
1.2 KiB
C
#ifndef PROTOCOL_H
|
|
#define PROTOCOL_H
|
|
|
|
enum
|
|
{
|
|
FLUXENGINE_VERSION = 1,
|
|
|
|
FLUXENGINE_VID = 0xF055,
|
|
FLUXENGINE_PID = 0x9973,
|
|
|
|
/* libusb uses these numbers */
|
|
FLUXENGINE_DATA_OUT_EP = 0x01,
|
|
FLUXENGINE_DATA_IN_EP = 0x82,
|
|
FLUXENGINE_CMD_OUT_EP = 0x03,
|
|
FLUXENGINE_CMD_IN_EP = 0x84,
|
|
|
|
/* the PSoC code uses these, sigh */
|
|
FLUXENGINE_DATA_OUT_EP_NUM = FLUXENGINE_DATA_OUT_EP & 0x0f,
|
|
FLUXENGINE_DATA_IN_EP_NUM = FLUXENGINE_DATA_IN_EP & 0x0f,
|
|
FLUXENGINE_CMD_OUT_EP_NUM = FLUXENGINE_CMD_OUT_EP & 0x0f,
|
|
FLUXENGINE_CMD_IN_EP_NUM = FLUXENGINE_CMD_IN_EP & 0x0f,
|
|
|
|
FRAME_SIZE = 64,
|
|
};
|
|
|
|
enum
|
|
{
|
|
F_FRAME_ERROR = 0,
|
|
F_FRAME_GET_VERSION_CMD,
|
|
F_FRAME_GET_VERSION_REPLY,
|
|
F_FRAME_SEEK_CMD,
|
|
F_FRAME_SEEK_REPLY,
|
|
};
|
|
|
|
enum
|
|
{
|
|
F_ERROR_NONE = 0,
|
|
F_ERROR_BAD_COMMAND = 1,
|
|
};
|
|
|
|
struct frame_header
|
|
{
|
|
uint8_t type;
|
|
uint8_t size;
|
|
};
|
|
|
|
struct any_frame
|
|
{
|
|
struct frame_header f;
|
|
};
|
|
|
|
struct error_frame
|
|
{
|
|
struct frame_header f;
|
|
uint8_t error;
|
|
};
|
|
|
|
struct version_frame
|
|
{
|
|
struct frame_header f;
|
|
uint8_t version;
|
|
};
|
|
|
|
struct seek_frame
|
|
{
|
|
struct frame_header f;
|
|
uint8_t track;
|
|
};
|
|
|
|
#endif
|