RGB LED Unit その2

UIFLOW の新しいバージョンで動作確認したのでメモ

v1.9.2 を使用

import unit

rgb0 = unit.get(unit.RGB,unit.PORTA)

# 全体の明るさ
rgb0.setBrightness(10)

# LED を個別に点灯
rgb0.setColor(1, 0xff0000)
rgb0.setColor(2, 0x00ff00)
rgb0.setColor(3, 0x0000ff)

# すべてのLEDを同じ色で点灯
rgb0.setColorAll(0xff0000)

# 範囲指定して LED を点灯
rgb0.setColorFrom(1, 3, 0xff0000)



# LED の点灯状態を固定する
# この状態で setColor 等を実行しても点灯状態は変化しない
rgb0.setShowLock(True)

# 点灯状態の固定を解除
# True のときに行われた変更を反映する(Matrix)
rgb0.setShowLock(False)

# True のときに行われた変更を反映する(M5Stack)
rgb0.show()

.setShowLock() の動作が M5Stack と ATOM Matrix で異なっていた。
UIFLOW のバージョンは v1.9.2-en と v1.9.2 なので同じと思われる。

M5Stack の方は .setShowLock(True) の状態でも、.show() を実行するとそれまでの変更内容がLEDの点灯状態に反映されるが、Matrix では反映されない。
.setShowLock(False)を実行した際、Matrix はそれまでの変更が反映されるが、M5Stack は変化せず。その後 .show() を実行することで反映される。

使う場合には注意したい。忘れそうだけど。