MMA955l issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MMA955l issue

1,435 Views
prasannaprabhu7
Contributor III

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 :

   aTxBuffer[0] = 0x00;

  aTxBuffer[1] = 0x00;

  aTxBuffer[2] = 0x00;

  aTxBuffer[3] = 0x0C;

  MMA955L_AcclDataTx(aTxBuffer, 4); //Read ID command

 

//Read Pedometer ID

MMA955L_AcclDataRx(aRxBuffer, 16);

Note: I get response as :

0x00 0x80 0x0c 0x0c 0x7a 0xed 0x25 0x5d 0x01 0x01 0x02 0x02 0x01 0x06 0x03 0x41 when I read 16 bytes of data.

 

//command to request_to_start register configuration

aTxBuffer[0] = 0x01;

  aTxBuffer[1] = 0x10;

  aTxBuffer[2] = 0x00;

  aTxBuffer[3] = 0x04;

  MMA955L_AcclDataTx(aTxBuffer, 4);

aTxBuffer[0] = 0x01;

  aTxBuffer[1] = 0x20;

  aTxBuffer[2] = 0x00;

  aTxBuffer[3] = 0x04;

  aTxBuffer[4] = 0xAA;

  aTxBuffer[5] = 0xBB;

  aTxBuffer[6] = 0xCC;

  aTxBuffer[7] = 0xDD;

  HAL_Delay(100);

  MMA955L_AcclDataTx(aTxBuffer, 8);

 

//Interrupt_App_IDs register configuration

aTxBuffer[0] = 0x01;

aTxBuffer[1] = 0x20;

  aTxBuffer[2] = 0x0C ;

  aTxBuffer[3] = 0x04;

  aTxBuffer[4] = 0x06;

  aTxBuffer[5] = 0x00;

  aTxBuffer[6] = 0x00;

aTxBuffer[7] = 0x00;

  MMA955L_AcclDataTx(aTxBuffer, 8);

//Awake accelerometer

 

aTxBuffer[0] = 0x12;

  aTxBuffer[1] = 0x20;

  aTxBuffer[2] = 0x06;

  aTxBuffer[3] = 0x01;

  aTxBuffer[4] = 0x00;

MMA955L_AcclDataTx(aTxBuffer, 5);

 

//Put accel in legacy mode

aTxBuffer[0] = 0x18;

  aTxBuffer[1] = 0x20;

  aTxBuffer[2] = 0x00;

  aTxBuffer[3] = 0x01;

  aTxBuffer[4] = 0x10;

MMA955L_AcclDataTx(aTxBuffer, 5);

 

//Configure accelerometer xyz data

aTxBuffer[0] = 0x4;

  aTxBuffer[1] = 0x20;

  aTxBuffer[2] = 0x00;

  aTxBuffer[3] = 0xC;

  aTxBuffer[4] = 0x06;

  aTxBuffer[5] = 0x00;

  aTxBuffer[6] = 0x06;

  aTxBuffer[7] = 0x01;

  aTxBuffer[8] = 0x06;

  aTxBuffer[9] = 0x02;

  aTxBuffer[10] = 0x06;

  aTxBuffer[11] = 0x03;

  aTxBuffer[12] = 0x06;

  aTxBuffer[13] = 0x04;

  aTxBuffer[14] = 0x06;

aTxBuffer[15] = 0x05;

   MMA955L_AcclDataTx(aTxBuffer, 16);

//Reading aggregated data

aTxBuffer[0] = 0x12;

  aTxBuffer[1] = 0x20;

  aTxBuffer[2] = 0x06;

  aTxBuffer[3] = 0x01;

  aTxBuffer[4] = 0x00;

  MMA955L_AcclDataTx(aTxBuffer, 5);

 

//POst this read 6 bytes data

