24#ifndef _VIRTIOSERIAL_H_
25#define _VIRTIOSERIAL_H_
27#if defined (VIRTIOCON)
31#include "virtio_buffer.h"
41 VIRT_UART_HandleTypeDef handle;
43 bool first_message_discarded;
48class VirtIOSerial :
public Stream {
52 void begin(uint32_t, uint8_t);
55 virtual int available(
void);
56 virtual int availableForWrite(
void);
57 virtual int peek(
void);
58 virtual int read(
void);
59 virtual size_t readBytes(
char *buffer,
size_t length);
60 virtual size_t write(uint8_t);
61 virtual size_t write(
const uint8_t *buffer,
size_t size);
62 virtual void flush(
void);
64 static void rxGenericCallback(VIRT_UART_HandleTypeDef *huart);
65 void rxCallback(VIRT_UART_HandleTypeDef *huart);
74 static uint32_t VirtIOSerial_index;
75 VirtIOSerialObj_t _VirtIOSerialObj;
76 void checkMessageFromISR(
void);
79extern VirtIOSerial SerialVirtIO;