diff options
Diffstat (limited to 'mof/Cura_Fan.mof')
-rw-r--r-- | mof/Cura_Fan.mof | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/mof/Cura_Fan.mof b/mof/Cura_Fan.mof new file mode 100644 index 0000000..b632889 --- /dev/null +++ b/mof/Cura_Fan.mof @@ -0,0 +1,112 @@ +// +// Cura_Fan.mof +// + +#pragma locale ("en_US") +//#pragma namespace ("root/cimv2") + +// =================================================================== +// Cura_Fan +// =================================================================== + +[ Provider("cmpi:cmpiCura_FanProvider") ] +class Cura_Fan : CIM_Fan { + + [ Key, Override("DeviceID"), + Description("Uniquely identifies fan. It is a composition of + SysPath and Name glued with slash ('/').") ] + string DeviceID; + + [ Override("Name"), + Description("Name of fan provided by system.") ] + string Name; + + [ Description("Array of fan features, that are exposed through system + interface. In other words: those that are readible/writable."), + ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, + Values { "MinSpeed", "MaxSpeed", "Divisor", "Pulses", "Beep", + "Alarm", "MinAlarm", "MaxAlarm" } + ] + uint16 AccessibleFeatures[]; + + [ Description("Minimum speed value."), + Write, + Units("Revolutions per Minute") ] + uint64 MinSpeed; + + [ Description("Maximum speed value."), + Write, + Units("Revolutions per Minute") ] + uint64 MaxSpeed; + + [ Description("Fan divisisor. It affects Minimum and Maximum speed value + and accuracy of readings. + The drivers account for the 'fan divisor' in their calculation + of RPM. So changing the fan divisor will NOT change the + nominal RPM reading, it will only affect the minimum and maximum + readings and the accuracy of the readings. + The actual formula is RPM = (60 * 22500) / (count * divisor)"), + Write ] + uint32 Divisor; + + [ Description("Number of tachometer pulses per fan revolution. + Integer value, typically between 1 and 4. + This value is a characteristic of the fan connected to the + device's input, so it has to be set in accordance with the fan + model."), + Write ] + uint32 Pulses; + + [ Description("This indicates, whether a PC's speaker should beep + when an alarm occurs."), + Write ] + boolean Beep; + + [ Description("ALARM warning indicating, that current speed is out of + range. This information is supplied by fan's chip driver.") ] + boolean Alarm; + + [ Description("ALARM warning indicating, that current speed is below + the critical level. This information is supplied by fan's chip driver.") + ] + boolean MinAlarm; + + [ Description("ALARM warning indicating, that current speed is above + the critical level. This information is supplied by fan's chip driver.") + ] + boolean MaxAlarm; + +}; + +// =================================================================== +// Cura_FanSensor +// =================================================================== +[ Provider("cmpi:cmpiCura_FanSensorProvider") ] +class Cura_FanSensor : CIM_NumericSensor { + + [ Key, Override("DeviceID"), + Description("Uniquely identifies fan. It is a composition of + SysPath and Name glued with slash ('/').") ] + string DeviceID; + + [ Override("Name"), + Description("Name of fan provided by system.") ] + string Name; + +}; + + +// =================================================================== +// Associations +// =================================================================== +[ Association, + Provider("cmpi:cmpiCura_FanAssociatedSensorProvider") ] +class Cura_FanAssociatedSensor : CIM_AssociatedSensor { + + [ Override("Antecedent") ] + Cura_FanSensor REF Antecedent; + + [ Override("Dependent") ] + Cura_Fan REF Dependent; + +}; |