cancel
Showing results for 
Search instead for 
Did you mean: 

WICED Studio Bluetooth

JeHu_3414236
Contributor II

After I program my application, I want to disable HCI UART because I don't have any debug traces to print.  What should be the line state for CTS?  If it is low, the app cannot run after reset because I assume it will be in recovery mode.  If I leave it high, the app will run for maybe 10s then stop.  Is the app trying to access the HCI UART?  What code changes should I make in the app to disable HCI UART?  I tried not calling wiced_transport_init() but it doesn't work.  I am using the 20719 Q40EVB but the HCI UART is connected to my own test circuit and not the FTDI output.

0 Likes
Reply
1 Solution
SheetalJ
Moderator
Moderator

Hi jhu_3414236​,

You will have to call wiced_bt_dev_register_hci_trace() bcoz HCI traces are the communication between host and controller, HCI commands and their response. So it is necessary to define it. You can check the comments about wiced_transport_send_hci_trace() for the same.

Remaining configuration looks good.

View solution in original post

8 Replies
SheetalJ
Moderator
Moderator

Hi jhu_3414236​,

HCI UART is only used to program the device. PUART is used for further transmission of data.

You can route the debug traces to PUART or no debug traces using WICED_ROUTE_DEBUG_TO_PUART or WICED_ROUTE_DEBUG_NONE. You can use API wiced_set_debug_uart().

JeHu_3414236
Contributor II

I set WICED_ROUTE_DEBUG_NONE and it still doesn't work when I keep CTS high on HCI_UART.  The app will run for some time then stop.  I can only get it to work by setting CTS high for 100ms during power up/reset, then setting CTS low.  I am disabling UART by not defining these flags from a new project generated by WICED Studio:

C_FLAGS += -DWICED_BT_TRACE_ENABLE

# If defined, HCI traces are sent over transport/WICED HCI interface

C_FLAGS += -DHCI_TRACE_OVER_TRANSPORT

This is my transport config:

wiced_transport_cfg_t transport_cfg =

{

    WICED_TRANSPORT_UART,              /**< Wiced transport type. */

    {

        WICED_TRANSPORT_UART_HCI_MODE, /**<  UART mode, HCI or Raw */

        115200          /**<  UART baud rate */

    },

    {

        TRANS_UART_BUFFER_SIZE,        /**<  Rx Buffer Size */

        TRANS_UART_BUFFER_COUNT        /**<  Rx Buffer Count */

    },

    NULL,                              /**< Wiced transport status handler.*/

    NULL,        /**< Wiced transport receive data handler. */

    NULL                               /**< Wiced transport tx complete callback. */

};

0 Likes
Reply
AnjanaM_61
Moderator
Moderator

Hi,

Could you please confirm why you want to disable the HCI UART ?

If only to disable the debug prints, you can make use of WICED_ROUTE_DEBUG_NONE as mentioned before.

After that you do not have to change any pin states.

Thanks,

Anjana

JeHu_3414236
Contributor II

I don't want any activity on HCI UART or enable debug traces.  I only use HCI UART to program the application during production.  Can you confirm this is the correct setup?  Thanks.

CTS always high

call wiced_set_debug_uart( WICED_ROUTE_DEBUG_NONE )

do not call wiced_bt_dev_register_hci_trace()

do not set makefile flag WICED_BT_TRACE_ENABLE

do not set makefile flag HCI_TRACE_OVER_TRANSPORT

set the sleep config sleep_mode to WICED_SLEEP_MODE_NO_TRANSPORT

0 Likes
Reply
SheetalJ
Moderator
Moderator

Hi jhu_3414236​,

You will have to call wiced_bt_dev_register_hci_trace() bcoz HCI traces are the communication between host and controller, HCI commands and their response. So it is necessary to define it. You can check the comments about wiced_transport_send_hci_trace() for the same.

Remaining configuration looks good.

View solution in original post

JeHu_3414236
Contributor II

Thanks. When I create a new project it adds a precompiler define to

enable/disable HCI trace. In what situation will I need to disable HCI

trace?

0 Likes
Reply
SheetalJ
Moderator
Moderator

When you dont want any communication using HCI commands, you can disable HCI traces.

I do not think your code or functionality will get affected if you keep the HCI UART enabled. It is just for programming the chip and allowing the HCI communication between host and controller.

0 Likes
Reply
JoJo_2624151
New Contributor II

The DEBUG is PUART

Don't confuse

0 Likes
Reply