I am starting work on a project that is pretty UI intensive. The plan is to use a 5" and/or 7". UI controlled primarily through a custom keypad with some use of touch screen. (The environment is muddy, dirty, outdoor in the rain, snow, and ice.) UI would probably have as many as 75 unique screens with many real-time variables and settings. There will be some basic hardware interfaces like RS232/485, USB and wired Ethernet. Wireless probably an option. It is a long term project with 300+ units a year.
I am looking for the best solution if that is even possible to determine.
Here are what I see as some options:
G400 with Glide
Some form of Linux on something like the OSD3358 or Digi i.MX6UL. I canât seem to figure out the best set of dev tools for embedded linux UI development. (At least that doesnât cost an arm and a leg.)
Windows for IOT on a Tordex or some other industrial level hardware. (I hear slow boot times are an issue even on a quad core Pi.)
Windows CE (I think called something else now.) Doesnât seem to be getting much love from Microsoft these days so I am hesitant to jump into Windows CE. I currently have a product on Win CE 6.
Should I be looking at other options? If so what are they?
Thanks
EDIT: I should add Ethernet needs to support TLS to talk to various cloud services.
Look into Xamarin Forms from Microsoft.
This allows you to write mobile apps in C# and Xamarin forms and then they get ported to native IOS, Android and Windows 10 Mobile.
I doubt the G400 will have enough memory to support that many screens. I have a program with 20 screens and I am close to the max with that. You could store them on the SD but the risk is that if the SD fails so does your app. Not a choice I would use.
OSD3358 and Linux would be ideal but I have discovered that QT is expensive if you want to use it for closed source commercial projects. Iâve decided to make my source open for this reason. No issues as the design for the boards etc is closed
Iâve downloaded Xamarin but canât find any way to run this on a Linux system debugged from a Windows platform.
I loved Windows 10 on the Pi but not sure it is available on any decent platform yet. The Pi is not ideal for industrial use. The boot time is far too long though which is a major issue for the design I am working on.
An Android platform is possible but it is not designed for programs to be running all the time so needs some work on the core OS to support this.
Mono supports a variation of Windows Forms and can be used on Linux and debugged from Visual Studio or Visual Studio Code, locally or from a Windows system. Mono can also drive Gtk via GtkSharp.
I think I did a KB article on this, but I might be wrong. Either way, I can help you get set up with cross-compiling, remote debugging, or local development on Xamarin or Mono.
@ Mr. John Smith - I have used similar screens before. Troubleshooting and development seemed to be very tedious because having to use 2 different development environments. 4D systems could be better than what I used a few years ago (Amulet Technologies). Their individual screen cost is too expensive. It does appear that their IC can be purchased by itself. I still am hesitant to introduce yet another development environment. But I will look into it some more.
So it sounds like the development options for Linux would be Xamarin, Mono or QT.
If my memory servers QT is about $6000 for the commercial version. Is there any difference between the open source and commercial version other than licensing?
Xamarin and Mono are Visual Studio based and I think Xamarin comes with the Community version.
Does anyone have enough experience to give the pro/cons between them?
From what I can see there is no difference. With the open source option you have to release your code as open source which is something you might not want to do. For me itâs not an issue as the hardware is closed and without the PC software itâs basically useless. $6K is too much for this small project and would put the cost of the system out of reach.
I am still looking at Mono and going to follow Martinâs setup for this and see how I get on but so far I have like the way QT5 works but I do have this RED BLUE swapped issue that doesnât seem to have been resolved yet.
The pricing has changed quite a bit. They still have free open-source (lgplv3) pricing and have startup pricing at 99/mo or 948/yr if your are a âstartupâ, or 350/mo or 3540/yr if you donât qualify for startup pricing. The big change here is that you pay a term rather than perpetual fee. I couldnât find perpetual licensing anymore.
They route you through a strange questionaire, and one of the branches that ends up free is âinternal use onlyâ and âiâm ok with lgplâ which ends up getting you the open-source license. Does this mean that you can delay starting to pay until you ship? Almost certainly not their intent.
Considering I used to pay almost $3000/yr for Xamarin (now free); and one might pay a $9500 buy-in and $2000/yr maintenance fee for Altium; and 3840/yr or $9500 perpetual for Keil. Qt sounds downright reasonable in the field of extortionistic software pricing.
EDIT: I should clarify that I love Qt but aside from open source I have never had a project which was a) large enough to cover the fees and b) where there wasnât a cheaper alternative (modulo maybe some additional dev effort).