diff --git a/doc/Class.plantuml b/doc/Class.plantuml index ab80c6b..b9e76a1 100644 --- a/doc/Class.plantuml +++ b/doc/Class.plantuml @@ -1,81 +1,90 @@ @startuml -interface Sensor { - + {abstract} int Value() + +package sensor { + interface Sensor { + + {abstract} int Value() + } + + class LMSensor { + - string Label + + + int Value() + } + + class GPUSensor { + + int Value() + } + + class LMSensorsFacade + { + + List RPMSensors() + + List TemperatureSensors() + } + + class GPUSensorsFacade + { + + List TemperatureSensors() + } + + class SensorManager + { + - LMSensorsFacade + - GPUSensorsFacade + + + List RPMSensors() + + List TemperatureSensors() + } } -class LMSensor { - - string Label - - + int Value() -} - -class GPUSensor { - + int Value() -} - -class HWMONFan { - - string Label - - Sensor RPMSensor - - PWMControl PWMControl - - + int RPM() - + void PWMPercent(int value) -} - -class PWMControl { - + void PWMPercent(int value) - + int PWM() -} - -class PWMControlFacade { - + List PWMControls() -} - -class LMSensorsFacade +package fan { - + List RPMSensors() - + List TemperatureSensors() + class HWMONFan { + - string Label + - Sensor RPMSensor + - PWMControl PWMControl + + + int RPM() + + void PWMPercent(int value) + } + + class FanGenerator + { + + FanList FindFans(List, List) + } + + struct FanStep + { + int Temp + int Percent + } + + class FanCurve + { + - List Steps + - List TempSensor + - List Fan + + + DoFanControl() + } + + class FanController + { + - List + + + void StartFanControlLoop() + } } -class GPUSensorsFacade +package pwm { - + List TemperatureSensors() -} + class PWMControl { + + void PWMPercent(int value) + + int PWM() + } -class SensorManager -{ - - LMSensorsFacade - - GPUSensorsFacade - - + List RPMSensors() - + List TemperatureSensors() -} - -class FanGenerator -{ - + FanList FindFans(List, List) -} - -struct FanStep -{ - int Temp - int Percent -} - -class FanCurve -{ - - List Steps - - List TempSensor - - List Fan - - + DoFanControl() -} - -class FanController -{ - - List - - + void StartFanControlLoop() + class PWMControlFacade { + + List PWMControls() + } } class ConfigManager @@ -85,9 +94,9 @@ class ConfigManager HWMONFan -- Sensor HWMONFan -- PWMControl -HWMONFan - FanCurve +HWMONFan -- FanCurve -PWMControl -- PWMControlFacade +PWMControlFacade -- PWMControl Sensor <|-- LMSensor Sensor <|-- GPUSensor @@ -99,13 +108,12 @@ GPUSensor -- GPUSensorsFacade LMSensorsFacade -- SensorManager GPUSensorsFacade -- SensorManager -FanGenerator - HWMONFan -FanGenerator - SensorManager -FanGenerator - PWMControl +FanGenerator -- HWMONFan +FanGenerator -- SensorManager : uses > +FanGenerator -- PWMControlFacade : uses > Sensor - FanCurve FanCurve -- FanStep -FanCurve -- SensorAggregateFunction -FanController -- FanCurve +FanCurve -- FanController @enduml