Skip to content

feat: Fan curve profiles and presets #16

@cursor

Description

@cursor

Feature Description

Pre-configured fan curve profiles for different use cases.

Proposed Profiles

1. Silent Mode

  • Prioritize quietness
  • Fans run slower
  • Accept higher temps
  • Smooth curves

2. Balanced Mode

  • Optimal noise/performance
  • Standard curves
  • Default recommendation

3. Performance Mode

  • Maximum cooling
  • Aggressive curves
  • Fans ramp up quickly
  • Noise not a concern

4. Custom Profiles

  • User-created curves
  • Save up to 5 custom profiles
  • Name and description
  • Share profiles (export/import JSON)

Implementation

Storage

  • Store profiles in flash
  • Active profile selection
  • Profile switching via USB

CLI

pico-fan-ctl profile list
pico-fan-ctl profile set silent
pico-fan-ctl profile set performance
pico-fan-ctl profile create my-gaming
pico-fan-ctl profile export my-gaming > profile.json
pico-fan-ctl profile import < profile.json

Profile Format

{
  "name": "Silent",
  "curves": [
    {"temp": 20, "pwm": 30},
    {"temp": 40, "pwm": 50},
    {"temp": 60, "pwm": 80}
  ],
  "rgb": "breathing_blue"
}

Priority

Medium - Great UX improvement

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