meshtastic / firmware

Meshtastic device firmware
https://meshtastic.org
GNU General Public License v3.0
3.62k stars 904 forks source link

Issue5194 external notification module refactor #5384

Open Blake-Latchford opened 4 days ago

Blake-Latchford commented 4 days ago

Centralize ExternalNotificationModule LED handling

This PR attemtps to take a small step towards addressing issue 5194 by de-duplicating LED handling code within ExternalNotificationModule. I also refactored the color state code around an alpha channel approach.

Blake-Latchford commented 4 days ago

Flashed to my Heltek v3, and I updated the variant locally to drive some unused pins as LEDs. Logging verified that on startup the LED was disabled. I'm currently trying to figure out how to simulate message reception given that I only own one node right now.

INFO  | ??:??:?? 1 [ExternalNotification] Turning off external notification: 
DEBUG | ??:??:?? 1 [ExternalNotification] setLEDs red=0, green=0, blue=0
INFO  | ??:??:?? 1 [ExternalNotification] 0 
DEBUG | ??:??:?? 1 [ExternalNotification] setLEDs red=0, green=0, blue=0
INFO  | ??:??:?? 1 [ExternalNotification] 1 
DEBUG | ??:??:?? 1 [ExternalNotification] setLEDs red=0, green=0, blue=0
INFO  | ??:??:?? 1 [ExternalNotification] 2
INFO  | ??:??:?? 1 [ExternalNotification]