Low-level communication class to access a CAN port.  
 More...
#include <tcpserial.h>
|  | 
| void | Close (void) | 
|  | Close the previously opened CAN ESD interface port.  More... 
 | 
|  | 
|  | cTCPSerial (char const *_tcp_adr, int _tcp_port, double _timeout) | 
|  | 
| virtual tErrorCode | GetErrorNumber () | 
|  | 
| bool | IsOpen (void)  throw () | 
|  | Return true if interface to CAN ESD is open.  More... 
 | 
|  | 
| void | Open (void) | 
|  | 
| ssize_t | Read (void *data, ssize_t size, long timeout_us, bool return_on_less_data) | 
|  | 
| void | SetTimeout (double _timeout) | 
|  | set the timeout for next readline() calls (negative value means: no timeout, wait for ever)  More... 
 | 
|  | 
| int | write (char const *ptr, int len=0) | 
|  | Write data to a previously opened port.  More... 
 | 
|  | 
|  | cSerialBase () | 
|  | ctor  More... 
 | 
|  | 
| virtual char const  * | GetErrorMessage (tErrorCode dw) | 
|  | 
| char const  * | GetLastErrorMessage (void) | 
|  | return the last error message as string. The string returned will be overwritten by the next call to the function  More... 
 | 
|  | 
| virtual double | GetTimeout () | 
|  | get the timeout for next readline() calls (negative value means: no timeout, wait for ever)  More... 
 | 
|  | 
| virtual char * | readline (char *line, int size, char const *eol="\n", bool return_on_less_data=false) | 
|  | Read a line from the device.  More... 
 | 
|  | 
| virtual bool | UseCRC16 () | 
|  | 
| virtual | ~cSerialBase (void) | 
|  | dtor  More... 
 | 
|  | 
|  | 
| typedef int | tErrorCode | 
|  | type of the error code, DWORD on windows and int on Linux/cygwin  More... 
 | 
|  | 
| cDBG | dbg | 
|  | A stream object to print colored debug messages.  More... 
 | 
|  | 
Low-level communication class to access a CAN port. 
Definition at line 88 of file tcpserial.h.
◆ cTCPSerial()
      
        
          | cTCPSerial::cTCPSerial | ( | char const * | _tcp_adr, | 
        
          |  |  | int | _tcp_port, | 
        
          |  |  | double | _timeout | 
        
          |  | ) |  |  | 
      
 
Constructor: constructs an object to communicate with an SDH via TCP on _tcp_adr and _tcp_port. 
- Parameters
- 
  
    | _tcp_adr | - a string describing the hostname or IP address of the SDH |  | _tcp_port | - the port number on the SDH |  | _timeout | - the timeout when receiving / sending data: 
< 0.0 : no timeout = wait for ever== 0.0 : zero timeout = return immediately> 0.0 : timeout in seconds  |  
 
Definition at line 116 of file tcpserial.cpp.
 
 
◆ Close()
  
  | 
        
          | void cTCPSerial::Close | ( | void |  | ) |  |  | virtual | 
 
 
◆ GetErrorNumber()
Overloaded helper function that returns the last TCP error number. 
Reimplemented from cSerialBase.
Definition at line 167 of file tcpserial.h.
 
 
◆ IsOpen()
  
  | 
        
          | bool cTCPSerial::IsOpen | ( | void |  | ) |  |  
          | throw | ( |  |  
          |  | ) |  |  |  | virtual | 
 
 
◆ Open()
  
  | 
        
          | void cTCPSerial::Open | ( | void |  | ) |  |  | virtual | 
 
Open the device as configured by the parameters given to the constructor 
Implements cSerialBase.
Definition at line 137 of file tcpserial.cpp.
 
 
◆ Read()
  
  | 
        
          | ssize_t cTCPSerial::Read | ( | void * | data, |  
          |  |  | ssize_t | size, |  
          |  |  | long | timeout_us, |  
          |  |  | bool | return_on_less_data |  
          |  | ) |  |  |  | virtual | 
 
Read data from device. This function waits until max_time_us us passed or the expected number of bytes are received via serial line. if (return_on_less_data is true (default value), the number of bytes that have been received are returned and the data is stored in data If the return_on_less_data is false, data is only read from serial line, if at least size bytes are available. 
Implements cSerialBase.
Definition at line 240 of file tcpserial.cpp.
 
 
◆ SetTimeout()
  
  | 
        
          | void cTCPSerial::SetTimeout | ( | double | _timeout | ) |  |  | virtual | 
 
 
◆ write()
  
  | 
        
          | int cTCPSerial::write | ( | char const * | ptr, |  
          |  |  | int | len = 0 |  
          |  | ) |  |  |  | virtual | 
 
Write data to a previously opened port. 
Write len bytes from *ptr to the CAN device
- Parameters
- 
  
    | ptr | - pointer the byte array to send in memory |  | len | - number of bytes to send |  
 
- Returns
- the number of bytes actually written 
Implements cSerialBase.
Definition at line 214 of file tcpserial.cpp.
 
 
◆ fd
the file descriptor of the socket 
Definition at line 102 of file tcpserial.h.
 
 
◆ INVALID_SOCKET
  
  | 
        
          | const int cTCPSerial::INVALID_SOCKET = -1 |  | staticprotected | 
 
 
◆ tcp_adr
  
  | 
        
          | std::string cTCPSerial::tcp_adr |  | protected | 
 
 
◆ tcp_port
◆ TIMEOUT_RETURN_IMMEDITELY_S
  
  | 
        
          | const double cTCPSerial::TIMEOUT_RETURN_IMMEDITELY_S = 0.0 |  | static | 
 
 
◆ TIMEOUT_RETURN_IMMEDITELY_US
  
  | 
        
          | const long cTCPSerial::TIMEOUT_RETURN_IMMEDITELY_US = 0 |  | static | 
 
 
◆ timeout_timeval
  
  | 
        
          | struct timeval cTCPSerial::timeout_timeval |  | private | 
 
 
◆ timeout_us
  
  | 
        
          | long cTCPSerial::timeout_us |  | private | 
 
cached timeout in us for read() 
Definition at line 109 of file tcpserial.h.
 
 
◆ TIMEOUT_WAIT_FOR_EVER_S
  
  | 
        
          | const double cTCPSerial::TIMEOUT_WAIT_FOR_EVER_S = -1.0 |  | static | 
 
 
◆ TIMEOUT_WAIT_FOR_EVER_US
  
  | 
        
          | const long cTCPSerial::TIMEOUT_WAIT_FOR_EVER_US = -1 |  | static | 
 
 
The documentation for this class was generated from the following files: