63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
|
|
#ifndef _UART_DEV_
|
|||
|
|
#define _UART_DEV_
|
|||
|
|
|
|||
|
|
#include "typedef.h"
|
|||
|
|
|
|||
|
|
#define MSG_UART_UPDATE_READY 0x1
|
|||
|
|
#define MSG_UART_UPDATE_START 0x2
|
|||
|
|
#define MSG_UART_UPDATE_START_RSP 0X3
|
|||
|
|
#define MSG_UART_UPDATE_READ_RSP 0x4
|
|||
|
|
|
|||
|
|
#define PROTOCAL_SIZE 528
|
|||
|
|
#define SYNC_SIZE 6
|
|||
|
|
#define SYNC_MARK0 0xAA
|
|||
|
|
#define SYNC_MARK1 0x55
|
|||
|
|
|
|||
|
|
typedef union {
|
|||
|
|
u8 raw_data[PROTOCAL_SIZE + SYNC_SIZE];
|
|||
|
|
struct {
|
|||
|
|
u8 mark0;
|
|||
|
|
u8 mark1;
|
|||
|
|
u16 length;
|
|||
|
|
u8 data[PROTOCAL_SIZE + 2]; //最后CRC16
|
|||
|
|
} data;
|
|||
|
|
} protocal_frame_t;
|
|||
|
|
|
|||
|
|
struct file_info {
|
|||
|
|
u8 cmd;
|
|||
|
|
u32 addr;
|
|||
|
|
u32 len;
|
|||
|
|
} __attribute__((packed));
|
|||
|
|
|
|||
|
|
typedef struct __update_io {
|
|||
|
|
u16 rx;
|
|||
|
|
u16 tx;
|
|||
|
|
u8 input_channel; //input channel选择,根据方案选择未被使用的channel
|
|||
|
|
u8 output_channel; //同input channel
|
|||
|
|
} uart_update_cfg;
|
|||
|
|
|
|||
|
|
void uart_update_init(uart_update_cfg *cfg);
|
|||
|
|
void sava_uart_update_param(void);
|
|||
|
|
|
|||
|
|
enum {
|
|||
|
|
CMD_UART_UPDATE_START = 0x1,
|
|||
|
|
CMD_UART_UPDATE_READ,
|
|||
|
|
CMD_UART_UPDATE_END,
|
|||
|
|
CMD_UART_UPDATE_UPDATE_LEN,
|
|||
|
|
CMD_UART_JEEP_ALIVE,
|
|||
|
|
CMD_UART_UPDATE_READY,
|
|||
|
|
CMD_UART_SEND_DATA = 0x7,
|
|||
|
|
CMD_UART_UI_CMD, //屏幕参数,移动速度,屏幕方向等
|
|||
|
|
CMD_UART_UI_STRING, //data:"12345678"
|
|||
|
|
CMD_UART_UI_PIXEL_MATRIX,// 180字节像素
|
|||
|
|
CMD_UART_CHECK_ONLINE,
|
|||
|
|
CMD_UART_SLEEP,
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
u8 uart_update_tx_packet(u8 cmd, void *data, u32 addr, u16 len, u8 wait_ack);
|
|||
|
|
u8 uart_update_init_uart_type();
|
|||
|
|
void uart_update_change_ot_time(u32 new_time);
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|