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... | |
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_READY_PULSE_MIN_DURATION_US 400U |
#define | IOLM_PORT_READY_PULSE_MAX_DURATION_US 1100U |
#define | IOLM_PORT_READY_PULSE_TIMEOUT_MS 5000U |
#define | IOLM_PORT_READY_PULSE_POWER_OFF_ON_GAP_MS 1000U |
#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... | |
#define IOLM_PORT_READY_PULSE_MAX_DURATION_US 1100U |
Upper limit of ready pulse length in us.
#define IOLM_PORT_READY_PULSE_MIN_DURATION_US 400U |
Ready pulse time expectations. Lower limit of ready pulse length in us.
#define IOLM_PORT_READY_PULSE_POWER_OFF_ON_GAP_MS 1000U |
Wait time between power off an power on in ms.
#define IOLM_PORT_READY_PULSE_TIMEOUT_MS 5000U |
Timeout for ready pulse detection 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.
Enumerator | |
---|---|
IOLM_eWakeupMode_Done | Wake-up is generated by port. |
IOLM_eWakeupMode_Stack | Wake-up need to be generated by stack. |
IOLM_eWakeupMode_Ack | Wake-up is done by application and acknowledged by IOLM_API_PL_u8WakeAck. |
IOLM_eWakeupMode_Phy | Wake-up is generated by Phy with frame handler mode. |