This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nrf52840 interactive command uart flushing

sdk17.0.2

so i am trying to flush rx/tx while the command execute

cannot find 

app_fifo_flush()

or

app_uart_flush()

anyone know how to do it?
 
Parents
  • Hi 

    Are you using one of the standard SDK examples?

    There is an app_uart_flush() function for flushing the buffers when using the app_uart driver, but it will not do anything unless you make sure to use the app_uart_fifo.c implementation. 

    When you say you cannot find this function, do you mean that the build fails if you try to call it?

    The function is declared on line 244 of app_uart.h, and implemented on line 186 of app_uart_fifo.c

    Best regards
    Torbjørn

  • hello  I am using standard sdk but still cannot find both of those 

    app_uart.h,  app_uart_fifo.c in interactice command  

    sdk17.0.2

  • Hi 

    Which example are you using?

    If you open the ble_app_uart example for instance both app_uart.h and app_uart_fifo.c should already be added to the project. 

    Best regards
    Torbjørn

Reply Children
  • nrf52840 interactive command

    I am using 

    ble_app_interactive

  • Hi

    I don't think there is any way to flush the UART buffers when using CLI. 

    Is there a particular reason you need to do this?
    Do you just need to know when the command is finished?

    Best regards
    Torbjørn

  • you  mean I cannot clear the  uart_rx tx

    I mean I found a bug happened it randomly

    for example sometimes when I type on the keyboard "connect AF:BF:CF:DF:EF:FF" but when I type to con or connect when I press the next character it with output random character on the uart so I wonder why is this happening(Seldom happen)

    another thing is if I just copy-paste "connect AF:BF:CF:DF:EF:FF"     

    sometimes  the output show up on uart wrong 

    it shows "connect??? AF:???BF:C???F:DF:EF:FF"

    I am 100% sure I copy the correct string 

    for example

    [15:06:31.505]OUT↙⊙connect 5C:F3:70:38:AE:36 
    
    ↓
    [15:06:31.508]IN↘↑connect 5C:F3:70connect 5C:F3:70:38:Act 5CE6 
    wrong parameter count 
    

    you can see the uart shows wrong what I copy on the uart

    I copy it correctly but the Uart shows wrong

    so I think if I can clean up the rx-tx in uart

    or you know if there is any other problem

  • Hi 

    I just had a quick chat with the developer of the interactive example. Apparently there is no way to flush the buffers in this example because the UART functions are blocking. 

    Whenever there is something to send the nrf_cli_process() function will run until the entire message is written to the UART, so you don't need to separately flush the buffers. 

    Which terminal program are you using?

    Have you tried with another one to see if the issue is the same?

    Best regards
    Torbjørn

  • yep First I use "putty" then I use "mobaXterm" Same problem still happened

    now I use "sscom" still the same thing happened

    I have tried three different terminal already

    So I wonder if there is a way to clean up the RX/Tx or flow control at least

    btw also I found out that if I send the message too fast the entire app will crash

    For example:

    If I press "tab" it will show all the commands which I can use

    but as if I hold the tab and  not release the "tab" button

    the uart will keep printing the commands which I can use

    after n time printing the program will crash

    is this a bug??

    or if there is a way to clean up the RX/Tx or flow control at least

Related