virtmem
virtual memory library for Arduino
serial_utils.h
Go to the documentation of this file.
1 #ifndef VIRTMEM_SERIAL_UTILS_H
2 #define VIRTMEM_SERIAL_UTILS_H
3 
9 namespace virtmem {
10 
12 namespace serram_utils {
13 
15 enum
16 {
17  CMD_INIT = 0,
18  CMD_INITPOOL,
19  CMD_READ,
20  CMD_WRITE,
21  CMD_INPUTAVAILABLE,
22  CMD_INPUTREQUEST,
23  CMD_INPUTPEEK,
24  CMD_PING
25 };
27 
31 template <typename IOStream> class SerialInput
32 {
33  uint32_t availableMin;
34  IOStream *stream;
35 
36 public:
37  SerialInput(IOStream *s) : availableMin(0), stream(s) { }
38 
43  uint32_t available(void);
44 
50  uint32_t availableAtLeast(void);
51 
56  int16_t read(void);
57 
64  uint32_t readBytes(char *buffer, uint32_t count);
65 
70  int16_t peek(void);
71 };
72 
73 }
74 
75 }
76 
77 #include "serial_utils.hpp"
78 
79 #endif // VIRTMEM_SERIAL_UTILS_H
contains all code from virtmem
Definition: base_alloc.cpp:22
int16_t read(void)
Read a byte from serial input.
uint32_t availableAtLeast(void)
Returns the minimum number of bytes that can be read.
int16_t peek(void)
Reads a byte from serial input without removing it from the serial buffer.
Utility class that handles serial input over a port that is used by by SerialVAlloc.
Definition: serial_utils.h:31
uint32_t readBytes(char *buffer, uint32_t count)
Read multiple bytes from serial input.
uint32_t available(void)
Available bytes that can be read via serial.