Releases: adafruit/Adafruit_Protomatter
1.7.0
What's Changed
- Fix IDF 5 compilation error by @tannewt in #67
- Fix non-s3 idf5 compile by @tannewt in #68
- Update CircuitPython implementation to ESP-IDF 5.1 APIs by @tannewt in #73
- Update for arduino esp32 3.0.0-rc1 by @jepler in #75
- Enable RP2350 with same code as RP2040 by @tannewt in #80
- STATIC -> static in stm32.h by @dhalbert in #82
New Contributors
Full Changelog: 1.6.1...1.7.0
Some ESP32-S3 Adjustments
GPIO drive strength is changed. Pixel clock is reduced slightly from 20 MHz to ~17.8 MHz. This should be less prone to visual glitches, though refresh rate might be affected with long chains and/or high bit depths. If this is an issue, reducing bit depth by 1 can help.
Changes here apply to ESP32-S3 only; no other devices are affected.
M4: Adjustable clock duty cycle
This update allows a slight degree of adjustment to the duty cycle of the HUB75 pixel clock signal. Currently only SAMD51 (M4) incorporates this change. This may help in supporting a wider range of RGB matrices, some of which are persnickety about the shape of the clock signal. Default settings should work for the current P4 64x32 matrices. Older matrices might want slightly higher settings.
Duty can be adjusted with a call to
matrix.setDuty(n);
where 'n' is (for different F_CPU settings):
- 120 MHz: 0–2 range, default 0
- 150 MHz: 0–3 range, default 1
- 180 MHz: 0–4 range, default 1
- 200 MHz: 0–5 range, default 2
'n' is related to CPU clock cycles, but the percentage range of duty cycles isn't the same for each F_CPU. Best to experiment through trial and error. Adding the following in one’s loop() function may help:
int c = Serial.read();
if (c >= '0') matrix.setDuty(c - '0');
M4 Timing Adjustments for Broader Matrix Compatibility
Seems to fix issues on newer P4 and P5 matrices with MatrixPortal M4. NOPs were adjusted to better aim for 20 MHz 50% duty cycle CLK, confirmed on logic analyzer and tested against a range of matrices both old and new.
ESP32-S3: reduce flicker on long chains
1.5.9 Adjust _PM_timerGetCount() fudge constant on ESP32-S3
Fix doublebuffer_scrolltext example for ESP32 boards update
Merge pull request #62 from adafruit/pb-s3-example-fix Fix doublebuffer_scrolltext example on Matrix Portal S3
Update examples for MatrixPortal S3 rev C pinout
1.5.7 Examples: update MatrixPortal S3 pins for rev C schematic
ESP32-S3 CI fixes
1.5.6 Update library.properties for ESP32-S3 fixes
Update examples for MatrixPortal ESP32-S3
Requires updated Arduino ESP32 core at such time it also supports this board, but the examples are tested and ready.
ESP32-S2 + matrix shield in simple example
1.5.4 Bump version for ESP32-S2 + matrix shield in example