How does the Border router excute the command that ethos sends?

Hi RIOTers,

I am using the example Border router, and I add a command in the “shell_commands” array, like the example gnrc_networking. When I ran the, I input the command, like “ifconfig”, in the terminal. Then this text will be sent to Border router by serial port. And in the Border router, this text will not be saved in the “dev->inbuf”. instead, the text will be saved in a ringbuffer “_rx_buf” via the function “uart_stdio_rx_cb()”;

And my question is how this ringbuffer related to the function which I defined in “shell_commands” array?





Thanks for your answer. it’s the function “readline()”, which will read the ringbuffer, right? with “getchar()” operation.

my problem is that, I send hundreds of commands to the Border router. sometimes, UART did receive the command, but the command was not executed. it’s really strange.