411 virtual void logVoltage(
float voltage,
float averageVoltage );
412 virtual void logCurrent(
float current,
float averageCurrent );
481 #define DEBUG_LOG(...) if(debugLevel_>Syslog::NONE){logger_.syslog(__VA_ARGS__,debugLevel_);}
589 failureMissionCritical_ = failureMissionCritical;
633 segfaultRequested_ =
true;
Client-side interface for injecting log data into the log queue.
Definition: Logger.h:30
const Timespan & getPeriod(void)
Returns the component's period (regardless of whether it is periodic)
Definition: Component.h:331
Component(const Component &old)
int allowableFailures_
Number of failures allowed to occur.
Definition: Component.h:519
DataWriter * newDataWriter(const DataURI &dataURI, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
Definition: Component.cpp:610
A ThreadHandler is a Handler which runs in its own thread.
Definition: ThreadHandler.h:25
virtual Timespan getRetryTimeout(void) const
Definition: Component.h:362
virtual RunState satisfied()
Possible return value of a Behavior.
Definition: Component.h:229
DataWriter * currentWriter_
Definition: Component.h:555
ComponentType
Components can indicate how they want to be handled by their type.
Definition: Component.h:107
bool simulateHardware()
Definition: Component.cpp:486
UniversalBlobReader * newUniversalBlobReader(const UniversalBlobURI &universalURI)
Definition: Component.cpp:622
Definition: Component.h:126
virtual bool setEnabled(bool enabled=true)
Definition: Component.h:572
virtual ConfigURI getConfigURI(ConfigOption configOption, ElementURI forElement) const
Should return [myNamespace]::POWER_[forElement], [myNamespace]::LATENCY_[forElement], etc.
Definition: Component.h:471
void segfaultImpl()
Definition: Component.cpp:674
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: UniversalDataReader.h:26
Definition: Component.h:121
UniversalDataWriter * newUniversalWriter(const UniversalURI &universalURI, const Unit &accuracyUnit=Units::NONE, const float accuracy=DataElement::NO_ACCURACY, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
Definition: Component.cpp:656
DataReader * newDataReaderFromUniversal(const Str &componentName, const UniversalURI &universalURI)
Definition: Component.cpp:603
Definition: UniversalURI.h:519
virtual bool isFailed(void) const
Definition: Component.h:342
virtual void execute(void)
Definition: Component.cpp:124
Timespan durationOfLastRun_
Definition: Component.h:492
Definition: ElementURI.h:211
void setPeriod(const Timespan &period)
Set the period of this component... used if it is periodic.
Definition: Component.h:325
void requestPause(const Timespan expectedPauseTime)
Tell the component to pause runnning.
Definition: Component.cpp:350
void registerReader(DataReader *reader)
Definition: Component.cpp:92
virtual RunState runnable()
Should eventually follow a START request or RESETTING.
Definition: Component.h:223
Definition: Component.h:460
virtual RunState stopped()
Should eventually follow a STOP request.
Definition: Component.h:283
Timestamp timeOfFailure_
Time of last failure. Relevant only if failed=true.
Definition: Component.h:528
virtual ConfigURI getConfigURI(ConfigOption configOption) const
Should return [myNamespace]::SIMULATE_HARDWARE, or [myNamespace]::POWER, etc.
Definition: Component.h:465
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: DataReader.h:30
RunState runState_
Definition: Component.h:599
virtual int incrementSkippedRunsSinceFail(void)
Definition: Component.h:406
virtual bool isFailureMissionCritical()
Definition: Component.h:374
bool meteringEnabled_
If true, metering is enabled.
Definition: Component.h:546
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: UniversalDataWriter.h:24
bool segfaultRequested_
Definition: Component.h:607
BlobReader * newBlobReader(const BlobURI &blobURI)
Definition: Component.cpp:547
DataWriter * avgCurrentWriter_
Definition: Component.h:556
void requestStart()
Tell the component to start runnning.
Definition: Component.cpp:322
Definition: Component.h:125
virtual bool getFailureReported(void) const
Definition: Component.h:357
Definition: BlobReader.h:212
virtual RunState paused()
Should eventually follow a PAUSE request: should set continueTime.
Definition: Component.h:247
virtual RunState stop()
Initial state – can be later followed by START.
Definition: Component.h:271
RunState
Definition: Component.h:115
Definition: Component.h:459
Logger logger_
Definition: Component.h:476
bool isFailureUninitialized()
Definition: Component.h:303
Definition: Component.h:130
bool failureUninitialized_
Indicates if the failure has resulted in an uninitialize call.
Definition: Component.h:510
Timespan class, represents a delta of time.
Definition: Timestamp.h:248
const Timespan getPauseTime() const
Definition: Component.h:582
virtual bool getCriticalFailureReported(void) const
Definition: Component.h:352
void requestResume()
Tell the component resume from pause.
Definition: Component.cpp:381
const Timestamp & getWriteTimestamp(void)
Definition: Component.h:414
bool isActive() const
Indicates if the component is active.
Definition: Component.cpp:434
Definition: Component.h:127
virtual void setDt(const Timespan &dt)
Definition: Component.cpp:285
Definition: Component.h:119
runs continuously in its own thread.
Definition: Component.h:95
Behavior is the abstract base class for components that implement mission behaviors and commands...
Definition: Behavior.h:32
virtual RunState pause()
Pause for a short period (indicated by pauseTime)
Definition: Component.h:235
virtual int getSkippedRunsSinceFail(void) const
Definition: Component.h:401
DataReader * newDataReader(const DataURI &dataURI)
Definition: Component.cpp:592
void disableMetering(void)
Definition: Component.h:71
void segfault()
Definition: Component.h:631
const Timestamp & getTimeOfFailure(void) const
Definition: Component.h:619
int failCount_
Number of failures logged by PCaller.
Definition: Component.h:513
void unregisterReader(DataReader *reader)
Definition: Component.cpp:96
The Config class provides static methods for accessing configuration values.
Definition: Config.h:25
virtual void setDurationOfLastRun(const Timespan &span)
Definition: Component.cpp:298
virtual int incrementFailCount(void)
Definition: Component.h:394
int simulateHardware_
Definition: Component.h:603
Definition: UniversalDataReader.h:74
ComponentType getComponentType()
Getter function for ComponentType.
Definition: Component.h:337
void unregisterWriter(DataWriter *writer)
Definition: Component.cpp:112
Timestamp writeTimestamp_
Time of last write.
Definition: Component.h:531
virtual RunState pausing()
Might follow a PAUSE request.
Definition: Component.h:241
bool startRequested_
Definition: Component.h:605
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
void registerWriter(DataWriter *writer)
Definition: Component.cpp:108
Code unit that represents a unique name for a measured quantity.
Definition: UniversalURI.h:29
Definition: BlobWriter.h:227
Provides a simple command line interface to the LRAUV.
Definition: CommandLine.h:38
Definition: Component.h:111
bool enabled_
Definition: Component.h:498
Definition: ElementURI.h:166
virtual RunState resume()
Resume from PAUSE.
Definition: Component.h:253
Contains the DataElement class definition.
Extends the Str class, adding an unsigned short code (actually, the codes are limited to 14 bits...
Definition: CodedStr.h:23
int skippedRunsSinceFail_
Number of skipped runs since failureMode_ set by failCount_.
Definition: Component.h:522
Contains the FlexArrayBase and FlexArray class declarations.
bool persistentPause_
True if data is persistent while component is paused.
Definition: Component.h:559
ComponentType componentType_
This is private, since it should not change.
Definition: Component.h:597
void setRetryTimeout(const Timespan &timeout)
Definition: Component.h:313
DataWriter * voltageWriter_
Definition: Component.h:553
virtual void logVoltage(float voltage, float averageVoltage)
Definition: Component.cpp:516
runs when any of its designated slate inputs have been changed.
Definition: Component.h:99
virtual void setTimeOfRun(const Timestamp &time)
Definition: Component.h:563
DataWriter * durationOfLastRunWriter_
Writer for durationOfLastRun.
Definition: Component.h:550
const Module * module_
Definition: Component.h:541
FailType
Components can fail in a variety of ways.
Definition: FailureMode.h:19
Syslog::Severity debugLevel_
Definition: Component.h:479
void setRecoveringFromCritical(bool boolVal)
Definition: Component.h:293
bool recoveringFromCritical_
Indicates that a component had a previous critical failure that has been cleared temporarily awaiting...
Definition: Component.h:507
bool criticalFailureReported_
Indicates if a "Critical" failure has been reported – cuts down on syslog.
Definition: Component.h:504
UniversalBlobWriter * newUniversalBlobWriter(const UniversalBlobURI &universalURI, const Unit &accuracyUnit=Units::NONE, const float accuracy=DataElement::NO_ACCURACY, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
Definition: Component.cpp:629
Abstract Base class for software components that run in the computation cycle.
Definition: SyncComponent.h:22
virtual void setAllowableFailures(int fails)
Definition: Component.h:384
void requestData(bool requestingData)
Tell the component to start (or stop) sending data.
Definition: Component.cpp:312
Not really a component, but a class that can be merged with a Component to wrap code that is scripted...
Definition: ScriptComponent.h:23
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
void requestStop()
Tell the component to stop runnning.
Definition: Component.cpp:407
ConfigReader * simulateHardwareReader_
Definition: Component.h:601
virtual void initialize()
Provide a space for initialization before being run.
Definition: Component.h:134
Definition: Component.h:124
Definition: Component.h:117
ConfigReader * newConfigReader(const ConfigURI &configURI)
Definition: Component.cpp:578
virtual FailureMode::FailType getFailureType(void) const
Definition: Component.h:347
virtual void resetFailCount(void)
Definition: Component.cpp:259
Replacement for standard template class string.
Definition: Str.h:12
FlexArray< DataReader * > readers_
Definition: Component.h:536
Timespan pauseTime_
Definition: Component.h:543
Base class for "handlers" of Components.
Definition: Handler.h:49
Abstract Base class for software components.
Definition: Component.h:53
virtual bool isCompleted(void)
Query if this component is completed.
Definition: Component.h:319
BlobWriter * newBlobWriter(const BlobURI &blobURI, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
Definition: Component.cpp:566
virtual RunState resuming()
Might follow a PAUSE...RESUME sequence.
Definition: Component.h:259
TimePrecisionType
Definition: Logger.h:37
FlexArray< DataWriter * > writers_
Definition: Component.h:537
ComponentState
In this model, the component has basically two states: wanting to run, and completed (no longer needi...
Definition: Component.h:92
completed
Definition: Component.h:101
virtual void uninitialize()
Provide a space for uninitialization.
Definition: Component.h:148
virtual RunState starting()
Might follow a STOP...START sequence Subseqent.
Definition: Component.h:216
ComponentState getState(void)
Return the component's current state.
Definition: Component.h:169
Definition: UniversalDataWriter.h:55
virtual void setFailTime(Timestamp t)
Definition: Component.h:624
Definition: FailureMode.h:21
Definition: ConfigReader.h:13
CodedStr & name_
Store the component's name (used for logging purposes)
Definition: Component.h:488
bool failureReported_
Indicates if the failure has been reported – cuts down on syslog.
Definition: Component.h:501
void setFailureReported(bool boolVal)
Definition: Component.h:298
const Timestamp & getTimeOfLastRun(void) const
Definition: Component.h:163
Definition: Component.h:112
Definition: Component.h:128
Abstract Base class for software components that run independently from the computation cycle...
Definition: AsyncComponent.h:20
virtual RunState stopping()
Might follow a STOP request.
Definition: Component.h:277
Definition: Component.h:122
bool isUsingRunState()
Return true if using runState.
Definition: Component.h:187
Contains the Logger class definition.
bool failureMissionCritical_
If true (default), complete failure ends mission.
Definition: Component.h:516
Contains the CodedStr class declaration.
RunState getRunState(void)
Return the component's run state.
Definition: Component.h:181
Definition: Component.h:110
FlexArray< Component * > ListOfComponents
Define a type for a "list of component pointers".
Definition: Component.h:642
void setFailureUninitialized(bool boolVal)
Definition: Component.h:308
Definition: ElementURI.h:229
const Module * getModule()
Definition: Component.h:79
UniversalDataReader * newUniversalReader(const UniversalURI &universalURI)
Definition: Component.cpp:649
FlexArray< DataWriter * > & getWriterList(void)
Definition: Component.cpp:87
Timespan retryTimeout_
Definition: Component.h:496
virtual RunState start()
Do what needs to be done to run Similar to initialize, in old init/run/uninit sequence.
Definition: Component.h:209
ComponentState state_
Keep track of whether the component has "completed" or should be run again.
Definition: Component.h:484
const CodedStr & getName(void) const
Returns the name.
Definition: Component.h:158
Timestamp timeOfRun_
Definition: Component.h:490
virtual FailureMode::FailType setFailure(FailureMode::FailType failureType)
Definition: Component.cpp:228
Timespan desiredPeriod_
Definition: Component.h:485
Definition: Component.h:109
FailureMode::FailType failureType_
Failed status. If failCount_ > 0, then this may be reset.
Definition: Component.h:525
Contains the FailureMode class definition.
static const BaseUnit NONE
Definition: Units.h:208
Logger & getLogger(void)
Definition: Component.h:389
Severity
An attempt to define different levels of syslog severity.
Definition: Syslog.h:28
virtual int getAllowableFailures(void) const
Definition: Component.h:379
Definition: Component.h:461
Code unit that represents a unique name for a DataElement.
Definition: ElementURI.h:27
Contains the Timestamp and Timespan class declarations.
Definition: Component.h:129
Definition: Component.h:123
FlexArray< DataReader * > & getReaderList(void)
Definition: Component.cpp:83
unknown
Definition: Component.h:103
static const ConfigURI NO_CONFIG_URI
Definition: ElementURI.h:188
virtual RunState resetting()
Might occur in case of Error.
Definition: Component.h:265
ConfigOption
Definition: Component.h:456
Timestamp timeOfLastRun_
Definition: Component.h:491
virtual void run()
The actual "payload" of the component.
Definition: Component.h:144
*uLong * dt
Definition: ZipEncoder.cpp:36
void setWriteTimestamp(const Timestamp &writeTimestamp)
Definition: Component.h:419
void setState(ComponentState state)
Definition: Component.h:175
virtual void setTimeOfLastRun(const Timestamp &time)
Definition: Component.cpp:272
virtual void setFailureMissionCritical(bool failureMissionCritical)
Definition: Component.h:587
virtual void configure()
Read (or re-read!) configuration settings.
Definition: Component.h:138
virtual void logCurrent(float current, float averageCurrent)
Definition: Component.cpp:532
DataWriter * avgVoltageWriter_
Definition: Component.h:554
Code that represents an engineering unit.
Definition: Unit.h:24
Definition: Component.h:458
Timespan dt_
Definition: Component.h:493
void setRunState(const RunState runState)
Definition: Component.cpp:464
BlobReader * newBlobReaderFromUniversal(const Str &componentName, const UniversalBlobURI &blobURI)
Definition: Component.cpp:558
Definition: Component.h:118
Represents absolute times.
Definition: Timestamp.h:31
static const float NO_ACCURACY
Defines an accuracy quantity which means "no accuracy specified" typically means "don't use" i...
Definition: DataElement.h:73
runs periodically – likely in its own thread.
Definition: Component.h:97
virtual ~Component()
Destructor cleans up readers_ and writers_.
Definition: Component.cpp:65
void setCriticalFailureReported(bool boolVal)
Definition: Component.h:288
The CBIT built-in-test (CBIT) component provides monitoring of vehicle health during a mission...
Definition: CBIT.h:38
Definition: Component.h:120
virtual int getFailCount(void) const
Definition: Component.h:369