27#ifndef NIDAS_CORE_REMOTESERIALCONNECTION_H
28#define NIDAS_CORE_REMOTESERIALCONNECTION_H
37namespace nidas {
namespace core {
119 std::string
doEscCmds(
const std::string& inputstr);
Implementation of support for a sensor which generates character output.
Definition CharacterSensor.h:46
DSMSensor provides the basic support for reading, processing and distributing samples from a sensor a...
Definition DSMSensor.h:88
Interface for objects with a file descriptor, providing a virtual method to be called when system cal...
Definition Polled.h:110
Definition RemoteSerialConnection.h:42
SensorHandler * _handler
Definition RemoteSerialConnection.h:140
std::string _devname
Definition RemoteSerialConnection.h:127
const std::string & getName() const
Definition RemoteSerialConnection.h:54
void setName(const std::string &val)
Definition RemoteSerialConnection.h:56
bool handlePollEvents(uint32_t events)
An epoll event occurred, most likely it is time to read data from socket, write to DSMSensor.
Definition RemoteSerialConnection.cc:358
void close()
Definition RemoteSerialConnection.cc:62
RemoteSerialConnection(const RemoteSerialConnection &)
Copy not needed.
bool receive(const Sample *s)
Receive a sample from the DSMSensor, write data portion to socket.
Definition RemoteSerialConnection.cc:187
std::string _name
Definition RemoteSerialConnection.h:123
bool _nullTerminated
Definition RemoteSerialConnection.h:138
std::string doEscCmds(const std::string &inputstr)
Parse and execute ESC commands in user input.
Definition RemoteSerialConnection.cc:219
void sensorNotFound()
Notify this RemoteSerialConnection that a sensor matching getSensorName() was not found.
Definition RemoteSerialConnection.cc:100
int _timeoutMsecs
Sensor timeout when the RemoteSerialConnection was established.
Definition RemoteSerialConnection.h:150
int getFd() const
Definition RemoteSerialConnection.h:68
RemoteSerialConnection(nidas::util::Socket *sock, SensorHandler *handler)
Definition RemoteSerialConnection.cc:42
nidas::util::Socket * _socket
Definition RemoteSerialConnection.h:125
bool _closedWarning
Has the user been sent a "sensor is closed" warning.
Definition RemoteSerialConnection.h:145
void flush()
Implementation of SampleClient::flush().
Definition RemoteSerialConnection.h:52
void readSensorName()
Definition RemoteSerialConnection.cc:85
const std::string & getSensorName() const
Definition RemoteSerialConnection.h:70
DSMSensor * getDSMSensor() const
Definition RemoteSerialConnection.h:77
RemoteSerialConnection & operator=(const RemoteSerialConnection &)
Assignment not needed.
~RemoteSerialConnection()
Definition RemoteSerialConnection.cc:51
void nlTocrnl(std::string &input)
little utility for translating newlines to carriage-return + newlines in a string.
Definition RemoteSerialConnection.cc:207
SerialSensor * _serSensor
Definition RemoteSerialConnection.h:131
CharacterSensor * _sensor
Definition RemoteSerialConnection.h:129
std::string _input
Left over input characters after previous parse for escape sequences.
Definition RemoteSerialConnection.h:136
void setSensor(CharacterSensor *val)
Definition RemoteSerialConnection.cc:111
Pure virtual interface of a client of Samples.
Definition SampleClient.h:38
Interface to a data sample.
Definition Sample.h:190
SensorHandler implements a DSMSensor event loop.
Definition SensorHandler.h:88
Support for a sensor that is sending packets on a TCP socket, a UDP socket, a Bluetooth RF Comm socke...
Definition SerialSensor.h:65
A stream (TCP) socket.
Definition Socket.h:573
int getFd() const
Fetch the file descriptor associate with this socket.
Definition Socket.h:805
Sample * getSample(sampleType type, unsigned int len)
A convienence method for getting a sample of an enumerated type from a pool.
Definition Sample.cc:70
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31