LRAUV  revA
PeakDetectVsDepth Class Reference

Contains the PeakDetectVsDepth Behavior/Command. More...

#include <PeakDetectVsDepth.h>

Inheritance diagram for PeakDetectVsDepth:
Collaboration diagram for PeakDetectVsDepth:

Public Member Functions

 PeakDetectVsDepth (const Str &prefix, const Module *module)
 
virtual ~PeakDetectVsDepth ()
 
void initialize (void)
 Initialize function. More...
 
bool readParams (float &depth, float &detect)
 Read in the parameters for satisfied or runIfUnsatisfied: return true if OK. More...
 
bool calcSatisfied (const float depth, const float detect)
 Perform the satisfied: return true if envelope "satisfied". More...
 
void run ()
 Just do the run: ignore the results of the satisfied. More...
 
bool isSatisfied ()
 Just do the satisfied: return true if envelope "satisfied". More...
 
bool runIfUnsatisfied ()
 Do the run, and return true if envelope "satisfied". More...
 
void uninitialize (void)
 Uninit function. More...
 
- Public Member Functions inherited from Behavior
virtual ~Behavior ()
 
bool executeIfUnsatisfied ()
 Combined run and test with metrics generation. More...
 
virtual void preempted ()
 
virtual bool isRunnable ()
 
virtual bool isSatisfiable ()
 
virtual bool isCommand ()
 
BehaviorState getBehaviorState () const
 
void setBehaviorState (BehaviorState behaviorState)
 
virtual bool isCompleted (void)
 Query if this component is completed. More...
 
SettingReaderfindSettingReader (const Str &settingURI)
 
SettingReaderaddValueClause (const Str &uriPart, ValueClause *valueClause)
 
void addArgWriter (const Str &uriPart, DataWriter *argWriter)
 
const TimespangetTimeout ()
 
void setTimeout (const Timespan &timeout)
 
- Public Member Functions inherited from Component
virtual ~Component ()
 Destructor cleans up readers_ and writers_. More...
 
void registerReader (DataReader *reader)
 
void unregisterReader (DataReader *reader)
 
void registerWriter (DataWriter *writer)
 
void unregisterWriter (DataWriter *writer)
 
void disableMetering (void)
 
FlexArray< DataReader * > & getReaderList (void)
 
FlexArray< DataWriter * > & getWriterList (void)
 
const ModulegetModule ()
 
virtual void configure ()
 Read (or re-read!) configuration settings. More...
 
virtual void execute (void)
 
bool isActive () const
 Indicates if the component is active. More...
 
const CodedStrgetName (void) const
 Returns the name. More...
 
const TimestampgetTimeOfLastRun (void) const
 
ComponentState getState (void)
 Return the component's current state. More...
 
void setState (ComponentState state)
 
RunState getRunState (void)
 Return the component's run state. More...
 
bool isUsingRunState ()
 Return true if using runState. More...
 
void requestData (bool requestingData)
 Tell the component to start (or stop) sending data. More...
 
void requestStart ()
 Tell the component to start runnning. More...
 
void requestPause (const Timespan expectedPauseTime)
 Tell the component to pause runnning. More...
 
void requestResume ()
 Tell the component resume from pause. More...
 
void requestStop ()
 Tell the component to stop runnning. More...
 
virtual RunState start ()
 Do what needs to be done to run Similar to initialize, in old init/run/uninit sequence. More...
 
virtual RunState starting ()
 Might follow a STOP...START sequence Subseqent. More...
 
virtual RunState runnable ()
 Should eventually follow a START request or RESETTING. More...
 
virtual RunState satisfied ()
 Possible return value of a Behavior. More...
 
virtual RunState pause ()
 Pause for a short period (indicated by pauseTime) More...
 
virtual RunState pausing ()
 Might follow a PAUSE request. More...
 
virtual RunState paused ()
 Should eventually follow a PAUSE request: should set continueTime. More...
 
virtual RunState resume ()
 Resume from PAUSE. More...
 
virtual RunState resuming ()
 Might follow a PAUSE...RESUME sequence. More...
 
virtual RunState resetting ()
 Might occur in case of Error. More...
 
virtual RunState stop ()
 Initial state – can be later followed by START. More...
 
virtual RunState stopping ()
 Might follow a STOP request. More...
 
virtual RunState stopped ()
 Should eventually follow a STOP request. More...
 
void setCriticalFailureReported (bool boolVal)
 
void setRecoveringFromCritical (bool boolVal)
 
void setFailureReported (bool boolVal)
 
bool isFailureUninitialized ()
 
