mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-10-23 13:12:26 +00:00
t096: shared PWM brightness for the heartbeat/TX LED (unpersisted)
Single LED (P0.28) doubles as heartbeat, message flash, shutdown flash and LoRa TX indicator, all sharing the same physical pin. Adds one PWM channel on that pin (heartbeat-pwm-led/lora-tx-pwm-led aliases) and a single 0-100 brightness knob (get/set led) covering every one of those events at once, deliberately RAM-only: resets to a 10% default on every reboot regardless of CLI changes made in a previous session. The existing persisted on/off gate (set leds on|off) is untouched. Boards without heartbeat-pwm-led/lora-tx-pwm-led aliases keep their current plain-GPIO behavior unchanged.
This commit is contained in:
1 parent
290b0c26b0
commit
2eb8a8e5b7
8 files changed
+210
-27
No files matched your search
@@ -34,6 +34,19 @@ bool zephcore_leds_disabled(void);
|
||||
* progress. Safe to call from any role, with or without a UI. */
|
||||
void zephcore_leds_set_disabled(bool disabled);
|
||||
|
||||
/* Shared PWM brightness (0-100) for boards whose heartbeat/TX LED is
|
||||
* PWM-capable (DT_ALIAS(heartbeat_pwm_led) / DT_ALIAS(lora_tx_pwm_led)).
|
||||
* Deliberately RAM-only, not persisted: resets to
|
||||
* ZEPHCORE_LED_DEFAULT_BRIGHTNESS_PCT on every reboot regardless of any
|
||||
* "set led <pct>" done during a previous session. Independent of the on/off
|
||||
* gate above: brightness only matters while the gate is open. No-op on
|
||||
* boards without a PWM-capable LED (the getter still returns the compiled
|
||||
* default, simply unused). */
|
||||
#define ZEPHCORE_LED_DEFAULT_BRIGHTNESS_PCT 10
|
||||
|
||||
uint8_t zephcore_led_brightness_pct(void);
|
||||
void zephcore_led_set_brightness_pct(uint8_t pct);
|
||||
|
||||
/* Called by zephcore_leds_set_disabled() after the flag changes. Weak no-op in
|
||||
* led_gate.c; helpers/ui/ui_common.c overrides it to stop/restart the heartbeat
|
||||
* cycle and refresh the UI's LED page. Not meant to be called directly. */
|
||||
|
||||
Reference in new issue
Block a user