Labels (1)
0 Kudos
0 Replies
%3CLINGO-SUB%20id%3D%22lingo-sub-489749%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EMMA955l%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-489749%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20am%20using%20MMA955l%20pedometer%20sensor%20in%20STM32l4RTC%20MCU%2C%20which%20is%20connected%20to%20i2c%20and%20I%20need%20to%20read%20accelerometer%20data%20from%20chip.%20I%20did%20not%20find%20any%20sample%20source%20and%20going%20through%20datasheet%20and%20looking%20at%20examples%20I%20am%20following%20command%20sequence%20as%20%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%20aTxBuffer%5B0%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B1%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B2%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B3%5D%20%3D%200x0C%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20MMA955L_AcclDataTx(aTxBuffer%2C%204)%3B%20%2F%2FRead%20ID%20command%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%2F%2FRead%20Pedometer%20ID%3C%2FP%3E%3CP%3EMMA955L_AcclDataRx(aRxBuffer%2C%2016)%3B%3C%2FP%3E%3CP%3ENote%3A%20I%20get%20response%20as%20%3A%3C%2FP%3E%3CP%3E0x00%200x80%200x0c%200x0c%200x7a%200xed%200x25%200x5d%200x01%200x01%200x02%200x02%200x01%200x06%200x03%200x41%20when%20I%20read%2016%20bytes%20of%20data.%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%2F%2Fcommand%20to%20request_to_start%20register%20configuration%3C%2FP%3E%3CP%3EaTxBuffer%5B0%5D%20%3D%200x01%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B1%5D%20%3D%200x10%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B2%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B3%5D%20%3D%200x04%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20MMA955L_AcclDataTx(aTxBuffer%2C%204)%3B%3C%2FP%3E%3CP%3EaTxBuffer%5B0%5D%20%3D%200x01%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B1%5D%20%3D%200x20%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B2%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B3%5D%20%3D%200x04%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B4%5D%20%3D%200xAA%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B5%5D%20%3D%200xBB%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B6%5D%20%3D%200xCC%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B7%5D%20%3D%200xDD%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20HAL_Delay(100)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20MMA955L_AcclDataTx(aTxBuffer%2C%208)%3B%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%2F%2FInterrupt_App_IDs%20register%20configuration%3C%2FP%3E%3CP%3EaTxBuffer%5B0%5D%20%3D%200x01%3B%3C%2FP%3E%3CP%3EaTxBuffer%5B1%5D%20%3D%200x20%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B2%5D%20%3D%200x0C%20%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B3%5D%20%3D%200x04%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B4%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B5%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B6%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3EaTxBuffer%5B7%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20MMA955L_AcclDataTx(aTxBuffer%2C%208)%3B%3C%2FP%3E%3CP%3E%2F%2FAwake%20accelerometer%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EaTxBuffer%5B0%5D%20%3D%200x12%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B1%5D%20%3D%200x20%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B2%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B3%5D%20%3D%200x01%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B4%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3EMMA955L_AcclDataTx(aTxBuffer%2C%205)%3B%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%2F%2FPut%20accel%20in%20legacy%20mode%3C%2FP%3E%3CP%3EaTxBuffer%5B0%5D%20%3D%200x18%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B1%5D%20%3D%200x20%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B2%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B3%5D%20%3D%200x01%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B4%5D%20%3D%200x10%3B%3C%2FP%3E%3CP%3EMMA955L_AcclDataTx(aTxBuffer%2C%205)%3B%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%2F%2FConfigure%20accelerometer%20xyz%20data%3C%2FP%3E%3CP%3EaTxBuffer%5B0%5D%20%3D%200x4%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B1%5D%20%3D%200x20%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B2%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B3%5D%20%3D%200xC%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B4%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B5%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B6%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B7%5D%20%3D%200x01%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B8%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B9%5D%20%3D%200x02%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B10%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B11%5D%20%3D%200x03%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B12%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B13%5D%20%3D%200x04%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B14%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3EaTxBuffer%5B15%5D%20%3D%200x05%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%20MMA955L_AcclDataTx(aTxBuffer%2C%2016)%3B%3C%2FP%3E%3CP%3E%2F%2FReading%20aggregated%20data%3C%2FP%3E%3CP%3EaTxBuffer%5B0%5D%20%3D%200x12%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B1%5D%20%3D%200x20%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B2%5D%20%3D%200x06%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B3%5D%20%3D%200x01%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20aTxBuffer%5B4%5D%20%3D%200x00%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20MMA955L_AcclDataTx(aTxBuffer%2C%205)%3B%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%2F%2FPOst%20this%20read%206%20bytes%20data%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-489749%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EIntelligent%20Sensing%20Framework%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E