Skip to content
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

Migration to Pi 5 / Bookworm Progress #16

Open
Gadgetoid opened this issue Nov 22, 2023 · 4 comments
Open

Migration to Pi 5 / Bookworm Progress #16

Gadgetoid opened this issue Nov 22, 2023 · 4 comments

Comments

@Gadgetoid
Copy link
Member

Gadgetoid commented Nov 22, 2023

Library Repackaging Progress

This is an overview of our Python going concerns. Not all of these may need repackaging or be possible to repackage, and some of them might work with Pi 5 / Bookworm already, or with minor tweaks.

  • The 🛍️ icons both denote a product which is live on our shop, and link to it
  • The ❓ icons denote a product that may need special consideration, may simple be obsolete, need archiving or justification
  • The ⚠️ icons denote a product which has significant challenges for migration

Repackaged libraries should:

  1. Be synced with the latest boilerplate from Raspberry Pi OS Bookworm + Pep 668 #13
  2. Have any QA issues addressed, tests updated etc
  3. Have any dependencies on RPi.GPIO removed in favour of gpiodevice and gpiod
  4. Switch from smbus to smbus2
  5. Be tentatively linted with black for better code consistency
  6. Where possible be updated to use f"{var}" instead of "{var}".format()
  7. Don't forget to fix the README badges!
  8. Raise as a PR with testing instructions and allow to mellow
  9. Tested, merged and "master" branch renamed to "main"
  10. Released with a major version bump

Useful Links

Individual Sensor Drivers

Library Done GitHub Shop Notes
ads1015 https://github.com/pimoroni/ads1015-python 🛍️
apa102 https://github.com/pimoroni/apa102-python pimoroni/apa102-python#9
apds9500 https://github.com/pimoroni/apds9500-python ❓ Do we use this?
as7262 https://github.com/pimoroni/as7262-python 🛍️ pimoroni/as7262-python#10
as7343 https://github.com/pimoroni/as7343-python ⚠️ could not publish as as7434? see: pypi/support#3556 Published as: https://pypi.org/project/pimoroni-as7343/
bh1745 https://github.com/pimoroni/bh1745-python 🛍️ pimoroni/bh1745-python#9
bme280 https://github.com/pimoroni/bme280-python 🛍️ used by Enviro+
bme680 https://github.com/pimoroni/bme680-python 🛍️ pimoroni/bme680-python#50
bmp280 https://github.com/pimoroni/bmp280-python 🛍️ pimoroni/bmp280-python#12
cap1xxx https://github.com/pimoroni/cap1xxx Used by Explorer HAT, Touch pHAT, pimoroni/cap1xxx-python#23
drv2605 https://github.com/pimoroni/drv2605-python 🛍️ pimoroni/drv2605-python#7
drv8830 https://github.com/pimoroni/drv8830-python 🛍️ pimoroni/drv8830-python#6
ht0740 https://github.com/pimoroni/ht0740-python 🛍️
icm20948 https://github.com/pimoroni/icm20948-python 🛍️ pimoroni/icm20948-python#22
icp10125 https://github.com/pimoroni/icp10125-python 🛍️ pimoroni/icp10125-python#3
ina220 https://github.com/pimoroni/ina220-python Was used by unreleased LED Strip HAT❓Archive
ioe https://github.com/pimoroni/ioe-python 🛍️ pimoroni/ioe-python#26
lsm303d https://github.com/pimoroni/lsm303d-python
ltr559 https://github.com/pimoroni/ltr559-python 🛍️
max30105 https://github.com/pimoroni/max30105-python 🛍️ pimoroni/max30105-python#11
mcp9600 https://github.com/pimoroni/mcp9600-python 🛍️ pimoroni/mcp9600-python#11
mics6814 https://github.com/pimoroni/mics6814-python 🛍️
mlx90640 https://github.com/pimoroni/mlx90640-library 🛍️ ⚠️ C?
msa301 https://github.com/pimoroni/msa301-python 🛍️ pimoroni/msa301-python#5
pa1010d https://github.com/pimoroni/pa1010d-python 🛍️ pimoroni/pa1010d-python#19
pms5003 https://github.com/pimoroni/pms5003-python 🛍️ Updated release with gpiodevice v0.0.4 for (LineRequest, offset) support.
pmw3901 https://github.com/pimoroni/pmw3901-python 🛍️ pimoroni/pmw3901-python#17
rv3028 https://github.com/pimoroni/rv3028-python 🛍️ pimoroni/rv3028-python#14
rv3032 https://github.com/pimoroni/rv3032-python
scd4x https://github.com/pimoroni/scd4x-python 🛍️ pimoroni/scd4x-python#6
sgp30 https://github.com/pimoroni/sgp30-python 🛍️ pimoroni/sgp30-python#14
sn3218 https://github.com/pimoroni/sn3218-python pimoroni/sn3218-python#2
tcs3472 https://github.com/pimoroni/tcs3472-python Enviro pHAT has a vendored copy
tmc5130a ??
tmp117 https://github.com/pimoroni/tmp117-python Was used on a breakout? Not on shop, EOL? ❓
trackball https://github.com/pimoroni/trackball-python 🛍️ pimoroni/trackball-python#11
veml6075 https://github.com/pimoroni/veml6075-python Was used on a breakout? Not on shop, EOL? ❓
vl53l1x https://github.com/pimoroni/vl53l1x-python 🛍️
vl53l5cx https://github.com/pimoroni/vl53l5cx-python 🛍️

