<?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: Sensor Fusion, MCUXPresso in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505133#M63809</link>
    <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;I read this many times and still not sure:&lt;/P&gt;&lt;P&gt;Based on NED, when axis point down, ACC reading should be positive, right? NXP fusion definition is opposite to NED definition?&lt;/P&gt;&lt;P&gt;But for MAG,&amp;nbsp;when axis point down, MAG reading should be MAX, right?&lt;/P&gt;&lt;P&gt;There is no MAG definition in document...Can you tell me where I can find it?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 11 Aug 2022 17:11:56 GMT</pubDate>
    <dc:creator>a8Chcx</dc:creator>
    <dc:date>2022-08-11T17:11:56Z</dc:date>
    <item>
      <title>Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502593#M63765</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am using FRDM-K64F and FRDM-FXS-MULTI2-B to do sensor fusion.&lt;/P&gt;&lt;P&gt;I am using MCUXpresso 11.5.0 and SDK 2.10.0.&lt;/P&gt;&lt;P&gt;I can see all library and project "main_baremetal" are there...&lt;/P&gt;&lt;P&gt;When I try to use "import SDK sample project", I can't find it?&lt;/P&gt;&lt;P&gt;Can anybody tell me how to import this project in MCUXpresso and I can test it with Fusion tool box?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 12:42:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502593#M63765</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-08T12:42:41Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502679#M63766</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/14098"&gt;@a8Chcx&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Could you help me check the SDK builder here:&amp;nbsp;&lt;A href="https://mcuxpresso.nxp.com/en/select" target="_blank"&gt;Select Board | MCUXpresso SDK Builder (nxp.com)&lt;/A&gt;, and search for the board you are using (K64F), then click on build SDK.&lt;/P&gt;
&lt;P&gt;In the next menu, you can select all the middleware available, or just make sure you have the sensing IoT checked:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_0-1659973740414.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189488i4AC6DAD8F6CEAB8F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_0-1659973740414.png" alt="Julin_AragnM_0-1659973740414.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;After this, install it in MCUXpresso and you should have the project examples available under "frdmk64f mult2b" and under "sensors".&lt;/P&gt;
&lt;P&gt;Hope you find this helpful!&lt;/P&gt;
&lt;P&gt;Best regards, Julián.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 15:53:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502679#M63766</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2022-08-08T15:53:57Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502690#M63768</link>
      <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes. I put SDK 2.10.0 into MCUXPresso and I can see the project under ...\SDK_2_10_0_FRDM-K64F\boards\frdmk64f_mult2b\issdk_examples\algorithms\sensorfusion\baremetal_mult2b&lt;/P&gt;&lt;P&gt;But, when I use "import SDK Example(s)", I can't see this project?&lt;/P&gt;&lt;P&gt;Can you tell me how to import it because I want to copy all related files and this project becomes independent?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 16:05:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502690#M63768</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-08T16:05:26Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502701#M63769</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/14098"&gt;@a8Chcx&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;If you have installed the SDK into MCUXpresso already, you should follow these steps below:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_0-1659974979678.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189494iE2495E1DE2DD6C43/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_0-1659974979678.png" alt="Julin_AragnM_0-1659974979678.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Click "Import SDK example(s)..."&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_1-1659975098770.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189495iF9A462D98BA9D6C9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_1-1659975098770.png" alt="Julin_AragnM_1-1659975098770.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Select the kit "frdmk64f_mult2b"&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_2-1659975151241.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189496iC23E5CBA8BBDA17A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_2-1659975151241.png" alt="Julin_AragnM_2-1659975151241.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Under "issdk" and "algorithms" is the project "sensorfusion_bm_mult2b"&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_3-1659975389661.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189498i907620DF44444AF5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_3-1659975389661.png" alt="Julin_AragnM_3-1659975389661.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;After these steps, you should have the project imported and ready to use.&lt;/P&gt;
