summaryrefslogtreecommitdiffstats
path: root/mof/Linux_FanSensor.mof
blob: a90a93daf3aa1cdaa1bc47ab99aa724aaf74f568 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//
// Linux_FanSensor.mof
//

#pragma locale ("en_US")
//#pragma namespace ("root/cimv2")

// ===================================================================
// 	Linux_Fan
// ===================================================================

[ Provider("cmpi:cmpiLinux_Fan") ]
class Linux_Fan : CIM_Fan {

     [ Key, Override("DeviceID"),
       Description("Uniquely identifies fan. It is a composition of
       SysPath and Name glued with slash ('/').") ]
     string DeviceId;

     [ Key, Override("Name"),
       Description("Name of fan.") ]
    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;

};