Hello,
We have been supported by a 3rd company in trying to make a porting decision, with the idea of moving from T20 WinCE7 to iMX8.
We are still deciding which UI framework to choose, trying to see of the Qt commercial license costs can be avoided. We have been given some options, like Qt(commercial/free), Silnt, and some other non-C++ UIs (like SkiaSharp or Avalonia).
We have also been given an alternative OS we could choose that could also lower the migration cost, Windows 10 IoT
Now, I understand from a variety of posts in both your website and this forum (e.g. this or this) that mine might be a rethorical question, but I’m going to ask it anyway:
How is the current Toradex support situation for W10IoT, especially on iMX8? Would it be viable?
What follows is the list of all the usages we made of T20 (OS-wise and Toradex libs-wise) so far for our application:
-
Toradex libraries to use hardware capabilities in both our main application and our installer/updater application:
- I2C towards an external RTC and 3 other components.
- GPIO
- Interrupt
- PWM
- MapMem (to access and set the display driver strength for the Tegra T20, but I guess we won’t need it for the iMX has for sure a better way to do that);
-
COM ports:
- the well-known wceusbsh001 ( “\$device\com0” on the device side) that allows us to use the same USB port connection the WinCE is using for connection and debug
- around which a driver has been built for WIndows ages ago that would allow our PC application to recognize and connect to our devices through the WinUSB DLL, as suggested by Toradex
- a COM port toward an internal microprocessor mounted on our custom mainboard;
- a COM port toward an internal Bluetooth SMT module mounted on our custom mainboard;
- the well-known wceusbsh001 ( “\$device\com0” on the device side) that allows us to use the same USB port connection the WinCE is using for connection and debug
-
WinCE7 OS features we use:
-
We obviously use the OS in many ways (registry editor, libraries, APIs, etc). Is Torizon emulating it, and to which degree? Will we be able to use e.g. the Registry?
-
The Waveform Audio API for: reproducing recorded audio wav files, through the system API “PlaySound()”, and recording input audio from a USB-connected microphone;
-
The DirectShow library (compiled as a project inside our application) for acquiring video live feed from a USB-connected camera, and taking screenshots of it;
-
The WLANAPI to establish a wifi connection via a USB wifi adapter LM816, and the winsock2 (ws2.dll) to perform tcp connections;
-
The SHLoadImageFile from the CEaygshell.dll library to load jpeg images and convert them in bitmapt to show onscreen;
-
The winreg.h to set some registers from inside our applications
-
The winuser.h ChangeDisplaySettingsEx to query the display orientation (the device has an accelerometer inside via i2c telling us what to do)
-
The wingdi.h AddFontResource to load our own font files;
-
and more
-
-
From the PC:
- Debug connection between Visual Studio 2008 and the device itself.
Thank you for your time.