@@ -139,7 +139,8 @@ public char Model
139
139
case 0x10 :
140
140
return 'B' ;
141
141
142
- case 0x1a01040 :
142
+ case 0x1040 :
143
+ case 0x1041 :
143
144
return '2' ;
144
145
145
146
default :
@@ -179,7 +180,8 @@ public int Revision
179
180
case 0x10 :
180
181
return 3 ; // Model B+, rev3
181
182
182
- case 0x1a01040 :
183
+ case 0x1040 :
184
+ case 0x1041 :
183
185
return 4 ;
184
186
185
187
default :
@@ -197,17 +199,30 @@ private static Board LoadBoard()
197
199
try
198
200
{
199
201
const string filePath = "/proc/cpuinfo" ;
200
- var settings = File . ReadAllLines ( filePath )
201
- . Where ( l => ! string . IsNullOrEmpty ( l ) )
202
- . Select ( l =>
202
+ string [ ] cpuInfo = File . ReadAllLines ( filePath ) ;
203
+ Dictionary < string , string > settings = new Dictionary < string , string > ( ) ;
204
+ string suffix = "" ;
205
+ foreach ( var l in cpuInfo )
206
+ {
207
+ var separator = l . IndexOf ( ':' ) ;
208
+ string key = l ;
209
+ string val = null ;
210
+ if ( ! string . IsNullOrWhiteSpace ( l ) && separator > 0 )
203
211
{
204
- var separator = l . IndexOf ( ':' ) ;
205
- return separator >= 0
206
- ? new KeyValuePair < string , string > ( l . Substring ( 0 , separator ) . Trim ( ) , l . Substring ( separator + 1 ) . Trim ( ) )
207
- : new KeyValuePair < string , string > ( l , null ) ;
208
- } )
209
- . ToDictionary ( p => p . Key , p => p . Value ) ;
210
-
212
+ key = l . Substring ( 0 , separator ) . Trim ( ) ;
213
+ val = l . Substring ( separator + 1 ) . Trim ( ) ;
214
+ if ( String . Compare ( key , "processor" , true ) == 0 )
215
+ {
216
+ suffix = "." + val ;
217
+ }
218
+ Console . WriteLine ( key + suffix + " = " + val ) ;
219
+ settings . Add ( key + suffix , val ) ;
220
+ }
221
+ else
222
+ {
223
+ suffix = "" ;
224
+ }
225
+ }
211
226
return new Board ( settings ) ;
212
227
}
213
228
catch
0 commit comments