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"
30 #include "../util/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
);
47 bool SetBaudRate(int baudrate
);
51 int Write(std::vector
<uint8_t> data
)
53 return Write(&data
[0], data
.size());
55 int Write(uint8_t* data
, int len
);
56 int Read(uint8_t* data
, int len
, int iTimeoutMs
= -1);
58 std::string
GetError() { return m_error
; }
59 std::string
GetName() { return m_name
; }
66 bool SetTimeouts(bool bBlocking
);
75 CecBuffer
<uint8_t> m_buffer
;
78 struct termios m_options
;