IO-Link Master Types.
Types used for the Master implementation.
Data Structures | |
| struct | IOLM_SMsgHandlerConfig |
| This structure stores the message handler configuration. More... | |
| struct | IOLM_SDSObject |
| This structure defines Data Storage objects. More... | |
| struct | IOLM_SDSContent |
| This structure defines the Data Storage content. More... | |
| struct | IOLM_SPortConfig |
| This structure is used for the desired port mode. More... | |
| struct | IOLM_SRealPortConfig |
| This structure is used for the actual used communication parameters. More... | |
| struct | IOLM_SPDBufferCtrl |
| struct | IOLM_SPDBuffer |
| This structure is used for Process Data buffer handling. More... | |
| struct | IOLM_SPageRequest |
| This structure stores the data of a page request. More... | |
| struct | IOLM_SMasterCfg |
| This structure is used for the stack configuration. More... | |
Macros | |
| #define | IOLM_SOFTTIMER_COUNT ((IOLM_PORT_COUNT * 2) + 2) |
| Number of soft timer resources. Used for wake-up retry or ISDU timeout. | |
| #define | IOLM_MAX_PD_SIZE 32 |
| Maximum number of Process Data bytes. | |
| #define | IOLM_MAX_RETRIES 2 |
| Number of Master message retries. | |
| #define | IOLM_MAX_OD_SIZE 32 |
| Maximum number of OD bytes per message. | |
| #define | IOLM_TX_HEADER_SIZE 2 |
| Minimum M-Sequence length. | |
| #define | IOLM_MAX_WAKE_RETRY 3 |
| Maximum number of wake-up retries. | |
| #define | IOLM_MAX_EVENT_ENTRIES 6 |
| Maximum number of event entries. | |
| #define | IOLM_DS_MAX_SIZE 2048 |
| Maximum size of DS content. | |
| #define | IOLM_DS_EMPTY IOLM_SDSHeaderSize |
| Size of DS header. | |
| #define | IOLM_MAX_ISDU_LENGTH (238) |
| Maximum length of ISDU frame (data + header + checksum). | |
| #define | IOLM_WAKETIMEOUT (IOL_T_REN_US+IOL_BIT_USEC(IOL_T_TDMT_BIT,IOL_BAUD_COM3)-IOLM_WAKEUP_PULSE_TIMER_US) |
| Timeout for wake-up retry. | |
| #define | IOLM_MIN_STARTUPCYCLE(baudrate) (IOL_BIT_USEC(IOL_MSEQ_BITS(2,2), baudrate) + IOLM_MASTER_PROCESSING_TIME) |
| Minimum time for IOL startup cycle. | |
| #define | IOLM_NUM_OF_JOBS (IOLM_PORT_COUNT * 5) |
| Maximum number of jobs. | |
| #define | IOLM_MIN_TIMER_INTERVAL_US 10 |
| Minimum time interval for IO-Link timers. | |
| #define | IOLM_PORT_MIN_READY_PULSE_POWER_OFF_ON_GAP_MS 1000U |
| #define | IOLM_PORT_MAX_READY_PULSE_POWER_OFF_ON_GAP_MS 10000U |
| #define | IOLM_SMI_ENABLED 1 |
| #define | IOLM_SDSHeaderSize (sizeof(IOLM_SDSContent)-IOLM_DS_MAX_SIZE) |
Enumerations | |
| enum | IOLM_EModeHState { IOLM_eModeHState_IDLE = 0 , IOLM_eModeHState_WURQ , IOLM_eModeHState_ComRequestCOM3 , IOLM_eModeHState_ComRequestCOM2 , IOLM_eModeHState_ComRequestCOM1 , IOLM_eModeHState_Retry , IOLM_eModeHState_EstablishCom , IOLM_eModeHState_STARTUP , IOLM_eModeHState_PREOPERATE , IOLM_eModeHState_OPERATE } |
| DL-mode handler states. More... | |
| enum | IOLM_EODHState { IOLM_eODHState_Inactive = 0 , IOLM_eODHState_ISDU , IOLM_eODHState_COMMAND , IOLM_eODHState_EVENT } |
| OD handler states. | |
| enum | IOLM_EISDUState { IOLM_eISDUState_Idle = 0 , IOLM_eISDUState_Page , IOLM_eISDUState_ISDURequest , IOLM_eISDUState_ISDUWait , IOLM_eISDUState_ISDUError , IOLM_eISDUState_ISDUResponse } |
| ISDU handler states. | |
| enum | IOLM_EMHMode { IOLM_eMHMode_IDLE = 0 , IOLM_eMHMode_COMx , IOLM_eMHMode_STARTUP , IOLM_eMHMode_PREOPERATE , IOLM_eMHMode_OPERATE } |
| This enumeration indicates the change mode of the message handler. | |
| enum | IOLM_ESMState { IOLM_eSMState_PortInactive = 0 , IOLM_eSMState_WaitonDLStartup , IOLM_eSMState_Pairing , IOLM_eSMState_Unpairing , IOLM_eSMState_Disconnect , IOLM_eSMState_ReadWirelessParam , IOLM_eSMState_WriteWirelessParam , IOLM_eSMState_ReadComParameter , IOLM_eSMState_ReadComParameter2 , IOLM_eSMState_CheckCompV10 , IOLM_eSMState_CheckVxy , IOLM_eSMState_CheckCompVxy , IOLM_eSMState_RestartDevice , IOLM_eSMState_WaitonDLPreoperate , IOLM_eSMState_CheckSerNum , IOLM_eSMState_DataStorage , IOLM_eSMState_Wait , IOLM_eSMState_MasterCycle , IOLM_eSMState_SM_Operate , IOLM_eSMState_InspectionFault , IOLM_eSMState_WaitonDLOperate , IOLM_eSMState_DIDO , IOLM_eSMState_WaitOnReadyPulse , IOLM_eSMState_WaitOnAuthentication , IOLM_eSMState_PortPowerOff } |
| This enumeration indicates the SM states. | |
| enum | IOLM_EPDState { IOLM_ePDState_Inactive = 0 , IOLM_ePDState_PDSingle , IOLM_ePDState_PDInInterleave , IOLM_ePDState_PDOutInterleave } |
| This enumeration indicates the PD states. | |
| enum | IOLM_EALODState { IOLM_eALODState_Idle = 0 , IOLM_eALODState_ParamRead , IOLM_eALODState_ParamWrite , IOLM_eALODState_ISDURead , IOLM_eALODState_ISDUWrite , IOLM_eALODState_ReadAbort , IOLM_eALODState_WriteAbort } |
| This enumeration indicates the AL OD states. | |
| enum | IOLM_EDLEventState { IOLM_eDLEventState_Inactive = 0 , IOLM_eDLEventState_Idle , IOLM_eDLEventState_ReadEvent , IOLM_eDLEventState_SendConf , IOLM_eDLEventState_EventConfirmation } |
| This enumeration indicates the DL event states. | |
| enum | IOLM_EALEventState { IOLM_eALEventState_Idle = 0 , IOLM_eALEventState_ReadEvent , IOLM_eALEventState_EventHandling } |
| This enumeration indicates the AL event states. | |
| enum | IOLM_EInspectionLevel { IOL_eInspectionLevel_NO_CHECK = 0 , IOL_eInspectionLevel_TYPE_COMP , IOL_eInspectionLevel_IDENTICAL } |
| This enumeration indicates the requested inspection Level. More... | |
| enum | IOLM_ETimerState { IOLM_eTimerState_None = 0 , IOLM_eTimerState_Mseq , IOLM_eTimerState_Cycle , IOLM_eTimerState_TDMT , IOLM_eTimerState_Wakeup , IOLM_eTimerState_Pulse } |
| This enum indicates the current hardware timer state. | |
| enum | IOLM_EEvent { IOLM_eEvent_StackHigh = 0 , IOLM_eEvent_StackLow , IOLM_eEvent_UserHigh , IOLM_eEvent_UserLow , IOLM_eEvent_MAX } |
| This enumeration defines acyclic events. More... | |
| enum | IOLM_EDSState { IOLM_eDSState_CheckActivationState_0 = 0 , IOLM_eDSState_WaitingOnDSActivity_1 , IOLM_eDSState_UpDownload_2 , IOLM_eDSState_Off_3 , IOLM_eDSState_CheckIdentity_4 , IOLM_eDSState_CheckMemSize_5 , IOLM_eDSState_CheckUpload_6 , IOLM_eDSState_Upload_7 , IOLM_eDSState_CheckDsValidity_8 , IOLM_eDSState_CheckChecksum_9 , IOLM_eDSState_Download_10 , IOLM_eDSState_DS_Ready_11 , IOLM_eDSState_DS_Fault_12 , IOLM_eDSState_Decompose_IL_13 , IOLM_eDSState_ReadParameter_14 , IOLM_eDSState_StoreDataSet_15 , IOLM_eDSState_Upload_Fault_16 , IOLM_eDSState_Decompose_Set_17 , IOLM_eDSState_Write_Parameter_18 , IOLM_eDSState_Download_Done_19 , IOLM_eDSState_Download_Fault_20 } |
| This IOL_ENUM_DECL defines the Data Storage states. | |
| enum | IOLM_EDSActivationState { IOLM_eDSActivationState_Disabled = 0 , IOLM_eDSActivationState_Enabled , IOLM_eDSActivationState_Cleared } |
| this IOL_ENUM_DECL defines the Data Storage activation states. More... | |
| enum | IOLM_EDSMode { IOLM_eDSMode_Nothing = 0 , IOLM_eDSMode_Download = 1 , IOLM_eDSMode_Upload = 2 , IOLM_eDSMode_UpDownload = 3 } |
| This IOL_ENUM_DECL defines the Data Storage activities which have to be done if there are mismatches detected. The index/order of the values should not be changed, because they are used as a bitmask. More... | |
| enum | IOLM_EDSFault { IOLM_eDSFault_None = 0 , IOLM_eDSFault_Communication , IOLM_eDSFault_Identification , IOLM_eDSFault_SizeCheck , IOLM_eDSFault_Upload , IOLM_eDSFault_Download , IOLM_eDSFault_StorageLocked } |
| This IOL_ENUM_DECL defines the DS faults. | |
| enum | IOLM_EWakeupMode { IOLM_eWakeupMode_Done = 0 , IOLM_eWakeupMode_Stack , IOLM_eWakeupMode_Ack , IOLM_eWakeupMode_Phy } |
| This IOL_ENUM_DECL defines the wake-up modes. More... | |
| enum | IOLM_ECheckResult { IOLM_eCheckResult_OK = 0 , IOLM_eCheckResult_CycleTimeFault , IOLM_eCheckResult_RevisionFault , IOLM_eCheckResult_DeviceFault , IOLM_eCheckResult_DeviceIdChange } |
| This enum is used to indicate compatibility check results. | |
| #define IOLM_PORT_MAX_READY_PULSE_POWER_OFF_ON_GAP_MS 10000U |
Maximum wait time between power off and power on in ms.
| #define IOLM_PORT_MIN_READY_PULSE_POWER_OFF_ON_GAP_MS 1000U |
Ready pulse time expectations. Minimum wait time between power off and power on in ms.
| enum IOLM_EDSMode |
This IOL_ENUM_DECL defines the Data Storage activities which have to be done if there are mismatches detected. The index/order of the values should not be changed, because they are used as a bitmask.
| Enumerator | |
|---|---|
| IOLM_eDSMode_Nothing | No transfer enabled. |
| IOLM_eDSMode_Download | Only download enabled. |
| IOLM_eDSMode_Upload | Only upload enabled. |
| IOLM_eDSMode_UpDownload | Upload and download enabled. |
| enum IOLM_EEvent |
| enum IOLM_EModeHState |
DL-mode handler states.
| enum IOLM_EWakeupMode |
This IOL_ENUM_DECL defines the wake-up modes.