LRAUV  revA
Turbulence_NPS.h
Go to the documentation of this file.
1 
12 #ifndef TURBULENCE_NPS_H_
13 #define TURBULENCE_NPS_H_
14 
16 #include "io/LoadControl.h"
17 #include "io/UartStream.h"
18 #include "logger/Logger.h"
19 
22 
36 {
37 public:
38  Turbulence_NPS( const Module* module );
39  virtual ~Turbulence_NPS();
40 
41  virtual void run();
42 
45  virtual RunState start();
46 
48  virtual RunState starting();
49 
51  virtual RunState pause();
52 
54  virtual RunState paused();
55 
57  virtual RunState resume();
58 
60  virtual RunState resuming();
61 
63  virtual RunState runnable();
64 
66  virtual RunState resetting()
67  {
68  return stop();
69  }
70 
72  virtual RunState stop();
73 
74  virtual RunState stopping();
75 
77  virtual RunState stopped();
78 
79  void uninitialize();
80 
82  virtual ConfigURI getConfigURI( ConfigOption configOption ) const;
83 
84 private:
85 
86  // Note that the copy constructor below is private and not given a body.
87  // Any attempt to call it will return a compiler error.
88  Turbulence_NPS( const Turbulence_NPS& old ); // disallow copy constructor
89 
104 
105  short shortBuffer_[34];
106 
107  // returns true if data is requested from one of the readers
108  bool isDataRequested();
109 
110  // sends data writers
111  void writeData();
112 
113  // Debugging outputs
114  bool debug_;
115 
116  // True if first packet after power-up
118 
119  // Instance of load controller
121 
125 
126  // Stores the current response from the device
127  char deviceResponse_[ 512 ];
128 
129  // Holds the communications device
131 
132  void receive(); // What we do if we are going
133 
134 };
135 
136 #endif /* TURBULENCE_NPS_H_ */
virtual void run()
The actual "payload" of the component.
Definition: Turbulence_NPS.cpp:146
Timestamp startTime_
Definition: Turbulence_NPS.h:124
char deviceResponse_[512]
Definition: Turbulence_NPS.h:127
Contains the LoadControl class declaration.
LoadControl loadControl_
Definition: Turbulence_NPS.h:120
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: UniversalDataReader.h:26
bool debug_
Definition: Turbulence_NPS.h:114
virtual RunState resetting()
Might occur in case of Error.
Definition: Turbulence_NPS.h:66
virtual RunState stop()
Initial state – can be later followed by START.
Definition: Turbulence_NPS.cpp:301
DataWriter * yawWriter_
Definition: Turbulence_NPS.h:98
UartStream uart_
Definition: Turbulence_NPS.h:130
virtual RunState pause()
Pause for a short period (indicated by pauseTime)
Definition: Turbulence_NPS.cpp:215
BlobWriter * fwdSigStrengthWriter_
Definition: Turbulence_NPS.h:102
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: DataReader.h:30
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: UniversalDataWriter.h:24
virtual RunState paused()
Should eventually follow a PAUSE request: should set continueTime.
Definition: Turbulence_NPS.cpp:239
bool isDataRequested()
Definition: Turbulence_NPS.cpp:364
void uninitialize()
Provide a space for uninitialization.
Definition: Turbulence_NPS.cpp:150
RunState
Definition: Component.h:115
Contains the UartStream class declaration.
Timespan class, represents a delta of time.
Definition: Timestamp.h:248
Implements both InStream and OutStream for the LPC3XXX Standard UART.
Definition: UartStream.h:26
DataWriter * pitchWriter_
Definition: Turbulence_NPS.h:97
BlobWriter * acmPathWriter_
Definition: Turbulence_NPS.h:95
virtual RunState stopped()
Initial state – can be later followed by START.
Definition: Turbulence_NPS.cpp:336
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
Definition: BlobWriter.h:227
Definition: ElementURI.h:166
DataWriter * numTCSamplesWriter_
Definition: Turbulence_NPS.h:94
virtual RunState resuming()
Might follow a PAUSE...RESUME sequence.
Definition: Turbulence_NPS.cpp:277
BlobWriter * microCondWriter_
Definition: Turbulence_NPS.h:92
DataReader * gfScanActiveReader_
Definition: Turbulence_NPS.h:90
DataWriter * deltaYVelocityWriter_
Definition: Turbulence_NPS.h:100
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
Software interface to Neil Brown CTD.
Definition: Turbulence_NPS.h:35
void writeData()
Definition: Turbulence_NPS.cpp:371
virtual ConfigURI getConfigURI(ConfigOption configOption) const
Should return [myNamespace]::SIMULATE_HARDWARE, or [myNamespace]::POWER, etc.
Definition: Turbulence_NPS.cpp:450
short shortBuffer_[34]
Definition: Turbulence_NPS.h:105
bool firstPacket_
Definition: Turbulence_NPS.h:117
DataWriter * rollWriter_
Definition: Turbulence_NPS.h:96
virtual ~Turbulence_NPS()
Definition: Turbulence_NPS.cpp:59
This class allows one to control loads on a load controller channel.
Definition: LoadControl.h:24
virtual RunState starting()
Might follow a STOP...START sequence.
Definition: Turbulence_NPS.cpp:206
virtual RunState start()
Do what needs to be done to run Similar to initialize, in old init/run/uninit sequence.
Definition: Turbulence_NPS.cpp:168
BlobWriter * microTemp2Writer_
Definition: Turbulence_NPS.h:93
Abstract Base class for software components that run independently from the computation cycle...
Definition: AsyncComponent.h:20
BlobWriter * microTemp1Writer_
Definition: Turbulence_NPS.h:91
DataWriter * deltaZVelocityWriter_
Definition: Turbulence_NPS.h:101
Contains the Logger class definition.
virtual RunState runnable()
Should eventually follow a START request or RESETTING.
Definition: Turbulence_NPS.cpp:286
Timespan pausePeriod_
Definition: Turbulence_NPS.h:123
Timespan sensorTimeout_
Definition: Turbulence_NPS.h:122
virtual RunState stopping()
Might follow a STOP request.
Definition: Turbulence_NPS.cpp:318
DataWriter * packetNumWriter_
Definition: Turbulence_NPS.h:103
ConfigOption
Definition: Component.h:456
void receive()
Definition: Turbulence_NPS.cpp:62
virtual RunState resume()
Resume from PAUSE.
Definition: Turbulence_NPS.cpp:251
DataWriter * deltaXVelocityWriter_
Definition: Turbulence_NPS.h:99
Turbulence_NPS(const Module *module)
Definition: Turbulence_NPS.cpp:22
Represents absolute times.
Definition: Timestamp.h:31
Contains the AsyncComponent class definition.