From 66d6a76e1af0c340ed71ad37158dd84dbe0ac64e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20H=C3=BCttel?= Date: Mon, 20 Apr 2020 00:15:37 +0200 Subject: [PATCH 1/5] Fix shell prompt --- stm-firmware/shell.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stm-firmware/shell.c b/stm-firmware/shell.c index 8d0522f..548fdd1 100644 --- a/stm-firmware/shell.c +++ b/stm-firmware/shell.c @@ -251,6 +251,8 @@ static shellmatta_retCode_t shell_cmd_pt1000_res_loop(const shellmatta_handle_t if (strstr(arg, "--single-line")) single_line = true; + shellmatta_printf(handle, "\r\n"); + while (run_loop) { uart_receive_data_with_dma(&shell_uart, &data , &len); for (i = 0; i < len; i++) { @@ -373,7 +375,7 @@ shellmatta_handle_t shell_init(shellmatta_write_t write_func) shellmatta_retCode_t ret; ret = shellmatta_doInit(&shell, &handle, shell_buffer, sizeof(shell_buffer), history_buffer, sizeof(history_buffer), - "\e[1;32mEnter command:\e[m\r\n", cmd, write_func); + "\e[1;32mReflow Controller>\e[m ", cmd, write_func); if (ret != SHELLMATTA_OK) handle = NULL; From 4e4dc8e16ebdcaa1e8a2fe8fdc529bc8a9565c42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20H=C3=BCttel?= Date: Mon, 20 Apr 2020 01:05:48 +0200 Subject: [PATCH 2/5] Add dynamic memory info to meminfo command --- stm-firmware/shell.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/stm-firmware/shell.c b/stm-firmware/shell.c index 548fdd1..b4cd5da 100644 --- a/stm-firmware/shell.c +++ b/stm-firmware/shell.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -200,12 +201,13 @@ static shellmatta_retCode_t shell_cmd_cal(const shellmatta_handle_t handle, return SHELLMATTA_OK; } -static shellmatta_retCode_t shell_get_sp(const shellmatta_handle_t handle, +static shellmatta_retCode_t shell_meminfo(const shellmatta_handle_t handle, const char *arguments, uint32_t length) { (void)arguments; (void)length; + struct mallinfo mi; shellmatta_printf(handle, "Stack pointer: %p\r\n" @@ -214,6 +216,15 @@ static shellmatta_retCode_t shell_get_sp(const shellmatta_handle_t handle, read_stack_pointer(), stack_check_get_usage(), stack_check_get_free()); + + mi = mallinfo(); + shellmatta_printf(handle, "\r\nDynamic Memory Management\r\n"); + shellmatta_printf(handle, "Allocated bytes: %d\r\n", mi.arena, mi.arena); + shellmatta_printf(handle, "Number of free chunks: %d\r\n", mi.ordblks); + shellmatta_printf(handle, "Top-most, releasable space: %d\r\n", mi.keepcost); + shellmatta_printf(handle, "Total free space: %d\r\n", mi.fordblks); + shellmatta_printf(handle, "Total allocated space: %d\r\n", mi.uordblks); + return SHELLMATTA_OK; } @@ -352,11 +363,11 @@ static shellmatta_cmd_t cmd[10] = { .next = &cmd[8], }, { - .cmd = "get-stack-pointer", - .cmdAlias = "sp", - .helpText = "Get the stack pointer", + .cmd = "meminfo", + .cmdAlias = NULL, + .helpText = "Get information about memory usage", .usageText = "", - .cmdFct = shell_get_sp, + .cmdFct = shell_meminfo, .next = &cmd[9], }, { From 83978e81885d84267340a4a8b39f1e56d10c7e77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20H=C3=BCttel?= Date: Mon, 20 Apr 2020 01:06:01 +0200 Subject: [PATCH 3/5] Fix typo --- stm-firmware/calibration.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stm-firmware/calibration.c b/stm-firmware/calibration.c index 373aa35..dd769c0 100644 --- a/stm-firmware/calibration.c +++ b/stm-firmware/calibration.c @@ -159,7 +159,7 @@ int calibration_sequence_shell_cmd(shellmatta_handle_t shell) /* Check noise values */ if (dev > CALIBRATION_MAX_PEAK_PEAK_NOISE_OHM || dev2 > CALIBRATION_MAX_PEAK_PEAK_NOISE_OHM) { - shellmatta_printf(shell, "Calibration failed! Too much noise. Check you're hardware.\r\n"); + shellmatta_printf(shell, "Calibration failed! Too much noise. Check your hardware.\r\n"); return -3; } From d85381e30e008b3a5fc2017dbfad2930d45a4eee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20H=C3=BCttel?= Date: Mon, 20 Apr 2020 01:06:25 +0200 Subject: [PATCH 4/5] Reroute stderr to uart and color it red --- stm-firmware/syscalls.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/stm-firmware/syscalls.c b/stm-firmware/syscalls.c index a016d6f..84ee039 100644 --- a/stm-firmware/syscalls.c +++ b/stm-firmware/syscalls.c @@ -89,6 +89,12 @@ int _write(int fd, const void *buf, int count) { if (fd == 1) uart_send_array_with_dma(&shell_uart, (char *)buf, count); + else if (fd == 2) { + uart_send_string_with_dma(&shell_uart, "\e[31m"); + uart_send_array_with_dma(&shell_uart, (char *)buf, count); + uart_send_string_with_dma(&shell_uart, "\e[m"); + } + return count; } From 985c29b28138578fc30743187d5bc8869d4107e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20H=C3=BCttel?= Date: Mon, 20 Apr 2020 01:19:37 +0200 Subject: [PATCH 5/5] Change shellmatta help alias to a question mark --- stm-firmware/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stm-firmware/Makefile b/stm-firmware/Makefile index cfbb2c2..44161ac 100644 --- a/stm-firmware/Makefile +++ b/stm-firmware/Makefile @@ -30,7 +30,7 @@ CFILES += adc-meas.c # Shellmatta CFILES += shellmatta/src/shellmatta.c shellmatta/src/shellmatta_autocomplete.c shellmatta/src/shellmatta_escape.c shellmatta/src/shellmatta_history.c shellmatta/src/shellmatta_utils.c shellmatta/src/shellmatta_opt.c shell.c INCLUDEPATH += -Ishellmatta/api -# DEFINES += -DSHELLMATTA_STRIP_PRINTF +DEFINES += -DSHELLMATTA_HELP_ALIAS=\"?\" # RCC Manager CFILES += stm-periph/clock-enable-manager.c