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_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 100 |
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_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. |