merging the recent gyro board code updates in

I'm merging the wrong way in the middle because the merge is complicated
because there are changes to things that got split out into different
files.