&lt;P&gt;If, by any chance, you still can't seem to import it, please update the SDK to version 2.11 and try again.&lt;/P&gt;
&lt;P&gt;Best regards, Julián&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 16:18:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502701#M63769</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2022-08-08T16:18:00Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502712#M63770</link>
      <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;Thanks. I have to select K64F+Multi...&lt;/P&gt;&lt;P&gt;Another question:&lt;/P&gt;&lt;P&gt;Based on NED definition:&lt;/P&gt;&lt;P&gt;ACC is +1g when axis is down, -1g when axis is UP.&lt;/P&gt;&lt;P&gt;GYRO: Increase when in clockwise.&lt;/P&gt;&lt;P&gt;MAG: What is definition for MAG? I can't find in document...&lt;/P&gt;&lt;P&gt;Why need to apply the following for NED?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void ApplyAccelHAL(struct AccelSensor *Accel)&lt;BR /&gt;{&lt;BR /&gt;int8 i; // loop counter&lt;/P&gt;&lt;P&gt;// apply HAL to all measurements read from FIFO buffer&lt;BR /&gt;for (i = 0; i &amp;lt; Accel-&amp;gt;iFIFOCount; i++)&lt;BR /&gt;{&lt;BR /&gt;// apply HAL mapping to coordinate system used&lt;BR /&gt;#if THISCOORDSYSTEM == NED&lt;BR /&gt;int16 itmp16 = Accel-&amp;gt;iGsFIFO[i][CHX];&lt;BR /&gt;Accel-&amp;gt;iGsFIFO[i][CHX] = Accel-&amp;gt;iGsFIFO[i][CHY];&lt;BR /&gt;Accel-&amp;gt;iGsFIFO[i][CHY] = itmp16;&lt;BR /&gt;#endif // NED&lt;BR /&gt;#if THISCOORDSYSTEM == ANDROID&lt;BR /&gt;Accel-&amp;gt;iGsFIFO[i][CHX] = -Accel-&amp;gt;iGsFIFO[i][CHX];&lt;BR /&gt;Accel-&amp;gt;iGsFIFO[i][CHY] = -Accel-&amp;gt;iGsFIFO[i][CHY];&lt;BR /&gt;#endif // Android&lt;BR /&gt;#if (THISCOORDSYSTEM == WIN8)&lt;BR /&gt;Accel-&amp;gt;iGsFIFO[i][CHZ] = -Accel-&amp;gt;iGsFIFO[i][CHZ];&lt;BR /&gt;#endif // Win8&lt;/P&gt;&lt;P&gt;} // end of loop over FIFO count&lt;/P&gt;&lt;P&gt;return;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;// function applies the hardware abstraction layer to the magnetometer readings&lt;BR /&gt;void ApplyMagHAL(struct MagSensor *Mag)&lt;BR /&gt;{&lt;BR /&gt;int8 i; // loop counter&lt;/P&gt;&lt;P&gt;// apply HAL to all measurements read from FIFO buffer&lt;BR /&gt;for (i = 0; i &amp;lt; Mag-&amp;gt;iFIFOCount; i++)&lt;BR /&gt;{&lt;BR /&gt;// apply HAL mapping to coordinate system used&lt;BR /&gt;#if THISCOORDSYSTEM == NED&lt;BR /&gt;int16 itmp16 = Mag-&amp;gt;iBsFIFO[i][CHX];&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHX] = -Mag-&amp;gt;iBsFIFO[i][CHY];&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHY] = -itmp16;&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHZ] = -Mag-&amp;gt;iBsFIFO[i][CHZ];&lt;BR /&gt;#endif // NED&lt;BR /&gt;#if THISCOORDSYSTEM == ANDROID&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHX] = -Mag-&amp;gt;iBsFIFO[i][CHX];&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHY] = -Mag-&amp;gt;iBsFIFO[i][CHY];&lt;BR /&gt;#endif // Android&lt;BR /&gt;#if THISCOORDSYSTEM == WIN8&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHX] = -Mag-&amp;gt;iBsFIFO[i][CHX];&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHY] = -Mag-&amp;gt;iBsFIFO[i][CHY];&lt;BR /&gt;#endif&lt;BR /&gt;} // end of loop over FIFO count&lt;/P&gt;&lt;P&gt;return;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;// function applies the hardware abstraction layer to the gyro readings&lt;BR /&gt;void ApplyGyroHAL(struct GyroSensor *Gyro)&lt;BR /&gt;{&lt;BR /&gt;int8 i; // loop counter&lt;/P&gt;&lt;P&gt;// apply HAL to all measurements read from FIFO buffer&lt;BR /&gt;for (i = 0; i &amp;lt; Gyro-&amp;gt;iFIFOCount; i++)&lt;BR /&gt;{&lt;BR /&gt;// apply HAL mapping to coordinate system used&lt;BR /&gt;#if THISCOORDSYSTEM == NED&lt;BR /&gt;int16 itmp16 = Gyro-&amp;gt;iYsFIFO[i][CHX];&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHX] = -Gyro-&amp;gt;iYsFIFO[i][CHY];&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHY] = -itmp16;&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHZ] = -Gyro-&amp;gt;iYsFIFO[i][CHZ];&lt;BR /&gt;#endif // NED&lt;BR /&gt;#if THISCOORDSYSTEM == ANDROID&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHX] = -Gyro-&amp;gt;iYsFIFO[i][CHX];&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHY] = -Gyro-&amp;gt;iYsFIFO[i][CHY];&lt;BR /&gt;#endif // Android&lt;BR /&gt;#if THISCOORDSYSTEM == WIN8&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHX] = -Gyro-&amp;gt;iYsFIFO[i][CHX];&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHY] = -Gyro-&amp;gt;iYsFIFO[i][CHY];&lt;BR /&gt;#endif // Win8&lt;/P&gt;&lt;P&gt;} // end of loop over FIFO count&lt;/P&gt;&lt;P&gt;return;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 16:41:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502712#M63770</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-08T16:41:27Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502719#M63771</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/14098"&gt;@a8Chcx&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;MAG refers to the Magnetometer included in the board:&lt;/P&gt;
