Hello community,
Our team is currently working on implementing the EtherCAT Semiconductor Device Profile on a Sitara AM4377 processor. For this purpose, we use the Beckhoff slave stack code, together with the TI drivers and our product firmware. Since we would like to support Distributed Clocks, we need to implement the Object Dictionary Entry F6F2 Input Latch ESC Timestamp. To our best understanding, the function void bsp_get_latch0_posedge_time(PRUICSS_Handle pruIcssHandle, uint32_t *systime_low, uint32_t *systime_high) (tiescbsp.c/.h) should do the job by reading the ESC Register ESC_ADDR_LATCH0_POS_EDGE. However, this register always holds the value 0, both for the Low Word, as also for the High Word.
We are testing with TwinCAT, where we ensure that the operation mode is DC and that SYNC0 is enabled. The sync unit cycle time is set to the sync unit cycle time of 4 ms. Does anybody have a clue why this register doesn't hold the actual input latch time?
Many thanks in advance,
Liliane