void setFailureUninitialized (bool boolVal)
 
void setRetryTimeout (const Timespan &timeout)
 
void setPeriod (const Timespan &period)
 Set the period of this component... used if it is periodic. More...
 
const TimespangetPeriod (void)
 Returns the component's period (regardless of whether it is periodic) More...
 
ComponentType getComponentType ()
 Getter function for ComponentType. More...
 
virtual bool isFailed (void) const
 
virtual FailureMode::FailType getFailureType (void) const
 
virtual bool getCriticalFailureReported (void) const
 
virtual bool getFailureReported (void) const
 
virtual Timespan getRetryTimeout (void) const
 
virtual FailureMode::FailType setFailure (FailureMode::FailType failureType)
 
virtual int getFailCount (void) const
 
virtual bool isFailureMissionCritical ()
 
virtual int getAllowableFailures (void) const
 
virtual void setAllowableFailures (int fails)
 
LoggergetLogger (void)
 
virtual int incrementFailCount (void)
 
virtual void resetFailCount (void)
 
virtual int getSkippedRunsSinceFail (void) const
 
virtual int incrementSkippedRunsSinceFail (void)
 
virtual void logVoltage (float voltage, float averageVoltage)
 
virtual void logCurrent (float current, float averageCurrent)
 
const TimestampgetWriteTimestamp (void)
 
void setWriteTimestamp (const Timestamp &writeTimestamp)
 
BlobReadernewBlobReader (const BlobURI &blobURI)
 
BlobReadernewBlobReaderFromUniversal (const Str &componentName, const UniversalBlobURI &blobURI)
 
