Tidied up, switched device name to #define
Added I2C support, thoroughly broke RPi support in the process