void show_temp_humidity (void) { si7021_env test; if(SI7021_begin()) { SI7021_getHumidityAndTemperature(&test); printf("Temperature: %02.2f\n\r",test.celsiusHundredths/100.00); printf("Humidity: %02.2f\n\r",test.humidityBasisPoints/100.00); } else printf("Si7021 sensor not detected!\n\r"); }
// get humidity, then get temperature reading from humidity measurement int SI7021_getHumidityAndTemperature(si7021_env * sensor_data ) { if(SI7021_begin()==0) { sensor_data->connected = 0; sensor_data->humidityBasisPoints = 50000; sensor_data->celsiusHundredths = -50000; sensor_data->fahrenheitHundredths = -50000; } else { sensor_data->humidityBasisPoints = SI7021_getHumidityBasisPoints(); sensor_data->celsiusHundredths = SI7021_getCelsiusPostHumidity(); sensor_data->fahrenheitHundredths = (1.8 * sensor_data->celsiusHundredths) + 3200; } return 1; }