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
|
/*
* Copyright (C) 2012 Red Hat, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors: Michal Minar <miminar@redhat.com>
*/
[ Provider("cmpi:cmpiLMI_Fan") ]
class LMI_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;
};
[ Provider("cmpi:cmpiLMI_Fan") ]
class LMI_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;
};
[ Association,
Provider("cmpi:cmpiLMI_Fan") ]
class LMI_FanAssociatedSensor: CIM_AssociatedSensor
{
[ Override("Antecedent") ]
LMI_FanSensor REF Antecedent;
[ Override("Dependent") ]
LMI_Fan REF Dependent;
};
|