LRAUV  revA
Rowe_600IF.h
Go to the documentation of this file.
1 
13 #ifndef Rowe_600IF_H
14 #define Rowe_600IF_H
15 
16 #include "data/ElementURI.h"
17 
24 namespace Rowe_600IF
25 {
28 static const Str NAME( "Rowe_600" );
29 
30 // Include common ConfigURIs -- must be in namespace and follow definition of NAME
34 #include "component/HasUartIF.h"
35 
36 static const int NUM_OF_BEAMS( 4 ); // required to define blob URIs
37 static const int NUM_OF_BINS( 1 ); // required to define blob URIs XXX the interface must be recompiled to handle a different number of bins XXX
38 
39 static const ConfigURI VERBOSITY_CFG( NAME, "verbosity", Units::COUNT );
40 static const ConfigURI PAUSE_PERIOD_CFG( NAME, "pausePeriod", Units::SECOND );
41 static const ConfigURI NUMBER_OF_BEAMS_CFG( NAME, "numberOfBeams", Units::COUNT );
42 static const ConfigURI NUMBER_OF_BINS_CFG( NAME, "numberOfBins", Units::COUNT );
43 static const ConfigURI WRITE_BEAM_VELOCITY_PROFILE_CFG( NAME, "writeBeamVelocityProfile", Units::BOOL );
44 static const ConfigURI WRITE_INSTRUMENT_VELOCITY_PROFILE_CFG( NAME, "writeInstrumentVelocityProfile", Units::BOOL );
45 static const ConfigURI WRITE_EARTH_VELOCITY_PROFILE_CFG( NAME, "writeEarthVelocityProfile", Units::BOOL );
46 static const ConfigURI WRITE_AMPLITUDE_PROFILE_CFG( NAME, "writeAmplitudeProfile", Units::BOOL );
47 static const ConfigURI WRITE_CORRELATION_PROFILE_CFG( NAME, "writeCorrelationProfile", Units::BOOL );
48 static const ConfigURI WRITE_GOOD_BEAM_PINGS_PROFILE_CFG( NAME, "writeGoodBeamPingsProfile", Units::BOOL );
49 static const ConfigURI WRITE_GOOD_EARTH_PINGS_PROFILE_CFG( NAME, "writeGoodEarthPingsProfile", Units::BOOL );
50 static const ConfigURI WRITE_RAW_ENSEMBLE_CFG( NAME, "writeRawEnsemble", Units::BOOL );
51 static const ConfigURI ACOUSTIC_BLANKING_DISTANCE_CFG( NAME, "acousticBlankingDistance", Units::METER );
52 static const ConfigURI SAMPLE_TIME_CFG( NAME, "sampleTime", Units::SECOND );
53 static const ConfigURI BOTTOM_TRACK_VELOCITY_ACCURACY_CFG( NAME, "bottomTrackVelocityAccuracy", Units::METER_PER_SECOND );
54 static const ConfigURI WATER_TRACK_VELOCITY_ACCURACY_CFG( NAME, "waterTrackVelocityAccuracy", Units::METER_PER_SECOND );
55 static const ConfigURI ALTITUDE_ACCURACY_CFG( NAME, "altitudeAccuracy", Units::METER );
56 static const ConfigURI ROLL_OFFSET_CFG( NAME, "rollOffset", Units::RADIAN );
57 static const ConfigURI PITCH_OFFSET_CFG( NAME, "pitchOffset", Units::RADIAN );
58 static const ConfigURI HEADING_OFFSET_CFG( NAME, "headingOffset", Units::RADIAN );
59 static const ConfigURI MAX_SPEED_CFG( NAME, "maxSpeed", Units::METER_PER_SECOND );
60 static const ConfigURI WATER_REFERENCE_LAYER_BIN_CFG( NAME, "waterReferenceLayerBin", Units::COUNT );
61 
62 static const DataURI FIRST_BOTTOM_TRACK_PING_TIME( NAME, "first_bottom_track_ping_time", Units::SECOND );
63 static const DataURI LAST_BOTTOM_TRACK_PING_TIME( NAME, "last_bottom_track_ping_time", Units::SECOND );
64 static const DataURI HEADING( NAME, "heading", Units::RADIAN );
65 static const DataURI PITCH( NAME, "pitch", Units::RADIAN );
66 static const DataURI ROLL( NAME, "roll", Units::RADIAN );
67 static const DataURI WATER_TEMPERATURE( NAME, "water_temperature", Units::CELSIUS );
68 static const DataURI SYSTEM_TEMPERATURE( NAME, "system_temperature", Units::CELSIUS );
69 static const DataURI SALINITY( NAME, "salinity", Units::PART_PER_THOUSAND );
70 static const DataURI PRESSURE( NAME, "pressure", Units::PASCAL );
71 static const DataURI DEPTH( NAME, "depth", Units::METER );
72 static const DataURI SOUNDSPEED( NAME, "soundspeed", Units::METER_PER_SECOND );
73 static const DataURI STATUS_OR( NAME, "status_or", Units::BOOL );
74 static const DataURI NUMBER_OF_BOTTOM_TRACK_BEAMS( NAME, "number_of_bottom_track_beams", Units::COUNT );
75 static const DataURI PING_COUNT( NAME, "ping_count", Units::COUNT );
76 
77 static const BlobURI VERTICAL_RANGE( NAME, "vertical_range", Units::METER, BLOB_FLOAT32LE, NUM_OF_BEAMS, 1 );
78 static const BlobURI SIGNAL_TO_NOISE( NAME, "signal_to_noise", Units::NONE, BLOB_FLOAT32LE, NUM_OF_BEAMS, 1 );
79 static const BlobURI BOTTOM_TRACK_AMPLITUDE( NAME, "bottom_track_amplitude", Units::COUNT, BLOB_FLOAT32LE, NUM_OF_BEAMS, 1 );
80 static const BlobURI BOTTOM_TRACK_CORRELATION( NAME, "bottom_track_correlation", Units::COUNT, BLOB_FLOAT32LE, NUM_OF_BEAMS, 1 );
81 static const BlobURI BOTTOM_TRACK_BEAM_VELOCITY( NAME, "bottom_track_beam_velocity", Units::METER_PER_SECOND, BLOB_FLOAT32LE, NUM_OF_BEAMS, 1 );
82 static const BlobURI BOTTOM_TRACK_NUMBER_OF_PINGS_AVERAGED( NAME, "bottom_track_number_of_pings_averaged", Units::COUNT, BLOB_INT32LE, NUM_OF_BEAMS, 1 );
83 static const BlobURI BOTTOM_TRACK_INSTRUMENT_VELOCITY( NAME, "bottom_track_instrument_velocity", Units::METER_PER_SECOND, BLOB_FLOAT32LE, NUM_OF_BEAMS, 1 );
84 static const BlobURI BOTTOM_TRACK_NUMBER_OF_INSTRUMENT_SOLUTIONS_AVERAGED( NAME, "bottom_track_number_of_instrument_solutions_averaged", Units::COUNT, BLOB_INT32LE, NUM_OF_BEAMS, 1 );
85 static const BlobURI BOTTOM_TRACK_EARTH_VELOCITY( NAME, "bottom_track_earth_velocity", Units::METER_PER_SECOND, BLOB_FLOAT32LE, NUM_OF_BEAMS, 1 );
86 static const BlobURI BOTTOM_TRACK_NUMBER_OF_EARTH_SOLUTIONS_AVERAGED( NAME, "bottom_track_number_of_earth_solutions_averaged", Units::COUNT, BLOB_INT32LE, NUM_OF_BEAMS, 1 );
87 
88 static const DataURI ENSEMBLE_NUMBER( NAME, "ensemble_number", Units::COUNT );
89 static const DataURI PAYLOAD_SIZE( NAME, "payload_size", Units::BYTE );
90 static const DataURI NUMBER_OF_BEAMS( NAME, "number_of_beams", Units::COUNT );
91 static const DataURI NUMBER_OF_BINS( NAME, "number_of_bins", Units::COUNT );
92 static const DataURI NUMBER_OF_DESIRED_PINGS( NAME, "number_of_desired_pings", Units::COUNT );
93 static const DataURI NUMBER_OF_ACQUIRED_PINGS( NAME, "number_of_acquired_pings", Units::COUNT );
94 static const DataURI STATUS( NAME, "status", Units::BOOL );
95 static const DataURI ENSEMBLE_TIMESTAMP( NAME, "ensemble_timestamp", Units::SECOND );
96 
97 static const BlobURI BEAM_VELOCITY( NAME, "beam_velocity", Units::METER_PER_SECOND, BLOB_FLOAT32LE, NUM_OF_BINS, NUM_OF_BEAMS );
98 static const BlobURI INSTRUMENT_VELOCITY( NAME, "instrument_velocity", Units::METER_PER_SECOND, BLOB_FLOAT32LE, NUM_OF_BINS, NUM_OF_BEAMS );
99 static const BlobURI EARTH_VELOCITY( NAME, "earth_velocity", Units::METER_PER_SECOND, BLOB_FLOAT32LE, NUM_OF_BINS, NUM_OF_BEAMS );
100 static const BlobURI AMPLITUDE( NAME, "amplitude", Units::COUNT, BLOB_FLOAT32LE, NUM_OF_BINS, NUM_OF_BEAMS );
101 static const BlobURI CORRELATION( NAME, "correlation", Units::COUNT, BLOB_FLOAT32LE, NUM_OF_BINS, NUM_OF_BEAMS );
102 static const BlobURI GOOD_BEAM_PINGS( NAME, "good_beam_pings", Units::COUNT, BLOB_FLOAT32LE, NUM_OF_BINS, NUM_OF_BEAMS );
103 static const BlobURI GOOD_EARTH_PINGS( NAME, "good_earth_pings", Units::COUNT, BLOB_FLOAT32LE, NUM_OF_BINS, NUM_OF_BEAMS );
104 
105 // static const size_t MAX_SIZE_OF_ENSEMBLE( 4080 ); // =112 * NUM_OF_BINS + 716 + 4;
106 static const size_t MAX_SIZE_OF_ENSEMBLE( 1024 ); // >=112 * NUM_OF_BINS + 716 + 4;
107 static const BlobURI RAW_ENSEMBLE( NAME, "raw_ensemble", Units::NONE, BLOB_INT8, MAX_SIZE_OF_ENSEMBLE ); // use BLOB_INT8 as a 1-byte char (8-bit)
108 
109 static const BlobURI PLATFORM_VELOCITY_WRT_SEA_WATER( NAME, "platform_velocity_wrt_sea_water", Units::METER_PER_SECOND, BLOB_FLOAT64LE, 3 );
110 }
111 #endif /*Rowe_600IF_H*/
static const BaseUnit COUNT
Definition: Units.h:228
Specifies URIs shared by components that can simulate their hardware Designed to be included within n...
Definition: BlobType.h:17
Definition: ElementURI.h:211
Specifies URIs shared by components that have UARTS Designed to be included within namespace within [...
Definition: BlobType.h:33
Definition: BlobType.h:20
static const BaseUnit SECOND
Definition: Units.h:43
static const BaseUnit METER_PER_SECOND
Definition: Units.h:86
Definition: ElementURI.h:166
static const BaseUnit RADIAN
Definition: Units.h:60
Replacement for standard template class string.
Definition: Str.h:12
Specifies URIs shared by components that can be loaded from modules at startup Designed to be include...
Contains the ElementURI class definition.
Definition: BlobType.h:35
static const BaseUnit PASCAL
Definition: Units.h:59
Definition: ElementURI.h:229
static const BaseUnit NONE
Definition: Units.h:208
static const BaseUnit BYTE
Definition: Units.h:205
Specifies URIs shared by components that have load controllers Designed to be included within namespa...
static const Unit CELSIUS
Definition: Units.h:110
static const Unit PART_PER_THOUSAND
Definition: Units.h:223
Specifies the interface details for the Rowe_600 component in the SensorModule.
Definition: Rowe_600IF.h:24
static const BaseUnit BOOL
Definition: Units.h:227
static const BaseUnit METER
Definition: Units.h:42