we are using CustomRTCSync with a Colibri T20 module (WEC7 image 2.3) as described here RTCSync code for Colibri iMX6 - Technical Support - Toradex Community. Due to EOL of T20 modules we decided to proceed with iMX6DL. The example is not compatible to the new libraries we need to use with Colibri iMX6 modules (WEC7 image 1.8). Do you have any updated CustomRTCSync example which is using the new libraries?
Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello,
For transitioning from the Colibri T20 to the Colibri iMX6DL module, it’s important to note that while both modules are supported by Toradex, the software environments between them, especially concerning the Windows Embedded Compact (WEC) images, differ significantly from the Linux-based environments and the Torizon platform.
Given your specific requirement for an updated CustomRTCSync example compatible with the Colibri iMX6 modules using WEC7 image 1.8, the approach would typically involve adapting the existing example to the new libraries provided for the iMX6. This adaptation process would include reviewing the library changes between the versions used for T20 and iMX6DL, particularly focusing on any API changes or deprecated functions that could affect the CustomRTCSync functionality.
However, as your question pertains to a Windows Embedded Compact environment rather than Linux or Torizon, it falls outside the Linux-focused expertise I can provide. For Linux-based applications or transitioning to Torizon from WEC7, I could offer detailed guidance on leveraging the Yocto Project, configuring the Linux kernel, or utilizing real-time capabilities with the iMX6DL module.
For Windows Embedded Compact-specific support, including updated examples for CustomRTCSync with the new libraries, I recommend consulting resources specific to that environment or exploring community forums and technical documentation that address WEC7 development for the iMX6DL.
Best regards,
Toradex AI Assistant
Please, also check if these links can help you solve your problem:
The WEC7 image provided by Toradex includes the RTCsync application, which supports the following RTC ICs: ST M41T0, Dallas DS1339, Dallas DS3231, Epson RX-8564LC, ST M41T81, TI TPS658643, and TI TPS65911x. This application is self-contained and does not require any additional libraries.
If your carrier board uses an RTC IC not listed above, we can provide the source code for RTCsync so that you can implement your own SetRealTime() and GetRealTime() functions to work with your specific RTC IC. If you’ve already implemented these functions for the T20, you just need to refactor them using the new Toradex CE Libraries.
we are using DS3231 which is supported by WEC7. The standard RTCsync application works well when I it use it in WEC7. The IC is behind a multiplexer and when our application is running RTCsync doesn’t work because the IC is behind a multiplexer and our firmware reads data from some other sensors using the same address. We used CustomRTCsync to address the IC correctly. As the IC we are using is already supported by RTCsync, it might be easier to get the source code and implement the changes than reviewing the changes in the libraries. Can you please provide the source code for RTCsync?
The RTCsync application included in the image is based on deprecated Toradex libraries and links them statically, so no external libraries are required. However, sharing the RTCsync code wouldn’t be particularly helpful since you would need to modify it to accommodate the use of the multiplexer you mentioned.
Given that you already have a CustomRTCsync implementation with the necessary functionality, it should be a straightforward task to adapt it using the new libraries’ API. Please note , the I2C_demo included in the new library package provides an example of reading and writing RTC data, which might be useful for your implementation.
Unfortunately, we do not have CustomRTCsync source code based on the new libraries, as they primarily offer a framework. The specific interaction with RTC hardware needs to be implemented by the customer anyway.
we made some progress with the implementation and started testing. The new CustomRTCSync.dll seems to work when the CustomRTCSync.exe is started manually. It reads the correct time from the IC. This doesn’t work yet during Windows start. We changed the RTCSync entry in HKLM\init to CustomRTCSync.exe. exe and dll were added to \FlashDisk\System. After Windows start the system time remains in January 2006 until we start CustomRTCSync.exe manually. Is there anything else we need to do to make it work with iMX6? This was the way we used it with T20 modules.
Please verify if CustomRTCSync.exe started and executed successfully by adding debug messages to its code and checking them via the serial debug port. You may also try starting it later by increasing the number in its Launch{nn} registry key.
A quick test with increased Launch number was not successful. We will proceed with debug logging next week. Do we get more information that way than using the DbgMSgLogger?