IO-Link Masterv2.01.01
 
Loading...
Searching...
No Matches
SMI On Request Data

Overview

SMI On Request Data.

Functions

IOL_FUNC_DECL void IOLM_SMI_vDeviceWriteReq (INT8U u8ClientID_p, INT8U u8Port_p, INT16U u16ArgBlockLength_p, INT8U *pu8ArgBlock_p)
 Set Device On-request Data.
 
IOL_FUNC_DECL void IOLM_SMI_vDeviceReadReq (INT8U u8ClientID_p, INT8U u8Port_p, INT16U u16ArgBlockLength_p, INT8U *pu8ArgBlock_p)
 Get Device On-request Data.
 

Function Documentation

◆ IOLM_SMI_vDeviceReadReq()

IOL_FUNC_DECL void IOLM_SMI_vDeviceReadReq ( INT8U  u8ClientID_p,
INT8U  u8Port_p,
INT16U  u16ArgBlockLength_p,
INT8U pu8ArgBlock_p 
)

Get Device On-request Data.

This service allows for reading On-request Data (OD) from the Device via the Master. The answer to the request is the function IOLM_SMI_CBDeviceReadCnf.

Parameters
[in]u8ClientID_pClient ID.
[in]u8Port_pPort ID.
[in]u16ArgBlockLength_pLength of ArgBlock.
[in]pu8ArgBlock_pData pointer which points to the Device On-request Data (IOLM_SMI_SOnRequestData).
Example
INT8U au8Mem[IOLM_SMI_ARGBLOCK_ONREQ_LEN(0)]; // Allocate ArgBlock memory
// Fill request
psuReq->u16ArgBlockID = IOLM_SMI_ENDIAN_16(IOLM_SMI_eArgBlockID_OnRequestDataRead);
psuReq->u16Index = IOLM_SMI_ENDIAN_16(16); // Index 16 = VendorName
psuReq->u8Subindex = 0;
// Send request
0, // Client ID
0, // Port
IOLM_SMI_ARGBLOCK_ONREQ_LEN(0), // Length
au8Mem
);
// Wait for IOLM_SMI_CBDeviceReadCnf
uint8_t INT8U
8 bit unsigned integer
Definition IOL_Port_Types.h:68
IOL_FUNC_DECL void IOLM_SMI_vDeviceReadReq(INT8U u8ClientID_p, INT8U u8Port_p, INT16U u16ArgBlockLength_p, INT8U *pu8ArgBlock_p)
Get Device On-request Data.
Definition IOLM_SMI_API.c:929
This structure is used for On-request Data.
Definition IOLM_SMI_Types.h:1138
INT16U u16ArgBlockID
Big endian.
Definition IOLM_SMI_Types.h:1139
INT16U u16Index
Big endian.
Definition IOLM_SMI_Types.h:1140

◆ IOLM_SMI_vDeviceWriteReq()

IOL_FUNC_DECL void IOLM_SMI_vDeviceWriteReq ( INT8U  u8ClientID_p,
INT8U  u8Port_p,
INT16U  u16ArgBlockLength_p,
INT8U pu8ArgBlock_p 
)

Set Device On-request Data.

This service allows for writing On-request Data (OD) for propagation to the Device. The answer to the request is the function IOLM_SMI_CBDeviceWriteCnf.

Parameters
[in]u8ClientID_pClient ID.
[in]u8Port_pPort ID.
[in]u16ArgBlockLength_pLength of ArgBlock.
[in]pu8ArgBlock_pData pointer which points to the Device's On-request Data (IOLM_SMI_SOnRequestData).
Example
INT8U au8Mem[IOLM_SMI_ARGBLOCK_ONREQ_LEN(2)]; // Allocate ArgBlock memory
// Fill request
psuReq->u16ArgBlockID = IOLM_SMI_ENDIAN_16(IOLM_SMI_eArgBlockID_OnRequestDataWrite);
psuReq->u16Index = IOLM_SMI_ENDIAN_16(123); // Index
psuReq->u8Subindex = 0; // SubIndex
psuReq->au8Data[0] = 0x12; // Data
psuReq->au8Data[1] = 0x34; // Data
// Send request
0, // Client ID
0, // Port
IOLM_SMI_ARGBLOCK_ONREQ_LEN(2), // Length
au8Mem
);
// Wait for IOLM_SMI_CBDeviceWriteCnf
IOL_FUNC_DECL void IOLM_SMI_vDeviceWriteReq(INT8U u8ClientID_p, INT8U u8Port_p, INT16U u16ArgBlockLength_p, INT8U *pu8ArgBlock_p)
Set Device On-request Data.
Definition IOLM_SMI_API.c:906