BlobWriternewBlobWriter (const BlobURI &blobURI, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
 
ConfigReadernewConfigReader (const ConfigURI &configURI)
 
DataReadernewDataReader (const DataURI &dataURI)
 
DataReadernewDataReaderFromUniversal (const Str &componentName, const UniversalURI &universalURI)
 
DataWriternewDataWriter (const DataURI &dataURI, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
 
UniversalBlobReadernewUniversalBlobReader (const UniversalBlobURI &universalURI)
 
UniversalBlobWriternewUniversalBlobWriter (const UniversalBlobURI &universalURI, const Unit &accuracyUnit=Units::NONE, const float accuracy=DataElement::NO_ACCURACY, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
 
UniversalDataReadernewUniversalReader (const UniversalURI &universalURI)
 
UniversalDataWriternewUniversalWriter (const UniversalURI &universalURI, const Unit &accuracyUnit=Units::NONE, const float accuracy=DataElement::NO_ACCURACY, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
 

Static Public Member Functions

static BehaviorCreateBehavior (const Str &prefix, const Module *module)
 Mission Component factory interface. More...
 

Protected Attributes

SettingReaderdetectSettingReader_
 Sets variable to detect the peak of (i.e., chl concentration) More...
 
SettingReaderdepthSurrogateSettingReader_
 Sets variable that is used instead of depth (i.e., distance) More...
 
SettingReaderconsecutiveDepthsSettingReader_
 Sets consecutiveDepths to detect a turn. More...
 
SettingReaderdepthChangeThreshSettingReader_
 Sets depthChangeThresh to detect a turn. More...
 
SettingReaderwindowLengthSettingReader_
 Sets windowLength around the value (i.e, 10 samples) More...
 
SettingReadershallowBoundSettingReader_
 
SettingReaderdeepBoundSettingReader_
 
int consecutiveDepthsSetting_
 Optional consecutiveDepths. More...
 
float depthChangeThreshSetting_
 Optional depthChangeThresh. More...
 
int windowLengthSetting_
 Optional windowLength. More...
 
const UnitdetectBaseUnit_
 
const UnitdepthBaseUnit_
 
DataReaderdetectReader_
 The value being detected as a peak (i.e., chl concentration) More...
 
DataReaderdepthReader_
 The value used to define the independent axis (i.e., depth) More...
 
DataReaderlatitudeReader_
 Reads latitude. More...
 
DataReaderlongitudeReader_
 Reads longitude. More...
 
DataWriterpeakDetectWriter_
 
DataWritertroughDetectWriter_
 
DataWriterpeakDepthWriter_
 
DataWriterpeakLatitudeWriter_
 
DataWriterpeakLongitudeWriter_
 
float peakDetect_
 Value of the peak when it occurs. More...
 
float troughDetect_
 
float peakDepth_
 
float peakLatitude_
 
float peakLongitude_
 
float peakShallowBound_
 
float peakDeepBound_
 
int cntrVar_
 
int stateDepth_ [2]
 
float dep_ [MAX_COSEC_DEPTH]
 
float depMax_
 
float depMin_
 
float varProfileInWindow_ [MAX_WINDOW_LENGTH]
 
float depthInWindow_ [MAX_WINDOW_LENGTH]
 
float varLowPass_
 
float depthLowPass_
 
float peakProfile_
 
float troughProfile_
 
- Protected Attributes inherited from Behavior
bool runnable_
 
bool satisfiable_
 
BehaviorState behaviorState_
 
Timespan timeout_
 Time before this behavior must end – defaults no timeout. More...
 
FastMap< const Str, SettingReader * > * settingReaderMap_
 
FastMap< const Str, DataWriter * > * argWriterMap_
 
- Protected Attributes inherited from Component
Logger logger_
 
Syslog::Severity debugLevel_
 
ComponentState state_
 Keep track of whether the component has "completed" or should be run again. More...
 
Timespan desiredPeriod_
 
CodedStrname_
 Store the component's name (used for logging purposes) More...
 
Timestamp timeOfRun_
 
Timestamp timeOfLastRun_
 
Timespan durationOfLastRun_
 
Timespan dt_
 
Timespan retryTimeout_
 
bool enabled_
 
bool failureReported_
 Indicates if the failure has been reported – cuts down on syslog. More...
 
bool criticalFailureReported_
 Indicates if a "Critical" failure has been reported – cuts down on syslog. More...
 
bool recoveringFromCritical_
 Indicates that a component had a previous critical failure that has been cleared temporarily awaiting final word from the component itself. More...
 
bool failureUninitialized_
 Indicates if the failure has resulted in an uninitialize call. More...
 
int failCount_
 Number of failures logged by PCaller. More...
 
bool failureMissionCritical_
 If true (default), complete failure ends mission. More...
 
int allowableFailures_
 Number of failures allowed to occur. More...
 
int skippedRunsSinceFail_
 Number of skipped runs since failureMode_ set by failCount_. More...
 
FailureMode::FailType failureType_
 Failed status. If failCount_ > 0, then this may be reset. More...
 
Timestamp timeOfFailure_
 Time of last failure. Relevant only if failed=true. More...
 
Timestamp writeTimestamp_
 Time of last write. More...
 
FlexArray< DataReader * > readers_
 
FlexArray< DataWriter * > writers_
 
const Modulemodule_
 
Timespan pauseTime_
 
bool meteringEnabled_
 If true, metering is enabled. More...
 
DataWriterdurationOfLastRunWriter_
 Writer for durationOfLastRun. More...
 
DataWritervoltageWriter_
 
DataWriteravgVoltageWriter_
 
DataWritercurrentWriter_
 
DataWriteravgCurrentWriter_
 
bool persistentPause_
 True if data is persistent while component is paused. More...
 

Static Protected Attributes

static const Str DEFAULT_DEPTH_SURROGATE_SETTING
 Default values for input settings (Supplied so outputs can be directed to these inputs) More...
 
static const int DEFAULT_CONSECUTIVE_DEPTHS
 if no "consecutiveDepths" setting is provided, what to use More...
 
static const float DEFAULT_DEPTH_CHANGE_THRESH
 if no "depthChangeThresh" setting is provided, what to use More...
 
static const int DEFAULT_WINDOW_LENGTH
 if no "windowLength" setting is provided, what to use More...
 

Private Member Functions

 PeakDetectVsDepth (const PeakDetectVsDepth &old)
 
void initVars ()
 

Additional Inherited Members

- Public Types inherited from Behavior
enum  BehaviorState {
  BEHAVIOR_INACTIVE, BEHAVIOR_CALLED, BEHAVIOR_ACTIVE, BEHAVIOR_TIMEOUT,
  BEHAVIOR_COMPLETED
}
 
- Public Types inherited from Component
enum  ComponentState {
  BLOCK_CONTINUOUS, BLOCK_PERIODIC, BLOCK_NORMAL, BLOCK_COMPLETED,
  BLOCK_UNKNOWN
}
 In this model, the component has basically two states: wanting to run, and completed (no longer needing to run). More...
 
enum  ComponentType { COMPONENT_ASYNC, COMPONENT_CONFIG, COMPONENT_BEHAVIOR, COMPONENT_SYNC }
 Components can indicate how they want to be handled by their type. More...
 
enum  RunState {
  NO_RUN_STATE = 0, START, STARTING, RUNNABLE,
  SATISFIED, PAUSE, PAUSING, PAUSED,
  RESUME, RESUMING, RESETTING, STOP,
  STOPPING, STOPPED
}
 
- Protected Types inherited from Component
enum  ConfigOption { CONFIG_SIMULATE_HARDWARE, CONFIG_POWER, CONFIG_FREQUENCY, CONFIG_LATENCY }
 
- Protected Member Functions inherited from Behavior
 Behavior (const Str &name, const Module *module, const bool runnable, const bool satisfiable)
 Protected constructor for abstract base class. More...
 
 Behavior (const Behavior &old)
 
SettingReadernewSettingReader (const Str &uriPart, const DataValue *defaultValue, bool deleteDefaultValue=true)
 
SettingReadernewSettingReader (const SettingURI &uriPart)
 
DataWriterfindArgWriter (const OutputURI &uriPart)
 
- Protected Member Functions inherited from Component
virtual ConfigURI getConfigURI (ConfigOption configOption) const
 Should return [myNamespace]::SIMULATE_HARDWARE, or [myNamespace]::POWER, etc. More...
 
virtual ConfigURI getConfigURI (ConfigOption configOption, ElementURI forElement) const
 Should return [myNamespace]::POWER_[forElement], [myNamespace]::LATENCY_[forElement], etc. More...
 
virtual void setDurationOfLastRun (const Timespan &span)
 
virtual void setTimeOfRun (const Timestamp &time)
 
virtual void setTimeOfLastRun (const Timestamp &time)
 
virtual void setDt (const Timespan &dt)
 
virtual bool setEnabled (bool enabled=true)
 
void setRunState (const RunState runState)
 
const Timespan getPauseTime () const
 
virtual void setFailureMissionCritical (bool failureMissionCritical)
 
bool simulateHardware ()
 

Detailed Description

Contains the PeakDetectVsDepth Behavior/Command.

TBD

PeakDetectVsDepth.h should only be included by PeakDetectVsDepth.cpp Other classes should include PeakDetectVsDepthIF.h

Constructor & Destructor Documentation

PeakDetectVsDepth::~PeakDetectVsDepth ( )
virtual
PeakDetectVsDepth::PeakDetectVsDepth ( const PeakDetectVsDepth old)
private

Member Function Documentation

Behavior * PeakDetectVsDepth::CreateBehavior ( const Str prefix,
const Module module 
)
static

Mission Component factory interface.

References PeakDetectVsDepth().

Referenced by TriggerModule::loadComponents().

void PeakDetectVsDepth::initVars ( )
private
bool PeakDetectVsDepth::isSatisfied ( )
virtual

Just do the satisfied: return true if envelope "satisfied".

Reimplemented from Behavior.

References calcSatisfied(), and readParams().

bool PeakDetectVsDepth::readParams ( float &  depth,
float &  detect 
)

Read in the parameters for satisfied or runIfUnsatisfied: return true if OK.

References depthBaseUnit_, depthReader_, detectBaseUnit_, detectReader_, DataReader::isActive(), DataReader::read(), and DataReader::wasTouchedSinceLastRun().

Referenced by isSatisfied(), and runIfUnsatisfied().

void PeakDetectVsDepth::run ( void  )
virtual

Just do the run: ignore the results of the satisfied.

Reimplemented from Component.

References runIfUnsatisfied().

bool PeakDetectVsDepth::runIfUnsatisfied ( void  )
virtual
void PeakDetectVsDepth::uninitialize ( void  )
virtual

Uninit function.

Reimplemented from Component.

References Component::logger_, and Logger::syslog().

Member Data Documentation

int PeakDetectVsDepth::cntrVar_
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

int PeakDetectVsDepth::consecutiveDepthsSetting_
protected

Optional consecutiveDepths.

Referenced by calcSatisfied(), and initialize().

SettingReader* PeakDetectVsDepth::consecutiveDepthsSettingReader_
protected

Sets consecutiveDepths to detect a turn.

Referenced by initialize(), and PeakDetectVsDepth().

SettingReader* PeakDetectVsDepth::deepBoundSettingReader_
protected
const int PeakDetectVsDepth::DEFAULT_CONSECUTIVE_DEPTHS
staticprotected

if no "consecutiveDepths" setting is provided, what to use

Referenced by initialize().

const float PeakDetectVsDepth::DEFAULT_DEPTH_CHANGE_THRESH
staticprotected

if no "depthChangeThresh" setting is provided, what to use

if no "independentChangeThresh" setting is provided, what to use

Referenced by initialize().

const Str PeakDetectVsDepth::DEFAULT_DEPTH_SURROGATE_SETTING
staticprotected

Default values for input settings (Supplied so outputs can be directed to these inputs)

if no "depthSurrogate" setting is provided, what to use

const int PeakDetectVsDepth::DEFAULT_WINDOW_LENGTH
staticprotected

if no "windowLength" setting is provided, what to use

if no "windowLength" setting is provided, what to use. The default low-pass window length 20 corresponds to 10Hz sampling rate of EcoPuck.

Referenced by calcSatisfied(), and initialize().

float PeakDetectVsDepth::dep_[MAX_COSEC_DEPTH]
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

float PeakDetectVsDepth::depMax_
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

float PeakDetectVsDepth::depMin_
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

const Unit* PeakDetectVsDepth::depthBaseUnit_
protected
float PeakDetectVsDepth::depthChangeThreshSetting_
protected

Optional depthChangeThresh.

Referenced by calcSatisfied(), and initialize().

SettingReader* PeakDetectVsDepth::depthChangeThreshSettingReader_
protected

Sets depthChangeThresh to detect a turn.

Referenced by initialize(), and PeakDetectVsDepth().

float PeakDetectVsDepth::depthInWindow_[MAX_WINDOW_LENGTH]
protected

Referenced by calcSatisfied().

float PeakDetectVsDepth::depthLowPass_
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

DataReader* PeakDetectVsDepth::depthReader_
protected

The value used to define the independent axis (i.e., depth)

Referenced by initialize(), PeakDetectVsDepth(), and readParams().

SettingReader* PeakDetectVsDepth::depthSurrogateSettingReader_
protected

Sets variable that is used instead of depth (i.e., distance)

Referenced by initialize(), and PeakDetectVsDepth().

const Unit* PeakDetectVsDepth::detectBaseUnit_
protected
DataReader* PeakDetectVsDepth::detectReader_
protected

The value being detected as a peak (i.e., chl concentration)

Referenced by initialize(), PeakDetectVsDepth(), and readParams().

SettingReader* PeakDetectVsDepth::detectSettingReader_
protected

Sets variable to detect the peak of (i.e., chl concentration)

Referenced by initialize(), and PeakDetectVsDepth().

DataReader* PeakDetectVsDepth::latitudeReader_
protected

Reads latitude.

Referenced by calcSatisfied(), and PeakDetectVsDepth().

DataReader* PeakDetectVsDepth::longitudeReader_
protected

Reads longitude.

Referenced by calcSatisfied(), and PeakDetectVsDepth().

float PeakDetectVsDepth::peakDeepBound_
protected

Referenced by calcSatisfied(), and initialize().

float PeakDetectVsDepth::peakDepth_
protected
DataWriter* PeakDetectVsDepth::peakDepthWriter_
protected
float PeakDetectVsDepth::peakDetect_
protected

Value of the peak when it occurs.

Referenced by calcSatisfied(), PeakDetectVsDepth(), and runIfUnsatisfied().

DataWriter* PeakDetectVsDepth::peakDetectWriter_
protected
float PeakDetectVsDepth::peakLatitude_
protected

Referenced by calcSatisfied(), and runIfUnsatisfied().

DataWriter* PeakDetectVsDepth::peakLatitudeWriter_
protected
float PeakDetectVsDepth::peakLongitude_
protected

Referenced by calcSatisfied(), and runIfUnsatisfied().

DataWriter* PeakDetectVsDepth::peakLongitudeWriter_
protected
float PeakDetectVsDepth::peakProfile_
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

float PeakDetectVsDepth::peakShallowBound_
protected

Referenced by calcSatisfied(), and initialize().

SettingReader* PeakDetectVsDepth::shallowBoundSettingReader_
protected
int PeakDetectVsDepth::stateDepth_[2]
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

float PeakDetectVsDepth::troughDetect_
protected

Referenced by calcSatisfied().

DataWriter* PeakDetectVsDepth::troughDetectWriter_
protected

Referenced by initialize().

float PeakDetectVsDepth::troughProfile_
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

float PeakDetectVsDepth::varLowPass_
protected

Referenced by calcSatisfied(), and PeakDetectVsDepth().

float PeakDetectVsDepth::varProfileInWindow_[MAX_WINDOW_LENGTH]
protected

Referenced by calcSatisfied().

int PeakDetectVsDepth::windowLengthSetting_
protected

Optional windowLength.

Referenced by calcSatisfied(), and initialize().

SettingReader* PeakDetectVsDepth::windowLengthSettingReader_
protected

Sets windowLength around the value (i.e, 10 samples)

Referenced by calcSatisfied(), initialize(), and PeakDetectVsDepth().


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