//==================================================================== // GENERAL FUNCTION SECTION //==================================================================== // I2C DECIVES SCANNER //-------------------------------------------------------------------- void scanI2C() { byte error, address; int nDevices; Serial.println(" -> Scanning I2C Devices ..."); nDevices = 0; for(address = 1; address < 127; address++ ) { // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the address. Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.print(" --> Device Found At Address 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); nDevices++; } else if (error==4) { Serial.print(" --> Unknown error at address 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println(" --> No I2C devices found\n"); else Serial.println(" --> done"); } //-------------------------------------------------------------------- // Float Number Mapping Function //-------------------------------------------------------------------- double mapf(double val, double in_min, double in_max, double out_min, double out_max) { return (val - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }