Hi,
The Chip ID is NOT "60" it is
Hex: $60 which has a
Decimal value of 96 (which #b0 sends). So that appears to be working correctly.
Yes, it looks as if that instruction will probably read registers $F7 to $F
E into your list of Bytes, BUT:
1) You don't appear to have sent any instructions to initialise and instruct the BME280 to make any measurement(s).
2) The bytes returned represent two 24-bit numbers and a 16-bit number from the Analogue-Digital Converter(s). First they need to be "interpreted" as values that can be displayed within PICaxe's 16-bit (Word) system, and then they need to be calibrated, either by reference to "known" values, or by using the formulae in the BME280 data sheet.
A search of the forum will find a number of "BME Code Examples", particularly in the Code snippets section, by myself, marks and others, for example
HERE. They should include examples of code to initialise the BME280 (and then the maths to calibrate the data values).
The actual 20-bit or 16-bit ADC values are as follows, but if you just want simple "numbers", you can ignore the "X-Low bytes" (B4 and B5) and work directly with the basic Word values (W0 , W1 and W5).
Pressure = W0 * 16 + (B4 / 16)
Temperature = W1 * 16 + (B5 / 16)
Humidity = W5
So the values for T and P
might be correct (it's impossible to say until you calculate/calibrate the values) but the Humidity is "suspicious" because it's exactly 32768 or $8000 , which is the maximum negative value of a "signed" 16-bit word.
Your "problem" is that the BME280 is a particularly "complex" (or one might say "lazy") chip, which relies on an enormously complex calibration procedure, usually "hidden" inside an Arduino/C-code "Library" or "API" routine. There are far easier devices to use, particularly for Temperature and Humidity, such as the SHT30/31 or AHT21, etc..
Cheers, Alan.