LRAUV  revA
DataWriter Class Reference

A DataAccessor that writes values to the Slate via its associated DataElement. More...

#include <DataWriter.h>

Inheritance diagram for DataWriter:
Collaboration diagram for DataWriter:

Public Member Functions

 DataWriter (Component *owner, DataElement &element, UniversalDataElement *universal, Logger::TimePrecisionType timePrecisionType)
 
virtual ~DataWriter ()
 
bool setUnavailable (bool unavailable=true)
 
bool isUnavailable ()
 
bool setInvalid (bool invalid=true)
 
bool isInvalid ()
 
void registerChange (void)
 
virtual bool write (const Unit &unit, const unsigned char value, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Sets the Component's DataValue, with an optional timestamp. More...
 
virtual bool write (const Unit &unit, const double value, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 
virtual bool write (const Unit &unit, const int value, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Set functions. More...
 
virtual bool write (const DataValue &value, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 
const TimestampgetTimestamp ()
 Returns the Timestamp of the last write. More...
 
bool isDataRequested ()
 Returns true if one of the readers registered with this writer's dataElement is requesting data. More...
 
bool isImplemented ()
 Returns true if there is a non-failed "implementor" reader of this writer. More...
 
void componentRequestData (bool requestingData)
 
- Public Member Functions inherited from DataAccessor
virtual ~DataAccessor ()
 
virtual DataElementgetElement (void) const
 
virtual ComponentgetOwner (void) const
 
virtual const ElementURIgetUri (void) const
 
AccessorType getAccessorType () const
 
DataAccessgetDataAccess () const
 
Logger::TimePrecisionType getTimePrecision () const
 

Protected Attributes

bool componentRequestingData_
 
- Protected Attributes inherited from DataAccessor
Componentowner_
 
DataElementelement_
 
AccessorType accessorType_
 
Logger::TimePrecisionType timePrecision_
 
DataAccessdataAccess_
 

Additional Inherited Members

- Public Types inherited from DataAccessor
enum  AccessorType { DATA_READER = 0, DATA_WRITER = 1 }
 
enum  RequestStrategy {
  NO_STRATEGY = -1, MIN_POWER, MIN_ERROR, MIN_LATENCY,
  MAX_FREQUENCY, ALL_DEVICES, STRATEGY_COUNT
}
 
- Static Public Member Functions inherited from DataAccessor
static RequestStrategy Str2RequestStrategy (const char *const strategyStr)
 
static const char * RequestStrategy2Str (DataAccessor::RequestStrategy strategy)
 
- Static Public Attributes inherited from DataAccessor
static const char *const REQUEST_STRATEGY_STRS [STRATEGY_COUNT]
 
- Protected Member Functions inherited from DataAccessor
 DataAccessor (Component *owner, DataElement &element, AccessorType accessorType, UniversalDataElement *universal, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
 Protected Constructor. More...
 

Detailed Description

A DataAccessor that writes values to the Slate via its associated DataElement.

Constructor & Destructor Documentation

DataWriter::DataWriter ( Component owner,
DataElement element,
UniversalDataElement universal,
Logger::TimePrecisionType  timePrecisionType 
)

Member Function Documentation

void DataWriter::componentRequestData ( bool  requestingData)
inline
const Timestamp & DataWriter::getTimestamp ( void  )
bool DataWriter::isImplemented ( )

Returns true if there is a non-failed "implementor" reader of this writer.

References DataAccessor::element_, and DataElement::isImplemented().

Referenced by VerticalControl::setPitch().

bool DataWriter::isInvalid ( void  )
bool DataWriter::isUnavailable ( void  )
void DataWriter::registerChange ( void  )
bool DataWriter::setUnavailable ( bool  unavailable = true)
bool DataWriter::write ( const Unit unit,
const unsigned char  value,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
virtual

Sets the Component's DataValue, with an optional timestamp.

References DataAccessor::element_, DataAccessor::owner_, DataElement::set(), and Component::setWriteTimestamp().

Referenced by WetLabsBB2FL::calculate_and_report_temporal_bin_statistics(), CTD_NeilBrown::calculate_and_report_temporal_bin_statistics(), Onboard::calculateAvgCurrent(), TempGradientCalculator::captureTempGradPeak(), CommandLine::commandConversation(), VerticalControl::controlDepth(), HorizontalControl::controlHeading(), Lane::doRun(), CBIT::empiricalFaultClassification(), LuaAPI::Exec(), NAL9602::getMTQueueSignalStrength(), NAL9602::getReceivedSignalStrength(), CBIT::handleComponentFaults(), HorizontalControl::headingControl(), SBIT::initialize(), IBIT::initialize(), CommandLine::initialize(), CBIT::initialize(), Component::logCurrent(), Component::logVoltage(), VerticalControl::massAndElevatorControl(), VerticalControl::massControl(), CBIT::monitorShorePower(), NAL9602::needFix(), NAL9602::needGSV(), BPC1::parseWriteDataA(), BPC1::parseWriteDataB(), ThrusterServo::pause(), NAL9602::pause(), AcousticModem_Benthos_ATM900::publishData(), DAT::publishData(), ExternalSim::publishState(), NavigationSim::publishState(), InternalSim::publishState(), Tracking::queryDAT(), Batt_Ocean_Server::readDataA(), Batt_Ocean_Server::readDataB(), DeadReckonUsingMultipleVelocitySources::readVehicleVelocity(), PeakDetectHorizontal::reportPeak(), CycleStarter::run(), Assign::run(), Onboard::run(), AsyncPiEstimator::run(), DropWeight::run(), PAR_Licor::run(), Depth_Keller::run(), Batt_Ocean_Server::run(), SBIT::run(), Buoyancy::run(), IBIT::run(), VerticalControl::run(), PitchServo::run(), NavChart::run(), YawRateCalculator::run(), SetSpeed::run(), HFRadarModelPoint::run(), Waypoint::run(), PitchRateCalculator::run(), MissionManager::run(), Circle::run(), DataOverHttps::run(), DepthRateCalculator::run(), KeepStation::run(), DepthServo::run(), HFRadarModel::runIfUnsatisfied(), AltitudeEnvelope::runIfUnsatisfied(), DepthEnvelope::runIfUnsatisfied(), Point::runIfUnsatisfied(), GoToSurface::runIfUnsatisfied(), PeakDetectVsDepth::runIfUnsatisfied(), PrepareToDive::runIfUnsatisfied(), Pitch::runIfUnsatisfied(), ValueDetect::runIfUnsatisfied(), OffshoreEnvelope::runIfUnsatisfied(), WaterDepthEnvelope::runIfUnsatisfied(), SCPI::runnable(), ElevatorServo::runnable(), MassServo::runnable(), BuoyancyServo::runnable(), CANONSampler::runnable(), VemcoVR2C::runnable(), Turner_Cyclops_rhodamine::runnable(), RudderServo::runnable(), AHRS_3DMGX3::runnable(), ThrusterServo::runnable(), AHRS_sp3003D::runnable(), BPC1::runnable(), CBIT::scanGFChan(), NAL9602::sendingVerify(), VerticalControl::setBuoyancy(), Component::setDurationOfLastRun(), HorizontalControl::setHeading(), HFRCMVirtualSurfaceDrifter::setLocation(), VerticalControl::setMassAndElevator(), VerticalControl::setPitch(), HorizontalControl::setRudderAngle(), SpeedControl::setSpeed(), SCPI::stop(), ISUS::stop(), OffshoreEnvelope_Test::testRun(), UniversalBlobWriter::write(), BlobWriter::write(), ZigZag::writeCmds(), YoYo::writeCmds(), VerticalTemperatureHomogeneityIndexCalculator::writeData(), StratificationFrontDetector::writeData(), DVL_micro::writeData(), Aanderaa_O2::writeData(), HFRCMVirtualSurfaceDrifter::writeData(), Radio_Surface::writeData(), ISUS::writeData(), WetLabsBB2FL::writeData(), CANONSampler::writeData(), Turbulence_NPS::writeData(), Rowe_600LCM::writeData(), Tracking::writeData(), CTD_NeilBrown::writeData(), Rowe_600::writeData(), PNI_TCM::writeData(), ESPComponent::writeData(), Slate::WriteOnce(), and Navigator::writeVehiclePosition().

bool DataWriter::write ( const Unit unit,
const double  value,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
virtual
bool DataWriter::write ( const Unit unit,
const int  value,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
virtual
bool DataWriter::write ( const DataValue value,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
virtual

Member Data Documentation

bool DataWriter::componentRequestingData_
protected

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