/*
 * @file: 
 * @Author: Lida
 * @Date: 2023-05-09 14:17:11
 * @LastEditors: Lida
 * @LastEditTime: 2023-05-31 14:44:17
 */
#ifndef H_SVC_PULSE_UART_H
#define H_SVC_PULSE_UART_H

#include "pulse/bsp/bsp_pulse.h"
#include "ir/svc/svc_ir_protocol.h"
#define PULSE_UART_RX_BUF_SIZE  50
#define PULSE_UART_CNT_MAX      50
#define PULSE_UART_IRPLUSE_CNT_MAX  100
//串口缓冲区
typedef struct{
  gw_u16 rear;               //串口队列尾指针
  gw_u16 fornt;              //串口队列头指针
  gw_u8 RX_BUF[PULSE_UART_RX_BUF_SIZE]; //串口队列缓冲区
  gw_u8 RX_PULSE_DATA[PULSE_UART_RX_BUF_SIZE]; //串口队列缓冲区
  S_Ir_OtaData    s_ir_pulsedata;
  gw_u8 RX_PULSE_IRDATA[PULSE_UART_IRPLUSE_CNT_MAX]; //串口队列缓冲区  
  gw_u8 time_cnt;             //串口队列计数器
  gw_u8 format;               //串口队列中的帧数据
  gw_u8 time_en;              //队列计数使能
  gw_u8 *temp_buf;
  gw_u8 u8PulseN_GetFlag;
}S_Pulse_Uart;

void Svc_Pulse_Uart_Init(void);
gw_s8 Svc_Pulse_Uart_Put_Data_Quene(gw_s8 data);
void Svc_Pulse_Uart_Get_Cnt_Add(void);
void Svc_Pulse_Uart_Recv(void);
S_Pulse_Uart* Svc_Pulse_Get_Data(void);


#endif