The sensor supports 16bit resolution, however we are utilizing only 8bit resolution.
PSOC4BLE device reads only the MSB of the temperature from Si7020, and the firmware associated with this is in line 366 of main.c and in function Si7020_WriteRead. Hence for 8bit MSB temperature data the formula would be.
Temperature(°C) = 175.72*Temp_Code/256- 46.85.
This formula has been implemented in PMIC.exe and the mother board sends only the 8bit Temp_Code through USB.
When there is an example for a sensor, why do you not address the sensor correctly? Transferring two bytes and receiving them instead of reducing the accuracy. Furthermore does the above formula not guarantee that under all circumstances (optimizations) the term
is not calculated first and so leads to a false result because Temp_Code and 256 are both integers.
(double)Temp_Code / 256
would be safe.