mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-17 18:43:50 +01:00
The test (at least locally) fails on the long shell line detection in
`master`, as the EDBG UART adapter drops chars when more than 64 bytes
are send at a time. This works around the issue:
- The line buffer in the test is reduced to 60 bytes, so that
overflowing it becomes possible with sending less than 64 bytes.
- The test script is adapted to exceed the shell buffer size by one
byte only (due to linefeed char), rather than significantly.
- Sending more than 64 bytes would result in the linefeed being
dropped by the EDBG adapter and the test failing
Finally, the shell buffer is no longer allocated on the stack and,
hence, the main stack size could be reduced a bit. The test still
passes on the Nucleo-F767ZI which is notorious in failing on tight
stacks due to the MPU stack guard - so the stack size reduction is
expected to work for all boards.
This application shows how to use own or the system shell commands. In order to use
the system shell commands:
1. Additionally to the module: shell, shell_commands,
the module for the corresponding system command is to include, e.g.
module ps for the ps command (cf. the Makefile in the application root
directory).
2. Start the shell like this:
2.1 reserve buffer:
char line_buf[SHELL_DEFAULT_BUFSIZE];
2.1a run shell only with system commands:
shell_run(NULL, line_buf, SHELL_DEFAULT_BUFSIZE);
2.1b run shell with provided commands in addition to system commands:
shell_run(shell_commands, line_buf, SHELL_DEFAULT_BUFSIZE);