29 static const unsigned char RTI_PREAMBLE[16] =
31 0x80, 0x80, 0x80, 0x80, \
32 0x80, 0x80, 0x80, 0x80, \
33 0x80, 0x80, 0x80, 0x80, \
34 0x80, 0x80, 0x80, 0x80
36 #define SIZE_OF_RTI_HEADER 16 // additional bytes in RTI header -- gives ensemble number & payload size
37 #define SIZE_OF_RTI_CHECKSUM 4 // additional bytes in device response after MATv4 payload
38 #define MAT_HEADER_SIZE 20 // bytes
39 #define MAT_NAME_SIZE 8 // bytes
40 static const char RTI_MAT_SIGNATURE[7] = { 0x00, 0x08, 0x45, 0x30, 0x30, 0x30, 0x30 };
Contains a 3x3 array of double precision floating point numbers, along with methods for performing co...
Definition: Matrix3x3.h:27
virtual RunState stop()
Initial state – can be later followed by START.
Definition: Rowe_600.cpp:488
BlobWriter * bottomTrackInstrumentVelocityWriter_
Definition: Rowe_600.h:346
float salinityPPT_
Definition: Rowe_600.h:265
DataWriter * depthWriter_
Definition: Rowe_600.h:334
Mtx goodBeamPings_
Definition: Rowe_600.h:233
DataWriter * payloadSizeWriter_
Definition: Rowe_600.h:352
Mtx correlation_
Definition: Rowe_600.h:231
virtual RunState resuming()
Might follow a PAUSE...RESUME sequence.
Definition: Rowe_600.cpp:391
bool hasDeviceResponse_
Definition: Rowe_600.h:200
void setBottomTrackWritersInvalid(bool invalid)
Definition: Rowe_600.cpp:1117
DataWriter * pitchWriter_
Definition: Rowe_600.h:328
ConfigReader * writeCorrelationProfileCfgReader_
Definition: Rowe_600.h:295
virtual RunState runnable()
Should eventually follow a START request or RESETTING.
Definition: Rowe_600.cpp:410
bool writeInstrumentVelocityProfileCfg_
Definition: Rowe_600.h:204
Point3D velocityRelativeToWaterInVehicleFrame_
Definition: Rowe_600.h:286
Contains the LoadControl class declaration.
virtual RunState resetting()
Might occur in case of Error.
Definition: Rowe_600.h:83
DataWriter * numberOfDesiredPingsWriter_
Definition: Rowe_600.h:355
DataWriter * numberOfBinsWriter_
Definition: Rowe_600.h:354
ConfigReader * altitudeAccuracyCfgReader_
Definition: Rowe_600.h:305
void writeData(void)
Definition: Rowe_600.cpp:1156
ConfigReader * maxSpeedCfgReader_
Definition: Rowe_600.h:312
float waterTrackVelocityAccuracyCfg_
Definition: Rowe_600.h:207
Mtx bottomTrackCorrelation_
Definition: Rowe_600.h:275
Timestamp startTime_
Definition: Rowe_600.h:198
LoadControl loadControl_
Definition: Rowe_600.h:190
BlobWriter * bottomTrackNumberOfPingsAveragedWriter_
Definition: Rowe_600.h:345
void resetMatrixOffsets(const int i=0)
Definition: Rowe_600.cpp:701
virtual RunState paused()
Should eventually follow a PAUSE request: should set continueTime.
Definition: Rowe_600.cpp:358
Timespan pausePeriod_
Definition: Rowe_600.h:193
DataWriter * statusOrWriter_
Definition: Rowe_600.h:336
float maxSpeedCfg_
Definition: Rowe_600.h:211
virtual void uninitialize()
Provide a space for uninitialization.
Definition: Rowe_600.cpp:547
Mtx verticalRange_
Definition: Rowe_600.h:272
Specifies the interface details for the Rowe_600 component in the SensorModule.
Provides software interface to the Rowe Rowe_600 DVL.
Definition: Rowe_600.h:50
BlobWriter * bottomTrackNumberOfInstrumentSolutionsAveragedWriter_
Definition: Rowe_600.h:347
DataWriter * salinityWriter_
Definition: Rowe_600.h:332
int ancillaryDataOffset_
Definition: Rowe_600.h:240
Mtx earthVelocity_
Definition: Rowe_600.h:227
float systemTemperatureDegreesCelsius_
Definition: Rowe_600.h:264
float waterTemperatureDegreesCelsius_
Definition: Rowe_600.h:263
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: UniversalDataWriter.h:24
UartStream uart_
Definition: Rowe_600.h:192
Mtx bottomTrackNumberOfEarthSolutionsAveraged_
Definition: Rowe_600.h:281
bool parseRoweHeader(void)
Definition: Rowe_600.cpp:677
int readAncillaryDataMatrix(void)
Definition: Rowe_600.cpp:997
BlobWriter * bottomTrackCorrelationWriter_
Definition: Rowe_600.h:343
RunState
Definition: Component.h:115
int numberOfBeams_
Definition: Rowe_600.h:249
Matrix3x3 rotationFromVehicleToInstrumentFrame_
Definition: Rowe_600.h:215
ConfigReader * writeBeamVelocityProfileCfgReader_
Definition: Rowe_600.h:291
Contains the UartStream class declaration.
bool writeEarthVelocityProfileCfg_
Definition: Rowe_600.h:204
virtual RunState resume()
Resume from PAUSE.
Definition: Rowe_600.cpp:376
float lastBottomTrackPingTime_
Definition: Rowe_600.h:261
int ensembleData_[22]
Definition: Rowe_600.h:237
float pressureBar_
Definition: Rowe_600.h:266
BlobWriter * amplitudeWriter_
Definition: Rowe_600.h:363
void setWaterReferenceLayerWritersInvalid(bool invalid)
Definition: Rowe_600.cpp:1146
int readBottomTrackMatrix(void)
Definition: Rowe_600.cpp:914
Mtx bottomTrackNumberOfInstrumentSolutionsAveraged_
Definition: Rowe_600.h:279
DataWriter * lastBottomTrackPingTimeWriter_
Definition: Rowe_600.h:326
UniversalDataWriter * altitudeWriter_
Definition: Rowe_600.h:319
DataWriter * waterTemperatureWriter_
Definition: Rowe_600.h:330
float depthMeters_
Definition: Rowe_600.h:267
Timespan class, represents a delta of time.
Definition: Timestamp.h:248
Mtx bottomTrackBeamVelocity_
Definition: Rowe_600.h:276
Mtx beamVelocity_
Definition: Rowe_600.h:223
BlobWriter * signalToNoiseRatioWriter_
Definition: Rowe_600.h:341
Contains the Point3D class definition.
int goodBeamPingsOffset_
Definition: Rowe_600.h:234
int waterReferenceLayerBin_
Definition: Rowe_600.h:212
Matrix3x3 rotationFromInstrumentToVehicleFrame_
Definition: Rowe_600.h:214
DataWriter * statusWriter_
Definition: Rowe_600.h:357
Mtx signalToNoiseRatio_
Definition: Rowe_600.h:273
Implements both InStream and OutStream for the LPC3XXX Standard UART.
Definition: UartStream.h:26
ConfigReader * numberOfBeamsCfgReader_
Definition: Rowe_600.h:300
virtual ~Rowe_600()
Definition: Rowe_600.cpp:208
bool debug_
Definition: Rowe_600.h:188
ConfigReader * verbosityCfgReader_
Definition: Rowe_600.h:289
float altitudeAccuracyCfg_
Definition: Rowe_600.h:208
UniversalBlobWriter * velocityWrtGroundWriter_
Definition: Rowe_600.h:320
BlobWriter * earthVelocityWriter_
Definition: Rowe_600.h:362
ConfigReader * waterTrackVelocityAccuracyCfgReader_
Definition: Rowe_600.h:304
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
virtual RunState starting()
Might follow a STOP...START sequence.
Definition: Rowe_600.cpp:323
BlobWriter * goodBeamPingsWriter_
Definition: Rowe_600.h:365
float pitchDegrees_
Definition: Rowe_600.h:262
char deviceResponse_[sizeof(RTI_PREAMBLE)+SIZE_OF_RTI_HEADER+Rowe_600IF::MAX_SIZE_OF_ENSEMBLE+SIZE_OF_RTI_CHECKSUM]
Definition: Rowe_600.h:199
Definition: BlobWriter.h:227
void appendEnsembleToFile(void)
Definition: Rowe_600.cpp:1272
Mtx instrumentVelocity_
Definition: Rowe_600.h:225
Definition: ElementURI.h:166
BlobWriter * bottomTrackAmplitudeWriter_
Definition: Rowe_600.h:342
bool writeCorrelationProfileCfg_
Definition: Rowe_600.h:204
ConfigReader * bottomTrackVelocityAccuracyCfgReader_
Definition: Rowe_600.h:303
Wraps three double precision (8-byte) floating point numbers.
Definition: Point3D.h:28
BlobWriter * bottomTrackNumberOfEarthSolutionsAveragedWriter_
Definition: Rowe_600.h:349
ConfigReader * acousticBlankingDistanceCfgReader_
Definition: Rowe_600.h:299
Mtx ancillaryData_
Definition: Rowe_600.h:239
virtual ConfigURI getConfigURI(ConfigOption configOption) const
Should return [myNamespace]::SIMULATE_HARDWARE, or [myNamespace]::POWER, etc.
Definition: Rowe_600.cpp:564
Mtx bottomTrackNumberOfPingsAveraged_
Definition: Rowe_600.h:277
int instrumentVelocityOffset_
Definition: Rowe_600.h:226
int amplitudeOffset_
Definition: Rowe_600.h:230
BlobWriter * rawEnsembleWriter_
Definition: Rowe_600.h:368
DataWriter * pingCountWriter_
Definition: Rowe_600.h:338
Mtx bottomTrackInstrumentVelocity_
Definition: Rowe_600.h:278
int numberOfAcquiredPings_
Definition: Rowe_600.h:251
double headingOffsetCfg_
Definition: Rowe_600.h:210
ConfigReader * pitchOffsetCfgReader_
Definition: Rowe_600.h:310
ConfigReader * sampleTimeCfgReader_
Definition: Rowe_600.h:302
DataWriter * numberOfBeamsWriter_
Definition: Rowe_600.h:353
int32_t ensembleNumber_
Definition: Rowe_600.h:221
ConfigReader * pausePeriodCfgReader_
Definition: Rowe_600.h:290
void preprocessData(void)
Definition: Rowe_600.cpp:1048
Point3D velocityRelativeToGroundInVehicleFrame_
Definition: Rowe_600.h:285
Mtx bottomTrack_
Definition: Rowe_600.h:241
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
ConfigReader * rollOffsetCfgReader_
Definition: Rowe_600.h:309
int pingCount_
Definition: Rowe_600.h:271
int numberOfBins_
Definition: Rowe_600.h:248
DataWriter * soundspeedWriter_
Definition: Rowe_600.h:335
void reportBottomTrackComponents(void)
Definition: Rowe_600.cpp:1305
#define SIZE_OF_RTI_HEADER
Definition: Rowe_600.h:36
#define SIZE_OF_RTI_CHECKSUM
Definition: Rowe_600.h:37
bool writeRawEnsembleCfg_
Definition: Rowe_600.h:204
Timestamp ensembleTimestamp_
Definition: Rowe_600.h:253
virtual RunState pause()
Pause for a short period (indicated by pauseTime)
Definition: Rowe_600.cpp:338
BlobWriter * bottomTrackBeamVelocityWriter_
Definition: Rowe_600.h:344
float firstBottomTrackPingTime_
Definition: Rowe_600.h:261
This class allows one to control loads on a load controller channel.
Definition: LoadControl.h:24
DataWriter * headingWriter_
Definition: Rowe_600.h:327
BlobWriter * correlationWriter_
Definition: Rowe_600.h:364
bool statusOr_
Definition: Rowe_600.h:269
int earthVelocityOffset_
Definition: Rowe_600.h:228
ConfigReader * numberOfBinsCfgReader_
Definition: Rowe_600.h:301
DataWriter * ensembleNumberWriter_
Definition: Rowe_600.h:351
float altitude_
Definition: Rowe_600.h:284
int bottomTrackOffset_
Definition: Rowe_600.h:242
int ensembleDataOffset_
Definition: Rowe_600.h:238
virtual RunState stopped()
Initial state – can be later followed by START.
Definition: Rowe_600.cpp:529
Definition: UniversalDataWriter.h:55
Definition: ConfigReader.h:13
Timespan sampleTime_
Definition: Rowe_600.h:197
int status_
Definition: Rowe_600.h:252
float headingDegrees_
Definition: Rowe_600.h:262
bool waterReferenceLayerVelocitiesInvalid_
Definition: Rowe_600.h:244
BlobWriter * verticalRangeWriter_
Definition: Rowe_600.h:340
char ens_filename_[128]
Definition: Rowe_600.h:218
ConfigReader * headingOffsetCfgReader_
Definition: Rowe_600.h:311
Abstract Base class for software components that run independently from the computation cycle...
Definition: AsyncComponent.h:20
bool hasRoweHeader_
Definition: Rowe_600.h:201
Mtx bottomTrackAmplitude_
Definition: Rowe_600.h:274
bool writeAmplitudeProfileCfg_
Definition: Rowe_600.h:204
BlobWriter * instrumentVelocityWriter_
Definition: Rowe_600.h:361
double pitchOffsetCfg_
Definition: Rowe_600.h:210
int32_t payloadSize_
Definition: Rowe_600.h:222
bool writeBeamVelocityProfileCfg_
Definition: Rowe_600.h:204
void rotateDataIntoVehicleFrame(void)
Definition: Rowe_600.cpp:1027
Contains the Logger class definition.
float soundspeed_
Definition: Rowe_600.h:268
Contains the Matrix3x3 class definition.
bool writeGoodEarthPingsProfileCfg_
Definition: Rowe_600.h:204
int beamVelocityOffset_
Definition: Rowe_600.h:224
bool readOffsetConfigs(void)
Definition: Rowe_600.cpp:270
DataWriter * numberOfAcquiredPingsWriter_
Definition: Rowe_600.h:356
Timespan powerOnTimeout_
Definition: Rowe_600.h:191
float rollDegrees_
Definition: Rowe_600.h:262
BlobWriter * goodEarthPingsWriter_
Definition: Rowe_600.h:366
ConfigReader * writeInstrumentVelocityProfileCfgReader_
Definition: Rowe_600.h:292
DataWriter * numberOfBottomTrackBeamsWriter_
Definition: Rowe_600.h:337
int goodEarthPingsOffset_
Definition: Rowe_600.h:236
bool readWriterConfigs(void)
Definition: Rowe_600.cpp:246
BlobWriter * beamVelocityWriter_
Definition: Rowe_600.h:360
int numberOfBinsCfg_
Definition: Rowe_600.h:203
ConfigReader * writeRawEnsembleCfgReader_
Definition: Rowe_600.h:298
bool isDataRequested(void)
Definition: Rowe_600.cpp:569
BlobWriter * bottomTrackEarthVelocityWriter_
Definition: Rowe_600.h:348
Rowe_600(const Module *module)
Definition: Rowe_600.cpp:24
ConfigReader * writeAmplitudeProfileCfgReader_
Definition: Rowe_600.h:294
int readMATv4float32(Mtx &tgt, const char *mat)
Definition: Rowe_600.cpp:1326
DataWriter * systemTemperatureWriter_
Definition: Rowe_600.h:331
DataWriter * rollWriter_
Definition: Rowe_600.h:329
ConfigReader * waterReferenceLayerBinCfgReader_
Definition: Rowe_600.h:313
Mtx amplitude_
Definition: Rowe_600.h:229
virtual RunState stopping()
Might follow a STOP request.
Definition: Rowe_600.cpp:511
Mtx goodEarthPings_
Definition: Rowe_600.h:235
int numberOfDesiredPings_
Definition: Rowe_600.h:250
ConfigOption
Definition: Component.h:456
bool readEnsemble(void)
Definition: Rowe_600.cpp:603
virtual RunState start()
Do what needs to be done to run Similar to initialize, in old init/run/uninit sequence.
Definition: Rowe_600.cpp:281
ConfigReader * writeEarthVelocityProfileCfgReader_
Definition: Rowe_600.h:293
Mtx bottomTrackEarthVelocity_
Definition: Rowe_600.h:280
void processEnsemble(void)
Definition: Rowe_600.cpp:715
int verbosity_
Definition: Rowe_600.h:189
DataWriter * ensembleTimestampWriter_
Definition: Rowe_600.h:358
double rollOffsetCfg_
Definition: Rowe_600.h:210
BlobWriter * velocityWrtWaterWriter_
Definition: Rowe_600.h:322
DataWriter * firstBottomTrackPingTimeWriter_
Definition: Rowe_600.h:325
int numberOfBottomTrackBeams_
Definition: Rowe_600.h:270
int readEnsembleDataMatrix(void)
Definition: Rowe_600.cpp:875
bool setInstrumentTime(void)
bool readAccuracyConfigs(void)
Definition: Rowe_600.cpp:261
float bottomTrackVelocityAccuracyCfg_
Definition: Rowe_600.h:206
void setEnsembleDataWritersInvalid(bool invalid)
Definition: Rowe_600.cpp:1151
int numberOfBeamsCfg_
Definition: Rowe_600.h:202
DataWriter * pressureWriter_
Definition: Rowe_600.h:333
int correlationOffset_
Definition: Rowe_600.h:232
bool readConfig(void)
Definition: Rowe_600.cpp:211
void logMatrixOffset(int i)
Definition: Rowe_600.cpp:866
bool writeGoodBeamPingsProfileCfg_
Definition: Rowe_600.h:204
Represents absolute times.
Definition: Timestamp.h:31
float acousticBlankingDistanceCfg_
Definition: Rowe_600.h:205
bool readInterfaceConfigs(void)
Definition: Rowe_600.cpp:235
ConfigReader * writeGoodEarthPingsProfileCfgReader_
Definition: Rowe_600.h:297
Timestamp dataTimestamp_
Definition: Rowe_600.h:196
ConfigReader * writeGoodBeamPingsProfileCfgReader_
Definition: Rowe_600.h:296
Contains the AsyncComponent class definition.