Frequently Asked Questions (FAQ)
Welcome to GUI-O FAQ page! This section provides helpful information and answers to common questions about using GUI-O.
If you don’t find what you’re looking for, feel free to reach out on our forum for additional support.
Can I use GUI-O for my project?
Yes, GUI-O is compatible with any PC, microcontroller, or device that has Bluetooth, USB, or internet connectivity (e.g., Wi-Fi, Cellular). Communication is handled through a simple ASCII protocol.
Is GUI-O free to use?
Yes, you can use the GUI-O DEMO version for free, although it comes with some limitations. You can read about the differences between the DEMO and PRO versions here.
How do I start working with GUI-O?
We recommend starting with the developer manual to get an overview of GUI-O’s functionalities. After that, explore our examples for various boards to get hands-on experience.
How can I create a widget?
Creating a GUI-O widget is simple! Just specify the widget type and basic properties, like a unique identifier (UID) and screen position. For example, to create a toggle widget, use the command |TG UID:tg1 X:50 Y:50\r\n. Each widget can also be fully customized with additional properties. For more details, check the developer manual.
How can I modify a widget?
Once a widget is created, you can modify it anytime by referencing its unique identifier (UID) and setting any property to the desired value. For example, to change the vertical position of a toggle widget, use the command @tg1 Y:20\r\n. For more details, check the developer manual.
How can I set a widget's string property?
To set a widget’s string property (e.g., TXT) , enclose the value in double quotes. For example, use |LB UID:lb1 X:50 Y:50 TXT:"Hello"\r\n to create a label widget and set its text. Note that the double quotes must be literal within the command. In some programming languages, like C and C++, you’ll need to escape the double quotes with a backslash (e.g., \"). Check your language's documentation for handling embedded quotes, as requirements may vary. Alternatively, you can use the TSC parameter to change the literal double quotes to single quotes. For more details, check the developer manual.
How can I clear all widgets?
To clear all widgets, use the command @cls\r\n. You can also clear the screen directly from the GUI-O app: open the settings menu by swiping from the left side of the screen to the right, then tap the home icon in the upper-right corner.
How does GUI-O handle scaling across different devices?
GUI-O ensures your GUI design works seamlessly on any device by focusing on three key aspects:
Device-independent pixels (dp)
GUI-O calculates the screen size in dp (device-independent pixels), so your layout is based on logical units instead of physical pixels. This ensures consistency across screens with different resolutions or dpi (dots per inch).
Reference aspect ratio
GUI-O uses the aspect ratio of your development device as a reference. It calculates an effective layout area that maintains this aspect ratio, preventing distortion or stretching on devices with different screen sizes.
NOTE: To ensure scalability, the aspect ratio of your reference device (not the target device!) must be specified using the command:
@guis ASR:<value>\r\n
To obtain the aspect ratio value of the reference device use the command:
@dispProp\r\n
or navigate to GUI-O app's developer menu. For more details, check the developer manual.
Percentage-based layout
Widget positions and sizes are defined as percentages of the effective layout area. GUI-O dynamically scales these percentages to fit the screen, ensuring your design stays proportional and adaptable to any device.
Connect . Create . Control