Skip to content

Busy wait bug on Inky 13.3 panel #254

@twfry

Description

@twfry

I think there is a bug in file "inky_el133uf1.py", function _busy_wait(), line 266

while self._gpio.get_value(self.busy_pin) == Value.ACTIVE:

with this logic the _busy_wait() function immediately sees the wait as complete and returns. The file inky_e673.py looks to be the same except the same line is:

while not self._gpio.get_value(self.busy_pin) == Value.ACTIVE:

I first noticed this when programs returned immediately after issuing inky.show() and did not wait for the panel to complete refreshing. Changing the inky_el133uf1.py function to use "while not self._gpio.get_value(self.busy_pin) == Value.ACTIVE:" then resulted in busy_wait() functioning correctly and everything waiting until the panel completes.

Note: This is might be a serious bug because with the current logic the final EL133UF1_POF to disable power is not properly sent (or more accurately it is sent while the panel is in the middle of updating and not captured) and so power might be left on the panel without the proper POF being executed to turn off the power driver logic.

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