Macros | |
#define | ARM_2D_HELPER_PFB_INIT(__CB_ADDR, __SCREEN_WIDTH, __SCREEN_HEIGHT, __PIXEL_TYPE, __WIDTH, __HEIGHT, __PFB_NUM, ...) |
a macro wrapper in uppercase to help initialising PFB service More... | |
#define | ARM_2D_HELPER_PFB_UPDATE_ON_DRAW_HANDLER( __CB_ADDR, __HANDLER, ...) |
a macro wrapper to update the evtOnDrawring event handler More... | |
#define | __IMPL_ARM_2D_REGION_LIST(__NAME, ...) |
#define | IMPL_ARM_2D_REGION_LIST(__NAME, ...) __IMPL_ARM_2D_REGION_LIST(__NAME,##__VA_ARGS__) |
#define | END_IMPL_ARM_2D_REGION_LIST(...) }; |
#define | __ADD_REGION_TO_LIST(__NAME, ...) |
#define | ADD_REGION_TO_LIST(__NAME, ...) __ADD_REGION_TO_LIST(__NAME, ##__VA_ARGS__) |
#define | __ADD_LAST_REGION_TO_LIST(__NAME, ...) |
#define | ADD_LAST_REGION_TO_LIST(__NAME, ...) __ADD_LAST_REGION_TO_LIST(__NAME, ##__VA_ARGS__) |
#define | IMPL_PFB_ON_DRAW(__NAME) |
#define | IMPL_PFB_ON_LOW_LV_RENDERING(__NAME) |
#define | IMPL_PFB_ON_FRAME_SYNC_UP(__NAME) bool __NAME(void *pTarget) |
#define | init_arm_2d_helper_pfb(__CB_ADDR, __SCREEN_WIDTH, __SCREEN_HEIGHT, __PIXEL_TYPE, __WIDTH, __HEIGHT, __PFB_NUM, ...) |
a macro wrapper in lowercase to help initialising PFB service More... | |
#define | update_arm_2d_helper_pfb_on_draw_handler( __CB_ADDR, __HANDLER, ...) |
a macro wrapper to update the evtOnDrawring event handler More... | |
#define | impl_arm_2d_region_list(__NAME, ...) IMPL_ARM_2D_REGION_LIST(__NAME,##__VA_ARGS__) |
#define | add_region_to_list(__NAME, ...) ADD_REGION_TO_LIST(__NAME, ##__VA_ARGS__) |
#define | add_last_region_to_list(__NAME, ...) ADD_LAST_REGION_TO_LIST(__NAME, ##__VA_ARGS__) |
#define | end_impl_arm_2d_region_list(...) END_IMPL_ARM_2D_REGION_LIST(__VA_ARGS__) |
#define | impl_pfb_on_draw(__NAME) IMPL_PFB_ON_DRAW(__NAME) |
#define | impl_pfb_on_low_lv_rendering(__NAME) IMPL_PFB_ON_LOW_LV_RENDERING(__NAME) |
#define | __declare_tile(__name) extern const arm_2d_tile_t __name; |
#define | declare_tile(__name) __declare_tile(__name) |
#define | dcl_tile(__name) declare_tile(__name) |
#define | dcl_fb(__name) declare_tile(__name) |
#define | __impl_fb(__NAME, __WIDTH, __HEIGHT, __TYPE, ...) |
#define | impl_fb(__NAME, __WIDTH, __HEIGHT, __TYPE, ...) __impl_fb(__NAME, __WIDTH, __HEIGHT, __TYPE, ##__VA_ARGS__) |
#define | get_tile_buffer_pixel_count(__NAME) |
#define | get_tile_buffer_size(__NAME, __TYPE) (get_2d_layer_buffer_pixel_count(__NAME) * sizeof(TYPE)) |
#define | impl_child_tile(__PARENT, __X, __Y, __WIDTH, __HEIGHT, ...) |
#define | __arm_2d_align_centre2(__region, __size) |
#define | __arm_2d_align_centre3(__region, __width, __height) |
#define | arm_2d_align_centre(...) |
#define | arm_2d_helper_is_time_out(__MS, ...) __arm_2d_helper_is_time_out((__MS), (NULL, ##__VA_ARGS__)) |
set an alarm with given period and check the status More... | |
Typedefs | |
typedef arm_fsm_rt_t | arm_2d_helper_draw_handler_t(void *pTarget, const arm_2d_tile_t *ptTile, bool bIsNewFrame) |
the On-Drawing event handler for application layer More... | |
typedef void | arm_2d_helper_render_handler_t(void *pTarget, const arm_2d_pfb_t *ptPFB, bool bIsNewFrame) |
the On Low Level Rendering event handler for the low level (LCD Driver) More... | |
Functions | |
void | arm_2d_scene_player_flush_fifo (arm_2d_scene_player_t *ptThis) |
flush the scene FIFO More... | |
void | arm_2d_scene_player_append_scenes (arm_2d_scene_player_t *ptThis, arm_2d_scene_t *ptScenes, int_fast16_t hwCount) |
append a set of scenes to a scene player More... | |
void | arm_2d_scene_player_switch_to_next_scene (arm_2d_scene_player_t *ptThis) |
request switching to the next scene safely More... | |
void | arm_2d_scene_player_set_switching_mode (arm_2d_scene_player_t *ptThis, uint_fast16_t hwSettings) |
configure the scene switching mode More... | |
uint16_t | arm_2d_scene_player_get_switching_mode (arm_2d_scene_player_t *ptThis) |
read the current scene switching mode More... | |
void | arm_2d_scene_player_set_switching_period (arm_2d_scene_player_t *ptThis, uint_fast16_t hwMS) |
configure the scene switching period More... | |
arm_fsm_rt_t | arm_2d_scene_player_task (arm_2d_scene_player_t *ptThis) |
the scene player task function More... | |
arm_2d_err_t | arm_2d_helper_pfb_init (arm_2d_helper_pfb_t *ptThis, arm_2d_helper_pfb_cfg_t *ptCFG) |
initialize pfb helper service More... | |
arm_2d_region_t | arm_2d_helper_pfb_get_display_area (arm_2d_helper_pfb_t *ptThis) |
get the display (screen) region More... | |
arm_fsm_rt_t | arm_2d_helper_pfb_task (arm_2d_helper_pfb_t *ptThis, arm_2d_region_list_item_t *ptDirtyRegions) |
the task function for pfb helper More... | |
void | arm_2d_helper_pfb_flush (arm_2d_helper_pfb_t *ptThis) |
flush the FPB FIFO More... | |
arm_2d_err_t | arm_2d_helper_pfb_update_dependency (arm_2d_helper_pfb_t *ptThis, uint_fast8_t chMask, const arm_2d_helper_pfb_dependency_t *ptDependency) |
update PFB dependency (event handlers) More... | |
void | arm_2d_helper_pfb_report_rendering_complete (arm_2d_helper_pfb_t *ptThis, arm_2d_pfb_t *ptPFB) |
tell PFB helper that a low level LCD flushing work is complete More... | |
void | arm_2d_helper_swap_rgb16 (uint16_t *phwBuffer, uint32_t wCount) |
swap the high and low bytes for each rgb16 pixel More... | |
int64_t | arm_2d_helper_convert_ticks_to_ms (int64_t lTick) |
convert ticks of a reference timer to millisecond More... | |
int64_t | arm_2d_helper_convert_ms_to_ticks (uint32_t wMS) |
convert millisecond into ticks of the reference timer More... | |
uint32_t | arm_2d_helper_get_reference_clock_frequency (void) |
get the reference clock frequency More... | |
int64_t | arm_2d_helper_get_system_timestamp (void) |
get the current system stamp from the reference clock More... | |
arm_2d_pfb_t * | __arm_2d_helper_pfb_new (arm_2d_helper_pfb_t *ptThis) |
try to get a PFB block from the pool More... | |
void | __arm_2d_helper_pfb_free (arm_2d_helper_pfb_t *ptThis, arm_2d_pfb_t *ptPFB) |
free a PFB block to the pool More... | |
__STATIC_INLINE bool | __arm_2d_helper_is_time_out (uint32_t wMS, int64_t *plTimestamp) |
union __arm_2d_helper_scene_switch_t |
Data Fields | ||
---|---|---|
struct __arm_2d_helper_scene_switch_t.Feature | Feature | |
uint16_t | hwSetting | the setting value |
struct arm_2d_scene_t |
a class for describing scenes which are the combination of a background and a foreground with a dirty-region-list support
Data Fields | |
arm_2d_scene_t * | ptNext |
next scene More... | |
arm_2d_scene_player_t * | ptPlayer |
points to the host scene player More... | |
arm_2d_region_list_item_t * | ptDirtyRegion |
dirty region list for the foreground More... | |
arm_2d_helper_draw_handler_t * | fnBackground |
the function pointer for the background More... | |
arm_2d_helper_draw_handler_t * | fnScene |
the function pointer for the foreground More... | |
void(* | fnOnBGStart )(arm_2d_scene_t *ptThis) |
on-start-drawing-background event handler More... | |
void(* | fnOnBGComplete )(arm_2d_scene_t *ptThis) |
on-complete-drawing-background event handler More... | |
void(* | fnOnFrameStart )(arm_2d_scene_t *ptThis) |
on-frame-start event handler More... | |
void(* | fnOnFrameCPL )(arm_2d_scene_t *ptThis) |
on-frame-complete event handler More... | |
void(* | fnDepose )(arm_2d_scene_t *ptThis) |
on-scene-depose event handler More... | |
struct { | |
uint8_t | bOnSwitchingIgnoreBG: 1 |
ignore background during switching period More... | |
uint8_t | bOnSwitchingIgnoreScene: 1 |
ignore forground during switching period More... | |
}; | |
arm_2d_scene_t* arm_2d_scene_t::ptNext |
next scene
arm_2d_scene_player_t* arm_2d_scene_t::ptPlayer |
points to the host scene player
arm_2d_region_list_item_t* arm_2d_scene_t::ptDirtyRegion |
dirty region list for the foreground
arm_2d_helper_draw_handler_t* arm_2d_scene_t::fnBackground |
the function pointer for the background
arm_2d_helper_draw_handler_t* arm_2d_scene_t::fnScene |
the function pointer for the foreground
void(* arm_2d_scene_t::fnOnBGStart) (arm_2d_scene_t *ptThis) |
on-start-drawing-background event handler
void(* arm_2d_scene_t::fnOnBGComplete) (arm_2d_scene_t *ptThis) |
on-complete-drawing-background event handler
void(* arm_2d_scene_t::fnOnFrameStart) (arm_2d_scene_t *ptThis) |
on-frame-start event handler
void(* arm_2d_scene_t::fnOnFrameCPL) (arm_2d_scene_t *ptThis) |
on-frame-complete event handler
void(* arm_2d_scene_t::fnDepose) (arm_2d_scene_t *ptThis) |
on-scene-depose event handler
struct arm_2d_scene_player_t |
a class to manage scenes
Data Fields | ||
---|---|---|
arm_2d_helper_pfb_t |
inherit from arm_2d_helper_pfb_t points to the head of the FIFO points to the tail of the FIFO Scene FIFO a flag to request switching-to-the next-scene indication of scene switching completion the state of the FSM used by runtime. scene player runtime the switching configuration the switching should finish in specified millisecond | |
struct arm_2d_scene_player_t.__unnamed116__ | __unnamed__ |
struct arm_2d_pfb_t |
the header of a PFB block
Data Fields | ||
---|---|---|
struct arm_2d_pfb_t * | ptNext | next pfb block |
arm_2d_helper_pfb_t * | ptPFBHelper | the pfb helper service current PFB block comes from |
arm_2d_tile_t | tTile | descriptor |
uint32_t | u24Size: 24 | |
uint32_t | bIsNewFrame: 1 | a flag to indicate the starting of a frame |
struct arm_2d_region_list_item_t |
the node of a region list
Data Fields | ||
---|---|---|
struct arm_2d_region_list_item_t * | ptNext | the next node |
arm_2d_region_t | tRegion | the region |
struct arm_2d_helper_render_evt_t |
on low level render event
Data Fields | ||
---|---|---|
arm_2d_helper_render_handler_t * | fnHandler | event handler function |
void * | pTarget | user attached target |
struct arm_2d_helper_draw_evt_t |
on drawing event
Data Fields | ||
---|---|---|
arm_2d_helper_draw_handler_t * | fnHandler | event handler function |
void * | pTarget | user attached target |
struct arm_2d_helper_pfb_dependency_t |
The PFB Helper Service Dependency.
Data Fields | ||
---|---|---|
arm_2d_helper_render_evt_t | evtOnLowLevelRendering | event handler for low level rendering |
arm_2d_helper_draw_evt_t | evtOnDrawing | event handler for drawing GUI |
arm_2d_evt_t | evtOnLowLevelSyncUp | low level rendering handler wants to sync-up (return arm_fsm_rt_wait_for_obj) |
struct arm_2d_helper_pfb_cfg_t |
PFB Helper configuration.
Data Fields | ||
---|---|---|
arm_2d_region_t | tDisplayArea | screen description |
struct arm_2d_helper_pfb_cfg_t.FrameBuffer | FrameBuffer | frame buffer context |
arm_2d_helper_pfb_dependency_t | Dependency | user registered dependency |
struct arm_2d_helper_pfb_t |
the PFB helper control block
Data Fields | ||
---|---|---|
struct arm_2d_helper_pfb_t.__unnamed128__ | __unnamed__ | < user configuration |
struct arm_2d_helper_pfb_t.Statistics | Statistics | performance statistics |
struct __arm_2d_helper_scene_switch_t.Feature |
struct arm_2d_scene_t.__unnamed114__ |
struct arm_2d_scene_player_t.__unnamed116__ |
Data Fields | ||
---|---|---|
struct arm_2d_scene_player_t.__unnamed116__.SceneFIFO | SceneFIFO | |
struct arm_2d_scene_player_t.__unnamed116__.Runtime | Runtime | |
struct arm_2d_scene_player_t.__unnamed116__.Switch | Switch |
struct arm_2d_scene_player_t.__unnamed116__.SceneFIFO |
Data Fields | ||
---|---|---|
arm_2d_scene_t * | ptHead | |
arm_2d_scene_t * | ptTail |
struct arm_2d_scene_player_t.__unnamed116__.Runtime |
struct arm_2d_scene_player_t.__unnamed116__.Switch |
Data Fields | ||
---|---|---|
union arm_2d_scene_player_t.__unnamed116__.Switch.__unnamed121__ | __unnamed__ | |
__arm_2d_helper_scene_switch_t | tConfig | |
uint16_t | hwPeriod | |
int64_t | lTimeStamp |
union arm_2d_scene_player_t.__unnamed116__.Switch.__unnamed121__ |
Data Fields | ||
---|---|---|
uint8_t | chState | |
struct arm_2d_scene_player_t.__unnamed116__.Switch.__unnamed121__.Fade | Fade | |
struct arm_2d_scene_player_t.__unnamed116__.Switch.__unnamed121__.Erase | Erase | |
struct arm_2d_scene_player_t.__unnamed116__.Switch.__unnamed121__.Slide | Slide |
struct arm_2d_scene_player_t.__unnamed116__.Switch.__unnamed121__.Fade |
struct arm_2d_scene_player_t.__unnamed116__.Switch.__unnamed121__.Erase |
Data Fields | ||
---|---|---|
uint8_t | chState | |
arm_2d_tile_t | tSceneWindow | |
arm_2d_tile_t | tTemp | |
int16_t | iOffset |
struct arm_2d_scene_player_t.__unnamed116__.Switch.__unnamed121__.Slide |
Data Fields | ||
---|---|---|
uint8_t | chState | |
arm_2d_tile_t | tSceneWindow | |
int16_t | iOffset |
struct arm_2d_helper_pfb_cfg_t.FrameBuffer |
Data Fields | ||
---|---|---|
arm_2d_pfb_t * | ptPFBs | current PFB block |
arm_2d_size_t | tFrameSize | the size of the frame |
uint32_t | wBufferSize | the buffer size |
uint16_t | hwPFBNum | the number of PFB |
uint16_t | bDoNOTUpdateDefaultFrameBuffer: 1 | A flag to disable automatically default-framebuffer-registration. |
uint16_t | bDisableDynamicFPBSize: 1 | A flag to disable resize of the PFB block. |
uint16_t | bSwapRGB16: 1 | A flag to enable swapping high and low bytes of an RGB16 pixel. |
uint16_t | u4PoolReserve: 4 | reserve specific number of PFB for other helper services |
struct arm_2d_helper_pfb_t.__unnamed128__ |
< user configuration
Data Fields | ||
---|---|---|
arm_2d_helper_pfb_cfg_t | tCFG | |
struct arm_2d_helper_pfb_t.__unnamed128__.Adapter | Adapter |
struct arm_2d_helper_pfb_t.__unnamed128__.Adapter |
Data Fields | ||
---|---|---|
arm_2d_region_t | tDrawRegion | |
arm_2d_region_t | tTargetRegion | |
arm_2d_region_list_item_t * | ptDirtyRegion | |
arm_2d_tile_t | tPFBTile | |
arm_2d_size_t | tFrameSize | |
bool | bFirstIteration | |
bool | bIsRegionChanged | |
uint8_t | chPT | |
struct arm_2d_helper_pfb_t.__unnamed128__.Adapter.__unnamed132__ | __unnamed__ | |
uint16_t | hwFreePFBCount | |
arm_2d_pfb_t * | ptCurrent | |
arm_2d_pfb_t * | ptFreeList | |
struct arm_2d_helper_pfb_t.__unnamed128__.Adapter.FlushFIFO | FlushFIFO | |
arm_2d_tile_t * | ptFrameBuffer |
struct arm_2d_helper_pfb_t.__unnamed128__.Adapter.__unnamed132__ |
struct arm_2d_helper_pfb_t.__unnamed128__.Adapter.FlushFIFO |
Data Fields | ||
---|---|---|
arm_2d_pfb_t * | ptHead | |
arm_2d_pfb_t * | ptTail |
struct arm_2d_helper_pfb_t.Statistics |
#define ARM_2D_HELPER_PFB_INIT | ( | __CB_ADDR, | |
__SCREEN_WIDTH, | |||
__SCREEN_HEIGHT, | |||
__PIXEL_TYPE, | |||
__WIDTH, | |||
__HEIGHT, | |||
__PFB_NUM, | |||
... | |||
) |
a macro wrapper in uppercase to help initialising PFB service
[in] | __CB_ADDR | the address of the arm_2d_helper_pfb_t object |
[in] | __SCREEN_WIDTH | the width of the screen |
[in] | __SCREEN_HEIGHT | the hight of the screen |
[in] | __PIXEL_TYPE | the integer type of the pixel, i.e. uint8_t, uint16_t, uint32_t |
[in] | __WIDTH | the width of the PFB block |
[in] | __HEIGHT | the height of the PFB block |
[in] | __PFB_NUM | the number of PFB blocks in the built-in PFB pool. |
[in] | ... | a code block to add additional initializer, see example below: |
#define ARM_2D_HELPER_PFB_UPDATE_ON_DRAW_HANDLER | ( | __CB_ADDR, | |
__HANDLER, | |||
... | |||
) |
a macro wrapper to update the evtOnDrawring event handler
[in] | __CB_ADDR | the address of the arm_2d_helper_pfb_t object |
[in] | __HANDLER | the new handler |
[in] | ... | [Optional] an address (of user defined structure) passed to the event handler. |
#define __IMPL_ARM_2D_REGION_LIST | ( | __NAME, | |
... | |||
) |
#define __ADD_REGION_TO_LIST | ( | __NAME, | |
... | |||
) |
#define __ADD_LAST_REGION_TO_LIST | ( | __NAME, | |
... | |||
) |
#define IMPL_PFB_ON_DRAW | ( | __NAME | ) |
#define IMPL_PFB_ON_LOW_LV_RENDERING | ( | __NAME | ) |
#define init_arm_2d_helper_pfb | ( | __CB_ADDR, | |
__SCREEN_WIDTH, | |||
__SCREEN_HEIGHT, | |||
__PIXEL_TYPE, | |||
__WIDTH, | |||
__HEIGHT, | |||
__PFB_NUM, | |||
... | |||
) |
a macro wrapper in lowercase to help initialising PFB service
[in] | __CB_ADDR | the address of the arm_2d_helper_pfb_t object |
[in] | __SCREEN_WIDTH | the width of the screen |
[in] | __SCREEN_HEIGHT | the hight of the screen |
[in] | __PIXEL_TYPE | the integer type of the pixel, i.e. uint8_t, uint16_t, uint32_t |
[in] | __WIDTH | the width of the PFB block |
[in] | __HEIGHT | the height of the PFB block |
[in] | __PFB_NUM | the number of PFB blocks in the built-in PFB pool. |
[in] | ... | a code block to add additional initializer, see example below: |
#define update_arm_2d_helper_pfb_on_draw_handler | ( | __CB_ADDR, | |
__HANDLER, | |||
... | |||
) |
a macro wrapper to update the evtOnDrawring event handler
[in] | __CB_ADDR | the address of the arm_2d_helper_pfb_t object |
[in] | __HANDLER | the new handler |
[in] | ... | [Optional] an address (of user defined structure) passed to the event handler. |
#define __impl_fb | ( | __NAME, | |
__WIDTH, | |||
__HEIGHT, | |||
__TYPE, | |||
... | |||
) |
#define get_tile_buffer_pixel_count | ( | __NAME | ) |
#define impl_child_tile | ( | __PARENT, | |
__X, | |||
__Y, | |||
__WIDTH, | |||
__HEIGHT, | |||
... | |||
) |
#define __arm_2d_align_centre2 | ( | __region, | |
__size | |||
) |
#define __arm_2d_align_centre3 | ( | __region, | |
__width, | |||
__height | |||
) |
#define arm_2d_align_centre | ( | ... | ) |
#define arm_2d_helper_is_time_out | ( | __MS, | |
... | |||
) | __arm_2d_helper_is_time_out((__MS), (NULL, ##__VA_ARGS__)) |
set an alarm with given period and check the status
[in] | wMS | a time period in millisecond |
[in] | ... | an optional timestamp holder |
typedef arm_fsm_rt_t arm_2d_helper_draw_handler_t(void *pTarget, const arm_2d_tile_t *ptTile, bool bIsNewFrame) |
the On-Drawing event handler for application layer
[in] | pTarget | a user attached target address |
[in] | ptTile | a tile for the virtual screen |
[in] | bIsNewFrame | a flag indicate the starting of a new frame |
typedef void arm_2d_helper_render_handler_t(void *pTarget, const arm_2d_pfb_t *ptPFB, bool bIsNewFrame) |
the On Low Level Rendering event handler for the low level (LCD Driver)
[in] | pTarget | a user attached target address |
[in] | ptPFB | the PFB block |
[in] | bIsNewFrame | a flag indicate the starting of a new frame |
scene switching mode
anonymous enum |
void arm_2d_scene_player_flush_fifo | ( | arm_2d_scene_player_t * | ptThis | ) |
flush the scene FIFO
[in] | ptThis | the target scene player |
void arm_2d_scene_player_append_scenes | ( | arm_2d_scene_player_t * | ptThis, |
arm_2d_scene_t * | ptScenes, | ||
int_fast16_t | hwCount | ||
) |
append a set of scenes to a scene player
[in] | ptThis | the target scene player |
[in] | ptScenes | a scene array |
[in] | hwCount | the number of scenes in the array |
void arm_2d_scene_player_switch_to_next_scene | ( | arm_2d_scene_player_t * | ptThis | ) |
request switching to the next scene safely
[in] | ptThis | the target scene player |
void arm_2d_scene_player_set_switching_mode | ( | arm_2d_scene_player_t * | ptThis, |
uint_fast16_t | hwSettings | ||
) |
configure the scene switching mode
[in] | ptThis | the target scene player |
[in] | hwSettings | a combination of valid settings defined in arm_2d_scene_player_switch_mode_t |
uint16_t arm_2d_scene_player_get_switching_mode | ( | arm_2d_scene_player_t * | ptThis | ) |
read the current scene switching mode
[in] | ptThis | the target scene player |
void arm_2d_scene_player_set_switching_period | ( | arm_2d_scene_player_t * | ptThis, |
uint_fast16_t | hwMS | ||
) |
configure the scene switching period
[in] | ptThis | the target scene player |
[in] | hwMS | period in millisecond |
arm_fsm_rt_t arm_2d_scene_player_task | ( | arm_2d_scene_player_t * | ptThis | ) |
the scene player task function
[in] | ptThis | the target scene player |
arm_2d_err_t arm_2d_helper_pfb_init | ( | arm_2d_helper_pfb_t * | ptThis, |
arm_2d_helper_pfb_cfg_t * | ptCFG | ||
) |
initialize pfb helper service
[in] | ptThis | the pfb helper control block |
[in] | ptCFG | the configuration |
arm_2d_region_t arm_2d_helper_pfb_get_display_area | ( | arm_2d_helper_pfb_t * | ptThis | ) |
get the display (screen) region
[in] | ptThis | the pfb helper control block |
arm_fsm_rt_t arm_2d_helper_pfb_task | ( | arm_2d_helper_pfb_t * | ptThis, |
arm_2d_region_list_item_t * | ptDirtyRegions | ||
) |
the task function for pfb helper
[in] | ptThis | an initialised PFB control block |
[in] | ptDirtyRegions | a region list pending for refresh, NULL means refreshing the whole screen |
arm_fsm_rt_cpl | complete refreshing one frame |
arm_fsm_rt_on_going | the refreshing work is on-going |
arm_fsm_rt_wait_for_obj | user's OnDrawing event handler wants to wait for some objects, e.g. semaphore etc. |
<0 | An error is detected |
void arm_2d_helper_pfb_flush | ( | arm_2d_helper_pfb_t * | ptThis | ) |
flush the FPB FIFO
[in] | ptThis | an initialised PFB control block |
arm_2d_err_t arm_2d_helper_pfb_update_dependency | ( | arm_2d_helper_pfb_t * | ptThis, |
uint_fast8_t | chMask, | ||
const arm_2d_helper_pfb_dependency_t * | ptDependency | ||
) |
update PFB dependency (event handlers)
[in] | ptThis | the PFB control block |
[in] | chMask | the bit mask for event handlers |
[in] | ptDependency | the new dependency description |
void arm_2d_helper_pfb_report_rendering_complete | ( | arm_2d_helper_pfb_t * | ptThis, |
arm_2d_pfb_t * | ptPFB | ||
) |
tell PFB helper that a low level LCD flushing work is complete
[in] | ptThis | the PFB control block |
[in] | ptPFB | the used PFB block |
void arm_2d_helper_swap_rgb16 | ( | uint16_t * | phwBuffer, |
uint32_t | wCount | ||
) |
swap the high and low bytes for each rgb16 pixel
\params[in] phwBuffer the pixel buffer
\params[in] wSize the number of pixels
int64_t arm_2d_helper_convert_ticks_to_ms | ( | int64_t | lTick | ) |
convert ticks of a reference timer to millisecond
[in] | lTick | the tick count |
int64_t arm_2d_helper_convert_ms_to_ticks | ( | uint32_t | wMS | ) |
convert millisecond into ticks of the reference timer
[in] | wMS | the target time in millisecond |
uint32_t arm_2d_helper_get_reference_clock_frequency | ( | void | ) |
get the reference clock frequency
int64_t arm_2d_helper_get_system_timestamp | ( | void | ) |
get the current system stamp from the reference clock
arm_2d_pfb_t * __arm_2d_helper_pfb_new | ( | arm_2d_helper_pfb_t * | ptThis | ) |
try to get a PFB block from the pool
[in] | ptThis | the PFB control block |
NULL | the pool is empty |
!NULL | a valid pfb block |
void __arm_2d_helper_pfb_free | ( | arm_2d_helper_pfb_t * | ptThis, |
arm_2d_pfb_t * | ptPFB | ||
) |
free a PFB block to the pool
[in] | ptThis | the PFB control block |
[in] | ptPFB | the target PFB block |