There are 30 messages in this thread.
You are currently looking at messages 1 to 10.
So far in May, you have voted 0 times ou of a total of 20 votes by the community.
Please help us clean the archives from unuseful discussion threads by using the voting system! Details here.
I am looking for tools and techniques for prototyping (virtual prototyping), simulation, and testing of deeply embedded C code on desktop Windows, including building realistic embedded front panels consisting of buttons, LEDs, and LCD displays (both segmented and graphic). I'm specifically interested in a possibly low-level approach, using pure C code and raw Win32 API rather than MFC, .NET/C#, vxWidgets or Qt. I'd also like to use free development tools, such as Visual C++ Express with Platform SDK and ResEdit for editing resources. I'm looking for code examples to render graphic LCDs (from monochrome to 24-bit color) with efficient pixel-level interface, multi-segment LCDs, and owner-drawn buttons that respond both to "depressed" and "released" events.
On Jul 28, 7:54 am, sa...@quantum-leaps.com wrote: > I am looking for tools and techniques for prototyping (virtual prototyping), simulation, and testing of deeply embedded C code on desktop Windows, including building realistic embedded front panels consisting of buttons, LEDs, and LCD displays (both segmented and graphic). > > I'm specifically interested in a possibly low-level approach, using pure C code and raw Win32 API rather than MFC, I don't know why you would want to use Win32 API, rather than MFC. Dealing with plugins are much easier with MFC. For example, you can build an active-x (or whatever they are calling it now) to simulate a segmented LCD, then include it as an MFC class. Unless you want to avoid C++ completely, MFC is much easier than Win32 API.
OK, regardless, do you perhaps know of specific example MFC code for a rendering a graphic LCD with an efficient, pixel-level interface? Or perhaps a class that would render a button with user-defined look for the "depressed" and "released" states?
On Jul 28, 11:11 am, sa...@quantum-leaps.com wrote: > OK, regardless, do you perhaps know of specific example MFC code for a rendering a graphic LCD with an efficient, pixel-level interface? I only did segmented LCD active-X. Graphic LCD is more segments (pixels) with different interfaces. > Or perhaps a class that would render a button with user-defined look for the "depressed" and "released" states? Can do it with a simple active-x control. MFC will build the class.
Also, I think that MFC is not supported in the free Visual C++ Express edition. But perhaps I'm wrong. Do you happen to know?
On Jul 28, 11:17 am, sa...@quantum-leaps.com wrote: > Also, I think that MFC is not supported in the free Visual C++ Express edition. But perhaps I'm wrong. Do you happen to know? That i don't know. I am still using VC 5.0 to compile programs on Window 7. It still works.
On Saturday, July 28, 2012 2:17:42 PM UTC-4, linnix wrote: > I only did segmented LCD active-X. Graphic LCD is more segments > (pixels) with different interfaces. Even a very small graphic LCD has thousands of pixels, which is order of magnitude more than most complex segmented LCDs. I simply don't think that the segmented-LCD approach (a bitmap for each segment) would scale to graphic LCDs, especially if you'd like to have grayscale or even very rudimentary color. I also look for specific code examples. I already know that "it can be done". Internet is full of such claims, but it does not help me.
On Jul 28, 11:31 am, sa...@quantum-leaps.com wrote: > On Saturday, July 28, 2012 2:17:42 PM UTC-4, linnix wrote: > Also, I think that MFC is not supported in the free Visual C++ Express edition. But perhaps I'm wrong. Do you happen to know? Actually, my customer compiles my MFC source with VC++ 2008 an d 2010 without problem. So, MFC is supported. > > I only did segmented LCD active-X. Graphic LCD is more segments > > (pixels) with different interfaces. > > Even a very small graphic LCD has thousands of pixels, which is order of magnitude more than most complex segmented LCDs. I simply don't think that the segmented-LCD approach (a bitmap for each segment) would scale to graphic LCDs, especially if you'd like to have grayscale or even very rudimentary color. So, you need a big buffer in the active-x control and display it in the window. What's the problem? > > I also look for specific code examples. I already know that "it can be done". Internet is full of such claims, but it does not help me. Yes, but i only work when i get pay, or at least promised to get pay.
I've used wxWidgets to simulate a graphics LCD and UI controls, and added additional windows for debugging assistance (logging, simulation commands to simulate driving UI, command save and replay, regression test and demo support, etc). wxWidgets works on Windoze and Linux, and builds with free version of VC++. Much easier than messing with MFC or ActiveX (of which I've done too much). Example: http://www.nadler.com/sn10/ILEC_SN10B_Demo32_237x4.exe This code is pretty specific to the device; not at all a generic toolkit.... Hope that helps, Best Regards, Dave
On 28/07/12 16:54, s...@quantum-leaps.com wrote: > I am looking for tools and techniques for prototyping (virtual > prototyping), simulation, and testing of deeply embedded C code on > desktop Windows, including building realistic embedded front panels > consisting of buttons, LEDs, and LCD displays (both segmented and > graphic). > > I'm specifically interested in a possibly low-level approach, using > pure C code and raw Win32 API rather than MFC, .NET/C#, vxWidgets or > Qt. I'd also like to use free development tools, such as Visual C++ > Express with Platform SDK and ResEdit for editing resources. > > I'm looking for code examples to render graphic LCDs (from monochrome > to 24-bit color) with efficient pixel-level interface, multi-segment > LCDs, and owner-drawn buttons that respond both to "depressed" and > "released" events. I can understand you want to use low-level tools to get faster code, especially for your simulated LCD displays. But that doesn't mean you have to rule out toolkits of different sorts. I would recommend you use some sort of gui / widget toolkit to get the basic gui in place. For things like buttons, LEDs and general graphics, you won't be able to make anything better/faster yourself (within a sane level of development effort). For your LCD, you just need some sort of simple widget (an image display widget, for example). Use an off-screen raw bitmap as your "simulation", and regularly copy it onto the widget. It will work more than fast enough, especially if you have the gui running in a different thread from the simulation thread(s). wxWidgets is a good toolkit, but you need C++ rather than C (or something else entirely - such as using Python to quickly and easily make the gui, while keeping the simulation part in fast C). GTK is probably the most powerful C-based gui/widget toolkit. Consider also using mingw (gcc for windows) rather than limited free versions of commercial tools. An IDE like Codeblocks will easily let you work with both compilers, so you can see what works best for you.