i2c_shared functions now take i2cPorts structure as param (rather than externed).  Allows multiple i2c buses/