I am using version 3.3.4 of bmp280.h, bmp280.c, and bmp280_defs.h
I am able to read my BMP280 chip ID, and also read out the calibration parameters, so I know that I am generally communicating with the BMP correctly. My problem starts when trying to read bmp280_get_uncomp_data. Taking the temperature portion for example, when I try to sprint ucomp_data.uncomp_temp I get what appears to be a lot of zeros and random readings:
0
0
524288
313603
792199
606717
458767
812801
0
816
...etc.
About half of the readings are zeros. I have read out the t_fine value that is stored on the device just to make sure that I am reading a 32-bit number correctly. t_fine always returns the same value of 57035.
I don't know if the problem is that I am not reading MSB first, or if somehow I am reading the wrong location for temperature data. Any suggestions would be most welcome. I have attached my main.c for reference. Please pardon all the commented-out code in main.c as I have been trying lots of things.
Disclaimer: I do not write code for a living, so my apologies if I botched something obvious.