<?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>SensorsのトピックRe: MMA955L pedometer issue in reading 6axis data</title>
    <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491698#M3012</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All, &lt;/P&gt;&lt;P&gt; I am working on PIC24FJ64GA004 MCU and on MMA9555L connected to IIC. Is there any sample source code available for the same ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 19 Mar 2016 07:29:40 GMT</pubDate>
    <dc:creator>satishchauhan</dc:creator>
    <dc:date>2016-03-19T07:29:40Z</dc:date>
    <item>
      <title>MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491691#M3005</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;I am using MMA955l pedometer sensor in STM32l4RTC MCU, which is connected to i2c and I need to read accelerometer data from chip. I did not find any sample source and going through datasheet and looking at examples I am following command sequence as :&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp;&amp;nbsp; aTxBuffer[0] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x0C;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 4); //Read ID command&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Read Pedometer ID&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MMA955L_AcclDataRx(aRxBuffer, 16);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Note: I get response as :&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;0x00 0x80 0x0c 0x0c 0x7a 0xed 0x25 0x5d 0x01 0x01 0x02 0x02 0x01 0x06 0x03 0x41 when I read 16 bytes of data.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//command to request_to_start register configuration&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[0] = 0x01;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x10;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x04;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 4);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[0] = 0x01;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x04;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0xAA;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[5] = 0xBB;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[6] = 0xCC;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[7] = 0xDD;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; HAL_Delay(100);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 8);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Interrupt_App_IDs register configuration&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[0] = 0x01;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x0C ;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x04;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[5] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[6] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[7] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 8);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Awake accelerometer&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[0] = 0x12;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x01;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MMA955L_AcclDataTx(aTxBuffer, 5);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Put accel in legacy mode&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[0] = 0x18;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x01;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x10;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MMA955L_AcclDataTx(aTxBuffer, 5);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Configure accelerometer xyz data&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[0] = 0x4;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0xC;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[5] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[6] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[7] = 0x01;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[8] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[9] = 0x02;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[10] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[11] = 0x03;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[12] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[13] = 0x04;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[14] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[15] = 0x05;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 16);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Reading aggregated data&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[0] = 0x12;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x06;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x01;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 5);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//POst this read 6 bytes data&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MMA955L_AcclDataRx(aRxBuffer, 6);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Note: Getting reply as &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;0x00 0x80 0x0c 0x0c 0x7a 0xed&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;Is that I am following proper steps or is that I need to change any ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;info : Here &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;MMA955L_AcclDataTx is a function to transmit data to i2c slave and &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;MMA955L_AcclDataRx is a function to receive i2c data from slave.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;Prasanna Prabhu&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2026 21:32:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491691#M3005</guid>
      <dc:creator>prasannaprabhu7</dc:creator>
      <dc:date>2026-02-03T21:32:30Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491692#M3006</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Prasanna,&lt;/P&gt;&lt;P&gt;Let me try to analyze your configuration. I will use following convention (all in hexadecimal):&lt;/P&gt;&lt;P&gt;Wnn xx yy etc... to indicate a continuous write transaction starting at address nn, of bytes xx yy etc...&lt;/P&gt;&lt;P&gt;and Rnn xx yy etc... to indicate a continuous read transaction starting at address nn, yielding bytes xx yy etc...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below are your sequence of commands and my associated comments.&lt;/P&gt;&lt;P&gt;1/ &lt;STRONG&gt;W&lt;/STRONG&gt;00 &lt;STRONG&gt;00 00 00 0C&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; ok&lt;/P&gt;&lt;P&gt;2/ &lt;STRONG&gt;R&lt;/STRONG&gt;00 &lt;STRONG&gt;00 80 0C 0C 7A etc...&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; ok&lt;/P&gt;&lt;P&gt;3/ &lt;STRONG&gt;W&lt;/STRONG&gt;00 &lt;STRONG&gt;01 10 00 04&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; query configuration bytes 00 to 04 (Request_to_start registers) of the Scheduler Application (cf "command/response" communication scheme)&lt;/P&gt;&lt;P&gt;If you read those registers: R00 01 80 04 04 &lt;STRONG&gt;00 00 00 00&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; they should be all at 00&lt;/P&gt;&lt;P&gt;4/ W00 01 20 00 04 AA BB CC DD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; update configuration bytes 00 to 04 (Request_to_start registers) of the Scheduler Application&lt;/P&gt;&lt;P&gt;This command (from MMA9555L datasheet) is simply a dummy example so meaningless in your case.&lt;/P&gt;&lt;P&gt;5/ W00 01 20 0C 04 06 00 00 00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt;&amp;nbsp; write configuration bytes 0C to 0F (IRQ_Interrupt_AppIDs) of the Scheduler Application&lt;/P&gt;&lt;P&gt;This assigns IRQ interrupt to AppID 0x19 and 0x1A ( 06 00 00 00 &amp;lt;=&amp;gt; bits n° 25 &amp;amp; 26)&lt;/P&gt;&lt;P&gt;I don't think you need to change anything in the scheduler application settings so previous 3 commands are not necessary. And actually commands 4 &amp;amp; 5 are not relevant&lt;/P&gt;&lt;P&gt;6/ &lt;STRONG&gt;W&lt;/STRONG&gt;00 &lt;STRONG&gt;12 20 06 01 00&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; ok&lt;/P&gt;&lt;P&gt;7/ &lt;STRONG&gt;W&lt;/STRONG&gt;00 &lt;STRONG&gt;18 20 00 01 10&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; ok&lt;/P&gt;&lt;P&gt;8/ &lt;STRONG&gt;W&lt;/STRONG&gt;00 &lt;STRONG&gt;04 20 00 0C 06 00 etc..&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; ok&lt;/P&gt;&lt;P&gt;9/ W00 12 20 06 01 00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; redundant as already done by command 6/&lt;/P&gt;&lt;P&gt;10/ R00 00 08 0C 0C 7A ED =&amp;gt; looks like the same as version application answer so something wrong in your sequence&lt;/P&gt;&lt;P&gt;Moreover, as you have configured the mailbox to "quickread" the AFE XYZ output data, you should directly read mailboxes 04 to 09&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Doing so: &lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;R04&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;STRONG&gt;00 05 FF 9D 10 58&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; I got X=0005, Y=FF9D, Z=1058 (demoboard in horizontal position)&lt;/P&gt;&lt;P&gt;So at least it's working fine at my side.&lt;/P&gt;&lt;P&gt;As a general recommendation (at least for troubleshooting), it may be worthwhile to check that command has completed successfully by reading first 4 mailboxes: 1st byte = AppID code, 2nd = &lt;STRONG&gt;COCO flag&lt;/STRONG&gt; + error code if any (should be &lt;STRONG&gt;80&lt;/STRONG&gt;), 3rd = actual number of bytes read/written, 4th = requested number of bytes read/written&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suggest you implement the changes I mentioned, then let me know if you still face issues.&lt;/P&gt;&lt;P&gt;In that case, what can help is to log the I2C traffic between your Host MCU and MMA9555L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jacques. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Mar 2016 17:27:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491692#M3006</guid>
      <dc:creator>JackITB</dc:creator>
      <dc:date>2016-03-03T17:27:26Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491693#M3007</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Jacques for your kind response. As per your suggestions I did modify my application. These are the commands I am sending.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;aTxBuffer[0] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x0C;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 4); //Read ID command&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//On Reading response&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MMA955L_AcclDataRx(aRxBuffer, 16);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Response buffer data:&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;STRONG&gt;0x00 0x80 0x0c 0x0c 0x7a 0xed 0x25 0x5d 0x01 0x01 0x02 0x02 0x01 0x06 0x03 0x41&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//command to request_to_start register configuration&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt; aTxBuffer[0] = 0x00;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x01;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x10;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x04;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 5);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Read Response :&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MMA955L_AcclDataRx(aRxBuffer, 8);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Response data is on reading is &lt;STRONG&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt; 01 80 04 04 &lt;/SPAN&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;00 00 00 00&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Put module to awake if it was in sleep&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&amp;nbsp; aTxBuffer[0] = 0x00;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x12;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[2] = 0x20;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[3] = 0x06;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[4] = 0x01;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[5] = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 6);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Put device in legacy mode&lt;/P&gt;&lt;P&gt;aTxBuffer[0] = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[1] = 0x18;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[2] = 0x20;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[3] = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[4] = 0x01;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[5] = 0x10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMA955L_AcclDataTx(aRxBuffer, 6);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Configure accelerometer&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[0] = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[1] = 0x04;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[2] = 0x20;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[3] = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[4] = 0x0c;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[5] = 0x06;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[6] = 0x00;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[7] = 0x06;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[8] = 0x01;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[9] = 0x06;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[10] = 0x02;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[11] = 0x06;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[12] = 0x03;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[13] = 0x06;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[14] = 0x04;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[15] = 0x06;&lt;/P&gt;&lt;P&gt;&amp;nbsp; aTxBuffer[16] = 0x05;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 17);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//read data continuosly&lt;/P&gt;&lt;P&gt;while(1)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;MMA955L_AcclDataRx(aRxBuffer, 10);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;}&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Response is &lt;STRONG&gt;0x04 0x80 0x0c 0x0c 0x06 0x00 0x06 0x01 &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;0x06 &lt;/SPAN&gt;0x02 this looks like configure mailbox command is copied back toRX registers&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;STRONG&gt;//This data is always constant even if position of board is changed.&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;STRONG&gt;1&amp;gt; Should we configure any scheduler/ Analog Front End to get Accelerometer data (X,Y,Z) ?? &lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;2&amp;gt;&lt;STRONG&gt;Can you Provide us the sample code on which you got accelerometer axes data continuously getting updated on changing board position?&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;STRONG style=": ; color: #51626f; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;( I did probe the data lines and the data I am receiving is properly copied to buffer with proper clock cycles matching with the ones given in datasheet.)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;STRONG&gt;Regards,&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;STRONG&gt;Prasanna&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Mar 2016 11:02:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491693#M3007</guid>
      <dc:creator>prasannaprabhu7</dc:creator>
      <dc:date>2016-03-04T11:02:30Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491694#M3008</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Hi Prasanna,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;I'm afraid you got confused by my previous answer so let me clarify it, especially the convention I've used:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;STRONG&gt;Wnn xx yy etc... to indicate a continuous write transaction starting at address nn, of bytes xx yy etc... (&lt;STRONG&gt;all in hexadecimal)&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;STRONG&gt;and Rnn xx yy etc... to indicate a continuous read transaction starting at address nn, yielding bytes xx yy etc...&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;So the command &lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;W&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;00 &lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;12 20 06 01 00&lt;/SPAN&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt; reflects a write transaction starting at address 00 (which is Mailbox 0) &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;of following 5 bytes &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB0 = 12&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB1 = 20&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB2 = 06&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB3 = 01&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB4 = 00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;This means you should not embed "W&lt;STRONG&gt;00&lt;/STRONG&gt;" in your TxBuffer (aTxBuffer[0] = 0x00) as it is simply the destination (mailbox/register address) of the first byte.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: inherit; font-style: inherit;"&gt;Similarly &lt;STRONG&gt;R04&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;00 05 FF 9D 10 58&lt;/SPAN&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt; reflects a Read transaction starting at address 04 (Mailbox 4) of 6 consecutive bytes&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB4 = 00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB5 = 05&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB6 = FF&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB7 = 9D&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB8 = 10&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB9 = 58&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;=====================================&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Having said that, I suggest the following commands:&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[0] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x0C;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 4); //Read ID command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//On Reading response&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MMA955L_AcclDataRx(aRxBuffer, 16);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Response buffer data:&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: bold; font-style: inherit; font-family: inherit;"&gt;0x00 0x80 0x0c 0x0c 0x7a 0xed 0x25 0x5d 0x01 0x01 0x02 0x02 0x01 0x06 0x03 0x41&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-weight: bold; font-style: inherit; font-family: inherit;"&gt;(this is mainly a sanity check that communication is fine)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;//Put module to awake if it was in sleep&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[0] = 0x12;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x06;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x01;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x00;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 5);&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Put device in legacy mode&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[0] = 0x18;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x01;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x10;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aRxBuffer, 5);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//Configure accelerometer&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[0] = 0x04;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[1] = 0x20;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[2] = 0x00;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[3] = 0x0c;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[4] = 0x06;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[5] = 0x00;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[6] = 0x06;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[7] = 0x01;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[8] = 0x06;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[9] = 0x02;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[10] = 0x06;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[11] = 0x03;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[12] = 0x06;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[13] = 0x04;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-weight: bold; font-style: inherit; font-family: inherit;"&gt; &lt;/SPAN&gt; aTxBuffer[14] = 0x06;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; aTxBuffer[15] = 0x05;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&amp;nbsp; MMA955L_AcclDataTx(aTxBuffer, 16);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;//read data continuously&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;while(1)&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;{&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MMA955L_AcclDataRx(aRxBuffer, 10);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;//Response data shall looks like &lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;04 80 0C 0C Xhigh&lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt; Xlow Yhigh Ylow Zhigh Zlow&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-weight: inherit; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-style: inherit;"&gt;MB0 = 04&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-weight: inherit; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-style: inherit;"&gt;MB1 = 80&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-weight: inherit; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-style: inherit;"&gt;MB2 = 0C&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-weight: inherit; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-style: inherit;"&gt;MB3 = 0C&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-weight: inherit; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-style: inherit;"&gt;First for mailboxes contain the answer to previous command so are useless&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-weight: inherit; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-style: inherit;"&gt;MB4 = Xdata high byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-weight: inherit; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-style: inherit;"&gt;MB5 = Xdata low byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-weight: bold; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB6 = Ydata high byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-weight: bold; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB7 = Ydata low byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-weight: bold; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB8 = Zdata high byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-weight: bold; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;MB9 = Zdata low byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note 1: the data will be updated at a 30.5Hz measurement recurrence&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Note 2: you may configure INT_O pin to flag when new data is available (in order to trigger an interrupt at the host MCU)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if you are successful.&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jacques.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Mar 2016 14:16:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491694#M3008</guid>
      <dc:creator>JackITB</dc:creator>
      <dc:date>2016-03-04T14:16:59Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491695#M3009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Jaques for your reply. Is did send above commands but I did not receive accelerometer data changing on changing axes and instead all time same data is read as&amp;nbsp; 0x04 0x80 0x0c 0x0c 0x06 0x00 0x06 0x02 0x06 0x04. Any suggestions ?&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Prasanna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Mar 2016 15:47:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491695#M3009</guid>
      <dc:creator>prasannaprabhu7</dc:creator>
      <dc:date>2016-03-07T15:47:50Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491696#M3010</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is weird.&lt;/P&gt;&lt;P&gt;Could you add a tempo (i.e. "wait 50ms") inside the while(1) loop, so that the reading is not overwhelming the slave interface.&lt;/P&gt;&lt;P&gt;If you still are not successful, best is to send us the slave port traffic log (time stamp, byte stream) for us to analyze.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Mar 2016 19:28:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491696#M3010</guid>
      <dc:creator>JackITB</dc:creator>
      <dc:date>2016-03-07T19:28:13Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491697#M3011</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Prasanna,&lt;/P&gt;&lt;P&gt;Actually I would recommend that you add a ~50ms delay after each command sent to MMA9555L. This will make sure that the sensor has enough time to execute the command prior receiving the next one.&lt;/P&gt;&lt;P&gt;Alternatively, you can set INT_O output line to toggle when command has been completed: &lt;SPAN style="font-weight: bold; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;W&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;00 &lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;18 20 00 01 90&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&amp;nbsp;&amp;nbsp; Jacques.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: you'll find attached the communication log I have with my set-up&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Mar 2016 14:23:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491697#M3011</guid>
      <dc:creator>JackITB</dc:creator>
      <dc:date>2016-03-08T14:23:15Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491698#M3012</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All, &lt;/P&gt;&lt;P&gt; I am working on PIC24FJ64GA004 MCU and on MMA9555L connected to IIC. Is there any sample source code available for the same ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 19 Mar 2016 07:29:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491698#M3012</guid>
      <dc:creator>satishchauhan</dc:creator>
      <dc:date>2016-03-19T07:29:40Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491699#M3013</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Satish,&lt;/P&gt;&lt;P&gt;We usually don't provide sample code for MCUs not pertaining to NXP portfolio.&lt;/P&gt;&lt;P&gt;You should get some generic I2C driver code for the PIC MCU, then we can help you configure and operate MMA9555L (slave I2C address = 0x4C) according to your need.&lt;/P&gt;&lt;P&gt;All what it takes is to send some commands (writing consecutive bytes) and getting answers (reading consecutive bytes).&lt;/P&gt;&lt;P&gt;If you share your targeted settings, we'll provide the query/response command list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jacques.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Mar 2016 18:21:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491699#M3013</guid>
      <dc:creator>JackITB</dc:creator>
      <dc:date>2016-03-22T18:21:55Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491700#M3014</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacques Trichet&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Verdana, Geneva, sans-serif; font-size: 14px;"&gt;Thank you for your reply. I have&amp;nbsp; code for PIC MCU i2c driver, I have gone trough the data sheet of &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;MMA955l pedometer In that they have given some configuration of mailbox implementation. My question is how to configure the mail box?. HOw it work it works? is it work like what we use in Linux (IPC mechanism) for synchronization or what?. if you have any source code for that mailbox configuration then please post here.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Thanks &amp;amp; Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;satish Chauhan&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Verdana, Geneva, sans-serif; font-size: 14px;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 Mar 2016 05:53:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491700#M3014</guid>
      <dc:creator>satishchauhan</dc:creator>
      <dc:date>2016-03-26T05:53:02Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491701#M3015</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Satish,&lt;/P&gt;&lt;P&gt;My apologies for the delayed response.&lt;/P&gt;&lt;P&gt;You may have in mind a more sophisticated communication Interface that what's proposed by MMA9555.&lt;/P&gt;&lt;P&gt;The Mailboxes can be considered simply as fixed address registers, just like any sensor device. Main difference is that their content depends on the Application ID that is invoked (unless "legacy mode" is used).&lt;/P&gt;&lt;P&gt;Finally as I have hard time to understand what kind of information your are missing, I put a brief guide for the Mailbox operation in the document attached.&lt;/P&gt;&lt;P&gt;I hope it will help, let me know otherwise.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jacques.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Apr 2016 14:30:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491701#M3015</guid>
      <dc:creator>JackITB</dc:creator>
      <dc:date>2016-04-08T14:30:12Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491702#M3016</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello JackITB,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you Jaques for your reply. I am working on PIC24fj64ga004 MCU, Here i&lt;/P&gt;&lt;P&gt;am communicating with 3 slaves (MAX30100,MMA9555L &amp;amp; OLED) by i2c&lt;/P&gt;&lt;P&gt;communication. while communicating with slaves am passing device&lt;/P&gt;&lt;P&gt;address(slave address) to following functions (ie : int  I2C1_M_Poll(0X4C)&lt;/P&gt;&lt;P&gt;then it is not reading data it is directly coming out of loop. If i pass&lt;/P&gt;&lt;P&gt;slave address of (MAX30100(ie =0XAE)) code is working, but i pass device&lt;/P&gt;&lt;P&gt;address for MMA9555L (ie= 0X4C)then it is not detecting anything. my&lt;/P&gt;&lt;P&gt;question is why this device address (ox4c) is not detecting what is my&lt;/P&gt;&lt;P&gt;mistake i code. please tell the proper way to write it.&lt;/P&gt;&lt;P&gt;As you mentioned in data sheet like (MMA9555l device address is 0x4c&lt;/P&gt;&lt;P&gt; and Pedometer Application Identifier is 0x15 this am considering&lt;/P&gt;&lt;P&gt;as sub-address ) and these parameters am passing in my I2c communication&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what parameters i need to pass in  these function so it work properly as am&lt;/P&gt;&lt;P&gt;passing&lt;/P&gt;&lt;P&gt; I2C1_M_Poll(unsigned int DevAddr); EX:  (I2C1_M_Poll(0X4C);)&lt;/P&gt;&lt;P&gt;  I2C1_M_Read(unsigned int DevAddr,unsigned int SubAddr, int ByteCnt, char&lt;/P&gt;&lt;P&gt;*buffer); EX:  ( I2C1_M_Read(0X4D,0X15,1,bufffer))&lt;/P&gt;&lt;P&gt; I2C1_M_ReadByte(unsigned int);&lt;/P&gt;&lt;P&gt;  I2C1_M_Write(0X4C,0X15,1,bufffer);&lt;/P&gt;&lt;P&gt; I2C1_M_WriteByte('a');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; This is first time i am implimenting this i2c communication .Here&lt;/P&gt;&lt;P&gt;somewhere am doing wrong please explain steps what should i do after this&lt;/P&gt;&lt;P&gt;i2c communication.Hope this time you replay quickly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;p24FJ64GA004.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "i2c.h"&lt;/P&gt;&lt;P&gt;#include "delay.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//Variables//&lt;/P&gt;&lt;P&gt;unsigned int I2Cflags;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//Function prototype;&lt;/P&gt;&lt;P&gt;void I2C_HWini(void);&lt;/P&gt;&lt;P&gt;void I2C_ModuleStart(void);&lt;/P&gt;&lt;P&gt;void I2C_SWini(void);&lt;/P&gt;&lt;P&gt;int  I2C1_M_BusReset(void);&lt;/P&gt;&lt;P&gt;void I2C1_M_ClearErrors(void);&lt;/P&gt;&lt;P&gt;int  I2C1_M_Poll(unsigned int);&lt;/P&gt;&lt;P&gt;int  I2C1_M_Read(unsigned int, unsigned int, int, char *);&lt;/P&gt;&lt;P&gt;int  I2C1_M_ReadByte(unsigned int);&lt;/P&gt;&lt;P&gt;int  I2C1_M_RecoverBus(void);&lt;/P&gt;&lt;P&gt;int  I2C1_M_Restart(void);&lt;/P&gt;&lt;P&gt;int  I2C1_M_Start(void);&lt;/P&gt;&lt;P&gt;int  I2C1_M_Stop(void);&lt;/P&gt;&lt;P&gt;int  I2C1_M_Write(unsigned int,unsigned int, int, char *);&lt;/P&gt;&lt;P&gt;int  I2C1_M_WriteByte(char);&lt;/P&gt;&lt;P&gt;//int MMMA9555L_data_Tx(char*,int);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void I2C_HWini()      //Set pin drive modes //I2C - drive outputs so we can&lt;/P&gt;&lt;P&gt;manually clear lines&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;    LATBbits.LATB8 = 1;&lt;/P&gt;&lt;P&gt;LATBbits.LATB9 = 1; //Start with bus in idle mode - both lines hig&lt;/P&gt;&lt;P&gt;ODCBbits.ODB2 = 1;    //Open drain mode&lt;/P&gt;&lt;P&gt;ODCBbits.ODB3 = 1;&lt;/P&gt;&lt;P&gt;// TRISBbits.TRISB8 = 0;                                    //SCL1 output&lt;/P&gt;&lt;P&gt;   // TRISBbits.TRISB9 = 0;                                    //SDA1&lt;/P&gt;&lt;P&gt;output&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void I2C_ModuleStart()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;OSCCON = 0X2200;&lt;/P&gt;&lt;P&gt;   // OSCTUN = 0X0000;&lt;/P&gt;&lt;P&gt;    CLKDIV = 0X0000;&lt;/P&gt;&lt;P&gt;I2C1CON = 0x1000;     //Set all bits to known state&lt;/P&gt;&lt;P&gt;I2C1CONbits.I2CEN = 0; //Disable until everything set up. Pins will be std&lt;/P&gt;&lt;P&gt;IO.&lt;/P&gt;&lt;P&gt;I2C1BRG = 39;         //I2C1BRG = (Fcy/Fscl-FCY/10E6)&lt;/P&gt;&lt;P&gt;I2C1CONbits.DISSLW = 0; //Enable slew rate control for 400kHz operation&lt;/P&gt;&lt;P&gt;IFS1bits.MI2C1IF = 0; //Clear I2C master int flag&lt;/P&gt;&lt;P&gt;I2C1CONbits.I2CEN = 1; //Enable I2C  //For interrupt driven code&lt;/P&gt;&lt;P&gt;IEC1bits.MI2C1IE = 1; //Enable I2C master interrupt&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void I2C_SWini()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;unsigned int I2Cflags = 0;&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty; //I2C bus in unknown state, go ahead and clear it&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int I2C1_M_BusReset()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int i;&lt;/P&gt;&lt;P&gt;                //Start with lines high - sets SCL high if not already there&lt;/P&gt;&lt;P&gt;LATBbits.LATB8 = 1; //PORTBbits.RG2 = 1 is equivalent&lt;/P&gt;&lt;P&gt;LATBbits.LATB9 = 1;&lt;/P&gt;&lt;P&gt;delay(1); //Need 5uS delay&lt;/P&gt;&lt;P&gt;if(PORTBbits.RB2 == 0) //Read if line actually went high&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;return I2C_Err_SCL_low; //SCL stuck low - is the pullup resistor loaded?&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;i=10;   //SCL ok, toggle until SDA goes high.&lt;/P&gt;&lt;P&gt;while(i&amp;gt;0)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;if(PORTBbits.RB3 == 1) //If SDA is high, then we are done&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;break;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;LATBbits.LATB8 = 0; //SCL low&lt;/P&gt;&lt;P&gt;delay(1);     //Need 5uS delay&lt;/P&gt;&lt;P&gt;LATBbits.LATB8 = 1;     //SCL high&lt;/P&gt;&lt;P&gt;delay(1); //Need 5uS delay&lt;/P&gt;&lt;P&gt;i--;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;if((PORTB &amp;amp; 0x000C) != 0x000C) //We are ok if SCL and SDA high&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;return I2C_Err_SDA_low;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LATBbits.LATB9 = 0; //SDA LOW while SCL HIGH -&amp;gt; START&lt;/P&gt;&lt;P&gt;delay(1); //Need 5uS delay&lt;/P&gt;&lt;P&gt;LATBbits.LATB9 = 1; //SDA HIGH while SCL HIGH -&amp;gt; STOP&lt;/P&gt;&lt;P&gt;delay(1); //Need 5uS delay&lt;/P&gt;&lt;P&gt;return I2C_OK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void I2C1_M_ClearErrors()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1CONbits.RCEN = 0; //Cancel receive request&lt;/P&gt;&lt;P&gt;I2C1STATbits.IWCOL = 0; //Clear write-collision flag&lt;/P&gt;&lt;P&gt;I2C1STATbits.BCL = 0; //Clear bus-collision flag&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int  I2C1_M_Poll(unsigned int DevAddr)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int retval;&lt;/P&gt;&lt;P&gt;int SlaveAddr;&lt;/P&gt;&lt;P&gt;SlaveAddr = (DevAddr &amp;lt;&amp;lt; 1) | 0;&lt;/P&gt;&lt;P&gt;if(IsI2C1BusDirty)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1_M_ClearErrors();&lt;/P&gt;&lt;P&gt;if(I2C1_M_RecoverBus()==I2C_OK)&lt;/P&gt;&lt;P&gt;{//Recovered&lt;/P&gt;&lt;P&gt;ClrI2C1BusDirty;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;return I2C_Err_Hardware;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;if(I2C1_M_Start() == I2C_OK)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;retval = I2C1_M_WriteByte((char)SlaveAddr);&lt;/P&gt;&lt;P&gt;if(I2C1_M_Stop() == I2C_OK) //Even if we have an error sending, try to&lt;/P&gt;&lt;P&gt;close I2C&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;if(retval == I2C_ACK)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;return I2C_OK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else if(retval == I2C_Err_NAK)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;return I2C_Err_BadAddr; //Check that correct device address is being used&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;   //Get here then we had an error&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty; //Set error flag&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int  I2C1_M_Read(unsigned int DevAddr,unsigned int SubAddr, int ByteCnt,&lt;/P&gt;&lt;P&gt;char *buffer)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int SlaveAddr;&lt;/P&gt;&lt;P&gt;int retval;&lt;/P&gt;&lt;P&gt;int i;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(IsI2C1BusDirty) //Ignore requests until Poll cmd is called to fix err.&lt;/P&gt;&lt;P&gt;return I2C_Err_BusDirty;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(I2C1_M_Start() != I2C_OK) //Start&lt;/P&gt;&lt;P&gt;{//Failed to open bus&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;SlaveAddr = (DevAddr &amp;lt;&amp;lt; 1) | 0; //Device Address + Write bit&lt;/P&gt;&lt;P&gt;retval = I2C1_M_WriteByte((char)SlaveAddr);&lt;/P&gt;&lt;P&gt;if(retval == I2C_Err_NAK)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;        //Bad Slave Address or I2C slave device stopped responding&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty; //Will reset slave device&lt;/P&gt;&lt;P&gt;return I2C_Err_BadAddr;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else if(retval&amp;lt;0)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if( I2C1_M_WriteByte((char)SubAddr) != I2C_OK) //Sub Addr&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if( I2C1_M_Restart() != I2C_OK) //Repeated start - switch to read mode&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SlaveAddr = (DevAddr &amp;lt;&amp;lt; 1) | 0x01;     //Device Address + Read bit&lt;/P&gt;&lt;P&gt;if( I2C1_M_WriteByte((char)SlaveAddr) != I2C_OK) //Slave Addr&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;for(i=0;i&amp;lt;ByteCnt;i++) //Data&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;if(i==(ByteCnt-1) )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;retval = I2C1_M_ReadByte(I2C_M_NACK); //NACK on last byte so slave knows&lt;/P&gt;&lt;P&gt;this is it&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;retval = I2C1_M_ReadByte(I2C_M_ACK);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;if(retval &amp;gt;= 0)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;buffer[i] = retval;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;            //Error while reading byte.  Close connection and set error&lt;/P&gt;&lt;P&gt;flag.&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(I2C1_M_Stop() != I2C_OK)&lt;/P&gt;&lt;P&gt;{//Failed to close bus&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;return I2C_OK; //Success&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int I2C1_M_ReadByte(unsigned int ACKflag)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int t;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(ACKflag == I2C_M_NACK) //Set state in preparation for TX below&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1CONbits.ACKDT = 1;//NACK&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1CONbits.ACKDT = 0;//ACK&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I2C1CONbits.RCEN = 1; //Start receive&lt;/P&gt;&lt;P&gt;t=0;//Timeout is processor speed dependent.  @(4*8Mhz=16MIPS) and 8 bits, I&lt;/P&gt;&lt;P&gt;expect &amp;lt;=320.&lt;/P&gt;&lt;P&gt;//We could wait for RCEN to be cleared, but are really interested in&lt;/P&gt;&lt;P&gt;incoming byte, so look for I2C1STAT.RBF&lt;/P&gt;&lt;P&gt;while(!I2C1STATbits.RBF) //HW cleared when receive complete&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;t++;&lt;/P&gt;&lt;P&gt;if(t&amp;gt;8000)&lt;/P&gt;&lt;P&gt;{    //SCL stuck low&lt;/P&gt;&lt;P&gt;//RCEN cannot be cleared in SW. Will need to reset I2C interface, or wait&lt;/P&gt;&lt;P&gt;until SCL goes high.&lt;/P&gt;&lt;P&gt;return I2C_Err_RcvTimeout;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}                                     //Tested: t=30&lt;/P&gt;&lt;P&gt;//I2C1STATbits.RBF will likely be set&lt;/P&gt;&lt;P&gt;    //As the master we must ACK or NACK every byte, so slave knows if it&lt;/P&gt;&lt;P&gt;will send another byte.&lt;/P&gt;&lt;P&gt;//We have set the bit above, just need to send it&lt;/P&gt;&lt;P&gt;I2C1CONbits.ACKEN = 1;    //Send ACK bit now&lt;/P&gt;&lt;P&gt;t=0;                                //Timeout is processor speed dependent.&lt;/P&gt;&lt;P&gt; @(4*8Mhz=16MIPS), I expect &amp;lt;=40.&lt;/P&gt;&lt;P&gt;while(I2C1CONbits.ACKEN) //HW cleared when complete&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;t++;&lt;/P&gt;&lt;P&gt;if(t&amp;gt;1000)&lt;/P&gt;&lt;P&gt;{//This will timeout if SCL stuck low&lt;/P&gt;&lt;P&gt;//ACKEN cannot be cleared in SW. I2C interface must be reset after this&lt;/P&gt;&lt;P&gt;error.&lt;/P&gt;&lt;P&gt;return I2C_Err_SCL_low;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}//Tested: t=4&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.I2COV) //If an overflow occurred, it means we received a&lt;/P&gt;&lt;P&gt;new byte before reading last one&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1STATbits.I2COV = 0;&lt;/P&gt;&lt;P&gt;return I2C_Err_Overflow;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;return I2C1RCV; //Reading this register clears RBF&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    int I2C1_M_RecoverBus()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int status;&lt;/P&gt;&lt;P&gt;I2C1CONbits.I2CEN = 0;&lt;/P&gt;&lt;P&gt;status = I2C1_M_BusReset();&lt;/P&gt;&lt;P&gt;if(status&amp;gt;0)&lt;/P&gt;&lt;P&gt;{//Fatal I2C error, nothing we can do about it&lt;/P&gt;&lt;P&gt;return I2C_Err_Hardware;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;//That worked, bring I2C back online&lt;/P&gt;&lt;P&gt;I2C1CONbits.I2CEN = 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;return I2C_OK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    int I2C1_M_Restart()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int t;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I2C1CONbits.RSEN = 1; //Initiate restart condition&lt;/P&gt;&lt;P&gt;t=0;&lt;/P&gt;&lt;P&gt;while(I2C1CONbits.RSEN) //HW cleared when complete&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;t++;&lt;/P&gt;&lt;P&gt;if(t&amp;gt;1000)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;return I2C_Err_SCL_low;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}//Tested: t=5&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.BCL)&lt;/P&gt;&lt;P&gt;{//SDA stuck low&lt;/P&gt;&lt;P&gt;I2C1STATbits.BCL = 0; //Clear error to regain control of I2C&lt;/P&gt;&lt;P&gt;return I2C_Err_BCL;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;return I2C_OK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    int I2C1_M_Start()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int t;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I2C1CONbits.SEN = 1; //Initiate Start condition&lt;/P&gt;&lt;P&gt;Nop();&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.BCL)&lt;/P&gt;&lt;P&gt;{//SCL or SDA stuck low&lt;/P&gt;&lt;P&gt;I2C1CONbits.SEN = 0; //Cancel request (will still be set if we had previous&lt;/P&gt;&lt;P&gt;BCL)&lt;/P&gt;&lt;P&gt;I2C1STATbits.BCL = 0; //Clear error to regain control of I2C&lt;/P&gt;&lt;P&gt;return I2C_Err_BCL;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.IWCOL)&lt;/P&gt;&lt;P&gt;{//Not sure how this happens but it occurred once, so trap here&lt;/P&gt;&lt;P&gt;I2C1CONbits.SEN = 0; //Clear just in case set&lt;/P&gt;&lt;P&gt;I2C1STATbits.IWCOL = 0; //Clear error&lt;/P&gt;&lt;P&gt;return I2C_Err_IWCOL;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t=0;&lt;/P&gt;&lt;P&gt;while(I2C1CONbits.SEN) //HW cleared when complete&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;t++;&lt;/P&gt;&lt;P&gt;if(t&amp;gt;1000)&lt;/P&gt;&lt;P&gt;{//Since SCL and SDA errors are trapped by BCL error above, this should&lt;/P&gt;&lt;P&gt;never happen&lt;/P&gt;&lt;P&gt;return I2C_Err_TimeoutHW;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.BCL)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1STATbits.BCL = 0; //Clear error to regain control of I2C&lt;/P&gt;&lt;P&gt;return I2C_Err_BCL;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;return I2C_OK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    int I2C1_M_Stop()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int t;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I2C1CONbits.PEN = 1; //Initiate stop condition&lt;/P&gt;&lt;P&gt;Nop();&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.BCL)&lt;/P&gt;&lt;P&gt;{//Not sure if this can ever happen here&lt;/P&gt;&lt;P&gt;I2C1STATbits.BCL = 0; //Clear error&lt;/P&gt;&lt;P&gt;return I2C_Err_BCL; //Will need to reset I2C interface.&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t=0;//Timeout is processor speed dependent.  @(4*8Mhz=16MIPS), I expect&lt;/P&gt;&lt;P&gt;&amp;lt;=40.&lt;/P&gt;&lt;P&gt;while(I2C1CONbits.PEN) //HW cleared when complete&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;t++;&lt;/P&gt;&lt;P&gt;if(t&amp;gt;1000)&lt;/P&gt;&lt;P&gt;{//Will timeout if SCL stuck low&lt;/P&gt;&lt;P&gt;//PEN cannot be cleared in SW. Will need to reset I2C interface.&lt;/P&gt;&lt;P&gt;return I2C_Err_SCL_low;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}//Tested: t=5&lt;/P&gt;&lt;P&gt;return I2C_OK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    int I2C1_M_Write(unsigned int DevAddr,unsigned  int SubAddr, int&lt;/P&gt;&lt;P&gt;ByteCnt, char *buffer)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int i;&lt;/P&gt;&lt;P&gt;int retval;&lt;/P&gt;&lt;P&gt;unsigned int SlaveAddr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(IsI2C1BusDirty) //Ignore requests until Poll cmd is called to fix err.&lt;/P&gt;&lt;P&gt;return I2C_Err_BusDirty;&lt;/P&gt;&lt;P&gt;if(I2C1_M_Start() != 0) //Start&lt;/P&gt;&lt;P&gt;{//Failed to open bus&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SlaveAddr = (DevAddr &amp;lt;&amp;lt; 1) | 0; //Device Address + Write bit&lt;/P&gt;&lt;P&gt;retval = I2C1_M_WriteByte((char)SlaveAddr);&lt;/P&gt;&lt;P&gt;if(retval == I2C_Err_NAK)&lt;/P&gt;&lt;P&gt;{//Bad Slave Address or I2C slave device stopped responding&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty; //Will reset slave device&lt;/P&gt;&lt;P&gt;return I2C_Err_BadAddr;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else if(retval&amp;lt;0)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if( I2C1_M_WriteByte((char)SubAddr) != I2C_ACK) //Sub Addr&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for(i=0;i&amp;lt;ByteCnt;i++) //Data&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;if( I2C1_M_WriteByte(buffer[i]) != I2C_ACK)&lt;/P&gt;&lt;P&gt;{//Error while writing byte.  Close connection and set error flag.&lt;/P&gt;&lt;P&gt;I2C1_M_Stop();&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(I2C1_M_Stop() != I2C_OK)&lt;/P&gt;&lt;P&gt;{//Failed to close bus&lt;/P&gt;&lt;P&gt;SetI2C1BusDirty;&lt;/P&gt;&lt;P&gt;return I2C_Err_CommFail;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;return I2C_OK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    int I2C1_M_WriteByte(char cData)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;int t;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.TBF) //Is there already a byte waiting to send? //TBF&lt;/P&gt;&lt;P&gt;Transmission Buffer full&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;return I2C_Err_TBF;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;I2C1TRN = cData; //Send byte&lt;/P&gt;&lt;P&gt;t=0;&lt;/P&gt;&lt;P&gt;while(I2C1STATbits.TRSTAT) //HW cleared when TX complete&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;t++;&lt;/P&gt;&lt;P&gt;if(t&amp;gt;8000)&lt;/P&gt;&lt;P&gt;{//This is bad because TRSTAT will still be set&lt;/P&gt;&lt;P&gt;return I2C_Err_SCL_low; //Must reset I2C interface, and possibly slave&lt;/P&gt;&lt;P&gt;devices&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}//Testing: t=31&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.BCL)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;I2C1STATbits.BCL = 0; //Clear error to regain control of I2C&lt;/P&gt;&lt;P&gt;return I2C_Err_BCL;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//Done, now how did slave respond?&lt;/P&gt;&lt;P&gt;if(I2C1STATbits.ACKSTAT) //1=NACK&lt;/P&gt;&lt;P&gt;return I2C_Err_NAK; //  NACK&lt;/P&gt;&lt;P&gt;else&lt;/P&gt;&lt;P&gt;return I2C_ACK; //  ACK&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;&lt;P&gt;satish&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On Fri, Apr 8, 2016 at 8:01 PM, JackITB &amp;lt;admin@community.freescale.com&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Apr 2016 06:10:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491702#M3016</guid>
      <dc:creator>satishchauhan</dc:creator>
      <dc:date>2016-04-11T06:10:45Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491703#M3017</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Satish,&lt;/P&gt;&lt;P&gt;I'm afraid, we can only provide FW support for our NXP MCU.&lt;/P&gt;&lt;P&gt;Nevertheless here are a few comments:&lt;/P&gt;&lt;P&gt;1/&amp;nbsp; 0x4C is the MMA9555 "7-bits" I2C slave address, this means that the R/W flag (LSB bit) is not included !&lt;/P&gt;&lt;P&gt;To get the "8-bits" address (which may be what the I2C driver is expected ?) you need to do a "1 bit left shift" and add R/W flag. So full 8-bits I2C Write address is twice this value = 0x98 (whereas Read address is 0x99)&lt;/P&gt;&lt;P&gt;2/ Pedometer Application Identifier (i.e. 0x15) is not a "sub-address", this is the value/data you need to write in MMA9555 mailbox address 0. Actually the "sub-address" is 0x00 for most of the Write &amp;amp; Read transactions. Again see MMA9555 documentation provided.&lt;/P&gt;&lt;P&gt;3/ if you still struggle, send me plots of the I2C signals during the Write/Read transactions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jacques.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Apr 2016 18:35:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491703#M3017</guid>
      <dc:creator>JackITB</dc:creator>
      <dc:date>2016-04-11T18:35:08Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491704#M3018</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you  Jaques for your quick response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On Tue, Apr 12, 2016 at 12:06 AM, JackITB &amp;lt;admin@community.freescale.com&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Apr 2016 04:13:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491704#M3018</guid>
      <dc:creator>satishchauhan</dc:creator>
      <dc:date>2016-04-12T04:13:47Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491705#M3019</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class="mail-message expanded" style="color: #000000; font-family: sans-serif; font-size: 14px;"&gt;Hello Jaques,&lt;/P&gt;&lt;DIV&gt;&lt;P dir="ltr"&gt;I am working on pedometer (mma9555l).. Pedometer is not detecting in my board. I have tested the same board with arduno uno i2c scanner &amp;amp; with i2c poll function.. then also it not detecting mma.. same i2c code is working fr other slaves(max,Tmp).. I have gone through the data sheet of mma.. They have mentioned SCA SDA should be =1.8 v..&lt;BR /&gt;But in my board it showing 2.27V..&lt;BR /&gt;Is this reason for not detecting mma..?&lt;/P&gt;&lt;P dir="ltr"&gt;Again i have tried with 1.8 v..den also mma is not detecting. How I should confirm that Mma9555l is working or not in my board . Please some one help how to solve this problem.&lt;/P&gt;&lt;P dir="ltr"&gt;&lt;/P&gt;&lt;P dir="ltr"&gt;Regards&lt;/P&gt;&lt;P dir="ltr"&gt;Satish&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 May 2016 01:12:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491705#M3019</guid>
      <dc:creator>satishchauhan</dc:creator>
      <dc:date>2016-05-01T01:12:47Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491706#M3020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Satish,&lt;/P&gt;&lt;P&gt;Yes, the MMA9555 is operating at a supply voltage of 1.8V +/-5%. This is also the nominal voltage for all digital I/O pins so please align your board supply tree accordingly.&lt;/P&gt;&lt;P&gt;Keep in mind that the level of pin8 (RGPIO3) during reset determines which slave interface mode will be used by the device (set pin to high level for I2C mode).&lt;/P&gt;&lt;P&gt;At last, can you be more specific regarding "MMA not detecting" ? What command message do you send, what answer do you get if any... Any digital Scope plot of the I2C lines would help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jacques.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 May 2016 15:50:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491706#M3020</guid>
      <dc:creator>JackITB</dc:creator>
      <dc:date>2016-05-02T15:50:53Z</dc:date>
    </item>
    <item>
      <title>Re: MMA955L pedometer issue in reading 6axis data</title>
      <link>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491707#M3021</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am working on pedometer( MMA9555L) which is interfaced with iMX6 processor.&lt;/P&gt;&lt;P&gt;I have the following questions:&lt;/P&gt;&lt;P&gt;1. Is the version information below correct?&lt;/P&gt;&lt;P&gt;2. How to configure MMA9555L for multiple applications ? For example I need both the directional data and pedometer data, is it possible to get both simultaneously?&lt;/P&gt;&lt;P&gt;Please share a sample code if you have.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my application code.&lt;/P&gt;&lt;P&gt;txBuff[0] = 0x00;&lt;BR /&gt; txBuff[1] = 0x00;&lt;BR /&gt; txBuff[2] = 0x00;&lt;BR /&gt; txBuff[3] = 0x0C;&lt;/P&gt;&lt;P&gt;pedo_fd = open("/dev/i2c-2", O_RDWR)&lt;/P&gt;&lt;P&gt;pedo_ioc = ioctl(pedo_fd, I2C_SLAVE, 0x4C)&lt;/P&gt;&lt;P&gt;i2c_smbus_write_i2c_block_data(pedo_fd, 0X00, 0X04, txBuff);&lt;/P&gt;&lt;P&gt;i2c_smbus_read_i2c_block_data(pedo_fd, 0x00, rxBuff)&lt;/P&gt;&lt;P&gt;the output of read is as below:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;0x0 0x80 0xc 0xc 0x5e 0xa3 0xa5 0x77 0x1 0x10x2 0x2 0x1 0x6 0x3 0x41&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chiru&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Jul 2017 14:58:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA955L-pedometer-issue-in-reading-6axis-data/m-p/491707#M3021</guid>
      <dc:creator>chiranjeevikinn</dc:creator>
      <dc:date>2017-07-27T14:58:07Z</dc:date>
    </item>
  </channel>
</rss>

