diff --git a/docs/index.html b/docs/index.html index ce7110b..db189b9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -35,8 +35,10 @@
+

Documentation:

diff --git a/docs/v0.2/annotated.html b/docs/v0.2/annotated.html new file mode 100644 index 0000000..17ce425 --- /dev/null +++ b/docs/v0.2/annotated.html @@ -0,0 +1,118 @@ + + + + + +serial: Data Structures + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + + + +
serial::IOException
serial::PortNotOpenedException
serial::Serial::ScopedReadLock
serial::Serial::ScopedWriteLock
serial::Serial
serial::SerialExceptionBase
serial::SerialExecption
serial::serial::Serial::SerialImpl
+
+ + + + + + diff --git a/docs/v0.2/bc_s.png b/docs/v0.2/bc_s.png new file mode 100644 index 0000000..51ba006 Binary files /dev/null and b/docs/v0.2/bc_s.png differ diff --git a/docs/v0.2/bdwn.png b/docs/v0.2/bdwn.png new file mode 100644 index 0000000..d0b575b Binary files /dev/null and b/docs/v0.2/bdwn.png differ diff --git a/docs/v0.2/class_serial_1_1_scoped_read_lock.html b/docs/v0.2/class_serial_1_1_scoped_read_lock.html new file mode 100644 index 0000000..2baf80c --- /dev/null +++ b/docs/v0.2/class_serial_1_1_scoped_read_lock.html @@ -0,0 +1,166 @@ + + + + + +serial: serial::Serial::ScopedReadLock Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ + +
+
+
+Public Member Functions
+
+
serial::Serial::ScopedReadLock Class Reference
+
+
+ + + + +

+Public Member Functions

 ScopedReadLock (SerialImpl *pimpl)
 ~ScopedReadLock ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::Serial::ScopedReadLock::ScopedReadLock (SerialImpl * pimpl) [inline]
