This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Accelerometer data advertising

i have to advertise Lis3dh data. I have accelerometer and nrf52840 dk. Pls assist how can i advertise the data of lis3dh xyz values 

Parents Reply
  • hello, am able to receive the data values in manufacturing packet. But i am only able to get x axis data kindly assist how to parse the values:

    i have float LIS3DH_Acc[3];

    these are the values i receive: 

    uint8_t tmp[6] = {0};
    int16_t tmp_int16[3] = {0};
    uint8_t status = 0;

    //check data ready?
    i2c_read(LIS3DH_I2C_ADDRESS ,(LIS3DH_REGISTER_STATUS_REG2), &status, 0x01);
    if(status & LIS3DH_STATUS_REG_ZYXDA)
    {
    i2c_read(LIS3DH_I2C_ADDRESS ,(LIS3DH_REGISTER_OUT_X_L | LIS3DH_READ_MULTI_BYTES), tmp, 0x06);
    tmp_int16[0] = (int16_t)((tmp[1]<< 8) | tmp[0]);
    tmp_int16[1] = (int16_t)((tmp[3]<< 8) | tmp[2]);
    tmp_int16[2] = (int16_t)((tmp[5]<< 8) | tmp[4]);

    LIS3DH_Acc[0] = (float)(tmp_int16[0]) * LIS3DH_ACC_CONVERT_8G;
    LIS3DH_Acc[1] = (float)(tmp_int16[1]) * LIS3DH_ACC_CONVERT_8G;
    LIS3DH_Acc[2] = (float)(tmp_int16[2]) * LIS3DH_ACC_CONVERT_8G;

    now, i have to put these values in data field of advertising packet manufacturer data

    manuf_data.company_identifier = 0xFFFF;
    manuf_data.data.p_data = data;
    manuf_data.data.size = sizeof(data);

     in this i want to put the data of LIS3DH_ACC how to put LIS3DH_Acc[0],LIS3DH_Acc[1],LIS3DH_Acc[2] values in data field?? 

Children
Related