a driver for the Pericom PI4IOE5V6408 I2C GPIO extender; #18607
easytarget
started this conversation in
General
Replies: 2 comments 1 reply
-
|
Great work. I think that MicroPython based drivers are often preferable over C(pp) based ones if speed is not the constraint. To make it simpler to install you might want to add a section to your readme to install using |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
A Christmas present :-) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have a ESP32-P4 board (M5Stack Tab5) which uses two PI4IOE5V6408 I2C GPIO extenders for some internal power management, sense and reset pins. I want to run vanilla
1.27.0on this board, rather than the slightly random and old ports I find online, but without control of these IO pins I was dead in the water.So I sat down and wrote a full driver for this chip:
https://codeberg.org/easytarget/pi4ioe5v6408-micropython
With this you can (say) enable the WLAN co-processor with:
The official toolchains, and the UiFlow (micropython 1.25 based) code have binary blobs added to init and other functions to enable and disable things like the WLAN co-processor, usb power, battery charging etc. I want to sidestep all that and use a vanilla official release starting with 1.27.0 (the first release with official esp32-p4 support).
This driver is full featured, it supports directionality, impedance, bias, interrupts and some debug. See the README for full usage and operation details. I think it is quite well written, I could not find any existing python examples for this device, so I wrote this from scratch using just the datasheet and my Tab5 to experiment on.
I am using this as the basis for a Tab5 'power gpio' library to give simple access to all the 'hidden' gpio toggles on the Tab5, and also documenting as much as I can, it's still a bit Work In Progress. See Here:
Beta Was this translation helpful? Give feedback.
All reactions