<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: TPMS-measurement in Sensors</title>
    <link>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626390#M3871</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find below a detailed answer from our TPMS apps engineer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;Measuring the actual value of pressure is done in two steps:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;1. TPMS_READ_PRESSURE(gu16UUMA, 1u) will store the 10-bit uncompensated value of pressure (output of the ADC) in UUMA.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;2. TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA) performs a compensation of the pressure value stored in UUMA: the function linearizes the value and correct the error due to temperature and voltage (this is why this function must be called after the readings of pressure, temperature and voltage).&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Both functions (READ and COMP) return a status to indicate if the pressure value is ok or if there has been a problem with the ADC or an underflow/overflow.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The returned status is explained in the firmware user guides.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;For example, below is the returned status of TPMS_COMP_PRESSURE:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Table 13.JPG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13552i6B77DE404304CF8F/image-size/large?v=v2&amp;amp;px=999" role="button" title="Table 13.JPG" alt="Table 13.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the returned status is 0, it means the pressure value returned by TPMS_COMP_PRESSURE is valid and can be used. If the value is not 0, it means there has been a problem (overflow/undeflow) or we suspect there is a problem, so the value may not be accurate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the code, when there is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;if( TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA)) &amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{ &amp;nbsp; &amp;nbsp;gu16UUMA[UUMA_PRESSURE] = 0xFFFF; &amp;nbsp; &amp;nbsp;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;... it means that if the returned status of TPMS_COMP_PRESSURE is not 0 (so there is or may be a problem), the uncompensated pressure value is set to 0xFFFF.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I suppose that later in the code the uncompensated pressure must be checked and if it is 0xFFFF, then the pressure value is discarded? But I do not know why this is done on the uncompensated pressure (in UUMA) and not on the compensated pressure value (u16CompPress). The person who wrote this code wanted to handle it like that, but this is not the only way.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;So of course this can be modified and you can use:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&lt;SPAN&gt;u8Status |= TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;What is important to do is to check the returned status to know if the pressure value is ok or not. The way to verify the status and indicate if the pressure can be used or not can be done in many ways, it will depend on the person who is writing the application and on the requirements of the application.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The Firmware User Guides are on &lt;A href="http://www.nxp.com/products/sensors/pressure-sensors/tire-pressure-monitoring-sensors/fxth87-tire-pressure-monitor-sensor-family:FXTH87?tab=Documentation_Tab"&gt;FXTH87 Documentation webpage&lt;/A&gt;, under User Guides.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="UG.JPG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13591iFF0B4707406553E9/image-size/large?v=v2&amp;amp;px=999" role="button" title="UG.JPG" alt="UG.JPG" /&gt;&lt;/span&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;I hope it helps!&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Best regards,&lt;/DIV&gt;&lt;DIV&gt;Tomas&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 13 Feb 2017 20:20:53 GMT</pubDate>
    <dc:creator>TomasVaverka</dc:creator>
    <dc:date>2017-02-13T20:20:53Z</dc:date>
    <item>
      <title>TPMS-measurement</title>
      <link>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626389#M3870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am now have some issues about 87000. following is &amp;nbsp;the demo code .&lt;/P&gt;&lt;P&gt;UINT8 Measurement(void)&lt;BR /&gt;{&lt;BR /&gt; UINT8 u8Status = 0;&lt;/P&gt;&lt;P&gt;u8Status = TPMS_READ_VOLTAGE(gu16UUMA); &lt;BR /&gt; u8Status |= TPMS_COMP_VOLTAGE(&amp;amp;u8CompVol,gu16UUMA);&lt;BR /&gt; u8Status |= TPMS_READ_TEMPERATURE(gu16UUMA); &lt;BR /&gt; u8Status |= TPMS_COMP_TEMPERATURE(&amp;amp;u8CompTemp,gu16UUMA); &lt;BR /&gt; u8Status |= TPMS_READ_PRESSURE(gu16UUMA, 1u); &lt;BR /&gt; if( TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA)) &amp;nbsp;&amp;nbsp;&lt;BR /&gt; {&lt;BR /&gt; gu16UUMA[UUMA_PRESSURE] = 0xFFFF;&lt;BR /&gt; } &lt;BR /&gt; u8Status |=TPMS_READ_ACCEL_XZ(gu16UUMA,1,0,7,7);&lt;BR /&gt; if( TPMS_COMP_ACCEL_XZ(u16CompAccelXZ,gu16UUMA)) &lt;BR /&gt; {gu16UUMA[UUMA_Z] = 0xFFFF; &lt;BR /&gt; }&lt;BR /&gt; tRDEData.u8ElapsedTime = 1u;&lt;/P&gt;&lt;P&gt;return u8Status; &lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;what is the meaning&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;u8Status |= TPMS_READ_PRESSURE(gu16UUMA, 1u); &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;if( TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA)) &amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;{ &amp;nbsp; &amp;nbsp;gu16UUMA[UUMA_PRESSURE] = 0xFFFF; &amp;nbsp; &amp;nbsp;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;could I use the following code&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;u8Status |= TPMS_READ_PRESSURE(gu16UUMA, 1u); &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;u8Status |= TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA); &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2026 21:59:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626389#M3870</guid>
      <dc:creator>xiaohui200808</dc:creator>
      <dc:date>2026-02-03T21:59:22Z</dc:date>
    </item>
    <item>
      <title>Re: TPMS-measurement</title>
      <link>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626390#M3871</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find below a detailed answer from our TPMS apps engineer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;Measuring the actual value of pressure is done in two steps:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;1. TPMS_READ_PRESSURE(gu16UUMA, 1u) will store the 10-bit uncompensated value of pressure (output of the ADC) in UUMA.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;2. TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA) performs a compensation of the pressure value stored in UUMA: the function linearizes the value and correct the error due to temperature and voltage (this is why this function must be called after the readings of pressure, temperature and voltage).&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Both functions (READ and COMP) return a status to indicate if the pressure value is ok or if there has been a problem with the ADC or an underflow/overflow.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The returned status is explained in the firmware user guides.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;For example, below is the returned status of TPMS_COMP_PRESSURE:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Table 13.JPG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13552i6B77DE404304CF8F/image-size/large?v=v2&amp;amp;px=999" role="button" title="Table 13.JPG" alt="Table 13.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the returned status is 0, it means the pressure value returned by TPMS_COMP_PRESSURE is valid and can be used. If the value is not 0, it means there has been a problem (overflow/undeflow) or we suspect there is a problem, so the value may not be accurate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the code, when there is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;if( TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA)) &amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{ &amp;nbsp; &amp;nbsp;gu16UUMA[UUMA_PRESSURE] = 0xFFFF; &amp;nbsp; &amp;nbsp;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;... it means that if the returned status of TPMS_COMP_PRESSURE is not 0 (so there is or may be a problem), the uncompensated pressure value is set to 0xFFFF.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I suppose that later in the code the uncompensated pressure must be checked and if it is 0xFFFF, then the pressure value is discarded? But I do not know why this is done on the uncompensated pressure (in UUMA) and not on the compensated pressure value (u16CompPress). The person who wrote this code wanted to handle it like that, but this is not the only way.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;So of course this can be modified and you can use:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&lt;SPAN&gt;u8Status |= TPMS_COMP_PRESSURE(&amp;amp;u16CompPress,gu16UUMA);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;What is important to do is to check the returned status to know if the pressure value is ok or not. The way to verify the status and indicate if the pressure can be used or not can be done in many ways, it will depend on the person who is writing the application and on the requirements of the application.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The Firmware User Guides are on &lt;A href="http://www.nxp.com/products/sensors/pressure-sensors/tire-pressure-monitoring-sensors/fxth87-tire-pressure-monitor-sensor-family:FXTH87?tab=Documentation_Tab"&gt;FXTH87 Documentation webpage&lt;/A&gt;, under User Guides.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="UG.JPG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13591iFF0B4707406553E9/image-size/large?v=v2&amp;amp;px=999" role="button" title="UG.JPG" alt="UG.JPG" /&gt;&lt;/span&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;I hope it helps!&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Best regards,&lt;/DIV&gt;&lt;DIV&gt;Tomas&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Feb 2017 20:20:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626390#M3871</guid>
      <dc:creator>TomasVaverka</dc:creator>
      <dc:date>2017-02-13T20:20:53Z</dc:date>
    </item>
    <item>
      <title>Re: TPMS-measurement</title>
      <link>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626391#M3872</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; I also want to ask:The&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff; font-size: 14px;"&gt;Measuring randomly or not .&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;if there is a&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff; font-size: 14px;"&gt;Measurement error .could I &lt;SPAN&gt;Measure it again ,does the next time &amp;nbsp;will occure error again?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; font-size: 14px;"&gt;&lt;SPAN&gt;&lt;SPAN style="color: #3d3d3d; font-size: 15px;"&gt;if there is a&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; font-size: 14px;"&gt;Measurement error .what should I do next?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; font-size: 14px;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Feb 2017 02:07:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626391#M3872</guid>
      <dc:creator>xiaohui200808</dc:creator>
      <dc:date>2017-02-14T02:07:42Z</dc:date>
    </item>
    <item>
      <title>Re: TPMS-measurement</title>
      <link>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626392#M3873</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Can you tell me where did you get this code from? Did you write it yourself?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2018 06:18:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/TPMS-measurement/m-p/626392#M3873</guid>
      <dc:creator>f20150335</dc:creator>
      <dc:date>2018-08-13T06:18:03Z</dc:date>
    </item>
  </channel>
</rss>

