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.

CC2652R7: Building the contact-sensor-app for TI CC2652R7

Part Number: CC2652R7
Other Parts Discussed in Thread: SYSCONFIG

Hello,

We have successfully worked with the Matter-TI ./examples/lock-app/cc13x2x7_26x2x7 running on TI’s CC2652R7 (repo branch v1.0-ti-branch).

Sticking with the TI h/w, we now want to switch to a different example. In particular, it is important for us to understand how a contact-sensor-app is presented to the HomeKit user and notice that an example contact-sensor-app does exists in the Matter-TI tree but that it intends to run on the ./examples/contact-sensor-app/nxp/k32w/k32w0 hardware instead of the TI hardware.

Do you have any general recommendations to offer that could help me alter the Matter-TI lock-app such that it instead represents a contact-sensor?

One issue we know we’ll encounter is the following:

For the TI Lock-app the QR code data necessary to add the lock-app to HomeKit is “MT:8IXS142C00KA0648G00”
and this is represented with the QR code image: project-chip.github.io/.../qrcode.html

How can we learn the “MT:……” QR code data that would be necessary to add a contact-sensor-app to HomeKit?

Are there any security certificate hurdles or other things that you can anticipate may hang us up in our attempts to getting a working contact-sensor app running on the CC2652R7 and added to HomeKit (via QRcode scan)?

