logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ost::SerialPort - The serial port is an internal class which is attached to and then serviced by a

Author

       Generated automatically by Doxygen for GNU CommonC++ from the source code.

GNU CommonC++                                    Sun Dec 27 2020                              ost::SerialPort(3)

Constructor & Destructor Documentation

ost::SerialPort::SerialPort(SerialService*svc,constchar*name)[protected]
       Construct a tty serial port for a named serial device.

       Parameterssvc pool thread object.
           name of tty port.

   virtualost::SerialPort::~SerialPort()[protected],[virtual]
       Disconnect the Serial Port from the service pool thread and shutdown the port.

Detailed Description

       The serial port is an internal class which is attached to and then serviced by a specified SerialService
       thread.

       Derived versions of this class offer specific functionality such as serial integration protocols.

       The TTYPort and TTYService classes are used to form thread-pool serviced serial I/O protocol sets. These
       can be used when one has a large number of serial devices to manage, and a single (or limited number of)
       thread(s) can then be used to service the tty port objects present. Each tty port supports a timer
       control and several virtual methods that the service thread can call when events occur. This model
       provides for 'callback' event management, whereby the service thread performs a 'callback' into the port
       object when events occur. Specific events supported include the expiration of a TTYPort timer, pending
       input data waiting to be read, and 'sighup' connection breaks.

       Author
           David Sugar dyfet@ostel.com

       base class for thread pool serviced serial I/O.

Member Function Documentation

virtualvoidost::SerialPort::disconnect(void)[protected],[virtual]
       Called by the service thread when an exception has occured such as a hangup.

   virtualvoidost::SerialPort::expired(void)[protected],[virtual]
       Called by the service thread when the objects timer has expired.

   boolost::SerialPort::getDetectOutput(void)const[inline],[protected]
       Get the current state of the DetectOutput flag.

   boolost::SerialPort::getDetectPending(void)const[inline],[protected]
       Get the current state of the DetectPending flag.

   voidost::SerialPort::incTimer(timeout_ttimeout)
       Derived incTimer to notify the service thread pool of a change in expected timeout. This allows
       SerialService to reschedule all timers.

   intost::SerialPort::input(void*buf,intlen)[inline],[protected]
       Receive 'input' for pending data from the serial port. This is not a public member since it's meant to
       support internal protocols rather than direct external access to the device.

       Returns
           number of bytes received.

       Parametersbuf address of buffer to input.
           len of input buffer used.

   intost::SerialPort::output(void*buf,intlen)[inline],[protected]
       Transmit 'send' data to the serial port. This is not public since it's meant to support internal
       protocols rather than direct public access to the device.

       Returns
           number of bytes send.

       Parametersbuf address of buffer to send.
           len of bytes to send.

   virtualvoidost::SerialPort::output(void)[protected],[virtual]
       Perform when output is available for sending data.

   virtualvoidost::SerialPort::pending(void)[protected],[virtual]
       Called by the service thread when input data is pending for this tty port. Effected by setPacketInput and
       by setLineInput.

   voidost::SerialPort::setDetectOutput(bool)[protected]
       Used to indicate if output ready monitoring should be performed by the service thread.

   voidost::SerialPort::setDetectPending(bool)[protected]
       Used to indicate if the service thread should monitor pending data for us.

   voidost::SerialPort::setTimer(timeout_ttimeout=0)
       Derived setTimer to notify the service thread pool of changes in expected timeout. This allows
       SerialService to reschedule all timers.

       Parameterstimeout in milliseconds.

Name

       ost::SerialPort - The serial port is an internal class which is attached to and then serviced by a
       specified SerialService thread.

Synopsis

       #include <serial.h>

       Inherits ost::Serial, and ost::TimerPort.

   PublicMemberFunctions
       void setTimer (timeout_t timeout=0)
           Derived setTimer to notify the service thread pool of changes in expected timeout.
       void incTimer (timeout_t timeout)
           Derived incTimer to notify the service thread pool of a change in expected timeout.

   ProtectedMemberFunctionsSerialPort (SerialService *svc, const char *name)
           Construct a tty serial port for a named serial device.
       virtual ~SerialPort ()
           Disconnect the Serial Port from the service pool thread and shutdown the port.
       void setDetectPending (bool)
           Used to indicate if the service thread should monitor pending data for us.
       bool getDetectPending (void) const
           Get the current state of the DetectPending flag.
       void setDetectOutput (bool)
           Used to indicate if output ready monitoring should be performed by the service thread.
       bool getDetectOutput (void) const
           Get the current state of the DetectOutput flag.
       virtual void expired (void)
           Called by the service thread when the objects timer has expired.
       virtual void pending (void)
           Called by the service thread when input data is pending for this tty port.
       virtual void disconnect (void)
           Called by the service thread when an exception has occured such as a hangup.
       int output (void *buf, int len)
           Transmit 'send' data to the serial port.
       virtual void output (void)
           Perform when output is available for sending data.
       int input (void *buf, int len)
           Receive 'input' for pending data from the serial port.

   Friends
       class SerialServiceAdditionalInheritedMembers

See Also