Skip to content

Many functions documented to return booleans are returning None. #8

Closed
@Human

Description

@Human

On a Raspberry Pi running RaspiOS Bookworm (Debian 12) with sparkfun-qwiic-serlcd installed, many functions documented to return bool are returning None.

setCursor() returns None, as do writeChar(), setFastBacklight(), disableSystemMessages(), setContrast(), and clearScreen(). The issue ultimately lies with the calls to self._i2c.writeByte() within qwiic_serlcd.py. It doesn't seem as if the available Python I2C drivers will return bool from writeByte() yet qwiic_serlcd.py appears to have been written as if they do this.

Incidentally, print() always returns True because its call to self._i2c.writeCommand() in qwiic_serlcd.py compares the None from writeCommand() to False and returns True by default. So it has the same root cause bug, but the surface manifestation is different.

The demo code appears to have been written with the understanding that these functions won't return bool as well - they just make the calls and hope they were successful.

At the very least, code function and documentation should match. It'd be ideal if we actually could get a bool back from these functions to know if the operation completed successfully. Maybe we could all avoid all these sleep() commands to reduce the number of OSError exceptions thrown by the library because we can't tell if the device is ready for the next command.

Metadata

Metadata

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