public bool Read(byte[] buffer)
{
// Validate
if (!Validate(buffer)) return false;
// Extract properties from data
C0Manufacturer = ReadCoefficient(buffer, C0ManufacturerOffset);
C1PressureSensitivity = ReadCoefficient(buffer, C1SensOffset);
C2PressureOffset = ReadCoefficient(buffer, C2OffOffset);
C3TemperatureFromPressureSensitivity = ReadCoefficient(buffer, C3TcsOffset);
C4TemperatureFromPressureOffset = ReadCoefficient(buffer, C4TcoOffset);
C5TemperatureReference = ReadCoefficient(buffer, C5TRefOffset);
C6TemperatureSensitivity = ReadCoefficient(buffer, C6TempSensOffset);
var serialCrc = ReadCoefficient(buffer, C7SerialCrcOffset);
C7SerialNumber = serialCrc >> 4;
C7Crc = serialCrc & 0x000f;
// Return successful
return true;
}