CLI: device info
This commit is contained in:
parent
faab039929
commit
8bc89c4dda
|
@ -73,7 +73,7 @@ execute_process(
|
|||
OUTPUT_VARIABLE BM_GIT_DESC
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
message(STATUS "BM Version: ${BM_GIT_DESC}")
|
||||
message(STATUS "BM version: ${BM_GIT_DESC}")
|
||||
|
||||
idf_component_register(SRCS ${BM_SOURCES} ${BM_TARGETS}
|
||||
INCLUDE_DIRS ${BM_INCLUDE})
|
||||
|
|
|
@ -14,6 +14,7 @@ set(SOURCES
|
|||
"cli-uart.c"
|
||||
"cli-commands.c"
|
||||
"cli-command-gpio.c"
|
||||
"cli-command-device-info.c"
|
||||
"cli-args.c"
|
||||
)
|
||||
|
||||
|
@ -23,3 +24,46 @@ set(INCLUDES
|
|||
|
||||
idf_component_register(SRCS ${SOURCES}
|
||||
INCLUDE_DIRS ${INCLUDES})
|
||||
|
||||
# Commit
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE FW_GIT_COMMIT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Branch
|
||||
execute_process(
|
||||
COMMAND git rev-parse --abbrev-ref HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE FW_GIT_BRANCH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Branch number
|
||||
execute_process(
|
||||
COMMAND git rev-list --count HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE FW_GIT_BRANCH_NUM
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Version
|
||||
execute_process(
|
||||
COMMAND git describe --tags --abbrev=0
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE FW_GIT_VERSION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Build date
|
||||
string(TIMESTAMP FW_BUILD_DATE "%d-%m-%Y")
|
||||
|
||||
message(STATUS "FW date: ${FW_BUILD_DATE}")
|
||||
message(STATUS "FW commit: ${FW_GIT_COMMIT}")
|
||||
message(STATUS "FW branch: ${FW_GIT_BRANCH}")
|
||||
message(STATUS "FW branch num: ${FW_GIT_BRANCH_NUM}")
|
||||
message(STATUS "FW version: ${FW_GIT_VERSION}")
|
||||
|
||||
set_property(SOURCE "cli-command-device-info.c" APPEND PROPERTY COMPILE_OPTIONS -DFW_BUILD_DATE="${FW_BUILD_DATE}")
|
||||
set_property(SOURCE "cli-command-device-info.c" APPEND PROPERTY COMPILE_OPTIONS -DFW_GIT_COMMIT="${FW_GIT_COMMIT}")
|
||||
set_property(SOURCE "cli-command-device-info.c" APPEND PROPERTY COMPILE_OPTIONS -DFW_GIT_BRANCH="${FW_GIT_BRANCH}")
|
||||
set_property(SOURCE "cli-command-device-info.c" APPEND PROPERTY COMPILE_OPTIONS -DFW_GIT_BRANCH_NUM="${FW_GIT_BRANCH_NUM}")
|
||||
set_property(SOURCE "cli-command-device-info.c" APPEND PROPERTY COMPILE_OPTIONS -DFW_GIT_VERSION="${FW_GIT_VERSION}")
|
|
@ -0,0 +1,37 @@
|
|||
#include "cli.h"
|
||||
#include "cli-args.h"
|
||||
#include "cli-commands.h"
|
||||
#include "helpers.h"
|
||||
#include <gdb-glue.h>
|
||||
#include <esp_mac.h>
|
||||
|
||||
void cli_device_info(Cli* cli, mstring_t* args) {
|
||||
uint8_t mac_addr[6] = {0};
|
||||
ESP_ERROR_CHECK(esp_read_mac(mac_addr, ESP_MAC_WIFI_STA));
|
||||
|
||||
cli_printf(cli, "hardware_uid: ");
|
||||
cli_printf(
|
||||
cli,
|
||||
"%02x%02x%02x%02x%02x%02x",
|
||||
mac_addr[0],
|
||||
mac_addr[1],
|
||||
mac_addr[2],
|
||||
mac_addr[3],
|
||||
mac_addr[4],
|
||||
mac_addr[5]);
|
||||
cli_write_eol(cli);
|
||||
|
||||
cli_printf(cli, "idf_ver: %s", IDF_VER);
|
||||
cli_write_eol(cli);
|
||||
cli_printf(cli, "blackmagic_version: %s", gdb_glue_get_bm_version());
|
||||
cli_write_eol(cli);
|
||||
cli_printf(cli, "firmware_commit: %s", FW_GIT_COMMIT);
|
||||
cli_write_eol(cli);
|
||||
cli_printf(cli, "firmware_branch: %s", FW_GIT_BRANCH);
|
||||
cli_write_eol(cli);
|
||||
cli_printf(cli, "firmware_branch_num: %s", FW_GIT_BRANCH_NUM);
|
||||
cli_write_eol(cli);
|
||||
cli_printf(cli, "firmware_version: %s", FW_GIT_VERSION);
|
||||
cli_write_eol(cli);
|
||||
cli_printf(cli, "firmware_build_date: %s", FW_BUILD_DATE);
|
||||
}
|
|
@ -1,37 +1,35 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <esp_mac.h>
|
||||
#include "cli.h"
|
||||
#include "cli-args.h"
|
||||
#include "cli-commands.h"
|
||||
#include "helpers.h"
|
||||
|
||||
void cli_id(Cli* cli, mstring_t* args);
|
||||
void cli_help(Cli* cli, mstring_t* args);
|
||||
void cli_version(Cli* cli, mstring_t* args);
|
||||
void cli_gpio_set(Cli* cli, mstring_t* args);
|
||||
void cli_device_info(Cli* cli, mstring_t* args);
|
||||
|
||||
const CliItem cli_items[] = {
|
||||
{
|
||||
.name = "?",
|
||||
.callback = cli_help,
|
||||
.name = "!",
|
||||
.callback = cli_device_info,
|
||||
},
|
||||
{
|
||||
.name = "id",
|
||||
.callback = cli_id,
|
||||
.name = "?",
|
||||
.callback = cli_help,
|
||||
},
|
||||
{
|
||||
.name = "help",
|
||||
.callback = cli_help,
|
||||
},
|
||||
{
|
||||
.name = "version",
|
||||
.callback = cli_version,
|
||||
},
|
||||
{
|
||||
.name = "gpio_set",
|
||||
.callback = cli_gpio_set,
|
||||
},
|
||||
{
|
||||
.name = "device_info",
|
||||
.callback = cli_device_info,
|
||||
},
|
||||
};
|
||||
|
||||
size_t cli_items_count = COUNT_OF(cli_items);
|
||||
|
@ -44,24 +42,4 @@ void cli_help(Cli* cli, mstring_t* args) {
|
|||
cli_write_eol(cli);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cli_id(Cli* cli, mstring_t* args) {
|
||||
uint8_t mac_addr[6] = {0};
|
||||
ESP_ERROR_CHECK(esp_read_mac(mac_addr, ESP_MAC_WIFI_STA));
|
||||
cli_printf(
|
||||
cli,
|
||||
"%02X%02X%02X%02X%02X%02X",
|
||||
mac_addr[0],
|
||||
mac_addr[1],
|
||||
mac_addr[2],
|
||||
mac_addr[3],
|
||||
mac_addr[4],
|
||||
mac_addr[5]);
|
||||
}
|
||||
|
||||
void cli_version(Cli* cli, mstring_t* args) {
|
||||
cli_printf(cli, "IDF version: %s", IDF_VER);
|
||||
cli_write_eol(cli);
|
||||
cli_printf(cli, "FW version: %s", "0.1");
|
||||
}
|
|
@ -8,6 +8,8 @@
|
|||
*/
|
||||
|
||||
#pragma once
|
||||
#include "stdint.h"
|
||||
#include "stdlib.h"
|
||||
|
||||
typedef struct Cli Cli;
|
||||
typedef struct CliItem CliItem;
|
||||
|
|
|
@ -7,4 +7,6 @@
|
|||
* Misc helpers
|
||||
*/
|
||||
|
||||
#define COUNT_OF(x) (sizeof(x) / sizeof((x)[0]))
|
||||
#define COUNT_OF(x) (sizeof(x) / sizeof((x)[0]))
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
Loading…
Reference in New Issue