# Technical overview The ENI file contains predefined DCM configuration settings. For example, the EC-Master selects the DCM Mode Bus Shift or DCM Mode MainDevice Shift based on the values specified in the ENI file. Therefore, the application does not need to activate DCM explicitly via API. However, some settings can still be modified programmatically after loading the ENI file. For instance, the parameter “Controller set value” sets the position of the SYNC signals at the SubDevices in relation to the cyclic frame: ![Diagram showing the Controller set value parameter positioning SYNC signals at SubDevices relative to the cyclic frame for DCM Bus Shift mode](../Media/DCM_Topologie.png) The parameter “Controller set value” (nCtlSetVal) cannot be derived from the ENI file. It is one of the parameters that can be set using emDcmConfigure(). The actual position of the SYNC signals at the SubDevices, relative to the cyclic frame, typically varies from cycle to cycle due to jitter in the application’s JobTask. The example program EcMasterDemoDc demonstrates, in contrast to EcMasterDemo, how to programmatically configure DCM parameters and how the application can generate the DCM log. The EtherCAT® technology provides sufficient diagnostic capabilities through WKC monitoring to detect communication issues. However, for in-depth analysis, more detailed information, such as the DCM log, is required. The DCM log can be used to evaluate drift control quality and measure jitter values. To enable this, the application’s JobTask must cyclically retrieve the DCM status from the MainDevice. This data should be written from a low-priority thread to avoid impacting real-time performance during diagnostics.