/*
 * @Description:
 * @Author: yangsw
 * @Date: 2022-06-24 16:55:07
 * @LastEditTime: 2022-08-17 15:58:28
 * @LastEditors: 002389 yangsw@lierda.com
 * @Reference:
 */
#ifndef H_SVC_PULSE_UART_H
#define H_SVC_PULSE_UART_H

#include "../bsp/bsp_pulse_uart.h"

#define PULSE_UART_RX_BUF_SIZE 100
#define PULSE_UART_CNT_MAX 10
#define IR_OPEN_IR 180
// 串口缓冲区
typedef struct PULSE_UART_Struct
{
  gw_u16 rear;                          // 串口队列尾指针
  gw_u16 fornt;                         // 串口队列头指针
  gw_u8 RX_BUF[PULSE_UART_RX_BUF_SIZE]; // 串口队列缓冲区
  gw_u8 time_cnt;                       // 串口队列计数器
  gw_u8 format;                         // 串口队列中的帧数据
  gw_u8 time_en;                        // 队列计数使能
  gw_u8 *temp_buf;                      //[PULSE_UART_RX_BUF_SIZE]
} S_Pulse_Uart;

#define Svc_Pulse_Uart_Send(a, b) Bsp_Pulse_Uart_Send_Bytes(a, b)

void Svc_Pulse_get_Cnt_Add(void);
void Svc_Pulse_Uart_Recv();
char Svc_Pluse_Uart_Put_Data_Quene(char data);
void Svc_Pulse_Uart_Init(gw_u16 u16Baudrate);
void Svc_Pulse_Uart_Wakeup_Init(void);
E_Result_Check Svc_Pulse_Lpuart_Is_Busy(void);
#endif