GUIslice - Open Source Lightweight GUI library/tool for HMI
Ramon
Posts: 484
in Propeller 2
I have recently found this open source (MIT License) C library for embedded display/touchscreen GUI designs (menus, buttons, text, images):
https://www.impulseadventure.com/elec/guislice-gui.html
https://github.com/ImpulseAdventure/GUIslice
It also includes a 'GUIslice Builder' cross-platform (Windows, LINUX and Mac) desktop application to generate GUIslice layouts.
It looks great. Seems to be based on C language and the Adafruit-GFX Library. The million dollar questions are :
- How easy (or hard) it could be to port this GUIslice library to the P2?
- Is there any port of the Adafruit-GFX library to P2?
Comments
Well, guess you could try FlexProp C or Catalina on them.
I've tried some other GUI libraries with FlexProp and they didn't work.
But, definitely worth a shot.
It does look potentially useful iff:
1) it's C code can be compiled for the P2...hmm.
2) it fits in the available P2 memory (ie. not too bloated). Given it lists Arduino, that hopefully may be the case.
In theory it could work nicely with my video driver if it already supports drawing into bitmapped frame buffers or if a driver can be easily adjusted/created to do so. I've not dug into how it works at the low level and whether it needs work there, it might already support that.
I may also take a look at this when I get a chance as I now have a HW system that could potentially use it.
Just to let you know the GFX library has already been converted into the P1(libsimplegfx)
Mike
Thank you all for your feedback.
I've never had any interest in using the arduinoIDE for Propeller (P1/P2), even when almost everyone out there (no matter how big or small) was adopting it in some way (TI MSP430 Energia, LT Linduino, STM32, Raspberry pi Pico, Intel Quark 101, Teensyduino, ESP8266/ESP32, 86duino, ...). This GUIslice got me interested to investigate.
I was not aware about Daviz Zemon Propware (some kind of prepackaged binary tools with CMAKE + propGCC and libraries, right?). I have tried to find more information about a C/C++ building system for ArduinoIDE libraries and went to a 2-3 years old thread:
https://forums.parallax.com/discussion/170420/propgcc-for-p2/
Don't know whether Eric (flexprop) or Ross (Catalina) would have some interest to develop/test their compilers with some kind of Arduino IDE/library compatibility. I guess that this is a extremely time consuming task, and probably not even wanted by most of the few dozen regular users on this forum.
It seems that maybe it would be easier for P1, but still a very long long journey for the P2. Maybe some day ...
Still not sure if C++ is needed or not. Here is some shoot about HW compatibility
Look at the source code -- there are a bunch of .cpp files, which almost certainly means you'll need a C++ compiler. There are 3 of those for the P2: riscvp2, clang, and p2gcc. None of them are really set up for "plug and play" usage on the P2, e.g. they do not have GUIs or much in the way of documentation.
It looks to me like the cpp files were just for the target device. I think the main files are plain c of some sort.
I downloaded the builder and created a project with it.
The GUI builder tool is in Java and the tool builds cpp files for the arduino platform which you add your code too to make it drive the screen and respond to inputs.
Mike