Replies: 1 comment 1 reply
-
FWIW there's a C++ library to do this already that uses this PTM command rather than accessing i2c directly. (I also ported/translated the library to Rust as a demo of my IPC lib but I never published it cause it was janky). I'm in favour of exposing the LED stuff in ctru-rs but using the PTM command might be nicer, since I think MCU services are more limited? The wiki says that there can only be one session open per MCU service vs PTM allowing 24 sessions. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The notification LED (and more precisely the MCU) allows for animations to be played on the notification LED. (this is the direct way to do this, without patching the
news
service like CTRRGBPAT or similiar homebrew does).All that is needed is a handle to mcu:HWC to write arbitrary data to an i2c address.
The address is 0x2D and you need to write a 100 byte buffer.
The first 4 bytes are stuff like delay between colors, smoothing, repeat etc, and the remaining 96 bytes is a planar RGB buffer of 32 colors.
It would be nice to provide an interface for this, as it's a very nice piece of hardware just like the QTM, MVD, volume/3D sliders.
i made a quick crate and wrapped
mcuhwc
inctru-rs
on another branch, and it all works.The point of this discussion is to ask whether such infrastructure (the animation code, not the
mcuhwc
service) should be included withctru-rs
or be an entirely separate crate.edit: here's the demo
PXL_20231031_160159027.TS.mp4
Beta Was this translation helpful? Give feedback.
All reactions