MIP SDK  0.0.1
MicroStrain Communications Library for embedded systems
serial_port.h
Go to the documentation of this file.
1 #pragma once
2 
3 #ifdef WIN32
4 #include <windows.h>
5 #else
6 #include <poll.h>
7 #include <fcntl.h>
8 #include <errno.h>
9 #include <unistd.h>
10 #include <termios.h>
11 #include <sys/ioctl.h>
12 #endif
13 
14 #include <stdio.h>
15 #include <stdint.h>
16 #include <stdbool.h>
17 
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
27 
34 
35 typedef struct serial_port
36 {
37  bool is_open;
38 #ifdef WIN32 //Windows
39  HANDLE handle;
40 #else //Linux
41  int handle;
42 #endif
44 
45 
46 bool serial_port_open(serial_port *port, const char *port_str, int baudrate);
47 bool serial_port_close(serial_port *port);
48 bool serial_port_write(serial_port *port, const void *buffer, size_t num_bytes, size_t *bytes_written);
49 bool serial_port_read(serial_port *port, void *buffer, size_t num_bytes, size_t *bytes_read);
50 uint32_t serial_port_read_count(serial_port *port);
52 
56 
57 #ifdef __cplusplus
58 }
59 #endif
bool serial_port_read(serial_port *port, void *buffer, size_t num_bytes, size_t *bytes_read)
Definition: serial_port.c:208
bool serial_port_write(serial_port *port, const void *buffer, size_t num_bytes, size_t *bytes_written)
Definition: serial_port.c:176
struct serial_port serial_port
bool serial_port_open(serial_port *port, const char *port_str, int baudrate)
Definition: serial_port.c:55
uint32_t serial_port_read_count(serial_port *port)
Definition: serial_port.c:247
bool serial_port_is_open(serial_port *port)
Definition: serial_port.c:273
bool serial_port_close(serial_port *port)
Definition: serial_port.c:158
Definition: serial_port.h:36
bool is_open
Definition: serial_port.h:37
int handle
Definition: serial_port.h:41