Skip to content

feat: Logging and diagnostics #21

@cursor

Description

@cursor

Feature Description

Implement comprehensive logging and diagnostic features.

Firmware Logging

Event Types

  • Startup/Reset events
  • Fan state changes (connected/disconnected)
  • USB connection/disconnection
  • Configuration changes
  • Errors and warnings
  • Temperature readings

Storage

  • Ring buffer in RAM (last 100 events)
  • Optional: Flash storage (persistent log)
  • Timestamps using RTC or uptime

Access

pico-fan-ctl log show
pico-fan-ctl log clear
pico-fan-ctl log export > fanlog.txt

Diagnostics

Self-Test

pico-fan-ctl diag self-test

Tests:

  • PWM output verification
  • Tachometer input test
  • RGB LED test pattern
  • USB communication test
  • Sensor communication (if present)
  • Voltage level checks

Statistics

  • Uptime
  • Total runtime hours per fan
  • Fan start/stop cycles
  • Error count
  • USB reconnection count
  • Temperature history (min/max)

Debug Mode

  • Verbose USB reports
  • Continuous monitoring
  • Performance metrics
  • Memory usage

Linux Integration

syslog

  • Critical events to syslog
  • journalctl -u pico-fan-hub

hwmon

/sys/class/hwmon/hwmonX/
  fan1_alarm    # Fan failure status
  intrusion0    # Error conditions

Priority

Medium - Important for troubleshooting

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions