nidas v1.2.3
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes | List of all members
FixedSim Class Reference

Send a fixed message at a given rate or after a prompt. More...

Inheritance diagram for FixedSim:
Inheritance graph
[legend]

Public Member Functions

 FixedSim (n_u::SerialPort *p, const string &m, enum sep_type septype, string sep, bool prompted, string prompt, float rate, int nmessages)
 
void sendMessage ()
 Implement this to send a message from the simulated sensor.
 
virtual void writeMessage (const std::string &msg)
 Subclasses generate the message to send, then call writeMessage() to send it out.
 
virtual void writeMessage (const char *buf, std::streamsize l)
 overloaded function useful for writing binary data
 
virtual void run ()
 Default implementation of run will call the sendMessage() method either after receipt of a prompt or at the given rate if the sensor is not prompted.
 
void interrupt ()
 Stop the simulation.
 
bool isInterrupted () const
 
n_u::SerialPortport ()
 

Protected Member Functions

LoopergetLooper ()
 
void looperNotify () override
 Method called by Looper.
 
void readPrompts ()
 

Protected Attributes

n_u::SerialPort_port
 
bool _prompted
 
string _prompt
 
float _rate
 
int _nmessages
 
bool _interrupted
 

Static Protected Attributes

static Looper_looper = 0
 

Private Attributes

string _msg
 
enum sep_type _septype
 
string _separator
 

Detailed Description

Send a fixed message at a given rate or after a prompt.

Constructor & Destructor Documentation

◆ FixedSim()

FixedSim::FixedSim ( n_u::SerialPort * p,
const string & m,
enum sep_type septype,
string sep,
bool prompted,
string prompt,
float rate,
int nmessages )

Member Function Documentation

◆ getLooper()

Looper * SensorSimulator::getLooper ( )
protectedinherited

◆ interrupt()

void SensorSimulator::interrupt ( )
inlineinherited

◆ isInterrupted()

bool SensorSimulator::isInterrupted ( ) const
inlineinherited

◆ looperNotify()

void SensorSimulator::looperNotify ( )
overrideprotectedvirtualinherited

Method called by Looper.

This method should not be a heavy user of resources, since the notification of other clients is delayed until this method finishes. If much work is to be done, this method should post a semaphore for another worker thread to proceed.

Implements nidas::core::LooperClient.

References SensorSimulator::_interrupted, SensorSimulator::_looper, SensorSimulator::_nmessages, nidas::core::getSample(), SensorSimulator::interrupt(), and SensorSimulator::sendMessage().

◆ port()

n_u::SerialPort * SensorSimulator::port ( )
inlineinherited

◆ readPrompts()

void SensorSimulator::readPrompts ( )
protectedinherited

◆ run()

void SensorSimulator::run ( )
virtualinherited

Default implementation of run will call the sendMessage() method either after receipt of a prompt or at the given rate if the sensor is not prompted.

run() will return when isInterrupted() is true.

Reimplemented in Csat3Sim.

References SensorSimulator::_looper, SensorSimulator::_prompted, SensorSimulator::_rate, SensorSimulator::getLooper(), nidas::core::getSample(), MSECS_PER_SEC, and SensorSimulator::readPrompts().

◆ sendMessage()

void FixedSim::sendMessage ( )
virtual

Implement this to send a message from the simulated sensor.

Exceptions
nidas::util::IOException

Implements SensorSimulator.

References _msg, and SensorSimulator::writeMessage().

◆ writeMessage() [1/2]

virtual void SensorSimulator::writeMessage ( const char * buf,
std::streamsize l )
inlinevirtualinherited

overloaded function useful for writing binary data

References SensorSimulator::_port, and nidas::util::SerialPort::write().

◆ writeMessage() [2/2]

virtual void SensorSimulator::writeMessage ( const std::string & msg)
inlinevirtualinherited

Subclasses generate the message to send, then call writeMessage() to send it out.

References SensorSimulator::_port, and nidas::util::SerialPort::write().

Referenced by FileSim::sendASCIIMessage(), FileSim::sendBinaryMessage(), and sendMessage().

Member Data Documentation

◆ _interrupted

bool SensorSimulator::_interrupted
protectedinherited

◆ _looper

Looper * SensorSimulator::_looper = 0
staticprotectedinherited

◆ _msg

string FixedSim::_msg
private

Referenced by FixedSim(), and sendMessage().

◆ _nmessages

int SensorSimulator::_nmessages
protectedinherited

◆ _port

n_u::SerialPort* SensorSimulator::_port
protectedinherited

◆ _prompt

string SensorSimulator::_prompt
protectedinherited

◆ _prompted

bool SensorSimulator::_prompted
protectedinherited

Referenced by SensorSimulator::run().

◆ _rate

float SensorSimulator::_rate
protectedinherited

◆ _separator

string FixedSim::_separator
private

Referenced by FixedSim().

◆ _septype

enum sep_type FixedSim::_septype
private

Referenced by FixedSim().


The documentation for this class was generated from the following file: