<?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 Implementing Sensor Fusion for the FXOS8700CQ on Windows Compact 2013 in Sensors</title>
    <link>https://community.nxp.com/t5/Sensors/Implementing-Sensor-Fusion-for-the-FXOS8700CQ-on-Windows-Compact/m-p/679321#M4382</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm trying to calculate an accurate &lt;SPAN&gt;compass heading&amp;nbsp;using a&amp;nbsp;FXOS8700CQ unit (not on an MCU board).&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are running&amp;nbsp;a Windows Compact 2013 BSP that provides access to data from the&amp;nbsp;FXOS8700CQ unit mounted directly onto our device. The BSP is able to return two structures :&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;struct COMPASS&lt;SPAN&gt;_READING { short X; short Y; short Z; } from the magnetometer, and&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;struct ACCEL_READING { short X; short Y; short Z; } from the accelerometer&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I've&amp;nbsp;downloaded the example&amp;nbsp;FreescaleSensorFusionRevision5 from&amp;nbsp;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fproducts%2Fsensors%2Fnxp-sensor-fusion%3AXTRSICSNSTLBOX%3Ftid%3Dvansensorfusion" rel="nofollow" target="_blank"&gt;NXP Sensor Fusion|NXP&lt;/A&gt;, and the code in the example uses these structures instead :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; struct MagSensor { int16 iBs[3]; int16 iBc[3]; float fBs[3]; float fBc[3]; int16 iCountsPeruT; float fuTPerCount; float fCountsPeruT; uint8 iWhoAmI; } and&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; struct AccelSensor { int16 iGs[3]; int16 iCountsPerg; float fGs[3]; float fgPerCount; uint8 iWhoAmI; }&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Additionally, the example applcation&amp;nbsp;&lt;SPAN&gt;FreescaleSensorFusionRevision5 uses&amp;nbsp;header files that are not included in the download (eg &lt;/SPAN&gt;I2CFreedom.h,&amp;nbsp;UART.h,&amp;nbsp;FTM.h)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to understand if we&amp;nbsp;have enough information available from&amp;nbsp;our BSP in order to be able to run the fusion algorithms, or if I need to take another approach based upon the information that I have available to me.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've tried using other algorithms based upon calculating pitch and&amp;nbsp;roll (to compensate for tilt) in order to determine a compass heading, but the&amp;nbsp;calculations produce results that are very&amp;nbsp;noisy,&amp;nbsp;and don't seem to bear much relationship to compass heading.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;An example file containing the readings that I am receiving is attached.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'd appreciate any advice that anyone can offer&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-339216" target="_blank"&gt;compass_data.txt.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 03 Feb 2026 22:26:38 GMT</pubDate>
    <dc:creator>andrewking</dc:creator>
    <dc:date>2026-02-03T22:26:38Z</dc:date>
    <item>
      <title>Implementing Sensor Fusion for the FXOS8700CQ on Windows Compact 2013</title>
      <link>https://community.nxp.com/t5/Sensors/Implementing-Sensor-Fusion-for-the-FXOS8700CQ-on-Windows-Compact/m-p/679321#M4382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm trying to calculate an accurate &lt;SPAN&gt;compass heading&amp;nbsp;using a&amp;nbsp;FXOS8700CQ unit (not on an MCU board).&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are running&amp;nbsp;a Windows Compact 2013 BSP that provides access to data from the&amp;nbsp;FXOS8700CQ unit mounted directly onto our device. The BSP is able to return two structures :&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;struct COMPASS&lt;SPAN&gt;_READING { short X; short Y; short Z; } from the magnetometer, and&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;struct ACCEL_READING { short X; short Y; short Z; } from the accelerometer&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I've&amp;nbsp;downloaded the example&amp;nbsp;FreescaleSensorFusionRevision5 from&amp;nbsp;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fproducts%2Fsensors%2Fnxp-sensor-fusion%3AXTRSICSNSTLBOX%3Ftid%3Dvansensorfusion" rel="nofollow" target="_blank"&gt;NXP Sensor Fusion|NXP&lt;/A&gt;, and the code in the example uses these structures instead :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; struct MagSensor { int16 iBs[3]; int16 iBc[3]; float fBs[3]; float fBc[3]; int16 iCountsPeruT; float fuTPerCount; float fCountsPeruT; uint8 iWhoAmI; } and&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; struct AccelSensor { int16 iGs[3]; int16 iCountsPerg; float fGs[3]; float fgPerCount; uint8 iWhoAmI; }&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Additionally, the example applcation&amp;nbsp;&lt;SPAN&gt;FreescaleSensorFusionRevision5 uses&amp;nbsp;header files that are not included in the download (eg &lt;/SPAN&gt;I2CFreedom.h,&amp;nbsp;UART.h,&amp;nbsp;FTM.h)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to understand if we&amp;nbsp;have enough information available from&amp;nbsp;our BSP in order to be able to run the fusion algorithms, or if I need to take another approach based upon the information that I have available to me.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've tried using other algorithms based upon calculating pitch and&amp;nbsp;roll (to compensate for tilt) in order to determine a compass heading, but the&amp;nbsp;calculations produce results that are very&amp;nbsp;noisy,&amp;nbsp;and don't seem to bear much relationship to compass heading.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;An example file containing the readings that I am receiving is attached.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'd appreciate any advice that anyone can offer&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-339216" target="_blank"&gt;compass_data.txt.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2026 22:26:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/Implementing-Sensor-Fusion-for-the-FXOS8700CQ-on-Windows-Compact/m-p/679321#M4382</guid>
      <dc:creator>andrewking</dc:creator>
      <dc:date>2026-02-03T22:26:38Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing Sensor Fusion for the FXOS8700CQ on Windows Compact 2013</title>
      <link>https://community.nxp.com/t5/Sensors/Implementing-Sensor-Fusion-for-the-FXOS8700CQ-on-Windows-Compact/m-p/679322#M4383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Andrew,&lt;/P&gt;&lt;P&gt;First, apologies for the delayed response. &amp;nbsp;I missed the notification on your posting.&lt;/P&gt;&lt;P&gt;Your BSP is returning sensor values, which is all you need as far as raw data is concerned. &amp;nbsp;Do you know if the BSP already includes magnetic calibration software? &amp;nbsp;If not, you will need to include it yourself (it is part of the sensor fusion library).&lt;/P&gt;&lt;P&gt;I suggest you NOT start with the 5.00 sensor fusion. &amp;nbsp;The 7.xx variant is much more suited to your purposes, as it does not require Processor Expert to generate hardware interfaces, and instead relies on direct access to a lower level SDK, which is easily swapped out in favor of your BSP. &amp;nbsp;The 7.xx library can be included as part of either FRDM-K64F or FRDM-K22F SDKs generated at&amp;nbsp;&lt;A class="link-titled" href="https://mcuxpresso.nxp.com/en/welcome" title="https://mcuxpresso.nxp.com/en/welcome"&gt;Welcome to MCUXpresso | MCUXpresso Config Tools&lt;/A&gt;&amp;nbsp;. &amp;nbsp;Make sure you select the ISSDK and FreeRTOS options before you generate the SDK. &amp;nbsp;Documentation is in &amp;lt;sdkroot&amp;gt;/middleware/issdk_1.0/algorithms/sensorfusion/docs.&lt;/P&gt;&lt;P&gt;If you contact me directly at &lt;A href="mailto:mike.stanley@nxp.com,"&gt;mike.stanley@nxp.com&lt;/A&gt;, I would be happy to set up a Skype session to talk through your issues.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Jun 2017 18:23:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/Implementing-Sensor-Fusion-for-the-FXOS8700CQ-on-Windows-Compact/m-p/679322#M4383</guid>
      <dc:creator>michaelestanley</dc:creator>
      <dc:date>2017-06-21T18:23:05Z</dc:date>
    </item>
  </channel>
</rss>

