In file i2c_bmp180.c should such a two change (in bold):
bool ICACHE_FLASH_ATTR BMP180_Init()
{
i2c_init(); // ----------------- should be added here
int16_t version = BMP180_readRegister16(BMP180_CHIP_ID_REG);
if ((version >> 8) != BMP180_CHIP_ID) {
#ifdef BMP180_DEBUG
char temp[80];
os_sprintf(temp, "BMP180: wanted chip id 0x%X, found chip id 0x%X\r\n",
BMP180_CHIP_ID, version);
ets_uart_printf(temp);
#endif
return 0;
}
if (!BMP180_readRegister16(BMP180_VERSION_REG))
return 0;
#ifdef BMP180_DEBUG
//os_printf("BMP180 read calibration data...\r\n");
ets_uart_printf("BMP180 read calibration data...\r\n");
#endif
ac1 = BMP180_readRegister16(0xAA);
ac2 = BMP180_readRegister16(0xAC);
ac3 = BMP180_readRegister16(0xAE);
ac4 = BMP180_readRegister16(0xB0);
ac5 = BMP180_readRegister16(0xB2);
ac6 = BMP180_readRegister16(0xB4);
b1 = BMP180_readRegister16(0xB6);
b2 = BMP180_readRegister16(0xB8);
mb = BMP180_readRegister16(0xBA);
mc = BMP180_readRegister16(0xBC);
md = BMP180_readRegister16(0xBE);
#ifdef BMP180_DEBUG
ets_uart_printf("BMP180_Calibration:\r\n");
char temp[80]; //80 bytes buffer is too small for this prints -----------, eg. use 128 bytes
os_sprintf(temp, "AC1: %ld, AC2: %ld, AC3: %ld, AC4: %ld, AC5: %ld, AC6: %ld, B1: %ld, B2: %ld, MB: %ld, MC: %ld, MD: %ld\r\n",
ac1, ac2, ac3, ac4, ac5, ac6, b1, b2, mb, mc, md);
ets_uart_printf(temp);
#endif
return true;
}