&lt;UL class="boxes dtmcustomrulelink" data-dtmaction="Supported Devices - Section Click"&gt;
&lt;LI&gt;&lt;A href="https://www.nxp.com/products/no-longer-manufactured/high-accuracy-3d-magnetometer:MAG3110" data-dtmsubaction="MAG3110: High Accuracy, 3D Magnetometer " target="_blank"&gt;&lt;STRONG&gt;MAG3110&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;High Accuracy, 3D Magnetometer&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;It&lt;/FONT&gt;&amp;nbsp;can be used in conjunction w&lt;FONT face="arial,helvetica,sans-serif"&gt;ith a 3-axis accelerometer so that orientation-independent accurate compass heading information may be achieved.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Best regards, Julián&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 16:58:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502719#M63771</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2022-08-08T16:58:43Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502739#M63772</link>
      <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;Based on ACC definition for NED:&lt;/P&gt;&lt;P&gt;Do you think that X_acc=(-1)*Y_acc, Y_acc=(-1)*X_acc, and Z_acc=(-1)*Z_acc?&lt;/P&gt;&lt;P&gt;For MAG, it matches the definition because when X up, X-mag is MAX and X down, X_mag is MAX...&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 17:24:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502739#M63772</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-08T17:24:04Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502752#M63773</link>
      <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can compile and download the project to the board.&lt;/P&gt;&lt;P&gt;Can you tell me how to connect to Sensor Fusion toolbox on Windows?&lt;/P&gt;&lt;P&gt;I just have P&amp;amp;E USB multilink cable and do not have BlueTooth. Do I need to use another cable to connect to the board?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 18:02:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1502752#M63773</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-08T18:02:34Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1503340#M63776</link>
      <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;It works fine after I put J27, J28 jumper to 2&amp;amp;3 instaed of 1&amp;amp;2.&lt;/P&gt;&lt;P&gt;Now, the 9-axes fusion is based on FXO8700 and FXAS21002 with NED frame.&lt;/P&gt;&lt;P&gt;Can you explain to me why need to use the above applyXXXHAL for NED?&lt;/P&gt;&lt;P&gt;I can understand that need to switch X and Y. But, sign is confused for me...&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2022 14:11:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1503340#M63776</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-09T14:11:04Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505042#M63804</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/14098"&gt;@a8Chcx&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I'm sorry for the confusion, but I don't really understand the question, could you explain into further detail?&lt;/P&gt;
