//////////////////////////////////////////////////////////////// // // PURPOSE: This contains SensorModule parameters for Tethys class vehicles. // // NOTES: All values (except "strings") must be followed by // a unit abbreviation (or one of the unit-like // abbreviations: n/a, bool, enum, count). // //////////////////////////////////////////////////////////////// AHRS_M2.loadAtStartup = 1 bool; AHRS_M2.simulateHardware = 1 bool; AHRS_M2.boresightMatrix = "f0.0 f0.0 f-1.0 f0.0 f-1.0 f0.0 f-1.0 f0.0 f0.0" // default LRAUV vertical mounting configuration (connector down, flat-rib back) AHRS_M2.magDeviation = 0.0 degree; AHRS_M2.minNumPointsCal = 4 count; // Number of cal points required for the field calibration to start (4-32) AHRS_M2.power = 0.06 watt; AHRS_M2.readAccelerations = 0 bool; AHRS_M2.readAngularVelocities = 0 bool; AHRS_M2.readMagnetics = 0 bool; AHRS_M2.verbosity = 0 count; AMEcho.loadAtStartup = 0 bool; AMEcho.simulateHardware = 1 bool; AMEcho.enabled = 1 bool; AMEcho.depthThreshold = 20.0 meter; // don't run altimeter above this depth AMEcho.powerLoadControl = "/dev/loadB2"; // Set to null when 24V Power Converter LCB is NOT installed onboard. Provide /dev/loadXX address when present. AcousticModem_Benthos_ATM900.loadAtStartup = 0 bool; AcousticModem_Benthos_ATM900.simulateHardware = 1 bool; AcousticModem_Benthos_ATM900.txPower = 8 enum; AcousticModem_Benthos_ATM900.localAddress = 0 count; AcousticModem_Benthos_ATM900.sbdAddress = -1 enum; AcousticModem_Benthos_ATM900.transponderAddress = 0 enum; AcousticModem_Benthos_ATM900.sendExpress = 0 bool; AcousticModem_Benthos_ATM900.surfaceThreshold = 0.5 m; AcousticModem_Benthos_ATM900.verbosity = 1 count; BackseatComponent.loadAtStartup = 0 bool; BackseatComponent.simulateHardware = 0 bool; BackseatComponent.shutdownCmd = "shutdown"; BackseatComponent.lcmListenerTimeout = 2.5 second; BackseatComponent.verbosity = 0 count; // The second generation 4 chan mux to the Ocean Server IBPS BPC1.loadAtStartup = 1 bool; BPC1.simulateHardware = 1 bool; BPC1.batteryMissingStickThreshold = 0 count; // Number of missing sticks allowed (set to 0, to require ALL batt sticks report in) BPC1.batteryMuxCycleTime = 10 minute; // Time it takes OceanServer to mux over all battry banks BPC1.batterySamplingInterval = 1 hour; // Time between battery status checks BPC1.batteryStickCommsTimeout = 6 hour; // Max time allowed between batt stick check-ins (comp. will throw a fault if it // doesn't hear from a batt stick after timeout is exceeded) BR_Ping1D.loadAtStartup = 0 bool; BR_Ping1D.interval = 500 millisecond; BR_Ping1D.simulateHardware = 0 bool; BR_Ping1D.verbosity = 0 count; BR_Ping1D.minRange = 0 meter; BR_Ping1D.maxRange = 30 meter; BR_Ping1D.soundSpeed = 1500 m/s; BR_Ping1D.autoMode = 1 bool; BR_Ping1D.gainIndex = 4 count; BR_Ping1D.minConfidence = 100 percent; BR_Ping1D.pingEnable = 1 bool; BR_Ping1D.writeUniversal = 0 bool; DataOverHttps.loadAtStartup = 1 bool; DataOverHttps.connectionTimeout = 30 second; // If transaction takes this long, try again. DataOverHttps.period = 30 second; // How often to check in with server. DataOverHttps.power = 0.001 watt; // Not actual hardware DataOverHttps.timeout = 3 minute; // If not connected for this period of time, fall over to the next comms channel. DataOverHttps.verbosity = 0 count; // Actually more like a volume control: >2 logs debug messages as IMPORTANT, 2 as INFO, 1 as DEBUG, and <1 as NONE DAT.loadAtStartup = 0 bool; DAT.simulateHardware = 1 bool; DAT.maxAckTimeouts = 4 count; DAT.convertPhaseDataToDirection = 0 bool; DAT.ignoreElevationAngle = 0 bool; DAT.txPower = 8 enum; DAT.localAddress = 0 count; DAT.sbdAddress = -1 enum; DAT.transponderAddress = 0 enum; DAT.sendExpress = 0 bool; DAT.surfaceThreshold = 0.5 m; DAT.powerLoadControl = "null"; // Set to null when 24V Power Converter LCB is NOT installed onboard. Provide /dev/loadXX address when present. DAT.verbosity = 0 count; DDM.loadAtStartup = 0 bool; DDM.simulateHardware = 0 bool; DDM.currentLimit = 90 count; // 0x90 (1.688A) DDM.PWMLimit = 60 count; // 0x60 DDM.verbosity = 0 count; DUSBL_Hydroid.loadAtStartup = 0 bool; DUSBL_Hydroid.simulateHardware = 1 bool; DUSBL_Hydroid.defaultTurnAroundTime = .05 s; // Turn around time of the transponder being used DUSBL_Hydroid.defaultSoundSpeed = 1500 m/s; // Speed of sound in water if not measured DUSBL_Hydroid.detectionThreshold = 75 count; // Ignore singals lower than this value. Max ~64 count", Units::COUNT ); DUSBL_Hydroid.recieveTimeout = 2048 ms; // Time after transmit to listen for replies. Max 4095 ms", Units::MILLISECOND ); DUSBL_Hydroid.transmitLockout = 40 ms; // Time after transmit to ignore replies. Max 50 ms", Units::MILLISECOND ); DUSBL_Hydroid.transponderCode = 2 enum; // Transponder code: 2 for DR1-A, 3 for DR1-B, etc", Units::ENUM ); DUSBL_Hydroid.numberOfPingsRequested = 1 count; // How many pings to request DUSBL_Hydroid.verbosity = 0 enum; // Verbosity: 0 =concise to 3 =most verbose DUSBL_Hydroid.xCenter = 0 arcdeg; // X-axis offset, up to +/- 6.35 arcdeg DUSBL_Hydroid.yCenter = 0 arcdeg; // Y-axis offset, up to +/- 6.35 arcdeg Depth_Keller.loadAtStartup = 1 bool; Depth_Keller.simulateHardware = 1 bool; Depth_Keller.maxPressBound = 500 decibar; Depth_Keller.minPressBound = -10 decibar; Depth_Keller.offset = 0 decibar; Depth_Keller.power = 0.006 watt; // Assumes 1mA + A/D overhead Depth_Keller.scale = 27.72 micropascal; // per count of A/D DropWeight.loadAtStartup = 1 bool; DropWeight.simulateHardware = 1 bool; DVL_micro.loadAtStartup = 0 bool; DVL_micro.simulateHardware = 1 bool; DVL_micro.magDeviation = 0.0 degree; DVL_micro.pitchOffset = 0.0 degree; DVL_micro.power = 5.436 watt; // Assumes 75 meter altitude, 2.5 Hz DVL_micro.rollOffset = 0.0 degree; //DVL_micro.power_platform_orientation = 0.94 watt; //DVL_micro.power_platform_magnetic_orientation = 0.94 watt; //DVL_micro.power_platform_pitch_angle = 0.94 watt; //DVL_micro.power_platform_roll_angle = 0.94 watt; GobyModem.loadAtStartup = 0 bool; GobyModem.simulateHardware = 1 bool; GobyModem.modemType = "benthos_atm900"; // Either benthos_atm900 or whoi_micromodem GobyModem.networkIds = "0"; // Comma separated list of IDs of all deployed vehicles with modems // This must match in all simulataneously deployed vehicles // Used to allocate transmission time slots GobyModem.maxDistance = 5 km; // Maximum distance of transmission, used in simulation GobyModem.transBaud = 30 bps; // Baud rate of transmission, used in simulation LineCaptureServo.loadAtStartup = 0 bool; LineCaptureServo.simulateHardware = 1 bool; Micromodem.loadAtStartup = 0 bool; Micromodem.simulateHardware = 1 bool; Micromodem.localAddress = 0 enum; Micromodem.destinationAddress = -1 enum; Micromodem.dataRate = 1 enum; Micromodem.sendExpress = 0 bool; Micromodem.surfaceThreshold = 0.5 m; // Closer to the surface than VerticalControl.surfaceThreshold Micromodem.pwrampTXLevel = 0 enum; // Set to 3 for test tank, -1 for version 1 modems Micromodem.centerFrequency = 14500 Hz; Micromodem.bandwidth = 4000 Hz; Micromodem.dusblPingCode = ""; Micromodem.rangeTxSeqCode = ""; Micromodem.rangeTAT = 50 ms; Micromodem.trans1Channel = -1 enum; Micromodem.trans2Channel = -1 enum; Micromodem.trans3Channel = -1 enum; Micromodem.trans4Channel = -1 enum; NAL9602.loadAtStartup = 1 bool; NAL9602.simulateHardware = 1 bool; NAL9602.gpsFailTimeout = 10 min; // Time to wait for GPS prior to throwing a failure // Based on worst case outside of 5 min 26 seconds for // acquisition without a backup battery. NAL9602.iridiumMTQueueTimeout = 5 min; // How long to wait for an Iridium session to check for waiting MT SBD messages in the queue NAL9602.power = 0.35 watt; NAL9602.power_platform_communications = 0.90 watt; NAL9602.requestGGA = 0 bool; // If false recommended minimum data will be requested NAL9602.fastGPSFix = 1 bool; // Leaves the power applied to the NAL in order to allow for faster GPS fixes NAL9602.maxDownlinkMsgSize = 340 byte; // Maximum size of SBD packets sent from vehicle to shore (no more than 340 byte) NAL9602.maxUplinkMsgSize = 270 byte; // Maximum size of SBD packets sent from shore to vehicle (no more than 270 byte) Onboard.loadAtStartup = 1 bool; Onboard.simulateHardware = 1 bool; OnboardBattery.mainBatterySysNode = "ds2782-0"; OnboardBattery.backupBatterySysNode = "ds2782-1"; OnboardPressure.coefA0 = 1827.50 none; OnboardPressure.coefB1 = -2.088623 none; OnboardPressure.coefB2 = -1.041687 none; OnboardPressure.coefC12 = 0.000710 none; Onboard.power = 0.010 watt; // Guess OnboardPressure.intercept = 0.0 psi; OnboardPressure.slope = 172.62 psi/V; PowerOnly.loadAtStartup = 0 bool; PowerOnly.simulateHardware = 1 bool; PowerOnly.sampleTime = 90 second; PNI_TCM.loadAtStartup = 0 bool; PNI_TCM.simulateHardware = 1 bool; PNI_TCM.magDeviation = 0.0 degree; PNI_TCM.pitchOffset = 0.0 degree; PNI_TCM.power = 0.08 watt; PNI_TCM.readMagnetics = 1 bool; PNI_TCM.rollOffset = 0.0 degree; PNI_TCM.verbosity = 0 count; Radio_Surface.loadAtStartup = 1 bool; Radio_Surface.simulateHardware = 1 bool; Radio_Surface.power = 3.50 watt; RDI_Pathfinder.loadAtStartup = 0 bool; RDI_Pathfinder.simulateHardware = 1 bool; RDI_PathfinderUp.loadAtStartup = 0 bool; RDI_PathfinderUp.simulateHardware = 0 bool; Rowe_600.loadAtStartup = 0 bool; Rowe_600.simulateHardware = 0 bool; Rowe_600.acousticBlankingDistance = 0.5 meter; Rowe_600.altitudeAccuracy = 0.01 m; Rowe_600.bottomTrackVelocityAccuracy = 0.002 m/s; Rowe_600.headingOffset = 45.0 degree; Rowe_600.maxSpeed = 1.75 m/s; Rowe_600.numberOfBeams = 4 count; Rowe_600.numberOfBins = 1 count; Rowe_600.pausePeriod = 400 ms; Rowe_600.pitchOffset = 0.0 degree; Rowe_600.rollOffset = 0.0 degree; Rowe_600.sampleTime = 15 second; // do we really need this for the rowe? Rowe_600.verbosity = 0 count; Rowe_600.waterReferenceLayerBin = 2 count; Rowe_600.waterTrackVelocityAccuracy = 0.05 m/s; Rowe_600.writeAmplitudeProfile = 0 bool; Rowe_600.writeBeamVelocityProfile = 0 bool; Rowe_600.writeCorrelationProfile = 0 bool; Rowe_600.writeEarthVelocityProfile = 0 bool; Rowe_600.writeGoodBeamPingsProfile = 0 bool; // Don't bother enabling this, it is not yet implemented for output to slate. Rowe_600.writeGoodEarthPingsProfile = 0 bool; // Don't bother enabling this, it is not yet implemented for output to slate. Rowe_600.writeInstrumentVelocityProfile = 0 bool; Rowe_600.writeRawEnsemble = 1 bool; SCPI.loadAtStartup = 0 bool; SCPI.simulateHardware = 1 bool; SCPI.sampleTime = 420 second;