
SP37
Tire Pressure Monitoring Sensor
ROM Library Functions
ROM Library Function Guide
44
Revision 1.0, 2011-12-15
2.3.8
Code Example
Figure 4
Code example for usage of Scale_Pressure()
// Library function prototypes
#include "SP37_ROMLibrary.h"
void main()
{
// Return value of pressure measurement is stored in StatusByte
unsigned char StatusByte;
// 8-bit pressure value is stored in PressureByte
unsigned char PressureByte;
// Input parameters for pressure measurement
unsigned int SensorConfig = 0x0081;
unsigned char SampRate = 0x00;
// struct for pressure measurement results
struct{
signed int Pressure;
signed int Raw_pressure;
signed int Raw_temperature;
} idata Press_Result;
// Pressure measurement function call
StatusByte = Meas_Pressure(SensorConfig, SampRate, &Press_Result.Pressure);
if(!StatusByte){
// Pressure measurement was successful
PressureByte = Scale_Pressure(&Press_Result.Pressure);
}
else{
// Pressure measurement was not successful, underflow or
// overflow of ADC result, Sensor Fault Wire Bond Check,
// or VMIN warning occurred
PressureByte = 0;
}
// 8-bit scaled pressure value is in PressureByte. If pressure was
// 100kPa or less, or there was an error in measurement, PressureByte
// is set to 0. If measured pressure was 450kPa or more, PressureByte
// is set to 255. Otherwise, PressureByte contains a value proportional
// to measured pressure, scaled by 1.373kPa/LSB for pressure above 100kPa.
}