| # CHIP Tizen Lighting Example |
| |
| ## Building binary |
| |
| Activating environment |
| |
| ```sh |
| source ./scripts/activate.sh |
| ``` |
| |
| Generating tizen-arm-light |
| |
| ```sh |
| gn gen --check \ |
| --fail-on-unused-args \ |
| --export-compile-commands \ |
| --root=$PW_PROJECT_ROOT/examples/lighting-app/tizen \ |
| "--args=target_os=\"tizen\" target_cpu=\"arm\" tizen_sdk_root=\"$TIZEN_SDK_ROOT\" tizen_sdk_sysroot=\"$TIZEN_SDK_SYSROOT\"" \ |
| $PW_PROJECT_ROOT/out/tizen-arm-light |
| ``` |
| |
| Building tizen-arm-light |
| |
| ```sh |
| ninja -C $PW_PROJECT_ROOT/out/tizen-arm-light |
| ``` |
| |
| ## Preparing Tizen SDK certificate (optional) |
| |
| When building Matter example application, this step is optional. In case when |
| author certificate and security profile are not found, they will be created |
| automatically. Automatically generated dummy certificate will have the following |
| options: name="Matter Example" email="matter@tizen.org" password="0123456789" |
| |
| In order to create and use custom author certificate, one can use the commands |
| described below. Change the certificate password and author data as needed. The |
| security profile alias should not be changed, as the "CHIP" name is used in the |
| Matter example build system. |
| |
| ```sh |
| $TIZEN_SDK_ROOT/tools/ide/bin/tizen certificate \ |
| --alias=CHIP \ |
| --name=CHIP \ |
| --email=chip@tizen.org \ |
| --password=chiptizen |
| |
| $TIZEN_SDK_ROOT/tools/ide/bin/tizen security-profiles add \ |
| --active \ |
| --name=CHIP \ |
| --author=$HOME/tizen-sdk-data/keystore/author/author.p12 \ |
| --password=chiptizen |
| ``` |
| |
| This is only _one-time action_. To regenerate the author certificate and |
| security profile, you have to remove files from the `$HOME` directory using |
| specified commands: |
| |
| ```sh |
| rm -r \ |
| $HOME/tizen-sdk-data \ |
| $HOME/.tizen-cli-config \ |
| $HOME/.secretsdb |
| ``` |
| |
| After that, normally call scripts to generate the author certificate and |
| security profile mentioned previously. |
| |
| Please note, that regenerating the author certificate and security profile makes |
| it necessary to remove the previously installed Tizen app. You can't reinstall |
| an application on the Tizen device with a different certificate. |
| |
| ```sh |
| pkgcmd -u -n org.tizen.matter.example.lighting |
| ``` |
| |
| ## Packaging APP |
| |
| ```sh |
| ninja -C $PW_PROJECT_ROOT/out/tizen-arm-light chip-lighting-app:tpk |
| ``` |
| |
| ## Installing TPK |
| |
| Upload TPK package to device under test (DUT). Install it with `pkgcmd` as |
| follows: |
| |
| ```sh |
| pkgcmd -i -t tpk -p org.tizen.matter.example.lighting-1.0.0.tpk |
| ``` |
| |
| ## Launching application |
| |
| For launching Tizen application one should use `app_launcher`. It is possible to |
| pass user arguments from command line which might be used to control application |
| behavior. However, passed strings cannot start with "-" (minus) character and |
| all arguments have to consist of name and value. Boolean options (option without |
| argument) should have value equal to "true". |
| |
| e.g.: |
| |
| ```sh |
| app_launcher --start=org.tizen.matter.example.lighting discriminator 43 wifi true |
| ``` |
| |
| ## Vscode support |
| |
| To run all commands below `sdb` has to be installed on computer and available in |
| `PATH`. Also vscode has to have the `augustocdias.tasks-shell-input` extension |
| installed. |
| |
| ### Tasks |
| |
| 1. Build app: |
| |
| ```text |
| open the Command Palette (Ctrl+Shift+P) -> |
| Tasks: Run Task -> |
| Build LightingApp (Tizen) |
| ``` |
| |
| 2. SDB connect to device: required to run Tizen commands below if device is |
| debugged over network |
| |
| ```text |
| open the Command Palette (Ctrl+Shift+P) -> |
| Tasks: Run Task -> Connect to device (Tizen) -> |
| insert IP address and port |
| ``` |
| |
| 3. Install app: it is separated from build app step. |
| |
| ```text |
| open the Command Palette (Ctrl+Shift+P) -> |
| Tasks: Run Task -> |
| Install LightingApp (Tizen) |
| ``` |
| |
| 4. Launch LightingApp with gdbserver attached: require to install app |
| previously. |
| |
| ```text |
| open the Command Palette (Ctrl+Shift+P) -> |
| Tasks: Run Task -> |
| Launch LightingApp with gdbserver attached (Tizen) |
| ``` |
| |
| ### Debug |
| |
| To debug app using vscode gdbserver has to be available on the target device, |
| run `./scripts/helpers/tizen_gdbserver_run.sh --help` for more information. |