Enabling Gyroscope Support in Smart Remote FW v1.2?


How do i enable Gyroscope Support in Smart Remote FW v1.2?

When I enable this in the sr3_config_*.h file, setting "CONFIG_GYRO_ENABLED 1", I get an error stating: "... fatal error: AIR_MOTION_Lib.h: No such file or directory...".

How do I fix this?

  • In order to enable Gyroscope support in the Smart Remote FW, you need to download the external AIR_MOTION_Lib library from Invensense and include this in the SDK as it is not distributed with the SDK itself. If you try to enable Gyroscope support without having this library in place, you will get the missing header file error. If you include the header file, but forget to include the actual Library in your build, you will probably get a linking error instead. 

    To enable Gyroscope support for the in the SR3 FW, do the following:

    1. Go to https://www.invensense.com/developers/software-downloads/ and make an account (this took me 2 minutes which includes receiving the activation email)
    2. Log in, then go to https://www.invensense.com/developers/software-downloads/ and find the "InvenSense TV: AirMotionLibrary for Nordic nRF52" download
    3. Download the library (called "NordicAML.zip" when I did it), and place the extracted content in SR3 FW Source\Libraries folder, matching the following paths:
      1. Header:
        1. “C:\Nordic Semiconductor\nRFready Smart Remote 3 nRF52 v1.2\nRF5x SDK v14.2.0-SR3\examples\ble_peripheral\smart_remote_3_nrf52\Source\Libraries\AIR_MOTION_Lib.h”
      2. Library files:
        1. “C:\Nordic Semiconductor\nRFready Smart Remote 3 nRF52 v1.2\nRF5x SDK v14.2.0-SR3\examples\ble_peripheral\smart_remote_3_nrf52\Source\Libraries\AIR_MOTION_Lib_3G3A_FULL_M4F_KEIL.lib”
        2. ...+ the others
    4. Depending on your build environment, add the required lib file in Keil, IAR, or the armgcc Makefile for the MCU you are using, M0 (nRF51) vs M4 (nRF52810) vs M4F (nRF52832).
    5. Compile and it should now work

    For the nRF52832, after downloading the files and placing it under ...SR3_SDK\...\Source\Libraries:

    • In Keil;
      • add "AIR_MOTION_Lib_3G3A_FULL_M4F_KEIL.lib" under Libraries folder next to "vocal_anr_keil.lib"
    • For armgcc;
      • add "AIR_MOTION_Lib_3G3A_FULL_M4_GCC.a” under “LIB_FILES += \” along with the “$(PROJ_DIR)/Source/Libraries/vocal_anr_gcc.a \” and the others.