sync
This commit is contained in:
90
firmware/include/protocol.h
Normal file
90
firmware/include/protocol.h
Normal file
@@ -0,0 +1,90 @@
|
||||
#ifndef PROTOCOL_H
|
||||
#define PROTOCOL_H
|
||||
|
||||
#include <zephyr/kernel.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define PROTOCOL_MAX_PATH_LEN 32U
|
||||
|
||||
typedef enum {
|
||||
PS_WAIT_SYNC = 0,
|
||||
PS_READ_FRAME_TYPE,
|
||||
PS_READ_REQ,
|
||||
PS_READ_REQ_DATA,
|
||||
} protocol_state_t;
|
||||
|
||||
typedef enum {
|
||||
CMD_GET_PROTOCOL_VERSION = 0x00,
|
||||
CMD_GET_FIRMWARE_STATUS = 0x01,
|
||||
CMD_GET_FLASH_STATUS = 0x02,
|
||||
CMD_CONFIRM_FIRMWARE = 0x03,
|
||||
CMD_REBOOT = 0x04,
|
||||
|
||||
CMD_LIST_DIR = 0x10,
|
||||
CMD_CHECK_FILE_CRC = 0x11,
|
||||
CMD_MKDIR = 0x12,
|
||||
CMD_RM = 0x13,
|
||||
CMD_STAT = 0x18,
|
||||
CMD_RENAME = 0x19,
|
||||
|
||||
CMD_PUT_FILE = 0x20,
|
||||
CMD_PUT_FW = 0x21,
|
||||
CMD_GET_FILE = 0x22,
|
||||
CMD_PUT_TAGS = 0x24,
|
||||
CMD_GET_TAGS = 0x25,
|
||||
|
||||
CMD_PLAY = 0x30,
|
||||
CMD_STOP = 0x31,
|
||||
|
||||
CMD_SET_SETTING = 0x40,
|
||||
CMD_GET_SETTING = 0x41,
|
||||
} protocol_cmd_t;
|
||||
|
||||
typedef enum {
|
||||
FRAME_REQ = 0x01,
|
||||
FRAME_REQ_DATA = 0x02,
|
||||
FRAME_RESP_ACK = 0x10,
|
||||
FRAME_RESP_DATA = 0x11,
|
||||
FRAME_RESP_STREAM_START = 0x12,
|
||||
// FRAME_RESP_STREAM_CHUNK = 0x13,
|
||||
FRAME_RESP_STREAM_END = 0x14,
|
||||
FRAME_RESP_LIST_START = 0x15,
|
||||
FRAME_RESP_LIST_CHUNK = 0x16,
|
||||
FRAME_RESP_LIST_END = 0x17,
|
||||
FRAME_RESP_ERROR = 0xFF,
|
||||
} protocol_frame_type_t;
|
||||
|
||||
typedef enum {
|
||||
P_ERR_NONE = 0x00,
|
||||
P_ERR_INVALID_COMMAND = 0x01,
|
||||
P_ERR_INVALID_PARAMETERS = 0x02,
|
||||
P_ERR_COMMAND_TOO_LONG = 0x03,
|
||||
|
||||
P_ERR_FILE_NOT_FOUND = 0x10,
|
||||
P_ERR_ALREADY_EXISTS = 0x11,
|
||||
P_ERR_NOT_A_DIRECTORY = 0x12,
|
||||
P_ERR_IS_A_DIRECTORY = 0x13,
|
||||
P_ERR_ACCESS_DENIED = 0x14,
|
||||
P_ERR_NO_SPACE = 0x15,
|
||||
P_ERR_FILE_TOO_LARGE = 0x16,
|
||||
|
||||
P_ERR_IO = 0x20,
|
||||
P_ERR_TIMEOUT = 0x21,
|
||||
P_ERR_CRC_MISMATCH = 0x22,
|
||||
P_ERR_TRANSFER_ABORTED = 0x23,
|
||||
|
||||
P_ERR_NOT_SUPPORTED = 0x30,
|
||||
P_ERR_BUSY = 0x31,
|
||||
P_ERR_INTERNAL = 0x32,
|
||||
} protocol_error_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
FW_STATUS_CONFIRMED = 0x00,
|
||||
FW_STATUS_PENDING = 0x01,
|
||||
FW_STATUS_TESTING = 0x02,
|
||||
} firmware_status_t;
|
||||
|
||||
void protocol_thread_entry(void *p1, void *p2, void *p3);
|
||||
|
||||
#endif // PROTOCOL_H
|
||||
Reference in New Issue
Block a user