Skip to content

Commit

Permalink
[TI] Update Example Applications and TI Documentation (#34060)
Browse files Browse the repository at this point in the history
* Update TI Applications with correct OTA startup handling

* Update Linker command files and NV regions

* Add test event trigger delegate

* Fix pairing failure in TI applications

* Update TI Matter documentation

* Update Openthread OT-TI commit

* Apply restyled updates

* Update Image spelling

* Apply restyled

* Update workflow to perform recursive clone

* Update nvocmp.c to fix formatting issue

---------

Co-authored-by: Andrei Litvin <[email protected]>
  • Loading branch information
adabreuti and andy31415 authored Jul 1, 2024
1 parent 176896a commit 3185ae1
Show file tree
Hide file tree
Showing 75 changed files with 6,466 additions and 339 deletions.
18 changes: 11 additions & 7 deletions .github/workflows/examples-cc13xx_26xx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,19 @@ name: Build example - TI CC13XX_26XX
on:
push:
branches-ignore:
- 'dependabot/**'
- "dependabot/**"
pull_request:
merge_group:

concurrency:
group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }}
group:
${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name ==
'pull_request' && github.event.number) || (github.event_name ==
'workflow_dispatch' && github.run_number) || github.sha }}
cancel-in-progress: true
env:
CHIP_NO_LOG_TIMESTAMPS: true

jobs:
cc13xx_26xx:
name: cc13xx_26xx
Expand All @@ -47,13 +50,14 @@ jobs:
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: cc13xx_26xx
platform: cc13xx_26xx
extra-submodule-parameters: " --recursive"
- name: Set up environment for size reports
uses: ./.github/actions/setup-size-reports
if: ${{ !env.ACT }}
with:
gh-context: ${{ toJson(github) }}
gh-context: ${{ toJson(github) }}

