I'm trying to read data from a pressure sensor from BB Sensors over i2c. They haven't made it especially easy. It uses a reserved address by default (0x78) and it also uses some sort of cut-down version of i2c reading AFAICT. In normal operation the device exposes no registers (you have to put it into "Command mode" by sending a special command byte immediately after power-on to allow writing to its control registers), you simply address it for reading and it sends back 2 bytes of data. I can use i2cget to read from it but the value doesn't make much sense and I believe that I'm only getting the first byte of a 2 byte word like this. Reading the man page, i2cget allows me to specify a mode ('w') for reading a word instead of a byte, but only if I also send a register/data-address. From what I understand, this is like going to generate an i2c write from the master with the register address, followed by a read - and this doesn't appear to work with this sensor which is expecting me just to read values.
Is there a way to do what I need to with i2cget? Looking at the python smbus module it seems like I'm going to have the same problem. Is the sensor's I2C implementation just irredeemably wrong? What options do I have here?