• Marus Documentation
Show / Hide Table of Contents
  • Marus
    • BoatPhysics
    • BoatPhysicsMath
    • DebugPhysics
    • ModifyBoatMesh
    • SlammingForceData
    • TriangleData
  • Marus.Actuators
    • AUVRosController
    • PwmThruster
    • PwmThruster.AllowedVoltages
    • ThrusterController
  • Marus.Actuators.Datasheets
    • T200ThrusterDatasheet
  • Marus.Communications
    • RangeReading
  • Marus.Communications.Acoustics
    • AcousticDevice
    • AcousticDevice<T>
    • AcousticMedium
    • AcousticMediumHelper
    • AcousticMessage
    • AcousticReceiver
    • AcousticTranciever
    • AcousticTransmiter
    • AcousticTransmiterParams
    • MediumBase
    • Nanomodem
    • NanomodemMessage
    • NanomodemROS
    • TransmitionType
  • Marus.Communications.Rf
    • LoraDevice
    • LoraDeviceRos
    • LoraDummyTransmitter
    • LoraMessage
    • LoraRanging
    • LoraRangingRos
    • RfDevice
    • RfDevice<T>
    • RfMediumHelper
    • RfMessage
    • RfReceiver
    • RfTranciever
    • RfTransmiter
    • RfTransmitterParams
    • TransmitionType
  • Marus.Controllers
    • DiverGuidanceController
    • FishController
    • VesselForceController
    • VesselVelocityController
  • Marus.Core
    • GeographicFrame
    • GeoPoint
    • PauseMenu
    • TfExtensions
    • TimeHandler
  • Marus.CustomInspector
    • ConditionalHideAttribute
    • ConditionalHideInInspectorAttribute
    • HideInRuntimeInspectorAttribute
  • Marus.Logger
    • DataLogger
    • DataLoggerUtilities
    • GameObjectLogger
    • GameObjectLogger<T>
    • LogRecord
    • LogRecord<T>
  • Marus.Networking
    • MessageExtensions
    • ParamServerHandler
    • RosConnection
    • ServerStreamer<T>
    • ServerStreamer<T>.MessageHandleMode
    • ServiceCaller
    • TfHandler
    • VisualizationROS
  • Marus.NoiseDistributions
    • AlfaBeta
    • Gaussian
    • INoise
    • Noise
    • NoiseParameters
  • Marus.ObjectAnnotation
    • CameraObjectDetectionSaver
    • ClassObjects
    • ObjectRecord
    • PointCloudSegmentationSaver
  • Marus.Ocean
    • WaterHeightSampler
  • Marus.Quest
    • QuestControl
    • QuestWaypoint
  • Marus.ROS
    • TfStreamerROS
  • Marus.Sensors
    • CameraSensor
    • CameraSensorROS
    • LidarConfig
    • LidarReading
    • RaycastJobHelper
    • RaycastJobHelper<T>
    • RaycastJobHelper<T>.CreateRaycastCommandsJob
    • RaycastJobHelper<T>.ReadbackDataJob
    • RaycastLidar
    • RaycastLidarPointCloud2ROS
    • RaycastLidarROS
    • RayDefinitionType
    • RayInterval
    • SensorBase
    • SensorCallback
    • SensorSampler
    • SensorStreamer<TClient, TMsg>
    • Sonar2D
    • Sonar3D
    • SonarReading
  • Marus.Sensors.AIS
    • AISClassType
    • AisDevice
    • AisManager
    • AisMessage
    • AISMessageType
    • AisSensor
    • AisSensorROS
    • ManeuverIndicator
    • MMSIGenerator
    • NavigationStatus
    • PositionAccuracy
    • PositionReportClassA
    • Raim
    • TimeIntervals
  • Marus.Sensors.Core
    • CameraFrustum
    • ComputeBufferDataExtractor<T>
    • DepthCameras
    • DepthCameras.BufferPrecision
    • LidarMessage
    • PointField
    • SphericalProjectionFilter
  • Marus.Sensors.Primitive
    • DepthSensor
    • DvlSensor
    • GnssSensor
    • ImuROS
    • ImuSensor
    • PoseSensor
    • PoseSensorROS
    • RangeSensor
    • Sonar2DROS
    • Sonar3DROS
    • SonarPrimitive
    • SonarPrimitiveROS
  • Marus.Sensors.ROS
    • DepthSensorROS
    • DvlROS
    • GnssROS
  • Marus.StatisticsUI
    • MousePointToImagePointController
    • PathRecordingsVisualization
    • ScrollViewController
    • StatisticsEntry
    • StatisticsUIController
  • Marus.UI
    • Compass
    • Depth
  • Marus.Utils
    • Helpers
    • PCDLoader
    • PCDSaver
    • PointCloud
    • Singleton<T>
  • Marus.Visualization
    • ArrowVisualController
    • LineVisualController
    • LiveMovementVisualizer
    • ObjectBoundingBoxVisualizer
    • PathRecorder
    • PathVisualController
    • PointCloudManager
    • PointCloudRosVisualizer
    • PointVisualController
    • TransformVisualController
    • Visualizer
    • Visualizer.FilterValues
  • Marus.Visualization.Primitives
    • Arrow
    • Line
    • Path
    • Point
    • PointcloudMesh
    • Transform
    • VisualElement
  • TestUtils
    • ParameterServerMock
    • PingMock
    • TestClient
    • TfMock
    • Utils
  • UniColliderInterpolator
    • BoundsDivider
    • ColliderInterpolator
  • UnityStandardAssets.Characters.ThirdPerson
    • ThirdPersonSwimmer
    • ThirdPersonSwimmerController

