feat(console): Added simple component for console initialization

This commit is contained in:
Abhik Roy
2023-10-09 22:37:46 +11:00
parent 5143f5ac01
commit 1ac4e41771
14 changed files with 469 additions and 2 deletions

View File

@ -0,0 +1,8 @@
# For more information about build system see
# https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html
# The following five lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(console_basic)

View File

@ -0,0 +1,2 @@
idf_component_register(SRCS "console_basic.c"
INCLUDE_DIRS ".")

View File

@ -0,0 +1,36 @@
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Unlicense OR CC0-1.0
*/
#include <stdio.h>
#include "nvs_flash.h"
#include "esp_event.h"
#include "console_simple_init.h"
int do_user_cmd(int argc, char **argv)
{
printf("Hello from user command\n");
return 0;
}
void app_main(void)
{
ESP_ERROR_CHECK(esp_event_loop_create_default());
esp_err_t ret = nvs_flash_init(); //Initialize NVS
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
ESP_ERROR_CHECK(nvs_flash_erase());
ret = nvs_flash_init();
}
ESP_ERROR_CHECK(ret);
// Initialize console REPL
ESP_ERROR_CHECK(console_cmd_init());
// Register user command
ESP_ERROR_CHECK(console_cmd_user_register("user", do_user_cmd));
// start console REPL
ESP_ERROR_CHECK(console_cmd_start());
}

View File

@ -0,0 +1,6 @@
dependencies:
idf:
version: '*'
console_simple_init:
version: "*"
override_path: '../../../'

View File

@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Unlicense OR CC0-1.0
# -*- coding: utf-8 -*-
import pytest
@pytest.mark.esp32
def test_examples_user_command(dut):
dut.expect('esp>', timeout=30)
dut.write('user')
dut.expect('Hello from user command', timeout=30)
pass