blob: 19a3916b840ce5599294766b7fd92b921a9d9fcf [file] [log] [blame]
/**
*
* 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.
*/
/**
*
* Copyright (c) 2020 Silicon Labs
*
* 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 CLI for the Groups Server plugin.
*******************************************************************************
******************************************************************************/
#include "app/framework/include/af.h"
#include "app/util/serial/command-interpreter2.h"
void emAfGroupsServerCliPrint(void);
void emAfGroupsServerCliClear(void);
#if !defined(EMBER_AF_GENERATE_CLI)
EmberCommandEntry emberAfPluginGroupsServerCommands[] = {
emberCommandEntryAction("print", emAfGroupsServerCliPrint, "", "Print the state of the groups table."),
emberCommandEntryAction("clear", emAfGroupsServerCliClear, "", "Clear the groups table on every endpoint."),
emberCommandEntryTerminator(),
};
#endif // EMBER_AF_GENERATE_CLI
// plugin groups-server print
void emAfGroupsServerCliPrint(void)
{
EmberStatus status;
uint8_t i;
for (i = 0; i < EMBER_BINDING_TABLE_SIZE; i++) {
EmberBindingTableEntry entry;
status = emberGetBinding(i, &entry);
if ((status == EMBER_SUCCESS) && (entry.type == EMBER_MULTICAST_BINDING)) {
emberAfCorePrintln("ep[%x] id[%2x]", entry.local,
HIGH_LOW_TO_INT(entry.identifier[1], entry.identifier[0]));
}
}
}
// plugin groups-server clear
void emAfGroupsServerCliClear(void)
{
emberAfCorePrintln("Clearing all groups.");
emberAfGroupsClusterClearGroupTableCallback(EMBER_BROADCAST_ENDPOINT);
}