problem reading Honeywell HSC pressure sensor with Uno R3

Hello,

I am having trouble reading a Honeywell HSCSGN0015PA3A3 (data sheet: http://sensing.honeywell.com/hsc%20and%20ssc%20series%20install_digital_50044171-5-en_final_08aug12.pdf) pressure sensor. the I2C communication document is here http://www.honeywellscportal.com/i2c%20comms%20digital%20output%20pressure%20sensors_tn_008201-3-en_final_30may12.pdf.

I am using an Arduino Uno R3, and running 1.0.6 IDE. I have tried the following code:

#include <Wire.h>

void setup()
{
  Wire.begin();        // join i2c bus
  Serial.begin(9600);  // start serial for output
}

void loop()
{
  Wire.beginTransmission(0x38);
  Wire.write(0);
  Wire.requestFrom(0x38, 2);      // request 2 bytes from slave device 0x38

  if (Wire.available() == 2)
  { 
    int hibyte = Wire.read();     // receive the first byte
    Serial.println("");
    Serial.print("Wire.available = ");
    Serial.println(Wire.available(), DEC);
    Serial.print("High Byte = ");
    Serial.println(hibyte, BIN);
    int lobyte = Wire.read();     // receive the second byte
    Serial.print("Low Byte = ");
    Serial.println(lobyte, BIN);
    Serial.println("");
  }
  else
  {
    Serial.println("No data available");
    Serial.print("Wire.available = ");
    Serial.println(Wire.available(), DEC);
  }
  Wire.endTransmission();
  delay(500);
}

This is the output I get,

No data available
Wire.available = 0
No data available
Wire.available = 0

Wire.available = 1
High Byte = 10000111
Low Byte = 11111111

No data available
Wire.available = 0
No data available
Wire.available = 0
No data available
Wire.available = 0
No data available
Wire.available = 0
No data available
Wire.available = 0
No data available
Wire.available = 0

Wire.available = 1
High Byte = 10000111
Low Byte = 11111111

No data available
Wire.available = 0
No data available
Wire.available = 0

I have also tried this code with a while loop instead of the “if else” I added the if as a last minute thing to see if I was getting hung up on the while. the while read: “while(Wire.available())” I have also tried “while(Wire.available() ==2)” since I am trying to read two bytes.
My main problem is that the two most significant bits on the High Byte (10) indicate that the data is “stale” and in fact once I convert it to a psi it makes no sense.
Second, I am not reading values as each time the loop iterates, as the If statement’s output showed me.
I would really appreciate some guidance on what I may be doing wrong.