LRAUV  revA
UniversalURI.h
Go to the documentation of this file.
1 
10 #ifndef UNIVERSALURI_H_
11 #define UNIVERSALURI_H_
12 
13 #include "utils/Str.h"
14 //#include "logger/Logger.h"
15 
16 #include "ElementURI.h"
17 
18 class Logger;
19 class UniversalBlobURI;
20 
29 class UniversalURI : public ElementURI //, public DataIF
30 {
31 public:
32 
34  virtual ~UniversalURI();
35 
36  static UniversalURI* FindURI( const Str& name );
37 
38  static UniversalURI* FindURI( const char* candidate );
39 
40  virtual bool isUniversal() const
41  {
42  return true;
43  }
44 
46  static const Str NAME;
47 
49  /*static const UniversalURI NONE;*/
50 
53 
56 
59  static const UniversalURI DEPTH;
60 
62  static const UniversalURI DEPTH_RATE;
63 
68 
71 
82 
85 
91 
93 // static const UniversalURI ELAPSED_TIME_SINCE_ORIENTATION_READ;
94 // static const UniversalURI ELAPSED_TIME_SINCE_VELOCITY_READ;
95 
98 
102 
106 
109 
114 
123 
132 
135 
139 
147  static const UniversalURI LATITUDE;
148 
154 
161 
169  static const UniversalURI LONGITUDE;
170 
176 
179 
183 
188 
195 
201 
202  // Current taken from Onboard A/D and averaged over n number of samples
204 
207 
210 
213 
216 
217  // True == battery or batteries are discharging. False == no battery is discharging
219 
220  // True == all batteries are fully charged. False == not all batteries are fully charged
222 
225 
230 
236 
242 
246 
251 
254 
258 
262 
267 
270 
279 
285 
288 
291 
294  //static const UniversalURI PLATFORM_POSITION_VECTOR;
295 
298 
301 
304  //static const UniversalURI PLATFORM_RATE_VECTOR;
305 
308 
311 
314 
317 
324 
330 
334 
337 
340 
343 
345 
348 
351 
354 
357 
360 
363 
366 
369 
372 
375 
378 
381 
384 
387 
396 
405 
408 
417 
423 
426 
434 
439 
442 
445 
451 
457 
463 
467 
470 
477 
484 
486  static const UniversalURI TIME;
487 
491  static const UniversalURI TIME_FIX;
492 
495 
498 
499 protected:
500 
501  friend class ElementURI;
502  friend class ReadDataComponent;
503  friend class Slate;
504 
506  UniversalURI( unsigned short code, const char* fullURI,
507  const Unit& unit = UNSPECIFIED_UNIT, BinaryDataType binaryType = NO_TYPE,
508  BlobType blobType = NOT_BLOB, unsigned short dimension1 = 0,
509  unsigned short dimension2 = 0, unsigned short dimension3 = 0 );
510 
512  UniversalURI( const char* fullURI,
513  const Unit& unit = UNSPECIFIED_UNIT, BinaryDataType binaryType = NO_TYPE,
514  BlobType blobType = NOT_BLOB, unsigned short dimension1 = 0,
515  unsigned short dimension2 = 0, unsigned short dimension3 = 0 );
516 
517 };
518 
520 {
521 public:
523  virtual ~UniversalBlobURI() {}
524 
525 protected:
526 
527  friend class ElementURI;
528  friend class UniversalURI;
529 
531  UniversalBlobURI( unsigned short code, const char* fullURI, const Unit& unit = UNSPECIFIED_UNIT,
532  BlobType blobType = NOT_BLOB, unsigned short dimension1 = 0,
533  unsigned short dimension2 = 0, unsigned short dimension3 = 0 );
534 
536  UniversalBlobURI( const char* fullURI, const Unit& unit,
537  BlobType blobType, unsigned short dimension1 = 0,
538  unsigned short dimension2 = 0, unsigned short dimension3 = 0 );
539 
540 };
541 
542 
543 #endif /*UNIVERSALURI_H_*/
Client-side interface for injecting log data into the log queue.
Definition: Logger.h:30
static const UniversalURI SEA_WATER_TEMPERATURE
sea_water_temperature, as defined by CF-metadata
Definition: UniversalURI.h:469
static const UniversalURI PLATFORM_BUOYANCY_POSITION
position of the buoyancy control volume (internal vs. external)
Definition: UniversalURI.h:224
static const UniversalURI FIX_RESIDUAL_DISTANCE
The distance (on the surface of the globe) between the current location estimate and an external fix...
Definition: UniversalURI.h:105
static const UniversalURI PLATFORM_Y_VELOCITY_CURRENT
platform_y_velocity_current, as internally defined.
Definition: UniversalURI.h:368
static const UniversalURI PLATFORM_PITCH_ANGLE
platform_pitch_angle, as defined by CF-metadata
Definition: UniversalURI.h:287
static const UniversalURI PLATFORM_YAW_RATE
platform_yaw_rate, as defined by CF-metadata
Definition: UniversalURI.h:374
static const UniversalURI DEPTH_RATE
depth_rate, as internally defined
Definition: UniversalURI.h:62
static const UniversalURI DOWNWARD_SEA_WATER_VELOCITY
downward_sea_water_velocity, as internally defined
Definition: UniversalURI.h:84
static const UniversalURI SURFACE_NORTHWARD_SEA_WATER_VELOCITY
surface_northward_sea_water_velocity, as defined by CF-metadata The surface called "surface" means th...
Definition: UniversalURI.h:483
static const UniversalURI UPWARD_DERIVATIVE_OF_SEA_WATER_TEMPERATURE
upward_derivative_of_sea_water_temperature, i.e., dT/dz, where z points upward.
Definition: UniversalURI.h:494
static const UniversalURI SEA_WATER_RHODAMINE
PPB of Rhodamine in the water.
Definition: UniversalURI.h:444
static const UniversalBlobURI PLATFORM_VELOCITY_WRT_SEA_WATER
platform velocity with respect to sea water (vector) Forward, Starboard, Keel
Definition: UniversalURI.h:342
static const UniversalURI SEA_WATER_SIGMA_THETA
sea_water_sigma_theta, as defined by CF-metadata Sigma-theta of sea water is the potential density (i...
Definition: UniversalURI.h:462
BinaryDataType
These are binary type identifiers for serializing and unserializing The syntax below handles up to 16...
Definition: BinaryDataType.h:39
static const Str NAME
The "component" name of the Universals.
Definition: UniversalURI.h:46
static const UniversalURI DISTANCE_FROM_SHORE
distance_from_shore, as internally defined
Definition: UniversalURI.h:70
static const UniversalURI PLATFORM_BATTERY_FULLY_CHARGED
Definition: UniversalURI.h:221
Definition: UniversalURI.h:519
UniversalURI(unsigned short code, const char *fullURI, const Unit &unit=UNSPECIFIED_UNIT, BinaryDataType binaryType=NO_TYPE, BlobType blobType=NOT_BLOB, unsigned short dimension1=0, unsigned short dimension2=0, unsigned short dimension3=0)
Protected Constructor for use by ElementURI::Read.
Definition: UniversalURI.cpp:16
static const UniversalURI LATITUDE_FIX
latitude_fix, as internally defined as a location measurement obtained by an absolute positioning sen...
Definition: UniversalURI.h:153
static const UniversalURI PLATFORM_ORIENTATION
platform_orientation, as defined by CF-metadata The platform orientation is the direction in which th...
Definition: UniversalURI.h:278
static const UniversalURI PLATFORM_FAULT_LEAK
platform_fault_leak, as internally defined This goes to "true" (non-zero) if a platform leak fault ex...
Definition: UniversalURI.h:261
static const UniversalURI PLATFORM_COMMUNICATIONS
platform_communications, as internally defined represents communications between the outside world an...
Definition: UniversalURI.h:229
static const UniversalURI DIRECTION_OF_SEA_WATER_VELOCITY
direction_of_sea_water_velocity, as defined by CF-metadata "direction_of_X" means direction of a vect...
Definition: UniversalURI.h:67
static const UniversalURI PLATFORM_ROLL_RATE
platform_roll_rate, as defined by CF-metadata
Definition: UniversalURI.h:313
static const UniversalURI MASS_CONCENTRATION_OF_OXYGEN_IN_SEA_WATER
Mass concentration means mass per unit volume and is used in the construction mass_concentration_of_X...
Definition: UniversalURI.h:187
static const UniversalURI PLATFORM_MASS_POSITION
platform_mass_position, as internally defined
Definition: UniversalURI.h:269
static const UniversalURI NORTHWARD_SEA_WATER_VELOCITY
northward_sea_water_velocity, as defined by CF-metadata A velocity is a vector quantity.
Definition: UniversalURI.h:200
static const UniversalURI PLATFORM_ELEVATOR_ANGLE
platform_elevator_angle, as internally defined
Definition: UniversalURI.h:253
static const UniversalURI PLATFORM_TEMPERATURE
platform_temperature, as internally defined
Definition: UniversalURI.h:336
static UniversalURI * FindURI(const Str &name)
Definition: UniversalURI.cpp:41
static const UniversalURI PLATFORM_BATTERY_VOLTAGE
platform_battery_voltage, as internally defined
Definition: UniversalURI.h:215
virtual ~UniversalBlobURI()
Destructor.
Definition: UniversalURI.h:523
static const UniversalURI GRID_LATITUDE
Latitude is positive northward; its units of degree_north (or equivalent) indicate this explicitly...
Definition: UniversalURI.h:122
static const UniversalURI PROJECTION_Y_COORDINATE
projection_y_coordinate, as defined by CF-metadata "y" indicates a vector component along the grid y-...
Definition: UniversalURI.h:404
static const UniversalURI PLATFORM_Z_VELOCITY_CURRENT
platform_z_velocity_current, as internally defined.
Definition: UniversalURI.h:386
static const UniversalURI PLATFORM_X_VELOCITY_WRT_GROUND
platform_x_velocity_wrt_ground, as internally defined
Definition: UniversalURI.h:350
static const UniversalURI PLATFORM_BATTERY_CHARGE_USAGE
platform_battery_charge_usage, as internally defined
Definition: UniversalURI.h:209
static const UniversalURI SEA_WATER_ELECTRICAL_CONDUCTIVITY
sea_water_electrical_conductivity, as defined by CF-metadata
Definition: UniversalURI.h:425
static const UniversalURI PLATFORM_Y_SEA_WATER_VELOCITY
platform_y_sea_water_velocity, as internally defined
Definition: UniversalURI.h:359
Contains the ReadDataComponent Behavior/Command.
Definition: ReadDataComponent.h:39
static const UniversalURI HORIZONTAL_PATH_LENGTH_SINCE_LAST_FIX
Length of the path the vehicle has taken since its most recent external fix.
Definition: UniversalURI.h:138
static const UniversalURI SURFACE_EASTWARD_SEA_WATER_VELOCITY
surface_eastward_sea_water_velocity, as defined by CF-metadata The surface called "surface" means the...
Definition: UniversalURI.h:476
static const UniversalURI PLATFORM_X_SEA_WATER_VELOCITY
TODO: Should there also be similar universals in the navigation frame instead of the vehicle frame...
Definition: UniversalURI.h:347
static const UniversalURI PLATFORM_COURSE
platform_course, as defined by CF-metadata The platform course is the direction in which the platform...
Definition: UniversalURI.h:241
static const UniversalURI PLATFORM_PITCH_RATE
platform_pitch_rate, as defined by CF-metadata
Definition: UniversalURI.h:290
static const UniversalURI PLATFORM_CONVERSATION
platform_conversation, as internally defined equals true during INTERACTIVE communications between th...
Definition: UniversalURI.h:235
Code unit that represents a unique name for a measured quantity.
Definition: UniversalURI.h:29
static const UniversalURI PLATFORM_DISTANCE_WRT_GROUND
platform_distance_wrt_ground, as internally defined Integral of platform_speed_wrt_ground over time...
Definition: UniversalURI.h:245
static const UniversalURI PLATFORM_SPEED_WRT_PROPELLER
PLATFORM_SPEED_WRT_PROPELLER is the calculated speed through the water based on propeller turns only...
Definition: UniversalURI.h:333
static const UniversalURI PLATFORM_Z_VELOCITY_WRT_GROUND
platform_z_velocity_wrt_ground, as internally defined
Definition: UniversalURI.h:380
static const UniversalURI PLATFORM_RELATIVE_HUMIDITY
platform_rate_vector, as internally defined by a combination of u, v, and w position and p...
Definition: UniversalURI.h:307
static const UniversalURI ACOUSTIC_TRANSMIT_TIME
Definition: UniversalURI.h:55
BlobType
Definition: BlobType.h:13
static const UniversalURI SEA_WATER_SPEED
sea_water_speed, as defined by CF-metadata Speed is the magnitude of velocity.
Definition: UniversalURI.h:466
static const UniversalURI SEA_WATER_POTENTIAL_DENSITY
sea_water_potential_density, as defined by CF-metadata Potential density is the density a parcel of a...
Definition: UniversalURI.h:433
static const UniversalURI PLATFORM_BATTERY_CHARGE
platform_battery_charge, as internally defined
Definition: UniversalURI.h:206
static const UniversalURI SEA_FLOOR_DEPTH_BELOW_GEOID
sea_floor_depth_below_geoid, as defined by CF-metadata The geoid is a surface of constant geopotentia...
Definition: UniversalURI.h:416
static const UniversalURI SEA_WATER_POTENTIAL_TEMPERATURE
sea_water_potential_temperature, as defined by CF-metadata Potential temperature is the temperature a...
Definition: UniversalURI.h:438
static const UniversalURI HEIGHT_ABOVE_SEA_FLOOR
height_above_sea_floor, as defined by CF-metadata
Definition: UniversalURI.h:134
Replacement for standard template class string.
Definition: Str.h:12
static const UniversalURI PLATFORM_Y_VELOCITY_WRT_GROUND
platform_y_velocity_wrt_ground, as internally defined
Definition: UniversalURI.h:362
static const UniversalURI PLATFORM_Z_VELOCITY_WRT_SEA_WATER
platform_z_velocity_wrt_sea_water, as internally defined
Definition: UniversalURI.h:383
Definition: BlobType.h:15
static const UniversalURI PLATFORM_X_VELOCITY_WRT_SEA_WATER
platform_x_velocity_wrt_sea_water, as internally defined
Definition: UniversalURI.h:353
static const UniversalURI PLATFORM_ROLL_ANGLE
platform_roll_angle, as defined by CF-metadata
Definition: UniversalURI.h:310
static const UniversalURI MOLE_CONCENTRATION_OF_NITRATE_IN_SEA_WATER
mole_concentration_of_nitrate_in_sea_water, as defined by CF-metadata Mole concentration means moles ...
Definition: UniversalURI.h:194
Definition: BinaryDataType.h:41
virtual bool isUniversal() const
Definition: UniversalURI.h:40
static const UniversalURI PLATFORM_PRESSURE
platform_position_vector, as internally defined by a combination of x, y, and z position and yz...
Definition: UniversalURI.h:297
static const UniversalURI DOWNWELLING_PHOTOSYNTHETIC_PHOTON_FLUX_IN_SEA_WATER
downwelling_photosynthetic_photon_flux_in_sea_water, as defined by CF-metadata Downwelling radiation ...
Definition: UniversalURI.h:81
static const UniversalURI LONGITUDE
longitude is positive eastward; its units of degree_east (or equivalent) indicate this explicitly...
Definition: UniversalURI.h:169
static const UniversalBlobURI PLATFORM_VELOCITY_WRT_GROUND
platform velocity with respect to ground (vector) Forward, Starboard, Keel
Definition: UniversalURI.h:339
Contains the ElementURI class definition.
static const UniversalURI GRID_LONGITUDE
longitude is positive eastward; its units of degree_east (or equivalent) indicate this explicitly...
Definition: UniversalURI.h:131
static const UniversalURI FIX_RESIDUAL_BEARING
Bearing from current location estimate to an external fix.
Definition: UniversalURI.h:108
static const UniversalURI PROJECTION_X_COORDINATE
projection_x_coordinate, as defined by CF-metadata "x" indicates a vector component along the grid x-...
Definition: UniversalURI.h:395
static const UniversalURI PLATFORM_AVERAGE_CURRENT
Definition: UniversalURI.h:203
static const UniversalURI TIME
time, as defined by CF-metadata
Definition: UniversalURI.h:486
static const UniversalURI PLATFORM_Z_SEA_WATER_VELOCITY
platform_z_sea_water_velocity, as internally defined
Definition: UniversalURI.h:377
static const UniversalURI FIX_RESIDUAL_PERCENT_DISTANCE_TRAVELED
Distance between the current location estimate and an external fix, expressed as a percentage of the ...
Definition: UniversalURI.h:113
static const UniversalURI TIME_FIX
time_fix, as internally defined a time fix can be obtained by an absolute timing sensor such as GPS...
Definition: UniversalURI.h:491
static const UniversalURI SEA_WATER_SIGMA_T
sea_water_sigma_t, as defined by CF-metadata Sigma-t of sea water is the density of water at atmosphe...
Definition: UniversalURI.h:456
static const Unit UNSPECIFIED_UNIT
Definition: ElementURI.h:44
Code unit that represents the slate.
Definition: Slate.h:73
static const UniversalBlobURI LOCATION_FIX
location_fix, as internally defined as a combination of latitude and longitude represented by the Loc...
Definition: UniversalURI.h:160
UniversalBlobURI(unsigned short code, const char *fullURI, const Unit &unit=UNSPECIFIED_UNIT, BlobType blobType=NOT_BLOB, unsigned short dimension1=0, unsigned short dimension2=0, unsigned short dimension3=0)
Protected Constructor for use by ElementURI::Read.
Definition: UniversalURI.cpp:165
static const UniversalURI PLATFORM_YAW_ANGLE
platform_yaw_angle, as defined by CF-metadata
Definition: UniversalURI.h:371
static const UniversalURI VOLUME_BACKWARDS_SCATTERING_COEFFICIENT_OF_RADIATIVE_FLUX_IN_SEA_WATER
volume_backwards_scattering_coefficient_of_radiative_flux_in_sea_water, as defined by CF-metadata ...
Definition: UniversalURI.h:497
static const UniversalURI MISSION_STARTED
Flag to denote when missions start.
Definition: UniversalURI.h:178
static const UniversalURI PLATFORM_Y_VELOCITY_WRT_SEA_WATER
platform_y_velocity_wrt_sea_water, as internally defined
Definition: UniversalURI.h:365
static const UniversalURI SEA_WATER_SALINITY
sea_water_salinity, as defined by CF-metadata The unit of salinity is PSU, which is dimensionless...
Definition: UniversalURI.h:450
static const UniversalURI EASTWARD_SEA_WATER_VELOCITY
eastward_sea_water_velocity, as defined by CF-metadata A velocity is a vector quantity.
Definition: UniversalURI.h:90
static const UniversalURI SEA_WATER_DENSITY
sea_water_density, as defined by CF-metadata Sea water density is the in-situ density (not the potent...
Definition: UniversalURI.h:422
static const UniversalURI PLATFORM_PROPELLER_ROTATION_RATE
platform_propeller_rotation_rate, as internally defined
Definition: UniversalURI.h:300
static const UniversalURI PLATFORM_FAULT
platform_fault, as internally defined This goes to "true" (non-zero) if any platform fault exists ...
Definition: UniversalURI.h:257
static const UniversalURI PLATFORM_SPEED_WRT_SEA_WATER
platform_speed_wrt_sea_water, as defined by CF-metadata "wrt" means with respect to.
Definition: UniversalURI.h:329
static const UniversalURI PLATFORM_MAGNETIC_ORIENTATION
platform_magnetic_orientation, as internally defined compass orientation +/- deviation due to vehicle...
Definition: UniversalURI.h:266
static const UniversalURI PLATFORM_SPEED_WRT_GROUND
platform_speed_wrt_ground, as defined by CF-metadata "wrt" means with respect to. ...
Definition: UniversalURI.h:323
Code unit that represents a unique name for a DataElement.
Definition: ElementURI.h:27
static const UniversalURI FIX_HORIZONTAL_PATH_LENGTH_SINCE_LAST_FIX
Length of the path the vehicle has taken between its most recent external fix and the one before...
Definition: UniversalURI.h:101
static const UniversalURI PLATFORM_RUDDER_ANGLE
platform_rudder_angle, as internally defined
Definition: UniversalURI.h:316
static const UniversalURI PLATFORM_X_VELOCITY_CURRENT
platform_x_velocity_current, as internally defined.
Definition: UniversalURI.h:356
static const UniversalURI DEPTH
depth, as defined by CF-metadata Depth is the vertical distance below the surface.
Definition: UniversalURI.h:59
virtual ~UniversalURI()
Destructor.
Definition: UniversalURI.cpp:38
static const UniversalURI SEA_WATER_PRESSURE
sea_water_pressure, as defined by CF-metadata
Definition: UniversalURI.h:441
Code that represents an engineering unit.
Definition: Unit.h:24
static const UniversalURI PLATFORM_BATTERY_ENERGY_USAGE
platform_battery_energy_usage, as internally defined
Definition: UniversalURI.h:212
static const UniversalURI LATITUDE
latitude is positive northward; its units of degree_north (or equivalent) indicate this explicitly...
Definition: UniversalURI.h:147
static const UniversalBlobURI PLATFORM_ORIENTATION_MATRIX
platform_orientation_matrix, as internally defined, is a rotation matrix_from the vehicle frame to th...
Definition: UniversalURI.h:284
static const UniversalURI PLATFORM_DISTANCE_WRT_SEA_WATER
platform_distance_wrt_sea_water Integral of platform_speed_wrt_sea_water over time Only the horizonta...
Definition: UniversalURI.h:250
static const UniversalURI MASS_CONCENTRATION_OF_CHLOROPHYLL_IN_SEA_WATER
mass_concentration_of_chlorophyll_in_sea_water, as defined by CF-metadata
Definition: UniversalURI.h:182
static const UniversalURI PROJECTION_ZONE
projection_zone, as proposed to CF-metadata
Definition: UniversalURI.h:407
static const UniversalURI LONGITUDE_FIX
longitude_fix, as internally defined as a location measurement obtained by an absolute positioning se...
Definition: UniversalURI.h:175
static const UniversalURI PLATFORM_BATTERY_DISCHARGING
Definition: UniversalURI.h:218
static const UniversalURI ACOUSTIC_RECEIVE_TIME
Represents no abstract name.
Definition: UniversalURI.h:52
static const UniversalURI FIX_DISTANCE_MADE_GOOD
how long has it been since you successfully read nav inputs?
Definition: UniversalURI.h:97