&lt;P&gt;If you have any doubts or questions about the Sensor Fusion Kit, you can check the User Guide attached to the page below:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/design/sensor-developer-resources/nxp-sensor-fusion:XTRSICSNSTLBOXX" target="_blank"&gt;NXP® Sensor Fusion | NXP Semiconductors&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;There is every explanation, from vocabulary, 3-axis tilt/rotation, etc in chapter 2 of this User Guide (Sensor Fusion topics and options).&lt;/P&gt;
&lt;P&gt;Hope you find this helpful!&lt;/P&gt;
&lt;P&gt;Best regards, Julian&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Aug 2022 14:18:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505042#M63804</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2022-08-11T14:18:09Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505053#M63805</link>
      <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;Based on FRDM-K64+FXS_MULT2-B with latest fusion, in demo project, did the following conversions for NED:&lt;/P&gt;&lt;P&gt;void ApplyAccelHAL(struct AccelSensor *Accel)&lt;BR /&gt;{&lt;BR /&gt;int8 i; // loop counter&lt;/P&gt;&lt;P&gt;// apply HAL to all measurements read from FIFO buffer&lt;BR /&gt;for (i = 0; i &amp;lt; Accel-&amp;gt;iFIFOCount; i++)&lt;BR /&gt;{&lt;BR /&gt;// apply HAL mapping to coordinate system used&lt;BR /&gt;#if THISCOORDSYSTEM == NED&lt;BR /&gt;int16 itmp16 = Accel-&amp;gt;iGsFIFO[i][CHX];&lt;BR /&gt;Accel-&amp;gt;iGsFIFO[i][CHX] = Accel-&amp;gt;iGsFIFO[i][CHY];&lt;BR /&gt;Accel-&amp;gt;iGsFIFO[i][CHY] = itmp16;&lt;BR /&gt;#endif // NED&lt;/P&gt;&lt;P&gt;} // end of loop over FIFO count&lt;/P&gt;&lt;P&gt;return;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;// function applies the hardware abstraction layer to the magnetometer readings&lt;BR /&gt;void ApplyMagHAL(struct MagSensor *Mag)&lt;BR /&gt;{&lt;BR /&gt;int8 i; // loop counter&lt;/P&gt;&lt;P&gt;// apply HAL to all measurements read from FIFO buffer&lt;BR /&gt;for (i = 0; i &amp;lt; Mag-&amp;gt;iFIFOCount; i++)&lt;BR /&gt;{&lt;BR /&gt;// apply HAL mapping to coordinate system used&lt;BR /&gt;#if THISCOORDSYSTEM == NED&lt;BR /&gt;int16 itmp16 = Mag-&amp;gt;iBsFIFO[i][CHX];&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHX] = -Mag-&amp;gt;iBsFIFO[i][CHY];&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHY] = -itmp16;&lt;BR /&gt;Mag-&amp;gt;iBsFIFO[i][CHZ] = -Mag-&amp;gt;iBsFIFO[i][CHZ];&lt;BR /&gt;#endif // NED&lt;BR /&gt;&lt;BR /&gt;} // end of loop over FIFO count&lt;/P&gt;&lt;P&gt;return;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;// function applies the hardware abstraction layer to the gyro readings&lt;BR /&gt;void ApplyGyroHAL(struct GyroSensor *Gyro)&lt;BR /&gt;{&lt;BR /&gt;int8 i; // loop counter&lt;/P&gt;&lt;P&gt;// apply HAL to all measurements read from FIFO buffer&lt;BR /&gt;for (i = 0; i &amp;lt; Gyro-&amp;gt;iFIFOCount; i++)&lt;BR /&gt;{&lt;BR /&gt;// apply HAL mapping to coordinate system used&lt;BR /&gt;#if THISCOORDSYSTEM == NED&lt;BR /&gt;int16 itmp16 = Gyro-&amp;gt;iYsFIFO[i][CHX];&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHX] = -Gyro-&amp;gt;iYsFIFO[i][CHY];&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHY] = -itmp16;&lt;BR /&gt;Gyro-&amp;gt;iYsFIFO[i][CHZ] = -Gyro-&amp;gt;iYsFIFO[i][CHZ];&lt;BR /&gt;#endif // NED&lt;BR /&gt;} // end of loop over FIFO count&lt;/P&gt;&lt;P&gt;return;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My questions:&lt;/P&gt;&lt;P&gt;1) Switch X and Y for NED. I understand this. I check sensor reading, when axis is UP, it 1g, when axis down, it is -1g. Why do not switch X,Y, Z to (-1) because NED down is positive?&lt;/P&gt;&lt;P&gt;2) For Gyro, check the sensor reading, it is positive if I follow right-hand. It switches to (-1) on X,Y,X because right-hand rule is opposite to clockwise definition?&lt;/P&gt;&lt;P&gt;3)&amp;nbsp;For MAG, I check sensor reading, when axis is UP, it is MIN, when axis down, it is MAX. It did switch X,Y, Z to (-1) because NED down is positive for MAG?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;</description>
      <pubDate>Thu, 11 Aug 2022 14:37:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505053#M63805</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-11T14:37:26Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505128#M63808</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/14098"&gt;@a8Chcx&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;Please refer to chapter 5.3 (Frames of reference and the HAL), as it explains the behaviour you are having doubts about.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_0-1660237296063.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189963iC8315661B20585DC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_0-1660237296063.png" alt="Julin_AragnM_0-1660237296063.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_1-1660237368307.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189964i70C40423BF358A74/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_1-1660237368307.png" alt="Julin_AragnM_1-1660237368307.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;You can find the User Guide here: &lt;A href="https://www.nxp.com/docs/en/user-guide/NSFK_Prod_UG.pdf" target="_self"&gt;NXP Sensor Fusion - NXP Sensor Fusion for Kinetis MCUs&lt;/A&gt;. Hope you find this useful, if you have any other doubts, please feel free to ask.&lt;/P&gt;
&lt;P&gt;Best regards, Julian&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Aug 2022 17:04:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505128#M63808</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2022-08-11T17:04:46Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505133#M63809</link>
      <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;I read this many times and still not sure:&lt;/P&gt;&lt;P&gt;Based on NED, when axis point down, ACC reading should be positive, right? NXP fusion definition is opposite to NED definition?&lt;/P&gt;&lt;P&gt;But for MAG,&amp;nbsp;when axis point down, MAG reading should be MAX, right?&lt;/P&gt;&lt;P&gt;There is no MAG definition in document...Can you tell me where I can find it?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Aug 2022 17:11:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505133#M63809</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-11T17:11:56Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505683#M63813</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/14098"&gt;@a8Chcx&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Yes, when axis is pointing down, acc should be positive. Only the MAG3110 sensor is inverted in it's z axis, that is why in the drivers, sample CHZ is negative, to compensate this behaviour.&lt;/P&gt;
&lt;P&gt;Yes, you are correct: When pointing the axis down, the reading should be maximum.&lt;/P&gt;
&lt;P&gt;Best regards, Julian&lt;/P&gt;</description>
      <pubDate>Fri, 12 Aug 2022 16:00:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505683#M63813</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2022-08-12T16:00:45Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505687#M63814</link>
      <description>&lt;P&gt;Hi Julian,&lt;/P&gt;&lt;P&gt;I think MAG is *(-1) for FX8700 MAG, not for MAG3110.&lt;/P&gt;&lt;P&gt;For MAG3110, it should keep as it is because Z axis is opposite already.&lt;/P&gt;&lt;P&gt;I am confused with ACC because ACC points down, it always read -1g, not 1g.&lt;/P&gt;&lt;P&gt;EX. when flat, ACC on Z is 1g. Why not to do (-1) conversion that it is the same as MAG?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Aug 2022 16:10:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505687#M63814</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-12T16:10:37Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505694#M63815</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/14098"&gt;@a8Chcx&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;A sensor flat&amp;nbsp;&lt;EM&gt;should&amp;nbsp;&lt;/EM&gt;read +1g, as it is only reading Earth's gravity, and the other two axes &lt;EM&gt;should&amp;nbsp;&lt;/EM&gt;read 0;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_1-1660322350113.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/190100i4544CF6366CAAD96/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_1-1660322350113.png" alt="Julin_AragnM_1-1660322350113.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;You can also refer to this note (&lt;A href="https://www.nxp.com/docs/en/application-note/AN4248.pdf" target="_blank"&gt;Implementing a Tilt-Compensated eCompass using Accelerometer and Magnetometer Sensors (nxp.com)&lt;/A&gt;), at chapter 2, where it is showing the final revisions while implementing an accelerometer and magnetometer in a PCB:&lt;/P&gt;
&lt;P&gt;"The z-axis accelerometer should read +1g and the x and y axes &lt;BR /&gt;negligible values. Invert the PCB so that the z-axis points upwards and verify that the z-axis&lt;BR /&gt;accelerometer now indicates -1g."&lt;/P&gt;
&lt;P&gt;If your application needs the contrary behaviour, you can implement that yourself in code, by just negating the axis.&lt;/P&gt;
&lt;P&gt;Hope you find this useful!&lt;/P&gt;
&lt;P&gt;Best regards, Julian&lt;/P&gt;</description>
      <pubDate>Fri, 12 Aug 2022 16:44:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505694#M63815</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2022-08-12T16:44:30Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505698#M63816</link>
      <description>&lt;P&gt;HI Julian,&lt;/P&gt;&lt;P&gt;That is what confused to me.&lt;/P&gt;&lt;P&gt;When flat, Z is pointing UP and reading is 1g. The same for X and Y because I tested the raw data reading.&lt;/P&gt;&lt;P&gt;But, in fusion project, it didn't do *(-1), why?&lt;/P&gt;&lt;P&gt;Based on NED definition, pointing DOWN, it should positive, right?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Christie&lt;/P&gt;</description>
      <pubDate>Fri, 12 Aug 2022 16:54:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1505698#M63816</guid>
      <dc:creator>a8Chcx</dc:creator>
      <dc:date>2022-08-12T16:54:14Z</dc:date>
    </item>
    <item>
      <title>Re: Sensor Fusion, MCUXPresso</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1506229#M63822</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/14098"&gt;@a8Chcx&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;When flat, the z-axis is pointing downwards, which is why the board or the value is +1g. When inverting the board, or any other PCB, the z-axis will point upwards, which will indicate a -1g.&lt;/P&gt;
&lt;P&gt;Best regards, Julian&lt;/P&gt;</description>
      <pubDate>Mon, 15 Aug 2022 15:16:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Sensor-Fusion-MCUXPresso/m-p/1506229#M63822</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2022-08-15T15:16:21Z</dc:date>
    </item>
  </channel>
</rss>

