<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>[Freescale Sensors] New version of the Xtrinsic eCompass software released</title><link>https://community.element14.com/technologies/sensor-technology/w/documents/11034/freescale-sensors-new-version-of-the-xtrinsic-ecompass-software-released</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>[Freescale Sensors] New version of the Xtrinsic eCompass software released</title><link>https://community.element14.com/technologies/sensor-technology/w/documents/11034/freescale-sensors-new-version-of-the-xtrinsic-ecompass-software-released</link><pubDate>Fri, 08 Oct 2021 05:28:47 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dee5e11c-70a9-46f2-95f2-d5d7caeb2acd</guid><dc:creator>MAb</dc:creator><comments>https://community.element14.com/technologies/sensor-technology/w/documents/11034/freescale-sensors-new-version-of-the-xtrinsic-ecompass-software-released#comments</comments><description>Current Revision posted to Documents by MAb on 10/8/2021 5:28:47 AM&lt;br /&gt;
&lt;p style="margin:0;font-style:inherit;font-family:inherit;"&gt;&lt;span class="jive-blog-post-subject-stats" style="font-style:inherit;font-family:inherit;"&gt;Article first published by &lt;a class="jive-link-external-small" href="https://community.freescale.com/people/michaelestanley" rel="nofollow ugc noopener" style="font-style:inherit;font-family:inherit;color:#3778c7;" target="_blank"&gt;Michael E Stanley&lt;/a&gt; in &lt;a class="jive-link-external-small" href="https://community.freescale.com/community/the-embedded-beat/blog" rel="nofollow ugc noopener" style="font-style:inherit;font-family:inherit;color:#3778c7;" target="_blank"&gt;The Embedded Beat&lt;/a&gt; (Freescale blog) on 29 Apr. 2013&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-style:inherit;font-family:inherit;"&gt;&lt;span class="jive-blog-post-subject-stats" style="font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/38-1573-3962/ELECTRONIC_AWARD_2012.jpg" rel="nofollow ugc noopener" style="font-style:inherit;font-family:inherit;color:#3778c7;" target="_blank"&gt;&lt;img alt="ELECTRONIC_AWARD_2012.jpg" class="jiveImage jive-image" height="74" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/38-1573-3962/68-74/ELECTRONIC_AWARD_2012.jpg" style="margin:2px 15px 10px 0;border:0px;font-style:inherit;font-family:inherit;" width="68" /&gt;&lt;/a&gt;A few weeks ago, my coworkers and I had the pleasure of participating in an awards ceremony in which Electronic Products Magazine presented Freescale with a &lt;a class="jive-link-external-small" href="http://media.freescale.com/phoenix.zhtml?c=196520&amp;amp;p=irol-newsArticle&amp;amp;ID=1781487&amp;amp;highlight=" style="font-style:inherit;font-family:inherit;color:#3778c7;"&gt;Product of the Year award for our Xtrinsic eCompass software&lt;/a&gt;. This software processes the outputs of two sensors (an accelerometer and a magnetometer) to implement a tilt-compensated electronic compass. The software is available in source code format supported by an easy-to-use click through license.&lt;/p&gt;&lt;p style="margin:0;font-style:inherit;font-family:inherit;"&gt;We were at revision 2.0 of that library when Electronic Products announced the award. Since then, revision 3.0 has been uploaded to our web site. To download, click on the ECOMPASS_SW link on the &lt;a class="jive-link-external-small" href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=E-Compass" style="font-style:inherit;font-family:inherit;color:#3778c7;"&gt;Xtrinsic eCompass software&lt;/a&gt; page, read and approve the license agreement that pops up (you can freely use this software in products which include Freescale magnetometers and accelerometers), and save the offered .zip file onto your hard drive.&lt;/p&gt;&lt;p style="margin:0;font-style:inherit;font-family:inherit;"&gt;When you expand the zip file, you will have a folder called &amp;quot;eCompass&amp;quot;, with sub-folders: &amp;quot;Documents&amp;quot; and &amp;quot;Software&amp;quot;.&amp;nbsp; This is a major new release. I&amp;#39;m going to claim it to be the best-documented e-compass solution anywhere, thanks to the Herculean efforts of my good friend Mark Pedley, who also supplied much of the content for this post. Here&amp;#39;s what you&amp;#39;re going to find in the &amp;quot;Documents&amp;quot; folder:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ol style="padding:0 0 0 2em;font-style:inherit;font-family:inherit;"&gt;&lt;li&gt;Software for Tilt-Compensated eCompass with Magnetic Calibration (v3 Release) User Guide&lt;/li&gt;&lt;li&gt;AN4676 - Euler Angle, Rotation Matrix and Quaternion Representations of Orientation in Aerospace, Android&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/00ae.svg" title="Registered"&gt;&amp;#x00ae;&lt;/span&gt; and Windows 8&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/00ae.svg" title="Registered"&gt;&amp;#x00ae;&lt;/span&gt; Coordinates&lt;/li&gt;&lt;li&gt;AN4684 - Magnetic Calibration of Hard and Soft Iron Interference&lt;/li&gt;&lt;li&gt;AN4685 - Tilt-Compensated eCompass in Aerospace, Android and Windows 8 Coordinate Systems&lt;/li&gt;&lt;li&gt;AN4696 - Accelerometer and Magnetometer Sensor Simulatoin for Tilt-Compensated eCompass&lt;/li&gt;&lt;li&gt;AN4697 - Low Pass Filtering of Orientation Estimates&lt;/li&gt;&lt;li&gt;AN4698 - CPU, Flash and RAM Benchmarks : Xtrinsic eCompass and Magnetic Calibration Algorithms&lt;/li&gt;&lt;li&gt;AN4699 - Data Structures for Matrix and Vector Algebra&lt;/li&gt;&lt;li&gt;AN4700 - Control Loop, Data Structures and Compile Time Constants&lt;/li&gt;&lt;li&gt;AN4706 - Accelerometer and Magnetometer Selection and Configuration&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;The software itself has been expanded and improved.&lt;/span&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/38-1573-3963/Flow+chart.jpg" rel="nofollow ugc noopener" style="font-style:inherit;font-family:inherit;color:#3778c7;" target="_blank"&gt;&lt;img loading="lazy" alt="Flow chart.jpg" class="jiveImage jive-image-thumbnail jive-image" height="465" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/38-1573-3963/620-465/Flow+chart.jpg" style="border:0px;font-style:inherit;font-family:inherit;" width="620" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;The &amp;quot;Software&amp;quot; directory contains half a dozen C source and header files that contain everything you need to implement your own e-compass. It also includes a pre-compiled command line tool that lets you simulate performance of the e-compass. The ANSI C source code is processor agnostic allowing Freescale customers to retain their existing MCU architecture. The software is highly optimized to minimize use of program memory, RAM and floating point calculations. Software features include:&lt;/span&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The code compiles into 10KB of ARM Thumb2 object code and uses less than 4KB of RAM.&lt;/li&gt;&lt;li&gt;A dedicated floating point unit (FPU) is not required and the software can run on typical 32 bit integer processors with software floating point emulation.&lt;/li&gt;&lt;li&gt;Orientation is provided in Euler angle (roll, pitch, yaw and compass heading), rotation matrix and quaternion formats.&lt;/li&gt;&lt;li&gt;Supports Aerospace, Android and Windows 8 coordinate systems&lt;/li&gt;&lt;li&gt;Tilt-compensated&lt;/li&gt;&lt;li&gt;Programmable low pass filter&lt;/li&gt;&lt;li&gt;Quality of fit metric indicates expected compass heading error&lt;/li&gt;&lt;li&gt;Resilient to magnetic jamming corrupting calibration&lt;/li&gt;&lt;li&gt;Three levels of hard and soft iron magnetic calibration are provided at increasing levels of performance and computational complexity.&lt;ol style="padding:0 0 0 2em;font-style:inherit;font-family:inherit;"&gt;&lt;li style="margin-top:0.5ex;margin-bottom:0.5ex;font-style:inherit;font-family:inherit;list-style-type:inherit;"&gt;The simplest 4 element calibration solver computes the hard iron correction vector and geomagnetic field strength and removes the largest component of the magnetic interference caused by ferromagnetic components on the circuit board. It consumes 3300 floating point operations per call.&lt;/li&gt;&lt;li&gt;The seven element calibration solver corrects for differing magnetic permeability along the three Cartesian axes and is suitable for the more complex calibration environments found in the dense circuit board layouts of smartphones and tablets. It consumes 20,000 floating point operations per call.&lt;/li&gt;&lt;li&gt;The 10 element calibration solver computes a best-fit solution to the 10 dimensional magnetic optimization problem including off-diagonal elements of the soft iron matrix. It consumes 62,000 floating point operations per call.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="padding:0 0 0 30px;font-style:inherit;font-family:inherit;"&gt;The web-release includes source for options 1 and 2 above. Option 3, the highest performing 10 element calibration solver, is not available in source form, but is available under license in object code format for ARM Thumb2 processors.&lt;/span&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;If you have used previous generations of our e-c&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;ompass software, you will see major improvements in the feature set above. I like the fact that it now supports any of three different orientation representations right out of the box. The math behind an electronic compass isn&amp;#39;t easy, but Mark has done an excellent job of breaking it down into manageable chunks that are easily digested. So please, download the new release, give it a go and let us have your feedback.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong style="font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong style="font-style:inherit;font-family:inherit;"&gt;References:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="https://community.freescale.com/community/the-embedded-beat/blog/2011/01/12/magnetic-sensor-makes-electronic-compass-design-easy" style="font-style:inherit;font-family:inherit;color:#3778c7;"&gt;Magnetic sensor makes electronic compass design easy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="https://community.freescale.com/community/the-embedded-beat/blog/2011/03/14/hard-and-soft-iron-magnetic-compensation-explained" style="font-style:inherit;font-family:inherit;color:#3778c7;"&gt;Hard and soft iron magnetic compensation explained&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="https://community.freescale.com/community/the-embedded-beat/blog/2012/10/29/orientation-representations-part-1" style="font-style:inherit;font-family:inherit;color:#3778c7;"&gt;Orientation Representations - Part 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="https://community.freescale.com/community/the-embedded-beat/blog/2013/01/22/orientation-representations-part-2" style="font-style:inherit;font-family:inherit;color:#3778c7;"&gt;Orientation Representations - Part 2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: freescaledocs, sensors, freescale, xtrinsic, software&lt;/div&gt;
</description></item></channel></rss>