The #Microwindows / #NanoX port to #NuttX developed in the frame of Wu Chenyang’s (Acfboy) #GSoC Add X11 graphic support on NuttX using NanoX has been fully integrated into NuttX mainline, including the Microwindows Overview and Examples section in the documentation and example configurations sim:mw, qemu-intel64:mw, sim:nanox and qemu-intel64:nanox. The functionality has been tested on #STM32 and #SONY #spresense boards as well. The project tracking page is there. Thanks to NuttX #POSIX API, the porting has been straightforward, and thanks to Gregory Haerr, all changes have been integrated into Microwindows mainline as well.
For the curiosity, I have tested to build our large more than 20 years old #RTEMS SuiTk based application of the complete TECHNIC I which represents 83182 lines of code (+20773 comments), 15014 lines of headers (+7568 comments) and 72607 lines of GUI XML description with #Microwindows / #NanoX #NuttX port and the results runs in the mode intended for GUI testing under #Linux in baremetal x86_64 #NuttX BSP in #QEMU. The pure #Linux / #POSIX mode with sensors and actuators stubs has been available from the project start. For more generations of that development see the related #PiKRON’s medical development page.
I cannot help but test a little more how nicely the #Microwindows #NuttX port works. So there are a few more screenshots from running TECHNIC I firmware on NuttX under #QEMU. The screenshots include even dosing state where special keys for test build are used to emulate syringe diameter and other HW sensors. The original HW has been based on our PIMX1 i.MX1-based CPU board and more about the original design decision can be read in the article RTEMS Executive and XML-Based GUI in Medical Instrument Firmware and related Slides. The second MCU used in mutual supervision loop and control has been MSP430 for low consumption. The original design used a monochrome LCD, later models used a color LCD as shown in the emulator. The instruments have served in hospitals for decades. PIMX1 board has been used with #RTEMS and for less critical applications with our #Linux port.