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

Using the Zigbee shell through Segger RTT backend

Hello,

I tried enabling the Zigbee shell, through RTT, in my application and when that failed I built and burned the nrf/samples/zigbee instead, slightly modded to get rid of DK dependencies and enable RTT backend.  Still no go.

Logging is enabled and I'm connecting through the JLinkRTTViewer, and I can see that, so the connection seems ok.  But whatever I try to send just seems to sit in the down buffer and when I get to 16 bytes, it's full and nothing happens.

I've tried various line terminations (LF, CR, CR+LF) but nothing on the other side seems to drain the bytes.

I'm attaching a screenshot of the JLinkRTTViewer and the modified sample prj.conf.  Any input on getting input working would be appreciated.

 

shellprj.conf

Parents
  • Ok, a little more mucking about and I got it working.  For anyone having the same problem, the magic words were:

    CONFIG_SHELL_BACKENDS=y
    CONFIG_SHELL_BACKEND_RTT=y
    CONFIG_LOG_BACKEND_RTT_BUFFER=1
    

    Full conf used for zigbee shell below (note I'm disabling the annoying DK stuff, as this is a custom board).

    # Options enabled by CONFIG_NCS_SAMPLES_DEFAULTS,
    # put this way to get rid of LOG_MINIMAL
    CONFIG_LOG=y
    CONFIG_ASSERT=y
    CONFIG_ASSERT_NO_COND_INFO=y
    CONFIG_ASSERT_NO_MSG_INFO=y
    CONFIG_HW_STACK_PROTECTION=y
    CONFIG_LOG_DEFAULT_LEVEL=1
    
    
    
    
    # Configure serial
    CONFIG_SERIAL=y
    #CONFIG_GPIO=y
    
    # Make sure printk is not printing to the UART console
    CONFIG_CONSOLE=y
    
    
    
    CONFIG_UART_CONSOLE=n
    CONFIG_RTT_CONSOLE=y
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_LOG_BACKEND_RTT=y
    CONFIG_LOG_BACKEND_UART=n
    
    
    CONFIG_SHELL_BACKENDS=y
    CONFIG_SHELL_BACKEND_RTT=y
    CONFIG_LOG_BACKEND_RTT_BUFFER=1
    
    
    
    
    CONFIG_HEAP_MEM_POOL_SIZE=2048
    CONFIG_MAIN_THREAD_PRIORITY=7
    
    CONFIG_ZIGBEE=y
    CONFIG_ZIGBEE_APP_UTILS=y
    CONFIG_ZIGBEE_ROLE_ROUTER=y
    
    CONFIG_ZIGBEE_CHANNEL_SELECTION_MODE_SINGLE=n
    # goes with CONFIG_ZIGBEE_CHANNEL
    CONFIG_ZIGBEE_CHANNEL_SELECTION_MODE_MULTI=y
    # goes with CONFIG_ZIGBEE_CHANNEL_MASK 
    
    # Enable DK LED and Buttons library
    #CONFIG_DK_LIBRARY=y
    
    # This example requires more workqueue stack
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
    
    # Enable nRF ECB driver
    CONFIG_CRYPTO=y
    CONFIG_CRYPTO_NRF_ECB=y
    CONFIG_CRYPTO_INIT_PRIORITY=80
    
    # Networking
    CONFIG_NET_IPV6_MLD=n
    CONFIG_NET_IPV6_NBR_CACHE=n
    CONFIG_NET_IPV6_RA_RDNSS=n
    CONFIG_NET_IP_ADDR_CHECK=n
    CONFIG_NET_UDP=n
    
    # Zigbee shell
    CONFIG_ZIGBEE_SHELL=y
    CONFIG_ZIGBEE_SHELL_DEBUG_CMD=y
    CONFIG_ZIGBEE_SHELL_ENDPOINT=64
    CONFIG_ZIGBEE_SHELL_LOG_LEVEL_DBG=y
    CONFIG_SHELL_CMDS=y
    
    CONFIG_LOG_CMDS=y
    CONFIG_LOG_STRDUP_MAX_STRING=370

Reply
  • Ok, a little more mucking about and I got it working.  For anyone having the same problem, the magic words were:

    CONFIG_SHELL_BACKENDS=y
    CONFIG_SHELL_BACKEND_RTT=y
    CONFIG_LOG_BACKEND_RTT_BUFFER=1
    

    Full conf used for zigbee shell below (note I'm disabling the annoying DK stuff, as this is a custom board).

    # Options enabled by CONFIG_NCS_SAMPLES_DEFAULTS,
    # put this way to get rid of LOG_MINIMAL
    CONFIG_LOG=y
    CONFIG_ASSERT=y
    CONFIG_ASSERT_NO_COND_INFO=y
    CONFIG_ASSERT_NO_MSG_INFO=y
    CONFIG_HW_STACK_PROTECTION=y
    CONFIG_LOG_DEFAULT_LEVEL=1
    
    
    
    
    # Configure serial
    CONFIG_SERIAL=y
    #CONFIG_GPIO=y
    
    # Make sure printk is not printing to the UART console
    CONFIG_CONSOLE=y
    
    
    
    CONFIG_UART_CONSOLE=n
    CONFIG_RTT_CONSOLE=y
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_LOG_BACKEND_RTT=y
    CONFIG_LOG_BACKEND_UART=n
    
    
    CONFIG_SHELL_BACKENDS=y
    CONFIG_SHELL_BACKEND_RTT=y
    CONFIG_LOG_BACKEND_RTT_BUFFER=1
    
    
    
    
    CONFIG_HEAP_MEM_POOL_SIZE=2048
    CONFIG_MAIN_THREAD_PRIORITY=7
    
    CONFIG_ZIGBEE=y
    CONFIG_ZIGBEE_APP_UTILS=y
    CONFIG_ZIGBEE_ROLE_ROUTER=y
    
    CONFIG_ZIGBEE_CHANNEL_SELECTION_MODE_SINGLE=n
    # goes with CONFIG_ZIGBEE_CHANNEL
    CONFIG_ZIGBEE_CHANNEL_SELECTION_MODE_MULTI=y
    # goes with CONFIG_ZIGBEE_CHANNEL_MASK 
    
    # Enable DK LED and Buttons library
    #CONFIG_DK_LIBRARY=y
    
    # This example requires more workqueue stack
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
    
    # Enable nRF ECB driver
    CONFIG_CRYPTO=y
    CONFIG_CRYPTO_NRF_ECB=y
    CONFIG_CRYPTO_INIT_PRIORITY=80
    
    # Networking
    CONFIG_NET_IPV6_MLD=n
    CONFIG_NET_IPV6_NBR_CACHE=n
    CONFIG_NET_IPV6_RA_RDNSS=n
    CONFIG_NET_IP_ADDR_CHECK=n
    CONFIG_NET_UDP=n
    
    # Zigbee shell
    CONFIG_ZIGBEE_SHELL=y
    CONFIG_ZIGBEE_SHELL_DEBUG_CMD=y
    CONFIG_ZIGBEE_SHELL_ENDPOINT=64
    CONFIG_ZIGBEE_SHELL_LOG_LEVEL_DBG=y
    CONFIG_SHELL_CMDS=y
    
    CONFIG_LOG_CMDS=y
    CONFIG_LOG_STRDUP_MAX_STRING=370

Children
No Data
Related