Skip to content

Commit

Permalink
Update rvc app (project-chip#31827)
Browse files Browse the repository at this point in the history
* Replaced the vendor specific mode tag for the mapping mode with the mapping mode tag.

* Updated the rvc-app's RvcOperationalStateDelegate to allow setting of a callback furtion for when the GoHome commond in received.

* Implemented the GoHome handler for rvc-app.

* Updated the PICS file for the rvc-app.

* Fixed the Admin commissioning cluter's zap config for the rvc-app

* Renamed the PICS values file to be similar to the ci file. Updated the script that runs all the RVC yaml tests.

* Updated the rvc-app state machine diagram.

* Updated theh rvc-app README.

* Restyled by clang-format

* Restyled by prettier-markdown

* Restyled by shfmt

* Updated the rvc-app .matter file.

* Reduced the text of some errors as it was longer that allowed.

* Added an out-of-band message to reset the rvc-app to its start-up state.

* Updated a returend error following the spec change.

* Excluded the RVC state diagram png from the lint check for %zu.

* Updated the rvc-app readme.

* Removed PIXIT settings from the rvc-app-pics values.

* Excluded all binary files from the lint check for %zu.

* Re-removed the OpenBasicCommissioningWindow command of the Administrator Commissioning cluster in the rvc-app due to security concerns.

* Updated the rvc-app .matter file.

---------

Co-authored-by: Restyled.io <[email protected]>
  • Loading branch information
2 people authored and erwinpan1 committed Feb 13, 2024
1 parent 426d6e4 commit b95ccee
Show file tree
Hide file tree
Showing 15 changed files with 178 additions and 41 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ jobs:
- name: Check for use of %zu, which are not supported on some libcs.
if: always()
run: |
git grep -n "%zu" -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0
git grep -I -n "%zu" -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0
# Comments like '{{! ... }}' should be used in zap files
- name: Do not allow TODO in generated files
Expand Down
44 changes: 24 additions & 20 deletions examples/rvc-app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,14 @@ Below are the PIXIT definitions required for the different python tests.

#### TC 1.2

PIXIT: `PIXIT_ENDPOINT:1`
Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCCLEANM_1_2.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/RVC_App_Test_Plan.txt --int-arg PIXIT_ENDPOINT:1"`
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCCLEANM_1_2.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint=1"`

#### TC 2.1

PIXIT:
`PIXIT_ENDPOINT:1 PIXIT.RVCCLEANM.MODE_CHANGE_FAIL:1 PIXIT.RVCCLEANM.MODE_CHANGE_OK:2`
PIXIT: `PIXIT.RVCCLEANM.MODE_CHANGE_FAIL:1 PIXIT.RVCCLEANM.MODE_CHANGE_OK:2`
Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCCLEANM_2_1.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/RVC_App_Test_Plan.txt --int-arg PIXIT_ENDPOINT:1 PIXIT.RVCCLEANM.MODE_CHANGE_FAIL:1 PIXIT.RVCCLEANM.MODE_CHANGE_OK:2"`
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCCLEANM_2_1.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint 1 --int-arg PIXIT.RVCCLEANM.MODE_CHANGE_FAIL:1 PIXIT.RVCCLEANM.MODE_CHANGE_OK:2"`

When asked "Manually put the device in a state from which it will FAIL to
transition to mode 1", set the `RvcRunMode` to 1.
Expand All @@ -67,24 +65,23 @@ When asked "Manually put the device in a state from which it will SUCCESSFULLY
transition to mode 2", set the `RvcRunMode` to 0.
`chip-tool rvcrunmode change-to-mode 0`

#### TC 3.2
#### TC 2.2

This is not applicable because this RVC device does not support the
`StartUpMode` attribute.
Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCCLEANM_2_2.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint=1"`

### RVC Run Mode cluster

#### TC 1.2

PIXIT: `PIXIT_ENDPOINT:1` Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCRUNM_1_2.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/RVC_App_Test_Plan.txt --int-arg PIXIT_ENDPOINT:1"`
Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCRUNM_1_2.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint=1"`

#### TC 2.1

PIXIT:
`PIXIT_ENDPOINT:1 PIXIT.RVCRUNM.MODE_CHANGE_FAIL:2 PIXIT.RVCRUNM.MODE_CHANGE_OK:0`
PIXIT: `PIXIT.RVCRUNM.MODE_CHANGE_FAIL:2 PIXIT.RVCRUNM.MODE_CHANGE_OK:0`
Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCRUNM_2_1.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/RVC_App_Test_Plan.txt --int-arg PIXIT_ENDPOINT:1 PIXIT.RVCRUNM.MODE_CHANGE_FAIL:2 PIXIT.RVCRUNM.MODE_CHANGE_OK:0"`
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCRUNM_2_1.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint 1 --int-arg PIXIT.RVCRUNM.MODE_CHANGE_OK:0 PIXIT.RVCRUNM.MODE_CHANGE_FAIL:2"`

When asked "Manually put the device in a state from which it will FAIL to
transition to mode 2", set the `RvcRunMode` to 1.
Expand All @@ -93,27 +90,34 @@ transition to mode 2", set the `RvcRunMode` to 1.
When asked "Manually put the device in a state from which it will SUCCESSFULLY
transition to mode 0", do nothing.

#### TC 3.2
#### TC 2.2

This is not applicable because this RVC device does not support the
`StartUpMode` attribute.
PIXIT: `PIXIT.RVCRUNM.MODE_A:1 PIXIT.RVCRUNM.MODE_B:2`
Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCRUNM_2_2.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint 1 --int-arg PIXIT.RVCRUNM.MODE_A:1 PIXIT.RVCRUNM.MODE_B:2"`

### RVC Operational State cluster

#### TC 2.1

PIXIT: `PIXIT_ENDPOINT:1`
Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCOPSTATE_2_1.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/RVC_App_Test_Plan.txt --int-arg PIXIT_ENDPOINT:1"`
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCOPSTATE_2_1.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint 1"`

Use the out-of-band messages, chip-tool messages and the state machine diagram
to navigate to the required states.

#### TC 2.3

PIXIT: `PIXIT_ENDPOINT:1`
Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCOPSTATE_2_3.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/RVC_App_Test_Plan.txt --int-arg PIXIT_ENDPOINT:1"`
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCOPSTATE_2_3.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint 1"`

Use the out-of-band messages, chip-tool messages and the state machine diagram
to transition to the required states.

#### TC 2.4

Example command:
`./scripts/tests/run_python_test.py --script src/python_testing/TC_RVCOPSTATE_2_4.py --script-args "--storage-path admin_storage.json --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint 1"`

Use the out-of-band messages, chip-tool messages and the state machine diagram
to transition to the required states.
Expand Down
Binary file modified examples/rvc-app/RVC_app_state_diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion examples/rvc-app/RVC_app_state_diagram_drawio.xml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="confluence.dyson.global.corp" modified="2023-12-12T16:52:23.893Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" etag="cysFIm_igNHBgI2WXTH3" version="13.5.8" type="atlas"><mxAtlasLibraries/><diagram id="8Tl753pVDSM3c8Mwypsi" name="Page-1">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</diagram></mxfile>
<mxfile host="confluence.dyson.global.corp" modified="2024-02-01T14:22:54.465Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" etag="z5zZXgNk0JIzjJgihVQj" version="13.5.8" type="atlas"><mxAtlasLibraries/><diagram id="8Tl753pVDSM3c8Mwypsi" name="Page-1">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</diagram></mxfile>
9 changes: 9 additions & 0 deletions examples/rvc-app/linux/RvcAppCommandDelegate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ void RvcAppCommandHandler::HandleCommand(intptr_t context)
{
self->OnClearErrorHandler();
}
else if (name == "Reset")
{
self->OnResetHandler();
}
else
{
ChipLogError(NotSpecified, "Unhandled command: Should never happens");
Expand Down Expand Up @@ -145,6 +149,11 @@ void RvcAppCommandHandler::OnClearErrorHandler()
mRvcDevice->HandleClearErrorMessage();
}

void RvcAppCommandHandler::OnResetHandler()
{
mRvcDevice->HandleResetMessage();
}

void RvcAppCommandDelegate::SetRvcDevice(chip::app::Clusters::RvcDevice * aRvcDevice)
{
mRvcDevice = aRvcDevice;
Expand Down
2 changes: 2 additions & 0 deletions examples/rvc-app/linux/RvcAppCommandDelegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ class RvcAppCommandHandler
void OnErrorEventHandler(const std::string & error);

void OnClearErrorHandler();

void OnResetHandler();
};

class RvcAppCommandDelegate : public NamedPipeCommandDelegate
Expand Down
3 changes: 1 addition & 2 deletions examples/rvc-app/run_all_yaml_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

NODEID=$1
RVC_DEVICE_ENDPOINT=1
RVC_DEVICE_PICS="examples/rvc-app/rvc-common/pics/RVC_App_Test_Plan.txt"
RVC_DEVICE_PICS="examples/rvc-app/rvc-common/pics/rvc-app-pics-values"

if [ -z "$NODEID" ]; then
echo "Usage: run_all_yaml_tests [Node ID]"
Expand All @@ -20,7 +20,6 @@ fi

# RVC Operational State cluster
./scripts/tests/yaml/chiptool.py tests Test_TC_RVCOPSTATE_1_1 --PICS "$RVC_DEVICE_PICS" --nodeId "$NODEID" --endpoint "$RVC_DEVICE_ENDPOINT" &&
./scripts/tests/yaml/chiptool.py tests Test_TC_RVCOPSTATE_2_2 --PICS "$RVC_DEVICE_PICS" --nodeId "$NODEID" --endpoint "$RVC_DEVICE_ENDPOINT" &&

# RVC Run Mode cluster
./scripts/tests/yaml/chiptool.py tests Test_TC_RVCRUNM_1_1 --PICS "$RVC_DEVICE_PICS" --nodeId "$NODEID" --endpoint "$RVC_DEVICE_ENDPOINT" &&
Expand Down
8 changes: 8 additions & 0 deletions examples/rvc-app/rvc-common/include/rvc-device.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class RvcDevice
mCleanModeDelegate.SetHandleChangeToMode(&RvcDevice::HandleRvcCleanChangeToMode, this);
mOperationalStateDelegate.SetPauseCallback(&RvcDevice::HandleOpStatePauseCallback, this);
mOperationalStateDelegate.SetResumeCallback(&RvcDevice::HandleOpStateResumeCallback, this);
mOperationalStateDelegate.SetGoHomeCallback(&RvcDevice::HandleOpStateGoHomeCallback, this);
}

/**
Expand Down Expand Up @@ -81,6 +82,11 @@ class RvcDevice
*/
void HandleOpStateResumeCallback(Clusters::OperationalState::GenericOperationalError & err);

/**
* Handles the RvcOperationalState GoHome command.
*/
void HandleOpStateGoHomeCallback(Clusters::OperationalState::GenericOperationalError & err);

/**
* Updates the state machine when the device becomes fully-charged.
*/
Expand All @@ -105,6 +111,8 @@ class RvcDevice
void HandleErrorEvent(const std::string & error);

void HandleClearErrorMessage();

void HandleResetMessage();
};

} // namespace Clusters
Expand Down
Loading

0 comments on commit b95ccee

Please sign in to comment.