-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hyperpixel and i2c devices on pi4 #191
Comments
I have the same issue after enabling raspicam. |
Yeah similar fight getting HyperPixel4 Touch Rectangular working with a PiJuice Hat. Probably a bit too ambitious but I think there are sufficient pins if I can just remap where they are talking. These docs from Raspberry Pi about DPI is helpful: As well as this whitepaper has some details about different colour modes in the protocol that reduce the number of pins required. Just depends if the Hyperpixel4 supports those colour modes. Here are some key extracts from the whitepaper where they mention specifically the Hyperpixel4 So, whilst not helpful with the i2c part, this config maps the old config to the new format which might expose some new options to experiment with I hope? # OLD
# dtoverlay=hyperpixel4
# dpi_timings=480 0 10 16 59 800 0 15 113 15 0 0 0 60 0 32000000 6
# dpi_timings=<hactive> <h_sync_polarity> <hfp> <hsync> <hbp> <vactive> <v_sync_polarity> <vfp> <vsync> <vbp> <n/a> <n/a> <n/a> <n/a> <n/a> <clockfrequency> <n/a>
# NEW
dtoverlay=vc4-kms-dpi-generic
dtparam=hactive=480,hfp=10,hsync=16,hbp=59
dtparam=vactive=800,vfp=15,vsync=113,vbp=15
dtparam=clock-frequency=32000000
# OLD
# dpi_output_format=0x7f216
# NEW
dtparam=hsync-invert,vsync-invert,pixclk-invert
dtparam=rgb666-padhi |
Pinouts collideActually upon reading this pinout page: And: It looks like the direct 40 pin stacking collides on GPIO pins 3,5. 😭 Exposed I2C PassthroughAlthough the Hyperpixel4 exposes 5 pinouts on the underside of the board: That pass through might be your best bet to getting extra I2C devices talking. But there isn't exactly instructions on how to get that working. |
https://github.com/PiSupply/PiJuice/blob/master/README.md#technical-specs-summary
I might be in luck here to set up the PiJuice Hat to get out of the way of the Hyperpixel4. |
I'm just wondering why the screen wont work as soon as I turn on I2C using |
radio-config enables an i2c bus on specific pins- so you’re telling your Pi to use the display vsync and hsync pins as i2c. They can’t do both. i2c - on the touch pins- is already provided by the HyperPixel driver. It should be visible as “/dev/i2cN” but since most software assumes 1 you might need to symlink that to avoid modifying the software itself. You might also IIRC need to “modprobe i2c-dev” for the device node to show up. |
Bookworm Config Location ChangedSo it took me longer than it should have to realise that using Raspbian Bookworm, they moved This is my config for the Hyperpixel4 touch on Rasbian Bookworm and it "just works".
Simple i2c testing with BME680Regarding this comment:
@Gadgetoid did you mean this new driver provided by Raspbian handles this too? Any ideas where this new driver is being maintained? I scaled back my testing from the PiJuice to just using a BME680 environmental sensor and a JST-PH to male DuPont connector on the underside Hyperpixel4 i2c connector. This device in theory should have an address of I run: $ ls /dev/i2c*
/dev/i2c-20
/dev/i2c-21
/dev/i2c-22
I ran: modprobe i2c-dev
i2c-detect -y 22 I didn't capture the output but I couldn't see anything that would indicate a device with address (I'll take some time on the weekend to try again and update this issue with exact output.) UPDATE: I tried what few I2C devices I had on the port but also on the bare RPi4 and they didn't work.... I think they may have had the magic smoke at some point. I'm ordering some new sensors and will update after that. I think that |
Hello, i am trying to use i2c devices on a pi4 with a hyperpixel4 rectangular screen.
I have this config in /boot/config.txt :
dtoverlay=vc4-kms-dpi-hyperpixel4,rotate=180
When i enable i2c in /boot/config.txt the screen stop working.
I have also try creating another i2c port by adding :
dtoverlay=i2c-gpio,bus=3,i2c_gpio_delay_us=1,i2c_gpio_sda=17,i2c_gpio_scl=27
How can i use i2c device and the hyperpixel ? Thanks.
The text was updated successfully, but these errors were encountered: