Open ramonimbao opened 1 month ago
I'm happy to see more matrix types are supported :D
You can combine embedded_hal::spi
and MatrixTrait
to write a platform diagnostic 74HC595 matrix scanning algorithm. If you have any question about implementing it, just feel free to ask
If you knew Rust before, learning embedded stuff is not that hard. I think some basic embedded and spi protocol knowledge is all you need to implement it.
Was searching around for crates to reference and I found this crate: shiftreg-spi. It seems like exactly what's needed since it implements the OutputPin
trait. Does this mean we'll be able to mix it in with a normal matrix alongside other microcontroller GPIO pins? That's exactly how some of my boards are set up.
Was searching around for crates to reference and I found this crate: shiftreg-spi. It seems like exactly what's needed since it implements the OutputPin trait. Does this mean we'll be able to mix it in with a normal matrix alongside other microcontroller GPIO pins? That's exactly how some of my boards are set up.
Yes, it seems that you even don't need to change any RMK code. If I understand it correctly, you can just put the OutputPin
list to the matrix, that should work.
ZMK has support for 74HC595 shift registers as parts of its matrix scanning as of adding additional GPIO. This works really well for small boards with few GPIO available like the Seeed Studio XIAO NRF52840. I have boards here I can test for this. I'd like to be able to contribute but I am unfamiliar with embedded Rust, and my Rust skills are definitely rusty 😅