# reTerminal DM4 LED Summary

## Total LEDs Available: 9

### User-Controllable LEDs: **2**

1. **`usr-led`** - User-controllable LED
   - Path: `/sys/class/leds/usr-led/brightness`
   - Max brightness: 1 (on/off)
   - Status: ✅ Controllable (may not be physically visible on all models)
   - Control: `echo 1 | sudo tee /sys/class/leds/usr-led/brightness` (ON)
   - Control: `echo 0 | sudo tee /sys/class/leds/usr-led/brightness` (OFF)

2. **`usr-buzzer`** - User-controllable buzzer (controlled like LED)
   - Path: `/sys/class/leds/usr-buzzer/brightness`
   - Max brightness: 1 (on/off)
   - Status: ✅ Controllable and confirmed working
   - Control: `echo 1 | sudo tee /sys/class/leds/usr-buzzer/brightness` (ON)
   - Control: `echo 0 | sudo tee /sys/class/leds/usr-buzzer/brightness` (OFF)
   - Note: This is actually a buzzer, not an LED, but uses the same control interface

---

### System-Controlled LEDs: **7**

These LEDs are managed by the system and typically not user-controllable:

1. **`ACT`** - Activity LED (SD card activity)
   - Path: `/sys/class/leds/ACT/brightness`
   - Max brightness: 1
   - Trigger: `mmc0` (blinks on SD card activity)
   - Status: System-controlled (read-only for users)

2. **`audio-pwr`** - Audio power LED
   - Path: `/sys/class/leds/audio-pwr/brightness`
   - Max brightness: 1
   - Trigger: `none`
   - Status: System-controlled (indicates audio power state)

3. **`default-on`** - Virtual LED (always on)
   - Path: `/sys/class/leds/default-on/brightness`
   - Max brightness: 255
   - Trigger: `default-on`
   - Status: System-controlled virtual LED

4. **`lcd-pwr`** - LCD power LED
   - Path: `/sys/class/leds/lcd-pwr/brightness`
   - Max brightness: 1
   - Trigger: `none`
   - Status: System-controlled (indicates LCD power state)

5. **`mmc0`** - SD card activity LED (primary)
   - Path: `/sys/class/leds/mmc0/brightness`
   - Max brightness: 255
   - Trigger: `mmc0` (blinks on SD card activity)
   - Status: System-controlled

6. **`mmc0::`** - SD card activity LED (secondary)
   - Path: `/sys/class/leds/mmc0::/brightness`
   - Max brightness: 255
   - Trigger: `mmc0` (blinks on SD card activity)
   - Status: System-controlled

7. **`PWR`** - Power LED
   - Path: `/sys/class/leds/PWR/brightness`
   - Max brightness: 1
   - Trigger: `default-on` (always on when powered)
   - Status: System-controlled (indicates power state)

---

## Summary

| Category | Count | LEDs |
|----------|-------|------|
| **User-Controllable** | **2** | `usr-led`, `usr-buzzer` |
| **System-Controlled** | **7** | `ACT`, `audio-pwr`, `default-on`, `lcd-pwr`, `mmc0`, `mmc0::`, `PWR` |
| **Total** | **9** | All LEDs in the system |

---

## Control Methods

### User-Controllable LEDs

**Both `usr-led` and `usr-buzzer` can be controlled using:**

```bash
# Turn ON
echo 1 | sudo tee /sys/class/leds/<led-name>/brightness

# Turn OFF
echo 0 | sudo tee /sys/class/leds/<led-name>/brightness

# Check status
cat /sys/class/leds/<led-name>/brightness
```

### System LEDs

System LEDs are typically read-only and controlled by the kernel/system. Attempting to control them may:
- Be ignored by the system
- Be overridden by system triggers
- Require disabling system triggers first (not recommended)

---

## Notes

1. **`usr-buzzer`** is technically a buzzer, not an LED, but uses the LED control interface
2. **`usr-led`** may not be physically visible on all reTerminal DM4 models
3. All LEDs require `sudo` for control (or proper udev rules/permissions)
4. System LEDs are best left to system control for proper functionality

---

## Quick Reference

```bash
# List all LEDs
ls /sys/class/leds/

# Check LED status
cat /sys/class/leds/<led-name>/brightness
cat /sys/class/leds/<led-name>/trigger

# Control user LEDs
echo 1 | sudo tee /sys/class/leds/usr-led/brightness      # LED ON
echo 0 | sudo tee /sys/class/leds/usr-led/brightness      # LED OFF
echo 1 | sudo tee /sys/class/leds/usr-buzzer/brightness   # Buzzer ON
echo 0 | sudo tee /sys/class/leds/usr-buzzer/brightness   # Buzzer OFF
```

---

## Related Documentation

- `LED-CONTROL-GUIDE.md` - Detailed LED control guide
- `LED-TROUBLESHOOTING.md` - Troubleshooting LED issues
- `FLASK-BUZZER-CONTROL.md` - Flask API for buzzer/LED control
- `BUZZER-TEST-GUIDE.md` - Buzzer testing guide
