void Max7312::init(unsigned char portDirection1, unsigned char portDirection2, unsigned char timeoutFlag) { initDataBuffers(); Wire.begin(); configPort1(portDirection1); configPort2(portDirection2); configTimeout(timeoutFlag); }
/** * initialize the Max7311 * @param portDirection1 default values of ports 0-7 (1 - input; 0 - output) * @param portDirection2 default values of ports 8-15 (1 - input; 0 - output) * @param timeoutFlag 1 enable Bus timeout, 0 disable Bus timeout */ void Max7312::init(unsigned char portDirection1, unsigned char portDirection2, unsigned char timeoutFlag) { initDataBuffers(); if ((fd = wiringPiI2CSetup (_chipAddress)) < 0) return; node = wiringPiNewNode (_pinBase, MAX7312_NUM_OF_PORTS) ; node->fd = fd ; node->pinMode = _configPortMax7312; node->digitalRead = _readPortMax7312; node->digitalWrite = _writePortMax7312; node->data1 = readPort1 () ; node->data2 = readPort2 () ; node->thisNode = this; configPort1(portDirection1); configPort2(portDirection2); configTimeout(timeoutFlag); }