@@ -97,6 +97,21 @@ public string SerialNumber
97
97
}
98
98
}
99
99
100
+ /// <summary>
101
+ /// Gets a value indicating whether Raspberry Pi board is overclocked.
102
+ /// </summary>
103
+ /// <value>
104
+ /// <c>true</c> if Raspberry Pi is overclocked; otherwise, <c>false</c>.
105
+ /// </value>
106
+ public bool IsOverclocked
107
+ {
108
+ get
109
+ {
110
+ var firmware = Firmware ;
111
+ return ( firmware & 0xFFFF0000 ) != 0 ;
112
+ }
113
+ }
114
+
100
115
/// <summary>
101
116
/// Gets the model.
102
117
/// </summary>
@@ -106,7 +121,7 @@ public char Model
106
121
get
107
122
{
108
123
var firmware = Firmware ;
109
- switch ( firmware )
124
+ switch ( firmware & 0xFFFF )
110
125
{
111
126
case 0x7 :
112
127
case 0x8 :
@@ -121,6 +136,7 @@ public char Model
121
136
case 0xd :
122
137
case 0xe :
123
138
case 0xf :
139
+ case 0x10 :
124
140
return 'B' ;
125
141
126
142
default :
@@ -138,7 +154,7 @@ public int Revision
138
154
get
139
155
{
140
156
var firmware = Firmware ;
141
- switch ( firmware )
157
+ switch ( firmware & 0xFFFF )
142
158
{
143
159
case 0x7 :
144
160
case 0x8 :
@@ -157,6 +173,9 @@ public int Revision
157
173
case 0xf :
158
174
return 2 ; // Model B, rev2
159
175
176
+ case 0x10 :
177
+ return 3 ; // Model B+, rev3
178
+
160
179
default :
161
180
return 0 ; // Unknown
162
181
}
@@ -177,10 +196,9 @@ private static Board LoadBoard()
177
196
. Select ( l =>
178
197
{
179
198
var separator = l . IndexOf ( ':' ) ;
180
- if ( separator < 0 )
181
- return new KeyValuePair < string , string > ( l , null ) ;
182
- else
183
- return new KeyValuePair < string , string > ( l . Substring ( 0 , separator ) . Trim ( ) , l . Substring ( separator + 1 ) . Trim ( ) ) ;
199
+ return separator >= 0
200
+ ? new KeyValuePair < string , string > ( l . Substring ( 0 , separator ) . Trim ( ) , l . Substring ( separator + 1 ) . Trim ( ) )
201
+ : new KeyValuePair < string , string > ( l , null ) ;
184
202
} )
185
203
. ToDictionary ( p => p . Key , p => p . Value ) ;
186
204
0 commit comments