LCD / LED / OLED

Library Done GitHub Shop Notes
ltp305 https://github.com/pimoroni/ltp305-python 🛍️ Used by Dot matrix breakout
matrix11x7 https://github.com/pimoroni/matrix11x7-python 🛍️
rgbmatrix5x5 https://github.com/pimoroni/rgbmatrix5x5-python 🛍️
sh1106 https://github.com/pimoroni/sh1106-python
st7036 https://github.com/pimoroni/st7036 ❓ Used by Display-o-Tron 3000
st7735 https://github.com/pimoroni/st7735-python 🛍️ Used by Enviro+, Grow
st7789 https://github.com/pimoroni/st7789-python Used by Weather HAT, Pirate Audio

Products, Boards

Library Done GitHub Shop Notes
Automation HAT https://github.com/pimoroni/automation-hat 🛍️ pimoroni/automation-hat#59
blinkt https://github.com/pimoroni/blinkt 🛍️ pimoroni/blinkt#102 (Refactor to APA102 lib?)
Button SHIM https://github.com/pimoroni/button-shim 🛍️
Display HAT Mini https://github.com/pimoroni/displayhatmini-python 🛍️
Encoder Wheel https://github.com/pimoroni/encoderwheel-python 🛍️
enviro https://github.com/pimoroni/enviroplus-python 🛍️ pimoroni/enviroplus-python#126
Enviro pHAT https://github.com/pimoroni/enviro-phat 🛍️
Explorer HAT https://github.com/pimoroni/explorer-hat 🛍️
GFX HAT https://github.com/pimoroni/gfx-hat 🛍️
grow https://github.com/pimoroni/grow-python 🛍️ pimoroni/grow-python#36 ⚠️ Pulse counting & PWM needed here
inky https://github.com/pimoroni/inky 🛍️ pimoroni/inky#182 ⚠️ I can't seem to get any of my Impressions boards to work.
Inky Dev https://github.com/pimoroni/inkydev-python 🛍️
Inventor HAT Mini https://github.com/pimoroni/inventorhatmini-python 🛍️ ⚠️ WS281x LEDs currently unsupported on Pi 5
Pirate Audio https://github.com/pimoroni/pirate-audio 🛍️
Plasma https://github.com/pimoroni/plasma Used for Picade
Scroll pHAT HD / Mini https://github.com/pimoroni/scroll-phat-hd 🛍️
Unicorn HAT Mini https://github.com/pimoroni/unicornhatmini-python 🛍️
Weather HAT https://github.com/pimoroni/weatherhat-python 🛍️

