Skip to content

Commit

Permalink
Update TV app to use the new IM changes (#7906)
Browse files Browse the repository at this point in the history
* Fix IM changes

Problem
- After the IM changes TV app was not returning correct responses

Summary of Changes
- Updated all the TV clusters to return response using new TLVWriter

* Running zap generator

Problem
- All cluster app does not have zap regenerated files

Summary of Changes
- Run zap_regen_all.py script

* Adding tests for TV app

Problem
- TV app is not covered with tests

Summary of Changes
- Added yaml files for all clusters that needs to be tested

* Running zap generator

Problem
- Tests does not have zap regenerated files

Summary of Changes
- Run zap_regen_all.py script

* Adding TV callbacks to all cluster example apps

* Updated the PR latests comments

* Update PR per latest comments

* Updated the PR per latest comments
  • Loading branch information
lazarkov authored Jul 5, 2021
1 parent d1e04c6 commit d68c20c
Show file tree
Hide file tree
Showing 81 changed files with 5,901 additions and 1,134 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11616,7 +11616,7 @@
"outgoing": 1
},
{
"name": "MediaSkipSeek",
"name": "MediaSeek",
"code": 10,
"mfgCode": null,
"source": "client",
Expand Down Expand Up @@ -11731,11 +11731,11 @@
"outgoing": 0
},
{
"name": "MediaSkipSeekResponse",
"code": 10,
"name": "MediaSeekResponse",
"code": 11,
"mfgCode": null,
"source": "server",
"incoming": 1,
"incoming": 0,
"outgoing": 0
}
],
Expand Down Expand Up @@ -12399,7 +12399,7 @@
"reportableChange": 0
},
{
"name": "application satus",
"name": "application status",
"code": 7,
"mfgCode": null,
"side": "server",
Expand Down Expand Up @@ -16316,4 +16316,4 @@
}
],
"log": []
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2235,7 +2235,7 @@
{ 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(7804) }, /* application id */ \
{ 0x0006, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* catalog vendor id */ \
{ 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application satus */ \
{ 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application status */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
\
/* Endpoint: 1, Cluster: Account Login (server) */ \
Expand Down Expand Up @@ -2825,8 +2825,8 @@
{ 0x0506, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipForwardResponse */ \
{ 0x0506, 0x09, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSkipBackward */ \
{ 0x0506, 0x09, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipBackwardResponse */ \
{ 0x0506, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSkipSeek */ \
{ 0x0506, 0x0A, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipSeekResponse */ \
{ 0x0506, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSeek */ \
{ 0x0506, 0x0B, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSeekResponse */ \
\
/* Endpoint: 1, Cluster: Media Input (server) */ \
{ 0x0507, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SelectInput */ \
Expand Down
5 changes: 5 additions & 0 deletions examples/all-clusters-app/esp32/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -766,3 +766,8 @@ extern "C" void app_main()
vTaskDelay(50 / portTICK_PERIOD_MS);
}
}

bool lowPowerClusterSleep()
{
return true;
}
5 changes: 4 additions & 1 deletion examples/all-clusters-app/linux/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ import("//build_overrides/build.gni")
import("//build_overrides/chip.gni")

executable("chip-all-clusters-app") {
sources = [ "main.cpp" ]
sources = [
"include/tv-callbacks.cpp",
"main.cpp",
]

deps = [
"${chip_root}/examples/all-clusters-app/all-clusters-common",
Expand Down
28 changes: 28 additions & 0 deletions examples/all-clusters-app/linux/include/tv-callbacks.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/**
*
* Copyright (c) 2021 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.
*/

/****************************************************************************
* @file
* @brief Routines for TV stubs
*server stub implementation of TV cluster code.
*******************************************************************************
******************************************************************************/

bool lowPowerClusterSleep()
{
return true;
}
103 changes: 51 additions & 52 deletions examples/chip-tool/commands/clusters/Commands.h
Original file line number Diff line number Diff line change
Expand Up @@ -463,25 +463,25 @@ static void OnMediaPlaybackClusterMediaRewindResponse(void * context, uint8_t me
command->SetCommandExitStatus(CHIP_NO_ERROR);
}

static void OnMediaPlaybackClusterMediaSkipBackwardResponse(void * context, uint8_t mediaPlaybackStatus)
static void OnMediaPlaybackClusterMediaSeekResponse(void * context, uint8_t mediaPlaybackStatus)
{
ChipLogProgress(chipTool, "MediaPlaybackClusterMediaSkipBackwardResponse");
ChipLogProgress(chipTool, "MediaPlaybackClusterMediaSeekResponse");

ModelCommand * command = reinterpret_cast<ModelCommand *>(context);
command->SetCommandExitStatus(CHIP_NO_ERROR);
}

static void OnMediaPlaybackClusterMediaSkipForwardResponse(void * context, uint8_t mediaPlaybackStatus)
static void OnMediaPlaybackClusterMediaSkipBackwardResponse(void * context, uint8_t mediaPlaybackStatus)
{
ChipLogProgress(chipTool, "MediaPlaybackClusterMediaSkipForwardResponse");
ChipLogProgress(chipTool, "MediaPlaybackClusterMediaSkipBackwardResponse");

ModelCommand * command = reinterpret_cast<ModelCommand *>(context);
command->SetCommandExitStatus(CHIP_NO_ERROR);
}

static void OnMediaPlaybackClusterMediaSkipSeekResponse(void * context, uint8_t mediaPlaybackStatus)
static void OnMediaPlaybackClusterMediaSkipForwardResponse(void * context, uint8_t mediaPlaybackStatus)
{
ChipLogProgress(chipTool, "MediaPlaybackClusterMediaSkipSeekResponse");
ChipLogProgress(chipTool, "MediaPlaybackClusterMediaSkipForwardResponse");

ModelCommand * command = reinterpret_cast<ModelCommand *>(context);
command->SetCommandExitStatus(CHIP_NO_ERROR);
Expand Down Expand Up @@ -1348,7 +1348,7 @@ class ReadAccountLoginClusterRevision : public ModelCommand
| * ProductId | 0x0003 |
| * ApplicationId | 0x0005 |
| * CatalogVendorId | 0x0006 |
| * ApplicationSatus | 0x0007 |
| * ApplicationStatus | 0x0007 |
| * ClusterRevision | 0xFFFD |
\*----------------------------------------------------------------------------*/

Expand Down Expand Up @@ -1621,18 +1621,18 @@ class ReadApplicationBasicCatalogVendorId : public ModelCommand
};

/*
* Attribute ApplicationSatus
* Attribute ApplicationStatus
*/
class ReadApplicationBasicApplicationSatus : public ModelCommand
class ReadApplicationBasicApplicationStatus : public ModelCommand
{
public:
ReadApplicationBasicApplicationSatus() : ModelCommand("read")
ReadApplicationBasicApplicationStatus() : ModelCommand("read")
{
AddArgument("attr-name", "application-satus");
AddArgument("attr-name", "application-status");
ModelCommand::AddArguments();
}

~ReadApplicationBasicApplicationSatus()
~ReadApplicationBasicApplicationStatus()
{
delete onSuccessCallback;
delete onFailureCallback;
Expand All @@ -1644,7 +1644,7 @@ class ReadApplicationBasicApplicationSatus : public ModelCommand

chip::Controller::ApplicationBasicCluster cluster;
cluster.Associate(device, endpointId);
return cluster.ReadAttributeApplicationSatus(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
return cluster.ReadAttributeApplicationStatus(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
}

private:
Expand Down Expand Up @@ -11979,9 +11979,9 @@ class ReadMediaInputClusterRevision : public ModelCommand
| * MediaPlay | 0x00 |
| * MediaPrevious | 0x04 |
| * MediaRewind | 0x06 |
| * MediaSeek | 0x0A |
| * MediaSkipBackward | 0x09 |
| * MediaSkipForward | 0x08 |
| * MediaSkipSeek | 0x0A |
| * MediaStartOver | 0x03 |
| * MediaStop | 0x02 |
|------------------------------------------------------------------------------|
Expand Down Expand Up @@ -12168,108 +12168,107 @@ class MediaPlaybackMediaRewind : public ModelCommand
};

/*
* Command MediaSkipBackward
* Command MediaSeek
*/
class MediaPlaybackMediaSkipBackward : public ModelCommand
class MediaPlaybackMediaSeek : public ModelCommand
{
public:
MediaPlaybackMediaSkipBackward() : ModelCommand("media-skip-backward")
MediaPlaybackMediaSeek() : ModelCommand("media-seek")
{
AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mDeltaPositionMilliseconds);
AddArgument("Position", 0, UINT64_MAX, &mPosition);
ModelCommand::AddArguments();
}
~MediaPlaybackMediaSkipBackward()
~MediaPlaybackMediaSeek()
{
delete onSuccessCallback;
delete onFailureCallback;
}

CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0506) command (0x09) on endpoint %" PRIu8, endpointId);
ChipLogProgress(chipTool, "Sending cluster (0x0506) command (0x0A) on endpoint %" PRIu8, endpointId);

chip::Controller::MediaPlaybackCluster cluster;
cluster.Associate(device, endpointId);
return cluster.MediaSkipBackward(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mDeltaPositionMilliseconds);
return cluster.MediaSeek(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mPosition);
}

private:
chip::Callback::Callback<MediaPlaybackClusterMediaSkipBackwardResponseCallback> * onSuccessCallback =
new chip::Callback::Callback<MediaPlaybackClusterMediaSkipBackwardResponseCallback>(
OnMediaPlaybackClusterMediaSkipBackwardResponse, this);
chip::Callback::Callback<MediaPlaybackClusterMediaSeekResponseCallback> * onSuccessCallback =
new chip::Callback::Callback<MediaPlaybackClusterMediaSeekResponseCallback>(OnMediaPlaybackClusterMediaSeekResponse, this);
chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
uint64_t mDeltaPositionMilliseconds;
uint64_t mPosition;
};

/*
* Command MediaSkipForward
* Command MediaSkipBackward
*/
class MediaPlaybackMediaSkipForward : public ModelCommand
class MediaPlaybackMediaSkipBackward : public ModelCommand
{
public:
MediaPlaybackMediaSkipForward() : ModelCommand("media-skip-forward")
MediaPlaybackMediaSkipBackward() : ModelCommand("media-skip-backward")
{
AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mDeltaPositionMilliseconds);
ModelCommand::AddArguments();
}
~MediaPlaybackMediaSkipForward()
~MediaPlaybackMediaSkipBackward()
{
delete onSuccessCallback;
delete onFailureCallback;
}

CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0506) command (0x08) on endpoint %" PRIu8, endpointId);
ChipLogProgress(chipTool, "Sending cluster (0x0506) command (0x09) on endpoint %" PRIu8, endpointId);

chip::Controller::MediaPlaybackCluster cluster;
cluster.Associate(device, endpointId);
return cluster.MediaSkipForward(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mDeltaPositionMilliseconds);
return cluster.MediaSkipBackward(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mDeltaPositionMilliseconds);
}

private:
chip::Callback::Callback<MediaPlaybackClusterMediaSkipForwardResponseCallback> * onSuccessCallback =
new chip::Callback::Callback<MediaPlaybackClusterMediaSkipForwardResponseCallback>(
OnMediaPlaybackClusterMediaSkipForwardResponse, this);
chip::Callback::Callback<MediaPlaybackClusterMediaSkipBackwardResponseCallback> * onSuccessCallback =
new chip::Callback::Callback<MediaPlaybackClusterMediaSkipBackwardResponseCallback>(
OnMediaPlaybackClusterMediaSkipBackwardResponse, this);
chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
uint64_t mDeltaPositionMilliseconds;
};

/*
* Command MediaSkipSeek
* Command MediaSkipForward
*/
class MediaPlaybackMediaSkipSeek : public ModelCommand
class MediaPlaybackMediaSkipForward : public ModelCommand
{
public:
MediaPlaybackMediaSkipSeek() : ModelCommand("media-skip-seek")
MediaPlaybackMediaSkipForward() : ModelCommand("media-skip-forward")
{
AddArgument("Position", 0, UINT64_MAX, &mPosition);
AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mDeltaPositionMilliseconds);
ModelCommand::AddArguments();
}
~MediaPlaybackMediaSkipSeek()
~MediaPlaybackMediaSkipForward()
{
delete onSuccessCallback;
delete onFailureCallback;
}

CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0506) command (0x0A) on endpoint %" PRIu8, endpointId);
ChipLogProgress(chipTool, "Sending cluster (0x0506) command (0x08) on endpoint %" PRIu8, endpointId);

chip::Controller::MediaPlaybackCluster cluster;
cluster.Associate(device, endpointId);
return cluster.MediaSkipSeek(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mPosition);
return cluster.MediaSkipForward(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mDeltaPositionMilliseconds);
}

private:
chip::Callback::Callback<MediaPlaybackClusterMediaSkipSeekResponseCallback> * onSuccessCallback =
new chip::Callback::Callback<MediaPlaybackClusterMediaSkipSeekResponseCallback>(OnMediaPlaybackClusterMediaSkipSeekResponse,
this);
chip::Callback::Callback<MediaPlaybackClusterMediaSkipForwardResponseCallback> * onSuccessCallback =
new chip::Callback::Callback<MediaPlaybackClusterMediaSkipForwardResponseCallback>(
OnMediaPlaybackClusterMediaSkipForwardResponse, this);
chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
uint64_t mPosition;
uint64_t mDeltaPositionMilliseconds;
};

/*
Expand Down Expand Up @@ -22380,11 +22379,11 @@ void registerClusterApplicationBasic(Commands & commands)
const char * clusterName = "ApplicationBasic";

commands_list clusterCommands = {
make_unique<ApplicationBasicChangeStatus>(), make_unique<DiscoverApplicationBasicAttributes>(),
make_unique<ReadApplicationBasicVendorName>(), make_unique<ReadApplicationBasicVendorId>(),
make_unique<ReadApplicationBasicApplicationName>(), make_unique<ReadApplicationBasicProductId>(),
make_unique<ReadApplicationBasicApplicationId>(), make_unique<ReadApplicationBasicCatalogVendorId>(),
make_unique<ReadApplicationBasicApplicationSatus>(), make_unique<ReadApplicationBasicClusterRevision>(),
make_unique<ApplicationBasicChangeStatus>(), make_unique<DiscoverApplicationBasicAttributes>(),
make_unique<ReadApplicationBasicVendorName>(), make_unique<ReadApplicationBasicVendorId>(),
make_unique<ReadApplicationBasicApplicationName>(), make_unique<ReadApplicationBasicProductId>(),
make_unique<ReadApplicationBasicApplicationId>(), make_unique<ReadApplicationBasicCatalogVendorId>(),
make_unique<ReadApplicationBasicApplicationStatus>(), make_unique<ReadApplicationBasicClusterRevision>(),
};

commands.Register(clusterName, clusterCommands);
Expand Down Expand Up @@ -22862,8 +22861,8 @@ void registerClusterMediaPlayback(Commands & commands)
make_unique<MediaPlaybackMediaFastForward>(), make_unique<MediaPlaybackMediaNext>(),
make_unique<MediaPlaybackMediaPause>(), make_unique<MediaPlaybackMediaPlay>(),
make_unique<MediaPlaybackMediaPrevious>(), make_unique<MediaPlaybackMediaRewind>(),
make_unique<MediaPlaybackMediaSkipBackward>(), make_unique<MediaPlaybackMediaSkipForward>(),
make_unique<MediaPlaybackMediaSkipSeek>(), make_unique<MediaPlaybackMediaStartOver>(),
make_unique<MediaPlaybackMediaSeek>(), make_unique<MediaPlaybackMediaSkipBackward>(),
make_unique<MediaPlaybackMediaSkipForward>(), make_unique<MediaPlaybackMediaStartOver>(),
make_unique<MediaPlaybackMediaStop>(), make_unique<DiscoverMediaPlaybackAttributes>(),
make_unique<ReadMediaPlaybackClusterRevision>(),
};
Expand Down
Loading

0 comments on commit d68c20c

Please sign in to comment.