Thanks in advance,
Steve K.

  • Hi Steve,

    Do you have any general recommendations to offer that could help me alter the Matter-TI lock-app such that it instead represents a contact-sensor?

    I would say first create a new directory inside contact-sensor-app for cc13x2x7_26x2x7, then copy/past the contents of the lock-app/cc13x2x7_26x2x7 into it.

    Then check the BUILD.gn file to change any references to "lock".

    Other steps would include porting theses:

    and modifying the chip.syscfg accordingly.

    How can we learn the “MT:……” QR code data that would be necessary to add a contact-sensor-app to HomeKit?

    The information that our examples pass into the QR code is here: matter/AppTask.cpp at v1.0-ti-branch · TexasInstruments/matter · GitHub

    This consists of the Product ID, Vendor ID, and Discriminator -- enough information so that a commissioner, such as the iOS Home App, can establish a secure channel (PASE over BLE) to share the (Thread) network credentials.

    These information can be found here:

    Are there any security certificate hurdles or other things that you can anticipate may hang us up in our attempts to getting a working contact-sensor app running on the CC2652R7 and added to HomeKit (via QRcode scan)?

    I believe test values for PID and VID should still work, but for an actual product you would need to get official VID/PID from CSA (or other authority).

    Thanks,
    Toby

  • Hi Toby,

    Oh my, that is going to give me a great head start! I very much appreciate it. Thank you.

    Steve.

  • Hi Toby,

    I am off to a good start and ready to start building the cc2652R7 contact-sensor-app, but immediately hit a snag.

    I have created source files for a new example located at:

    ./examples/contact-sensor-app/cc13x2x7_26x2x7

    And I’m using the same args.gni and BUILD.gn files that currently work for me when building the lock-app. As you suggested I edited the BUILD.gn as appropriate for the new ./examples/contact-sensor-app/cc13x2x7_26x2x7. I’ve done that, but there was one spot I wasn’t confident I knew how to edit. This spot within BUILD.gn

    … in BUILD.gn for lock-app is this:
    ti_simplelink_sdk("sdk") {
      include_dirs = [ "${project_dir}/include" ]
      public_configs = [ ":lock_app_config" ]
    }

    … in BUILD.gn for new contact-sensor-app is this:
    ti_simplelink_sdk("sdk") {
      include_dirs = [ "${project_dir}/include" ]
      public_configs = [ ":contact_sensor_app_config" ]
    }

    I don’t know if the “contact_sensor_app_config” needs to match some other part of the overall build tree, or what. e.g. Not sure how it connects with anything else.

    The main reason I’m suspicious is that I get an build failure that I can’t explain. This:

    $ cd $TI_MatterBaseDir/examples/contact-sensor-app/cc13x2x7_26x2x7
    $ gn gen out/debug --args=ti_sysconfig_root="/Users/Kranz/ti/sysconfig_1.14.0"
    WARNING at the command-line "--args":1:19: Build argument has no effect.
    ti_sysconfig_root="/Users/Kranz/ti/sysconfig_1.14.0"
                      ^---------------------------------
    The variable "ti_sysconfig_root" was set as a build argument
    but never appeared in a declare_args() block in any buildfile.

    To view all possible args, run "gn args --list <out_dir>"

    The build continued as if that argument was unspecified.

    Done. Made 5759 targets from 288 files in 682ms

    I know it’s just a WARNING but attempts to move to the next phase of the build (ninja -v -C out/debug) never result in my new source files being compiled.

    Note that I do not get this sort of error if I run the command in my working lock-app. This example:

    $ cd $TI_MatterBaseDir/examples/lock-app/cc13x2x7_26x2x7
    $ gn gen out/debug --args=ti_sysconfig_root="/Users/Kranz/ti/sysconfig_1.14.0"
    Done. Made 137 targets from 116 files in 431ms

    Do you have any ideas?

    Thanks,
    Steve K.

  • Hey Steve,

    Can you provide the BUILD.gn you are working on?  Did you make sure to delete any existing out/debug folder before attempting the build? 

    On a slightly relevant note, I was recently able to port the lock-app to light-switch-app by copying the cc13x2x7_26x2x7 folder from matter\examples\lock-app to matter\examples\light-switch-app and replacing the attached files.  Perhaps you can compare the BUILD.gn and comment on any observed differences (besides the application/project naming conventions)

    matter_modify_lock-app_to_light-switch-app.zip

    Regards,
    Ryan

  • Hi Ryan,

    Sorry for the delayed response. Here are the answers to the two questions you asked:

    1. Yes, I deleted the out/debug folder first.

    2. $ cat BUILD.gn

    # Copyright (c) 2020 Project CHIP Authors
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # www.apache.org/.../LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.

    import("//build_overrides/build.gni")
    import("//build_overrides/chip.gni")
    import("//build_overrides/openthread.gni")
    import("//build_overrides/ti_simplelink_sdk.gni")

    import("${build_root}/config/defaults.gni")

    import("${chip_root}/src/platform/device.gni")

    import("${ti_simplelink_sdk_build_root}/ti_simplelink_executable.gni")
    import("${ti_simplelink_sdk_build_root}/ti_simplelink_sdk.gni")

    assert(current_os == "freertos")

    project_dir = "${chip_root}/examples/contact-sensor-app/cc13x2x7_26x2x7"

    ti_simplelink_sdk("sdk") {
      include_dirs = [ "${project_dir}/include" ]
      public_configs = [ ":contact_sensor_app_config" ]
    }

    ti_sysconfig("sysconfig") {
      sources = [ "${project_dir}/puzL.syscfg" ]

      outputs = [
        "ti_radio_config.c",
        "ti_radio_config.h",
        "ti_drivers_config.c",
        "ti_drivers_config.h",
        "ti_ble_config.c",
        "ti_ble_config.h",
        "ti_dmm_application_policy.c",
        "ti_dmm_application_policy.h",

        # disabled until upstream generation is aligned
        #"tiop_config.h",
        #"tiop_config.c",

        # not traditional source files
        #"ti_utils_build_linker.cmd.genlibs",
        #"syscfg_c.rov.xs",
        #"ti_utils_runtime_model.gv",
        #"ti_utils_runtime_Makefile",
        #"ti_ble_app_config.opt",
        #"ti_build_config.opt",
      ]

      public_configs = [ ":sdk_dmm_config" ]

      cflags = [
        "-Wno-comment",
        "@" + rebase_path("${target_gen_dir}/sysconfig/ti_ble_app_config.opt",
                          root_build_dir),
        "@" + rebase_path("${target_gen_dir}/sysconfig/ti_build_config.opt",
                          root_build_dir),
      ]
    }

    ti_simplelink_executable("contact_sensor_app") {
      output_name = "chip-${ti_simplelink_board}-contact-sensor-example.out"

      sources = [
        "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
        "${chip_root}/src/platform/cc13x2_26x2/CC13X2_26X2DeviceAttestationCreds.cpp",
        "${chip_root}/src/platform/cc13x2_26x2/CC13X2_26X2DeviceAttestationCreds.h",
        "${project_dir}/src/AppTask.cpp",
        "${project_dir}/src/ZclCallbacks.cpp",
        "${project_dir}/src/main.cpp",
      ]

      deps = [
        ":sdk",
        ":sysconfig",
        "${chip_root}/examples/contact-sensor-app/contact-sensor-common",
        "${chip_root}/src/lib",
      ]

      if (chip_openthread_ftd) {
        deps += [ "${chip_root}/third_party/openthread/repo:libopenthread-ftd" ]
      } else {
        deps += [ "${chip_root}/third_party/openthread/repo:libopenthread-mtd" ]
      }

      include_dirs = [
        "${project_dir}",
        "${chip_root}/examples/providers/",
      ]

      cflags = [
        "-Wno-implicit-fallthrough",
        "-Wno-sign-compare",
        "-Wconversion",
      ]

      output_dir = root_out_dir
    }

    group("cc13x2x7_26x2x7") {
      deps = [ ":contact_sensor_app" ]
    }

    group("default") {
      deps = [ ":cc13x2x7_26x2x7" ]
    }

    If you spot anything I should change please let me know. Thank you!

    Steve K.

  • Hi Ryan,

    ... and in addition to my prior response, I'd like add that I did import your supplied matter_modify_lock-app_to_light-switch-app.zip.

     It turns out that I get the same problem attempting to built it as what I described with the contact-sensor-app. In other words:

    $ gn gen out/debug --args=ti_sysconfig_root="/Users/Kranz/ti/sysconfig_1.14.0"
    WARNING at the command-line "--args":1:19: Build argument has no effect.

    Thanks, Steve K.

  • Hi Steve,

    Thanks for providing your entire BUILD.gn file.  I do not see any obvious indicators for build issues.  The persistent warning indicates a difference in build environments.  Please note that I am using the latest TI matter repo and SysConfig 1.15 as a build parameter.

    Regards,
    Ryan

  • Hi Ryan,

    Yes, maybe you are right. I am using TI-Matter branch "v1.0-ti-branch" and I'm curious which one you are using? Also, is there a way that I could have learned on my own that a new repo version was available and can then watch for future ones?

    Thanks, Steve K.

  • Here is a history of all commits and you can select the "Watch" button to view notification options.  READMEs should be updated for the latest recommended SysConfig version.

    Regards,
    Ryan

  • Thanks Ryan, I am going to start over with a fresh tree and these are the steps that worked last time and that I’ve tried again just now. Hopefully this is correct (I will also transition to SysConfig 1.15).

    $ mkdir ~/TI-Matter
    $ git clone --recurse-submodules github.com/.../matter.git
    $ cd ~/TI-Matter/matter
    $ git submodule update --init

    $ git status
    On branch v1.0-ti-branch
    Your branch is up-to-date with 'origin/v1.0-ti-branch'.
    nothing to commit, working tree clean

    $ git log -n 1
    commit 8a3ca52165e54701bac483c37d83f6da79c63e16
    Merge: ae743eb aad19cd
    Author: adabreuti <76965454+adabreuti@users.noreply.github.com>
    Date:   Thu Apr 13 16:31:21 2023 -0500
    Merge pull request #15 from adabreuti/v1.0.0.2-downstream
    Update Lighting app PID

    I will attempt the build of my contact-sensor-app and see if I can get past the original issue of this posting.


    Steve K.

  • Hi Ryan,

    We took your suggestion and migrated to the newest version of the TI-Matter repo. Our hope was that we would then get past the ./examples/contact-sensor-app/cc13x2x7_26x2x7 build issue. We might be making progress, but it appears we now get a different error than what we had before. We still can’t seem to get past the `gn gen out/debug …` step. I’ve supplied details below: Any ideas?

    // Verisons
    Machine: MacBook Pro
    Chip:  Quad-Core Intel Core i7
    MacOS: Monterey 12.6.6

    // Repo setup.
    $ mkdir ~/TI-Matter
    $ git clone --recurse-submodules github.com/.../matter.git
    $ cd ~/TI-Matter/matter
    $ git submodule update --init
    $ git status
      On branch v1.0-ti-branch
      Your branch is up-to-date with 'origin/v1.0-ti-branch'.
      nothing to commit, working tree clean
    $ git log -n 1
      commit 8a3ca52165e54701bac483c37d83f6da79c63e16
      Merge: ae743eb aad19cd
      Author: adabreuti <76965454+adabreuti@users.noreply.github.com>
      Date:   Thu Apr 13 16:31:21 2023 -0500
      Merge pull request #15 from adabreuti/v1.0.0.2-downstream
      Update Lighting app PID

    $ source scripts/activate.sh   
    $ source scripts/bootstrap.sh

    $ mkdir ~/TI-Matter/matter/examples/contact-sensor-app/cc13x2x7_26x2x7
    $ cd ~/TI-Matter/matter/examples/contact-sensor-app/cc13x2x7_26x2x7
    …I place my collection of files here and modeled after what was in lock-app…

    $ gn gen out/debug --args=ti_sysconfig_root="/Users/Kranz/ti/sysconfig_1.15.0"
    ERROR Unresolved dependencies.
    //:cc13x2x7_26x2x7(//third_party/connectedhomeip/build/toolchain/arm_gcc:arm_gcc)
      needs //:contact_sensor_app(//third_party/connectedhomeip/build/toolchain/arm_gcc:arm_gcc)

    Note:
    We can build other things fine in this TI-Matter repo, like lock-app/cc13x2x7_26x2x7 for example, but not contact-sensor-app/cc13x2x7_26x2x7.
    We suspect the problem might be towards the bottom of the contact-sensor-app/cc13x2x7_26x2x7/BUILD.gn. These lines in particular:

    group("cc13x2x7_26x2x7") {
      deps = [ ":contact_sensor_app" ]   <—— Is this the correct value?
    }

    Here is our full file below:
    $ cat contact-sensor-app/cc13x2x7_26x2x7/BUILD.gn
    # Copyright (c) 2020 Project CHIP Authors
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # www.apache.org/.../LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.

    import("//build_overrides/build.gni")
    import("//build_overrides/chip.gni")
    import("//build_overrides/openthread.gni")
    import("//build_overrides/ti_simplelink_sdk.gni")

    import("${build_root}/config/defaults.gni")

    import("${chip_root}/src/platform/device.gni")

    import("${ti_simplelink_sdk_build_root}/ti_simplelink_executable.gni")
    import("${ti_simplelink_sdk_build_root}/ti_simplelink_sdk.gni")

    assert(current_os == "freertos")

    project_dir = "${chip_root}/examples/contact-sensor-app/cc13x2x7_26x2x7"

    ti_simplelink_sdk("sdk") {
      include_dirs = [ "${project_dir}/include" ]
      public_configs = [ ":contact-sensor_app_config" ]
    }

    ti_sysconfig("sysconfig") {
      sources = [ "${project_dir}/src/puzL.syscfg" ]

      outputs = [
        "ti_radio_config.c",
        "ti_radio_config.h",
        "ti_drivers_config.c",
        "ti_drivers_config.h",
        "ti_ble_config.c",
        "ti_ble_config.h",
        "ti_dmm_application_policy.c",
        "ti_dmm_application_policy.h",

        # disabled until upstream generation is aligned
        #"tiop_config.h",
        #"tiop_config.c",

        # not traditional source files
        #"ti_utils_build_linker.cmd.genlibs",
        #"syscfg_c.rov.xs",
        #"ti_utils_runtime_model.gv",
        #"ti_utils_runtime_Makefile",
        #"ti_ble_app_config.opt",
        #"ti_build_config.opt",
      ]

      public_configs = [ ":sdk_dmm_config" ]

      cflags = [
        "-Wno-comment",
        "@" + rebase_path("${target_gen_dir}/sysconfig/ti_ble_app_config.opt",
                          root_build_dir),
        "@" + rebase_path("${target_gen_dir}/sysconfig/ti_build_config.opt",
                          root_build_dir),
      ]
    }

    ti_simplelink_executable("contact-sensor_app") {
      output_name = "chip-${ti_simplelink_board}-contact-sensor-example.out"

      sources = [
        "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
        "${chip_root}/src/platform/cc13x2_26x2/CC13X2_26X2DeviceAttestationCreds.cpp",
        "${chip_root}/src/platform/cc13x2_26x2/CC13X2_26X2DeviceAttestationCreds.h",
        "${project_dir}/src/AppTask.cpp",
        "${project_dir}/src/ZclCallbacks.cpp",
        "${project_dir}/src/main.cpp",
      ]

      deps = [
        ":sdk",
        ":sysconfig",
        "${chip_root}/examples/contact-sensor-app/contact-sensor-common",
        "${chip_root}/src/lib",
      ]

      if (chip_openthread_ftd) {
        deps += [ "${chip_root}/third_party/openthread/repo:libopenthread-ftd" ]
      } else {
        deps += [ "${chip_root}/third_party/openthread/repo:libopenthread-mtd" ]
      }

      include_dirs = [
        "${project_dir}",
        "${chip_root}/examples/providers/",
      ]

      cflags = [
        "-Wno-implicit-fallthrough",
        "-Wno-sign-compare",
        "-Wconversion",
      ]

      output_dir = root_out_dir
    }

    group("cc13x2x7_26x2x7") {
      deps = [ ":contact_sensor_app" ]
    }

    group("default") {
      deps = [ ":cc13x2x7_26x2x7" ]
    }

    Thanks,
    Steve K.

  • Are you able to build my light-switch-app without issues?  Would you be willing to share the contents of ~/TI-Matter/matter/examples/contact-sensor-app/cc13x2x7_26x2x7 with me so that I may try to replicate and confirm from my end?  Does the ~/TI-Matter/matter/examples/contact-sensor-app/cc13x2x7_26x2x7/third_party/connectedhomeip/build/toolchain/arm_gcc directory exist on your machine?

    Regards,
    Ryan

  • Hi Ryan,

    Thanks for continuing to look into this. Here is the response you requested.

    1. Yes, the following file does exist:
    ./examples/contact-sensor-app/cc13x2x7_26x2x7/third_party/connectedhomeip/build/toolchain/arm_gcc

    2. Yes, I can successfully build the lighting-app/cc13x2x7_26x2x7.

    3. Here is a tar file that you can use to reproduce the issue. I’ve confirmed that this extremely minimal example is enough to show the problem.

    https://www.dropbox.com/s/ds7no51jnap2wfd/cc13x2x7_26x2x7.tar?dl=0

    $ tar tf cc13x2x7_26x2x7.tar
    cc13x2x7_26x2x7/
    cc13x2x7_26x2x7/args.gni
    cc13x2x7_26x2x7/BUILD.gn
    cc13x2x7_26x2x7/.gn
    cc13x2x7_26x2x7/chip.syscfg
    cc13x2x7_26x2x7/third_party/
    cc13x2x7_26x2x7/build_overrides
    cc13x2x7_26x2x7/main.cpp
    cc13x2x7_26x2x7/third_party/connectedhomeip

    It is intended to be installed here:
    $ cd examples/contact-sensor-app
    $ tar xf cc13x2x7_26x2x7.tar

    And it is intended to be built with this:
    $ cd ./examples/contact-sensor-app/cc13x2x7_26x2x7
    $ gn gen out/debug --args="ti_sysconfig_root=\"$HOME/ti/sysconfig_1.15.0\""
    $ echo "ninja -v -C out/debug"

    Thanks,
    Steve K.

  • 2. I meant the custom light-switch-app implementation which I provided on 5/30.

    3. Thanks, however I don't see a src folder or project files which I expected to be contained within.  Is this intentional?

    This BUILD.gn worked, try using "contact_sensor_app" instead of "contact-sensor_app" (lines 33 and 73)

    # Copyright (c) 2020 Project CHIP Authors
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    import("//build_overrides/build.gni")
    import("//build_overrides/chip.gni")
    import("//build_overrides/openthread.gni")
    import("//build_overrides/ti_simplelink_sdk.gni")
    
    import("${build_root}/config/defaults.gni")
    
    import("${chip_root}/src/platform/device.gni")
    
    import("${ti_simplelink_sdk_build_root}/ti_simplelink_executable.gni")
    import("${ti_simplelink_sdk_build_root}/ti_simplelink_sdk.gni")
    
    assert(current_os == "freertos")
    
    project_dir = "${chip_root}/examples/contact-sensor-app/cc13x2x7_26x2x7"
    
    ti_simplelink_sdk("sdk") {
      include_dirs = [ "${project_dir}/include" ]
      public_configs = [ ":contact_sensor_app_config" ]
    }
    
    ti_sysconfig("sysconfig") {
      sources = [ "${project_dir}/chip.syscfg" ]
    
      outputs = [
        "ti_radio_config.c",
        "ti_radio_config.h",
        "ti_drivers_config.c",
        "ti_drivers_config.h",
        "ti_ble_config.c",
        "ti_ble_config.h",
        "ti_dmm_application_policy.c",
        "ti_dmm_application_policy.h",
    
        # disabled until upstream generation is aligned
        #"tiop_config.h",
        #"tiop_config.c",
    
        # not traditional source files
        #"ti_utils_build_linker.cmd.genlibs",
        #"syscfg_c.rov.xs",
        #"ti_utils_runtime_model.gv",
        #"ti_utils_runtime_Makefile",
        #"ti_ble_app_config.opt",
        #"ti_build_config.opt",
      ]
    
      public_configs = [ ":sdk_dmm_config" ]
    
      cflags = [
        "-Wno-comment",
        "@" + rebase_path("${target_gen_dir}/sysconfig/ti_ble_app_config.opt",
                          root_build_dir),
        "@" + rebase_path("${target_gen_dir}/sysconfig/ti_build_config.opt",
                          root_build_dir),
      ]
    }
    
    ti_simplelink_executable("contact_sensor_app") {
      output_name = "chip-${ti_simplelink_board}-contact-sensor-example.out"
    
      sources = [
        "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
        "${chip_root}/src/platform/cc13x2_26x2/CC13X2_26X2DeviceAttestationCreds.cpp",
        "${chip_root}/src/platform/cc13x2_26x2/CC13X2_26X2DeviceAttestationCreds.h",
        "${project_dir}/src/main.cpp",
      ]
    
      deps = [
        ":sdk",
        ":sysconfig",
        "${chip_root}/examples/contact-sensor-app/contact-sensor-common",
        "${chip_root}/src/lib",
      ]
    
      if (chip_openthread_ftd) {
        deps += [ "${chip_root}/third_party/openthread/repo:libopenthread-ftd" ]
      } else {
        deps += [ "${chip_root}/third_party/openthread/repo:libopenthread-mtd" ]
      }
    
      include_dirs = [
        "${project_dir}",
        "${chip_root}/examples/providers/",
      ]
    
      cflags = [
        "-Wno-implicit-fallthrough",
        "-Wno-sign-compare",
        "-Wconversion",
      ]
    
      output_dir = root_out_dir
    }
    
    group("cc13x2x7_26x2x7") {
      deps = [ ":contact_sensor_app" ]
    }
    
    group("default") {
      deps = [ ":cc13x2x7_26x2x7" ]
    }

    Regards,
    Ryan

  • Hi Ryan,

    1. Yes I intentionally omitted the src directory for the small little example.

    2. Yes, the BUILD.gn modification does get me past the error. Thank You!

    $ cd ./examples/contact-sensor-app/cc13x2x7_26x2x7

    $ gn gen out/debug --args=ti_sysconfig_root="/Users/Kranz/ti/sysconfig_1.15.0"
    Done. Made 248 targets from 207 files in 387ms

    Thanks again! Steve K.