3 * Copyright (c) 2020 Project CHIP Authors
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
21 #include <lib/shell/shell.h>
23 #include <lib/core/CHIPCore.h>
24 #include <lib/support/Base64.h>
25 #include <lib/support/CHIPArgParser.hpp>
26 #include <lib/support/CodeUtils.h>
27 #include <lib/support/RandUtils.h>
28 #include <support/logging/CHIPLogging.h>
30 #include <ChipShellCollection.h>
34 #if CHIP_ENABLE_OPENTHREAD
36 #include <openthread/platform/platform-softdevice.h>
38 #endif // CHIP_ENABLE_OPENTHREAD
41 using namespace chip::Shell;
45 const size_t kShellTaskStackSize = 2048;
46 const int kShellTaskPriority = 1;
47 TaskHandle_t sShellTaskHandle;
49 void ShellCLIMain(void * pvParameter)
51 // Initialize the default streamer that was linked.
52 const int rc = streamer_init(streamer_get());
56 ChipLogError(Shell, "Streamer initialization failed: %d", rc);
60 ChipLogDetail(Shell, "Initializing CHIP shell commands: %d", rc);
68 ChipLogDetail(Shell, "Run CHIP shell Task: %d", rc);
75 int StartShellTask(void)
80 if (xTaskCreate(ShellCLIMain, "SHELL", kShellTaskStackSize / sizeof(StackType_t), NULL, kShellTaskPriority,
81 &sShellTaskHandle) != pdPASS)
91 /* Initialize platform */
94 /* Launch shell task */
98 vTaskStartScheduler();