|
LRAUV
revA
|
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL, which is returned if a dataValue request is made and this Accessor's associated DataElement is unavailable for some reason (not initialized, orphaned, or failed). More...
#include <DataReader.h>


Public Member Functions | |
| DataReader (Component *owner, DataElement &element, const DataValue *defaultValue, bool deleteDefaultValue=true) | |
| DataReader (Component *owner, DataElement &element, const Unit &defaultUnit) | |
| virtual | ~DataReader () |
| const Unit * | getDefaultUnit () |
| bool | isUnavailable (void) |
| Status and state functions. More... | |
| bool | isInvalid (void) |
| bool | isOrphaned (void) |
| bool | isActive (void) |
| bool | read (const Unit &unit, unsigned char &readTo) |
| Get functions. More... | |
| bool | read (const Unit &unit, double &readTo) |
| bool | read (const Unit &unit, float &readTo) |
| bool | read (const Unit &unit, int &readTo) |
| bool | read (bool &readTo) |
| bool | read (Timespan &readTo) |
| bool | read (DataValue &readTo) |
| int | asInt (const Unit &unit) |
| double | asDouble (const Unit &unit) __attribute__((deprecated)) |
| Str | asString (const Unit &unit) |
| const Timestamp & | getTimestamp (void) const |
| Returns the Timestamp of the last write to this reader's DataElement. More... | |
| bool | wasTouchedSinceLastRun (const Component *component) |
| Returns true if the value was touched since the last run of the indicated component. More... | |
| virtual void | requestData (bool requestingData) |
| virtual void | requestData (RequestStrategy requestStrategy) |
| bool | isRequestingData (void) |
| RequestStrategy | getRequestStrategy (void) |
| void | setImplementor (bool implementor=true) |
| bool | isImplementor () |
Public Member Functions inherited from DataAccessor | |
| virtual | ~DataAccessor () |
| virtual DataElement & | getElement (void) const |
| virtual Component * | getOwner (void) const |
| virtual const ElementURI & | getUri (void) const |
| AccessorType | getAccessorType () const |
| DataAccess * | getDataAccess () const |
| Logger::TimePrecisionType | getTimePrecision () const |
Protected Attributes | |
| RequestStrategy | requestStrategy_ |
| const DataValue * | defaultValue_ |
| const Unit & | defaultUnit_ |
| bool | deleteDefaultValue_ |
| bool | implementor_ |
Protected Attributes inherited from DataAccessor | |
| Component * | owner_ |
| DataElement & | element_ |
| AccessorType | accessorType_ |
| Logger::TimePrecisionType | timePrecision_ |
| DataAccess * | dataAccess_ |
Private Member Functions | |
| DataReader (const DataReader &old) | |
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... | |
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL, which is returned if a dataValue request is made and this Accessor's associated DataElement is unavailable for some reason (not initialized, orphaned, or failed).
| DataReader::DataReader | ( | Component * | owner, |
| DataElement & | element, | ||
| const DataValue * | defaultValue, | ||
| bool | deleteDefaultValue = true |
||
| ) |
References Component::registerReader(), and DataElement::registerReader().
| DataReader::DataReader | ( | Component * | owner, |
| DataElement & | element, | ||
| const Unit & | defaultUnit | ||
| ) |
References Component::registerReader(), and DataElement::registerReader().
|
virtual |
|
private |
| double DataReader::asDouble | ( | const Unit & | unit | ) |
| int DataReader::asInt | ( | const Unit & | unit | ) |
References DataElement::asString(), defaultValue_, DataAccessor::element_, DataElement::isActive(), and DataValue::toString().
Referenced by SBIT::initialize(), ExternalSim::initialize(), and SyslogComponent::run().
| const Unit * DataReader::getDefaultUnit | ( | ) |
References defaultUnit_.
Referenced by LuaAPI::Exec(), MissionItem::initialize(), and ReadDataComponent::requestData().
|
inline |
References requestStrategy_.
Referenced by UniversalDataElement::isAnyDataRequested(), and UniversalDataElement::isDataRequested().
| const Timestamp & DataReader::getTimestamp | ( | void | ) | const |
Returns the Timestamp of the last write to this reader's DataElement.
References DataAccessor::element_, and DataElement::getTimestamp().
Referenced by PeakDetectHorizontal::calcSatisfied(), ValueClause::evalSide(), ReadDataComponent::isSatisfied(), Navigator::readExternalFix(), InternalSim::run(), and NavigationSim::run().
| bool DataReader::isActive | ( | void | ) |
References DataAccessor::element_, and DataElement::isActive().
Referenced by VerticalTemperatureHomogeneityIndexCalculator::addSample(), NAL9602::awake(), NAL9602::belowSurfaceThreshold(), ZigZag::calculate(), YoYo::calculate(), CBIT::checkDepth(), GoToSurface::checkPitchAndAltitude(), HorizontalControl::controlHeading(), VerticalControl::controlVertical(), Lane::doRun(), CBIT::empiricalFaultClassification(), PNI_TCM::getMagneticVariation(), NAL9602::goToSleep(), CBIT::handleComponentFaults(), Waypoint::initialize(), Circle::initialize(), HFRadarModelPoint::initialize(), Lane::initialize(), NAL9602::isDataRequested(), ElevatorServo::isNeeded(), RudderServo::isNeeded(), ThrusterServo::isNeeded(), Waypoint::isSatisfied(), Circle::isSatisfied(), KeepStation::isSatisfied(), HFRCMSurfaceCurrentAtVehicleLocation::lookupEmpiricalOrthogonalFunctions(), VerticalControl::overrideVertical(), DVL_micro::processNQ1(), StratificationFrontDetector::readData(), SetSpeed::readParams(), PeakDetectHorizontal::readParams(), PeakDetectVsDepth::readParams(), OffshoreEnvelope::readParams(), WaterDepthEnvelope::readParams(), Lane::readParams(), AltitudeEnvelope::readParams(), TempGradientCalculator::run(), SpeedCalculator::run(), Depth_Keller::run(), SpeedControl::run(), IBIT::run(), VerticalControl::run(), NavChart::run(), HorizontalControl::run(), HFRCMReconstructedInterpolator::run(), HFRCMTimeInterpolator::run(), DepthRateCalculator::run(), Tracking::run(), ElevatorServo::runnable(), MassServo::runnable(), RudderServo::runnable(), BuoyancyServo::runnable(), ThrusterServo::runnable(), AHRS_3DMGX3::runnable(), CTD_NeilBrown::runnable(), AHRS_sp3003D::runnable(), VerticalControl::setMassAndElevator(), VerticalControl::setPitch(), Radio_Surface::shouldBeOn(), Universal_Test::test1DUniversalBlobReadWrite(), Universal_Test::test3DUniversalBlobReadWrite(), Blob_Test::testReadWrite(), and Blob_Test::testReadWriteConversions().
|
inline |
References implementor_.
Referenced by DataElement::isImplemented().
| bool DataReader::isInvalid | ( | void | ) |
References DataAccessor::element_, and DataElement::isInvalid().
| bool DataReader::isOrphaned | ( | void | ) |
References DataAccessor::element_, and DataElement::isOrphaned().
|
inline |
References DataAccessor::NO_STRATEGY, and requestStrategy_.
Referenced by CommandLine::getLines(), and DataElement::isDataRequested().
| bool DataReader::isUnavailable | ( | void | ) |
Status and state functions.
References DataAccessor::element_, and DataElement::isUnavailable().
| bool DataReader::read | ( | const Unit & | unit, |
| unsigned char & | readTo | ||
| ) |
Get functions.
References DataValue::copyTo(), defaultValue_, DataAccessor::element_, DataElement::get(), and DataElement::isActive().
Referenced by BuoyancyServo::abovePumpDepth(), VerticalTemperatureHomogeneityIndexCalculator::addSample(), HFRCMVirtualSurfaceDrifter::advect(), NAL9602::belowSurfaceThreshold(), PeakDetectVsDepth::calcSatisfied(), Buoyancy::calcSatisfied(), ZigZag::calculate(), YoYo::calculate(), CBIT::checkDepth(), CBIT::checkLocation(), GoToSurface::checkPitchAndAltitude(), CommandLine::commandConversation(), VerticalControl::controlDepth(), VerticalControl::controlDepthRate(), HorizontalControl::controlHeading(), SpeedControl::controlSpeed(), VerticalControl::controlVertical(), IBIT::ctrlSurfaceCheckPos(), SBIT::ctrlSurfaceCheckPos(), Lane::doRun(), CBIT::empiricalFaultClassification(), ValueClause::evalSide(), LuaAPI::Exec(), VerticalControl::floatAtSurface(), CommandLine::getLines(), PNI_TCM::getMagneticVariation(), AcousticModem_Benthos_ATM900::gotNewQuery(), DAT::gotNewQuery(), HorizontalControl::headingControl(), HFRadarModelCalc::HFRadarModelCalc(), HFRCMSurfaceCurrentAtVehicleLocation::HFRCMSurfaceCurrentAtVehicleLocation(), UniversalFixResidualReporter::initialize(), Circle::initialize(), Point::initialize(), Waypoint::initialize(), NavChartDb::initialize(), HFRadarModelPoint::initialize(), HFRCMSpaceInterpolator::initialize(), HFRCMReconstructedInterpolator::initialize(), HorizontalControl::initialize(), KeepStation::initialize(), Lane::initialize(), MissionItem::initialize(), ElevatorServo::isNeeded(), RudderServo::isNeeded(), BuoyancyServo::isNeeded(), MassServo::isNeeded(), ThrusterServo::isNeeded(), Waypoint::isSatisfied(), Circle::isSatisfied(), HFRadarModelPoint::isSatisfied(), KeepStation::isSatisfied(), HFRadarCompactModelForecaster::loadHistory(), SimulatorUtils::LoadInit(), GoToSurface::loadParams(), HFRCMSurfaceCurrentAtVehicleLocation::lookupEmpiricalOrthogonalFunctions(), VerticalControl::massAndElevatorControl(), CBIT::monitorBatteryTemps(), CBIT::monitorEnvironmentals(), VerticalControl::overrideVertical(), CTD_NeilBrown::preprocessData(), Tracking::processFromDAT(), DVL_micro::processNQ1(), DepthEnvelope::projectDepth(), ExternalSim::publishState(), HFRCMReconstructedInterpolator::publishSurfaceCurrentAtVehicleLocation(), HFRadarModelCalc::publishSurfaceCurrentAtVehicleLocation(), UniversalBlobReader::read(), BlobReader::read(), Rowe_600::readAccuracyConfigs(), ESPComponent::readAdjustableConfigs(), TempGradientCalculator::readConfig(), VerticalTemperatureHomogeneityIndexCalculator::readConfig(), DepthServo::readConfig(), StratificationFrontDetector::readConfig(), Depth_Keller::readConfig(), IBIT::readConfig(), VerticalControl::readConfig(), SBIT::readConfig(), SpeedControl::readConfig(), PitchServo::readConfig(), DVL_micro::readConfig(), PAR_Licor::readConfig(), Onboard::readConfig(), WetLabsBB2FL::readConfig(), AcousticModem_Benthos_ATM900::readConfig(), HorizontalControl::readConfig(), DAT::readConfig(), SCPI::readConfig(), AHRS_3DMGX3::readConfig(), PNI_TCM::readConfig(), CTD_NeilBrown::readConfig(), CANONSampler::readConfig(), PrepareToDive::readConfig(), Batt_Ocean_Server::readConfig(), DataOverHttps::readConfig(), BPC1::readConfig(), EZServoServo::readConfig(), Turner_Cyclops_rhodamine::readConfig(), Rowe_600::readConfig(), Rowe_600LCM::readConfig(), ElevatorServo::readConfig(), RudderServo::readConfig(), CBIT::readConfig(), MassServo::readConfig(), ThrusterServo::readConfig(), BuoyancyServo::readConfig(), AltitudeEnvelope::readConfig(), DepthEnvelope::readConfig(), YoYo::readConfig(), AHRS_sp3003D::readConfig(), NAL9602::readConfig(), Navigator::readConfigs(), ESPComponent::readConfigs(), StratificationFrontDetector::readData(), Navigator::readExternalFix(), Tracking::readFromDAT(), Rowe_600::readInterfaceConfigs(), Rowe_600::readOffsetConfigs(), SetSpeed::readParams(), Point::readParams(), GoToSurface::readParams(), PeakDetectHorizontal::readParams(), PeakDetectVsDepth::readParams(), PrepareToDive::readParams(), Pitch::readParams(), WaterDepthEnvelope::readParams(), OffshoreEnvelope::readParams(), DepthServo::readParams(), PitchServo::readParams(), AltitudeEnvelope::readParams(), Lane::readParams(), DepthEnvelope::readParams(), Pitch::readSettings(), DeadReckonUsingSpeedCalculator::readVehicleVelocity(), DeadReckonWithRespectToWater::readVehicleVelocity(), DeadReckonUsingDVLWaterTrack::readVehicleVelocity(), DeadReckonWithRespectToSeafloor::readVehicleVelocity(), DeadReckonUsingCompactModelForecast::readVehicleVelocity(), DeadReckonUsingMultipleVelocitySources::readVehicleVelocity(), Rowe_600::readWriterConfigs(), UniversalFixResidualReporter::reportFixResidual(), PeakDetectHorizontal::reportPeak(), ReadDataComponent::requestData(), TempGradientCalculator::run(), SpeedCalculator::run(), PAR_Licor::run(), Depth_Keller::run(), IBIT::run(), LoopControl::run(), NavChart::run(), YawRateCalculator::run(), HFRCMSurfaceCurrentAtVehicleLocation::run(), PitchRateCalculator::run(), HFRadarModelPoint::run(), MissionManager::run(), Circle::run(), DepthRateCalculator::run(), InternalSim::run(), ExternalSim::run(), NavigationSim::run(), DepthServo::run(), MissionItem::run(), HFRadarModel::runIfUnsatisfied(), AltitudeEnvelope::runIfUnsatisfied(), DepthEnvelope::runIfUnsatisfied(), ValueDetect::runIfUnsatisfied(), OffshoreEnvelope::runIfUnsatisfied(), WaterDepthEnvelope::runIfUnsatisfied(), MissionItem::runIfUnsatisfied(), ElevatorServo::runnable(), MassServo::runnable(), RudderServo::runnable(), BuoyancyServo::runnable(), ThrusterServo::runnable(), AHRS_3DMGX3::runnable(), CTD_NeilBrown::runnable(), AHRS_sp3003D::runnable(), CBIT::scanGFChan(), VerticalControl::setBuoyancy(), AHRS_sp3003D::setCalMode(), YoYo::setGoingDown(), HorizontalControl::setHeading(), HorizontalControl::setHeadingRate(), VerticalControl::setMassAndElevator(), VerticalControl::setPitch(), VerticalControl::setPitchRate(), Radio_Surface::shouldBeOn(), Component::simulateHardware(), OffshoreEnvelope_Test::testRun(), and WetLabsBB2FL::writeData().
| bool DataReader::read | ( | const Unit & | unit, |
| double & | readTo | ||
| ) |
References DataValue::copyTo(), defaultValue_, DataAccessor::element_, DataElement::get(), and DataElement::isActive().
| bool DataReader::read | ( | const Unit & | unit, |
| float & | readTo | ||
| ) |
References DataValue::copyTo(), defaultValue_, DataAccessor::element_, DataElement::get(), and DataElement::isActive().
| bool DataReader::read | ( | const Unit & | unit, |
| int & | readTo | ||
| ) |
References DataValue::copyTo(), defaultValue_, DataAccessor::element_, DataElement::get(), and DataElement::isActive().
| bool DataReader::read | ( | bool & | readTo | ) |
| bool DataReader::read | ( | Timespan & | readTo | ) |
| bool DataReader::read | ( | DataValue & | readTo | ) |
References DataValue::copyTo(), defaultValue_, DataAccessor::element_, DataElement::get(), and DataElement::isActive().
|
inlinevirtual |
Reimplemented in UniversalDataReader.
References DataAccessor::MIN_POWER, and DataAccessor::NO_STRATEGY.
Referenced by CommandLine::commandGFscan(), CommandLine::commandIbit(), CommandLine::getLines(), DeadReckonUsingSpeedCalculator::initialize(), DeadReckonUsingDVLWaterTrack::initialize(), DepthEnvelope::initialize(), HFRCMReconstructedInterpolator::initialize(), DeadReckonUsingMultipleVelocitySources::initialize(), HFRCMTimeInterpolator::initialize(), Tracking::requestAcousticData(), ReadDataComponent::requestData(), Tracking::requestVehiclePose(), IBIT::run(), and DepthEnvelope::uninitialize().
|
inlinevirtual |
Reimplemented in UniversalDataReader.
References requestStrategy_.
|
inline |
References implementor_.
Referenced by BuoyancyServo::BuoyancyServo(), ElevatorServo::ElevatorServo(), MassServo::MassServo(), RudderServo::RudderServo(), and ThrusterServo::ThrusterServo().
| bool DataReader::wasTouchedSinceLastRun | ( | const Component * | component | ) |
Returns true if the value was touched since the last run of the indicated component.
References DataAccessor::element_, and DataElement::wasTouchedSinceLastRun().
Referenced by ZigZag::calculate(), YoYo::calculate(), CBIT::checkDepth(), VerticalControl::controlDepth(), HorizontalControl::controlHeading(), SpeedControl::controlSpeed(), VerticalControl::controlVertical(), Lane::doRun(), AcousticModem_Benthos_ATM900::gotNewQuery(), DAT::gotNewQuery(), CBIT::handleComponentFaults(), CBIT::monitorBatteryTemps(), VerticalControl::overrideVertical(), ExternalSim::publishState(), StratificationFrontDetector::readData(), PeakDetectHorizontal::readParams(), PeakDetectVsDepth::readParams(), DepthServo::readParams(), AltitudeEnvelope::readParams(), DepthEnvelope::readParams(), UniversalFixResidualReporter::run(), LoopControl::run(), HFRadarModelCalc::run(), NavChart::run(), HFRCMReconstructedInterpolator::run(), HFRCMTimeInterpolator::run(), HFRadarCompactModelForecaster::run(), ExternalSim::run(), Tracking::run(), VerticalControl::setMassAndElevator(), VerticalControl::setPitch(), ValueClause::wasTouchedSinceLastRun(), and WetLabsBB2FL::writeData().
|
protected |
Referenced by getDefaultUnit().
|
protected |
Referenced by asDouble(), asInt(), asString(), read(), and ~DataReader().
|
protected |
Referenced by ~DataReader().
|
protected |
Referenced by isImplementor(), and setImplementor().
|
protected |
Referenced by getRequestStrategy(), isRequestingData(), UniversalDataReader::requestData(), and requestData().