+
+
+
                                    : pimpl_(pimpl) {
+    this->pimpl_->readLock();
+  }
+
+
+
+ +
+ +
+
                    {
+    this->pimpl_->readUnlock();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v0.2/class_serial_1_1_scoped_write_lock.html b/docs/v0.2/class_serial_1_1_scoped_write_lock.html new file mode 100644 index 0000000..5cd2639 --- /dev/null +++ b/docs/v0.2/class_serial_1_1_scoped_write_lock.html @@ -0,0 +1,166 @@ + + + + + +serial: serial::Serial::ScopedWriteLock Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ + +
+
+
+Public Member Functions
+
+
serial::Serial::ScopedWriteLock Class Reference
+
+
+ + + + +

+Public Member Functions

 ScopedWriteLock (SerialImpl *pimpl)
 ~ScopedWriteLock ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::Serial::ScopedWriteLock::ScopedWriteLock (SerialImpl * pimpl) [inline]
+
+
+
                                     : pimpl_(pimpl) {
+    this->pimpl_->writeLock();
+  }
+
+
+
+ +
+ +
+
                     {
+    this->pimpl_->writeUnlock();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v0.2/classes.html b/docs/v0.2/classes.html new file mode 100644 index 0000000..9533600 --- /dev/null +++ b/docs/v0.2/classes.html @@ -0,0 +1,119 @@ + + + + + +serial: Data Structure Index + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+
I | P | S
+ + + + + +
  I  
+
  P  
+
  S  
+
Serial::ScopedWriteLock   SerialExecption (serial)   
Serial (serial)   SerialImpl (serial::serial::Serial)   
IOException (serial)   PortNotOpenedException (serial)   Serial::ScopedReadLock   SerialExceptionBase (serial)   
+
I | P | S
+
+ + + + + + diff --git a/docs/v0.2/classserial_1_1_i_o_exception.html b/docs/v0.2/classserial_1_1_i_o_exception.html new file mode 100644 index 0000000..895c4d3 --- /dev/null +++ b/docs/v0.2/classserial_1_1_i_o_exception.html @@ -0,0 +1,259 @@ + + + + + +serial: serial::IOException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ + +
+
+
+Public Member Functions
+
+
serial::IOException Class Reference
+
+
+ +

#include <serial.h>

+ + + + + + + +

+Public Member Functions

 IOException (std::string file, int line, int errnum)
 IOException (std::string file, int line, const char *description)
virtual ~IOException () throw ()
int getErrorNumber ()
virtual const char * what () const throw ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
serial::IOException::IOException (std::string file,
int line,
int errnum 
) [inline, explicit]
+
+
+
  : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
serial::IOException::IOException (std::string file,
int line,
const char * description 
) [inline, explicit]
+
+
+
  : file_(file), line_(line), e_what_ (description), errno_(0) {}
+
+
+
+ +
+
+ + + + + + + +
virtual serial::IOException::~IOException () throw () [inline, virtual]
+
+
+
{}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
int serial::IOException::getErrorNumber () [inline]
+
+
+
{ return errno_; }
+
+
+
+ +
+
+ + + + + + + +
virtual const char* serial::IOException::what () const throw () [inline, virtual]
+
+
+
  {
+    std::stringstream ss;
+    if (errno_ == 0)
+      ss << "IO Exception: " << e_what_;
+    else
+      ss << "IO Exception (" << errno_ << "): " << e_what_;
+    ss << ", file " << file_ << ", line " << line_ << ".";
+    return ss.str ().c_str ();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v0.2/classserial_1_1_port_not_opened_exception.html b/docs/v0.2/classserial_1_1_port_not_opened_exception.html new file mode 100644 index 0000000..4fdc592 --- /dev/null +++ b/docs/v0.2/classserial_1_1_port_not_opened_exception.html @@ -0,0 +1,168 @@ + + + + + +serial: serial::PortNotOpenedException Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ + +
+
+
+Public Member Functions
+
+
serial::PortNotOpenedException Class Reference
+
+
+ +

#include <serial.h>

+ + + + +

+Public Member Functions

 PortNotOpenedException (const char *description)
virtual const char * what () const throw ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::PortNotOpenedException::PortNotOpenedException (const char * description) [inline]
+
+
+
: e_what_ (description) {}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
virtual const char* serial::PortNotOpenedException::what () const throw () [inline, virtual]
+
+
+
  {
+    std::stringstream ss;
+    ss << e_what_ << " called before port was opened.";
+    return ss.str ().c_str ();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v0.2/classserial_1_1_serial.html b/docs/v0.2/classserial_1_1_serial.html new file mode 100644 index 0000000..188b3e4 --- /dev/null +++ b/docs/v0.2/classserial_1_1_serial.html @@ -0,0 +1,1347 @@ + + + + + +serial: serial::Serial Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ + +
+
+
+Data Structures | +Public Member Functions
+
+
serial::Serial Class Reference
+
+
+ +

#include <serial.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

class  ScopedReadLock
class  ScopedWriteLock

+Public Member Functions

 Serial (const std::string &port="", unsigned long baudrate=9600, long timeout=0, bytesize_t bytesize=eightbits, parity_t parity=parity_none, stopbits_t stopbits=stopbits_one, flowcontrol_t flowcontrol=flowcontrol_none)
virtual ~Serial ()
void open ()
bool isOpen () const
void close ()
size_t available ()
size_t read (unsigned char *buffer, size_t size)
size_t read (std::vector< unsigned char > &buffer, size_t size=1)
size_t read (std::string &buffer, size_t size=1)
std::string read (size_t size=1)
size_t readline (std::string &buffer, size_t size=65536, std::string eol="\n")
std::string readline (size_t size=65536, std::string eol="\n")
std::vector< std::string > readlines (size_t size=65536, std::string eol="\n")
size_t write (const unsigned char *data, size_t size)
size_t write (const std::vector< unsigned char > &data)
size_t write (const std::string &data)
void setPort (const std::string &port)
std::string getPort () const
void setTimeout (long timeout)
long getTimeout () const
void setBaudrate (unsigned long baudrate)
unsigned long getBaudrate () const
void setBytesize (bytesize_t bytesize)
bytesize_t getBytesize () const
void setParity (parity_t parity)
parity_t getParity () const
void setStopbits (stopbits_t stopbits)
stopbits_t getStopbits () const
void setFlowcontrol (flowcontrol_t flowcontrol)
flowcontrol_t getFlowcontrol () const
void flush ()
void flushInput ()
void flushOutput ()
void sendBreak (int duration)
void setBreak (bool level=true)
void setRTS (bool level=true)
void setDTR (bool level=true)
bool getCTS ()
bool getDSR ()
bool getRI ()
bool getCD ()
+

Detailed Description

+

Class that provides a portable serial port interface.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::Serial::Serial (const std::string & port = "",
unsigned long baudrate = 9600,
long timeout = 0,
bytesize_t bytesize = eightbits,
parity_t parity = parity_none,
stopbits_t stopbits = stopbits_one,
flowcontrol_t flowcontrol = flowcontrol_none 
)
+
+
+

Constructor, creates a SerialPortBoost object and opens the port.

+
Parameters:
+ + + + + + + + + +
portA std::string containing the address of the serial port, which would be something like 'COM1' on Windows and '/dev/ttyS0' on Linux.
baudrateAn integer that represents the buadrate
timeoutA long that represents the time (in milliseconds) until a timeout on reads occur. Setting this to zero (0) will cause reading to be non-blocking, i.e. the available data will be returned immediately, but it will not block to wait for more. Setting this to a number less than zero (-1) will result in infinite blocking behaviour, i.e. the serial port will block until either size bytes have been read or an exception has occured.
bytesizeSize of each byte in the serial transmission of data, default is eightbits, possible values are: fivebits, sixbits, sevenbits, eightbits
parityMethod of parity, default is parity_none, possible values are: parity_none, parity_odd, parity_even
stopbitsNumber of stop bits used, default is stopbits_one, possible values are: stopbits_one, stopbits_one_point_five, stopbits_two
flowcontrolType of flowcontrol used, default is flowcontrol_none, possible values are: flowcontrol_none, flowcontrol_software, flowcontrol_hardware
buffer_sizeThe maximum size of the internal buffer, defaults to 256 bytes (2^8).
+
+
+
Exceptions:
+ + +
PortNotOpenedException
+
+
+ +
+
+ +
+
+ + + + + + + +
Serial::~Serial () [virtual]
+
+
+

Destructor

+
{
+  delete pimpl_;
+}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
size_t Serial::available ()
+
+
+

Return the number of characters in the buffer.

+
{
+  return pimpl_->available ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::close ()
+
+
+

Closes the serial port.

+
{
+  pimpl_->close ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::flush ()
+
+
+

Flush the input and output buffers

+
{
+  ScopedReadLock(this->pimpl_);
+  ScopedWriteLock(this->pimpl_);
+  pimpl_->flush ();
+  read_cache_.clear ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::flushInput ()
+
+
+

Flush only the input buffer

+
{
+  ScopedReadLock(this->pimpl_);
+  pimpl_->flushInput ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::flushOutput ()
+
+
+

Flush only the output buffer

+
{
+  ScopedWriteLock(this->pimpl_);
+  pimpl_->flushOutput ();
+  read_cache_.clear ();
+}
+
+
+
+ +
+
+ + + + + + + +
unsigned long Serial::getBaudrate () const
+
+
+

Gets the baudrate for the serial port.

+
Returns:
An integer that sets the baud rate for the serial port.
+
See also:
Serial::setBaudrate
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getBaudrate ();
+}
+
+
+
+ +
+
+ + + + + + + +
bytesize_t Serial::getBytesize () const
+
+
+

Gets the bytesize for the serial port.

+
See also:
Serial::setBytesize
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getBytesize ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getCD ()
+
+
+
{
+  return pimpl_->getCD ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getCTS ()
+
+
+
{
+  return pimpl_->getCTS ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getDSR ()
+
+
+
{
+  return pimpl_->getDSR ();
+}
+
+
+
+ +
+
+ + + + + + + +
flowcontrol_t Serial::getFlowcontrol () const
+
+
+

Gets the flow control for the serial port.

+
See also:
Serial::setFlowcontrol
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getFlowcontrol ();
+}
+
+
+
+ +
+
+ + + + + + + +
parity_t Serial::getParity () const
+
+
+

Gets the parity for the serial port.

+
See also:
Serial::setParity
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getParity ();
+}
+
+
+
+ +
+
+ + + + + + + +
string Serial::getPort () const
+
+
+

Gets the serial port identifier.

+
See also:
Serial::setPort
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getPort ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::getRI ()
+
+
+
{
+  return pimpl_->getRI ();
+}
+
+
+
+ +
+
+ + + + + + + +
stopbits_t Serial::getStopbits () const
+
+
+

Gets the stopbits for the serial port.

+
See also:
Serial::setStopbits
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  return pimpl_->getStopbits ();
+}
+
+
+
+ +
+
+ + + + + + + +
long Serial::getTimeout () const
+
+
+

Gets the timeout for reads in seconds.

+
See also:
Serial::setTimeout
+
                          {
+  return pimpl_->getTimeout ();
+}
+
+
+
+ +
+
+ + + + + + + +
bool Serial::isOpen () const
+
+
+

Gets the open status of the serial port.

+
Returns:
Returns true if the port is open, false otherwise.
+
{
+  return pimpl_->isOpen ();
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::open ()
+
+
+

Opens the serial port as long as the portname is set and the port isn't alreay open.

+

If the port is provided to the constructor then an explicit call to open is not needed.

+
See also:
Serial::Serial
+
Exceptions:
+ + + + +
std::invalid_argument
serial::SerialExecption
serial::IOException
+
+
+
{
+  pimpl_->open ();
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::read (unsigned char * buffer,
size_t size 
)
+
+
+

Read a given amount of bytes from the serial port.

+

If a timeout is set it may return less characters than requested. With no timeout it will block until the requested number of bytes have been read or until an exception occurs.

+
Parameters:
+ + +
sizeA size_t defining how many bytes to be read.
+
+
+
Returns:
A std::string containing the data read.
+
{
+  ScopedReadLock (this->pimpl_);
+  return this->pimpl_->read (buffer, size);
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::read (std::vector< unsigned char > & buffer,
size_t size = 1 
)
+
+
+
{
+  ScopedReadLock (this->pimpl_);
+  unsigned char *buffer_ = new unsigned char[size];
+  size_t bytes_read = this->pimpl_->read (buffer_, size);
+  buffer.insert (buffer.end (), buffer_, buffer_+bytes_read);
+  delete[] buffer_;
+  return bytes_read;
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t Serial::read (std::string & buffer,
size_t size = 1 
)
+
+
+
{
+  ScopedReadLock (this->pimpl_);
+  unsigned char *buffer_ = new unsigned char[size];
+  size_t bytes_read = this->pimpl_->read (buffer_, size);
+  buffer.append (reinterpret_cast<const char*>(buffer_), bytes_read);
+  delete[] buffer_;
+  return bytes_read;
+}
+
+
+
+ +
+
+ + + + + + + + +
string Serial::read (size_t size = 1)
+
+
+
{
+  std::string buffer;
+  this->read (buffer, size);
+  return buffer;
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t serial::Serial::readline (std::string & buffer,
size_t size = 65536,
std::string eol = "\n" 
)
+
+
+

Reads in a line or until a given delimiter has been processed

+

Reads from the serial port until a single line has been read.

+
Parameters:
+ + + +
sizeA maximum length of a line, defaults to 65536 (2^16)
eolA string to match against for the EOL.
+
+
+
Returns:
A std::string containing the line.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::string serial::Serial::readline (size_t size = 65536,
std::string eol = "\n" 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
vector< string > Serial::readlines (size_t size = 65536,
std::string eol = "\n" 
)
+
+
+

Reads in multiple lines until the serail port times out.

+

This requires a timeout > 0 before it can be run. It will read until a timeout occurs and return a list of strings.

+
Parameters:
+ + + +
sizeA maximum length of combined lines, defaults to 65536 (2^16)
eolA string to match against for the EOL.
+
+
+
Returns:
A vector<string> containing the lines.
+
{
+  ScopedReadLock (this->pimpl_);
+  std::vector<std::string> lines;
+  size_t eol_len = eol.length ();
+  unsigned char *buffer_ = static_cast<unsigned char*>
+    (alloca (size * sizeof (unsigned char)));
+  size_t read_so_far = 0;
+  size_t start_of_line = 0;
+  while (read_so_far < size) {
+    size_t bytes_read = this->read_ (buffer_+read_so_far, 1);
+    read_so_far += bytes_read;
+    if (bytes_read == 0) {
+      if (start_of_line != read_so_far) {
+        lines.push_back (
+          string (reinterpret_cast<const char*> (buffer_ + start_of_line),
+            read_so_far - start_of_line));
+      }
+      break; // Timeout occured on reading 1 byte
+    }
+    if (string (reinterpret_cast<const char*>
+         (buffer_ + read_so_far - eol_len), eol_len) == eol) {
+      // EOL found
+      lines.push_back(
+        string(reinterpret_cast<const char*> (buffer_ + start_of_line),
+          read_so_far - start_of_line));
+      start_of_line = read_so_far;
+    }
+    if (read_so_far == size) {
+      if (start_of_line != read_so_far) {
+        lines.push_back(
+          string(reinterpret_cast<const char*> (buffer_ + start_of_line),
+            read_so_far - start_of_line));
+      }
+      break; // Reached the maximum read length
+    }
+  }
+  return lines;
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::sendBreak (int duration)
+
+
+
{
+  pimpl_->sendBreak (duration);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setBaudrate (unsigned long baudrate)
+
+
+

Sets the baudrate for the serial port.

+

Possible baudrates depends on the system but some safe baudrates include: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 Some other baudrates that are supported by some comports: 128000, 153600, 230400, 256000, 460800, 921600

+
Parameters:
+ + +
baudrateAn integer that sets the baud rate for the serial port.
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setBaudrate (baudrate);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setBreak (bool level = true)
+
+
+
{
+  pimpl_->setBreak (level);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setBytesize (bytesize_t bytesize)
+
+
+

Sets the bytesize for the serial port.

+
Parameters:
+ + +
bytesizeSize of each byte in the serial transmission of data, default is eightbits, possible values are: fivebits, sixbits, sevenbits, eightbits
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setBytesize (bytesize);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setDTR (bool level = true)
+
+
+
{
+  pimpl_->setDTR (level);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setFlowcontrol (flowcontrol_t flowcontrol)
+
+
+

Sets the flow control for the serial port.

+
Parameters:
+ + +
flowcontrolType of flowcontrol used, default is flowcontrol_none, possible values are: flowcontrol_none, flowcontrol_software, flowcontrol_hardware
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setFlowcontrol (flowcontrol);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setParity (parity_t parity)
+
+
+

Sets the parity for the serial port.

+
Parameters:
+ + +
parityMethod of parity, default is parity_none, possible values are: parity_none, parity_odd, parity_even
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setParity (parity);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setPort (const std::string & port)
+
+
+

Sets the serial port identifier.

+
Parameters:
+ + +
portA const std::string reference containing the address of the serial port, which would be something like 'COM1' on Windows and '/dev/ttyS0' on Linux.
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  ScopedReadLock(this->pimpl_);
+  ScopedWriteLock(this->pimpl_);
+  bool was_open = pimpl_->isOpen ();
+  if (was_open) close();
+  pimpl_->setPort (port);
+  if (was_open) open ();
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setRTS (bool level = true)
+
+
+
{
+  pimpl_->setRTS (level);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setStopbits (stopbits_t stopbits)
+
+
+

Sets the stopbits for the serial port.

+
Parameters:
+ + +
stopbitsNumber of stop bits used, default is stopbits_one, possible values are: stopbits_one, stopbits_one_point_five, stopbits_two
+
+
+
Exceptions:
+ + +
InvalidConfigurationException
+
+
+
{
+  pimpl_->setStopbits (stopbits);
+}
+
+
+
+ +
+
+ + + + + + + + +
void Serial::setTimeout (long timeout)
+
+
+

Sets the timeout for reads in milliseconds.

+
Parameters:
+ + +
timeoutA long that represents the time (in milliseconds) until a timeout on reads occur. Setting this to zero (0) will cause reading to be non-blocking, i.e. the available data will be returned immediately, but it will not block to wait for more. Setting this to a number less than zero (-1) will result in infinite blocking behaviour, i.e. the serial port will block until either size bytes have been read or an exception has occured.
+
+
+
{
+  pimpl_->setTimeout (timeout);
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::Serial::write (const unsigned char * data,
size_t size 
)
+
+
+

Write a string to the serial port.

+
Parameters:
+ + +
dataA const reference containg the data to be written to the serial port.
+
+
+
Returns:
A size_t representing the number of bytes actually written to the serial port.
+ +
+
+ +
+
+ + + + + + + + +
size_t serial::Serial::write (const std::vector< unsigned char > & data)
+
+
+ +
+
+ +
+
+ + + + + + + + +
size_t serial::Serial::write (const std::string & data)
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + + + diff --git a/docs/v0.2/classserial_1_1_serial_exception_base.html b/docs/v0.2/classserial_1_1_serial_exception_base.html new file mode 100644 index 0000000..34a5906 --- /dev/null +++ b/docs/v0.2/classserial_1_1_serial_exception_base.html @@ -0,0 +1,119 @@ + + + + + +serial: serial::SerialExceptionBase Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ + +
+
+
+
serial::SerialExceptionBase Class Reference
+
+
+ +

#include <serial.h>

+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v0.2/classserial_1_1_serial_execption.html b/docs/v0.2/classserial_1_1_serial_execption.html new file mode 100644 index 0000000..7d0a8ae --- /dev/null +++ b/docs/v0.2/classserial_1_1_serial_execption.html @@ -0,0 +1,168 @@ + + + + + +serial: serial::SerialExecption Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ + +
+
+
+Public Member Functions
+
+
serial::SerialExecption Class Reference
+
+
+ +

#include <serial.h>

+ + + + +

+Public Member Functions

 SerialExecption (const char *description)
virtual const char * what () const throw ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const char * description) [inline]
+
+
+
: e_what_ (description) {}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
virtual const char* serial::SerialExecption::what () const throw () [inline, virtual]
+
+
+
  {
+    std::stringstream ss;
+    ss << "SerialException " << e_what_ << " failed.";
+    return ss.str ().c_str ();
+  }
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/docs/v0.2/classserial_1_1serial_1_1_serial_1_1_serial_impl.html b/docs/v0.2/classserial_1_1serial_1_1_serial_1_1_serial_impl.html new file mode 100644 index 0000000..acc72ec --- /dev/null +++ b/docs/v0.2/classserial_1_1serial_1_1_serial_1_1_serial_impl.html @@ -0,0 +1,1936 @@ + + + + + +serial: serial::serial::Serial::SerialImpl Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions
+
+
serial::serial::Serial::SerialImpl Class Reference
+
+
+ +

#include <unix.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SerialImpl (const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)
virtual ~SerialImpl ()
void open ()
void close ()
bool isOpen () const
size_t available ()
size_t read (unsigned char *buf, size_t size=1)
size_t write (const string &data)
void flush ()
void flushInput ()
void flushOutput ()
void sendBreak (int duration)
void setBreak (bool level)
void setRTS (bool level)
void setDTR (bool level)
bool getCTS ()
bool getDSR ()
bool getRI ()
bool getCD ()
void setPort (const string &port)
string getPort () const
void setTimeout (long timeout)
long getTimeout () const
void setBaudrate (unsigned long baudrate)
unsigned long getBaudrate () const
void setBytesize (bytesize_t bytesize)
bytesize_t getBytesize () const
void setParity (parity_t parity)
parity_t getParity () const
void setStopbits (stopbits_t stopbits)
stopbits_t getStopbits () const
void setFlowcontrol (flowcontrol_t flowcontrol)
flowcontrol_t getFlowcontrol () const
void readLock ()
void readUnlock ()
void writeLock ()
void writeUnlock ()
 SerialImpl (const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)
virtual ~SerialImpl ()
void open ()
void close ()
bool isOpen () const
size_t available ()
size_t read (char *buf, size_t size=1)
size_t write (const string &data)
void flush ()
void flushInput ()
void flushOutput ()
void sendBreak (int duration)
void setBreak (bool level)
void setRTS (bool level)
void setDTR (bool level)
bool getCTS ()
bool getDSR ()
bool getRI ()
bool getCD ()
void setPort (const string &port)
string getPort () const
void setTimeout (long timeout)
long getTimeout () const
void setBaudrate (unsigned long baudrate)
unsigned long getBaudrate () const
void setBytesize (bytesize_t bytesize)
bytesize_t getBytesize () const
void setParity (parity_t parity)
parity_t getParity () const
void setStopbits (stopbits_t stopbits)
stopbits_t getStopbits () const
void setFlowcontrol (flowcontrol_t flowcontrol)
flowcontrol_t getFlowcontrol () const

+Protected Member Functions

void reconfigurePort ()
void reconfigurePort ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::serial::Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
long timeout,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual serial::serial::Serial::SerialImpl::~SerialImpl () [virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
long timeout,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+
: port_ (port), fd_ (-1), is_open_ (false), xonxoff_ (true), rtscts_ (false),
+  timeout_ (timeout), baudrate_ (baudrate), parity_ (parity),
+  bytesize_ (bytesize), stopbits_ (stopbits), flowcontrol_ (flowcontrol)
+{
+  pthread_mutex_init(&this->read_mutex, NULL);
+  pthread_mutex_init(&this->write_mutex, NULL);
+  if (port_.empty () == false)
+    open ();
+}
+
+
+
+ +
+
+ + + + + + + +
Serial::SerialImpl::~SerialImpl () [virtual]
+
+
+
{
+  close();
+  pthread_mutex_destroy(&this->read_mutex);
+  pthread_mutex_destroy(&this->write_mutex);
+}
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
size_t Serial::SerialImpl::available ()
+
+
+
{
+  if (!is_open_)
+  {
+    return 0;
+  }
+  int count = 0;
+  int result = ioctl (fd_, TIOCINQ, &count);
+  if (result == 0)
+  {
+    return static_cast<size_t> (count);
+  }
+  else
+  {
+    THROW (IOException, errno);
+  }
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::close ()
+
+
+
{
+  if (is_open_ == true)
+  {
+    if (fd_ != -1)
+    {
+      ::close (fd_); // Ignoring the outcome
+      fd_ = -1;
+    }
+    is_open_ = false;
+  }
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::flush ()
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::flush");
+  }
+  tcdrain (fd_);
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::flushInput ()
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::flushInput");
+  }
+  tcflush (fd_, TCIFLUSH);
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::flushOutput ()
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::flushOutput");
+  }
+  tcflush (fd_, TCOFLUSH);
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
unsigned long serial::serial::Serial::SerialImpl::getBaudrate () const
+
+
+ +
+
+ +
+
+ + + + + + + +
unsigned long serial::serial::Serial::SerialImpl::getBaudrate () const
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::getCD ()
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::getCD");
+  }
+  int s = ioctl (fd_, TIOCMGET, 0);
+  return (s & TIOCM_CD) != 0;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::getCTS ()
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::getCTS");
+  }
+  int s = ioctl (fd_, TIOCMGET, 0);
+  return (s & TIOCM_CTS) != 0;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::getDSR ()
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::getDSR");
+  }
+  int s = ioctl (fd_, TIOCMGET, 0);
+  return (s & TIOCM_DSR) != 0;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
string serial::serial::Serial::SerialImpl::getPort () const
+
+
+ +
+
+ +
+
+ + + + + + + +
string serial::serial::Serial::SerialImpl::getPort () const
+
+
+ +
+
+ +
+
+ + + + + + + +
bool Serial::SerialImpl::getRI ()
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::getRI");
+  }
+  int s = ioctl (fd_, TIOCMGET, 0);
+  return (s & TIOCM_RI) != 0;
+}
+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + +
long serial::serial::Serial::SerialImpl::getTimeout () const
+
+
+ +
+
+ +
+
+ + + + + + + +
long serial::serial::Serial::SerialImpl::getTimeout () const
+
+
+ +
+
+ +
+
+ + + + + + + +
bool serial::serial::Serial::SerialImpl::isOpen () const
+
+
+ +
+
+ +
+
+ + + + + + + +
bool serial::serial::Serial::SerialImpl::isOpen () const
+
+
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::open ()
+
+
+
{
+  if (port_.empty ())
+  {
+    throw invalid_argument ("Empty port is invalid.");
+  }
+  if (is_open_ == true)
+  {
+    throw SerialExecption ("Serial port already open.");
+  }
+
+  fd_ = ::open (port_.c_str(), O_RDWR | O_NOCTTY | O_NONBLOCK);
+
+  if (fd_ == -1)
+  {
+    switch (errno)
+    {
+      case EINTR:
+        // Recurse because this is a recoverable error.
+        open ();
+        return;
+      case ENFILE:
+      case EMFILE:
+        THROW (IOException, "Too many file handles open.");
+      default:
+        THROW (IOException, errno);
+    }
+  }
+
+  reconfigurePort();
+  is_open_ = true;
+}
+
+
+
+ +
+
+ + + + + + + +
void serial::serial::Serial::SerialImpl::open ()
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::read (char * buf,
size_t size = 1 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::read (unsigned char * buf,
size_t size = 1 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::readLock ()
+
+
+
                           {
+  int result = pthread_mutex_lock(&this->read_mutex);
+  if (result) {
+    THROW (IOException, result);
+  }
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::readUnlock ()
+
+
+
                             {
+  int result = pthread_mutex_unlock(&this->read_mutex);
+  if (result) {
+    THROW (IOException, result);
+  }
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::reconfigurePort () [protected]
+
+
+
{
+  if (fd_ == -1)
+  {
+    // Can only operate on a valid file descriptor
+    THROW (IOException, "Invalid file descriptor, is the serial port open?");
+  }
+
+  struct termios options; // The options for the file descriptor
+
+  if (tcgetattr(fd_, &options) == -1)
+  {
+    THROW (IOException, "::tcgetattr");
+  }
+
+  // set up raw mode / no echo / binary
+  options.c_cflag |= (unsigned long)  (CLOCAL|CREAD);
+  options.c_lflag &= (unsigned long) ~(ICANON|ECHO|ECHOE|ECHOK|ECHONL|
+                                       ISIG|IEXTEN); //|ECHOPRT
+
+  options.c_oflag &= (unsigned long) ~(OPOST);
+  options.c_iflag &= (unsigned long) ~(INLCR|IGNCR|ICRNL|IGNBRK);
+#ifdef IUCLC
+  options.c_iflag &= (unsigned long) ~IUCLC;
+#endif
+#ifdef PARMRK
+  options.c_iflag &= (unsigned long) ~PARMRK;
+#endif
+
+  // setup baud rate
+  bool custom_baud = false;
+  speed_t baud;
+  switch (baudrate_)
+  {
+#ifdef B0
+    case 0: baud = B0; break;
+#endif
+#ifdef B50
+    case 50: baud = B50; break;
+#endif
+#ifdef B75
+    case 75: baud = B75; break;
+#endif
+#ifdef B110
+    case 110: baud = B110; break;
+#endif
+#ifdef B134
+    case 134: baud = B134; break;
+#endif
+#ifdef B150
+    case 150: baud = B150; break;
+#endif
+#ifdef B200
+    case 200: baud = B200; break;
+#endif
+#ifdef B300
+    case 300: baud = B300; break;
+#endif
+#ifdef B600
+    case 600: baud = B600; break;
+#endif
+#ifdef B1200
+    case 1200: baud = B1200; break;
+#endif
+#ifdef B1800
+    case 1800: baud = B1800; break;
+#endif
+#ifdef B2400
+    case 2400: baud = B2400; break;
+#endif
+#ifdef B4800
+    case 4800: baud = B4800; break;
+#endif
+#ifdef B7200
+    case 7200: baud = B7200; break;
+#endif
+#ifdef B9600
+    case 9600: baud = B9600; break;
+#endif
+#ifdef B14400
+    case 14400: baud = B14400; break;
+#endif
+#ifdef B19200
+    case 19200: baud = B19200; break;
+#endif
+#ifdef B28800
+    case 28800: baud = B28800; break;
+#endif
+#ifdef B57600
+    case 57600: baud = B57600; break;
+#endif
+#ifdef B76800
+    case 76800: baud = B76800; break;
+#endif
+#ifdef B38400
+    case 38400: baud = B38400; break;
+#endif
+#ifdef B115200
+    case 115200: baud = B115200; break;
+#endif
+#ifdef B128000
+    case 128000: baud = B128000; break;
+#endif
+#ifdef B153600
+    case 153600: baud = B153600; break;
+#endif
+#ifdef B230400
+    case 230400: baud = B230400; break;
+#endif
+#ifdef B256000
+    case 256000: baud = B256000; break;
+#endif
+#ifdef B460800
+    case 460800: baud = B460800; break;
+#endif
+#ifdef B921600
+    case 921600: baud = B921600; break;
+#endif
+    default:
+      custom_baud = true;
+// Mac OS X 10.x Support
+#if defined(__APPLE__) && defined(__MACH__)
+#define IOSSIOSPEED _IOW('T', 2, speed_t)
+      int new_baud = static_cast<int> (baudrate_);
+      if (ioctl (fd_, IOSSIOSPEED, &new_baud, 1) < 0)
+      {
+        THROW (IOException, errno);
+      }
+// Linux Support
+#elif defined(__linux__)
+      struct serial_struct ser;
+      ioctl (fd_, TIOCGSERIAL, &ser);
+      // set custom divisor
+      ser.custom_divisor = ser.baud_base / baudrate_;
+      // update flags
+      ser.flags &= ~ASYNC_SPD_MASK;
+      ser.flags |= ASYNC_SPD_CUST;
+
+      if (ioctl (fd_, TIOCSSERIAL, ser) < 0)
+      {
+        THROW (IOException, errno);
+      }
+#else
+      throw invalid_argument ("OS does not currently support custom bauds");
+#endif
+  }
+  if (custom_baud == false)
+  {
+#ifdef _BSD_SOURCE
+    ::cfsetspeed(&options, baud);
+#else
+    ::cfsetispeed(&options, baud);
+    ::cfsetospeed(&options, baud);
+#endif
+  }
+
+  // setup char len
+  options.c_cflag &= (unsigned long) ~CSIZE;
+  if (bytesize_ == eightbits)
+      options.c_cflag |= CS8;
+  else if (bytesize_ == sevenbits)
+      options.c_cflag |= CS7;
+  else if (bytesize_ == sixbits)
+      options.c_cflag |= CS6;
+  else if (bytesize_ == fivebits)
+      options.c_cflag |= CS5;
+  else
+      throw invalid_argument ("invalid char len");
+  // setup stopbits
+  if (stopbits_ == stopbits_one)
+      options.c_cflag &= (unsigned long) ~(CSTOPB);
+  else if (stopbits_ == stopbits_one_point_five)
+  // ONE POINT FIVE same as TWO.. there is no POSIX support for 1.5
+      options.c_cflag |=  (CSTOPB);
+  else if (stopbits_ == stopbits_two)
+      options.c_cflag |=  (CSTOPB);
+  else
+      throw invalid_argument ("invalid stop bit");
+  // setup parity
+  options.c_iflag &= (unsigned long) ~(INPCK|ISTRIP);
+  if (parity_ == parity_none)
+  {
+    options.c_cflag &= (unsigned long) ~(PARENB|PARODD);
+  }
+  else if (parity_ == parity_even)
+  {
+    options.c_cflag &= (unsigned long) ~(PARODD);
+    options.c_cflag |=  (PARENB);
+  }
+  else if (parity_ == parity_odd)
+  {
+    options.c_cflag |=  (PARENB|PARODD);
+  }
+  else
+  {
+    throw invalid_argument ("invalid parity");
+  }
+  // setup flow control
+  // xonxoff
+#ifdef IXANY
+  if (xonxoff_)
+    options.c_iflag |=  (IXON|IXOFF); //|IXANY)
+  else
+    options.c_iflag &= (unsigned long) ~(IXON|IXOFF|IXANY);
+#else
+  if (xonxoff_)
+    options.c_iflag |=  (IXON|IXOFF);
+  else
+    options.c_iflag &= (unsigned long) ~(IXON|IXOFF);
+#endif
+  // rtscts
+#ifdef CRTSCTS
+  if (rtscts_)
+    options.c_cflag |=  (CRTSCTS);
+  else
+    options.c_cflag &= (unsigned long) ~(CRTSCTS);
+#elif defined CNEW_RTSCTS
+  if (rtscts_)
+    options.c_cflag |=  (CNEW_RTSCTS);
+  else
+    options.c_cflag &= (unsigned long) ~(CNEW_RTSCTS);
+#else
+#error "OS Support seems wrong."
+#endif
+
+  // http://www.unixwiz.net/techtips/termios-vmin-vtime.html
+  // this basically sets the read call up to be a polling read, 
+  // but we are using select to ensure there is data available 
+  // to read before each call, so we should never needlessly poll
+  options.c_cc[VMIN] = 0;
+  options.c_cc[VTIME] = 0;
+
+  // activate settings
+  ::tcsetattr (fd_, TCSANOW, &options);
+}
+
+
+
+ +
+
+ + + + + + + +
void serial::serial::Serial::SerialImpl::reconfigurePort () [protected]
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::sendBreak (int duration)
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::sendBreak");
+  }
+  tcsendbreak (fd_, static_cast<int> (duration/4));
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::sendBreak (int duration)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setBaudrate (unsigned long baudrate)
+
+
+
{
+  baudrate_ = baudrate;
+  if (is_open_)
+    reconfigurePort ();
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setBaudrate (unsigned long baudrate)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setBreak (bool level)
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::setBreak");
+  }
+  if (level)
+  {
+    ioctl (fd_, TIOCSBRK);
+  }
+  else {
+    ioctl (fd_, TIOCCBRK);
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setBreak (bool level)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setBytesize (bytesize_t bytesize)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setBytesize (bytesize_t bytesize)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setDTR (bool level)
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::setDTR");
+  }
+  if (level)
+  {
+    ioctl (fd_, TIOCMBIS, TIOCM_DTR);
+  }
+  else
+  {
+    ioctl (fd_, TIOCMBIC, TIOCM_DTR);
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setDTR (bool level)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setFlowcontrol (flowcontrol_t flowcontrol)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setFlowcontrol (flowcontrol_t flowcontrol)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setParity (parity_t parity)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setParity (parity_t parity)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setPort (const string & port)
+
+
+
{
+  port_ = port;
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setPort (const string & port)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setRTS (bool level)
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::setRTS");
+  }
+  if (level)
+  {
+    ioctl (fd_, TIOCMBIS, TIOCM_RTS);
+  }
+  else {
+    ioctl (fd_, TIOCMBIC, TIOCM_RTS);
+  }
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setRTS (bool level)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setStopbits (stopbits_t stopbits)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setStopbits (stopbits_t stopbits)
+
+
+ +
+
+ +
+
+ + + + + + + + +
void Serial::SerialImpl::setTimeout (long timeout)
+
+
+
{
+  timeout_ = timeout;
+}
+
+
+
+ +
+
+ + + + + + + + +
void serial::serial::Serial::SerialImpl::setTimeout (long timeout)
+
+
+ +
+
+ +
+
+ + + + + + + + +
size_t Serial::SerialImpl::write (const string & data)
+
+
+
{
+  if (is_open_ == false)
+  {
+    throw PortNotOpenedException ("Serial::write");
+  }
+
+  return static_cast<size_t> (::write (fd_, data.c_str (), data.length ()));
+}
+
+
+
+ +
+
+ + + + + + + + +
size_t serial::serial::Serial::SerialImpl::write (const string & data)
+
+
+ +
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::writeLock ()
+
+
+
                            {
+  int result = pthread_mutex_lock(&this->write_mutex);
+  if (result) {
+    THROW (IOException, result);
+  }
+}
+
+
+
+ +
+
+ + + + + + + +
void Serial::SerialImpl::writeUnlock ()
+
+
+
                              {
+  int result = pthread_mutex_unlock(&this->write_mutex);
+  if (result) {
+    THROW (IOException, result);
+  }
+}
+
+
+
+
The documentation for this class was generated from the following files: +
+ + + + + + diff --git a/docs/v0.2/closed.png b/docs/v0.2/closed.png new file mode 100644 index 0000000..b7d4bd9 Binary files /dev/null and b/docs/v0.2/closed.png differ diff --git a/docs/v0.2/doxygen.css b/docs/v0.2/doxygen.css new file mode 100644 index 0000000..c151fde --- /dev/null +++ b/docs/v0.2/doxygen.css @@ -0,0 +1,1012 @@ +/* The standard CSS for doxygen */ + +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 13px; + line-height: 1.3; +} + +/* @group Heading Levels */ + +h1 { + font-size: 150%; +} + +.title { + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2 { + font-size: 120%; +} + +h3 { + font-size: 100%; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd, p.starttd { + margin-top: 2px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: monospace, fixed; + font-size: 105%; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 8px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memItemLeft, .memItemRight, .memTemplParams { + border-top: 1px solid #C4CFE5; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; +} + +.memname { + white-space: nowrap; + font-weight: bold; + margin-left: 6px; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 8px; + border-top-left-radius: 8px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 8px; + -moz-border-radius-topleft: 8px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 8px; + -webkit-border-top-left-radius: 8px; + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 2px 5px; + background-color: #FBFCFD; + border-top-width: 0; + /* opera specific markup */ + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +.params, .retval, .exception, .tparams { + border-spacing: 6px 2px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + + + + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0px; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; + margin: 5px; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + width: 100%; + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + margin-left: 5px; + font-size: 8pt; + padding-left: 5px; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 7px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + border-left:4px solid; + padding: 0 0 0 6px; +} + +dl.note +{ + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + border-color: #00D000; +} + +dl.deprecated +{ + border-color: #505050; +} + +dl.todo +{ + border-color: #00C0E0; +} + +dl.test +{ + border-color: #3030E0; +} + +dl.bug +{ + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } + pre.fragment + { + overflow: visible; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + } +} + diff --git a/docs/v0.2/doxygen.png b/docs/v0.2/doxygen.png new file mode 100644 index 0000000..635ed52 Binary files /dev/null and b/docs/v0.2/doxygen.png differ diff --git a/docs/v0.2/files.html b/docs/v0.2/files.html new file mode 100644 index 0000000..a3031a2 --- /dev/null +++ b/docs/v0.2/files.html @@ -0,0 +1,115 @@ + + + + + +serial: File List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ + + + + + +
include/serial/serial.h [code]
include/serial/impl/unix.h [code]
include/serial/impl/windows.h [code]
src/serial.cc
src/impl/unix.cc
src/impl/windows.cc
+
+ + + + + + diff --git a/docs/v0.2/functions.html b/docs/v0.2/functions.html new file mode 100644 index 0000000..dc97004 --- /dev/null +++ b/docs/v0.2/functions.html @@ -0,0 +1,366 @@ + + + + + +serial: Data Fields + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/docs/v0.2/functions_func.html b/docs/v0.2/functions_func.html new file mode 100644 index 0000000..5a64b89 --- /dev/null +++ b/docs/v0.2/functions_func.html @@ -0,0 +1,366 @@ + + + + + +serial: Data Fields - Functions + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- w -

+ + +

- ~ -

+
+ + + + + + diff --git a/docs/v0.2/globals.html b/docs/v0.2/globals.html new file mode 100644 index 0000000..95beabb --- /dev/null +++ b/docs/v0.2/globals.html @@ -0,0 +1,121 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+ + + + + + diff --git a/docs/v0.2/globals_defs.html b/docs/v0.2/globals_defs.html new file mode 100644 index 0000000..353106c --- /dev/null +++ b/docs/v0.2/globals_defs.html @@ -0,0 +1,118 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v0.2/globals_func.html b/docs/v0.2/globals_func.html new file mode 100644 index 0000000..cfbb97d --- /dev/null +++ b/docs/v0.2/globals_func.html @@ -0,0 +1,115 @@ + + + + + +serial: Globals + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v0.2/graph_legend.html b/docs/v0.2/graph_legend.html new file mode 100644 index 0000000..264b8eb --- /dev/null +++ b/docs/v0.2/graph_legend.html @@ -0,0 +1,165 @@ + + + + + +serial: Graph Legend + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

+
/*! Invisible class because of truncation */
+class Invisible { };
+
+/*! Truncated class, inheritance relation is hidden */
+class Truncated : public Invisible { };
+
+/* Class not documented with doxygen comments */
+class Undocumented { };
+
+/*! Class that is inherited using public inheritance */
+class PublicBase : public Truncated { };
+
+/*! A template class */
+template<class T> class Templ { };
+
+/*! Class that is inherited using protected inheritance */
+class ProtectedBase { };
+
+/*! Class that is inherited using private inheritance */
+class PrivateBase { };
+
+/*! Class that is used by the Inherited class */
+class Used { };
+
+/*! Super class that inherits a number of other classes */
+class Inherited : public PublicBase,
+                  protected ProtectedBase,
+                  private PrivateBase,
+                  public Undocumented,
+                  public Templ<int>
+{
+  private:
+    Used *m_usedClass;
+};
+

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+ +

The arrows have the following meaning:

+ +
+ + + + + + diff --git a/docs/v0.2/graph_legend.md5 b/docs/v0.2/graph_legend.md5 new file mode 100644 index 0000000..c0a4490 --- /dev/null +++ b/docs/v0.2/graph_legend.md5 @@ -0,0 +1 @@ +70d597617e34367275a35eeb8fb7ea07 \ No newline at end of file diff --git a/docs/v0.2/graph_legend.png b/docs/v0.2/graph_legend.png new file mode 100644 index 0000000..c68e946 Binary files /dev/null and b/docs/v0.2/graph_legend.png differ diff --git a/docs/v0.2/index.html b/docs/v0.2/index.html new file mode 100644 index 0000000..bca69ec --- /dev/null +++ b/docs/v0.2/index.html @@ -0,0 +1,101 @@ + + + + + +serial: Main Page + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + +
+ +
+ All Data Structures Namespaces Files Functions Enumerations Enumerator Defines
+ + +
+ +
+ +
+
+
serial Documentation
+
+
+
+ + + + + + diff --git a/docs/v0.2/jquery.js b/docs/v0.2/jquery.js new file mode 100644 index 0000000..90b3a2b --- /dev/null +++ b/docs/v0.2/jquery.js @@ -0,0 +1,64 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0) +{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function() +{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); + +/* + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' +
+ +
+
Here is a list of all namespace members with links to the namespace documentation for each member:
+
+ + + + + + diff --git a/docs/v0.2/namespacemembers_enum.html b/docs/v0.2/namespacemembers_enum.html new file mode 100644 index 0000000..b46e018 --- /dev/null +++ b/docs/v0.2/namespacemembers_enum.html @@ -0,0 +1,124 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v0.2/namespacemembers_eval.html b/docs/v0.2/namespacemembers_eval.html new file mode 100644 index 0000000..c49b91f --- /dev/null +++ b/docs/v0.2/namespacemembers_eval.html @@ -0,0 +1,148 @@ + + + + + +serial: Namespace Members + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + + diff --git a/docs/v0.2/namespaces.html b/docs/v0.2/namespaces.html new file mode 100644 index 0000000..509ea44 --- /dev/null +++ b/docs/v0.2/namespaces.html @@ -0,0 +1,112 @@ + + + + + +serial: Namespace List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+ + + +
serial
serial::serial
serial::serial::Serial
+
+ + + + + + diff --git a/docs/v0.2/namespaceserial.html b/docs/v0.2/namespaceserial.html new file mode 100644 index 0000000..602179c --- /dev/null +++ b/docs/v0.2/namespaceserial.html @@ -0,0 +1,258 @@ + + + + + +serial: serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
serial Namespace Reference
+
+
+ + + + + + + + + + + + + + +

+Namespaces

namespace  serial

+Data Structures

class  Serial
class  SerialExecption
class  IOException
class  PortNotOpenedException
class  SerialExceptionBase

+Enumerations

enum  bytesize_t { fivebits = 5, +sixbits = 6, +sevenbits = 7, +eightbits = 8 + }
enum  parity_t { parity_none = 0, +parity_odd = 1, +parity_even = 2 + }
enum  stopbits_t { stopbits_one = 1, +stopbits_one_point_five, +stopbits_two = 2 + }
enum  flowcontrol_t { flowcontrol_none = 0, +flowcontrol_software + }
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum serial::bytesize_t
+
+
+

Enumeration defines the possible bytesizes for the serial port.

+
Enumerator:
+ + + + +
fivebits  +
sixbits  +
sevenbits  +
eightbits  +
+
+
+
             {
+  fivebits = 5,
+  sixbits = 6,
+  sevenbits = 7,
+  eightbits = 8
+} bytesize_t;
+
+
+
+ +
+
+ + + + +
enum serial::flowcontrol_t
+
+
+

Enumeration defines the possible flowcontrol types for the serial port.

+
Enumerator:
+ + +
flowcontrol_none  +
flowcontrol_software  +
+
+
+ +
+
+ +
+
+ + + + +
enum serial::parity_t
+
+
+

Enumeration defines the possible parity types for the serial port.

+
Enumerator:
+ + + +
parity_none  +
parity_odd  +
parity_even  +
+
+
+
             {
+  parity_none = 0,
+  parity_odd = 1,
+  parity_even = 2
+} parity_t;
+
+
+
+ +
+
+ + + + +
enum serial::stopbits_t
+
+
+

Enumeration defines the possible stopbit types for the serial port.

+
Enumerator:
+ + + +
stopbits_one  +
stopbits_one_point_five  +
stopbits_two  +
+
+
+ +
+
+
+ + + + + + diff --git a/docs/v0.2/namespaceserial_1_1serial.html b/docs/v0.2/namespaceserial_1_1serial.html new file mode 100644 index 0000000..d6e2738 --- /dev/null +++ b/docs/v0.2/namespaceserial_1_1serial.html @@ -0,0 +1,120 @@ + + + + + +serial: serial::serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial Namespace Reference
+
+
+ + + +

+Namespaces

namespace  Serial
+
+ + + + + + diff --git a/docs/v0.2/namespaceserial_1_1serial_1_1_serial.html b/docs/v0.2/namespaceserial_1_1serial_1_1_serial.html new file mode 100644 index 0000000..c5acbf8 --- /dev/null +++ b/docs/v0.2/namespaceserial_1_1serial_1_1_serial.html @@ -0,0 +1,121 @@ + + + + + +serial: serial::serial::Serial Namespace Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serial::serial::Serial Namespace Reference
+
+
+ + + +

+Data Structures

class  SerialImpl
+
+ + + + + + diff --git a/docs/v0.2/nav_f.png b/docs/v0.2/nav_f.png new file mode 100644 index 0000000..1b07a16 Binary files /dev/null and b/docs/v0.2/nav_f.png differ diff --git a/docs/v0.2/nav_h.png b/docs/v0.2/nav_h.png new file mode 100644 index 0000000..01f5fa6 Binary files /dev/null and b/docs/v0.2/nav_h.png differ diff --git a/docs/v0.2/open.png b/docs/v0.2/open.png new file mode 100644 index 0000000..7b35d2c Binary files /dev/null and b/docs/v0.2/open.png differ diff --git a/docs/v0.2/search/all_61.html b/docs/v0.2/search/all_61.html new file mode 100644 index 0000000..a3164d5 --- /dev/null +++ b/docs/v0.2/search/all_61.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_61.js b/docs/v0.2/search/all_61.js new file mode 100644 index 0000000..2c73ebe --- /dev/null +++ b/docs/v0.2/search/all_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['available',['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aec474ec54cb40a4191939aacb80c5ea2',1,'serial::serial::Serial::SerialImpl::available()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aecd5e068c21b076bcf161f7bf7f415f5',1,'serial::serial::Serial::SerialImpl::available()']]] +]; diff --git a/docs/v0.2/search/all_62.html b/docs/v0.2/search/all_62.html new file mode 100644 index 0000000..ee8871c --- /dev/null +++ b/docs/v0.2/search/all_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_62.js b/docs/v0.2/search/all_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/docs/v0.2/search/all_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/docs/v0.2/search/all_63.html b/docs/v0.2/search/all_63.html new file mode 100644 index 0000000..56b5ad1 --- /dev/null +++ b/docs/v0.2/search/all_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_63.js b/docs/v0.2/search/all_63.js new file mode 100644 index 0000000..df69cf5 --- /dev/null +++ b/docs/v0.2/search/all_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['close',['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a38af5b9c8b676ffaef15c84fb303d6f7',1,'serial::serial::Serial::SerialImpl::close()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2608096ba0d17127b17484fc9481833a',1,'serial::serial::Serial::SerialImpl::close()']]] +]; diff --git a/docs/v0.2/search/all_65.html b/docs/v0.2/search/all_65.html new file mode 100644 index 0000000..66cc834 --- /dev/null +++ b/docs/v0.2/search/all_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_65.js b/docs/v0.2/search/all_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/docs/v0.2/search/all_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/docs/v0.2/search/all_66.html b/docs/v0.2/search/all_66.html new file mode 100644 index 0000000..3d1f8b3 --- /dev/null +++ b/docs/v0.2/search/all_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_66.js b/docs/v0.2/search/all_66.js new file mode 100644 index 0000000..29ed8e6 --- /dev/null +++ b/docs/v0.2/search/all_66.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['fivebits',['fivebits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8af09eeaf7333d2feda0bd3d748d5e3123',1,'serial']]], + ['flowcontrol_5fnone',['flowcontrol_none',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a083bc02a6e8e7c6540a28654c0f95bb0',1,'serial']]], + ['flowcontrol_5fsoftware',['flowcontrol_software',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351ab3390af5eee11740af5e09d71ad419a6',1,'serial']]], + ['flowcontrol_5ft',['flowcontrol_t',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351',1,'serial']]], + ['flush',['flush',['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7dc1818234ab3f5ae3ebd67bc79d8511',1,'serial::serial::Serial::SerialImpl::flush()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afe873a403bcca3956437d95aa55c4d06',1,'serial::serial::Serial::SerialImpl::flush()']]], + ['flushinput',['flushInput',['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a28003745a26c0924fc1d305e947bc3bf',1,'serial::serial::Serial::SerialImpl::flushInput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0b4ef99a4b44c3ef153ec7c4802ff194',1,'serial::serial::Serial::SerialImpl::flushInput()']]], + ['flushoutput',['flushOutput',['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a5b2c81540ca1e1eb962249ca8f538299',1,'serial::serial::Serial::SerialImpl::flushOutput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac61932385ea2ce645192e1539349500b',1,'serial::serial::Serial::SerialImpl::flushOutput()']]] +]; diff --git a/docs/v0.2/search/all_67.html b/docs/v0.2/search/all_67.html new file mode 100644 index 0000000..41a459a --- /dev/null +++ b/docs/v0.2/search/all_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_67.js b/docs/v0.2/search/all_67.js new file mode 100644 index 0000000..5979da6 --- /dev/null +++ b/docs/v0.2/search/all_67.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['get_5ftime_5fnow',['get_time_now',['../unix_8cc.html#ad718e26d8db83d1760a13a80c67b4821',1,'unix.cc']]], + ['getbaudrate',['getBaudrate',['../classserial_1_1_serial.html#acd0e5a25e4484d6f08fe02c1911ab5e0',1,'serial::Serial::getBaudrate()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const ']]], + ['getbytesize',['getBytesize',['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const ']]], + ['getcd',['getCD',['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6f2a8d7ff955fc3f061b513c095859e1',1,'serial::serial::Serial::SerialImpl::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9d402e28513e22613658b31e13b76802',1,'serial::serial::Serial::SerialImpl::getCD()']]], + ['getcts',['getCTS',['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0801d20b6e906369ad232e460b741d7b',1,'serial::serial::Serial::SerialImpl::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afbfd566cd435f7881826fb0a2f74f746',1,'serial::serial::Serial::SerialImpl::getCTS()']]], + ['getdsr',['getDSR',['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a15d1d986dad6ec754919bb38c3470362',1,'serial::serial::Serial::SerialImpl::getDSR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae07e012e3630c51baf1b8c7c37dd79a5',1,'serial::serial::Serial::SerialImpl::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['getFlowcontrol',['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec',1,'serial::serial::Serial::SerialImpl::getFlowcontrol() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec',1,'serial::serial::Serial::SerialImpl::getFlowcontrol() const ']]], + ['getparity',['getParity',['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42',1,'serial::serial::Serial::SerialImpl::getParity() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42',1,'serial::serial::Serial::SerialImpl::getParity() const ']]], + ['getport',['getPort',['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const ']]], + ['getri',['getRI',['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0ee5f4cd897bc177a179ec4f0ba8c561',1,'serial::serial::Serial::SerialImpl::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4b9e1b75dce29e8ed4fa62b389510ae5',1,'serial::serial::Serial::SerialImpl::getRI()']]], + ['getstopbits',['getStopbits',['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const ']]], + ['gettimeout',['getTimeout',['../classserial_1_1_serial.html#a345cd91d7bd366e990e295f756d51112',1,'serial::Serial::getTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',1,'serial::serial::Serial::SerialImpl::getTimeout() const ']]] +]; diff --git a/docs/v0.2/search/all_69.html b/docs/v0.2/search/all_69.html new file mode 100644 index 0000000..1a00b55 --- /dev/null +++ b/docs/v0.2/search/all_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_69.js b/docs/v0.2/search/all_69.js new file mode 100644 index 0000000..c19f75f --- /dev/null +++ b/docs/v0.2/search/all_69.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html',1,'serial']]], + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html#acb2f2cf7a5cc8090945f6cbfcef3ef1e',1,'serial::IOException::IOException(std::string file, int line, int errnum)'],['../classserial_1_1_i_o_exception.html#acc1d2c650832cc8127f2cd777072b2cd',1,'serial::IOException::IOException(std::string file, int line, const char *description)']]], + ['isopen',['isOpen',['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const ']]] +]; diff --git a/docs/v0.2/search/all_6f.html b/docs/v0.2/search/all_6f.html new file mode 100644 index 0000000..61827e8 --- /dev/null +++ b/docs/v0.2/search/all_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_6f.js b/docs/v0.2/search/all_6f.js new file mode 100644 index 0000000..fec1706 --- /dev/null +++ b/docs/v0.2/search/all_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['open',['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abc447d3fefa173392f5d7b641ffef1ed',1,'serial::serial::Serial::SerialImpl::open()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a279801879f609e1845e3e730f5651aa2',1,'serial::serial::Serial::SerialImpl::open()']]] +]; diff --git a/docs/v0.2/search/all_70.html b/docs/v0.2/search/all_70.html new file mode 100644 index 0000000..0340151 --- /dev/null +++ b/docs/v0.2/search/all_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_70.js b/docs/v0.2/search/all_70.js new file mode 100644 index 0000000..29388a0 --- /dev/null +++ b/docs/v0.2/search/all_70.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['parity_5feven',['parity_even',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481abe15d241d407528bc8a199b02301ed46',1,'serial']]], + ['parity_5fnone',['parity_none',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481a31cbb2b3cf0870d1a089d66295918416',1,'serial']]], + ['parity_5fodd',['parity_odd',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481affd8fd58edf7c25bab458cafaebecb10',1,'serial']]], + ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]], + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException']]], + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html',1,'serial']]] +]; diff --git a/docs/v0.2/search/all_72.html b/docs/v0.2/search/all_72.html new file mode 100644 index 0000000..0ab18d6 --- /dev/null +++ b/docs/v0.2/search/all_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_72.js b/docs/v0.2/search/all_72.js new file mode 100644 index 0000000..fd5cddf --- /dev/null +++ b/docs/v0.2/search/all_72.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1',1,'serial::Serial::read(unsigned char *buffer, size_t size)'],['../classserial_1_1_serial.html#aa1f8933e86e7f37781c186b11a763221',1,'serial::Serial::read(std::vector< unsigned char > &buffer, size_t size=1)'],['../classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f',1,'serial::Serial::read(std::string &buffer, size_t size=1)'],['../classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405',1,'serial::Serial::read(size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343',1,'serial::serial::Serial::SerialImpl::read(unsigned char *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a332155c4d26e565a73d9823bc7d1da91',1,'serial::serial::Serial::SerialImpl::read(char *buf, size_t size=1)']]], + ['readline',['readline',['../classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54',1,'serial::Serial::readline(std::string &buffer, size_t size=65536, std::string eol="\n")'],['../classserial_1_1_serial.html#a04177f637cc02f92ec0492d377528b2a',1,'serial::Serial::readline(size_t size=65536, std::string eol="\n")']]], + ['readlines',['readlines',['../classserial_1_1_serial.html#a99f77b9bbdc128b6704cc59db77686c5',1,'serial::Serial']]], + ['readlock',['readLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl']]], + ['reconfigureport',['reconfigurePort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a48dcc5d2568edd1ce29df30a95d460d9',1,'serial::serial::Serial::SerialImpl::reconfigurePort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad006a2392150daddfa43ae288259c07d',1,'serial::serial::Serial::SerialImpl::reconfigurePort()']]] +]; diff --git a/docs/v0.2/search/all_73.html b/docs/v0.2/search/all_73.html new file mode 100644 index 0000000..1ec8f17 --- /dev/null +++ b/docs/v0.2/search/all_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_73.js b/docs/v0.2/search/all_73.js new file mode 100644 index 0000000..fe646b0 --- /dev/null +++ b/docs/v0.2/search/all_73.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html',1,'serial::Serial']]], + ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a54f59663807d8adfe6db712ee6103503',1,'Serial::ScopedReadLock']]], + ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html',1,'serial::Serial']]], + ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#a662173968431aee3d6f204c354b20225',1,'Serial::ScopedWriteLock']]], + ['sendbreak',['sendBreak',['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3f738264b8236e271d79835f0ec08bf3',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6a1abcf6f4b94c7f3d7753c3f2dab91a',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)']]], + ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], + ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial::Serial'],['../namespaceserial_1_1serial.html',1,'serial::serial']]], + ['serial',['serial',['../namespaceserial.html',1,'serial'],['../classserial_1_1_serial.html#a9222791dd26285a594cfc594f0879b10',1,'serial::Serial::Serial()']]], + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serialexceptionbase',['SerialExceptionBase',['../classserial_1_1_serial_exception_base.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2fa9977e6f06797623d3f4ea36c09d02',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad91611ac5ef21dd6bce2c14049e3aae6',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)']]], + ['setbaudrate',['setBaudrate',['../classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5',1,'serial::Serial::setBaudrate()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad57c0c497d487c2f2115168f60eda146',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)']]], + ['setbreak',['setBreak',['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aff11802f071e95c0e88ef6d0fa3bacd7',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4e439ed9ab4e38fb64bba2d49b814179',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)']]], + ['setbytesize',['setBytesize',['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)']]], + ['setdtr',['setDTR',['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a741dbda555f51bb7be361a602f72358c',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a94cdd2aad19377a0ec435bb6241b98a8',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)']]], + ['setflowcontrol',['setFlowcontrol',['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43',1,'serial::serial::Serial::SerialImpl::setFlowcontrol(flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43',1,'serial::serial::Serial::SerialImpl::setFlowcontrol(flowcontrol_t flowcontrol)']]], + ['setparity',['setParity',['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b',1,'serial::serial::Serial::SerialImpl::setParity(parity_t parity)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b',1,'serial::serial::Serial::SerialImpl::setParity(parity_t parity)']]], + ['setport',['setPort',['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aeb3006e2ff05d5bbaa518bb788eebcda',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa3b4c490f3246a506dd29135553ecd64',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)']]], + ['setrts',['setRTS',['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa6f543e9fb4517fa00835eee15fa5ffa',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7faf4ef9a0f1b13c9155a4cae1e0ace9',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)']]], + ['setstopbits',['setStopbits',['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)']]], + ['settimeout',['setTimeout',['../classserial_1_1_serial.html#ab6ad13f872e31b9cf0af8cbeb9117cb0',1,'serial::Serial::setTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa1eb04036c3ed8ad67e243164760bba6',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae0f49f16cd4ace2e865a6fc2fe9d7218',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)']]], + ['sevenbits',['sevenbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a7cf0a3607e326ff6736941008ea8174d',1,'serial']]], + ['sixbits',['sixbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a608eb93b80fe8531d626b4e588c5bc8b',1,'serial']]], + ['stopbits_5fone',['stopbits_one',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ab70806555a14cb43e5cc43f6f3d01157',1,'serial']]], + ['stopbits_5fone_5fpoint_5ffive',['stopbits_one_point_five',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469abb25fb831662d361d99cf12fb0da45ec',1,'serial']]], + ['stopbits_5ft',['stopbits_t',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469',1,'serial']]], + ['stopbits_5ftwo',['stopbits_two',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ae0b1b8af1ece65afeacbe9fff198fa47',1,'serial']]] +]; diff --git a/docs/v0.2/search/all_74.html b/docs/v0.2/search/all_74.html new file mode 100644 index 0000000..fdc6589 --- /dev/null +++ b/docs/v0.2/search/all_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_74.js b/docs/v0.2/search/all_74.js new file mode 100644 index 0000000..38216c2 --- /dev/null +++ b/docs/v0.2/search/all_74.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['throw',['THROW',['../serial_8h.html#a25cffc64bd967636d69d7c3c82af1030',1,'serial.h']]], + ['tiocinq',['TIOCINQ',['../unix_8cc.html#ad6548c2f81bf6e2679166b22d24784f1',1,'unix.cc']]] +]; diff --git a/docs/v0.2/search/all_75.html b/docs/v0.2/search/all_75.html new file mode 100644 index 0000000..ab8455e --- /dev/null +++ b/docs/v0.2/search/all_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_75.js b/docs/v0.2/search/all_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/docs/v0.2/search/all_75.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unix_2ecc',['unix.cc',['../unix_8cc.html',1,'']]], + ['unix_2eh',['unix.h',['../unix_8h.html',1,'']]] +]; diff --git a/docs/v0.2/search/all_77.html b/docs/v0.2/search/all_77.html new file mode 100644 index 0000000..73323d3 --- /dev/null +++ b/docs/v0.2/search/all_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_77.js b/docs/v0.2/search/all_77.js new file mode 100644 index 0000000..02c8cd5 --- /dev/null +++ b/docs/v0.2/search/all_77.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['what',['what',['../classserial_1_1_serial_execption.html#a5cb17e5438390e95731ddd230524922d',1,'serial::SerialExecption::what()'],['../classserial_1_1_i_o_exception.html#a5151f78cf0309db2c79f3dc4c779c774',1,'serial::IOException::what()'],['../classserial_1_1_port_not_opened_exception.html#a314c997ecfe3990c4af147b247e8d9ce',1,'serial::PortNotOpenedException::what()']]], + ['windows_2ecc',['windows.cc',['../windows_8cc.html',1,'']]], + ['windows_2eh',['windows.h',['../windows_8h.html',1,'']]], + ['write',['write',['../classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7',1,'serial::Serial::write(const unsigned char *data, size_t size)'],['../classserial_1_1_serial.html#a280abb1b73ac368591d79badf23776bf',1,'serial::Serial::write(const std::vector< unsigned char > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa248734f59cb31a2ca5d1bcb50e53e3e',1,'serial::serial::Serial::SerialImpl::write(const string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a47a36ed36bb6b75b0788c9f60ddc07a8',1,'serial::serial::Serial::SerialImpl::write(const string &data)']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl']]] +]; diff --git a/docs/v0.2/search/all_7e.html b/docs/v0.2/search/all_7e.html new file mode 100644 index 0000000..63512c6 --- /dev/null +++ b/docs/v0.2/search/all_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/all_7e.js b/docs/v0.2/search/all_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/docs/v0.2/search/all_7e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['_7eioexception',['~IOException',['../classserial_1_1_i_o_exception.html#a026ae2e6abc57c6069915f0f8c701390',1,'serial::IOException']]], + ['_7escopedreadlock',['~ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a5c061909b95231cec776c40094c878b4',1,'Serial::ScopedReadLock']]], + ['_7escopedwritelock',['~ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#aebeef5b2d16f409b60094cfac092ada2',1,'Serial::ScopedWriteLock']]], + ['_7eserial',['~Serial',['../classserial_1_1_serial.html#a5b32c394c0ff923a4ef1c13cfb20a6ba',1,'serial::Serial']]], + ['_7eserialimpl',['~SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7972685753e76e0068b754601442a8a5',1,'serial::serial::Serial::SerialImpl::~SerialImpl()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af9f0a13782d7870cf66a49001dcc64e7',1,'serial::serial::Serial::SerialImpl::~SerialImpl()']]] +]; diff --git a/docs/v0.2/search/classes_69.html b/docs/v0.2/search/classes_69.html new file mode 100644 index 0000000..961dbea --- /dev/null +++ b/docs/v0.2/search/classes_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/classes_69.js b/docs/v0.2/search/classes_69.js new file mode 100644 index 0000000..9252d96 --- /dev/null +++ b/docs/v0.2/search/classes_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html',1,'serial']]] +]; diff --git a/docs/v0.2/search/classes_70.html b/docs/v0.2/search/classes_70.html new file mode 100644 index 0000000..e4b5208 --- /dev/null +++ b/docs/v0.2/search/classes_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/classes_70.js b/docs/v0.2/search/classes_70.js new file mode 100644 index 0000000..422dca4 --- /dev/null +++ b/docs/v0.2/search/classes_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html',1,'serial']]] +]; diff --git a/docs/v0.2/search/classes_73.html b/docs/v0.2/search/classes_73.html new file mode 100644 index 0000000..a1bf0b9 --- /dev/null +++ b/docs/v0.2/search/classes_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/classes_73.js b/docs/v0.2/search/classes_73.js new file mode 100644 index 0000000..63a2a0a --- /dev/null +++ b/docs/v0.2/search/classes_73.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html',1,'serial::Serial']]], + ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html',1,'serial::Serial']]], + ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial']]], + ['serialexceptionbase',['SerialExceptionBase',['../classserial_1_1_serial_exception_base.html',1,'serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]] +]; diff --git a/docs/v0.2/search/close.png b/docs/v0.2/search/close.png new file mode 100644 index 0000000..9342d3d Binary files /dev/null and b/docs/v0.2/search/close.png differ diff --git a/docs/v0.2/search/defines_74.html b/docs/v0.2/search/defines_74.html new file mode 100644 index 0000000..7c78f10 --- /dev/null +++ b/docs/v0.2/search/defines_74.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/defines_74.js b/docs/v0.2/search/defines_74.js new file mode 100644 index 0000000..38216c2 --- /dev/null +++ b/docs/v0.2/search/defines_74.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['throw',['THROW',['../serial_8h.html#a25cffc64bd967636d69d7c3c82af1030',1,'serial.h']]], + ['tiocinq',['TIOCINQ',['../unix_8cc.html#ad6548c2f81bf6e2679166b22d24784f1',1,'unix.cc']]] +]; diff --git a/docs/v0.2/search/enums_62.html b/docs/v0.2/search/enums_62.html new file mode 100644 index 0000000..321fe92 --- /dev/null +++ b/docs/v0.2/search/enums_62.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/enums_62.js b/docs/v0.2/search/enums_62.js new file mode 100644 index 0000000..ff57a8f --- /dev/null +++ b/docs/v0.2/search/enums_62.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytesize_5ft',['bytesize_t',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8',1,'serial']]] +]; diff --git a/docs/v0.2/search/enums_66.html b/docs/v0.2/search/enums_66.html new file mode 100644 index 0000000..87b48de --- /dev/null +++ b/docs/v0.2/search/enums_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/enums_66.js b/docs/v0.2/search/enums_66.js new file mode 100644 index 0000000..0eb1150 --- /dev/null +++ b/docs/v0.2/search/enums_66.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flowcontrol_5ft',['flowcontrol_t',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351',1,'serial']]] +]; diff --git a/docs/v0.2/search/enums_70.html b/docs/v0.2/search/enums_70.html new file mode 100644 index 0000000..0bc0915 --- /dev/null +++ b/docs/v0.2/search/enums_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/enums_70.js b/docs/v0.2/search/enums_70.js new file mode 100644 index 0000000..e244a2d --- /dev/null +++ b/docs/v0.2/search/enums_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]] +]; diff --git a/docs/v0.2/search/enums_73.html b/docs/v0.2/search/enums_73.html new file mode 100644 index 0000000..3f157e6 --- /dev/null +++ b/docs/v0.2/search/enums_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/enums_73.js b/docs/v0.2/search/enums_73.js new file mode 100644 index 0000000..d047512 --- /dev/null +++ b/docs/v0.2/search/enums_73.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stopbits_5ft',['stopbits_t',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469',1,'serial']]] +]; diff --git a/docs/v0.2/search/enumvalues_65.html b/docs/v0.2/search/enumvalues_65.html new file mode 100644 index 0000000..58030d7 --- /dev/null +++ b/docs/v0.2/search/enumvalues_65.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/enumvalues_65.js b/docs/v0.2/search/enumvalues_65.js new file mode 100644 index 0000000..10bd939 --- /dev/null +++ b/docs/v0.2/search/enumvalues_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eightbits',['eightbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a47f14d952cf9bed6c3f7ae5985161990',1,'serial']]] +]; diff --git a/docs/v0.2/search/enumvalues_66.html b/docs/v0.2/search/enumvalues_66.html new file mode 100644 index 0000000..7f7df6f --- /dev/null +++ b/docs/v0.2/search/enumvalues_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/enumvalues_66.js b/docs/v0.2/search/enumvalues_66.js new file mode 100644 index 0000000..145d13f --- /dev/null +++ b/docs/v0.2/search/enumvalues_66.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['fivebits',['fivebits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8af09eeaf7333d2feda0bd3d748d5e3123',1,'serial']]], + ['flowcontrol_5fnone',['flowcontrol_none',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351a083bc02a6e8e7c6540a28654c0f95bb0',1,'serial']]], + ['flowcontrol_5fsoftware',['flowcontrol_software',['../namespaceserial.html#a93ef57a314b4e562f9eded6c15d34351ab3390af5eee11740af5e09d71ad419a6',1,'serial']]] +]; diff --git a/docs/v0.2/search/enumvalues_70.html b/docs/v0.2/search/enumvalues_70.html new file mode 100644 index 0000000..35a05be --- /dev/null +++ b/docs/v0.2/search/enumvalues_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/enumvalues_70.js b/docs/v0.2/search/enumvalues_70.js new file mode 100644 index 0000000..c073712 --- /dev/null +++ b/docs/v0.2/search/enumvalues_70.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['parity_5feven',['parity_even',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481abe15d241d407528bc8a199b02301ed46',1,'serial']]], + ['parity_5fnone',['parity_none',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481a31cbb2b3cf0870d1a089d66295918416',1,'serial']]], + ['parity_5fodd',['parity_odd',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481affd8fd58edf7c25bab458cafaebecb10',1,'serial']]] +]; diff --git a/docs/v0.2/search/enumvalues_73.html b/docs/v0.2/search/enumvalues_73.html new file mode 100644 index 0000000..f2f7db4 --- /dev/null +++ b/docs/v0.2/search/enumvalues_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/enumvalues_73.js b/docs/v0.2/search/enumvalues_73.js new file mode 100644 index 0000000..878414b --- /dev/null +++ b/docs/v0.2/search/enumvalues_73.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['sevenbits',['sevenbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a7cf0a3607e326ff6736941008ea8174d',1,'serial']]], + ['sixbits',['sixbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a608eb93b80fe8531d626b4e588c5bc8b',1,'serial']]], + ['stopbits_5fone',['stopbits_one',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ab70806555a14cb43e5cc43f6f3d01157',1,'serial']]], + ['stopbits_5fone_5fpoint_5ffive',['stopbits_one_point_five',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469abb25fb831662d361d99cf12fb0da45ec',1,'serial']]], + ['stopbits_5ftwo',['stopbits_two',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ae0b1b8af1ece65afeacbe9fff198fa47',1,'serial']]] +]; diff --git a/docs/v0.2/search/files_73.html b/docs/v0.2/search/files_73.html new file mode 100644 index 0000000..e0de9e6 --- /dev/null +++ b/docs/v0.2/search/files_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/files_73.js b/docs/v0.2/search/files_73.js new file mode 100644 index 0000000..f6585e0 --- /dev/null +++ b/docs/v0.2/search/files_73.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]] +]; diff --git a/docs/v0.2/search/files_75.html b/docs/v0.2/search/files_75.html new file mode 100644 index 0000000..8ea7b3d --- /dev/null +++ b/docs/v0.2/search/files_75.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/files_75.js b/docs/v0.2/search/files_75.js new file mode 100644 index 0000000..a7d347f --- /dev/null +++ b/docs/v0.2/search/files_75.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unix_2ecc',['unix.cc',['../unix_8cc.html',1,'']]], + ['unix_2eh',['unix.h',['../unix_8h.html',1,'']]] +]; diff --git a/docs/v0.2/search/files_77.html b/docs/v0.2/search/files_77.html new file mode 100644 index 0000000..69f6897 --- /dev/null +++ b/docs/v0.2/search/files_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/files_77.js b/docs/v0.2/search/files_77.js new file mode 100644 index 0000000..2ff0414 --- /dev/null +++ b/docs/v0.2/search/files_77.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['windows_2ecc',['windows.cc',['../windows_8cc.html',1,'']]], + ['windows_2eh',['windows.h',['../windows_8h.html',1,'']]] +]; diff --git a/docs/v0.2/search/functions_61.html b/docs/v0.2/search/functions_61.html new file mode 100644 index 0000000..7f39533 --- /dev/null +++ b/docs/v0.2/search/functions_61.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_61.js b/docs/v0.2/search/functions_61.js new file mode 100644 index 0000000..2c73ebe --- /dev/null +++ b/docs/v0.2/search/functions_61.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['available',['available',['../classserial_1_1_serial.html#afafe25b2f3bb0809550abdc72c51a234',1,'serial::Serial::available()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aec474ec54cb40a4191939aacb80c5ea2',1,'serial::serial::Serial::SerialImpl::available()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aecd5e068c21b076bcf161f7bf7f415f5',1,'serial::serial::Serial::SerialImpl::available()']]] +]; diff --git a/docs/v0.2/search/functions_63.html b/docs/v0.2/search/functions_63.html new file mode 100644 index 0000000..9ebe11d --- /dev/null +++ b/docs/v0.2/search/functions_63.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_63.js b/docs/v0.2/search/functions_63.js new file mode 100644 index 0000000..df69cf5 --- /dev/null +++ b/docs/v0.2/search/functions_63.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['close',['close',['../classserial_1_1_serial.html#afbe59407e718bc3d22ea4a67b304db6c',1,'serial::Serial::close()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a38af5b9c8b676ffaef15c84fb303d6f7',1,'serial::serial::Serial::SerialImpl::close()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2608096ba0d17127b17484fc9481833a',1,'serial::serial::Serial::SerialImpl::close()']]] +]; diff --git a/docs/v0.2/search/functions_66.html b/docs/v0.2/search/functions_66.html new file mode 100644 index 0000000..319a531 --- /dev/null +++ b/docs/v0.2/search/functions_66.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_66.js b/docs/v0.2/search/functions_66.js new file mode 100644 index 0000000..5831b92 --- /dev/null +++ b/docs/v0.2/search/functions_66.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['flush',['flush',['../classserial_1_1_serial.html#a63b7abf172cad25bfc998b3b1f98310f',1,'serial::Serial::flush()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7dc1818234ab3f5ae3ebd67bc79d8511',1,'serial::serial::Serial::SerialImpl::flush()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afe873a403bcca3956437d95aa55c4d06',1,'serial::serial::Serial::SerialImpl::flush()']]], + ['flushinput',['flushInput',['../classserial_1_1_serial.html#afa2c1f9114a37b7d140fc2292d1499b9',1,'serial::Serial::flushInput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a28003745a26c0924fc1d305e947bc3bf',1,'serial::serial::Serial::SerialImpl::flushInput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0b4ef99a4b44c3ef153ec7c4802ff194',1,'serial::serial::Serial::SerialImpl::flushInput()']]], + ['flushoutput',['flushOutput',['../classserial_1_1_serial.html#a256ee4bb93ab0e79d7a66b50f08dce53',1,'serial::Serial::flushOutput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a5b2c81540ca1e1eb962249ca8f538299',1,'serial::serial::Serial::SerialImpl::flushOutput()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac61932385ea2ce645192e1539349500b',1,'serial::serial::Serial::SerialImpl::flushOutput()']]] +]; diff --git a/docs/v0.2/search/functions_67.html b/docs/v0.2/search/functions_67.html new file mode 100644 index 0000000..d0ab42a --- /dev/null +++ b/docs/v0.2/search/functions_67.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_67.js b/docs/v0.2/search/functions_67.js new file mode 100644 index 0000000..5979da6 --- /dev/null +++ b/docs/v0.2/search/functions_67.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['get_5ftime_5fnow',['get_time_now',['../unix_8cc.html#ad718e26d8db83d1760a13a80c67b4821',1,'unix.cc']]], + ['getbaudrate',['getBaudrate',['../classserial_1_1_serial.html#acd0e5a25e4484d6f08fe02c1911ab5e0',1,'serial::Serial::getBaudrate()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const ']]], + ['getbytesize',['getBytesize',['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const ']]], + ['getcd',['getCD',['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6f2a8d7ff955fc3f061b513c095859e1',1,'serial::serial::Serial::SerialImpl::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9d402e28513e22613658b31e13b76802',1,'serial::serial::Serial::SerialImpl::getCD()']]], + ['getcts',['getCTS',['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0801d20b6e906369ad232e460b741d7b',1,'serial::serial::Serial::SerialImpl::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afbfd566cd435f7881826fb0a2f74f746',1,'serial::serial::Serial::SerialImpl::getCTS()']]], + ['getdsr',['getDSR',['../classserial_1_1_serial.html#a6b9a0c485e1fe599dbb5e9e15b1a65d6',1,'serial::Serial::getDSR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a15d1d986dad6ec754919bb38c3470362',1,'serial::serial::Serial::SerialImpl::getDSR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae07e012e3630c51baf1b8c7c37dd79a5',1,'serial::serial::Serial::SerialImpl::getDSR()']]], + ['geterrornumber',['getErrorNumber',['../classserial_1_1_i_o_exception.html#a91d5ee5241dd49fb39e8e762564b6cc5',1,'serial::IOException']]], + ['getflowcontrol',['getFlowcontrol',['../classserial_1_1_serial.html#acdc6da48a5434b936b1db20f36caf41f',1,'serial::Serial::getFlowcontrol()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec',1,'serial::serial::Serial::SerialImpl::getFlowcontrol() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af1b3fe4ea4d075b76b0c243d4ed768ec',1,'serial::serial::Serial::SerialImpl::getFlowcontrol() const ']]], + ['getparity',['getParity',['../classserial_1_1_serial.html#a89d876e1d3f0afadb0d6c21b08ed8931',1,'serial::Serial::getParity()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42',1,'serial::serial::Serial::SerialImpl::getParity() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa7cc3b7bd62ad98d25f2e2e0f27d3b42',1,'serial::serial::Serial::SerialImpl::getParity() const ']]], + ['getport',['getPort',['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const ']]], + ['getri',['getRI',['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0ee5f4cd897bc177a179ec4f0ba8c561',1,'serial::serial::Serial::SerialImpl::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4b9e1b75dce29e8ed4fa62b389510ae5',1,'serial::serial::Serial::SerialImpl::getRI()']]], + ['getstopbits',['getStopbits',['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const ']]], + ['gettimeout',['getTimeout',['../classserial_1_1_serial.html#a345cd91d7bd366e990e295f756d51112',1,'serial::Serial::getTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',1,'serial::serial::Serial::SerialImpl::getTimeout() const ']]] +]; diff --git a/docs/v0.2/search/functions_69.html b/docs/v0.2/search/functions_69.html new file mode 100644 index 0000000..e204197 --- /dev/null +++ b/docs/v0.2/search/functions_69.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_69.js b/docs/v0.2/search/functions_69.js new file mode 100644 index 0000000..cf78ceb --- /dev/null +++ b/docs/v0.2/search/functions_69.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html#acb2f2cf7a5cc8090945f6cbfcef3ef1e',1,'serial::IOException::IOException(std::string file, int line, int errnum)'],['../classserial_1_1_i_o_exception.html#acc1d2c650832cc8127f2cd777072b2cd',1,'serial::IOException::IOException(std::string file, int line, const char *description)']]], + ['isopen',['isOpen',['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const ']]] +]; diff --git a/docs/v0.2/search/functions_6f.html b/docs/v0.2/search/functions_6f.html new file mode 100644 index 0000000..222f0f8 --- /dev/null +++ b/docs/v0.2/search/functions_6f.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_6f.js b/docs/v0.2/search/functions_6f.js new file mode 100644 index 0000000..fec1706 --- /dev/null +++ b/docs/v0.2/search/functions_6f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open',['open',['../classserial_1_1_serial.html#af3644ed1a9d899b70e9d63bb9b808d62',1,'serial::Serial::open()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abc447d3fefa173392f5d7b641ffef1ed',1,'serial::serial::Serial::SerialImpl::open()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a279801879f609e1845e3e730f5651aa2',1,'serial::serial::Serial::SerialImpl::open()']]] +]; diff --git a/docs/v0.2/search/functions_70.html b/docs/v0.2/search/functions_70.html new file mode 100644 index 0000000..c62125e --- /dev/null +++ b/docs/v0.2/search/functions_70.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_70.js b/docs/v0.2/search/functions_70.js new file mode 100644 index 0000000..2129e23 --- /dev/null +++ b/docs/v0.2/search/functions_70.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException']]] +]; diff --git a/docs/v0.2/search/functions_72.html b/docs/v0.2/search/functions_72.html new file mode 100644 index 0000000..a4336f7 --- /dev/null +++ b/docs/v0.2/search/functions_72.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_72.js b/docs/v0.2/search/functions_72.js new file mode 100644 index 0000000..fd5cddf --- /dev/null +++ b/docs/v0.2/search/functions_72.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['read',['read',['../classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1',1,'serial::Serial::read(unsigned char *buffer, size_t size)'],['../classserial_1_1_serial.html#aa1f8933e86e7f37781c186b11a763221',1,'serial::Serial::read(std::vector< unsigned char > &buffer, size_t size=1)'],['../classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f',1,'serial::Serial::read(std::string &buffer, size_t size=1)'],['../classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405',1,'serial::Serial::read(size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343',1,'serial::serial::Serial::SerialImpl::read(unsigned char *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a332155c4d26e565a73d9823bc7d1da91',1,'serial::serial::Serial::SerialImpl::read(char *buf, size_t size=1)']]], + ['readline',['readline',['../classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54',1,'serial::Serial::readline(std::string &buffer, size_t size=65536, std::string eol="\n")'],['../classserial_1_1_serial.html#a04177f637cc02f92ec0492d377528b2a',1,'serial::Serial::readline(size_t size=65536, std::string eol="\n")']]], + ['readlines',['readlines',['../classserial_1_1_serial.html#a99f77b9bbdc128b6704cc59db77686c5',1,'serial::Serial']]], + ['readlock',['readLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl']]], + ['reconfigureport',['reconfigurePort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a48dcc5d2568edd1ce29df30a95d460d9',1,'serial::serial::Serial::SerialImpl::reconfigurePort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad006a2392150daddfa43ae288259c07d',1,'serial::serial::Serial::SerialImpl::reconfigurePort()']]] +]; diff --git a/docs/v0.2/search/functions_73.html b/docs/v0.2/search/functions_73.html new file mode 100644 index 0000000..774d577 --- /dev/null +++ b/docs/v0.2/search/functions_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_73.js b/docs/v0.2/search/functions_73.js new file mode 100644 index 0000000..5e20bb8 --- /dev/null +++ b/docs/v0.2/search/functions_73.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a54f59663807d8adfe6db712ee6103503',1,'Serial::ScopedReadLock']]], + ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#a662173968431aee3d6f204c354b20225',1,'Serial::ScopedWriteLock']]], + ['sendbreak',['sendBreak',['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3f738264b8236e271d79835f0ec08bf3',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6a1abcf6f4b94c7f3d7753c3f2dab91a',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)']]], + ['serial',['Serial',['../classserial_1_1_serial.html#a9222791dd26285a594cfc594f0879b10',1,'serial::Serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2fa9977e6f06797623d3f4ea36c09d02',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad91611ac5ef21dd6bce2c14049e3aae6',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)']]], + ['setbaudrate',['setBaudrate',['../classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5',1,'serial::Serial::setBaudrate()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad57c0c497d487c2f2115168f60eda146',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)']]], + ['setbreak',['setBreak',['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aff11802f071e95c0e88ef6d0fa3bacd7',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4e439ed9ab4e38fb64bba2d49b814179',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)']]], + ['setbytesize',['setBytesize',['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)']]], + ['setdtr',['setDTR',['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a741dbda555f51bb7be361a602f72358c',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a94cdd2aad19377a0ec435bb6241b98a8',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)']]], + ['setflowcontrol',['setFlowcontrol',['../classserial_1_1_serial.html#ade41650d6bfe91b6432e5a0a60c03969',1,'serial::Serial::setFlowcontrol()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43',1,'serial::serial::Serial::SerialImpl::setFlowcontrol(flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a70f3aaa863c4d11c226a983377a37e43',1,'serial::serial::Serial::SerialImpl::setFlowcontrol(flowcontrol_t flowcontrol)']]], + ['setparity',['setParity',['../classserial_1_1_serial.html#a1e1896aa59ec35ac5bd263b87614ef01',1,'serial::Serial::setParity()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b',1,'serial::serial::Serial::SerialImpl::setParity(parity_t parity)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2619123d52d075967bdb35247f40e51b',1,'serial::serial::Serial::SerialImpl::setParity(parity_t parity)']]], + ['setport',['setPort',['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aeb3006e2ff05d5bbaa518bb788eebcda',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa3b4c490f3246a506dd29135553ecd64',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)']]], + ['setrts',['setRTS',['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa6f543e9fb4517fa00835eee15fa5ffa',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7faf4ef9a0f1b13c9155a4cae1e0ace9',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)']]], + ['setstopbits',['setStopbits',['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)']]], + ['settimeout',['setTimeout',['../classserial_1_1_serial.html#ab6ad13f872e31b9cf0af8cbeb9117cb0',1,'serial::Serial::setTimeout()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa1eb04036c3ed8ad67e243164760bba6',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae0f49f16cd4ace2e865a6fc2fe9d7218',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)']]] +]; diff --git a/docs/v0.2/search/functions_77.html b/docs/v0.2/search/functions_77.html new file mode 100644 index 0000000..8fe9755 --- /dev/null +++ b/docs/v0.2/search/functions_77.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_77.js b/docs/v0.2/search/functions_77.js new file mode 100644 index 0000000..adb033f --- /dev/null +++ b/docs/v0.2/search/functions_77.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['what',['what',['../classserial_1_1_serial_execption.html#a5cb17e5438390e95731ddd230524922d',1,'serial::SerialExecption::what()'],['../classserial_1_1_i_o_exception.html#a5151f78cf0309db2c79f3dc4c779c774',1,'serial::IOException::what()'],['../classserial_1_1_port_not_opened_exception.html#a314c997ecfe3990c4af147b247e8d9ce',1,'serial::PortNotOpenedException::what()']]], + ['write',['write',['../classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7',1,'serial::Serial::write(const unsigned char *data, size_t size)'],['../classserial_1_1_serial.html#a280abb1b73ac368591d79badf23776bf',1,'serial::Serial::write(const std::vector< unsigned char > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa248734f59cb31a2ca5d1bcb50e53e3e',1,'serial::serial::Serial::SerialImpl::write(const string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a47a36ed36bb6b75b0788c9f60ddc07a8',1,'serial::serial::Serial::SerialImpl::write(const string &data)']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl']]] +]; diff --git a/docs/v0.2/search/functions_7e.html b/docs/v0.2/search/functions_7e.html new file mode 100644 index 0000000..fd1d3ce --- /dev/null +++ b/docs/v0.2/search/functions_7e.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/functions_7e.js b/docs/v0.2/search/functions_7e.js new file mode 100644 index 0000000..e8440ac --- /dev/null +++ b/docs/v0.2/search/functions_7e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['_7eioexception',['~IOException',['../classserial_1_1_i_o_exception.html#a026ae2e6abc57c6069915f0f8c701390',1,'serial::IOException']]], + ['_7escopedreadlock',['~ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a5c061909b95231cec776c40094c878b4',1,'Serial::ScopedReadLock']]], + ['_7escopedwritelock',['~ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#aebeef5b2d16f409b60094cfac092ada2',1,'Serial::ScopedWriteLock']]], + ['_7eserial',['~Serial',['../classserial_1_1_serial.html#a5b32c394c0ff923a4ef1c13cfb20a6ba',1,'serial::Serial']]], + ['_7eserialimpl',['~SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7972685753e76e0068b754601442a8a5',1,'serial::serial::Serial::SerialImpl::~SerialImpl()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af9f0a13782d7870cf66a49001dcc64e7',1,'serial::serial::Serial::SerialImpl::~SerialImpl()']]] +]; diff --git a/docs/v0.2/search/mag_sel.png b/docs/v0.2/search/mag_sel.png new file mode 100644 index 0000000..81f6040 Binary files /dev/null and b/docs/v0.2/search/mag_sel.png differ diff --git a/docs/v0.2/search/namespaces_73.html b/docs/v0.2/search/namespaces_73.html new file mode 100644 index 0000000..5ebf8e4 --- /dev/null +++ b/docs/v0.2/search/namespaces_73.html @@ -0,0 +1,25 @@ + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/v0.2/search/namespaces_73.js b/docs/v0.2/search/namespaces_73.js new file mode 100644 index 0000000..ed4fe68 --- /dev/null +++ b/docs/v0.2/search/namespaces_73.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['serial',['serial',['../namespaceserial.html',1,'']]], + ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], + ['serial',['serial',['../namespaceserial_1_1serial.html',1,'serial']]] +]; diff --git a/docs/v0.2/search/nomatches.html b/docs/v0.2/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/docs/v0.2/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/docs/v0.2/search/search.css b/docs/v0.2/search/search.css new file mode 100644 index 0000000..d18c1da --- /dev/null +++ b/docs/v0.2/search/search.css @@ -0,0 +1,238 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:116px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} diff --git a/docs/v0.2/search/search.js b/docs/v0.2/search/search.js new file mode 100644 index 0000000..80681d9 --- /dev/null +++ b/docs/v0.2/search/search.js @@ -0,0 +1,809 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111011101000001101111010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001101000001101100010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 7: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "namespaces", + 3: "files", + 4: "functions", + 5: "enums", + 6: "enumvalues", + 7: "defines" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var hexCode; + if (code<16) + { + hexCode="0"+code.toString(16); + } + else + { + hexCode=code.toString(16); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1') + { + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + +serial: src/serial.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
src/serial.cc File Reference
+
+
+
#include <alloca.h>
+#include "serial/serial.h"
+#include "serial/impl/unix.h"
+
+Include dependency graph for serial.cc:
+
+
+ + +
+
+ + + +

+Data Structures

class  serial::Serial::ScopedReadLock
class  serial::Serial::ScopedWriteLock
+
+ + + + + + diff --git a/docs/v0.2/serial_8cc__incl.map b/docs/v0.2/serial_8cc__incl.map new file mode 100644 index 0000000..ce3ff20 --- /dev/null +++ b/docs/v0.2/serial_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v0.2/serial_8cc__incl.md5 b/docs/v0.2/serial_8cc__incl.md5 new file mode 100644 index 0000000..90f7e9c --- /dev/null +++ b/docs/v0.2/serial_8cc__incl.md5 @@ -0,0 +1 @@ +9d415ee246066b0d8beb28eb6ace1c01 \ No newline at end of file diff --git a/docs/v0.2/serial_8cc__incl.png b/docs/v0.2/serial_8cc__incl.png new file mode 100644 index 0000000..493966b Binary files /dev/null and b/docs/v0.2/serial_8cc__incl.png differ diff --git a/docs/v0.2/serial_8h.html b/docs/v0.2/serial_8h.html new file mode 100644 index 0000000..10b319c --- /dev/null +++ b/docs/v0.2/serial_8h.html @@ -0,0 +1,210 @@ + + + + + +serial: include/serial/serial.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/serial.h File Reference
+
+
+
#include <limits>
+#include <vector>
+#include <string.h>
+#include <sstream>
+#include <exception>
+#include <stdexcept>
+
+Include dependency graph for serial.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + +

+Data Structures

class  serial::Serial
class  serial::SerialExecption
class  serial::IOException
class  serial::PortNotOpenedException
class  serial::SerialExceptionBase

+Namespaces

namespace  serial

+Defines

#define THROW(exceptionClass, message)   throw exceptionClass(__FILE__, __LINE__, (message) )

+Enumerations

enum  serial::bytesize_t { serial::fivebits = 5, +serial::sixbits = 6, +serial::sevenbits = 7, +serial::eightbits = 8 + }
enum  serial::parity_t { serial::parity_none = 0, +serial::parity_odd = 1, +serial::parity_even = 2 + }
enum  serial::stopbits_t { serial::stopbits_one = 1, +serial::stopbits_one_point_five, +serial::stopbits_two = 2 + }
enum  serial::flowcontrol_t { serial::flowcontrol_none = 0, +serial::flowcontrol_software + }
+

Detailed Description

+
Author:
William Woodall wjwwo.nosp@m.od@g.nosp@m.mail..nosp@m.com
+
+John Harrison ash.g.nosp@m.ti@g.nosp@m.mail..nosp@m.com
+
Version:
0.1
+

+LICENSE

+

The MIT License

+

Copyright (c) 2011 William Woodall

+

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+

+DESCRIPTION

+

This provides a cross platform interface for interacting with Serial Ports.

+

Define Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define THROW( exceptionClass,
 message 
)   throw exceptionClass(__FILE__, __LINE__, (message) )
+
+
+ +
+
+
+ + + + + + diff --git a/docs/v0.2/serial_8h__dep__incl.map b/docs/v0.2/serial_8h__dep__incl.map new file mode 100644 index 0000000..2a9863c --- /dev/null +++ b/docs/v0.2/serial_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/v0.2/serial_8h__dep__incl.md5 b/docs/v0.2/serial_8h__dep__incl.md5 new file mode 100644 index 0000000..825b2e2 --- /dev/null +++ b/docs/v0.2/serial_8h__dep__incl.md5 @@ -0,0 +1 @@ +fe2a3161980d504b6c6372e2f61123c3 \ No newline at end of file diff --git a/docs/v0.2/serial_8h__dep__incl.png b/docs/v0.2/serial_8h__dep__incl.png new file mode 100644 index 0000000..b18e063 Binary files /dev/null and b/docs/v0.2/serial_8h__dep__incl.png differ diff --git a/docs/v0.2/serial_8h__incl.map b/docs/v0.2/serial_8h__incl.map new file mode 100644 index 0000000..8be6a30 --- /dev/null +++ b/docs/v0.2/serial_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/v0.2/serial_8h__incl.md5 b/docs/v0.2/serial_8h__incl.md5 new file mode 100644 index 0000000..7695c5f --- /dev/null +++ b/docs/v0.2/serial_8h__incl.md5 @@ -0,0 +1 @@ +6e0c764141061f34eeeffeb4410d6259 \ No newline at end of file diff --git a/docs/v0.2/serial_8h__incl.png b/docs/v0.2/serial_8h__incl.png new file mode 100644 index 0000000..76a2ade Binary files /dev/null and b/docs/v0.2/serial_8h__incl.png differ diff --git a/docs/v0.2/serial_8h_source.html b/docs/v0.2/serial_8h_source.html new file mode 100644 index 0000000..fd7f8f6 --- /dev/null +++ b/docs/v0.2/serial_8h_source.html @@ -0,0 +1,357 @@ + + + + + +serial: include/serial/serial.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/serial.h
+
+
+Go to the documentation of this file.
00001 
+00036 #ifndef SERIAL_H
+00037 #define SERIAL_H
+00038 
+00039 #include <limits>
+00040 #include <vector>
+00041 #include <string.h>
+00042 #include <sstream>
+00043 #include <exception>
+00044 #include <stdexcept>
+00045 
+00046 #define THROW(exceptionClass, message) throw exceptionClass(__FILE__, __LINE__, (message) )
+00047 
+00048 namespace serial {
+00049 
+00053 typedef enum {
+00054   fivebits = 5,
+00055   sixbits = 6,
+00056   sevenbits = 7,
+00057   eightbits = 8
+00058 } bytesize_t;
+00059 
+00063 typedef enum {
+00064   parity_none = 0,
+00065   parity_odd = 1,
+00066   parity_even = 2
+00067 } parity_t;
+00068 
+00072 typedef enum {
+00073   stopbits_one = 1,
+00074   stopbits_one_point_five,
+00075   stopbits_two = 2
+00076 } stopbits_t;
+00077 
+00081 typedef enum {
+00082   flowcontrol_none = 0,
+00083   flowcontrol_software
+00084 } flowcontrol_t;
+00085 
+00089 class Serial {
+00090 public:
+00127   Serial (const std::string &port = "",
+00128           unsigned long baudrate = 9600,
+00129           long timeout = 0,
+00130           bytesize_t bytesize = eightbits,
+00131           parity_t parity = parity_none,
+00132           stopbits_t stopbits = stopbits_one,
+00133           flowcontrol_t flowcontrol = flowcontrol_none);
+00134 
+00136   virtual ~Serial ();
+00137 
+00151   void
+00152   open ();
+00153 
+00158   bool
+00159   isOpen () const;
+00160 
+00162   void
+00163   close ();
+00164 
+00166   size_t
+00167   available();
+00168 
+00179   size_t
+00180   read (unsigned char *buffer, size_t size);
+00181   size_t
+00182   read (std::vector<unsigned char> &buffer, size_t size = 1);
+00183   size_t
+00184   read (std::string &buffer, size_t size = 1);
+00185   std::string
+00186   read (size_t size = 1);
+00187 
+00197   size_t
+00198   readline (std::string &buffer,
+00199             size_t size = 65536,
+00200             std::string eol = "\n");
+00201   std::string
+00202   readline (size_t size = 65536,
+00203             std::string eol = "\n");
+00204 
+00216   std::vector<std::string>
+00217   readlines (size_t size = 65536, std::string eol = "\n");
+00218 
+00227   size_t
+00228   write (const unsigned char *data, size_t size);
+00229   size_t
+00230   write (const std::vector<unsigned char> &data);
+00231   size_t
+00232   write (const std::string &data);
+00233 
+00242   void
+00243   setPort (const std::string &port);
+00244 
+00251   std::string
+00252   getPort () const;
+00253 
+00264   void
+00265   setTimeout (long timeout);
+00266 
+00271   long
+00272   getTimeout () const;
+00273 
+00286   void
+00287   setBaudrate (unsigned long baudrate);
+00288 
+00297   unsigned long
+00298   getBaudrate () const;
+00299 
+00308   void
+00309   setBytesize (bytesize_t bytesize);
+00310 
+00317   bytesize_t
+00318   getBytesize () const;
+00319 
+00327   void
+00328   setParity (parity_t parity);
+00329 
+00336   parity_t
+00337   getParity () const;
+00338 
+00346   void
+00347   setStopbits (stopbits_t stopbits);
+00348 
+00355   stopbits_t
+00356   getStopbits () const;
+00357 
+00366   void
+00367   setFlowcontrol (flowcontrol_t flowcontrol);
+00368 
+00375   flowcontrol_t
+00376   getFlowcontrol () const;
+00377 
+00379   void
+00380   flush ();
+00381 
+00383   void
+00384   flushInput ();
+00385 
+00387   void
+00388   flushOutput ();
+00389 
+00390   void
+00391   sendBreak (int duration);
+00392 
+00393   void
+00394   setBreak (bool level = true);
+00395 
+00396   void
+00397   setRTS (bool level = true);
+00398 
+00399   void
+00400   setDTR (bool level = true);
+00401 
+00402   bool
+00403   getCTS ();
+00404 
+00405   bool
+00406   getDSR ();
+00407 
+00408   bool
+00409   getRI ();
+00410 
+00411   bool
+00412   getCD ();
+00413 
+00414 private:
+00415   // Disable copy constructors
+00416   Serial(const Serial&);
+00417   void operator=(const Serial&);
+00418   const Serial& operator=(Serial);
+00419 
+00420   std::string read_cache_; 
+00421 
+00422   // Pimpl idiom, d_pointer
+00423   class SerialImpl;
+00424   SerialImpl *pimpl_;
+00425 
+00426   // Scoped Lock Classes
+00427   class ScopedReadLock;
+00428   class ScopedWriteLock;
+00429 
+00430   // Read common function
+00431   size_t
+00432   read_ (unsigned char *buffer, size_t size);
+00433 
+00434 };
+00435 
+00436 class SerialExecption : public std::exception
+00437 {
+00438   const char* e_what_;
+00439 public:
+00440   SerialExecption (const char *description) : e_what_ (description) {}
+00441 
+00442   virtual const char* what () const throw ()
+00443   {
+00444     std::stringstream ss;
+00445     ss << "SerialException " << e_what_ << " failed.";
+00446     return ss.str ().c_str ();
+00447   }
+00448 };
+00449 
+00450 class IOException : public std::exception
+00451 {
+00452   std::string file_;
+00453   int line_;
+00454   const char* e_what_;
+00455   int errno_;
+00456 public:
+00457   explicit IOException (std::string file, int line, int errnum)
+00458   : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {}
+00459   explicit IOException (std::string file, int line, const char * description)
+00460   : file_(file), line_(line), e_what_ (description), errno_(0) {}
+00461   virtual ~IOException() throw() {}
+00462 
+00463   int getErrorNumber () { return errno_; }
+00464 
+00465   virtual const char* what () const throw ()
+00466   {
+00467     std::stringstream ss;
+00468     if (errno_ == 0)
+00469       ss << "IO Exception: " << e_what_;
+00470     else
+00471       ss << "IO Exception (" << errno_ << "): " << e_what_;
+00472     ss << ", file " << file_ << ", line " << line_ << ".";
+00473     return ss.str ().c_str ();
+00474   }
+00475 };
+00476 
+00477 class PortNotOpenedException : public std::exception
+00478 {
+00479   const char * e_what_;
+00480 public:
+00481   PortNotOpenedException (const char * description) : e_what_ (description) {}
+00482 
+00483   virtual const char* what () const throw ()
+00484   {
+00485     std::stringstream ss;
+00486     ss << e_what_ << " called before port was opened.";
+00487     return ss.str ().c_str ();
+00488   }
+00489 };
+00490 
+00491 class SerialExceptionBase : public std::exception
+00492 {
+00493   
+00494 };
+00495 
+00496 } // namespace serial
+00497 
+00498 #endif
+
+ + + + + + diff --git a/docs/v0.2/tab_a.png b/docs/v0.2/tab_a.png new file mode 100644 index 0000000..2d99ef2 Binary files /dev/null and b/docs/v0.2/tab_a.png differ diff --git a/docs/v0.2/tab_b.png b/docs/v0.2/tab_b.png new file mode 100644 index 0000000..b2c3d2b Binary files /dev/null and b/docs/v0.2/tab_b.png differ diff --git a/docs/v0.2/tab_h.png b/docs/v0.2/tab_h.png new file mode 100644 index 0000000..c11f48f Binary files /dev/null and b/docs/v0.2/tab_h.png differ diff --git a/docs/v0.2/tab_s.png b/docs/v0.2/tab_s.png new file mode 100644 index 0000000..978943a Binary files /dev/null and b/docs/v0.2/tab_s.png differ diff --git a/docs/v0.2/tabs.css b/docs/v0.2/tabs.css new file mode 100644 index 0000000..2192056 --- /dev/null +++ b/docs/v0.2/tabs.css @@ -0,0 +1,59 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/docs/v0.2/unix_8cc.html b/docs/v0.2/unix_8cc.html new file mode 100644 index 0000000..a0237aa --- /dev/null +++ b/docs/v0.2/unix_8cc.html @@ -0,0 +1,185 @@ + + + + + +serial: src/impl/unix.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
src/impl/unix.cc File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <errno.h>
+#include <paths.h>
+#include <sysexits.h>
+#include <termios.h>
+#include <sys/param.h>
+#include <pthread.h>
+#include <sys/select.h>
+#include <sys/time.h>
+#include <time.h>
+#include "serial/impl/unix.h"
+
+Include dependency graph for unix.cc:
+
+
+ + +
+
+ + + + +

+Defines

#define TIOCINQ   0x541B

+Functions

void get_time_now (struct timespec &time)
+

Define Documentation

+ +
+
+ + + + +
#define TIOCINQ   0x541B
+
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void get_time_now (struct timespec & time) [inline]
+
+
+
                                                {
+# ifdef __MACH__ // OS X does not have clock_gettime, use clock_get_time
+  clock_serv_t cclock;
+  mach_timespec_t mts;
+  host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
+  clock_get_time(cclock, &mts);
+  mach_port_deallocate(mach_task_self(), cclock);
+  time.tv_sec = mts.tv_sec;
+  time.tv_nsec = mts.tv_nsec;
+# else
+  clock_gettime(CLOCK_REALTIME, &time);
+# endif
+}
+
+
+
+
+ + + + + + diff --git a/docs/v0.2/unix_8cc__incl.map b/docs/v0.2/unix_8cc__incl.map new file mode 100644 index 0000000..1da0662 --- /dev/null +++ b/docs/v0.2/unix_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v0.2/unix_8cc__incl.md5 b/docs/v0.2/unix_8cc__incl.md5 new file mode 100644 index 0000000..361be4e --- /dev/null +++ b/docs/v0.2/unix_8cc__incl.md5 @@ -0,0 +1 @@ +5c63488514754becf91924411251f91b \ No newline at end of file diff --git a/docs/v0.2/unix_8cc__incl.png b/docs/v0.2/unix_8cc__incl.png new file mode 100644 index 0000000..2a86c10 Binary files /dev/null and b/docs/v0.2/unix_8cc__incl.png differ diff --git a/docs/v0.2/unix_8h.html b/docs/v0.2/unix_8h.html new file mode 100644 index 0000000..fdd89a0 --- /dev/null +++ b/docs/v0.2/unix_8h.html @@ -0,0 +1,151 @@ + + + + + +serial: include/serial/impl/unix.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/impl/unix.h File Reference
+
+
+
#include "serial/serial.h"
+#include <pthread.h>
+
+Include dependency graph for unix.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

class  serial::serial::Serial::SerialImpl

+Namespaces

namespace  serial
+

Detailed Description

+
Author:
William Woodall wjwwo.nosp@m.od@g.nosp@m.mail..nosp@m.com
+
+John Harrison ash@g.nosp@m.reat.nosp@m.ertha.nosp@m.ninf.nosp@m.inity.nosp@m..com
+
Version:
0.1
+

+LICENSE

+

The MIT License

+

Copyright (c) 2011 William Woodall, John Harrison

+

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+

+DESCRIPTION

+

This provides a unix based pimpl for the Serial class. This implementation is based off termios.h and uses select for multiplexing the IO ports.

+
+ + + + + + diff --git a/docs/v0.2/unix_8h__dep__incl.map b/docs/v0.2/unix_8h__dep__incl.map new file mode 100644 index 0000000..1d057f0 --- /dev/null +++ b/docs/v0.2/unix_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v0.2/unix_8h__dep__incl.md5 b/docs/v0.2/unix_8h__dep__incl.md5 new file mode 100644 index 0000000..922dae6 --- /dev/null +++ b/docs/v0.2/unix_8h__dep__incl.md5 @@ -0,0 +1 @@ +ac7115380356aaf2a3c649dcdd6c726d \ No newline at end of file diff --git a/docs/v0.2/unix_8h__dep__incl.png b/docs/v0.2/unix_8h__dep__incl.png new file mode 100644 index 0000000..6653c84 Binary files /dev/null and b/docs/v0.2/unix_8h__dep__incl.png differ diff --git a/docs/v0.2/unix_8h__incl.map b/docs/v0.2/unix_8h__incl.map new file mode 100644 index 0000000..4283516 --- /dev/null +++ b/docs/v0.2/unix_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/v0.2/unix_8h__incl.md5 b/docs/v0.2/unix_8h__incl.md5 new file mode 100644 index 0000000..e609ed0 --- /dev/null +++ b/docs/v0.2/unix_8h__incl.md5 @@ -0,0 +1 @@ +8efcdc17867179f10b863ebc3c51f3b2 \ No newline at end of file diff --git a/docs/v0.2/unix_8h__incl.png b/docs/v0.2/unix_8h__incl.png new file mode 100644 index 0000000..52d1629 Binary files /dev/null and b/docs/v0.2/unix_8h__incl.png differ diff --git a/docs/v0.2/unix_8h_source.html b/docs/v0.2/unix_8h_source.html new file mode 100644 index 0000000..1b3006b --- /dev/null +++ b/docs/v0.2/unix_8h_source.html @@ -0,0 +1,268 @@ + + + + + +serial: include/serial/impl/unix.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/impl/unix.h
+
+
+Go to the documentation of this file.
00001 
+00038 #ifndef SERIAL_IMPL_UNIX_H
+00039 #define SERIAL_IMPL_UNIX_H
+00040 
+00041 #include "serial/serial.h"
+00042 
+00043 #include <pthread.h>
+00044 
+00045 namespace serial {
+00046 
+00047 using std::string;
+00048 using std::invalid_argument;
+00049 
+00050 using serial::SerialExecption;
+00051 using serial::IOException;
+00052 
+00053 class serial::Serial::SerialImpl {
+00054 public:
+00055   SerialImpl (const string &port,
+00056               unsigned long baudrate,
+00057               long timeout,
+00058               bytesize_t bytesize,
+00059               parity_t parity,
+00060               stopbits_t stopbits,
+00061               flowcontrol_t flowcontrol);
+00062 
+00063   virtual ~SerialImpl ();
+00064 
+00065   void
+00066   open ();
+00067 
+00068   void
+00069   close ();
+00070 
+00071   bool
+00072   isOpen () const;
+00073 
+00074   size_t
+00075   available ();
+00076 
+00077   size_t
+00078   read (unsigned char* buf, size_t size = 1);
+00079 
+00080   size_t
+00081   write (const string &data);
+00082 
+00083   void
+00084   flush ();
+00085 
+00086   void
+00087   flushInput ();
+00088 
+00089   void
+00090   flushOutput ();
+00091 
+00092   void
+00093   sendBreak(int duration);
+00094 
+00095   void
+00096   setBreak(bool level);
+00097 
+00098   void
+00099   setRTS(bool level);
+00100 
+00101   void
+00102   setDTR(bool level);
+00103 
+00104   bool
+00105   getCTS();
+00106 
+00107   bool
+00108   getDSR();
+00109 
+00110   bool
+00111   getRI();
+00112 
+00113   bool
+00114   getCD();
+00115 
+00116   void
+00117   setPort (const string &port);
+00118 
+00119   string
+00120   getPort () const;
+00121 
+00122   void
+00123   setTimeout (long timeout);
+00124 
+00125   long
+00126   getTimeout () const;
+00127 
+00128   void
+00129   setBaudrate (unsigned long baudrate);
+00130 
+00131   unsigned long
+00132   getBaudrate () const;
+00133 
+00134   void
+00135   setBytesize (bytesize_t bytesize);
+00136 
+00137   bytesize_t
+00138   getBytesize () const;
+00139 
+00140   void
+00141   setParity (parity_t parity);
+00142 
+00143   parity_t
+00144   getParity () const;
+00145 
+00146   void
+00147   setStopbits (stopbits_t stopbits);
+00148 
+00149   stopbits_t
+00150   getStopbits () const;
+00151 
+00152   void
+00153   setFlowcontrol (flowcontrol_t flowcontrol);
+00154 
+00155   flowcontrol_t
+00156   getFlowcontrol () const;
+00157 
+00158   void
+00159   readLock();
+00160 
+00161   void
+00162   readUnlock();
+00163 
+00164   void
+00165   writeLock();
+00166 
+00167   void
+00168   writeUnlock();
+00169 
+00170 protected:
+00171   void reconfigurePort ();
+00172 
+00173 private:
+00174   string port_;               // Path to the file descriptor
+00175   int fd_;                    // The current file descriptor
+00176 
+00177   bool is_open_;
+00178   bool xonxoff_;
+00179   bool rtscts_;
+00180 
+00181   long timeout_;              // Timeout for read operations
+00182   unsigned long baudrate_;    // Baudrate
+00183 
+00184   parity_t parity_;           // Parity
+00185   bytesize_t bytesize_;       // Size of the bytes
+00186   stopbits_t stopbits_;       // Stop Bits
+00187   flowcontrol_t flowcontrol_; // Flow Control
+00188 
+00189   // Mutex used to lock the read functions
+00190   pthread_mutex_t read_mutex;
+00191   // Mutex used to lock the write functions
+00192   pthread_mutex_t write_mutex;
+00193 };
+00194 
+00195 }
+00196 
+00197 #endif // SERIAL_IMPL_UNIX_H
+
+ + + + + + diff --git a/docs/v0.2/windows_8cc.html b/docs/v0.2/windows_8cc.html new file mode 100644 index 0000000..c2bc269 --- /dev/null +++ b/docs/v0.2/windows_8cc.html @@ -0,0 +1,115 @@ + + + + + +serial: src/impl/windows.cc File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
src/impl/windows.cc File Reference
+
+
+
+Include dependency graph for windows.cc:
+
+
+ + +
+
+ + + + + + diff --git a/docs/v0.2/windows_8cc__incl.map b/docs/v0.2/windows_8cc__incl.map new file mode 100644 index 0000000..a71b1c0 --- /dev/null +++ b/docs/v0.2/windows_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v0.2/windows_8cc__incl.md5 b/docs/v0.2/windows_8cc__incl.md5 new file mode 100644 index 0000000..edcf8e6 --- /dev/null +++ b/docs/v0.2/windows_8cc__incl.md5 @@ -0,0 +1 @@ +04910753f5601be3f1454fef3fd0023b \ No newline at end of file diff --git a/docs/v0.2/windows_8cc__incl.png b/docs/v0.2/windows_8cc__incl.png new file mode 100644 index 0000000..84470d4 Binary files /dev/null and b/docs/v0.2/windows_8cc__incl.png differ diff --git a/docs/v0.2/windows_8h.html b/docs/v0.2/windows_8h.html new file mode 100644 index 0000000..4074969 --- /dev/null +++ b/docs/v0.2/windows_8h.html @@ -0,0 +1,150 @@ + + + + + +serial: include/serial/impl/windows.h File Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
include/serial/impl/windows.h File Reference
+
+
+
#include "serial/serial.h"
+
+Include dependency graph for windows.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + +
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

class  serial::serial::Serial::SerialImpl

+Namespaces

namespace  serial
+

Detailed Description

+
Author:
William Woodall wjwwo.nosp@m.od@g.nosp@m.mail..nosp@m.com
+
+John Harrison ash@g.nosp@m.reat.nosp@m.ertha.nosp@m.ninf.nosp@m.inity.nosp@m..com
+
Version:
0.1
+

+LICENSE

+

The MIT License

+

Copyright (c) 2011 William Woodall, John Harrison

+

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+

+DESCRIPTION

+

This provides a windows implementation of the Serial class interface.

+
+ + + + + + diff --git a/docs/v0.2/windows_8h__dep__incl.map b/docs/v0.2/windows_8h__dep__incl.map new file mode 100644 index 0000000..2830697 --- /dev/null +++ b/docs/v0.2/windows_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/v0.2/windows_8h__dep__incl.md5 b/docs/v0.2/windows_8h__dep__incl.md5 new file mode 100644 index 0000000..c964f97 --- /dev/null +++ b/docs/v0.2/windows_8h__dep__incl.md5 @@ -0,0 +1 @@ +56bbeb7b13a744e0ebc3a22b7e8a5061 \ No newline at end of file diff --git a/docs/v0.2/windows_8h__dep__incl.png b/docs/v0.2/windows_8h__dep__incl.png new file mode 100644 index 0000000..94b6bb7 Binary files /dev/null and b/docs/v0.2/windows_8h__dep__incl.png differ diff --git a/docs/v0.2/windows_8h__incl.map b/docs/v0.2/windows_8h__incl.map new file mode 100644 index 0000000..4283516 --- /dev/null +++ b/docs/v0.2/windows_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/v0.2/windows_8h__incl.md5 b/docs/v0.2/windows_8h__incl.md5 new file mode 100644 index 0000000..6f72e14 --- /dev/null +++ b/docs/v0.2/windows_8h__incl.md5 @@ -0,0 +1 @@ +562506bdc3c26af690de500b9c8ba4e6 \ No newline at end of file diff --git a/docs/v0.2/windows_8h__incl.png b/docs/v0.2/windows_8h__incl.png new file mode 100644 index 0000000..654ec29 Binary files /dev/null and b/docs/v0.2/windows_8h__incl.png differ diff --git a/docs/v0.2/windows_8h_source.html b/docs/v0.2/windows_8h_source.html new file mode 100644 index 0000000..96f1f0d --- /dev/null +++ b/docs/v0.2/windows_8h_source.html @@ -0,0 +1,249 @@ + + + + + +serial: include/serial/impl/windows.h Source File + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
serial +  1.0 +
+
Cross-platformserialportlibraryforC++
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
include/serial/impl/windows.h
+
+
+Go to the documentation of this file.
00001 
+00037 #ifndef SERIAL_IMPL_WINDOWS_H
+00038 #define SERIAL_IMPL_WINDOWS_H
+00039 
+00040 #include "serial/serial.h"
+00041 
+00042 namespace serial {
+00043 
+00044 using std::string;
+00045 using std::invalid_argument;
+00046 
+00047 using serial::SerialExecption;
+00048 using serial::IOException;
+00049 
+00050 class serial::Serial::SerialImpl {
+00051 public:
+00052   SerialImpl (const string &port,
+00053               unsigned long baudrate,
+00054               long timeout,
+00055               bytesize_t bytesize,
+00056               parity_t parity,
+00057               stopbits_t stopbits,
+00058               flowcontrol_t flowcontrol);
+00059 
+00060   virtual ~SerialImpl ();
+00061 
+00062   void
+00063   open ();
+00064 
+00065   void
+00066   close ();
+00067 
+00068   bool
+00069   isOpen () const;
+00070 
+00071   size_t
+00072   available ();
+00073 
+00074   size_t
+00075   read (char* buf, size_t size = 1);
+00076 
+00077   size_t
+00078   write (const string &data);
+00079 
+00080   void
+00081   flush ();
+00082 
+00083   void
+00084   flushInput ();
+00085 
+00086   void
+00087   flushOutput ();
+00088 
+00089   void
+00090   sendBreak(int duration);
+00091 
+00092   void
+00093   setBreak(bool level);
+00094 
+00095   void
+00096   setRTS(bool level);
+00097 
+00098   void
+00099   setDTR(bool level);
+00100   
+00101   bool
+00102   getCTS();
+00103   
+00104   bool
+00105   getDSR();
+00106   
+00107   bool
+00108   getRI();
+00109   
+00110   bool
+00111   getCD();
+00112 
+00113   void
+00114   setPort (const string &port);
+00115   
+00116   string
+00117   getPort () const;
+00118 
+00119   void
+00120   setTimeout (long timeout);
+00121   
+00122   long
+00123   getTimeout () const;
+00124 
+00125   void
+00126   setBaudrate (unsigned long baudrate);
+00127   
+00128   unsigned long
+00129   getBaudrate () const;
+00130 
+00131   void
+00132   setBytesize (bytesize_t bytesize);
+00133   
+00134   bytesize_t
+00135   getBytesize () const;
+00136 
+00137   void
+00138   setParity (parity_t parity);
+00139 
+00140   parity_t
+00141   getParity () const;
+00142 
+00143   void
+00144   setStopbits (stopbits_t stopbits);
+00145 
+00146   stopbits_t
+00147   getStopbits () const;
+00148 
+00149   void
+00150   setFlowcontrol (flowcontrol_t flowcontrol);
+00151 
+00152   flowcontrol_t
+00153   getFlowcontrol () const;
+00154 
+00155 protected:
+00156   void reconfigurePort ();
+00157 
+00158 private:
+00159   string port_;               // Path to the file descriptor
+00160   int fd_;                    // The current file descriptor
+00161 
+00162   bool isOpen_;
+00163   bool xonxoff_;
+00164   bool rtscts_;
+00165 
+00166   long timeout_;              // Timeout for read operations
+00167   unsigned long baudrate_;    // Baudrate
+00168 
+00169   parity_t parity_;           // Parity
+00170   bytesize_t bytesize_;       // Size of the bytes
+00171   stopbits_t stopbits_;       // Stop Bits
+00172   flowcontrol_t flowcontrol_; // Flow Control
+00173 };
+00174 
+00175 }
+00176 
+00177 #endif // SERIAL_IMPL_WINDOWS_H
+
+ + + + + + diff --git a/docs/v1.0/annotated.html b/docs/v1.0/annotated.html index 90e608f..ecf4d3b 100644 --- a/docs/v1.0/annotated.html +++ b/docs/v1.0/annotated.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -101,7 +101,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); serial::Serial::ScopedReadLock serial::Serial::ScopedWriteLock serial::Serial - serial::SerialExceptionBase serial::SerialExecption serial::serial::Serial::SerialImpl serial::Timeout @@ -110,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/v1.0/class_serial_1_1_scoped_read_lock.html b/docs/v1.0/class_serial_1_1_scoped_read_lock.html index ad45e0c..9e123d6 100644 --- a/docs/v1.0/class_serial_1_1_scoped_read_lock.html +++ b/docs/v1.0/class_serial_1_1_scoped_read_lock.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -157,7 +157,7 @@ Public Member Functions diff --git a/docs/v1.0/class_serial_1_1_scoped_write_lock.html b/docs/v1.0/class_serial_1_1_scoped_write_lock.html index 58a5171..c0e2f7b 100644 --- a/docs/v1.0/class_serial_1_1_scoped_write_lock.html +++ b/docs/v1.0/class_serial_1_1_scoped_write_lock.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -157,7 +157,7 @@ Public Member Functions diff --git a/docs/v1.0/classes.html b/docs/v1.0/classes.html index 9e479a2..352b7ab 100644 --- a/docs/v1.0/classes.html +++ b/docs/v1.0/classes.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -99,14 +99,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); - - + + + - - + + +
  I  
  S  
-
Serial (serial)   
  T  
-
SerialExceptionBase (serial)   
IOException (serial)   Serial::ScopedReadLock   SerialExecption (serial)   Timeout (serial)   
Serial (serial)   
SerialExecption (serial)   
IOException (serial)   Serial::ScopedReadLock   SerialImpl (serial::serial::Serial)   
  P  
-
Serial::ScopedWriteLock   SerialImpl (serial::serial::Serial)   
PortNotOpenedException (serial)   
Serial::ScopedWriteLock   
  T  
+
PortNotOpenedException (serial)   Timeout (serial)   
I | P | S | T
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/v1.0/classserial_1_1_i_o_exception.html b/docs/v1.0/classserial_1_1_i_o_exception.html index 6c20084..901e39e 100644 --- a/docs/v1.0/classserial_1_1_i_o_exception.html +++ b/docs/v1.0/classserial_1_1_i_o_exception.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -111,6 +111,7 @@ Public Member Functions  IOException (std::string file, int line, int errnum)  IOException (std::string file, int line, const char *description) virtual ~IOException () throw () + IOException (const IOException &other) int getErrorNumber () virtual const char * what () const throw () @@ -200,6 +201,26 @@ Public Member Functions + +
+
+ + + + + + + + +
serial::IOException::IOException (const IOExceptionother) [inline]
+
+
+
                                         {
+    e_what_ = other.e_what_;
+  }
+
+
+

Member Function Documentation

@@ -250,7 +271,7 @@ Public Member Functions diff --git a/docs/v1.0/classserial_1_1_port_not_opened_exception.html b/docs/v1.0/classserial_1_1_port_not_opened_exception.html index 8ca5f40..c3e4541 100644 --- a/docs/v1.0/classserial_1_1_port_not_opened_exception.html +++ b/docs/v1.0/classserial_1_1_port_not_opened_exception.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -109,6 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

Public Member Functions

 PortNotOpenedException (const char *description) + PortNotOpenedException (const PortNotOpenedException &other) virtual const char * what () const throw ()

Constructor & Destructor Documentation

@@ -130,6 +131,26 @@ Public Member Functions
+ +
+ +
+
                                                               {
+    e_what_ = other.e_what_;
+  }
+
+
+

Member Function Documentation

@@ -159,7 +180,7 @@ Public Member Functions diff --git a/docs/v1.0/classserial_1_1_serial.html b/docs/v1.0/classserial_1_1_serial.html index f66ca72..4dd5fc9 100644 --- a/docs/v1.0/classserial_1_1_serial.html +++ b/docs/v1.0/classserial_1_1_serial.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -113,29 +113,29 @@ Data Structures class  ScopedWriteLock

Public Member Functions

Serial (const std::string &port="", unsigned long baudrate=9600, Timeout timeout=Timeout(), bytesize_t bytesize=eightbits, parity_t parity=parity_none, stopbits_t stopbits=stopbits_one, flowcontrol_t flowcontrol=flowcontrol_none) + Serial (const std::string &port="", uint32_t baudrate=9600, Timeout timeout=Timeout(), bytesize_t bytesize=eightbits, parity_t parity=parity_none, stopbits_t stopbits=stopbits_one, flowcontrol_t flowcontrol=flowcontrol_none) virtual ~Serial () void open () bool isOpen () const void close () size_t available () -size_t read (unsigned char *buffer, size_t size) -size_t read (std::vector< unsigned char > &buffer, size_t size=1) +size_t read (uint8_t *buffer, size_t size) +size_t read (std::vector< uint8_t > &buffer, size_t size=1) size_t read (std::string &buffer, size_t size=1) std::string read (size_t size=1) size_t readline (std::string &buffer, size_t size=65536, std::string eol="\n") std::string readline (size_t size=65536, std::string eol="\n") std::vector< std::string > readlines (size_t size=65536, std::string eol="\n") -size_t write (const unsigned char *data, size_t size) -size_t write (const std::vector< unsigned char > &data) +size_t write (const uint8_t *data, size_t size) +size_t write (const std::vector< uint8_t > &data) size_t write (const std::string &data) void setPort (const std::string &port) std::string getPort () const void setTimeout (Timeout &timeout) -void setTimeout (long inter_byte_timeout, long read_timeout_constant, long read_timeout_multiplier, long write_timeout_constant, long write_timeout_multiplier) +void setTimeout (uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier) Timeout getTimeout () const -void setBaudrate (unsigned long baudrate) -unsigned long getBaudrate () const +void setBaudrate (uint32_t baudrate) +uint32_t getBaudrate () const void setBytesize (bytesize_t bytesize) bytesize_t getBytesize () const void setParity (parity_t parity) @@ -160,12 +160,12 @@ Public Member Functions

Detailed Description

Class that provides a portable serial port interface.


Constructor & Destructor Documentation

- +
- + @@ -173,7 +173,7 @@ Public Member Functions - + @@ -218,7 +218,7 @@ Public Member Functions
Parameters:
serial::Serial::Serial serial::Serial::Serial ( const std::string &  port = "",
unsigned long uint32_t  baudrate = 9600,
- +
portA std::string containing the address of the serial port, which would be something like 'COM1' on Windows and '/dev/ttyS0' on Linux.
baudrateAn integer that represents the baudrate
baudrateAn unsigned 32-bit integer that represents the baudrate
timeoutA serial::Timeout struct that defines the timeout conditions for the serial port.
@@ -369,12 +369,12 @@ Public Member Functions
- +
- + @@ -384,7 +384,7 @@ Public Member Functions

Gets the baudrate for the serial port.

Returns:
An integer that sets the baud rate for the serial port.
-
See also:
Serial::setBaudrate
+
See also:
Serial::setBaudrate
Exceptions:
unsigned long Serial::getBaudrate uint32_t Serial::getBaudrate ( ) const
@@ -392,7 +392,7 @@ Public Member Functions
{
-  return pimpl_->getBaudrate ();
+  return uint32_t(pimpl_->getBaudrate ());
 }
 
@@ -670,7 +670,7 @@ Public Member Functions

Opens the serial port as long as the port is set and the port isn't already open.

If the port is provided to the constructor then an explicit call to open is not needed.

-
See also:
Serial::Serial
+
See also:
Serial::Serial
Exceptions:
InvalidConfigurationException
@@ -685,14 +685,14 @@ Public Member Functions - +
std::invalid_argument
- + - + @@ -725,7 +725,7 @@ Public Member Functions
Parameters:
size_t Serial::read size_t Serial::read (unsigned char * uint8_t *  buffer,
- +
bufferAn unsigned char array of at least the requested size.
bufferAn uint8_t array of at least the requested size.
sizeA size_t defining how many bytes to be read.
@@ -733,19 +733,19 @@ Public Member Functions
Returns:
A size_t representing the number of bytes read as a result of the call to read.
{
   ScopedReadLock (this->pimpl_);
-  return this->pimpl_->read (buffer, size);
+  return this->pimpl_->read (buffer, size);
 }
 
- +
- + - + @@ -765,7 +765,7 @@ Public Member Functions

Read a given amount of bytes from the serial port into a give buffer.

Parameters:
size_t Serial::read size_t Serial::read (std::vector< unsigned char > & std::vector< uint8_t > &  buffer,
- +
bufferA reference to a std::vector of unsigned char.
bufferA reference to a std::vector of uint8_t.
sizeA size_t defining how many bytes to be read.
@@ -773,8 +773,8 @@ Public Member Functions
Returns:
A size_t representing the number of bytes read as a result of the call to read.
{
   ScopedReadLock (this->pimpl_);
-  unsigned char *buffer_ = new unsigned char[size];
-  size_t bytes_read = this->pimpl_->read (buffer_, size);
+  uint8_t *buffer_ = new uint8_t[size];
+  size_t bytes_read = this->pimpl_->read (buffer_, size);
   buffer.insert (buffer.end (), buffer_, buffer_+bytes_read);
   delete[] buffer_;
   return bytes_read;
@@ -787,7 +787,7 @@ Public Member Functions
 
- + @@ -817,8 +817,8 @@ Public Member Functions
Returns:
A size_t representing the number of bytes read as a result of the call to read.
{
   ScopedReadLock (this->pimpl_);
-  unsigned char *buffer_ = new unsigned char[size];
-  size_t bytes_read = this->pimpl_->read (buffer_, size);
+  uint8_t *buffer_ = new uint8_t[size];
+  size_t bytes_read = this->pimpl_->read (buffer_, size);
   buffer.append (reinterpret_cast<const char*>(buffer_), bytes_read);
   delete[] buffer_;
   return bytes_read;
@@ -831,7 +831,7 @@ Public Member Functions
 
size_t Serial::read size_t Serial::read ( std::string &  buffer,
- + @@ -850,7 +850,7 @@ Public Member Functions
Returns:
A std::string containing the data read from the port.
{
   std::string buffer;
-  this->read (buffer, size);
+  this->read (buffer, size);
   return buffer;
 }
 
@@ -975,8 +975,8 @@ Public Member Functions ScopedReadLock (this->pimpl_); std::vector<std::string> lines; size_t eol_len = eol.length (); - unsignedchar *buffer_ = static_cast<unsignedchar*> - (alloca (size * sizeof (unsignedchar))); + uint8_t *buffer_ = static_cast<uint8_t*> + (alloca (size * sizeof (uint8_t))); size_t read_so_far = 0; size_t start_of_line = 0; while (read_so_far < size) { @@ -1033,14 +1033,14 @@ Public Member Functions - +
string Serial::read string Serial::read ( size_t  size = 1)
- + - + @@ -1341,38 +1341,38 @@ Public Member Functions - +
void Serial::setBaudrate void Serial::setBaudrate (unsigned long uint32_t  baudrate)
- + - + - + - + - + @@ -1386,8 +1386,8 @@ Public Member Functions

Sets the timeout for reads and writes.

  {
     Timeout timeout(inter_byte_timeout, read_timeout_constant,
-                      read_timeout_multiplier, write_timeout_constant,
-                      write_timeout_multiplier);
+                    read_timeout_multiplier, write_timeout_constant,
+                    write_timeout_multiplier);
     return setTimeout(timeout);
   }
 
@@ -1416,19 +1416,19 @@ Public Member Functions
{
-  return pimpl_->waitForChange();
+  return pimpl_->waitForChange();
 }
 
- +
void serial::Serial::setTimeout (long uint32_t  inter_byte_timeout,
long uint32_t  read_timeout_constant,
long uint32_t  read_timeout_multiplier,
long uint32_t  write_timeout_constant,
long uint32_t  write_timeout_multiplier 
- + - + @@ -1454,17 +1454,21 @@ Public Member Functions
Returns:
A size_t representing the number of bytes actually written to the serial port.
- +
{
+  ScopedWriteLock(this->pimpl_);
+  return this->write_(data, size);
+}
+
- +
size_t serial::Serial::write size_t Serial::write (const unsigned char * const uint8_t *  data,
- + - + @@ -1479,7 +1483,11 @@ Public Member Functions
Returns:
A size_t representing the number of bytes actually written to the serial port.
- +
{
+  ScopedWriteLock(this->pimpl_);
+  return this->write_ (&data[0], data.size());
+}
+
@@ -1487,7 +1495,7 @@ Public Member Functions
size_t serial::Serial::write size_t Serial::write (const std::vector< unsigned char > & const std::vector< uint8_t > &  data)
- + @@ -1515,7 +1523,7 @@ Public Member Functions diff --git a/docs/v1.0/classserial_1_1_serial_execption.html b/docs/v1.0/classserial_1_1_serial_execption.html index 4784a9c..27e3aec 100644 --- a/docs/v1.0/classserial_1_1_serial_execption.html +++ b/docs/v1.0/classserial_1_1_serial_execption.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -109,6 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); +
size_t serial::Serial::write size_t serial::Serial::write ( const std::string &  data)

Public Member Functions

 SerialExecption (const char *description)
 SerialExecption (const SerialExecption &other)
virtual const char * what () const throw ()

Constructor & Destructor Documentation

@@ -130,6 +131,26 @@ Public Member Functions
+ +
+
+ + + + + + + + +
serial::SerialExecption::SerialExecption (const SerialExecptionother) [inline]
+
+
+
                                                 {
+    e_what_ = other.e_what_;
+  }
+
+
+

Member Function Documentation

@@ -159,7 +180,7 @@ Public Member Functions diff --git a/docs/v1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html b/docs/v1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html index ae7e3c2..e083610 100644 --- a/docs/v1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html +++ b/docs/v1.0/classserial_1_1serial_1_1_serial_1_1_serial_impl.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -111,14 +111,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); - + - - + + @@ -126,7 +126,7 @@ Public Member Functions - + @@ -145,18 +145,18 @@ Public Member Functions - - - - - + + + + + - - + + @@ -164,14 +164,15 @@ Public Member Functions + - - + + @@ -182,18 +183,89 @@ Public Member Functions + + + +

Public Member Functions

 SerialImpl (const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)
 SerialImpl (const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)
virtual ~SerialImpl ()
void open ()
void close ()
bool isOpen () const
size_t available ()
size_t read (unsigned char *buf, size_t size=1)
size_t write (const string &data)
size_t read (uint8_t *buf, size_t size=1)
size_t write (const uint8_t *data, size_t length)
void flush ()
void flushInput ()
void flushOutput ()
void setBreak (bool level)
void setRTS (bool level)
void setDTR (bool level)
bool waitForChange ()
bool waitForChange ()
bool getCTS ()
bool getDSR ()
bool getRI ()
stopbits_t getStopbits () const
void setFlowcontrol (flowcontrol_t flowcontrol)
flowcontrol_t getFlowcontrol () const
void readLock ()
void readUnlock ()
void writeLock ()
void writeUnlock ()
 SerialImpl (const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)
void readLock ()
void readUnlock ()
void writeLock ()
void writeUnlock ()
 SerialImpl (const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)
virtual ~SerialImpl ()
void open ()
void close ()
bool isOpen () const
size_t available ()
size_t read (char *buf, size_t size=1)
size_t write (const string &data)
size_t read (uint8_t *buf, size_t size=1)
size_t write (const uint8_t *data, size_t length)
void flush ()
void flushInput ()
void flushOutput ()
void setBreak (bool level)
void setRTS (bool level)
void setDTR (bool level)
bool waitForChange ()
bool getCTS ()
bool getDSR ()
bool getRI ()
bool getCD ()
void setPort (const string &port)
string getPort () const
void setTimeout (long timeout)
long getTimeout () const
void setTimeout (Timeout &timeout)
Timeout getTimeout () const
void setBaudrate (unsigned long baudrate)
unsigned long getBaudrate () const
void setBytesize (bytesize_t bytesize)
stopbits_t getStopbits () const
void setFlowcontrol (flowcontrol_t flowcontrol)
flowcontrol_t getFlowcontrol () const
void readLock ()
void readUnlock ()
void writeLock ()
void writeUnlock ()

Protected Member Functions

void reconfigurePort ()
void reconfigurePort ()

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
serial::serial::Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual serial::serial::Serial::SerialImpl::~SerialImpl () [virtual]
+
+
+ +
+
- + @@ -248,86 +320,6 @@ Protected Member Functions - -
-
-
Serial::SerialImpl::SerialImpl Serial::SerialImpl::SerialImpl ( const string &  port,
- - - - - - -
virtual serial::serial::Serial::SerialImpl::~SerialImpl () [virtual]
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Serial::SerialImpl::SerialImpl (const string & port,
unsigned long baudrate,
long timeout,
bytesize_t bytesize,
parity_t parity,
stopbits_t stopbits,
flowcontrol_t flowcontrol 
)
-
-
-
: port_ (port), fd_ (-1), isOpen_ (false), xonxoff_ (true), rtscts_ (false),
-  timeout_ (timeout), baudrate_ (baudrate), parity_ (parity), bytesize_ (bytesize),
-  stopbits_ (stopbits), flowcontrol_ (flowcontrol)
-{
-  if (port_.empty () == false)
-    open ();
-}
-
-
-
@@ -897,12 +889,12 @@ Protected Member Functions
- +
- + @@ -1020,14 +1012,14 @@ Protected Member Functions - +
long serial::serial::Serial::SerialImpl::getTimeout Timeout serial::serial::Serial::SerialImpl::getTimeout ( ) const
- + - + @@ -1047,14 +1039,14 @@ Protected Member Functions - +
size_t serial::serial::Serial::SerialImpl::read size_t serial::serial::Serial::SerialImpl::read (char * uint8_t *  buf,
- + - + @@ -1079,7 +1071,7 @@ Protected Member Functions
size_t serial::serial::Serial::SerialImpl::read size_t serial::serial::Serial::SerialImpl::read (unsigned char * uint8_t *  buf,
- + @@ -1094,6 +1086,22 @@ Protected Member Functions } } + + + +
+
+
void Serial::SerialImpl::readLock void Serial::SerialImpl::readLock ( )
+ + + + + + +
void serial::serial::Serial::SerialImpl::readLock ()
+
+
+
@@ -1101,7 +1109,7 @@ Protected Member Functions
- + @@ -1116,6 +1124,22 @@ Protected Member Functions } } + + + +
+
+
void Serial::SerialImpl::readUnlock void Serial::SerialImpl::readUnlock ( )
+ + + + + + +
void serial::serial::Serial::SerialImpl::readUnlock ()
+
+
+
@@ -1755,24 +1779,21 @@ Protected Member Functions - +
-
{
-  timeout_ = timeout;
-}
-
+
@@ -1797,7 +1818,7 @@ Protected Member Functions
- + @@ -1830,39 +1851,167 @@ Protected Member Functions - +
bool Serial::SerialImpl::waitForChange bool Serial::SerialImpl::waitForChange ( )
- + - - +
size_t Serial::SerialImpl::write bool serial::serial::Serial::SerialImpl::waitForChange (const string & data))
-
{
-  if (is_open_ == false) {
-    throw PortNotOpenedException ("Serial::write");
-  }
-  return static_cast<size_t> (::write (fd_, data.c_str (), data.length ()));
-}
-
+
- +
- + - - + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::write size_t Serial::SerialImpl::write (const string & data)const uint8_t * data,
size_t length 
)
+
+
+

Error

+

Timeout

+

Something ready to read

+
{
+  if (is_open_ == false) {
+    throw PortNotOpenedException ("Serial::write");
+  }
+  fd_set writefds;
+  size_t bytes_written = 0;
+  struct timeval timeout;
+  timeout.tv_sec =                    timeout_.write_timeout_constant / 1000;
+  timeout.tv_usec = static_cast<int> (timeout_.write_timeout_multiplier % 1000);
+  timeout.tv_usec *= 1000; // To convert to micro seconds
+  while (bytes_written < length) {
+    FD_ZERO (&writefds);
+    FD_SET (fd_, &writefds);
+    // On Linux the timeout struct is updated by select to contain the time
+    // left on the timeout to make looping easier, but on other platforms this
+    // does not occur.
+#if !defined(__linux__)
+    // Begin timing select
+    struct timespec start, end;
+    get_time_now(start);
+#endif
+    // Do the select
+    int r = select (fd_ + 1, &writefds, NULL, NULL, &timeout);
+#if !defined(__linux__)
+    // Calculate difference and update the structure
+    get_time_now(end);
+    // Calculate the time select took
+    struct timeval diff;
+    diff.tv_sec = end.tv_sec - start.tv_sec;
+    diff.tv_usec = static_cast<int> ((end.tv_nsec - start.tv_nsec) / 1000);
+    // Update the timeout
+    if (timeout.tv_sec <= diff.tv_sec) {
+      timeout.tv_sec = 0;
+    } else {
+      timeout.tv_sec -= diff.tv_sec;
+    }
+    if (timeout.tv_usec <= diff.tv_usec) {
+      timeout.tv_usec = 0;
+    } else {
+      timeout.tv_usec -= diff.tv_usec;
+    }
+#endif
+
+    // Figure out what happened by looking at select's response 'r'
+    if (r < 0) {
+      // Select was interrupted, try again
+      if (errno == EINTR) {
+        continue;
+      }
+      // Otherwise there was some error
+      THROW (IOException, errno);
+    }
+    if (r == 0) {
+      break;
+    }
+    if (r > 0) {
+      // Make sure our file descriptor is in the ready to read list
+      if (FD_ISSET (fd_, &writefds)) {
+        // This should be non-blocking returning only what is avaialble now
+        //  Then returning so that select can block again.
+        ssize_t bytes_written_now =
+          ::write (fd_, data + bytes_written, length - bytes_written);
+        // read should always return some data as select reported it was
+        // ready to read when we get to this point.
+        if (bytes_written_now < 1) {
+          // Disconnected devices, at least on Linux, show the
+          // behavior that they are always ready to read immediately
+          // but reading returns nothing.
+          throw SerialExecption ("device reports readiness to write but "
+                                 "returned no data (device disconnected?)");
+        }
+        // Update bytes_read
+        bytes_written += static_cast<size_t> (bytes_written_now);
+        // If bytes_read == size then we have read everything we need
+        if (bytes_written == length) {
+          break;
+        }
+        // If bytes_read < size then we have more to read
+        if (bytes_written < length) {
+          continue;
+        }
+        // If bytes_read > size then we have over read, which shouldn't happen
+        if (bytes_written > length) {
+          throw SerialExecption ("read over read, too many bytes where "
+                                 "read, this shouldn't happen, might be "
+                                 "a logical error!");
+        }
+      }
+      // This shouldn't happen, if r > 0 our fd has to be in the list!
+      THROW (IOException, "select reports ready to read, but our fd isn't"
+             " in the list, this shouldn't happen!");
+    }
+  }
+  return bytes_written;
+}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + +
size_t serial::serial::Serial::SerialImpl::write (const uint8_t * data,
size_t length 
)
@@ -1875,7 +2024,7 @@ Protected Member Functions
- + @@ -1890,6 +2039,22 @@ Protected Member Functions } } + + + +
+
+
void Serial::SerialImpl::writeLock void Serial::SerialImpl::writeLock ( )
+ + + + + + +
void serial::serial::Serial::SerialImpl::writeLock ()
+
+
+
@@ -1897,7 +2062,7 @@ Protected Member Functions
- + @@ -1912,19 +2077,35 @@ Protected Member Functions } } + + + +
+
+
void Serial::SerialImpl::writeUnlock void Serial::SerialImpl::writeUnlock ( )
+ + + + + + +
void serial::serial::Serial::SerialImpl::writeUnlock ()
+
+
+

The documentation for this class was generated from the following files: diff --git a/docs/v1.0/files.html b/docs/v1.0/files.html index e7952db..28ae325 100644 --- a/docs/v1.0/files.html +++ b/docs/v1.0/files.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -95,18 +95,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here is a list of all files with brief descriptions:
+ + - + - +
examples/serial_example.cc
include/serial/serial.h [code]
include/serial/v8stdint.h [code]
include/serial/impl/unix.h [code]
include/serial/impl/windows.h [code]
include/serial/impl/win.h [code]
src/serial.cc
src/impl/unix.cc
src/impl/windows.cc
src/impl/win.cc
diff --git a/docs/v1.0/functions.html b/docs/v1.0/functions.html index 9950700..42d82bc 100644 --- a/docs/v1.0/functions.html +++ b/docs/v1.0/functions.html @@ -30,7 +30,7 @@
serial  1.0
-
Cross-platform serial port library for C++
+
Cross-platform serial port library written in C++
@@ -89,6 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • f
  • g
  • i
  • +
  • m
  • o
  • p
  • r
  • @@ -153,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

    - g -

    @@ -205,14 +206,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

    - i -

    + + +

    - m -

    @@ -235,14 +243,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

    - r -

    - t -

    - w -

    +

    - m -

    + +

    - o -

    - t -

    - w -

    diff --git a/docs/v1.0/graph_legend.html b/docs/v1.0/graph_legend.html index c981543..98f11a3 100644 --- a/docs/v1.0/graph_legend.html +++ b/docs/v1.0/graph_legend.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -156,7 +156,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem diff --git a/docs/v1.0/index.html b/docs/v1.0/index.html index b2d1998..2a014a7 100644 --- a/docs/v1.0/index.html +++ b/docs/v1.0/index.html @@ -3,7 +3,7 @@ -serial: Main Page +serial: Serial Library @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -85,14 +85,66 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    -
    serial Documentation
    +
    Serial Library
    -
    +
    Author:
    William Woodall wjwwo.nosp@m.od@g.nosp@m.mail..nosp@m.com, John Harrison ash@g.nosp@m.reat.nosp@m.ertha.nosp@m.ninf.nosp@m.inity.nosp@m..com
    +

    +What is serial?

    +

    Serial is a cross-platform, simple to use library for using serial ports on computers. This library provides a C++, object oriented interface for interacting with RS-232 like devices on Linux and Windows.

    +

    Want to use it with ROS(Robot Operating System)? No problem, it compiles as a unary stack.

    +

    +Getting Started

    +

    Ready to jump in?

    + +

    +Features

    +
      +
    • Linux, Mac OS X, and Windows Support
    • +
    • Easy to use interface (modeled after PySerial)
    • +
    • Minimal dependencies (cmake)
    • +
    • Complete timeout control serial::Serial::setTimeout
    • +
    • Check and set handshaking lines (CTS, DSR, RI, CD and RTS, DTR)
    • +
    • Block for changes in handshaking lines (Linux and Windows)
    • +
    • Flush I/O separately and block until all writing done
    • +
    +

    +Installation

    +

    +Dependencies

    + +

    +Compiling

    +

    Once you have gathered the dependencies, you need to checkout the software from github.com:

    +
    +    git clone git://github.com/wjwwood/serial.git
    +

    Once you have checked out the source code from github.com you can enter the directory and build the software.

    +
    +    cd serial
    +    make
    +    make test # (optional) builds the example and tests, and runs the tests.
    +    make doc  # (optional) builds _this_ documentation.
    +

    +Installing

    +

    To install simply:

    +
    +    sudo make install
    +

    To uninstall simply:

    +
    +    sudo make uninstall
    +
    diff --git a/docs/v1.0/namespacemembers.html b/docs/v1.0/namespacemembers.html index be96484..0a9b43b 100644 --- a/docs/v1.0/namespacemembers.html +++ b/docs/v1.0/namespacemembers.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/v1.0/namespacemembers_enum.html b/docs/v1.0/namespacemembers_enum.html index 3d3cd4c..2473cf3 100644 --- a/docs/v1.0/namespacemembers_enum.html +++ b/docs/v1.0/namespacemembers_enum.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/v1.0/namespacemembers_eval.html b/docs/v1.0/namespacemembers_eval.html index d970aa6..c0f938b 100644 --- a/docs/v1.0/namespacemembers_eval.html +++ b/docs/v1.0/namespacemembers_eval.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/v1.0/namespaces.html b/docs/v1.0/namespaces.html index 23a7f8c..64fdefe 100644 --- a/docs/v1.0/namespaces.html +++ b/docs/v1.0/namespaces.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/v1.0/namespaceserial.html b/docs/v1.0/namespaceserial.html index af95949..5f4a126 100644 --- a/docs/v1.0/namespaceserial.html +++ b/docs/v1.0/namespaceserial.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -109,7 +109,6 @@ Data Structures class  SerialExecption class  IOException class  PortNotOpenedException -class  SerialExceptionBase

    Enumerations

    enum  bytesize_t { fivebits = 5, @@ -250,7 +249,7 @@ Enumerations diff --git a/docs/v1.0/namespaceserial_1_1serial.html b/docs/v1.0/namespaceserial_1_1serial.html index 601dc38..6330ed7 100644 --- a/docs/v1.0/namespaceserial_1_1serial.html +++ b/docs/v1.0/namespaceserial_1_1serial.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -111,7 +111,7 @@ Namespaces diff --git a/docs/v1.0/namespaceserial_1_1serial_1_1_serial.html b/docs/v1.0/namespaceserial_1_1serial_1_1_serial.html index 602bd9f..df53e9e 100644 --- a/docs/v1.0/namespaceserial_1_1serial_1_1_serial.html +++ b/docs/v1.0/namespaceserial_1_1serial_1_1_serial.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -112,7 +112,7 @@ Data Structures diff --git a/docs/v1.0/search/all_67.js b/docs/v1.0/search/all_67.js index 65a97fb..108b85e 100644 --- a/docs/v1.0/search/all_67.js +++ b/docs/v1.0/search/all_67.js @@ -1,7 +1,7 @@ var searchData= [ ['get_5ftime_5fnow',['get_time_now',['../unix_8cc.html#ad718e26d8db83d1760a13a80c67b4821',1,'unix.cc']]], - ['getbaudrate',['getBaudrate',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1_serial.html#acd0e5a25e4484d6f08fe02c1911ab5e0',1,'serial::Serial::getBaudrate()']]], + ['getbaudrate',['getBaudrate',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1_serial.html#a9b57d6da619d53f58cddc3621c78c32b',1,'serial::Serial::getBaudrate()']]], ['getbytesize',['getBytesize',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const '],['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()']]], ['getcd',['getCD',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6f2a8d7ff955fc3f061b513c095859e1',1,'serial::serial::Serial::SerialImpl::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9d402e28513e22613658b31e13b76802',1,'serial::serial::Serial::SerialImpl::getCD()'],['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()']]], ['getcts',['getCTS',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0801d20b6e906369ad232e460b741d7b',1,'serial::serial::Serial::SerialImpl::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afbfd566cd435f7881826fb0a2f74f746',1,'serial::serial::Serial::SerialImpl::getCTS()'],['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()']]], @@ -12,5 +12,5 @@ var searchData= ['getport',['getPort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const '],['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()']]], ['getri',['getRI',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0ee5f4cd897bc177a179ec4f0ba8c561',1,'serial::serial::Serial::SerialImpl::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4b9e1b75dce29e8ed4fa62b389510ae5',1,'serial::serial::Serial::SerialImpl::getRI()'],['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()']]], ['getstopbits',['getStopbits',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const '],['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()']]], - ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] + ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] ]; diff --git a/docs/v1.0/search/all_69.js b/docs/v1.0/search/all_69.js index 2c3f45b..252b6c5 100644 --- a/docs/v1.0/search/all_69.js +++ b/docs/v1.0/search/all_69.js @@ -1,7 +1,7 @@ var searchData= [ - ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#a65d995afbe1efdae5f78687e16572b6b',1,'serial::Timeout']]], + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#ada15f2a0ae478cbb62ef79d1633b2b81',1,'serial::Timeout']]], ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html',1,'serial']]], - ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html#acb2f2cf7a5cc8090945f6cbfcef3ef1e',1,'serial::IOException::IOException(std::string file, int line, int errnum)'],['../classserial_1_1_i_o_exception.html#acc1d2c650832cc8127f2cd777072b2cd',1,'serial::IOException::IOException(std::string file, int line, const char *description)']]], + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html#acb2f2cf7a5cc8090945f6cbfcef3ef1e',1,'serial::IOException::IOException(std::string file, int line, int errnum)'],['../classserial_1_1_i_o_exception.html#acc1d2c650832cc8127f2cd777072b2cd',1,'serial::IOException::IOException(std::string file, int line, const char *description)'],['../classserial_1_1_i_o_exception.html#af65196a71b800d11b5e5c367caf5b354',1,'serial::IOException::IOException(const IOException &other)']]], ['isopen',['isOpen',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const '],['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()']]] ]; diff --git a/docs/v1.0/search/all_6d.html b/docs/v1.0/search/all_6d.html new file mode 100644 index 0000000..2e27d4d --- /dev/null +++ b/docs/v1.0/search/all_6d.html @@ -0,0 +1,25 @@ + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/v1.0/search/all_6d.js b/docs/v1.0/search/all_6d.js new file mode 100644 index 0000000..6259fbe --- /dev/null +++ b/docs/v1.0/search/all_6d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['main',['../serial__example_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'serial_example.cc']]], + ['max',['max',['../structserial_1_1_timeout.html#adc68e33d2f94bfa33ba1062c363b9151',1,'serial::Timeout']]], + ['my_5fsleep',['my_sleep',['../serial__example_8cc.html#a89b7c9d8c710b057346cc9ac52ae3734',1,'serial_example.cc']]] +]; diff --git a/docs/v1.0/search/all_70.js b/docs/v1.0/search/all_70.js index 29388a0..589b9bf 100644 --- a/docs/v1.0/search/all_70.js +++ b/docs/v1.0/search/all_70.js @@ -4,6 +4,6 @@ var searchData= ['parity_5fnone',['parity_none',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481a31cbb2b3cf0870d1a089d66295918416',1,'serial']]], ['parity_5fodd',['parity_odd',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481affd8fd58edf7c25bab458cafaebecb10',1,'serial']]], ['parity_5ft',['parity_t',['../namespaceserial.html#a8f45d26bf7c9a06659e75b5004a50481',1,'serial']]], - ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException']]], + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException::PortNotOpenedException(const char *description)'],['../classserial_1_1_port_not_opened_exception.html#ae8b466d10d496a53ed8e9f949e9e628c',1,'serial::PortNotOpenedException::PortNotOpenedException(const PortNotOpenedException &other)']]], ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html',1,'serial']]] ]; diff --git a/docs/v1.0/search/all_72.js b/docs/v1.0/search/all_72.js index f410adb..27e0f9a 100644 --- a/docs/v1.0/search/all_72.js +++ b/docs/v1.0/search/all_72.js @@ -1,11 +1,12 @@ var searchData= [ - ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343',1,'serial::serial::Serial::SerialImpl::read(unsigned char *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a332155c4d26e565a73d9823bc7d1da91',1,'serial::serial::Serial::SerialImpl::read(char *buf, size_t size=1)'],['../classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1',1,'serial::Serial::read(unsigned char *buffer, size_t size)'],['../classserial_1_1_serial.html#aa1f8933e86e7f37781c186b11a763221',1,'serial::Serial::read(std::vector< unsigned char > &buffer, size_t size=1)'],['../classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f',1,'serial::Serial::read(std::string &buffer, size_t size=1)'],['../classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405',1,'serial::Serial::read(size_t size=1)']]], - ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a4fe391ea22792044ebd91f97ae8714f9',1,'serial::Timeout']]], - ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#abab63b8839297135a23035ad316a9b54',1,'serial::Timeout']]], + ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1_serial.html#a0261dbfb9361784ecb3eee98b85fa103',1,'serial::Serial::read(uint8_t *buffer, size_t size)'],['../classserial_1_1_serial.html#aa3795c6cbc96f504932dd02fd6e9538e',1,'serial::Serial::read(std::vector< uint8_t > &buffer, size_t size=1)'],['../classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f',1,'serial::Serial::read(std::string &buffer, size_t size=1)'],['../classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405',1,'serial::Serial::read(size_t size=1)']]], + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a099244649dec66b6e0548480edeb2b9f',1,'serial::Timeout']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#a64412753eb2edf1621716dd9f1a4e71e',1,'serial::Timeout']]], ['readline',['readline',['../classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54',1,'serial::Serial::readline(std::string &buffer, size_t size=65536, std::string eol="\n")'],['../classserial_1_1_serial.html#a04177f637cc02f92ec0492d377528b2a',1,'serial::Serial::readline(size_t size=65536, std::string eol="\n")']]], ['readlines',['readlines',['../classserial_1_1_serial.html#a99f77b9bbdc128b6704cc59db77686c5',1,'serial::Serial']]], - ['readlock',['readLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl']]], - ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl']]], - ['reconfigureport',['reconfigurePort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a48dcc5d2568edd1ce29df30a95d460d9',1,'serial::serial::Serial::SerialImpl::reconfigurePort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad006a2392150daddfa43ae288259c07d',1,'serial::serial::Serial::SerialImpl::reconfigurePort()']]] + ['readlock',['readLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3536cdcf1a389a2effe27455db31b906',1,'serial::serial::Serial::SerialImpl::readLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl::readLock()']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a63f05143ebfa94168e1df5047362ef0e',1,'serial::serial::Serial::SerialImpl::readUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl::readUnlock()']]], + ['reconfigureport',['reconfigurePort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a48dcc5d2568edd1ce29df30a95d460d9',1,'serial::serial::Serial::SerialImpl::reconfigurePort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad006a2392150daddfa43ae288259c07d',1,'serial::serial::Serial::SerialImpl::reconfigurePort()']]], + ['run',['run',['../serial__example_8cc.html#ac1f545534cdaab9094198a5dc2c2a79f',1,'serial_example.cc']]] ]; diff --git a/docs/v1.0/search/all_73.js b/docs/v1.0/search/all_73.js index 2902c5f..e16e64d 100644 --- a/docs/v1.0/search/all_73.js +++ b/docs/v1.0/search/all_73.js @@ -5,17 +5,18 @@ var searchData= ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html',1,'serial::Serial']]], ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#a662173968431aee3d6f204c354b20225',1,'Serial::ScopedWriteLock']]], ['sendbreak',['sendBreak',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3f738264b8236e271d79835f0ec08bf3',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6a1abcf6f4b94c7f3d7753c3f2dab91a',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)'],['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()']]], - ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], + ['serial',['serial',['../namespaceserial.html',1,'serial'],['../classserial_1_1_serial.html#aecbc4cc1723143805ae5a4aa79ba9332',1,'serial::Serial::Serial()']]], ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial::Serial'],['../namespaceserial_1_1serial.html',1,'serial::serial']]], - ['serial',['serial',['../namespaceserial.html',1,'serial'],['../classserial_1_1_serial.html#a3cb99baa1eca537742cb81117def8e9b',1,'serial::Serial::Serial()']]], + ['serial',['Serial',['../namespaceserial_1_1serial_1_1_serial.html',1,'serial::serial']]], ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], + ['serial_2edox',['serial.dox',['../serial_8dox.html',1,'']]], ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], - ['serialexceptionbase',['SerialExceptionBase',['../classserial_1_1_serial_exception_base.html',1,'serial']]], + ['serial_5fexample_2ecc',['serial_example.cc',['../serial__example_8cc.html',1,'']]], ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], - ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption::SerialExecption(const char *description)'],['../classserial_1_1_serial_execption.html#a824b52fe58b37de592d7bd13e7949860',1,'serial::SerialExecption::SerialExecption(const SerialExecption &other)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9baa5dccbb7935163bf6715eb5d9deff',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a80885778652ea3c7f7db39ec3f20310c',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)']]], ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]], - ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a80885778652ea3c7f7db39ec3f20310c',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad91611ac5ef21dd6bce2c14049e3aae6',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)']]], - ['setbaudrate',['setBaudrate',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad57c0c497d487c2f2115168f60eda146',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5',1,'serial::Serial::setBaudrate()']]], + ['setbaudrate',['setBaudrate',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad57c0c497d487c2f2115168f60eda146',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1_serial.html#ad4f7e9edff11b464199e94a43dfd19bf',1,'serial::Serial::setBaudrate()']]], ['setbreak',['setBreak',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aff11802f071e95c0e88ef6d0fa3bacd7',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4e439ed9ab4e38fb64bba2d49b814179',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)'],['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()']]], ['setbytesize',['setBytesize',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)'],['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()']]], ['setdtr',['setDTR',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a741dbda555f51bb7be361a602f72358c',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a94cdd2aad19377a0ec435bb6241b98a8',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)'],['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()']]], @@ -24,8 +25,9 @@ var searchData= ['setport',['setPort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aeb3006e2ff05d5bbaa518bb788eebcda',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa3b4c490f3246a506dd29135553ecd64',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)'],['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()']]], ['setrts',['setRTS',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa6f543e9fb4517fa00835eee15fa5ffa',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7faf4ef9a0f1b13c9155a4cae1e0ace9',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)'],['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()']]], ['setstopbits',['setStopbits',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)'],['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()']]], - ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae0f49f16cd4ace2e865a6fc2fe9d7218',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a1316ecb01d266e2698317c390ff7af80',1,'serial::Serial::setTimeout(long inter_byte_timeout, long read_timeout_constant, long read_timeout_multiplier, long write_timeout_constant, long write_timeout_multiplier)']]], + ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4b4be39af3e1c68bc6ac09cb55788c86',1,'serial::Serial::setTimeout(uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)']]], ['sevenbits',['sevenbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a7cf0a3607e326ff6736941008ea8174d',1,'serial']]], + ['simpletimeout',['simpleTimeout',['../structserial_1_1_timeout.html#aa4fbd72e16f47c9aea9fb3c32ca17828',1,'serial::Timeout']]], ['sixbits',['sixbits',['../namespaceserial.html#a00b3281fa11cea770c0b0c8a106080f8a608eb93b80fe8531d626b4e588c5bc8b',1,'serial']]], ['stopbits_5fone',['stopbits_one',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469ab70806555a14cb43e5cc43f6f3d01157',1,'serial']]], ['stopbits_5fone_5fpoint_5ffive',['stopbits_one_point_five',['../namespaceserial.html#af5b116611d6628a3aa8f788fdc09f469abb25fb831662d361d99cf12fb0da45ec',1,'serial']]], diff --git a/docs/v1.0/search/all_74.js b/docs/v1.0/search/all_74.js index c031919..b846294 100644 --- a/docs/v1.0/search/all_74.js +++ b/docs/v1.0/search/all_74.js @@ -1,7 +1,7 @@ var searchData= [ ['throw',['THROW',['../serial_8h.html#a25cffc64bd967636d69d7c3c82af1030',1,'serial.h']]], - ['timeout',['Timeout',['../structserial_1_1_timeout.html#ad4ed0d5f1332e795f4ddd12e999a157d',1,'serial::Timeout']]], + ['timeout',['Timeout',['../structserial_1_1_timeout.html#a1a454b17f5d653b8e1b04b3ec2fead59',1,'serial::Timeout']]], ['timeout',['Timeout',['../structserial_1_1_timeout.html',1,'serial']]], ['tiocinq',['TIOCINQ',['../unix_8cc.html#ad6548c2f81bf6e2679166b22d24784f1',1,'unix.cc']]] ]; diff --git a/docs/v1.0/search/all_76.html b/docs/v1.0/search/all_76.html new file mode 100644 index 0000000..0ff5edd --- /dev/null +++ b/docs/v1.0/search/all_76.html @@ -0,0 +1,25 @@ + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/v1.0/search/all_76.js b/docs/v1.0/search/all_76.js new file mode 100644 index 0000000..edd4f0a --- /dev/null +++ b/docs/v1.0/search/all_76.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['v8stdint_2eh',['v8stdint.h',['../v8stdint_8h.html',1,'']]] +]; diff --git a/docs/v1.0/search/all_77.js b/docs/v1.0/search/all_77.js index e2025aa..cdd7401 100644 --- a/docs/v1.0/search/all_77.js +++ b/docs/v1.0/search/all_77.js @@ -1,12 +1,12 @@ var searchData= [ - ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::waitForChange()']]], + ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abf091b468bdc0d9d338e51e746e0c397',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::waitForChange()']]], ['what',['what',['../classserial_1_1_serial_execption.html#a5cb17e5438390e95731ddd230524922d',1,'serial::SerialExecption::what()'],['../classserial_1_1_i_o_exception.html#a5151f78cf0309db2c79f3dc4c779c774',1,'serial::IOException::what()'],['../classserial_1_1_port_not_opened_exception.html#a314c997ecfe3990c4af147b247e8d9ce',1,'serial::PortNotOpenedException::what()']]], - ['windows_2ecc',['windows.cc',['../windows_8cc.html',1,'']]], - ['windows_2eh',['windows.h',['../windows_8h.html',1,'']]], - ['write',['write',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa248734f59cb31a2ca5d1bcb50e53e3e',1,'serial::serial::Serial::SerialImpl::write(const string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a47a36ed36bb6b75b0788c9f60ddc07a8',1,'serial::serial::Serial::SerialImpl::write(const string &data)'],['../classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7',1,'serial::Serial::write(const unsigned char *data, size_t size)'],['../classserial_1_1_serial.html#a280abb1b73ac368591d79badf23776bf',1,'serial::Serial::write(const std::vector< unsigned char > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], - ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#acbdcb9680cffdcd1dc6147f7ec49aec0',1,'serial::Timeout']]], - ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#ad441c95ac69511cec9374e9ca6a70ca9',1,'serial::Timeout']]], - ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl']]], - ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl']]] + ['win_2ecc',['win.cc',['../win_8cc.html',1,'']]], + ['win_2eh',['win.h',['../win_8h.html',1,'']]], + ['write',['write',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a222136f14876f84fd0d95f47a7d9c541',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a89b50df2562176fd250413833d636d0a',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1_serial.html#aa020880cdff3a370ddc574f594379c3c',1,'serial::Serial::write(const uint8_t *data, size_t size)'],['../classserial_1_1_serial.html#a2c4180b4c7d386c84e9d0e7ef4a267d3',1,'serial::Serial::write(const std::vector< uint8_t > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#accf01b97f83564f4ce3d6e5f63e21006',1,'serial::Timeout']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#a31ddae32907cff9c3d27fa763981317d',1,'serial::Timeout']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac094e8cb4a5957e1ddeb1d4fdc9d9536',1,'serial::serial::Serial::SerialImpl::writeLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl::writeLock()']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afeac86484622bbeb08303e98db24efe0',1,'serial::serial::Serial::SerialImpl::writeUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl::writeUnlock()']]] ]; diff --git a/docs/v1.0/search/classes_73.js b/docs/v1.0/search/classes_73.js index 63a2a0a..a4aa155 100644 --- a/docs/v1.0/search/classes_73.js +++ b/docs/v1.0/search/classes_73.js @@ -3,7 +3,6 @@ var searchData= ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html',1,'serial::Serial']]], ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html',1,'serial::Serial']]], ['serial',['Serial',['../classserial_1_1_serial.html',1,'serial']]], - ['serialexceptionbase',['SerialExceptionBase',['../classserial_1_1_serial_exception_base.html',1,'serial']]], ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html',1,'serial']]], ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html',1,'serial::serial::Serial']]] ]; diff --git a/docs/v1.0/search/files_73.js b/docs/v1.0/search/files_73.js index f6585e0..5c9a4a2 100644 --- a/docs/v1.0/search/files_73.js +++ b/docs/v1.0/search/files_73.js @@ -1,5 +1,7 @@ var searchData= [ ['serial_2ecc',['serial.cc',['../serial_8cc.html',1,'']]], - ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]] + ['serial_2edox',['serial.dox',['../serial_8dox.html',1,'']]], + ['serial_2eh',['serial.h',['../serial_8h.html',1,'']]], + ['serial_5fexample_2ecc',['serial_example.cc',['../serial__example_8cc.html',1,'']]] ]; diff --git a/docs/v1.0/search/files_76.html b/docs/v1.0/search/files_76.html new file mode 100644 index 0000000..e53e134 --- /dev/null +++ b/docs/v1.0/search/files_76.html @@ -0,0 +1,25 @@ + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/v1.0/search/files_76.js b/docs/v1.0/search/files_76.js new file mode 100644 index 0000000..edd4f0a --- /dev/null +++ b/docs/v1.0/search/files_76.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['v8stdint_2eh',['v8stdint.h',['../v8stdint_8h.html',1,'']]] +]; diff --git a/docs/v1.0/search/files_77.js b/docs/v1.0/search/files_77.js index 2ff0414..e1669a3 100644 --- a/docs/v1.0/search/files_77.js +++ b/docs/v1.0/search/files_77.js @@ -1,5 +1,5 @@ var searchData= [ - ['windows_2ecc',['windows.cc',['../windows_8cc.html',1,'']]], - ['windows_2eh',['windows.h',['../windows_8h.html',1,'']]] + ['win_2ecc',['win.cc',['../win_8cc.html',1,'']]], + ['win_2eh',['win.h',['../win_8h.html',1,'']]] ]; diff --git a/docs/v1.0/search/functions_67.js b/docs/v1.0/search/functions_67.js index 65a97fb..108b85e 100644 --- a/docs/v1.0/search/functions_67.js +++ b/docs/v1.0/search/functions_67.js @@ -1,7 +1,7 @@ var searchData= [ ['get_5ftime_5fnow',['get_time_now',['../unix_8cc.html#ad718e26d8db83d1760a13a80c67b4821',1,'unix.cc']]], - ['getbaudrate',['getBaudrate',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1_serial.html#acd0e5a25e4484d6f08fe02c1911ab5e0',1,'serial::Serial::getBaudrate()']]], + ['getbaudrate',['getBaudrate',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af04d2d662a302d446bf8a99151e7a229',1,'serial::serial::Serial::SerialImpl::getBaudrate() const '],['../classserial_1_1_serial.html#a9b57d6da619d53f58cddc3621c78c32b',1,'serial::Serial::getBaudrate()']]], ['getbytesize',['getBytesize',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aafeff74e9aed67a996735dbb46323b25',1,'serial::serial::Serial::SerialImpl::getBytesize() const '],['../classserial_1_1_serial.html#a4fce90ef7a9a46525efa373a94a1bfbd',1,'serial::Serial::getBytesize()']]], ['getcd',['getCD',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6f2a8d7ff955fc3f061b513c095859e1',1,'serial::serial::Serial::SerialImpl::getCD()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9d402e28513e22613658b31e13b76802',1,'serial::serial::Serial::SerialImpl::getCD()'],['../classserial_1_1_serial.html#a9795a3e83e6745a14c64f657e68061fb',1,'serial::Serial::getCD()']]], ['getcts',['getCTS',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0801d20b6e906369ad232e460b741d7b',1,'serial::serial::Serial::SerialImpl::getCTS()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afbfd566cd435f7881826fb0a2f74f746',1,'serial::serial::Serial::SerialImpl::getCTS()'],['../classserial_1_1_serial.html#a809f048546c4c72b74e205139b97648c',1,'serial::Serial::getCTS()']]], @@ -12,5 +12,5 @@ var searchData= ['getport',['getPort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a1f881c2cf8bfc92a7836ee0dd554ec44',1,'serial::serial::Serial::SerialImpl::getPort() const '],['../classserial_1_1_serial.html#ae95cd057e90258b1b3203ff8972a3567',1,'serial::Serial::getPort()']]], ['getri',['getRI',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a0ee5f4cd897bc177a179ec4f0ba8c561',1,'serial::serial::Serial::SerialImpl::getRI()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4b9e1b75dce29e8ed4fa62b389510ae5',1,'serial::serial::Serial::SerialImpl::getRI()'],['../classserial_1_1_serial.html#afb96e6968f040c4bff7576095f4ba6e7',1,'serial::Serial::getRI()']]], ['getstopbits',['getStopbits',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#af52b7b4b1d78b9fc98f7150587ddc8b6',1,'serial::serial::Serial::SerialImpl::getStopbits() const '],['../classserial_1_1_serial.html#a42887bb76243bf6bbb3f69ff60f9792e',1,'serial::Serial::getStopbits()']]], - ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae79177ed275c9cb5af7e5617644818f9',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] + ['gettimeout',['getTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3523fd0100ba27787042b257cb1b3e63',1,'serial::serial::Serial::SerialImpl::getTimeout() const '],['../classserial_1_1_serial.html#a765fccd0e53562773626fb39bb2efcb6',1,'serial::Serial::getTimeout()']]] ]; diff --git a/docs/v1.0/search/functions_69.js b/docs/v1.0/search/functions_69.js index b8cc065..4630e34 100644 --- a/docs/v1.0/search/functions_69.js +++ b/docs/v1.0/search/functions_69.js @@ -1,5 +1,5 @@ var searchData= [ - ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html#acb2f2cf7a5cc8090945f6cbfcef3ef1e',1,'serial::IOException::IOException(std::string file, int line, int errnum)'],['../classserial_1_1_i_o_exception.html#acc1d2c650832cc8127f2cd777072b2cd',1,'serial::IOException::IOException(std::string file, int line, const char *description)']]], + ['ioexception',['IOException',['../classserial_1_1_i_o_exception.html#acb2f2cf7a5cc8090945f6cbfcef3ef1e',1,'serial::IOException::IOException(std::string file, int line, int errnum)'],['../classserial_1_1_i_o_exception.html#acc1d2c650832cc8127f2cd777072b2cd',1,'serial::IOException::IOException(std::string file, int line, const char *description)'],['../classserial_1_1_i_o_exception.html#af65196a71b800d11b5e5c367caf5b354',1,'serial::IOException::IOException(const IOException &other)']]], ['isopen',['isOpen',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const '],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a189fe759d2119a6513d5981575a91b8e',1,'serial::serial::Serial::SerialImpl::isOpen() const '],['../classserial_1_1_serial.html#af9895af496189f7f0aba7c097f5fa9c1',1,'serial::Serial::isOpen()']]] ]; diff --git a/docs/v1.0/search/functions_6d.html b/docs/v1.0/search/functions_6d.html new file mode 100644 index 0000000..d01ac53 --- /dev/null +++ b/docs/v1.0/search/functions_6d.html @@ -0,0 +1,25 @@ + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/v1.0/search/functions_6d.js b/docs/v1.0/search/functions_6d.js new file mode 100644 index 0000000..6259fbe --- /dev/null +++ b/docs/v1.0/search/functions_6d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['main',['../serial__example_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'serial_example.cc']]], + ['max',['max',['../structserial_1_1_timeout.html#adc68e33d2f94bfa33ba1062c363b9151',1,'serial::Timeout']]], + ['my_5fsleep',['my_sleep',['../serial__example_8cc.html#a89b7c9d8c710b057346cc9ac52ae3734',1,'serial_example.cc']]] +]; diff --git a/docs/v1.0/search/functions_70.js b/docs/v1.0/search/functions_70.js index 2129e23..ecb3695 100644 --- a/docs/v1.0/search/functions_70.js +++ b/docs/v1.0/search/functions_70.js @@ -1,4 +1,4 @@ var searchData= [ - ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException']]] + ['portnotopenedexception',['PortNotOpenedException',['../classserial_1_1_port_not_opened_exception.html#acd2213fae864534eae6a580f74c5ab1b',1,'serial::PortNotOpenedException::PortNotOpenedException(const char *description)'],['../classserial_1_1_port_not_opened_exception.html#ae8b466d10d496a53ed8e9f949e9e628c',1,'serial::PortNotOpenedException::PortNotOpenedException(const PortNotOpenedException &other)']]] ]; diff --git a/docs/v1.0/search/functions_72.js b/docs/v1.0/search/functions_72.js index b026293..85d6f08 100644 --- a/docs/v1.0/search/functions_72.js +++ b/docs/v1.0/search/functions_72.js @@ -1,9 +1,10 @@ var searchData= [ - ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab38e31999f75db98b45e74e9b8f66343',1,'serial::serial::Serial::SerialImpl::read(unsigned char *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a332155c4d26e565a73d9823bc7d1da91',1,'serial::serial::Serial::SerialImpl::read(char *buf, size_t size=1)'],['../classserial_1_1_serial.html#a2bcd2c76cdacf64928fcd7e9ec279ff1',1,'serial::Serial::read(unsigned char *buffer, size_t size)'],['../classserial_1_1_serial.html#aa1f8933e86e7f37781c186b11a763221',1,'serial::Serial::read(std::vector< unsigned char > &buffer, size_t size=1)'],['../classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f',1,'serial::Serial::read(std::string &buffer, size_t size=1)'],['../classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405',1,'serial::Serial::read(size_t size=1)']]], + ['read',['read',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa72d6878e104a7fa7a5a635787c4f439',1,'serial::serial::Serial::SerialImpl::read(uint8_t *buf, size_t size=1)'],['../classserial_1_1_serial.html#a0261dbfb9361784ecb3eee98b85fa103',1,'serial::Serial::read(uint8_t *buffer, size_t size)'],['../classserial_1_1_serial.html#aa3795c6cbc96f504932dd02fd6e9538e',1,'serial::Serial::read(std::vector< uint8_t > &buffer, size_t size=1)'],['../classserial_1_1_serial.html#ac47576244e34abc2e460ba99684c351f',1,'serial::Serial::read(std::string &buffer, size_t size=1)'],['../classserial_1_1_serial.html#a6c71ad1cbacf86cead4d38b48c548405',1,'serial::Serial::read(size_t size=1)']]], ['readline',['readline',['../classserial_1_1_serial.html#a010b18ec545dfe1a7bb1c95be4bdaa54',1,'serial::Serial::readline(std::string &buffer, size_t size=65536, std::string eol="\n")'],['../classserial_1_1_serial.html#a04177f637cc02f92ec0492d377528b2a',1,'serial::Serial::readline(size_t size=65536, std::string eol="\n")']]], ['readlines',['readlines',['../classserial_1_1_serial.html#a99f77b9bbdc128b6704cc59db77686c5',1,'serial::Serial']]], - ['readlock',['readLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl']]], - ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl']]], - ['reconfigureport',['reconfigurePort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a48dcc5d2568edd1ce29df30a95d460d9',1,'serial::serial::Serial::SerialImpl::reconfigurePort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad006a2392150daddfa43ae288259c07d',1,'serial::serial::Serial::SerialImpl::reconfigurePort()']]] + ['readlock',['readLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3536cdcf1a389a2effe27455db31b906',1,'serial::serial::Serial::SerialImpl::readLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a284eeedc3dd686ecef0fdcfd83bebc54',1,'serial::serial::Serial::SerialImpl::readLock()']]], + ['readunlock',['readUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a63f05143ebfa94168e1df5047362ef0e',1,'serial::serial::Serial::SerialImpl::readUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ab6533e884ba609a1dd6a88b7964d8b52',1,'serial::serial::Serial::SerialImpl::readUnlock()']]], + ['reconfigureport',['reconfigurePort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a48dcc5d2568edd1ce29df30a95d460d9',1,'serial::serial::Serial::SerialImpl::reconfigurePort()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad006a2392150daddfa43ae288259c07d',1,'serial::serial::Serial::SerialImpl::reconfigurePort()']]], + ['run',['run',['../serial__example_8cc.html#ac1f545534cdaab9094198a5dc2c2a79f',1,'serial_example.cc']]] ]; diff --git a/docs/v1.0/search/functions_73.js b/docs/v1.0/search/functions_73.js index 72f78ac..761e893 100644 --- a/docs/v1.0/search/functions_73.js +++ b/docs/v1.0/search/functions_73.js @@ -3,10 +3,10 @@ var searchData= ['scopedreadlock',['ScopedReadLock',['../class_serial_1_1_scoped_read_lock.html#a54f59663807d8adfe6db712ee6103503',1,'Serial::ScopedReadLock']]], ['scopedwritelock',['ScopedWriteLock',['../class_serial_1_1_scoped_write_lock.html#a662173968431aee3d6f204c354b20225',1,'Serial::ScopedWriteLock']]], ['sendbreak',['sendBreak',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a3f738264b8236e271d79835f0ec08bf3',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a6a1abcf6f4b94c7f3d7753c3f2dab91a',1,'serial::serial::Serial::SerialImpl::sendBreak(int duration)'],['../classserial_1_1_serial.html#ade90ff8f03525ea6d7b702fcd0f336de',1,'serial::Serial::sendBreak()']]], - ['serial',['Serial',['../classserial_1_1_serial.html#a3cb99baa1eca537742cb81117def8e9b',1,'serial::Serial']]], - ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption']]], - ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a80885778652ea3c7f7db39ec3f20310c',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad91611ac5ef21dd6bce2c14049e3aae6',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, long timeout, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)']]], - ['setbaudrate',['setBaudrate',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad57c0c497d487c2f2115168f60eda146',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1_serial.html#aec535895c800e3fd7c52d60b9f6b08a5',1,'serial::Serial::setBaudrate()']]], + ['serial',['Serial',['../classserial_1_1_serial.html#aecbc4cc1723143805ae5a4aa79ba9332',1,'serial::Serial']]], + ['serialexecption',['SerialExecption',['../classserial_1_1_serial_execption.html#aa4b29d2631c6a9a0ebe591834bbc4609',1,'serial::SerialExecption::SerialExecption(const char *description)'],['../classserial_1_1_serial_execption.html#a824b52fe58b37de592d7bd13e7949860',1,'serial::SerialExecption::SerialExecption(const SerialExecption &other)']]], + ['serialimpl',['SerialImpl',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9baa5dccbb7935163bf6715eb5d9deff',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a80885778652ea3c7f7db39ec3f20310c',1,'serial::serial::Serial::SerialImpl::SerialImpl(const string &port, unsigned long baudrate, bytesize_t bytesize, parity_t parity, stopbits_t stopbits, flowcontrol_t flowcontrol)']]], + ['setbaudrate',['setBaudrate',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a9773deb112bc756a7512930ec4bf23b3',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ad57c0c497d487c2f2115168f60eda146',1,'serial::serial::Serial::SerialImpl::setBaudrate(unsigned long baudrate)'],['../classserial_1_1_serial.html#ad4f7e9edff11b464199e94a43dfd19bf',1,'serial::Serial::setBaudrate()']]], ['setbreak',['setBreak',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aff11802f071e95c0e88ef6d0fa3bacd7',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a4e439ed9ab4e38fb64bba2d49b814179',1,'serial::serial::Serial::SerialImpl::setBreak(bool level)'],['../classserial_1_1_serial.html#a2a27912b1ca5cdad4a4aba7b9ddbc206',1,'serial::Serial::setBreak()']]], ['setbytesize',['setBytesize',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac7bde1547ae13c2bbb09126ae7082661',1,'serial::serial::Serial::SerialImpl::setBytesize(bytesize_t bytesize)'],['../classserial_1_1_serial.html#adba430fd704f6898a5a1d99fd39a94fa',1,'serial::Serial::setBytesize()']]], ['setdtr',['setDTR',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a741dbda555f51bb7be361a602f72358c',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a94cdd2aad19377a0ec435bb6241b98a8',1,'serial::serial::Serial::SerialImpl::setDTR(bool level)'],['../classserial_1_1_serial.html#ac9b0bbf613a5fe68f05d1d40181a1bb3',1,'serial::Serial::setDTR()']]], @@ -15,5 +15,6 @@ var searchData= ['setport',['setPort',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aeb3006e2ff05d5bbaa518bb788eebcda',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa3b4c490f3246a506dd29135553ecd64',1,'serial::serial::Serial::SerialImpl::setPort(const string &port)'],['../classserial_1_1_serial.html#acecb0a5102ae0c944fe4b78e4adf839a',1,'serial::Serial::setPort()']]], ['setrts',['setRTS',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa6f543e9fb4517fa00835eee15fa5ffa',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a7faf4ef9a0f1b13c9155a4cae1e0ace9',1,'serial::serial::Serial::SerialImpl::setRTS(bool level)'],['../classserial_1_1_serial.html#ab43ddc05e5d69ff2778f698aa7062370',1,'serial::Serial::setRTS()']]], ['setstopbits',['setStopbits',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a697da32867459d1c4e527c3ec468062e',1,'serial::serial::Serial::SerialImpl::setStopbits(stopbits_t stopbits)'],['../classserial_1_1_serial.html#ab72284b5aab723b81013fb560bd6acc5',1,'serial::Serial::setStopbits()']]], - ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ae0f49f16cd4ace2e865a6fc2fe9d7218',1,'serial::serial::Serial::SerialImpl::setTimeout(long timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a1316ecb01d266e2698317c390ff7af80',1,'serial::Serial::setTimeout(long inter_byte_timeout, long read_timeout_constant, long read_timeout_multiplier, long write_timeout_constant, long write_timeout_multiplier)']]] + ['settimeout',['setTimeout',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a18365f4a89637103fafb16bc97b8ec2c',1,'serial::serial::Serial::SerialImpl::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4fc63af4b800a9f9e757414f38f3e8b3',1,'serial::Serial::setTimeout(Timeout &timeout)'],['../classserial_1_1_serial.html#a4b4be39af3e1c68bc6ac09cb55788c86',1,'serial::Serial::setTimeout(uint32_t inter_byte_timeout, uint32_t read_timeout_constant, uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, uint32_t write_timeout_multiplier)']]], + ['simpletimeout',['simpleTimeout',['../structserial_1_1_timeout.html#aa4fbd72e16f47c9aea9fb3c32ca17828',1,'serial::Timeout']]] ]; diff --git a/docs/v1.0/search/functions_74.js b/docs/v1.0/search/functions_74.js index 1fa4db6..2a6b2d5 100644 --- a/docs/v1.0/search/functions_74.js +++ b/docs/v1.0/search/functions_74.js @@ -1,4 +1,4 @@ var searchData= [ - ['timeout',['Timeout',['../structserial_1_1_timeout.html#ad4ed0d5f1332e795f4ddd12e999a157d',1,'serial::Timeout']]] + ['timeout',['Timeout',['../structserial_1_1_timeout.html#a1a454b17f5d653b8e1b04b3ec2fead59',1,'serial::Timeout']]] ]; diff --git a/docs/v1.0/search/functions_77.js b/docs/v1.0/search/functions_77.js index 6a82124..585547f 100644 --- a/docs/v1.0/search/functions_77.js +++ b/docs/v1.0/search/functions_77.js @@ -1,8 +1,8 @@ var searchData= [ - ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::waitForChange()']]], + ['waitforchange',['waitForChange',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#abf091b468bdc0d9d338e51e746e0c397',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a09f1dcb8e32cb64188daaf8ac0d40215',1,'serial::serial::Serial::SerialImpl::waitForChange()'],['../classserial_1_1_serial.html#a419dc984258956a5adb41fb8c86f5449',1,'serial::Serial::waitForChange()']]], ['what',['what',['../classserial_1_1_serial_execption.html#a5cb17e5438390e95731ddd230524922d',1,'serial::SerialExecption::what()'],['../classserial_1_1_i_o_exception.html#a5151f78cf0309db2c79f3dc4c779c774',1,'serial::IOException::what()'],['../classserial_1_1_port_not_opened_exception.html#a314c997ecfe3990c4af147b247e8d9ce',1,'serial::PortNotOpenedException::what()']]], - ['write',['write',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#aa248734f59cb31a2ca5d1bcb50e53e3e',1,'serial::serial::Serial::SerialImpl::write(const string &data)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a47a36ed36bb6b75b0788c9f60ddc07a8',1,'serial::serial::Serial::SerialImpl::write(const string &data)'],['../classserial_1_1_serial.html#acd98ae129db624b664a5dd51f352d8f7',1,'serial::Serial::write(const unsigned char *data, size_t size)'],['../classserial_1_1_serial.html#a280abb1b73ac368591d79badf23776bf',1,'serial::Serial::write(const std::vector< unsigned char > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], - ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl']]], - ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl']]] + ['write',['write',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a222136f14876f84fd0d95f47a7d9c541',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a89b50df2562176fd250413833d636d0a',1,'serial::serial::Serial::SerialImpl::write(const uint8_t *data, size_t length)'],['../classserial_1_1_serial.html#aa020880cdff3a370ddc574f594379c3c',1,'serial::Serial::write(const uint8_t *data, size_t size)'],['../classserial_1_1_serial.html#a2c4180b4c7d386c84e9d0e7ef4a267d3',1,'serial::Serial::write(const std::vector< uint8_t > &data)'],['../classserial_1_1_serial.html#a7c92c0307b86a935f6623953eec66460',1,'serial::Serial::write(const std::string &data)']]], + ['writelock',['writeLock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#ac094e8cb4a5957e1ddeb1d4fdc9d9536',1,'serial::serial::Serial::SerialImpl::writeLock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#a2905e50e9082a757bfafc03356e318ed',1,'serial::serial::Serial::SerialImpl::writeLock()']]], + ['writeunlock',['writeUnlock',['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#afeac86484622bbeb08303e98db24efe0',1,'serial::serial::Serial::SerialImpl::writeUnlock()'],['../classserial_1_1serial_1_1_serial_1_1_serial_impl.html#adaec2b322f0b0793929da24f5bf09949',1,'serial::serial::Serial::SerialImpl::writeUnlock()']]] ]; diff --git a/docs/v1.0/search/search.js b/docs/v1.0/search/search.js index 135cc81..cef6337 100644 --- a/docs/v1.0/search/search.js +++ b/docs/v1.0/search/search.js @@ -7,11 +7,11 @@ var indexSectionsWithContent = { - 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111011101000001101111010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111011101000101101111110000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001101000001101110010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001101000101101110010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 7: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", diff --git a/docs/v1.0/search/variables_69.js b/docs/v1.0/search/variables_69.js index cddccb2..c0d7081 100644 --- a/docs/v1.0/search/variables_69.js +++ b/docs/v1.0/search/variables_69.js @@ -1,4 +1,4 @@ var searchData= [ - ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#a65d995afbe1efdae5f78687e16572b6b',1,'serial::Timeout']]] + ['inter_5fbyte_5ftimeout',['inter_byte_timeout',['../structserial_1_1_timeout.html#ada15f2a0ae478cbb62ef79d1633b2b81',1,'serial::Timeout']]] ]; diff --git a/docs/v1.0/search/variables_72.js b/docs/v1.0/search/variables_72.js index bffcc09..dd94aea 100644 --- a/docs/v1.0/search/variables_72.js +++ b/docs/v1.0/search/variables_72.js @@ -1,5 +1,5 @@ var searchData= [ - ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a4fe391ea22792044ebd91f97ae8714f9',1,'serial::Timeout']]], - ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#abab63b8839297135a23035ad316a9b54',1,'serial::Timeout']]] + ['read_5ftimeout_5fconstant',['read_timeout_constant',['../structserial_1_1_timeout.html#a099244649dec66b6e0548480edeb2b9f',1,'serial::Timeout']]], + ['read_5ftimeout_5fmultiplier',['read_timeout_multiplier',['../structserial_1_1_timeout.html#a64412753eb2edf1621716dd9f1a4e71e',1,'serial::Timeout']]] ]; diff --git a/docs/v1.0/search/variables_77.js b/docs/v1.0/search/variables_77.js index be7644b..43fa260 100644 --- a/docs/v1.0/search/variables_77.js +++ b/docs/v1.0/search/variables_77.js @@ -1,5 +1,5 @@ var searchData= [ - ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#acbdcb9680cffdcd1dc6147f7ec49aec0',1,'serial::Timeout']]], - ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#ad441c95ac69511cec9374e9ca6a70ca9',1,'serial::Timeout']]] + ['write_5ftimeout_5fconstant',['write_timeout_constant',['../structserial_1_1_timeout.html#accf01b97f83564f4ce3d6e5f63e21006',1,'serial::Timeout']]], + ['write_5ftimeout_5fmultiplier',['write_timeout_multiplier',['../structserial_1_1_timeout.html#a31ddae32907cff9c3d27fa763981317d',1,'serial::Timeout']]] ]; diff --git a/docs/v1.0/serial_8cc.html b/docs/v1.0/serial_8cc.html index f122029..a5d0bf9 100644 --- a/docs/v1.0/serial_8cc.html +++ b/docs/v1.0/serial_8cc.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -104,7 +104,7 @@ Include dependency graph for serial.cc:
    - +
    diff --git a/docs/v1.0/serial_8cc__incl.map b/docs/v1.0/serial_8cc__incl.map index 2cdc284..9b93ade 100644 --- a/docs/v1.0/serial_8cc__incl.map +++ b/docs/v1.0/serial_8cc__incl.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/v1.0/serial_8cc__incl.md5 b/docs/v1.0/serial_8cc__incl.md5 index 3ceb010..3cbf1cc 100644 --- a/docs/v1.0/serial_8cc__incl.md5 +++ b/docs/v1.0/serial_8cc__incl.md5 @@ -1 +1 @@ -f6f055548b8291b3755918eafd14d353 \ No newline at end of file +c658af7c9cee1bc94ae43edfaee9db94 \ No newline at end of file diff --git a/docs/v1.0/serial_8cc__incl.png b/docs/v1.0/serial_8cc__incl.png index 428e0ba..574e4e8 100644 Binary files a/docs/v1.0/serial_8cc__incl.png and b/docs/v1.0/serial_8cc__incl.png differ diff --git a/docs/v1.0/serial_8dox.html b/docs/v1.0/serial_8dox.html new file mode 100644 index 0000000..3fdd3f4 --- /dev/null +++ b/docs/v1.0/serial_8dox.html @@ -0,0 +1,107 @@ + + + + + +serial: doc/serial.dox File Reference + + + + + + + + + + + +
    + + +
    +

    @@ -116,7 +116,7 @@ Data Structures

    + + + + + + + + + + +
    +
    serial +  1.0 +
    +
    Cross-platform serial port library written in C++
    +
    + + + + + + + + + + +
    + +
    + + +
    +
    +
    doc/serial.dox File Reference
    +
    +
    +
    + + + + + + diff --git a/docs/v1.0/serial_8h.html b/docs/v1.0/serial_8h.html index 1e8b3e0..94186b2 100644 --- a/docs/v1.0/serial_8h.html +++ b/docs/v1.0/serial_8h.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -102,20 +102,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    #include <limits>
    #include <vector>
    #include <string>
    +#include <cstring>
    #include <sstream>
    #include <exception>
    #include <stdexcept>
    +#include <serial/v8stdint.h>
    Include dependency graph for serial.h:
    + +
    This graph shows which files directly or indirectly include this file:
    - +

    Go to the source code of this file.

    @@ -127,7 +131,6 @@ Data Structures class  serial::SerialExecption class  serial::IOException class  serial::PortNotOpenedException -class  serial::SerialExceptionBase

    Namespaces

    namespace  serial @@ -161,7 +164,7 @@ John Harrison LICENSE

    The MIT License

    -

    Copyright (c) 2011 William Woodall

    +

    Copyright (c) 2012 William Woodall

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    @@ -202,7 +205,7 @@ __LINE__, (message) ) diff --git a/docs/v1.0/serial_8h__dep__incl.map b/docs/v1.0/serial_8h__dep__incl.map index f7b6c9e..0c1cf0d 100644 --- a/docs/v1.0/serial_8h__dep__incl.map +++ b/docs/v1.0/serial_8h__dep__incl.map @@ -1,7 +1,8 @@ - - - - + + + + + diff --git a/docs/v1.0/serial_8h__dep__incl.md5 b/docs/v1.0/serial_8h__dep__incl.md5 index 51cbe34..880bd7b 100644 --- a/docs/v1.0/serial_8h__dep__incl.md5 +++ b/docs/v1.0/serial_8h__dep__incl.md5 @@ -1 +1 @@ -cffc50d43195598926579df433f91c8f \ No newline at end of file +c98d963b631b13d25afd23d112f3e739 \ No newline at end of file diff --git a/docs/v1.0/serial_8h__dep__incl.png b/docs/v1.0/serial_8h__dep__incl.png index e599344..d7f6ae6 100644 Binary files a/docs/v1.0/serial_8h__dep__incl.png and b/docs/v1.0/serial_8h__dep__incl.png differ diff --git a/docs/v1.0/serial_8h__incl.map b/docs/v1.0/serial_8h__incl.map index 8be6a30..8c11f01 100644 --- a/docs/v1.0/serial_8h__incl.map +++ b/docs/v1.0/serial_8h__incl.map @@ -1,2 +1,3 @@ + diff --git a/docs/v1.0/serial_8h__incl.md5 b/docs/v1.0/serial_8h__incl.md5 index 1bc6b97..f84a942 100644 --- a/docs/v1.0/serial_8h__incl.md5 +++ b/docs/v1.0/serial_8h__incl.md5 @@ -1 +1 @@ -ba197003db0f622b5677d3451a0b4fb2 \ No newline at end of file +b5d1de374ff6278767e5c67477d92fc7 \ No newline at end of file diff --git a/docs/v1.0/serial_8h__incl.png b/docs/v1.0/serial_8h__incl.png index e9c9773..9bdc47e 100644 Binary files a/docs/v1.0/serial_8h__incl.png and b/docs/v1.0/serial_8h__incl.png differ diff --git a/docs/v1.0/serial_8h_source.html b/docs/v1.0/serial_8h_source.html index 813dc44..fc2cdd2 100644 --- a/docs/v1.0/serial_8h_source.html +++ b/docs/v1.0/serial_8h_source.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -101,289 +101,313 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); 00039 #include <limits> 00040 #include <vector> 00041 #include <string> -00042 #include <sstream> -00043 #include <exception> -00044 #include <stdexcept> -00045 -00046 #define THROW(exceptionClass, message) throw exceptionClass(__FILE__, \ -00047 __LINE__, (message) ) -00048 -00049 namespace serial { -00050 -00054 typedef enum { -00055 fivebits = 5, -00056 sixbits = 6, -00057 sevenbits = 7, -00058 eightbits = 8 -00059 } bytesize_t; -00060 -00064 typedef enum { -00065 parity_none = 0, -00066 parity_odd = 1, -00067 parity_even = 2 -00068 } parity_t; -00069 -00073 typedef enum { -00074 stopbits_one = 1, -00075 stopbits_one_point_five, -00076 stopbits_two = 2 -00077 } stopbits_t; -00078 -00082 typedef enum { -00083 flowcontrol_none = 0, -00084 flowcontrol_software -00085 } flowcontrol_t; -00086 -00091 struct Timeout { -00092 Timeout (long inter_byte_timeout_=0, long read_timeout_constant_=0, -00093 long read_timeout_multiplier_=0, long write_timeout_constant_=0, -00094 long write_timeout_multiplier_=0) -00095 : inter_byte_timeout(inter_byte_timeout_), -00096 read_timeout_constant(read_timeout_constant_), -00097 read_timeout_multiplier(read_timeout_multiplier_), -00098 write_timeout_constant(write_timeout_constant_), -00099 write_timeout_multiplier(write_timeout_multiplier_) -00100 {} -00102 long inter_byte_timeout; -00104 long read_timeout_constant; -00108 long read_timeout_multiplier; -00110 long write_timeout_constant; -00114 long write_timeout_multiplier; -00115 }; -00116 -00120 class Serial { -00121 public: -00151 Serial (const std::string &port = "", -00152 unsigned long baudrate = 9600, -00153 Timeout timeout = Timeout(), -00154 bytesize_t bytesize = eightbits, -00155 parity_t parity = parity_none, -00156 stopbits_t stopbits = stopbits_one, -00157 flowcontrol_t flowcontrol = flowcontrol_none); -00158 -00160 virtual ~Serial (); -00161 -00175 void -00176 open (); +00042 #include <cstring> +00043 #include <sstream> +00044 #include <exception> +00045 #include <stdexcept> +00046 #include <serial/v8stdint.h> +00047 +00048 #define THROW(exceptionClass, message) throw exceptionClass(__FILE__, \ +00049 __LINE__, (message) ) +00050 +00051 namespace serial { +00052 +00056 typedef enum { +00057 fivebits = 5, +00058 sixbits = 6, +00059 sevenbits = 7, +00060 eightbits = 8 +00061 } bytesize_t; +00062 +00066 typedef enum { +00067 parity_none = 0, +00068 parity_odd = 1, +00069 parity_even = 2 +00070 } parity_t; +00071 +00075 typedef enum { +00076 stopbits_one = 1, +00077 stopbits_one_point_five, +00078 stopbits_two = 2 +00079 } stopbits_t; +00080 +00084 typedef enum { +00085 flowcontrol_none = 0, +00086 flowcontrol_software +00087 } flowcontrol_t; +00088 +00095 struct Timeout { +00096 static uint32_t max() {return std::numeric_limits<uint32_t>::max();} +00106 static Timeout simpleTimeout(uint32_t timeout) { +00107 return Timeout(max(), timeout, 0, timeout, 0); +00108 } +00109 +00111 uint32_t inter_byte_timeout; +00113 uint32_t read_timeout_constant; +00117 uint32_t read_timeout_multiplier; +00119 uint32_t write_timeout_constant; +00123 uint32_t write_timeout_multiplier; +00124 +00125 Timeout (uint32_t inter_byte_timeout_=0, uint32_t read_timeout_constant_=0, +00126 uint32_t read_timeout_multiplier_=0, uint32_t write_timeout_constant_=0, +00127 uint32_t write_timeout_multiplier_=0) +00128 : inter_byte_timeout(inter_byte_timeout_), +00129 read_timeout_constant(read_timeout_constant_), +00130 read_timeout_multiplier(read_timeout_multiplier_), +00131 write_timeout_constant(write_timeout_constant_), +00132 write_timeout_multiplier(write_timeout_multiplier_) +00133 {} +00134 }; +00135 +00139 class Serial { +00140 public: +00170 Serial (const std::string &port = "", +00171 uint32_t baudrate = 9600, +00172 Timeout timeout = Timeout(), +00173 bytesize_t bytesize = eightbits, +00174 parity_t parity = parity_none, +00175 stopbits_t stopbits = stopbits_one, +00176 flowcontrol_t flowcontrol = flowcontrol_none); 00177 -00182 bool -00183 isOpen () const; -00184 -00186 void -00187 close (); -00188 -00190 size_t -00191 available (); -00192 -00218 size_t -00219 read (unsigned char *buffer, size_t size); -00220 -00229 size_t -00230 read (std::vector<unsigned char> &buffer, size_t size = 1); -00231 -00240 size_t -00241 read (std::string &buffer, size_t size = 1); -00242 -00250 std::string -00251 read (size_t size = 1); -00252 -00263 size_t -00264 readline (std::string &buffer, size_t size = 65536, std::string eol = "\n"); -00265 -00275 std::string -00276 readline (size_t size = 65536, std::string eol = "\n"); -00277 -00289 std::vector<std::string> -00290 readlines (size_t size = 65536, std::string eol = "\n"); -00291 -00303 size_t -00304 write (const unsigned char *data, size_t size); -00305 -00314 size_t -00315 write (const std::vector<unsigned char> &data); -00316 -00325 size_t -00326 write (const std::string &data); -00327 -00336 void -00337 setPort (const std::string &port); -00338 -00345 std::string -00346 getPort () const; -00347 -00382 void -00383 setTimeout (Timeout &timeout); -00384 -00386 void -00387 setTimeout (long inter_byte_timeout, long read_timeout_constant, -00388 long read_timeout_multiplier, long write_timeout_constant, -00389 long write_timeout_multiplier) -00390 { -00391 Timeout timeout(inter_byte_timeout, read_timeout_constant, -00392 read_timeout_multiplier, write_timeout_constant, -00393 write_timeout_multiplier); -00394 return setTimeout(timeout); -00395 } -00396 -00404 Timeout -00405 getTimeout () const; -00406 -00419 void -00420 setBaudrate (unsigned long baudrate); -00421 -00430 unsigned long -00431 getBaudrate () const; -00432 -00441 void -00442 setBytesize (bytesize_t bytesize); -00443 -00450 bytesize_t -00451 getBytesize () const; -00452 +00179 virtual ~Serial (); +00180 +00194 void +00195 open (); +00196 +00201 bool +00202 isOpen () const; +00203 +00205 void +00206 close (); +00207 +00209 size_t +00210 available (); +00211 +00237 size_t +00238 read (uint8_t *buffer, size_t size); +00239 +00248 size_t +00249 read (std::vector<uint8_t> &buffer, size_t size = 1); +00250 +00259 size_t +00260 read (std::string &buffer, size_t size = 1); +00261 +00269 std::string +00270 read (size_t size = 1); +00271 +00282 size_t +00283 readline (std::string &buffer, size_t size = 65536, std::string eol = "\n"); +00284 +00294 std::string +00295 readline (size_t size = 65536, std::string eol = "\n"); +00296 +00308 std::vector<std::string> +00309 readlines (size_t size = 65536, std::string eol = "\n"); +00310 +00322 size_t +00323 write (const uint8_t *data, size_t size); +00324 +00333 size_t +00334 write (const std::vector<uint8_t> &data); +00335 +00344 size_t +00345 write (const std::string &data); +00346 +00355 void +00356 setPort (const std::string &port); +00357 +00364 std::string +00365 getPort () const; +00366 +00401 void +00402 setTimeout (Timeout &timeout); +00403 +00405 void +00406 setTimeout (uint32_t inter_byte_timeout, uint32_t read_timeout_constant, +00407 uint32_t read_timeout_multiplier, uint32_t write_timeout_constant, +00408 uint32_t write_timeout_multiplier) +00409 { +00410 Timeout timeout(inter_byte_timeout, read_timeout_constant, +00411 read_timeout_multiplier, write_timeout_constant, +00412 write_timeout_multiplier); +00413 return setTimeout(timeout); +00414 } +00415 +00423 Timeout +00424 getTimeout () const; +00425 +00438 void +00439 setBaudrate (uint32_t baudrate); +00440 +00449 uint32_t +00450 getBaudrate () const; +00451 00460 void -00461 setParity (parity_t parity); +00461 setBytesize (bytesize_t bytesize); 00462 -00469 parity_t -00470 getParity () const; +00469 bytesize_t +00470 getBytesize () const; 00471 00479 void -00480 setStopbits (stopbits_t stopbits); +00480 setParity (parity_t parity); 00481 -00488 stopbits_t -00489 getStopbits () const; +00488 parity_t +00489 getParity () const; 00490 -00499 void -00500 setFlowcontrol (flowcontrol_t flowcontrol); -00501 -00508 flowcontrol_t -00509 getFlowcontrol () const; -00510 -00512 void -00513 flush (); -00514 -00516 void -00517 flushInput (); -00518 -00520 void -00521 flushOutput (); -00522 -00524 void -00525 sendBreak (int duration); -00526 -00528 void -00529 setBreak (bool level = true); -00530 -00532 void -00533 setRTS (bool level = true); -00534 -00536 void -00537 setDTR (bool level = true); -00538 -00553 bool -00554 waitForChange (); -00555 -00557 bool -00558 getCTS (); -00559 -00561 bool -00562 getDSR (); -00563 -00565 bool -00566 getRI (); -00567 -00569 bool -00570 getCD (); -00571 -00572 private: -00573 // Disable copy constructors -00574 Serial(const Serial&); -00575 void operator=(const Serial&); -00576 const Serial& operator=(Serial); -00577 -00578 std::string read_cache_; -00579 -00580 // Pimpl idiom, d_pointer -00581 class SerialImpl; -00582 SerialImpl *pimpl_; -00583 -00584 // Scoped Lock Classes -00585 class ScopedReadLock; -00586 class ScopedWriteLock; -00587 -00588 // Read common function -00589 size_t -00590 read_ (unsigned char *buffer, size_t size); -00591 -00592 }; -00593 -00594 class SerialExecption : public std::exception -00595 { -00596 const char* e_what_; -00597 public: -00598 SerialExecption (const char *description) : e_what_ (description) {} -00599 -00600 virtual const char* what () const throw () -00601 { -00602 std::stringstream ss; -00603 ss << "SerialException " << e_what_ << " failed."; -00604 return ss.str ().c_str (); -00605 } -00606 }; -00607 -00608 class IOException : public std::exception -00609 { -00610 std::string file_; -00611 int line_; -00612 const char* e_what_; -00613 int errno_; -00614 public: -00615 explicit IOException (std::string file, int line, int errnum) -00616 : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {} -00617 explicit IOException (std::string file, int line, const char * description) -00618 : file_(file), line_(line), e_what_ (description), errno_(0) {} -00619 virtual ~IOException() throw() {} -00620 -00621 int getErrorNumber () { return errno_; } -00622 -00623 virtual const char* what () const throw () -00624 { -00625 std::stringstream ss; -00626 if (errno_ == 0) -00627 ss << "IO Exception: " << e_what_; -00628 else -00629 ss << "IO Exception (" << errno_ << "): " << e_what_; -00630 ss << ", file " << file_ << ", line " << line_ << "."; -00631 return ss.str ().c_str (); -00632 } -00633 }; -00634 -00635 class PortNotOpenedException : public std::exception -00636 { -00637 const char * e_what_; -00638 public: -00639 PortNotOpenedException (const char * description) : e_what_ (description) {} -00640 -00641 virtual const char* what () const throw () -00642 { -00643 std::stringstream ss; -00644 ss << e_what_ << " called before port was opened."; -00645 return ss.str ().c_str (); -00646 } -00647 }; -00648 -00649 class SerialExceptionBase : public std::exception -00650 { -00651 -00652 }; -00653 -00654 } // namespace serial -00655 -00656 #endif +00498 void +00499 setStopbits (stopbits_t stopbits); +00500 +00507 stopbits_t +00508 getStopbits () const; +00509 +00518 void +00519 setFlowcontrol (flowcontrol_t flowcontrol); +00520 +00527 flowcontrol_t +00528 getFlowcontrol () const; +00529 +00531 void +00532 flush (); +00533 +00535 void +00536 flushInput (); +00537 +00539 void +00540 flushOutput (); +00541 +00543 void +00544 sendBreak (int duration); +00545 +00547 void +00548 setBreak (bool level = true); +00549 +00551 void +00552 setRTS (bool level = true); +00553 +00555 void +00556 setDTR (bool level = true); +00557 +00572 bool +00573 waitForChange (); +00574 +00576 bool +00577 getCTS (); +00578 +00580 bool +00581 getDSR (); +00582 +00584 bool +00585 getRI (); +00586 +00588 bool +00589 getCD (); +00590 +00591 private: +00592 // Disable copy constructors +00593 Serial(const Serial&); +00594 void operator=(const Serial&); +00595 const Serial& operator=(Serial); +00596 +00597 std::string read_cache_; +00598 +00599 // Pimpl idiom, d_pointer +00600 class SerialImpl; +00601 SerialImpl *pimpl_; +00602 +00603 // Scoped Lock Classes +00604 class ScopedReadLock; +00605 class ScopedWriteLock; +00606 +00607 // Read common function +00608 size_t +00609 read_ (uint8_t *buffer, size_t size); +00610 // Write common function +00611 size_t +00612 write_ (const uint8_t *data, size_t length); +00613 +00614 }; +00615 +00616 class SerialExecption : public std::exception +00617 { +00618 // Disable copy constructors +00619 void operator=(const SerialExecption&); +00620 const SerialExecption& operator=(SerialExecption); +00621 const char* e_what_; +00622 public: +00623 SerialExecption (const char *description) : e_what_ (description) {} +00624 SerialExecption (const SerialExecption& other) { +00625 e_what_ = other.e_what_; +00626 } +00627 +00628 virtual const char* what () const throw () +00629 { +00630 std::stringstream ss; +00631 ss << "SerialException " << e_what_ << " failed."; +00632 return ss.str ().c_str (); +00633 } +00634 }; +00635 +00636 class IOException : public std::exception +00637 { +00638 // Disable copy constructors +00639 void operator=(const IOException&); +00640 const IOException& operator=(IOException); +00641 std::string file_; +00642 int line_; +00643 const char* e_what_; +00644 int errno_; +00645 public: +00646 explicit IOException (std::string file, int line, int errnum) +00647 : file_(file), line_(line), e_what_ (strerror (errnum)), errno_(errnum) {} +00648 explicit IOException (std::string file, int line, const char * description) +00649 : file_(file), line_(line), e_what_ (description), errno_(0) {} +00650 virtual ~IOException() throw() {} +00651 IOException (const IOException& other) { +00652 e_what_ = other.e_what_; +00653 } +00654 +00655 int getErrorNumber () { return errno_; } +00656 +00657 virtual const char* what () const throw () +00658 { +00659 std::stringstream ss; +00660 if (errno_ == 0) +00661 ss << "IO Exception: " << e_what_; +00662 else +00663 ss << "IO Exception (" << errno_ << "): " << e_what_; +00664 ss << ", file " << file_ << ", line " << line_ << "."; +00665 return ss.str ().c_str (); +00666 } +00667 }; +00668 +00669 class PortNotOpenedException : public std::exception +00670 { +00671 // Disable copy constructors +00672 void operator=(const PortNotOpenedException&); +00673 const PortNotOpenedException& operator=(PortNotOpenedException); +00674 const char * e_what_; +00675 public: +00676 PortNotOpenedException (const char * description) : e_what_ (description) {} +00677 PortNotOpenedException (const PortNotOpenedException& other) { +00678 e_what_ = other.e_what_; +00679 } +00680 +00681 virtual const char* what () const throw () +00682 { +00683 std::stringstream ss; +00684 ss << e_what_ << " called before port was opened."; +00685 return ss.str ().c_str (); +00686 } +00687 }; +00688 +00689 } // namespace serial +00690 +00691 #endif diff --git a/docs/v1.0/serial__example_8cc.html b/docs/v1.0/serial__example_8cc.html new file mode 100644 index 0000000..f983125 --- /dev/null +++ b/docs/v1.0/serial__example_8cc.html @@ -0,0 +1,307 @@ + + + + + +serial: examples/serial_example.cc File Reference + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + +
    +
    serial +  1.0 +
    +
    Cross-platform serial port library written in C++
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    examples/serial_example.cc File Reference
    +
    +
    +
    #include <string>
    +#include <iostream>
    +#include <cstdio>
    +#include <unistd.h>
    +#include "serial/serial.h"
    +
    +Include dependency graph for serial_example.cc:
    +
    +
    + + +
    +
    + + + + +

    +Functions

    void my_sleep (unsigned long milliseconds)
    int run (int argc, char **argv)
    int main (int argc, char **argv)
    +

    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int main (int argc,
    char ** argv 
    )
    +
    +
    +
                                    {
    +  try {
    +    return run(argc, argv);
    +  } catch (exception &e) {
    +    cerr << "Unhandled Exception: " << e.what() << endl;
    +  }
    +}
    +
    +
    +
    + +
    +
    + + + + + + + + +
    void my_sleep (unsigned long milliseconds)
    +
    +
    +
                                              {
    +#ifdef __WIN32__
    +      Sleep(milliseconds); // 100 ms
    +#else
    +      usleep(milliseconds*1000); // 100 ms
    +#endif
    +}
    +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int run (int argc,
    char ** argv 
    )
    +
    +
    +
    {
    +  if(argc < 3) {
    +    cerr << "Usage: test_serial <serial port address> ";
    +    cerr << "<baudrate> [test string]" << endl;
    +    return 0;
    +  }
    +  // Argument 1 is the serial port
    +  string port(argv[1]);
    +
    +  // Argument 2 is the baudrate
    +  unsigned long baud = 0;
    +  sscanf(argv[2], "%lu", &baud);
    +
    +  // port, baudrate, timeout in milliseconds
    +  serial::Serial my_serial(port, baud, 1000);
    +
    +  cout << "Is the serial port open?";
    +  if(my_serial.isOpen())
    +    cout << " Yes." << endl;
    +  else
    +    cout << " No." << endl;
    +
    +  // Get the Test string
    +  int count = 0;
    +  string test_string;
    +  if (argc == 4) {
    +    test_string = argv[3];
    +  } else {
    +    test_string = "Testing.";
    +  }
    +
    +  // Test the timeout, there should be 1 second between prints
    +  cout << "Timeout == 1000ms, asking for 1 more byte than written." << endl;
    +  while (count < 10) {
    +    size_t bytes_wrote = my_serial.write(test_string);
    +
    +    string result = my_serial.read(test_string.length()+1);
    +
    +    cout << "Iteration: " << count << ", Bytes written: ";
    +    cout << bytes_wrote << ", Bytes read: ";
    +    cout << result.length() << ", String read: " << result << endl;
    +
    +    count += 1;
    +  }
    +
    +  // Test the timeout at 250ms
    +  my_serial.setTimeout(250);
    +  count = 0;
    +  cout << "Timeout == 250ms, asking for 1 more byte than written." << endl;
    +  while (count < 10) {
    +    size_t bytes_wrote = my_serial.write(test_string);
    +
    +    string result = my_serial.read(test_string.length()+1);
    +
    +    cout << "Iteration: " << count << ", Bytes written: ";
    +    cout << bytes_wrote << ", Bytes read: ";
    +    cout << result.length() << ", String read: " << result << endl;
    +
    +    count += 1;
    +  }
    +
    +  // Test the timeout at 250ms, but asking exactly for what was written
    +  count = 0;
    +  cout << "Timeout == 250ms, asking for exactly what was written." << endl;
    +  while (count < 10) {
    +    size_t bytes_wrote = my_serial.write(test_string);
    +
    +    string result = my_serial.read(test_string.length());
    +
    +    cout << "Iteration: " << count << ", Bytes written: ";
    +    cout << bytes_wrote << ", Bytes read: ";
    +    cout << result.length() << ", String read: " << result << endl;
    +
    +    count += 1;
    +  }
    +
    +  // Test the timeout at 250ms, but asking for 1 less than what was written
    +  count = 0;
    +  cout << "Timeout == 250ms, asking for 1 less than was written." << endl;
    +  while (count < 10) {
    +    size_t bytes_wrote = my_serial.write(test_string);
    +
    +    string result = my_serial.read(test_string.length()-1);
    +
    +    cout << "Iteration: " << count << ", Bytes written: ";
    +    cout << bytes_wrote << ", Bytes read: ";
    +    cout << result.length() << ", String read: " << result << endl;
    +
    +    count += 1;
    +  }
    +
    +  return 0;
    +}
    +
    +
    +
    +
    + + + + + + diff --git a/docs/v1.0/serial__example_8cc__incl.map b/docs/v1.0/serial__example_8cc__incl.map new file mode 100644 index 0000000..e416595 --- /dev/null +++ b/docs/v1.0/serial__example_8cc__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v1.0/serial__example_8cc__incl.md5 b/docs/v1.0/serial__example_8cc__incl.md5 new file mode 100644 index 0000000..41f231c --- /dev/null +++ b/docs/v1.0/serial__example_8cc__incl.md5 @@ -0,0 +1 @@ +ef764addfbad6889cc99705661c2273d \ No newline at end of file diff --git a/docs/v1.0/serial__example_8cc__incl.png b/docs/v1.0/serial__example_8cc__incl.png new file mode 100644 index 0000000..90473f8 Binary files /dev/null and b/docs/v1.0/serial__example_8cc__incl.png differ diff --git a/docs/v1.0/structserial_1_1_timeout.html b/docs/v1.0/structserial_1_1_timeout.html index 65a61b7..2b014a9 100644 --- a/docs/v1.0/structserial_1_1_timeout.html +++ b/docs/v1.0/structserial_1_1_timeout.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -99,6 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    serial::Timeout Struct Reference
    @@ -109,50 +110,55 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); - + + + + - - - - - + + + + +

    Public Member Functions

     Timeout (long inter_byte_timeout_=0, long read_timeout_constant_=0, long read_timeout_multiplier_=0, long write_timeout_constant_=0, long write_timeout_multiplier_=0)
     Timeout (uint32_t inter_byte_timeout_=0, uint32_t read_timeout_constant_=0, uint32_t read_timeout_multiplier_=0, uint32_t write_timeout_constant_=0, uint32_t write_timeout_multiplier_=0)

    +Static Public Member Functions

    static uint32_t max ()
    static Timeout simpleTimeout (uint32_t timeout)

    Data Fields

    long inter_byte_timeout
    long read_timeout_constant
    long read_timeout_multiplier
    long write_timeout_constant
    long write_timeout_multiplier
    uint32_t inter_byte_timeout
    uint32_t read_timeout_constant
    uint32_t read_timeout_multiplier
    uint32_t write_timeout_constant
    uint32_t write_timeout_multiplier

    Detailed Description

    -

    Structure for setting the timeout of the serial port, times are in milliseconds.

    +

    Structure for setting the timeout of the serial port, times are in milliseconds.

    +

    In order to disable the interbyte timeout, set it to Timeout::max().


    Constructor & Destructor Documentation

    - +
    - + - + - + - + - + - + @@ -163,22 +169,68 @@ Data Fields
    serial::Timeout::Timeout serial::Timeout::Timeout (long uint32_t  inter_byte_timeout_ = 0,
    long uint32_t  read_timeout_constant_ = 0,
    long uint32_t  read_timeout_multiplier_ = 0,
    long uint32_t  write_timeout_constant_ = 0,
    long uint32_t  write_timeout_multiplier_ = 0 
    -
        : inter_byte_timeout(inter_byte_timeout_),
    -      read_timeout_constant(read_timeout_constant_),
    -      read_timeout_multiplier(read_timeout_multiplier_),
    -      write_timeout_constant(write_timeout_constant_),
    -      write_timeout_multiplier(write_timeout_multiplier_)
    -    {}
    +
      : inter_byte_timeout(inter_byte_timeout_),
    +    read_timeout_constant(read_timeout_constant_),
    +    read_timeout_multiplier(read_timeout_multiplier_),
    +    write_timeout_constant(write_timeout_constant_),
    +    write_timeout_multiplier(write_timeout_multiplier_)
    +  {}
     
    -

    Field Documentation

    - +

    Member Function Documentation

    +
    - + + + + + +
    long serial::Timeout::inter_byte_timeoutstatic uint32_t serial::Timeout::max () [inline, static]
    +
    + +
    + +
    +
    + + + + + + + + +
    static Timeout serial::Timeout::simpleTimeout (uint32_t timeout) [inline, static]
    +
    +
    +

    Convenience function to generate Timeout structs using a single absolute timeout.

    +
    Parameters:
    + + +
    timeoutA long that defines the time in milliseconds until a timeout occurs after a call to read or write is made.
    +
    +
    +
    Returns:
    Timeout struct that represents this simple timeout provided.
    +
                                                     {
    +    return Timeout(max(), timeout, 0, timeout, 0);
    +  }
    +
    +
    +
    +

    Field Documentation

    + +
    + @@ -187,12 +239,12 @@ Data Fields
    - +
    @@ -201,12 +253,12 @@ Data Fields
    - +
    @@ -215,12 +267,12 @@ Data Fields
    - +
    @@ -229,12 +281,12 @@ Data Fields
    - +
    @@ -250,7 +302,7 @@ Data Fields diff --git a/docs/v1.0/unix_8cc.html b/docs/v1.0/unix_8cc.html index afa272b..0d3ad7d 100644 --- a/docs/v1.0/unix_8cc.html +++ b/docs/v1.0/unix_8cc.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -119,7 +119,7 @@ Include dependency graph for unix.cc:
    - +
    diff --git a/docs/v1.0/unix_8cc__incl.map b/docs/v1.0/unix_8cc__incl.map index 2a84d44..84ddac5 100644 --- a/docs/v1.0/unix_8cc__incl.map +++ b/docs/v1.0/unix_8cc__incl.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/v1.0/unix_8cc__incl.md5 b/docs/v1.0/unix_8cc__incl.md5 index f6fcf04..1097a78 100644 --- a/docs/v1.0/unix_8cc__incl.md5 +++ b/docs/v1.0/unix_8cc__incl.md5 @@ -1 +1 @@ -7a082c6bfca821d89fa22ea3939301d9 \ No newline at end of file +6fe186826ba1650b64f7ddad091f4012 \ No newline at end of file diff --git a/docs/v1.0/unix_8cc__incl.png b/docs/v1.0/unix_8cc__incl.png index b3a9928..2abfad2 100644 Binary files a/docs/v1.0/unix_8cc__incl.png and b/docs/v1.0/unix_8cc__incl.png differ diff --git a/docs/v1.0/unix_8h.html b/docs/v1.0/unix_8h.html index e5f4b80..578b47b 100644 --- a/docs/v1.0/unix_8h.html +++ b/docs/v1.0/unix_8h.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -104,7 +104,7 @@ Include dependency graph for unix.h:
    - +
    This graph shows which files directly or indirectly include this file:
    @@ -131,7 +131,7 @@ John Harrison LICENSE

    The MIT License

    -

    Copyright (c) 2011 William Woodall, John Harrison

    +

    Copyright (c) 2012 William Woodall, John Harrison

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    @@ -142,7 +142,7 @@ DESCRIPTION diff --git a/docs/v1.0/unix_8h__incl.map b/docs/v1.0/unix_8h__incl.map index 4552a52..c6ec8dc 100644 --- a/docs/v1.0/unix_8h__incl.map +++ b/docs/v1.0/unix_8h__incl.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/v1.0/unix_8h__incl.md5 b/docs/v1.0/unix_8h__incl.md5 index 62fd06b..706bd41 100644 --- a/docs/v1.0/unix_8h__incl.md5 +++ b/docs/v1.0/unix_8h__incl.md5 @@ -1 +1 @@ -bcc87cc247086c6007339cd3f2103156 \ No newline at end of file +c644a77c41f65cf3d129ecef9919893c \ No newline at end of file diff --git a/docs/v1.0/unix_8h__incl.png b/docs/v1.0/unix_8h__incl.png index 36a290d..c3972bb 100644 Binary files a/docs/v1.0/unix_8h__incl.png and b/docs/v1.0/unix_8h__incl.png differ diff --git a/docs/v1.0/unix_8h_source.html b/docs/v1.0/unix_8h_source.html index 50455bf..90d193c 100644 --- a/docs/v1.0/unix_8h_source.html +++ b/docs/v1.0/unix_8h_source.html @@ -30,7 +30,7 @@
    serial  1.0
    -
    Cross-platform serial port library for C++
    +
    Cross-platform serial port library written in C++
    @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); 00052 00053 class serial::Serial::SerialImpl { 00054 public: -00055 SerialImpl (const string &port, +00055 SerialImpl (const string &port, 00056 unsigned long baudrate, 00057 bytesize_t bytesize, 00058 parity_t parity, @@ -134,10 +134,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); 00074 available (); 00075 00076 size_t -00077 read (unsigned char *buf, size_t size = 1); +00077 read (uint8_t *buf, size_t size = 1); 00078 00079 size_t -00080 write (const string &data); +00080 write (const uint8_t *data, size_t length); 00081 00082 void 00083 flush (); @@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); 00101 setDTR (bool level); 00102 00103 bool -00104 waitForChange (); +00104 waitForChange (); 00105 00106 bool 00107 getCTS (); @@ -218,16 +218,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); 00158 getFlowcontrol () const; 00159 00160 void -00161 readLock (); +00161 readLock (); 00162 00163 void -00164 readUnlock (); +00164 readUnlock (); 00165 00166 void -00167 writeLock (); +00167 writeLock (); 00168 00169 void -00170 writeUnlock (); +00170 writeUnlock (); 00171 00172 protected: 00173 void reconfigurePort (); @@ -261,7 +261,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/v1.0/v8stdint_8h.html b/docs/v1.0/v8stdint_8h.html new file mode 100644 index 0000000..bca8f28 --- /dev/null +++ b/docs/v1.0/v8stdint_8h.html @@ -0,0 +1,124 @@ + + + + + +serial: include/serial/v8stdint.h File Reference + + + + + + + + + + + +
    + + +
    +

    @@ -178,7 +178,7 @@ Functions

    + + + + + + + + + + +
    +
    serial +  1.0 +
    +
    Cross-platform serial port library written in C++
    +
    + + + + + + + + + + +
    + +
    + + +
    +
    +
    include/serial/v8stdint.h File Reference
    +
    +
    +
    #include <stddef.h>
    +#include <stdio.h>
    +#include <stdint.h>
    +
    +Include dependency graph for v8stdint.h:
    +
    +
    +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    +
    + + + + + + diff --git a/docs/v1.0/v8stdint_8h__dep__incl.map b/docs/v1.0/v8stdint_8h__dep__incl.map new file mode 100644 index 0000000..bb2cdf6 --- /dev/null +++ b/docs/v1.0/v8stdint_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/v1.0/v8stdint_8h__dep__incl.md5 b/docs/v1.0/v8stdint_8h__dep__incl.md5 new file mode 100644 index 0000000..bdb0b26 --- /dev/null +++ b/docs/v1.0/v8stdint_8h__dep__incl.md5 @@ -0,0 +1 @@ +af57361690e99b803f0462c8bdb7cff4 \ No newline at end of file diff --git a/docs/v1.0/v8stdint_8h__dep__incl.png b/docs/v1.0/v8stdint_8h__dep__incl.png new file mode 100644 index 0000000..bb17550 Binary files /dev/null and b/docs/v1.0/v8stdint_8h__dep__incl.png differ diff --git a/docs/v1.0/v8stdint_8h__incl.map b/docs/v1.0/v8stdint_8h__incl.map new file mode 100644 index 0000000..8be6a30 --- /dev/null +++ b/docs/v1.0/v8stdint_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/v1.0/v8stdint_8h__incl.md5 b/docs/v1.0/v8stdint_8h__incl.md5 new file mode 100644 index 0000000..1ca1357 --- /dev/null +++ b/docs/v1.0/v8stdint_8h__incl.md5 @@ -0,0 +1 @@ +f6bf6cb6422db640ba7e37d5916453b2 \ No newline at end of file diff --git a/docs/v1.0/v8stdint_8h__incl.png b/docs/v1.0/v8stdint_8h__incl.png new file mode 100644 index 0000000..00352a8 Binary files /dev/null and b/docs/v1.0/v8stdint_8h__incl.png differ diff --git a/docs/v1.0/v8stdint_8h_source.html b/docs/v1.0/v8stdint_8h_source.html new file mode 100644 index 0000000..794c490 --- /dev/null +++ b/docs/v1.0/v8stdint_8h_source.html @@ -0,0 +1,164 @@ + + + + + +serial: include/serial/v8stdint.h Source File + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + +
    +
    serial +  1.0 +
    +
    Cross-platform serial port library written in C++
    +
    +
    + + + + + +
    + + + + +
    + +
    + +
    +
    +
    include/serial/v8stdint.h
    +
    +
    +Go to the documentation of this file.
    00001 // This header is from the v8 google project: 
    +00002 // http://code.google.com/p/v8/source/browse/trunk/include/v8stdint.h
    +00003 
    +00004 // Copyright 2012 the V8 project authors. All rights reserved.
    +00005 // Redistribution and use in source and binary forms, with or without
    +00006 // modification, are permitted provided that the following conditions are
    +00007 // met:
    +00008 //
    +00009 //     * Redistributions of source code must retain the above copyright
    +00010 //       notice, this list of conditions and the following disclaimer.
    +00011 //     * Redistributions in binary form must reproduce the above
    +00012 //       copyright notice, this list of conditions and the following
    +00013 //       disclaimer in the documentation and/or other materials provided
    +00014 //       with the distribution.
    +00015 //     * Neither the name of Google Inc. nor the names of its
    +00016 //       contributors may be used to endorse or promote products derived
    +00017 //       from this software without specific prior written permission.
    +00018 //
    +00019 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +00020 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +00021 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +00022 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +00023 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +00024 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +00025 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +00026 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +00027 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +00028 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +00029 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +00030 
    +00031 // Load definitions of standard types.
    +00032 
    +00033 #ifndef V8STDINT_H_
    +00034 #define V8STDINT_H_
    +00035 
    +00036 #include <stddef.h>
    +00037 #include <stdio.h>
    +00038 
    +00039 #if defined(_WIN32) && !defined(__MINGW32__)
    +00040 
    +00041 typedef signed char int8_t;
    +00042 typedef unsigned char uint8_t;
    +00043 typedef short int16_t;  // NOLINT
    +00044 typedef unsigned short uint16_t;  // NOLINT
    +00045 typedef int int32_t;
    +00046 typedef unsigned int uint32_t;
    +00047 typedef __int64 int64_t;
    +00048 typedef unsigned __int64 uint64_t;
    +00049 // intptr_t and friends are defined in crtdefs.h through stdio.h.
    +00050 
    +00051 #else
    +00052 
    +00053 #include <stdint.h>
    +00054 
    +00055 #endif
    +00056 
    +00057 #endif  // V8STDINT_H_
    +
    + + + + + + diff --git a/docs/v1.0/win_8cc.html b/docs/v1.0/win_8cc.html new file mode 100644 index 0000000..c254067 --- /dev/null +++ b/docs/v1.0/win_8cc.html @@ -0,0 +1,115 @@ + + + + + +serial: src/impl/win.cc File Reference + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + +
    +
    serial +  1.0 +
    +
    Cross-platform serial port library written in C++
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    +
    +
    src/impl/win.cc File Reference
    +
    +
    +
    #include "serial/impl/win.h"
    +
    +Include dependency graph for win.cc:
    +
    +
    + + +
    +
    + + + + + + diff --git a/docs/v1.0/win_8cc__incl.map b/docs/v1.0/win_8cc__incl.map new file mode 100644 index 0000000..9bcf43b --- /dev/null +++ b/docs/v1.0/win_8cc__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/v1.0/win_8cc__incl.md5 b/docs/v1.0/win_8cc__incl.md5 new file mode 100644 index 0000000..f28adf1 --- /dev/null +++ b/docs/v1.0/win_8cc__incl.md5 @@ -0,0 +1 @@ +ac617508eef9f03d290dd09ec479c335 \ No newline at end of file diff --git a/docs/v1.0/win_8cc__incl.png b/docs/v1.0/win_8cc__incl.png new file mode 100644 index 0000000..13da985 Binary files /dev/null and b/docs/v1.0/win_8cc__incl.png differ diff --git a/docs/v1.0/win_8h.html b/docs/v1.0/win_8h.html new file mode 100644 index 0000000..9b38f3a --- /dev/null +++ b/docs/v1.0/win_8h.html @@ -0,0 +1,136 @@ + + + + + +serial: include/serial/impl/win.h File Reference + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + +
    +
    serial +  1.0 +
    +
    Cross-platform serial port library written in C++
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    include/serial/impl/win.h File Reference
    +
    +
    +
    #include "serial/serial.h"
    +#include "windows.h"
    +
    +Include dependency graph for win.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + +
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Data Structures

    class  serial::serial::Serial::SerialImpl

    +Namespaces

    namespace  serial
    +
    + + + + + + diff --git a/docs/v1.0/win_8h__dep__incl.map b/docs/v1.0/win_8h__dep__incl.map new file mode 100644 index 0000000..2ae6fa6 --- /dev/null +++ b/docs/v1.0/win_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/v1.0/win_8h__dep__incl.md5 b/docs/v1.0/win_8h__dep__incl.md5 new file mode 100644 index 0000000..977746a --- /dev/null +++ b/docs/v1.0/win_8h__dep__incl.md5 @@ -0,0 +1 @@ +dbf5e18357478e7fe097f14bb0558aea \ No newline at end of file diff --git a/docs/v1.0/win_8h__dep__incl.png b/docs/v1.0/win_8h__dep__incl.png new file mode 100644 index 0000000..682dbc1 Binary files /dev/null and b/docs/v1.0/win_8h__dep__incl.png differ diff --git a/docs/v1.0/win_8h__incl.map b/docs/v1.0/win_8h__incl.map new file mode 100644 index 0000000..c6ec8dc --- /dev/null +++ b/docs/v1.0/win_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/v1.0/win_8h__incl.md5 b/docs/v1.0/win_8h__incl.md5 new file mode 100644 index 0000000..f2d5af9 --- /dev/null +++ b/docs/v1.0/win_8h__incl.md5 @@ -0,0 +1 @@ +bffdfff16bef6b02682a3561852c9429 \ No newline at end of file diff --git a/docs/v1.0/win_8h__incl.png b/docs/v1.0/win_8h__incl.png new file mode 100644 index 0000000..4ded21c Binary files /dev/null and b/docs/v1.0/win_8h__incl.png differ diff --git a/docs/v1.0/win_8h_source.html b/docs/v1.0/win_8h_source.html new file mode 100644 index 0000000..e56af7e --- /dev/null +++ b/docs/v1.0/win_8h_source.html @@ -0,0 +1,268 @@ + + + + + +serial: include/serial/impl/win.h Source File + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + +
    +
    serial +  1.0 +
    +
    Cross-platform serial port library written in C++
    +
    +
    + + + + + +
    + + + + +
    + +
    + +
    +
    +
    include/serial/impl/win.h
    +
    +
    +Go to the documentation of this file.
    00001 
    +00037 #ifndef SERIAL_IMPL_WINDOWS_H
    +00038 #define SERIAL_IMPL_WINDOWS_H
    +00039 
    +00040 #include "serial/serial.h"
    +00041 
    +00042 #include "windows.h"
    +00043 
    +00044 namespace serial {
    +00045 
    +00046 using std::string;
    +00047 using std::invalid_argument;
    +00048 
    +00049 using serial::SerialExecption;
    +00050 using serial::IOException;
    +00051 
    +00052 class serial::Serial::SerialImpl {
    +00053 public:
    +00054   SerialImpl (const string &port,
    +00055               unsigned long baudrate,
    +00056               bytesize_t bytesize,
    +00057               parity_t parity,
    +00058               stopbits_t stopbits,
    +00059               flowcontrol_t flowcontrol);
    +00060 
    +00061   virtual ~SerialImpl ();
    +00062 
    +00063   void
    +00064   open ();
    +00065 
    +00066   void
    +00067   close ();
    +00068 
    +00069   bool
    +00070   isOpen () const;
    +00071 
    +00072   size_t
    +00073   available ();
    +00074 
    +00075   size_t
    +00076   read (uint8_t *buf, size_t size = 1);
    +00077 
    +00078   size_t
    +00079   write (const uint8_t *data, size_t length);
    +00080 
    +00081   void
    +00082   flush ();
    +00083 
    +00084   void
    +00085   flushInput ();
    +00086 
    +00087   void
    +00088   flushOutput ();
    +00089 
    +00090   void
    +00091   sendBreak (int duration);
    +00092 
    +00093   void
    +00094   setBreak (bool level);
    +00095 
    +00096   void
    +00097   setRTS (bool level);
    +00098 
    +00099   void
    +00100   setDTR (bool level);
    +00101 
    +00102   bool
    +00103   waitForChange ();
    +00104 
    +00105   bool
    +00106   getCTS ();
    +00107 
    +00108   bool
    +00109   getDSR ();
    +00110 
    +00111   bool
    +00112   getRI ();
    +00113 
    +00114   bool
    +00115   getCD ();
    +00116 
    +00117   void
    +00118   setPort (const string &port);
    +00119 
    +00120   string
    +00121   getPort () const;
    +00122 
    +00123   void
    +00124   setTimeout (Timeout &timeout);
    +00125 
    +00126   Timeout
    +00127   getTimeout () const;
    +00128 
    +00129   void
    +00130   setBaudrate (unsigned long baudrate);
    +00131 
    +00132   unsigned long
    +00133   getBaudrate () const;
    +00134 
    +00135   void
    +00136   setBytesize (bytesize_t bytesize);
    +00137 
    +00138   bytesize_t
    +00139   getBytesize () const;
    +00140 
    +00141   void
    +00142   setParity (parity_t parity);
    +00143 
    +00144   parity_t
    +00145   getParity () const;
    +00146 
    +00147   void
    +00148   setStopbits (stopbits_t stopbits);
    +00149 
    +00150   stopbits_t
    +00151   getStopbits () const;
    +00152 
    +00153   void
    +00154   setFlowcontrol (flowcontrol_t flowcontrol);
    +00155 
    +00156   flowcontrol_t
    +00157   getFlowcontrol () const;
    +00158 
    +00159   void
    +00160   readLock ();
    +00161 
    +00162   void
    +00163   readUnlock ();
    +00164 
    +00165   void
    +00166   writeLock ();
    +00167 
    +00168   void
    +00169   writeUnlock ();
    +00170 
    +00171 protected:
    +00172   void reconfigurePort ();
    +00173 
    +00174 private:
    +00175   string port_;               // Path to the file descriptor
    +00176   HANDLE fd_;
    +00177 
    +00178   bool is_open_;
    +00179 
    +00180   Timeout timeout_;           // Timeout for read operations
    +00181   unsigned long baudrate_;    // Baudrate
    +00182 
    +00183   parity_t parity_;           // Parity
    +00184   bytesize_t bytesize_;       // Size of the bytes
    +00185   stopbits_t stopbits_;       // Stop Bits
    +00186   flowcontrol_t flowcontrol_; // Flow Control
    +00187 
    +00188   // Mutex used to lock the read functions
    +00189   HANDLE read_mutex;
    +00190   // Mutex used to lock the write functions
    +00191   HANDLE write_mutex;
    +00192 };
    +00193 
    +00194 }
    +00195 
    +00196 #endif // SERIAL_IMPL_WINDOWS_H
    +
    + + + + + + diff --git a/index.html b/index.html index 4e6faa6..5924b2f 100644 --- a/index.html +++ b/index.html @@ -46,26 +46,25 @@
    by William Woodall and John Harrison
    - Cross-platform, Serial Port library for C++ + Cross-platform, Serial Port library written in C++

    This is a cross-platform library for interfacing with rs-232 serial like ports written in C++. It provides a modern C++ interface with a workflow designed to look and feel like PySerial, but with the speed and control provided by C++.

    -This library is in use in several robotics related projects and can be built and installed to the OS like most unix libraries with make and then sudo make install, but if you wish to use it with ROS then it will build as a unary stack. +This library is in use in several robotics related projects and can be built and installed to the OS like most unix libraries with make and then sudo make install, but if you wish to use it with ROS then it will build as a unary stack.

    -The library has two main components currently: Serial and SerialListener. +Serial is a class that provides the basic interface common to serial libraries (open, close, read, write, etc..) and requires no extra dependencies. It also provides tight control over timeouts and control over handshaking lines.

    -Serial is a class that provides the basic interface common to serial libraries (open, close, read, write, etc..) and requires no extra dependencies. -

    -The SerialListener class is a convenience class that provides a method for easily asynchronously reading from a serial port, we have found this setup useful when interfacing with devices that send data asynchronously as well as use command-response type message interleaved. The SerialListener has an extra dependency of Boost for C++, which provides some feature not yet fully adopted by all C++ compilers like function types, shared_ptr's, and convenient threading.

    +If you are looking for more utilities related to interfacing with sensors and serial devices, checkout my serial_utils github project: serial_utils. It provides tools for asynchronous reading and related tasks.

    +

    Documentation

    +

    The documentation for all versions of the serial library can be found here.

    Dependencies

    • cmake - for the build system
    • -
    • boost - for SerialListener only (optional)
    • ROS - for building in a ROS ecosystem (optional)
    @@ -101,7 +100,10 @@ Uninstall:

    License

    -

    Copyright (c) 2011 William Woodall +

    The BSD License

    + + Copyright (c) 2012 William Woodall, John Harrison +

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),