Class Nanomodem

Inheritance
System.Object
AcousticDevice
AcousticDevice<NanomodemMessage>
Nanomodem
Implements
AcousticTransmiter
AcousticReceiver
Inherited Members
AcousticDevice<NanomodemMessage>.Send(AcousticMessage, Action<AcousticMessage>, Action<AcousticMessage>)
AcousticDevice<NanomodemMessage>.OnReceive(AcousticMessage)
AcousticDevice.Range
AcousticDevice.Logger
AcousticDevice.Log<W>(String, W)
AcousticDevice.Location
AcousticDevice.GetDeviceById<T>(UInt32)
Namespace: Marus.Communications.Acoustics
Assembly: cs.temp.dll.dll
Syntax
public class Nanomodem : AcousticDevice<NanomodemMessage>, AcousticTransmiter, AcousticReceiver

Fields

RangingIncrement

Declaration
public float RangingIncrement
Field Value
Type Description
System.Single

RangingVariance

Declaration
public float RangingVariance
Field Value
Type Description
System.Single

SupplyVoltage

Nanomodem's supply voltage in Volts (V) 3-6.5V

Declaration
public double SupplyVoltage
Field Value
Type Description
System.Double

Properties

DeviceId

Declaration
public override int DeviceId { get; }
Property Value
Type Description
System.Int32
Overrides
AcousticDevice.DeviceId

Protocol

Declaration
public override string Protocol { get; }
Property Value
Type Description
System.String
Overrides
AcousticDevice.Protocol

Methods

Awake()

Declaration
public void Awake()

ChangeId(Int32)

Declaration
public void ChangeId(int id)
Parameters
Type Name Description
System.Int32 id

GetConvertedVoltage()

Returns voltage converted for usage in nanomodem messages v = yyyyy * 15/65536 Returns yyyyy calculated from v (SupplyVoltage)

Declaration
public int GetConvertedVoltage()
Returns
Type Description
System.Int32

GetRangeTransformed(Int32)

Declaration
public int GetRangeTransformed(int id)
Parameters
Type Name Description
System.Int32 id
Returns
Type Description
System.Int32

OnReceive(NanomodemMessage)

Declaration
public override void OnReceive(NanomodemMessage msg)
Parameters
Type Name Description
NanomodemMessage msg
Overrides
Marus.Communications.Acoustics.AcousticDevice<Marus.Communications.Acoustics.NanomodemMessage>.OnReceive(Marus.Communications.Acoustics.NanomodemMessage)

RangeTo(Int32, Boolean)

Returns range to nanomodem by id in meters.

Declaration
public float RangeTo(int id, bool addNoise = true)
Parameters
Type Name Description
System.Int32 id

Id of nanomodem to ping.

System.Boolean addNoise

If true adds Gaussian noise to range measurement.

Returns
Type Description
System.Single

Send(NanomodemMessage, Action<NanomodemMessage>, Action<NanomodemMessage>)

Declaration
public override void Send(NanomodemMessage msg, Action<NanomodemMessage> onAcknowledgeCallback = null, Action<NanomodemMessage> onTimeoutCallback = null)
Parameters
Type Name Description
NanomodemMessage msg
Action<NanomodemMessage> onAcknowledgeCallback
Action<NanomodemMessage> onTimeoutCallback
Overrides
Marus.Communications.Acoustics.AcousticDevice<Marus.Communications.Acoustics.NanomodemMessage>.Send(Marus.Communications.Acoustics.NanomodemMessage, Action<Marus.Communications.Acoustics.NanomodemMessage>, Action<Marus.Communications.Acoustics.NanomodemMessage>)

Events

OnReceiveEvent

Declaration
public event Action<NanomodemMessage> OnReceiveEvent
Event Type
Type Description
Action<NanomodemMessage>

Implements

AcousticTransmiter
AcousticReceiver
In This Article
Back to top Generated by DocFX