MASKS (GVL) ¶ Following bit masks have to be used to interpret the structure members of MESSAGE . Attributes: qualified_only InOut: Scope Name Type Initial Comment Constant gcdwCOBIDMask DWORD 16#1FFFFFFF Bit Mask for calculating the CANID. Example: dwCOBID := pMsg^.cobId AND MASKS.gcdwCOBIDMask gcdwTXMask DWORD 16#80000000 Bit Mask for calculating the Tx bit. Example: xTxMsg := (pMsg^.cobId AND MASKS.gcdwTXMask) > 0 gcdwRTRMask DWORD 16#40000000 Bit Mask for calculating the RTR bit. Example: xRTRMsg := (pMsg^.cobId AND MASKS.gcdwRTRMask) > 0 gcdwEIDMask DWORD 16#20000000 Bit Mask for calculating the EID (= Extended Identifer; 29 bit) bit. Example: xEIDMsg := (pMsg^.cobId AND MASKS.gcdwEIDMask) > 0 gcbyDLCMask BYTE 16#F Bit Mask for calculating the message length. Example: dwLength := pMsg^.byLen AND MASKS.gcbyDLCMask gcbyPrioMask BYTE 16#70 Bit Mask for calculating the message priority. Example: dwPrio := pMsg^.byLen AND MASKS.gcbyPrioMask gcbySyncMask BYTE 16#80 Bit Mask for calculating the Sync bit. Example: xSync := (pMsg^.byLen AND MASKS.gcbySyncMask) > 0
Structures ¶ ARRAY_RECV_ENTRY (Struct) MESSAGE (Struct)
ARRAY_RECV_ENTRY (STRUCT) ¶ TYPE ARRAY_RECV_ENTRY : STRUCT This stucture defines a COBID entry for an Array Receiver created by CL2._CreateArrayReceiver . InOut: Name Type Comment dwCOBID COBID COBID of the array receiver entry. hHandle CAA.HANDLE Last receive message handle for the given COBID.
MESSAGE (STRUCT) ¶ TYPE MESSAGE : STRUCT This structure defines a CANL2 message. Only use this structure if you are using unmanaged CANL2 functions (functions with underscore). For unmanaged CL2 functions the returned handle hMsg can be interpreted as a pointer to this structure because no resource manager is involved. For interpreting the structure members use the bit masks defined in MASKS . InOut: Name Type Comment cobId COBID Contains CANID and Tx/RTR/Extended Identifier bit. Use appropriate bit masks defined in MASKS for calculating the correct value. abyData DATA Data array of CAN message. dwTSP DWORD Receive message: Rx timestamp (set by driver, if supported); Transmit message: time to live. After this time the message will be discarded by the driver (if supported). byLen BYTE Contains DLC. Use bit mask MASKS.gcbyDLCMask for calculating the message length. byNet BYTE CAN Network ID this messages belongs to (do not change!).
Types ¶ COBID (Alias) DATA (Alias)
COBID (ALIAS) ¶ TYPE COBID : UDINT Defines a CAN ID
DATA (ALIAS) ¶ TYPE DATA : ARRAY[0..7] OF USINT Defines the data array of a CAN message.
GetReceivePoolSize (FUN) ¶ FUNCTION GetReceivePoolSize : CAA.COUNT Returns the number of free receive messages in global receive pool. Should be greater 0. Otherwise no more messages can be received. Diagnostic Information can be also read by GetDiagnosis . InOut: Scope Name Type Comment Return GetReceivePoolSize CAA.COUNT number of free receive messages in global receive pool Input hDriver CAA.HANDLE handle of CAN interface peError POINTER TO ERROR optional pointer to error enum
GetReceiveQueueLength (FUN) ¶ FUNCTION GetReceiveQueueLength : CAA.COUNT Returns the number of messages in receive queue waiting for being processed by application or stack. Diagnostic Information can be also read by GetDiagnosis . InOut: Scope Name Type Comment Return GetReceiveQueueLength CAA.COUNT number of messages in receive queue Input hDriver CAA.HANDLE handle of CAN interface peError POINTER TO ERROR optional pointer to error enum
GetTransmitCounter (FUN) ¶ FUNCTION GetTransmitCounter : CAA.COUNT Returns a counter which is incremented with each sent message. Diagnostic Information can be also read by GetDiagnosis . InOut: Scope Name Type Comment Return GetTransmitCounter CAA.COUNT number of sent messages Input hDriver CAA.HANDLE handle of CAN interface peError POINTER TO ERROR optional pointer to error enum