Class in Zendir.Classes | Inherits from Transmitter
Declaration
class OpticalTransmitter;Description
The Optical Transmitter is a specialized Transmitter component that uses laser-based free-space optical communication to transmit data to Optical Receiver components. Unlike radio-frequency transmitters that rely on antenna patterns and link budget calculations based on signal propagation, optical transmitters require direct line-of-sight between the transmitter and receiver. The narrow beam divergence of laser communication provides high data rates and improved security, but demands precise pointing and unobstructed optical paths.
Properties
| Declared | Description |
|---|---|
| AlignmentError | [deg] The alignment error due to any error models that mayexist in the system. |
| BeamDivergence | The beam divergence angle |
| ComplexLineOfSight | A flag for if a complex Unreal ray-cast should be created for more accuratetransmission line of sights. |
| EmitterRotation | The rotation of the emitter in the local coordinate system. Thisis the initial rotation based on the local coordinate system ofthe emitter. |
| In_DeviceStatusMsg | The Device status message for the physical component whetherthe device is available. |
| Range | The maximum range (in m) that the laser can shoot in. If 0, it will shoot for amaximum range. |
| Inherited | Description |
|---|---|
| AntennaGain | Antenna Gain of the transmission. This is measured in decibels andrepresents the gain provided by the antenna. |
| Behaviours | A collection of behaviours attached to this object. |
| BitRate | The effective bit rate of the data being processed. This is the maximumamount of data that can be transmitted per second or received per second.The actual bit rate may be limited by the channel capacity. |
| CanTransmit | A flag that can be overwritten by a power module preventingthe transmission from occurring. |
| CenterOfMassB_B | The center of mass of the component in respect to the body frame (B) of the component. This is isolated from anychildren and exists in isolation. |
| CenterOfMassDot_LB_B | The center of mass time-derivative of the component within its own local coordinates. This does not include anyof the sub-components and exists in isolation. |
| CenterOfMassDotB_B | The center of mass time-derivative of the component relative to the body frame (B). This does not include any ofthe sub-components and exists in isolation. |
| CenterOfMassL_L | The center of mass of the component within its own local coordinates. This does not include any of thesub-components and exists in isolation. |
| CenterOfMassPrime_LB_B | The center of mass general-derivative of the component within its own local coordinates. This does not includeany of the sub-components and exists in isolation. |
| CenterOfMassPrimeB_B | [m/s] The center of mass general-derivative of the component relative to the body frame (B). This does notinclude any of the sub-components and exists in isolation. |
| Children | A collection of children attached to this object. |
| DCM_BN | The rotational DCM matrix between the body frame (B) at the top of this component chain and the inertial frame (N). |
| DCM_LB | The rotational DCM matrix between the component frame of this object (L) relative to the body frame (B). |
| DCM_LN | The DCM rotational matrix of the component relative to the inertial origin (N) of the world. |
| DCM_LP | The DCM matrix of the component in the parent’s frame (P), taken from the Component Transform (PL). |
| DivergenceAngle | Divergence angle of the antenna |
| ForceTransmit | A flag that when enabled will force a transmission of a message |
| Frequency | The targeted frequency for the antenna |
| IsEnabled | Is true if the object is currently enabled. |
| IsTransmitting | A flag for if the transmitter is attempting to transmit data |
| LineLoss | Line Loss from transmitter to antenna of the transmission. This isa loss in decibels that represents the loss in the transmission linedue to the circuitry and hardware. |
| LocalForward | The direction of the transform frame’s forward vector, which is along the Y axis. |
| LocalRight | The direction of the transform frame’s right vector, which is along the X axis. |
| LocalUp | The direction of the transform frame’s up vector, which is along the Z axis. |
| Mass | The component mass defined in the object. This is independent of any parent or children objects and exists inisolation. |
| MassDot | The component mass time-derivative defined in the object. This is independent of any parent or children objectsand exists in isolation. |
| Models | A collection of models attached to this object. |
| ModelType | Analysis type for the antenna dish |
| ModulationType | The modulation scheme used by this transmitter for digital communications.This affects the bit error rate calculation. |
| MomentOfInertia_LB | The moment of inertia of the component, measured at the local center of mass, represented with its own localcoordinates. This does not include any of the sub-components and exists in isolation. |
| MomentOfInertiaB_B | The moment of inertia of this component, measured in the body frame relative to the parented body. This isindependent of any children and exists in isolation. |
| MomentOfInertiaPrime_LB | The derivative of the moment of inertia of the component, measured at the local center of mass, represented withits own local coordinates. This does not include any of the sub-components and exists in isolation. |
| MomentOfInertiaPrimeB_B | The derivative of the moment of inertia of the component, represented in the body frame (B). This is independentand exists in isolation. |
| Name | The display name or tag of this object. |
| NextUplinkTime | The time when the next message can be uplinked |
| NumAvailableConnections | Returns the number of active connections that are currently valid on the antennathat have a connection fraction greater than zero, so they can be used fordata transmission. |
| NumConnections | Returns the number of connections that are currently valid on the antenna |
| NumLinks | Returns the number of valid links that the antenna have connected |
| NumOutPackets | The number of out messages in the telemetry buffer |
| NumPacketsLoaded | The number of in messages in the transmitter buffer |
| OpticalLoss | Optical Loss of the transmission. This is measured in decibels andrepresents the loss due to optical components. |
| Out_AntennaConfigMsg | The antenna configuration message that contains the dataabout the antenna. |
| Out_ComponentMassMsg | The component mass message defines the set of mass properties and states of the system within this componentlocally. This is independent of any parent or children properties or objects. |
| Out_TransformMsg | This defines the base transform message that stores the state of the transform of this object. |
| PacketSize | The number of bytes in each packet that is fixed within the packetlist for the data. |
| Parent | The currently attached parent object (if any). |
| PointingLoss | Pointing loss of the transmission due to misalignment. This ismeasured in decibels. |
| Position | [m] The position of the object relative to the parent or to world origin, if no parent exists. |
| Position_BN_N | The position of the body (the root parent B) in the inertial frame relative to the inertial point (N). |
| Position_LB_B | The position of the component relative to the root object of this hierarchy. This is in the inertial frame and ifthe component is the root object, then there will be no position. |
| Position_LN_N | The position of the inertial world space. This position is derived from the world’s transform (N). |
| Position_LP_P | The position of the object relative to the parented object (P). If there is no parent object, then this will bein the inertial frame. |
| Power | Power of the transmission |
| Root | The root object in the parent chain. |
| Rotation | [-] The rotation of the object relative to the parent or to the world origin, if no parent exists. |
| SystemNoiseTemperature | System Noise Temperature of the transmitter, which is used to calculatethe overall noise figure of the transmission. |
| Thermal | [TEMPORARY] A reference to the thermal model that is attached to this object. This will allow the object to havethermal properties and be able to be used in thermal simulations. |
| TransmissionType | The transmission type for the antenna. This will define whattype of connection is required. |
| TransmittedData | A counter for the number of megabits transmitted over the network. This is thesum of the data in the outgoing buffer over time. |
| UplinkedMessage | A flag that specified if a message was uplinked |
Methods
| Declared | Description |
|---|---|
| BlockLineOfSight | Blocks all line of sight for all transmitters that areoptical transmitters |
| GetDynamicEmitterRotation | Returns the emitter rotation of the transmitter. This is the updatedtransmitter rotation based on the alignment error. This is used toput any alignment error into the rotation matrix of the transmitter. |
| IsLineOfSight | Returns whether the line of sight is clear for a particularreceiver. This is used to determine if the receiver can performany complex operations such as ray-casting. |
| UpdateLineOfSight | Updates the line of sight flag for a particular connectionwith another receiver. |
| Inherited | Description |
|---|---|
| AddObject | Returns a new simulation object with the specified type. |
| Attach | Attempts to attach this object to a new parent. This will only work if the current object is no parented to anyother object. |
| ConfigureEMLookupTable | Loads the EM signature properties from a CSV table. This will read a CSV fileand will interpolate the data to create a lookup table for the EM signature. |
| ContainsModelWithID | Returns true if an attached model satisfies the specified ID. |
| ContainsModelWithType | Returns true if an attached model satisfies the specified type. |
| Detach | This is an action to detach the current object from its parent, if it exists and move it to another object or tojust exist within the simulation. |
| FindBehavioursWithType | Returns all attached behaviours that satisfies the specified type. |
| FindBehaviourWithID | Returns an attached behaviour that satisfies the specified ID. |
| FindBehaviourWithType | Returns an attached behaviour that satisfies the specified type. |
| FindChildrenWithType | Returns all attached children that satisfies the specified type. |
| FindChildWithID | Returns an attached child that satisfies the specified ID. |
| FindChildWithType | Returns an attached child that satisfies the specified type. |
| FindModelsWithType | Returns all attached models that satisfies the specified type. |
| FindModelWithID | Returns an attached model that satisfies the specified ID. |
| FindModelWithType | Returns an attached model that satisfies the specified type. |
| FindParentWithID | Returns an attached parent that satisfies the specified ID. |
| FindParentWithType | Returns an attached parent that satisfies the specified type. |
| FindRootWithID | Returns a root object that satisfies the specified ID. |
| FindRootWithType | Returns a root object that satisfies the specified type. |
| GetAntennaLink | Returns the data link message associated with the antenna with a connectionto another antenna. |
| GetAntennaPositionForLink | Gets the position of this antenna for a link to another antenna. Bydefault, this is just the position of the antenna, but can be overriddenin derived classes to provide more complex behavior (e.g., ground stations)for nearest point calculations. |
| GetFrequencyBandsInRange | Returns the number of frequency bands that this transmitter cantransmit on at the target frequency. This can be overridden by childclasses for returning multiple bands if required. |
| GetLoadedSignaturePattern | Gets the currently loaded RF pattern and returns the datain degrees as an array from 0 to 360. |
| GetLookupPointingLoss | Gets the pointing loss of the antenna based on the angle ofthe component. |
| GetModel | Returns a valid assigned model with the specified type. |
| GetNearestFrequency | Gets the nearest frequency that this transmitter can transmit onto the target frequency specified. This can be overridden by childclasses to provide specific frequency hopping or band selection. |
| GetNumBands | Returns the number of frequency bands that this transmitter cantransmit on. This can be overridden by child classes for returningmultiple jamming bands. |
| GetWorldForward | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| GetWorldRight | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| GetWorldTransform | Returns the world transform of the object which is relative to the parent. If no parent exists, this will be thetransform of the object in world space. |
| GetWorldUp | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| ReadBodyTransform | This method will reset the dirty flag on the mass so that it has been read successfully and is valid. |
| SetRandomSeed | Sets the random seed for the internal random number generator. |
| SetWorldTransform | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| TransmitBytes | Attempts to transmit a byte array across the network. The data will be convertedto packets in the correct order and transmitted over the network. The key is usedto have an identification of the data, which can provide additional context aboutthe information that is sent, but can be completely optional. |
| TransmitJSON | Attempts to transmit a JSON object across the network. The data will be convertedto packets in the correct order and transmitted over the network. The key is usedto have an identification of the data, which can provide additional context aboutthe information that is sent, but can be completely optional. |
| TransmitMessage | Attempts to transmit a message across the network. The data will be convertedto packets in the correct order and transmitted over the network. The key is usedto have an identification of the data, which can provide additional context aboutthe information that is sent, but can be completely optional. By default, if nokey is present, the key will be the name of the message type. |
| TransmitString | Attempts to transmit a string across the network. The data will be convertedto packets in the correct order and transmitted over the network. The key is usedto have an identification of the data, which can provide additional context aboutthe information that is sent, but can be completely optional. |
| TransmitTimedMessage | Attempts to transmit a message across the network. The data will be convertedto packets in the correct order and transmitted over the network. The key is usedto have an identification of the data, which can provide additional context aboutthe information that is sent, but can be completely optional. By default, if nokey is present, the key will be the name of the message type. This contains anadditional option for a custom time to transmit the message, if it was sent fromanother source. |
| UpdateMassProperties | Updates the mass properties of the current physical object at a particular time. |
| UpdatePointingLoss | Updates the pointing loss of the antenna based on the angle ofthe component. |