3 Replies Latest reply on Feb 13, 2017 10:37 AM by user_1377889

    LSM6DS3

    chrisnimako_2249236

      Hey, I'm trying to use the Accelerometer and the Gyroscope on the LSM6DS3 Sensor. Is there a way to read a register directly with the psoc library? I'm unsure of how to poll for a specific addresses stored info.

         

      Thanks in advance!

        • 1. Re: LSM6DS3
          user_1377889

          Welcome in the forum.

             

          You have to decide which of the interfaces you want to use with your LSM6DS3 chip. I would suggest to use I2C.

             

          Byte I2C interface is quite simple: After setting up the component and starting it you use

             

              I2C_MasterSendStart(DeviceAddress,I2C_WRITE_XFER_MODE);    // Initialize a transaction for writing
              I2C_MasterWriteByte(Register);                // Indicate which register you want to write to
              I2C_MasterWriteByte(Value);                // Write to register
              I2C_MasterSendStop();                    // End of transaction

             

          When you want to read from a device you use (example for reading two bytes

             

              I2C_MasterSendStart(DeviceAddress,I2C_WRITE_XFER_MODE);    // Initialize a transaction for writing
              I2C_MasterWrite(Register);                // Indicate which register you want to write to
              I2C_MasterSendRestart(DeviceAddress,I2C_READ_XFER_MODE);
              I2C_MasterReadByte(I2C_ACK_DATA);            // Read from register
              I2C_MasterReadByte(I2C_NAK_DATA);            // Read from register, last byte is NAKed
              I2C_MasterSendStop();                    // End of transaction

             

          Not too difficult. Keep in mind that most of the APIs (except those for reading a byte) return a status byte which, when non-zero indicate an error condition.

             

          The device address is 0x6a, the register to read from you'll have to take from the datasheet.

             

           

             

          Bob

          • 2. Re: LSM6DS3
            chrisnimako_2249236

            Thanks Mr. Marlowe your reply was exact and to the point. I'm able to read values now. Thank you!

            • 3. Re: LSM6DS3
              user_1377889

              You are always welcome!

                 

               

                 

              Bob