[Solved] Measure higher voltages with a voltage divider

Nice thing about ADS1115 ADC is that it does not have alot of complicated registers - only two in fact..
There is a Config register to set prescaler and which channel to read from.
Second register is where the voltage reading is kept.

Here is a piece of code (should somebody be interested in future) that reads from channels 0 and 1 in differential mode:

int read_channels_0_to_1() {

  // Step 1: set which channels to read
  Wire.beginTransmission(I2Caddress);
  Wire.write(0b00000001);  // Point to Config Register
  Wire.write(0b00000000);  // AIN+ve = AIN0 and AIN-ve = AIN1 and 2/3x gain
  Wire.write(0b10000011);  // sampling rate 128SPS
  Wire.endTransmission();
  delay(17); // to give ADC time to make next reading. These delays are essential!!

  // ====================================

  // Step 2: Set the pointer to the conversion register to retreve last reading
  Wire.beginTransmission(I2Caddress);
  Wire.write(0b00000000);  //Point to Conversion register (read only , where we get our results from)
  Wire.endTransmission();
  delay(17); // to give ADC time to make next reading

  // =======================================

  // Step 3: Request the 2 converted bytes (MSB plus LSB)
  Wire.requestFrom(I2Caddress, 2);

  // Read the the first byte (MSB) and shift it 8 places to the left then read
  // the second byte (LSB) into the last byte of this integer
  voltage_across_shunt = (Wire.read() << 8 | Wire.read());
  return voltage_across_shunt;
  delay(17); // to give ADC time to make next reading
}