Skip to content

Legato_Tasks() preemption #40

@ghnicolas

Description

@ghnicolas

Hello,
I am using the library on a PIC32MZDA without OS, and trying to optimize everything I can to fulfil other real time constraints like CAN periodicity messages.
Up to here I don't, the Legato_Tasks() at the preemtion level 1 or 2 keeps the hand during more than 100 ms to paint image widget of 128x128 pixels in RGBA8888 mode. I am using the stream interface, but the time needed to stream image from external memory seems not significant in the complete drawing operation.
Looking into the code I wonder if one of the preemption define (LE_PREEMPTION_LEVEL) used to avoid blocking was correctly placed.
The one in the function _leImageWidget_Paint (legato_widget_image_skin_classic.c) seems to be useless as a deeper function is actually blocking. The deeper function blocking is the _exec function in file legato_imagedecoder_raw.c (while loop).
Is there a way to make this function not blocking ?
Regards
Nicolas

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions