summaryrefslogtreecommitdiffstats
path: root/mof/Cura_Fan.mof
blob: b632889c70e2a92116a23a73ecb1b2b5061170ba (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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;

};