This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LPSTK-CC1352R: Analog Signal Chain Studio tutorial failed to work on a LPSTK-CC1352R CCS project

Part Number: LPSTK-CC1352R
Other Parts Discussed in Thread: SYSCONFIG, CC1352R, HDC2080

Tool/software:

Dear TI Engineers,

I own a LPSTK-CC1352R Sensor Tag
https://www.ti.com/tool/LPSTK-CC1352R

I followed this tutorial to configure my LPSTK-CC1352R Sensor Tag.

https://dev.ti.com/tirex4-desktop/content/simplelink_academy_cc13xx_cc26xxsdk_6_40_00_00/modules/tools/ascstudio/analog_sensor_studio.html

My steps are as following:

  1. Select chip CC1352R1
  2. Create an empty TI driver CCS project with TI RTOS7 and TI Clang.
  3. Add Analog Signal Chain Studio to the project.
  4. Open SysConfig GUI.
  5. Select hardware CC1352R Launchpad.
  6. Click the device icon on the top right corner.  There, I switch the board to LPSTK-CC1352R SensorTag.
  7. Save the Sysconfig file.
  8. Then, from the hardware list, I add HDC2080.  Configure its I2C slave address and MCU I2C pins until there is no more warning or conflict.
  9. I then, exclude empty.c from the build as mentioned by the tutorial.
  10. Check and confirm any unsaved file.
  11. Build the project.
  12. However, it turn out to be a failure.  Errors are shown as below.  Please advice.  Are there bugs in the SDK?
  13. I also attach my CCS project files.  They are from the latest version of SDK, sysconfig and Analog Signal Chain Studio.

ASCS 1352 SensorTag I2C.zip

  • Hi Tim,

    We switcher our drivers from "master/slave" to "central/peripheral" terminology a while back. Not sure if all components have made this change. Looks like you need to rename your "slaveAddress" to "targetAddress".

    https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_40_00_77/docs/drivers/doxygen/html/struct_i2_c___transaction.html

    Cheers,

    Marie H

  • SysConfig does not allow me to change its generated codes!  It restores its codes once I press "Compile"!

    My temporary solution is to edit i2c.h so that targetAddress becomes slaveAddress.  This works for this project.

    Please provide a permanent solution.  I am testing many sensor projects and integrating into Wi-SUN nodes.

  • Hi Tim,

    Do you know which part of the project this outdated name comes from?

    Alternatively you can disable SysConfig from generating ti_drivers_config. 

    https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_40_00_77/docs/proprietary-rf/proprietary-rf-users-guide/sysconfig/sysconfig-disable.html#first-method-excluding-generated-files-from-building

    Cheers,

    Marie H

  • Hello, It is file mcu.c.  Sysconfig does not allow me to edit it.

  • Hello Marie,

    I recall that we can edit project spec so that some SDK files can be copied to that project`s directory.

    Do you know how to do this in my project?

  • Hi Tim,

    Those SysConfig-generated source files are created from templates inside the ascstudio product, which as you're finding, hasn't been updated to the more 'inclusive' names used in newer SimpleLink SDKs.  If you need to use the newer SimpleLink SDKs(?), you may be able to modify the ascstudio templates to accommodate for this compatibility break.

    For example, the problematic mcu_i2cTransfer() function in your screenshot is generated from the source/ti/drivers/sensors/mcu_tidrivers.c.xdt file in ascstudio.  If you modify that file to use 'targetAddress' (and restart SysConfig... and maybe even restart CCS(?) to so the modified file is rescanned), your generated file should use the new field name.

    No idea what you'll stumble on next(!), but this may help you get over this particular issue.

  • Hello Chris,
    Your suggestion is not satisfactory.  I still need an untouched ASC Studio to open older SDK and example projects such as those included in

    • SimpleLink Sensor and Actuator Plugin
    • SimpleLink SDK LVGL Plugin

    The best temporary solution for me is:

    • Edit project spec so that SDK file i2c.h can be copied over to that project`s directory.  Do you know how to do this in my project?
    • Then, I can distribute my project sources while keeping each developer`s SDK and ASC Studio untouched.
  • Hi Tim,

    If you open the projectspec file and scroll to the bottom you will see a list of all imported files. Each file will have an action tag which is either "link" or copy". E.g.

    Fullscreen
    1
    2
    <file path="../../rfPacketTx.c" openOnCreation="false" excludeFromBuild="false" action="copy">
    </file>
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    You can add the relevant file and give it the "copy" tag.

    CHeers,

    Marie

  • Hello Marie,

    I added these lines to the related example projectspec file:

    Fullscreen
    1
    2
    <file path="${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/source/ti/drivers/I2C.h" openOnCreation="false" excludeFromBuild="false" action="copy">
    </file>
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    It successfully copied over i2c.h to the project`s root.

    However, when I built the project, it still referred to the SDK`s i2c.h and failed.

    How do I correct it?

  • Hi Tim,

    It sounds like the compiler is finding the drivers/i2s.c file before your project application/i2s.c file.

    If you open the Properties for the project in CCs, then go to Build -> Arm Compiler -> Include Options you will find a list of include search paths. This list is prioritized, i.e. the compiler will start looking in the top folder.

    Can you put the folder with "your" i2s.c file at the top of this list and retry?

    Cheers,

    Marie H