- name: Build examples
run: |
scripts/run_in_build_env.sh "\
Expand Down Expand Up @@ -103,4 +107,4 @@ jobs:
uses: ./.github/actions/upload-size-reports
if: ${{ !env.ACT }}
with:
platform-name: cc13x4_26x4
platform-name: cc13x4_26x4
2 changes: 1 addition & 1 deletion docs/guides/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
- [Silicon Labs - Software Update](./silabs_efr32_software_update.md)
- [Silicon Labs - CLI Guide](./silabs_cli_guide.md)
- [STMicroelectronics (STM32)](./stm32_getting_started_guide.md)
- [TI - Platform Overview](./ti/ti_platform_overview.md)
- [TI - Platform Overview](./ti/ti_matter_overview.md)
- [Open IoT SDK - Platform Overview](./openiotsdk_platform_overview.md)
- [Open IoT SDK - Examples](./openiotsdk_examples.md)
- [Open IoT SDK - Unit Tests](./openiotsdk_unit_tests.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/darwin.md
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ Example:
- [Silicon Labs](./silabs_getting_started.md)
- [Simulated Linux](./simulated_device_linux.md)
- [Telink](/examples/lighting-app/telink/README.md)
- [TI Platform](./ti/ti_platform_overview.md)
- [TI Platform](./ti/ti_matter_overview.md)
- [TI All Clusters](/examples/all-clusters-app/cc13x4_26x4/README.md)
- [Tizen](/examples/lighting-app/tizen/README.md)

Expand Down
Binary file added docs/guides/images/matter_ti_overview_wifi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/guides/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ and features.
*
esp32/README
nxp/README
ti/ti_platform_overview
ti/ti_matter_overview
```

## Build Guides
Expand Down Expand Up @@ -40,7 +40,7 @@ ti/ti_platform_overview
- [Silicon Labs - Getting Started](./silabs_getting_started.md)
- [Silicon Labs - Software Update](./silabs_efr32_software_update.md)
- [Silicon Labs - CLI Guide](./silabs_cli_guide.md)
- [TI - Platform Overview](./ti/ti_platform_overview.md)
- [TI - Platform Overview](./ti/ti_matter_overview.md)

## Tool Guides

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ The GPIO pin values for SPI will need to be adjusted based on your design.
4. Select _Board_ as _None_ and _Device_ as _`CC2674P10RGZ`_, Unselect
_`Lock PinMux`_, and click _Confirm_.
5. To fix errors, make the following module changes:
- _RF Design_ and _RF Stacks -> BLE -> Radio_: click on _accepting the
current value_, which should be _`LP_CC2674P10_RGZ`_ in the drop down menu
for _Based On RF Design_
- _RF Design_ and _RF Stacks -> Bluetooth LE -> Radio_: click on _accepting
the current value_, which should be _`LP_CC2674P10_RGZ`_ in the drop down
menu for _Based On RF Design_
- _TI DEVICES -> Device Configuration_: Clear
_`XOSC Cap Array Modification`_
- _TI DRIVERS -> RF_: Set _Global Event Mask_ as _None_ and _No. of Antenna
Expand Down
62 changes: 62 additions & 0 deletions docs/guides/ti/matter-syscfg/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Get started with SysConfig

System Configuration Tool (SysConfig) is a graphical interface for configuring
your project. Configuration files, C source files and header files are generated
based on the parameters configured in the SysConfig dashboard.

SysConfig should be used as a standalone tool for script-based builds (such as
for Matter).

The document will help for getting started in tailoring the `syscfg` file to
your application needs.

## Using Stand-alone SysConfig

You can find the standalone SysConfig tool on the
[SysConfig Standalone Installer Download Page](https://www.ti.com/tool/SYSCONFIG).

The location of the Matter `syscfg` file is located here:
`/examples/<name>/cc13x4_26x4/chip.syscfg` For example, on the github web:
`https://github.com/project-chip/connectedhomeip/blob/master/examples/lock-app/cc13x4_26x4/chip.syscfg`
The local file in your cloned repository should be used.

This file is used by Matter build scripts, when it invokes SysConfig CLI. In
order to edit the file for your custom application configurations, you'll need
to open the file with the SysConfig GUI. Before doing so, you should add the
following line above the `/* Modules */` comment:

```
// @cliArgs --product <path to SDK>/.metadata/product.json --board /ti/boards/LP_EM_CC1354P10_6 --rtos freertos
```

As an example, after adding the necessary `<path to SDK>`, it would look like:

```
// @cliArgs --product /home/Documents/repos/connectedhomeip/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/.metadata/product.json --board /ti/boards/LP_EM_CC1354P10_6 --rtos freertos
```

If the file is not found, then you may need to first initialize the submodules:

```
git submodule update --init
```

Now you can open the file in SysConfig GUI. Once you are done, remove the
`@cliArgs` line then save the file. Now the Matter build scripts will use the
updated `.syscfg` file.

## Viewing SysConfig Output

To preview the code to be generated reference the `Generated Files` image, the
button at the top of the `Configuration` pane you will find a list of Generated
Files. After selecting a file you will be able, in real-time, to identify how
the changes in the GUI affect the generated files. This will help you review the
relationship between the GUI and the code.

<div style="text-align: center;">
<img src="images/generated_files_ble.png" alt="Generated Files" width=30%>
<div class="caption">Generated Files</div>
</div>

Whenever you re-build the project, SysConfig will re-generate the files. Because
of this, any changes made directly in the generated files will be overwritten.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
69 changes: 69 additions & 0 deletions docs/guides/ti/matter-syscfg/sysconfig-board.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Configure The Board Files with SysConfig

The board view shows you what pins are available on your board, and what
peripherals are assigned to what pins. Hover over each pin for more information.

<div style="text-align: center;">
<img src="./images/board_view.png" width=20%>
</div>

Enabled and configured peripherals are displayed with green symbols. To add a
new peripheral, press the plus sign next to the peripheral type. The \"Show
generated files\" tab lets you see the files generated based on SysConfig.
Generated files are dynamically updated every time you make a change in
SysConfig. When you build your project, the generated files are exported into
the output folder of your project.

<div style="text-align: center;">
<img src="images/show_generated_files_tab.png">
</div>

## Reserve Peripherals

Certain use cases may require preventing SysConfig from generating the
configuration of specific peripherals.

Examples of use cases requiring to reserve peripherals are:

- dynamic re-configuration of a peripheral
- leveraging the Sensor Controller (on devices enabling it)
- already handling certain peripherals configuration
- with hardware constraints preventing to use certain peripherals (typically
`GPIOs`)
- peripherals reserved for future use

Below are the steps required to utilize the Reserve Peripherals feature.

1. Open the `.syscfg` file using the SysConfig GUI

2. Open the panel \"Reserve Peripherals\"

<div style="text-align: center;">
<img src="images/reserve-peripheral-panel.png" width=30%>
</div>

3. Reserve the resources

Reserve a peripheral using SysConfig. This image shows how to reserve `DIO`
15

<div style="text-align: center;">
<img src="images/reserve-gpio.png" width=30%>
</div>

SysConfig ensures no resource conflict occurs. In case no solution can be found,
an error is raised.

## Hardware View

The Hardware view may be used to add software modules for supporting hardware
resources on EVMs or LaunchPads. The same capability could be done in the
Software view by adding a Hardware. However the Hardware view provides a
hardware-first perspective to show which software could be used with hardware
resources.

Sysconfig Hardware View:

<div style="text-align: center;">
<img src="images/hardware_view.png" width=30%>
</div>
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Configuring Intermittently Connected Devices on TI CC13x4 Platforms
# Configuring Intermittently Connected Devices on TI SimpleLink CC13x4_CC26x4 Platforms

## Overview

Intermittently Connected Devices are devices in a network that do not always
need to be active. Matter has defined a cluster that helps capture this
behavior; this configuration is ideal for devices that need to operate with low
power consumption or do not have a need to always be on the network. Matter
examples on the TI CC13x4 platform can be configured to act as ICDs.
examples on the TI CC13x4_CC26x4 platform can be configured to act as ICDs.

## Platform Code Changes

Expand Down
File renamed without changes
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ programming infrastructure for their Matter devices.
TI Matter examples allow the use of factory data in the following two ways:

- **Example Out of Box Factory Data** : Use TI example DAC values to get
started. This is intended to be used when just starting with Matter or
during development until customer or product specific data is not required.
started. This is intended to be used during development.
- **Custom factory data** : Allows users to configure custom factory data via
a JSON file. The custom values are then processed by a script provided by TI
and merged with the Matter application to create a binary that can be
Expand Down Expand Up @@ -50,9 +49,9 @@ Each element is described in more detail below:

## How to use

Out of box factory data location is configured to be on second last page of
flash. For CC13x4, the starting address is `0xFE800`. This can be configured in
the linker file.
Out of box factory data location is configured to be on second to last page of
flash. For CC13x4_CC26x4, the starting address is `0xFE800`. This can be
configured in the linker file.

To configure:

Expand Down Expand Up @@ -94,7 +93,7 @@ FLASH_FACTORY_DATA (R) : ORIGIN = 0x000fe800, LENGTH = 0x00000900

3. In the example's args.gni file, set 'custom_factory_data' to true

It is recommended to keep 2 dedicated pages for CC13x4 for factory data.
It is recommended to keep 2 dedicated pages for CC13x4_CC26x4 for factory data.

### Formatting certs and keys for JSON file

Expand Down
Loading

0 comments on commit 3185ae1

Please sign in to comment.