ESCSS Module¶
The EtherCAT Sub-System (escss) API provides a set of functions for configuring and using the Sub System module. These contain EtherCAT Sub-System and Sub-System Configuration Registers. The Control registers configure GPIN and GPOUT Pad Select, Phy and Clock Source Select, Sync and Latch Signal Selects.
-
group
escss_api
Defines
-
ESCSS_IPREV_MASK
(ESCSS_IPREVNUM_IP_REV_MINOR_S|\
ESCSS_IPREVNUM_IP_REV_MINOR_M)¶
-
ESCSS_RAW_INTERRUPT_MASK
(ESCSS_INTR_RIS_SYNC0_RIS|\
ESCSS_INTR_RIS_SYNC1_RIS|\
ESCSS_INTR_RIS_IRQ_RIS|\
ESCSS_INTR_RIS_DMA_DONE_RIS|\
ESCSS_INTR_RIS_TIMEOUT_ERR_RIS|\
ESCSS_INTR_RIS_MASTER_RESET_RIS)¶
-
ESCSS_INTERRUPT_MASK
(ESCSS_INTR_MASK_SYNC0_MASK|\
ESCSS_INTR_MASK_SYNC1_MASK|\
ESCSS_INTR_MASK_IRQ_MASK|\
ESCSS_INTR_MASK_DMA_DONE_MASK|\
ESCSS_INTR_MASK_TIMEOUT_ERR_MASK|\
ESCSS_INTR_MASK_MASTER_RESET_MASK)¶
-
ESCSS_RESET_INTERRUPT_MASK
(ESCSS_INTR_MASK_SYNC0_MASK|\
ESCSS_INTR_MASK_SYNC1_MASK|\
ESCSS_INTR_MASK_IRQ_MASK|\
ESCSS_INTR_MASK_DMA_DONE_MASK|\
ESCSS_INTR_MASK_TIMEOUT_ERR_MASK|\
ESCSS_INTR_MASK_MASTER_RESET_MASK)¶
-
ESCSS_GET_INTERRUPT_MASK
(ESCSS_INTR_MIS_SYNC0_MIS|\
ESCSS_INTR_MIS_SYNC1_MIS|\
ESCSS_INTR_MIS_IRQ_MIS|\
ESCSS_INTR_MIS_DMA_DONE_MIS|\
ESCSS_INTR_MIS_TIMEOUT_ERR_MIS|\
ESCSS_INTR_MIS_MASTER_RESET_MIS)¶
-
ESCSS_CLEAR_INTERRUPT_MASK
(ESCSS_INTR_CLR_SYNC0_CLR|\
ESCSS_INTR_CLR_SYNC1_CLR|\
ESCSS_INTR_CLR_IRQ_CLR|\
ESCSS_INTR_CLR_DMA_DONE_CLR|\
ESCSS_INTR_CLR_TIMEOUT_ERR_CLR|\
ESCSS_INTR_CLR_MASTER_RESET_CLR)¶
-
ESCSS_SET_INTERRUPT_MASK
(ESCSS_INTR_SET_SYNC0_SET|\
ESCSS_INTR_SET_SYNC1_SET|\
ESCSS_INTR_SET_IRQ_SET|\
ESCSS_INTR_SET_DMA_DONE_SET|\
ESCSS_INTR_SET_TIMEOUT_ERR_SET|\
ESCSS_INTR_SET_MASTER_RESET_SET)¶
-
ESCSS_GRP_CAP_SELECT0_MASK
ESCSS_GPIN_GRP_CAP_SEL_GPI_GRP_CAP_SEL0_M¶
-
ESCSS_GRP_CAP_SELECT1_MASK
ESCSS_GPIN_GRP_CAP_SEL_GPI_GRP_CAP_SEL1_M¶
-
ESCSS_GRP_CAP_SELECT2_MASK
ESCSS_GPIN_GRP_CAP_SEL_GPI_GRP_CAP_SEL2_M¶
-
ESCSS_GRP_CAP_SELECT3_MASK
ESCSS_GPIN_GRP_CAP_SEL_GPI_GRP_CAP_SEL3_M¶
-
ESCSS_API_SUCCESS
0x01U¶
-
ESCSS_API_FAIL
0x00U¶
-
ESCSS_VALID_KEY_VALUE
0xA5U¶
-
ESCSS_GPIN_0
0x1U¶
-
ESCSS_GPIN_1
0x2U¶
-
ESCSS_GPIN_2
0x4U¶
-
ESCSS_GPIN_3
0x8U¶
-
ESCSS_GPIN_4
0x10U¶
-
ESCSS_GPIN_5
0x20U¶
-
ESCSS_GPIN_6
0x40U¶
-
ESCSS_GPIN_7
0x80U¶
-
ESCSS_GPIN_8
0x100U¶
-
ESCSS_GPIN_9
0x200U¶
-
ESCSS_GPIN_10
0x400U¶
-
ESCSS_GPIN_11
0x800U¶
-
ESCSS_GPIN_12
0x1000U¶
-
ESCSS_GPIN_13
0x2000U¶
-
ESCSS_GPIN_14
0x4000U¶
-
ESCSS_GPIN_15
0x8000U¶
-
ESCSS_GPIN_16
0x10000U¶
-
ESCSS_GPIN_17
0x20000U¶
-
ESCSS_GPIN_18
0x40000U¶
-
ESCSS_GPIN_19
0x80000U¶
-
ESCSS_GPIN_20
0x100000U¶
-
ESCSS_GPIN_21
0x200000U¶
-
ESCSS_GPIN_22
0x400000U¶
-
ESCSS_GPIN_23
0x800000U¶
-
ESCSS_GPIN_24
0x1000000U¶
-
ESCSS_GPIN_25
0x2000000U¶
-
ESCSS_GPIN_26
0x4000000U¶
-
ESCSS_GPIN_27
0x8000000U¶
-
ESCSS_GPIN_28
0x10000000U¶
-
ESCSS_GPIN_29
0x20000000U¶
-
ESCSS_GPIN_30
0x40000000U¶
-
ESCSS_GPIN_31
0x80000000U¶
-
ESCSS_GPOUT_0
0x1U¶
-
ESCSS_GPOUT_1
0x2U¶
-
ESCSS_GPOUT_2
0x4U¶
-
ESCSS_GPOUT_3
0x8U¶
-
ESCSS_GPOUT_4
0x10U¶
-
ESCSS_GPOUT_5
0x20U¶
-
ESCSS_GPOUT_6
0x40U¶
-
ESCSS_GPOUT_7
0x80U¶
-
ESCSS_GPOUT_8
0x100U¶
-
ESCSS_GPOUT_9
0x200U¶
-
ESCSS_GPOUT_10
0x400U¶
-
ESCSS_GPOUT_11
0x800U¶
-
ESCSS_GPOUT_12
0x1000U¶
-
ESCSS_GPOUT_13
0x2000U¶
-
ESCSS_GPOUT_14
0x4000U¶
-
ESCSS_GPOUT_15
0x8000U¶
-
ESCSS_GPOUT_16
0x10000U¶
-
ESCSS_GPOUT_17
0x20000U¶
-
ESCSS_GPOUT_18
0x40000U¶
-
ESCSS_GPOUT_19
0x80000U¶
-
ESCSS_GPOUT_20
0x100000U¶
-
ESCSS_GPOUT_21
0x200000U¶
-
ESCSS_GPOUT_22
0x400000U¶
-
ESCSS_GPOUT_23
0x800000U¶
-
ESCSS_GPOUT_24
0x1000000U¶
-
ESCSS_GPOUT_25
0x2000000U¶
-
ESCSS_GPOUT_26
0x4000000U¶
-
ESCSS_GPOUT_27
0x8000000U¶
-
ESCSS_GPOUT_28
0x10000000U¶
-
ESCSS_GPOUT_29
0x20000000U¶
-
ESCSS_GPOUT_30
0x40000000U¶
-
ESCSS_GPOUT_31
0x80000000U¶
Enums
-
enum
ESCSS_LatchTrigger
¶ This data type is used to define the signal hookup to 32 possible LATCH0/1 trigger sources.
Values:
-
enumerator
ESCSS_TRIGGER_LATCH0
= 0U¶ Latch0 Trigger.
-
enumerator
ESCSS_TRIGGER_LATCH1
= 1U¶ Latch1 Trigger.
-
enumerator
ESCSS_TRIGGER_CPUNMI
= 2U¶ CPUNMI Trigger.
-
enumerator
ESCSS_TRIGGER_CMNMI
= 3U¶ CMNMI Trigger.
-
enumerator
ESCSS_TRIGGER_ERRORSTS
= 4U¶ ERRORSTS Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT0
= 5U¶ GPTRIPOUT0 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT1
= 6U¶ GPTRIPOUT1 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT2
= 7U¶ GPTRIPOUT2 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT3
= 8U¶ GPTRIPOUT3 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT4
= 9U¶ GPTRIPOUT4 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT5
= 10U¶ GPTRIPOUT5 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT6
= 11U¶ GPTRIPOUT6 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT7
= 12U¶ GPTRIPOUT7 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT8
= 13U¶ GPTRIPOUT8 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT9
= 14U¶ GPTRIPOUT9 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT10
= 15U¶ GPTRIPOUT10 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT11
= 16U¶ GPTRIPOUT11 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT12
= 17U¶ GPTRIPOUT12 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT13
= 18U¶ GPTRIPOUT13 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT14
= 19U¶ GPTRIPOUT14 Trigger.
-
enumerator
ESCSS_TRIGGER_GPTRIPOUT15
= 20U¶ GPTRIPOUT15 Trigger.
-
enumerator
ESCSS_TRIGGER_PWMXBAROUT0
= 21U¶ PWMXBAROUT0 Trigger.
-
enumerator
ESCSS_TRIGGER_PWMXBAROUT1
= 22U¶ PWMXBAROUT1 Trigger.
-
enumerator
ESCSS_TRIGGER_PWMXBAROUT2
= 23U¶ PWMXBAROUT2 Trigger.
-
enumerator
ESCSS_TRIGGER_PWMXBAROUT3
= 24U¶ PWMXBAROUT3 Trigger.
-
enumerator
ESCSS_TRIGGER_PWMXBAROUT4
= 25U¶ PWMXBAROUT4 Trigger.
-
enumerator
ESCSS_TRIGGER_PWMXBAROUT5
= 26U¶ PWMXBAROUT5 Trigger.
-
enumerator
ESCSS_TRIGGER_PWMXBAROUT6
= 27U¶ PWMXBAROUT6 Trigger.
-
enumerator
ESCSS_TRIGGER_PWMXBAROUT7
= 28U¶ PWMXBAROUT7 Trigger.
-
enumerator
-
enum
ESCSS_CaptureTrigger
¶ The definitions are used to select the capture trigger.
Values:
-
enumerator
ESCSS_SOF_CAPTURE_TRIGGER
= 0U¶ Start of Frame as Capture Trigger Select.
-
enumerator
ESCSS_SYNC0_CAPTURE_TRIGGER
= 4U¶ SYNC0 as Capture Trigger Select.
-
enumerator
ESCSS_SYNC1_CAPTURE_TRIGGER
= 5U¶ SYNC1 as Capture Trigger Select.
-
enumerator
ESCSS_LATCH0_CAPTURE_TRIGGER
= 6U¶ LATCH0 as Capture Trigger Select.
-
enumerator
ESCSS_LATCH1_CAPTURE_TRIGGER
= 7U¶ LATCH1 as Capture Trigger Select.
-
enumerator
-
enum
ESCSS_PortSelection
¶ The definition are there to select number of Ports.
Values:
-
enumerator
ESCSS_ONE_PORT_SELECTION
= 0U¶ One port operation(Port0).
-
enumerator
ESCSS_TWO_PORT_SELECTION
= 1U¶ Two port operation(Port0,Port1).
-
enumerator
-
enum
ESCSS_SizeSelect
¶ The definition values are there to select the size to pass as a parameter to ESCSS_configureEEPROMSize().
Values:
-
enumerator
ESCSS_LESS_THAN_16K
¶ EEPROMs of size 16K bits or less.
-
enumerator
ESCSS_GREATER_THAN_16K
¶ EEPROMs of size greater than 16K bits.
-
enumerator
-
enum
ESCSS_GroupCaptureSelect
¶ The definition values is there to select the Group Capture Trigger for the ESCSS_setGPINGroupCaptureTriggerSelect and ESCSS_setGPOUTGroupCaptureTriggerSelect APIs.
Values:
-
enumerator
ESCSS_GROUP_CAPTURE_SELECT0
= 0U¶
-
enumerator
ESCSS_GROUP_CAPTURE_SELECT1
= 4U¶
-
enumerator
ESCSS_GROUP_CAPTURE_SELECT2
= 8U¶
-
enumerator
ESCSS_GROUP_CAPTURE_SELECT3
= 12U¶
-
enumerator
Functions
-
uint16_t
ESCSS_readIPMinorRevNumber
(uint32_t base)¶ Reads the Minor IP Revision Number for EtherCAT.
This function returns the Minor IP Revision Number. Reset value for this are Hard Coded and increments with minor changes to the IP.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
Returns the EtherCAT Minor IP Revision Number.
-
uint16_t
ESCSS_readIPMajorRevNumber
(uint32_t base)¶ Reads the Major IP Revision Number for EtherCAT.
This function returns the Major IP Revision Number. Reset value for this are Hard Coded and increments with minor changes to the IP.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
Returns the EtherCAT Major IP Revision Number.
-
uint32_t
ESCSS_readIPRevNumber
(uint32_t base)¶ Reads the Major and Minor IP Revision Number for EtherCAT.
This function returns the IP Revision Number. Reset value for this are Hard Coded and increments with minor changes to the IP.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
Returns the EtherCAT IP Revision Number.
-
uint16_t
ESCSS_getRawInterruptStatus
(uint32_t base, uint16_t interruptMask)¶ Gets the Raw Interrupt Status for selected interrupts.
This function returns the Raw Interrupt Status of all the different interrupt triggers.
- Parameters
base
: is the base address of EtherCAT Sub-System.interruptMask
: is the mask value to select the different type of interrupt.
- Return
Returns the Raw Interrupt Status Value.
-
uint32_t
ESCSS_readRawInterruptStatus
(uint32_t base)¶ Reads the Raw Interrupt Status for different interrupt triggers.
This function returns the Raw Interrupt Status of individual interrupt triggers.
- Parameters
base
: is the base address of EtherCAT Sub-System.
The Raw interrupt Status can have the following valid options for interruptMask can be OR’ed together: ESCSS_INTR_RIS_SYNC0_RIS, ESCSS_INTR_RIS_SYNC1_RIS, ESCSS_INTR_RIS_IRQ_RIS, ESCSS_INTR_RIS_DMA_DONE_RIS, ESCSS_INTR_RIS_TIMEOUT_ERR_RIS, ESCSS_INTR_RIS_MASTER_RESET_RIS.
- Return
Returns the Raw Interrupt Status Value.
-
void
ESCSS_setMaskedInterruptStatus
(uint32_t base, uint16_t interruptMask)¶ Allows to mask individual interrupt cause impacting the interrupt.
This function sets the Masked Interrupt Status of the different interrupt triggers as per the input mask value.
- Parameters
base
: is the base address of EtherCAT Sub-System.interruptMask
: is the mask value to select the different type of interrupt.
The Masked interrupt Status can have the following valid options for interruptMask can be OR’ed together:
ESCSS_INTR_MASK_SYNC0_MASK - Masks SYNC0 to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_SYNC1_MASK - Masks SYNC1 to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_IRQ_MASK - Masks EtherCATSS IRQ to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_DMA_DONE_MASK - Masks DMA Done to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_TIMEOUT_ERR_MASK - Masks PDI access timeout Error to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_MASTER_RESET_MASK - Masks EtherCAT Master reset event against any effect on interrupts or other CPU Interrupts.
- Return
None.
-
void
ESCSS_resetMaskedInterruptStatus
(uint32_t base, uint16_t interruptMask)¶ Allows to reset the mask individual interrupt cause impacting the interrupt.
This function resets the Masked Interrupt Status of the different interrupt triggers as per the input mask value passed as parameter.
- Parameters
base
: is the base address of EtherCAT Sub-System.interruptMask
: is the mask value to select the different type of interrupt.
The Masked interrupt Status can have the following valid options for interruptMask can be OR’ed together:
ESCSS_INTR_MASK_SYNC0_MASK - Masks SYNC0 to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_SYNC1_MASK - Masks SYNC1 to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_IRQ_MASK - Masks EtherCATSS IRQ to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_DMA_DONE_MASK - Masks DMA Done to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_TIMEOUT_ERR_MASK - Masks PDI access timeout Error to have effect on interrupts or other CPU/DMA Trigger,
ESCSS_INTR_MASK_MASTER_RESET_MASK - Masks EtherCAT Master reset event against any effect on interrupts or other CPU Interrupts.
- Return
None.
-
uint16_t
ESCSS_getMaskedInterruptStatus
(uint32_t base, uint16_t interruptMask)¶ Gets the Masked Interrupt Status all interrupt triggers.
This function returns the Masked Interrupt Status of the different interrupt triggers as per the input mask value.
- Parameters
base
: is the base address of EtherCAT Sub-System.interruptMask
: is the mask value to select the different type of interrupt.
The Masked interrupt Status can have the following valid options for interruptMask can be OR’ed together: ESCSS_INTR_MIS_SYNC0_MIS, ESCSS_INTR_MIS_SYNC1_MIS, ESCSS_INTR_MIS_IRQ_MIS, ESCSS_INTR_MIS_DMA_DONE_MIS, ESCSS_INTR_MIS_TIMEOUT_ERR_MIS, ESCSS_INTR_MIS_MASTER_RESET_MIS.
- Return
Returns the Masked Interrupt Status Value.
-
void
ESCSS_clearRawInterruptStatus
(uint32_t base, uint16_t interruptMask)¶ Clears the individual interrupt cause.
This function clears the individual interrupt cause based on the mask value passed. Writing a 1 clears the Raw Status.
- Parameters
base
: is the base address of EtherCAT Sub-System.interruptMask
: is the mask value to select the different type of interrupt.
The interrupt Status Mask parameter can have the following valid options for interruptMask can be OR’ed together: ESCSS_INTR_CLR_SYNC0_CLR, ESCSS_INTR_CLR_SYNC1_CLR, ESCSS_INTR_CLR_IRQ_CLR, ESCSS_INTR_CLR_DMA_DONE_CLR, ESCSS_INTR_CLR_TIMEOUT_ERR_CLR, ESCSS_INTR_CLR_MASTER_RESET_CLR.
- Return
None.
-
void
ESCSS_selectLatch0Mux
(uint32_t base, ESCSS_LatchTrigger muxSelectValue)¶ Selects the LATCH0 Inputs Mux Select.
This function sets the Mux Select value for LATCH0 input to ESC SS.
- Parameters
base
: is the base address of EtherCAT Sub-System.muxSelectValue
: is the mux select value for Latch0.
The muxSelectValue parameter can be one of the possible values from the ESCSS_LatchTrigger enum.
- Return
None.
-
void
ESCSS_selectLatch1Mux
(uint32_t base, ESCSS_LatchTrigger muxSelectValue)¶ Select the LATCH1 Inputs Mux Select.
This function sets the Mux Select value for LATCH1 input to ESC SS.
- Parameters
base
: is the base address of EtherCAT Sub-System.muxSelectValue
: is the mux select value for Latch1.
The muxSelectValue parameter can be one of the possible values from the ESCSS_LatchTrigger enum.
- Return
None.
-
void
ESCSS_configure16BitAsyncAccessWaitState
(uint32_t base, uint16_t waitState)¶ Configures the Wait State on the 16 bit Asynchronous Interface.
This function configures the predefined minimum number of wait-states which the VBUS bridge will put out accesses on the 16-bit Asynchronous interface.
- Parameters
base
: is the base address of EtherCAT Sub-System.waitState
: is the minimum wait state value.
- Return
None.
-
void
ESCSS_enablePDIAccessTimeOut
(uint32_t base)¶ Enables the PDI Timeout Feature.
Enables the Timeout features which counts programmed number of Sys clocks before the Local host aborts the transaction. The timeout counter starts counting upon BUSY is asserted by EtherCAT IP.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
None.
-
void
ESCSS_disablePDIAccessTimeOut
(uint32_t base)¶ Disables the PDI Timeout Feature.
Disables the Timeout features which counts programmed number of Sys clocks before the Local host aborts the transaction on PDI interface.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
None.
-
void
ESCSS_enableDebugAccess
(uint32_t base)¶ Enables the Debug Access through the PDI Controller.
This function configures the debug accesses to be allowed to go through.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
None.
-
void
ESCSS_disableDebugAccess
(uint32_t base)¶ Disables the Debug Access through the PDI Controller.
This function configures the debug accesses to be not allowed to go through.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
None.
-
uint32_t
ESCSS_readGPINData
(uint32_t base)¶ Reads the GPIN Data.
This function returns the GPIN Data. Local GPIN data register connects to GPIN pipelined register for debug & override purposes.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
Returns the GPIN Data Value.
-
void
ESCSS_setGPINData
(uint32_t base, uint32_t pinValue)¶ Sets the GPIN Data Register Value.
This function writes the GPIN Data. Local GPIN data register connects to GPIN pipelined register for debug & override purposes.
- Parameters
base
: is the base address of EtherCAT Sub-System.pinValue
: is the value to be written in the GPIN Register.
The pinValue can have the respective GPIN Defines OR’ed to select which PIN to write to. The defines are ESCSS_GPIN_x where x is from 0 to 31.
- Return
None.
-
void
ESCSS_resetGPINData
(uint32_t base, uint32_t pinValue)¶ Resets the GPIN Data Register Value.
This function writes the GPIN Data. Local GPIN data register connects to GPIN pipelined register for debug & override purposes.
- Parameters
base
: is the base address of EtherCAT Sub-System.pinValue
: is the value to be written in the GPIN Register.
The pinValue can have the respective GPIN Defines OR’ed to select which PIN to write to. The defines are ESCSS_GPIN_x where x is from 0 to 31.
- Return
None.
-
void
ESCSS_enableGPIPipelinedRegCaptureOnEvent
(uint32_t base, uint32_t pipelineMask)¶ Enables the connection of GPIN to EtherCATSS through pipelined register as against the direct from IO.
This function enables that the connection is through the pipelined register which is captured on programmed event.
- Parameters
base
: is the base address of EtherCAT Sub-System.pipelineMask
: is the mask to enable connection is through pipelined register.
The pipelineMask can have the respective GPIN Defines OR’ed to select which PIN to write to. The defines are ESCSS_GPIN_x where x is from 0 to 31.
- Return
None.
-
void
ESCSS_disableGPIPipelinedRegCaptureOnEvent
(uint32_t base, uint32_t pipelineMask)¶ Disables the connection of GPIN to EtherCATSS through pipelined register and is direct from the IO Pad.
This function disables the connection through the pipelined register and connection is directly from the IO pad.
- Parameters
base
: is the base address of EtherCAT Sub-System.pipelineMask
: is the mask to enable connection is through pipelined register.
The pipelineMask can have the respective GPIN Defines OR’ed to select which PIN to write to. The defines are ESCSS_GPIN_x where x is from 0 to 31.
- Return
None.
-
uint32_t
ESCSS_readGPOUTData
(uint32_t base)¶ Reads the GPOUT Data.
This function returns the GPOUT Data. Local GPOUT data register which is synchronized version on SysClk, each bit is represents GPOUT IORead is allowed for CPU to process (IO extender or so if required).
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
Returns the GPOUT Data Value.
-
void
ESCSS_enableGPOUTPipelinedRegCaptureOnEvent
(uint32_t base, uint32_t pipelineMask)¶ Enables the connection of EtherCATSS GPOUT output to the IO pad through pipelined register as against the direct connection.
This function enables the connection to be through the pipelined register which captures EtherCATSS o/p on programmed event.
- Parameters
base
: is the base address of EtherCAT Sub-System.pipelineMask
: is the mask to enable connection is through pipelined register.
The pipelineMask can have the respective GPOUT Defines OR’ed to select which PIN to write to. The defines are ESCSS_GPOUT_x where x is from 0 to 31.
- Return
None.
-
void
ESCSS_disableGPOUTPipelinedRegCaptureOnEvent
(uint32_t base, uint32_t pipelineMask)¶ Disables the connection of GPOUT to EtherCATSS through pipelined register and is direct from the IO Pad.
This function disables the connection through the pipelined register and connection is directly from the IO pad.
- Parameters
base
: is the base address of EtherCAT Sub-System.pipelineMask
: is the mask to enable connection is through pipelined register.
The pipelineMask can have the respective GPOUT Defines OR’ed to select which PIN to write to. The defines are ESCSS_GPOUT_x where x is from 0 to 31.
- Return
None.
-
void
ESCSS_initMemory
(uint32_t base)¶ Initializes the Memory Init.
This function starts the initialization when set.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
None.
-
bool
ESCSS_getMemoryInitDoneStatusNonBlocking
(uint32_t base)¶ Returns the memory init status.
This function returns the status of the memory initialization.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
Returns true indicating memory initialization completion, and false if not ye completed.
-
uint32_t
ESCSS_getMemoryInitDoneStatusBlocking
(uint32_t base, uint32_t loopCount)¶ Waits for the memory init status to be set till the loop count.
This function returns the status of the memory initialization after waiting till a loop count.
- Parameters
base
: is the base address of EtherCAT Sub-System.loopCount
: is the count till which the loop will run till the Memory init is done.
- Return
Returns true indicating memory initialization completion, and false if not ye completed.
-
bool
ESCSS_isConfigurationLockEnabled
(uint32_t base)¶ Checks if lock configuration is done.
This function checks if the lock configuration is done and returns the status.
- Parameters
base
: is the base address of EtherCAT Sub-System.
- Return
None.
-
uint16_t
ESCSS_enableLEDOptions
(uint32_t base, uint16_t ledSelectConfig)¶ Enables the selection of LED o/p connect to IO Pad.
This function enables the selection of LED o/p connect to IO Pad. This selection assumes both buffer input and buffer enable connection as required.
- Parameters
base
: is the base address of EtherCAT configuration Registers.ledSelectConfig
: is the Mux Selection Value.
The LED Configuration Mask parameter can have the following valid options for ledSelectConfig can be OR’ed together:
ESCSS_LED_CONFIG_LINKACT0 - GPIO enable for LINKACT0 LED,
ESCSS_LED_CONFIG_LINKACT1 - GPIO enable for LINKACT1 LED,
ESCSS_LED_CONFIG_STATE - GPIO enable for STATE LED,
ESCSS_LED_CONFIG_ERR - GPIO enable for ERR LED,
ESCSS_LED_CONFIG_RUN - GPIO enable for RUN LED.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableLEDOptions
(uint32_t base, uint16_t ledSelectConfig)¶ Disables the selection of LED o/p connect to IO Pad.
This function disables the selection of LED o/p connect to IO Pad. The non-EtherCAT function is selected on the IO.
- Parameters
base
: is the base address of EtherCAT configuration Registers.ledSelectConfig
: is the Mux Selection Value.
The LED Configuration Mask parameter can have the following valid options for ledSelectConfig can be OR’ed together:
ESCSS_LED_CONFIG_LINKACT0,
ESCSS_LED_CONFIG_LINKACT1,
ESCSS_LED_CONFIG_STATE,
ESCSS_LED_CONFIG_ERR,
ESCSS_LED_CONFIG_RUN.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableGPIN
(uint32_t base, uint32_t selectValue)¶ Enable for GPIN Connection to IO pad.
This function allows bit-wise selection of the GPIN be connected from GPIO PAD. Once those are not driven by GPIO, will be driven from register writable from local Host.
- Parameters
base
: is the base address of EtherCAT configuration Registers.selectValue
: is the mask for the mux select.
The selectValue can have the respective GPIN Defines OR’ed to select which PIN to enable. The defines are ESCSS_GPIN_x where x is from 0 to 31.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableGPIN
(uint32_t base, uint32_t selectValue)¶ Disable for GPIN Connection to IO pad.
This function disables connection to GPIO PAD, but connects to ESCSS_GPIN_DAT.
- Parameters
base
: is the base address of EtherCAT configuration Registers.selectValue
: is the mask for the mux select.
The selectValue can have the respective GPIN Defines OR’ed to select which GPIN to disable. The defines are ESCSS_GPIN_x where x is from 0 to 31.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableGPOUT
(uint32_t base, uint32_t selectValue)¶ Enable GPOUT selection between register or GPIO pad.
This function is to allow the EtherCAT GPOUT output be driven to either of the two IO-pads allocated.
- Parameters
base
: is the base address of EtherCAT configuration Registers.selectValue
: is the mask for the mux select.
The selectValue can have the respective GPOUT Defines OR’ed to select which GPOUT to enable. The defines are ESCSS_GPOUT_x where x is from 0 to 31.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableGPOUT
(uint32_t base, uint32_t selectValue)¶ Disable GPOUT selection between register or GPIO pad.
This function is to disable the EtherCAT GPOUT output be driven to either of the two IO-pads allocated.
- Parameters
base
: is the base address of EtherCAT configuration Registers.selectValue
: is the mask for the mux select.
The selectValue can have the respective GPOUT Defines OR’ed to select which GPOUT to disable. The defines are ESCSS_GPOUT_x where x is from 0 to 31.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_configureTX0ShiftForTxEnaAndTxData
(uint32_t base, uint32_t shiftValue)¶ Configure the TX for shift for Port 0.
This function is to configure the TX for shift for Port 0. Two bit TX_SHIFT configuration in terms of 10ns counts for port0. This is the shift added to TX_ENA & TX_DATA to match delay of PHY TX_CLK w.r.t. device internal clock.
- Parameters
base
: is the base address of EtherCAT configuration Registers.shiftValue
: is the shift in 10ns terms.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_configureTX1ShiftForTxEnaAndTxData
(uint32_t base, uint32_t shiftValue)¶ Configure the TX for shift for Port 1.
This function is to configure the TX for shift for Port 1. Two bit TX_SHIFT configuration in terms of 10ns counts for port1. This is the shift added to TX_ENA & TX_DATA to match delay of PHY TX_CLK w.r.t. device internal clock.
- Parameters
base
: is the base address of EtherCAT configuration Registers.shiftValue
: is the shift in 10ns terms.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enablePDIEmulation
(uint32_t base)¶ Enable the PDI Emulation.
This function will be hooked up to the PDI_EMULATION input of the EtherCAT IP.
- Parameters
base
: is the base address of EtherCAT configuration Registers.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disablePDIEmulation
(uint32_t base)¶ Disable the PDI Emulation.
This function will not allow hooking up to the PDI_EMULATION input of the EtherCAT IP.
- Parameters
base
: is the base address of EtherCAT configuration Registers.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_configurePhyAddressOffset
(uint32_t base, uint16_t registerOffset)¶ Configure the Physical Address Offset.
This function will set the PHY_OFFSET[4:0] input of the EtherCAT IP.
- Parameters
base
: is the base address of EtherCAT configuration Registers.registerOffset
: is the register offset value.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_setRawInterruptStatus
(uint32_t base, uint16_t interruptMask, uint16_t writeKey)¶ Sets the Raw Interrupt Cause Status.
This function sets the individual interrupt cause based on the mask value passed to emulate the interrupt cause.
- Parameters
base
: is the base address of EtherCAT Sub-System.interruptMask
: is the mask value to select the different type of interrupt.writeKey
: is the key Value which decides if the writes to this register are to take affect.
The interrupt Status Mask parameter can have the following valid options for interruptMask can be OR’ed together: ESCSS_INTR_SET_SYNC0_SET, ESCSS_INTR_SET_SYNC1_SET, ESCSS_INTR_SET_IRQ_SET, ESCSS_INTR_SET_DMA_DONE_SET, ESCSS_INTR_SET_TIMEOUT_ERR_SET, ESCSS_INTR_SET_MASTER_RESET_SET.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
void
ESCSS_setGPINGroupCaptureTriggerSelect
(uint32_t base, ESCSS_GroupCaptureSelect selectGPIN, ESCSS_CaptureTrigger triggerCapSelect)¶ Sets the GPIN pipe group capture trigger.
This function selects the trigger to capture the IO input in pipeline register for GPIN. The
selectGPIN parameter takes the following parameters: ESCSS_GROUP_CAPTURE_SELECT0, ESCSS_GROUP_CAPTURE_SELECT1, ESCSS_GROUP_CAPTURE_SELECT2 and ESCSS_GROUP_CAPTURE_SELECT3. The ESCSS_CaptureTrigger parameter takes the values: ESCSS_SOF_CAPTURE_TRIGGER, ESCSS_SYNC0_CAPTURE_TRIGGER, ESCSS_SYNC1_CAPTURE_TRIGGER, ESCSS_LATCH0_CAPTURE_TRIGGER, ESCSS_LATCH1_CAPTURE_TRIGGER.- Parameters
base
: is the base address of EtherCAT Sub-System.selectGPIN
: is to select the trigger to capture the IO input in pipeline register for selective GPIN.triggerCapSelect
: is the GPIN Data to be written.
- Return
None.
-
void
ESCSS_setGPOUTGroupCaptureTriggerSelect
(uint32_t base, ESCSS_GroupCaptureSelect selectGPOUT, ESCSS_CaptureTrigger triggerCapSelect)¶ GPOUT pipe group capture trigger.
This function selects the trigger to capture the IO input in pipeline register for GPOUT. The
selectGPOUT parameter takes the following parameters: ESCSS_GROUP_CAPTURE_SELECT0, ESCSS_GROUP_CAPTURE_SELECT1, ESCSS_GROUP_CAPTURE_SELECT2 and ESCSS_GROUP_CAPTURE_SELECT3. The ESCSS_CaptureTrigger parameter takes the values: ESCSS_SOF_CAPTURE_TRIGGER, ESCSS_SYNC0_CAPTURE_TRIGGER, ESCSS_SYNC1_CAPTURE_TRIGGER, ESCSS_LATCH0_CAPTURE_TRIGGER, ESCSS_LATCH1_CAPTURE_TRIGGER.- Parameters
base
: is the base address of EtherCAT Sub-System.selectGPOUT
: is to select the trigger to capture the IO input in pipeline register for selective GPIN.triggerCapSelect
: is the GPIN Data to be written.
- Return
None.
-
uint16_t
ESCSS_enableCPUReset
(uint32_t base, uint16_t writeKey)¶ Enables EtherCAT Reset drives to EtherCAT IP and PHY Reset.
This function enables the EtherCAT Reset to drive the IP & PHY reset.
- Parameters
base
: is the base address of EtherCAT Sub-System.writeKey
: is the key Value which decides if the writes to this register are to take affect.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableCPUReset
(uint32_t base, uint16_t writeKey)¶ EtherCAT Reset does not drive to EtherCAT IP and PHY Reset.
This function configures the EtherCAT Reset not to drive to EtherCAT IP and PHY Reset. The application shall configure NMI/Interrupt to eventually complete the reset through system control soft reset.
- Parameters
base
: is the base address of EtherCAT Sub-System.writeKey
: is the key Value which decides if the writes to this register are to take affect.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableResetToNMI
(uint32_t base, uint16_t writeKey)¶ Enables for reset out to drive the CPU NMI.
This function configures the EtherCAT Reset to drive the CPU NMI. IP Reset out drives CPU NMI to which it belongs. NMI handler is expected to complete the required tasks or context save if any and then reset the EtherCAT through the system control soft reset.
- Parameters
base
: is the base address of EtherCAT Sub-System.writeKey
: is the key Value which decides if the writes to this register are to take affect.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableResetToNMI
(uint32_t base, uint16_t writeKey)¶ Disables for reset out to drive the CPU NMI
This function configures the EtherCAT Reset not to drive the CPU NMI.
- Parameters
base
: is the base address of EtherCAT Sub-System.writeKey
: is the key Value which decides if the writes to this register are to take affect.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableResetToInterrupt
(uint32_t base, uint16_t writeKey)¶ Enables for reset out to drive the interrupt to CPU which it belongs to.
This function enables the EtherCAT Reset to drive the interrupt to CPU which it belongs to.
- Parameters
base
: is the base address of EtherCAT Sub-System.writeKey
: is the key Value which decides if the writes to this register are to take affect.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableResetToInterrupt
(uint32_t base, uint16_t writeKey)¶ Disables for reset out to drive the interrupt to CPU which it belongs to.
This function configures the EtherCAT Reset not to drive the interrupt to CPU which it belongs to.
- Parameters
base
: is the base address of EtherCAT Sub-System.writeKey
: is the key Value which decides if the writes to this register are to take affect.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_configureSync0Connections
(uint32_t base, uint16_t connectionInterrupt, uint16_t writeKey)¶ Configures the EtherCAT connection from SYNC0 to a particular interrupt.
This function configures the connection from SYNC0 to the interrupt to the respective selection made. The following valid options for
connectionInterrupt are:ESCSS_SYNC0_CONFIG_C28X_PIE_EN - Connects the SYNC0 to C28x PIE Interrupt
ESCSS_SYNC0_CONFIG_CLA_INT_EN - Connects the SYNC0 to CLA Interrupt
ESCSS_SYNC0_CONFIG_C28X_DMA_EN - Connects the SYNC0 to C28x DMA Trigger
ESCSS_SYNC0_CONFIG_CM4_NVIC_EN - Connects the SYNC0 to CM4 NVIC Interrupt
ESCSS_SYNC0_CONFIG_UDMA_TRIG_EN - Connects the SYNC0 to uDMA Trigger
- Parameters
base
: is the base address of EtherCAT Sub-System.connectionInterrupt
: is the interrupt to which SYNC0 output is connected to.writeKey
: is the key Value which decides if the writes to this register are to take affect.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_configureSync1Connections
(uint32_t base, uint16_t connectionInterrupt, uint16_t writeKey)¶ Configures the EtherCAT connection from SYNC1 to a particular interrupt.
This function configures the connection from SYNC1 to the interrupt to the respective selection made. The following valid options for
connectionInterrupt are:ESCSS_SYNC1_CONFIG_C28X_PIE_EN - Connects the SYNC1 to C28x PIE Interrupt
ESCSS_SYNC1_CONFIG_CLA_INT_EN - Connects the SYNC1 to CLA Interrupt
ESCSS_SYNC1_CONFIG_C28X_DMA_EN - Connects the SYNC1 to C28x DMA Trigger
ESCSS_SYNC1_CONFIG_CM4_NVIC_EN - Connects the SYNC1 to CM4 NVIC Interrupt
ESCSS_SYNC1_CONFIG_UDMA_TRIG_EN - Connects the SYNC1 to uDMA Trigger
- Parameters
base
: is the base address of EtherCAT Sub-System.connectionInterrupt
: is the interrupt to which SYNC1 output is connected to.writeKey
: is the key Value which decides if the writes to this register are to take affect.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableConfigurationLock
(uint32_t base, uint16_t writeKey)¶ Enables the configuration lock.
This bit enables locking the contents of all the EtherCAT configuration registers. This bit can be set only once after ecatXRSN and gets reset after the next ecatXRSN.
- Parameters
base
: is the base address of EtherCAT Sub-System.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableIOConnectionLock
(uint32_t base, uint16_t writeKey)¶ Locking the IO Configuration.
This function leads to locking of the IO Configurations. Changing IO selections or IO configurations after this bit is set can have unpredictable IO behavior on the device IOs.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableIOConnectionLock
(uint32_t base, uint16_t writeKey)¶ Disable Lock on the IO Configuration.
This function leads to disabling of the locking of the IO Configurations. EtherCAT ports are not connected to the IO pad.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableResetInputFromGpioPad
(uint32_t base, uint16_t writeKey)¶ Enabled ResetIN from GPIO.
This function enables the RESET_IN GPIO pad input to be connected in reset input cone.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableResetInputFromGpioPad
(uint32_t base, uint16_t writeKey)¶ Disable ResetIN from GPIO.
This function leads to RESET_IN GPIO pad to not be enabled, only SW & PMM resets affect EtherCAT reset.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableESCEEPROMI2CIoPadConnection
(uint32_t base, uint16_t writeKey)¶ Enables the EEPROM I2C IOPAD connection.
This function leads to EEPROM I2C connections driving the IOPAD connections.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableESCEEPROMI2CIoPadConnection
(uint32_t base, uint16_t writeKey)¶ Disable the EEPROM I2C IOPAD connection.
This function leads to EEPROM I2C Connections not connected to IOPAD.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_configurePortCount
(uint32_t base, ESCSS_PortSelection portConfig, uint16_t writeKey)¶ Number of PHY port counts.
Indicates the number of PHY ports selected for operation in addition to Port0 which is default. The various values for the selection of
portConfig are: ESCSS_ONE_PORT_SELECTION, ESCSS_TWO_PORT_SELECTION.- Parameters
base
: is the base address of EtherCAT configuration Registers.portConfig
: indicating the number of PHY Ports to be selected.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableAutoCompensationTxClkIOPad
(uint32_t base, uint16_t writeKey)¶ Auto Compensation based on sampling of TX_CLK.
This setting is used to allocate the IO pad for TX_CLK for doing the Auto compensation for the sampling of TXEN & TXDATA.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableAutoCompensationTxClkIOPad
(uint32_t base, uint16_t writeKey)¶ Manual Compensation is there using CLK_IN.
This function sets the manual compensation using CLK_IN no TX_CLK Pad, IP input is tied to ‘0’.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableSync0GpioMuxConnection
(uint32_t base, uint16_t writeKey)¶ SYNC0 connection to OUT pad enabled.
This function enables the direct mux between Sync0 output of EtherCAT and other GPIO functions.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableSync0GpioMuxConnection
(uint32_t base, uint16_t writeKey)¶ SYNC0 connection to OUT pad disabled.
This function does not enables the direct mux between Sync0 output of EtherCAT and other GPIO functions.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableSync1GpioMuxConnection
(uint32_t base, uint16_t writeKey)¶ SYNC1 connection to OUT pad enabled.
This function enables the direct mux between Sync1 output of EtherCAT and other GPIO functions.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableSync1GpioMuxConnection
(uint32_t base, uint16_t writeKey)¶ SYNC1 connection to OUT pad disabled.
This function does not enables the direct mux between Sync1 output of EtherCAT and other GPIO functions.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableLatch0GpioMuxConnection
(uint32_t base, uint16_t writeKey)¶ LATCH0 connection to IN pad enabled.
This function enables the direct mux between LATCH0 input from IOPAD and other GPIO functions to the EtherCATSS input.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableLatch0GpioMuxConnection
(uint32_t base, uint16_t writeKey)¶ LATCH0 connection to IN pad disabled.
This function does not enable the direct mux between LATCH0 input from IOPAD and other GPIO functions to the EtherCATSS input.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_enableLatch1GpioMuxConnection
(uint32_t base, uint16_t writeKey)¶ LATCH1 connection to IN pad enabled.
This function enables the direct mux between LATCH1 input from IOPAD and other GPIO functions to the EtherCATSS input.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
uint16_t
ESCSS_disableLatch1GpioMuxConnection
(uint32_t base, uint16_t writeKey)¶ LATCH1 connection to IN pad disabled.
This function does not enable the direct mux between LATCH1 input from IOPAD and other GPIO functions to the EtherCATSS input.
- Parameters
base
: is the base address of EtherCAT configuration Registers.writeKey
: is the key Value to enable the writing lock.
- Return
Returns ESCSS_API_SUCCESS if the Register Access is successful, ESCSS_API_FAIL if access to the Register Fails.
-
void
ESCSS_configureEEPROMSize
(uint32_t base, ESCSS_SizeSelect eepromSize)¶ Configure EEPROM Size bound as per the select.
This function set the bit which will be hooked up to the EEPROM_SIZE input of the EtherCAT IP . This is set to 0 for EEPROMs of size 16K bits or lower and set to 1 for EEPROMs of size above 16K bits.
- Parameters
base
: is the base address of EtherCAT configuration Registers.eepromSize
: is the shift in 10ns terms.
- Return
None.
-
The following describes important details and recommendations when using the ESCSS API.
Once system control enables the ESCSS module, ESCSS_initMemory() needs to be called to initialize the memory. Next, use ESCSS_enableDebugAccess() which configures the debug accesses to be allowed to go through. The API ESCSS_enableGPIPipelinedRegCaptureOnEvent() enables the connection of GPIN to EtherCATSS through pipelined register as against the direct from IO. The ESCSS_setGPINData() sets the GPIN Data Register Value.
The code for this module is contained in driverlib/escss.c, with driverlib/escss.h containing the API declarations for use by applications.