-
Notifications
You must be signed in to change notification settings - Fork 606
Open
Labels
api-suggestionEarly API idea and discussion, it is NOT ready for implementationEarly API idea and discussion, it is NOT ready for implementationuntriaged
Description
Summary
Iot.Device.CharacterLcd.Lcd1602cannot drive AIP31068-based displays because the controller requires an extended initialization sequence and contrast configuration.- The new
Aip31068Lcdbinding lives outside the commonCharacterLcdabstraction, so samples and helpers that expectLcd1602remain incompatible.
Expected behavior
Developers should be able to instantiate Lcd1602 with an I²C transport targeting an AIP31068 controller and see the display initialize with the proper contrast/booster settings without patching the driver.
Actual behavior
Lcd1602 issues the standard HD44780 initialization sequence, which leaves AIP31068 displays blank or stuck with incorrect contrast. The higher-level CharacterLcd helpers therefore fail to work when the screen uses this controller.
Reproduction steps
- Connect an AIP31068-based 16x2 LCD (e.g., labeled "AIP31068" or "WS0010") over I²C at address 0x3E.
- Instantiate
Lcd1602with anI2cDeviceconfigured for that bus/address. - Run any of the CharacterLcd samples that target
Lcd1602. - Observe that the display never leaves the blank/low-contrast state because the extended initialization is missing.
Proposed fix
- Extend
Lcd1602so it can optionally execute the AIP31068 initialization flow (function set withIS=1, contrast parameters, booster enable, etc.). - Expose knobs for contrast and booster so the screen can be tuned at runtime.
- Update CharacterLcd samples/documentation to mention the capability and demonstrate its usage.
Additional context
- Reference: Controller datasheet describing the extended command set (AIP31068 / WS0010).
- Related work:
src/devices/CharacterLcd/Aip31068Lcd.csimplements the required sequence but is disconnected fromLcd1602.
Metadata
Metadata
Assignees
Labels
api-suggestionEarly API idea and discussion, it is NOT ready for implementationEarly API idea and discussion, it is NOT ready for implementationuntriaged