51#define THROW(exceptionClass, message) throw ::exception( exceptionClass(__FILE__, __LINE__, (message) ) )
64 e_byte_size_seven = 7,
87 e_stop_bit_one_point_five
93 enum enum_flow_control
95 e_flow_control_none = 0,
96 e_flow_control_software,
97 e_flow_control_hardware
106 struct CLASS_DECL_ACME timeout
111 static ::u32 maximum()
113 return numeric_info<::u32>::maximum();
142 explicit timeout (
const class time & timeInterByteTimeout=0_ms,
143 const class time & timeReadTimeoutConstant=0_ms,
144 ::u32 uReadTimeoutMultiplier=0,
145 const class time & timeWriteTimeoutConstant=0_ms,
146 ::u32 uWriteTimeoutMultiplier=0)
160 virtual public particle
206 virtual void initialize_serial(
207 const string &port =
"",
208 ::u32 baudrate = 9600,
210 enum_byte_size ebytesize = e_byte_size_eight,
211 enum_parity eparity = e_parity_none,
212 enum_stop_bit estopbit = e_stop_bit_one,
213 enum_flow_control eflowcontrol = e_flow_control_none);
239 virtual void close ();
246 virtual ::particle * read_synchronization();
247 virtual ::particle * write_synchronization();
296 read (::u8 *buffer,
size_t size);
324 read (
string &buffer,
size_t size = 1);
337 read (
size_t size = 1);
353 readline (
string &buffer,
size_t size = 65536,
string eol =
"\n");
368 readline (
size_t size = 65536,
string eol =
"\n");
384 virtual string_array_base
385 readlines (
size_t size = 65536,
string eol =
"\n");
403 write (const ::u8 *data,
size_t size);
433 write (
const string &data);
443 virtual void setPort (
const string &port);
446 virtual void _setPort(
const string& port);
495 virtual void set_timeout(
const class ::time & inter_byte_timeout,
const class ::time & read_timeout_constant,
496 ::u32 read_timeout_multiplier,
const class ::time & write_timeout_constant,
497 ::u32 write_timeout_multiplier)
500 read_timeout_multiplier, write_timeout_constant,
501 write_timeout_multiplier);
512 virtual struct timeout getTimeout () const;
527 setBaudrate (::u32 baudrate);
538 getBaudrate ()
const;
549 setBytesize (enum_byte_size ebytesize);
557 virtual enum_byte_size
558 getBytesize ()
const;
568 setParity (enum_parity eparity);
587 setStopbits (enum_stop_bit estopbit);
595 virtual enum_stop_bit
596 getStopbits ()
const;
607 setFlowcontrol (enum_flow_control eflowcontrol);
615 virtual enum_flow_control
616 getFlowcontrol ()
const;
632 sendBreak (::i32
time);
636 setBreak (
bool level =
true);
640 setRTS (
bool level =
true);
644 setDTR (
bool level =
true);
676 virtual bool getCD ();
679 virtual size_t _read(::u8 *buffer,
size_t size);
682 virtual size_t _write(const ::u8 *data,
size_t length);
685 virtual void _flush();
688 virtual void _flushOutput();
690 virtual void _flushInput();
702 class serial_exception :
public ::exception
712 serial_exception(
const string & description) :
713 ::exception(error_serial)
727 class io_exception :
public ::exception
736 explicit io_exception(
string file, ::i32 line, ::i32 errnum) :
737 ::exception(error_serial_io)
753 explicit io_exception(
string file, ::i32 line, const_char_pointer description) :
754 ::exception(error_serial_io)
776 class port_not_opened_exception :
public ::exception
782 port_not_opened_exception (const_char_pointer description)
virtual void set_timeout(const struct timeout &timeout)
virtual void set_timeout(const class ::time &inter_byte_timeout, const class ::time &read_timeout_constant, ::u32 read_timeout_multiplier, const class ::time &write_timeout_constant, ::u32 write_timeout_multiplier)
Definition serial.h:495
virtual size_t readline(string &buffer, size_t size=65536, string eol="\n")
Definition serial.cpp:187
virtual bool waitReadable()
Definition serial.cpp:96
virtual void close()
Definition serial.cpp:69
serial()
__creatable_from_library(directory_system, directory_system, "acme_windows_common");
Definition serial.cpp:22
virtual string getPort() const
Definition serial.cpp:344
virtual size_t available()
Definition serial.cpp:86
virtual size_t write(const ::u8 *data, size_t size)
Definition serial.cpp:298
virtual size_t read(::u8 *buffer, size_t size)
Definition serial.cpp:125
virtual bool isOpen() const
Definition serial.cpp:77
virtual void waitByteTimes(size_t count)
Definition serial.cpp:108
virtual void open()
Definition serial.cpp:61
virtual void setPort(const string &port)
Definition serial.cpp:316
virtual string_array_base readlines(size_t size=65536, string eol="\n")
Definition serial.cpp:207
Definition filesystem.h:16
class::time m_timeReadTimeoutConstant
Definition serial.h:129
class::time m_timeInterByteTimeout
Definition serial.h:127
::u32 m_uReadTimeoutMultiplier
Definition serial.h:133
::u32 m_uWriteTimeoutMultiplier
Definition serial.h:139
virtual timeout simpleTimeout(const class time &time)
Definition serial.cpp:46
class::time m_timeWriteTimeoutConstant
Definition serial.h:135