RA Flexible Software Package Documentation
Release v5.6.0
|
|
Functions | |
UINT | rm_guix_port_hw_initialize (GX_DISPLAY *p_display) |
The Azure RTOS GUIX Port module provides the configuration and hardware acceleration support necessary for use of GUIX on RA products. The port provides full integration with the graphics peripherals (GLCDC, DRW and JPEG).
The following functions are currently performed with hardware acceleration:
Configuration | Options | Default | Description |
---|---|---|---|
Hardware Acceleration | |||
JPEG Codec Support | MCU Specific Options | Select whether or not to use the JPEG Codec for hardware acceleration. | |
DRW Engine Support |
| Enabled | Select whether or not to use the DRW Engine for hardware acceleration. |
Max DRW Operations | Value must be a positive integer | 30 | Specifies the maximum number of DRW operations before flushing the display list. Reducing this value may reduce the peak heap used by the application but may reduce performance. |
Internal Thread | |||
Stack Size | Value must be greater than zero | 4096 | GUIX internal thread stack size in bytes. Must be greater than zero. |
Priority | Value must be between 0 to 31 | 30 | Priority of the GUIX Internal Thread. The value must be between 0 to 31. |
Time Slice | Value must be in range 0 to 0xFFFFFFFF | 10 | Time Slice value of the GUIX Internal Thread. The value must be between 0 (TX_NO_TIME_SLICE) to 0xFFFFFFFF. |
System Timer (ms) | Value must be greater than or equal to 10 | 20 | GUIX system timer period (GX_SYSTEM_TIMER_MS). This value will be internally converted to RTOS ticks and will be rounded down to the next smallest multiple of the RTOS tick period (1000 / TX_TIMER_TICKS_PER_SECOND). |
Multithread Support |
| Enabled | Must be enabled if GUIX functions are called from multiple threads. Set to Disabled when calling GUIX from only one thread to reduce system overhead. |
UTF8 Support |
| Enabled | Select whether to enable or disable support for UTF8 characters. |
Event Queue Size | Value must be greater than zero | 48 | Maximum number of events in the GUIX event queue. |
Enable GX_WIDGET User Data |
| Disabled | Set to Enabled to to use the gx_widget_user_data member in the GX_WIDGET structure. |
Configuration | Options | Default | Description |
---|---|---|---|
DRW Buffer Cache |
| Enabled | Enabling this option significantly improves DRW Engine performance. Set to Disabled only if Display underflow events are triggered under high graphics load. |
Configuration | Options | Default | Description |
---|---|---|---|
Display Rotation | |||
Screen Orientation |
| None | Select the display orientation specified in the GUIX Studio project. The Canvas Buffer must be enabled when rotating 180 degrees (FLIP). |
Use Canvas Buffer |
| Disabled | When screen rotation is set to 180 degrees (FLIP), a canvas buffer must be used. The canvas buffer size will be the same as a frame buffer for the display module. |
Canvas Buffer Memory Section | This property must be a valid section name | bss | Specify the memory section where the GUIX Canvas Buffer will be allocated. |
JPEG Decoding | |||
Work Buffer Size | Must be a positive integer greater than 0 | 0xC800 | Specify the JPEG work buffer size in bytes. A larger buffer can reduce JPEG decode/draw times. The buffer will not be allocated if JPEG Codec support is disabled. Unless you are sure of the subsampling used in and the size of the input JPEG images it is recommended to allocate at least 16 framebuffer lines of memory. |
Buffer Memory Section | This property must be a valid section name | bss | Specify the memory section where the JPEG Work Buffer will be allocated. |
Name | Name must be a valid C symbol | g_rm_guix_port0 | Module name. |
Target Display Layer |
| Graphics Layer 1 | Specify which graphics screen to inherit the buffer and display dimensions from. |
Callback Function | Must be a valid C symbol | NULL | If a callback function is provided it will be called when Display events occur. |
No clocks or pins are directly required by this module. Please consult the submodules' documentation for their requirements.
To get started with GUIX in an RA project the following must be performed:
At this point the project is now ready to build and run your GUIX Studio project. Please refer to the documentation for Azure RTOS GUIX and GUIX Studio for details on how to create and edit a GUI application.
In most cases there is no need to perform additional configuration to ensure the DRW Engine is used. However, there are some guidelines that should be followed:
gx_canvas_pixelmap_tile
(more tiles = more heap)gx_canvas_pixelmap_tile
as well as certain arc/ellipse fill functions as GUIX manually draws pixelmaps to fill these shapes (at the expense of heap space). This is a basic example demonstrating how to get GUIX up and running given an existing GUIX Studio project. A template for this code is available in Developer Assistance for the GUIX Port module.
Data Structures | |
struct | rm_guix_port_callback_args_t |
Enumerations | |
enum | rm_guix_port_device_t |
enum | rm_guix_port_event_t |
struct rm_guix_port_callback_args_t |
Callback arguments for the FSP GUIX Port
Data Fields | ||
---|---|---|
rm_guix_port_device_t | device | Device code. |
rm_guix_port_event_t | event | Event code of the low level hardware. |
uint32_t | error | Error code if RM_GUIX_PORT_EVENT_ERROR. |
enum rm_guix_port_event_t |
UINT rm_guix_port_hw_initialize | ( | GX_DISPLAY * | p_display | ) |
Callback function to be passed to gx_studio_display_configure in order to start hardware modules.
Example:
GX_SUCCESS | Device driver setup is successfully done. |
GX_FAILURE | Device driver setup failed. |