code: func (m *MCP23017Driver) write(reg uint8, pin uint8, val uint8) (err error) {
  	if debug {
  		log.Printf("write: MCP address: 0x%X, register:0x%X,value: 0x%X\n", m.GetAddressOrDefault(mcp23017Address), reg, val)
  	}
  	if _, err = m.connection.Write([]uint8{reg, val}); err != nil {
  		return err
  	}
  	return nil
  }
docs: // write gets the value of the passed in register, and then overwrites
  // the bit specified by the pin, with the given value.