/// <summary>
 /// Write to the chip
 /// </summary>
 /// <param name='port'>
 /// Port to write to
 /// </param>
 /// <param name='value'>
 /// Value to write
 /// </param>
 public void Write(ADCPort port, byte value)
 {
     byte[] command = { I2CAddress, (byte)((byte)(port) | 0x40), value };
     I2CWrite(command, 0, true);
 }
		/// <summary>
		/// Write to the chip
		/// </summary>
		/// <param name='port'>
		/// Port to write to
		/// </param>
		/// <param name='value'>
		/// Value to write
		/// </param>
        public void Write(ADCPort port, byte value) {
            byte[] command = { I2CAddress, (byte) ((byte)(port) |0x40), value};
            I2CWrite(command, 0, true);
        }
 /// <summary>
 /// Read the value on the specified port
 /// </summary>
 /// <param name='port'>
 /// Port to read from
 /// </param>
 public byte Read(ADCPort port)
 {
     byte[] command = { I2CAddress, (byte)port };
     return(I2CWriteAndRead(command, 1)[0]);
 }
		/// <summary>
		/// Read the value on the specified port
		/// </summary>
		/// <param name='port'>
		/// Port to read from
		/// </param>
        public byte Read(ADCPort port) {
            byte[] command = {I2CAddress,(byte) port };
            return I2CWriteAndRead(command, 1)[0];
        }