5 * Copyright (C) Bob 2009
7 * boblight is free software: you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
12 * boblight is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 * See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program. If not, see <http://www.gnu.org/licenses/>.
21 #include "os-dependent.h"
26 #include "../platform/threads.h"
31 #include "../util/buffer.h"
44 virtual ~CSerialPort();
46 bool Open(std::string name
, int baudrate
, int databits
= 8, int stopbits
= 1, int parity
= PAR_NONE
);
50 int Write(std::vector
<uint8_t> data
)
52 return Write(&data
[0], data
.size());
54 int Write(uint8_t* data
, int len
);
55 int Read(uint8_t* data
, int len
, int iTimeoutMs
= -1);
57 std::string
GetError() { return m_error
; }
58 std::string
GetName() { return m_name
; }
61 bool SetBaudRate(int baudrate
);
68 bool SetTimeouts(bool bBlocking
);
77 CecBuffer
<uint8_t> m_buffer
;
80 struct termios m_options
;