Unsure/Old/Deprecated?

Library Done GitHub Shop Notes
Display-o-Tron https://github.com/pimoroni/displayotro ❓Archive
Drum HAT https://github.com/pimoroni/drum-hat ❓Archive
Fan SHIM https://github.com/pimoroni/fanshim-python 🛍️ ⚠️ redundant on Pi 5 ❓Archive
Four Letter pHAT https://github.com/pimoroni/fourletter-phat ❓Archive
Keybow https://github.com/pimoroni/keybow-python ❓Archive
LED SHIM https://github.com/pimoroni/led-shim ❓Archive pimoroni/led-shim#15
MicroDot pHAT https://github.com/pimoroni/microdot-phat ❓Archive
Mote https://github.com/pimoroni/mote ❓Archive
Mote pHAT https://github.com/pimoroni/mote-phat 🛍️ ❓Archive
Pan Tilt HAT https://github.com/pimoroni/pantilt-hat 🛍️
pHAT Beat https://github.com/pimoroni/phat-beat ❓Archive
Piano HAT https://github.com/pimoroni/Piano-HAT ❓Archive
PiGlow https://github.com/pimoroni/piglow ❓Archive
Rainbow HAT https://github.com/pimoroni/rainbow-hat ❓Archive
Scroll pHAT https://github.com/pimoroni/scroll-phat ❓Archive
Skywriter HAT https://github.com/pimoroni/skywriter-hat ❓Archive
Touch pHAT https://github.com/pimoroni/touch-phat ❓Archive
Unicorn HAT https://github.com/pimoroni/unicorn-hat ⚠️ Needs rpi_ws281x ❓Archive

Other

Library Done GitHub PR
Fonts https://github.com/pimoroni/fonts-python
Mopidy PiDi https://github.com/pimoroni/mopidy-pidi
PiDi https://github.com/pimoroni/pidi
PiDi Plugins https://github.com/pimoroni/pidi-plugins
PiDi Spotify https://github.com/pimoroni/pidi-spotify
@Gadgetoid
Copy link
Member Author

Gadgetoid commented Jan 11, 2024

Progress has been slowed somewhat by working some improvements (and bugfixes) back into the upstream boilerplate and rolling those out to all previously updated libraries-

Bugs / Improvements 😭

  • 🟢 The installer shows Running setup commands... and Running: "" even if there are no setup commands
  • 🟢 There's no hint how the HTML docs generated by 'pdoc' should be viewed- eg: cd ~/Pimoroni/drv8830/docs; python3 -m http.server

This was referenced Feb 13, 2024
@bjoernbusch
Copy link

It would be awesome, if phatbeat could see a last update to bookworm. I understand that the hardware is not really sold anymore, but the hardware out there is still working.

@Gadgetoid
Copy link
Member Author

It would be awesome, if phatbeat could see a last update to bookworm. I understand that the hardware is not really sold anymore, but the hardware out there is still working.

A plain library port wouldn't be too hard- it's just a bunch of buttons and the LEDs are SPI/APA102 (for which there's a separate library that will definitely see a Bookworm/Pi 5 port. But the plain library is a bit meh with pHAT BEAT- the biggest challenge is getting VU information out of whatever now passes for an audio stack. I started trying to get things working with Pulse Audio in https://github.com/pimoroni/pivumeter-pulseaudio but I think the Pi uses PipeWire now so it'll have to start again since from my brief brushes with PipeWire it makes this kinda stuff ... maybe... easier.

@bjoernbusch
Copy link

bjoernbusch commented Apr 29, 2024

So getting the pulseaudio to work is not just a little bit of configuration when I understand you correctly? (pimoroni/phat-beat#43) just the audio output

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants