Skip to content

ForeignPdoSignal Struct

One mapped object taken out of a foreign PDO payload. The bytes are the slice the mapping assigns to Index:SubIndex, little-endian, the same order a PDO carries. A dummy mapping (0001h–0007h) occupies its bits in the payload and is not delivered.

public readonly struct ForeignPdoSignal

Constructors

ForeignPdoSignal(byte, ForeignPdoKind, int, uint, ushort, byte, byte[], ForeignPdoMappingOrigin) Constructor

Constructs a signal. value is kept as given; the observe path copies the slice out of the payload before it calls the sink.

public ForeignPdoSignal(byte peerNodeId, CanKit.Pro.CANopen.ForeignPdoKind kind, int pdoNumber, uint cobId, ushort index, byte subIndex, byte[] value, CanKit.Pro.CANopen.ForeignPdoMappingOrigin origin);

Parameters

peerNodeId Byte

kind ForeignPdoKind

pdoNumber Int32

cobId UInt32

index UInt16

subIndex Byte

value Byte[]

origin ForeignPdoMappingOrigin

ForeignPdoSignal(byte, ForeignPdoKind, int, uint, ushort, byte, byte[], ForeignPdoMappingOrigin, int) Constructor

Constructs a signal with its exact mapped bit width. Bits are right-aligned in little-endian byte order; unused high bits in the final byte are zero.

public ForeignPdoSignal(byte peerNodeId, CanKit.Pro.CANopen.ForeignPdoKind kind, int pdoNumber, uint cobId, ushort index, byte subIndex, byte[] value, CanKit.Pro.CANopen.ForeignPdoMappingOrigin origin, int bitLength);

Parameters

peerNodeId Byte

kind ForeignPdoKind

pdoNumber Int32

cobId UInt32

index UInt16

subIndex Byte

value Byte[]

origin ForeignPdoMappingOrigin

bitLength Int32

Properties

ForeignPdoSignal.BitLength Property

The exact mapped width, without final byte padding.

public int BitLength { get; }

Property Value

Int32

ForeignPdoSignal.CobId Property

COB-ID (bit 29 set for an extended frame) the payload was observed on.

public uint CobId { get; }

Property Value

UInt32

ForeignPdoSignal.Index Property

Object index the mapping entry names.

public ushort Index { get; }

Property Value

UInt16

ForeignPdoSignal.Kind Property

Whether the PDO is a TPDO or an RPDO of PeerNodeId.

public CanKit.Pro.CANopen.ForeignPdoKind Kind { get; }

Property Value

ForeignPdoKind

ForeignPdoSignal.Origin Property

Whether Value was split with the live mapping record or the peer file.

public CanKit.Pro.CANopen.ForeignPdoMappingOrigin Origin { get; }

Property Value

ForeignPdoMappingOrigin

ForeignPdoSignal.PdoNumber Property

PDO number, 1..512.

public int PdoNumber { get; }

Property Value

Int32

ForeignPdoSignal.PeerNodeId Property

Node-id of the peer whose PDO this signal came from.

public byte PeerNodeId { get; }

Property Value

Byte

ForeignPdoSignal.SubIndex Property

Object sub-index the mapping entry names.

public byte SubIndex { get; }

Property Value

Byte

ForeignPdoSignal.Value Property

The mapped bytes, little-endian.

public byte[] Value { get; }

Property Value

Byte[]