Tuesday, 15 July 2014

Raspberry Pi Model B+ version detection

First, the good news. Existing code that relies on my revision detector script will work with Raspberry Pi Model B+.

I'd forgotten how hacky my version detection code was. It assumes that if a board isn't revision 1, it must be revision 2.

Here's the contents of /proc/cpuinfo for the new boards >>

So the current detector thinks that boards are rev 2, and existing code will work because the layout for the first 26 pins on the Raspberry Pi header has not changed.

What the current code won't do is let you know that you've got an extra 14 pins to play with.

Fixing this requires two sorts of change: one to the detector (which is easy) and one to whatever code is using it.

I'll take a look later in the week at what work will be needed to get the Quick2Wire GPIO code to give access to the extra pins, but before that I will check that current I2C code works OK. That too will need a (trivial) change to work correctly with a version of the detector that distinguishes between rev 1, rev 2 and B+ configurations.

Again, if you're interested, follow @rareblog on twitter or +RAREBlog on G+ to see the results.