You've already forked M5-ProductExampleCodes
mirror of
https://github.com/m5stack/M5-ProductExampleCodes.git
synced 2026-05-20 10:24:10 -07:00
47 lines
1.2 KiB
C
Executable File
47 lines
1.2 KiB
C
Executable File
#ifndef __PROTOCOL__H
|
||
#define __PROTOCOL__H
|
||
|
||
#include "Arduino.h"
|
||
|
||
/*֡ͷ����*/
|
||
#define FRAME_HEADER_LENGTH 1U
|
||
|
||
/*֡β����(��У���)*/
|
||
#define FRAME_TAIL_LENGTH 1U
|
||
|
||
/*֡ͷ��ͬ�ֽ�*/
|
||
#define FRAME_HEAD_SAME_FA 0xFA
|
||
|
||
/*���ջ���������*/
|
||
#define RX_BUF_LENGTH 64U
|
||
#define RX_END_LENGTH 1U
|
||
|
||
typedef struct {
|
||
uint8_t cmd_id;
|
||
uint8_t ack_flag;
|
||
uint8_t *cmd_value;
|
||
uint16_t cmd_length;
|
||
} PayloadData;
|
||
|
||
typedef struct {
|
||
uint8_t src;
|
||
uint8_t dst;
|
||
uint8_t seq;
|
||
uint8_t res;
|
||
PayloadData payload;
|
||
} CmdData;
|
||
|
||
/*����Э�鹫������*/
|
||
typedef struct {
|
||
volatile uint8_t step; /*switch �����ת����*/
|
||
volatile int8_t tmpCnt; /*���ڼ�������ʱ����*/
|
||
volatile uint8_t aRxBufIndex; /*�������ݻ���������*/
|
||
volatile uint8_t aRxCrcIndex; /*��β���ݻ���������*/
|
||
uint8_t aRxCrc[RX_END_LENGTH];
|
||
uint8_t aRxBuf[RX_BUF_LENGTH];
|
||
} protocolComType_t;
|
||
|
||
extern void protocol_rec_put(uint8_t data);
|
||
extern void protocol_send_data(CmdData dat);
|
||
|
||
#endif |