summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2021-02-10 16:00:27 +1100
committerDamien George <damien@micropython.org>2021-02-12 12:07:29 +1100
commit7535f67dfbbcd0f2f47ffbf893d6f66f96becae6 (patch)
tree2911155785cbe25cdcc55ddde1524abdc71822cc
parent7815dd2cc5306b72c84dbbc27638d9d3f6b32ac9 (diff)
downloadmicropython-7535f67dfbbcd0f2f47ffbf893d6f66f96becae6.tar.gz
micropython-7535f67dfbbcd0f2f47ffbf893d6f66f96becae6.zip
extmod/btstack: Add HCI trace debugging option in btstack_hci_uart.
Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--extmod/btstack/btstack_hci_uart.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/extmod/btstack/btstack_hci_uart.c b/extmod/btstack/btstack_hci_uart.c
index ae18628a9c..0a137bbae4 100644
--- a/extmod/btstack/btstack_hci_uart.c
+++ b/extmod/btstack/btstack_hci_uart.c
@@ -38,6 +38,11 @@
#include "mpbtstackport.h"
+#define HCI_TRACE (0)
+#define COL_OFF "\033[0m"
+#define COL_GREEN "\033[0;32m"
+#define COL_BLUE "\033[0;34m"
+
// Implements a btstack btstack_uart_block_t on top of the mphciuart.h
// interface to an HCI UART provided by the port.
@@ -114,6 +119,14 @@ STATIC void btstack_uart_receive_block(uint8_t *buf, uint16_t len) {
}
STATIC void btstack_uart_send_block(const uint8_t *buf, uint16_t len) {
+ #if HCI_TRACE
+ printf(COL_GREEN "< [% 8d] %02x", (int)mp_hal_ticks_ms(), buf[0]);
+ for (size_t i = 1; i < len; ++i) {
+ printf(":%02x", buf[i]);
+ }
+ printf(COL_OFF "\n");
+ #endif
+
mp_bluetooth_hci_uart_write(buf, len);
send_done = true;
}
@@ -165,6 +178,13 @@ void mp_bluetooth_btstack_hci_uart_process(void) {
while (recv_idx < recv_len && (chr = mp_bluetooth_hci_uart_readchar()) >= 0) {
recv_buf[recv_idx++] = chr;
if (recv_idx == recv_len) {
+ #if HCI_TRACE
+ printf(COL_BLUE "> [% 8d] %02x", (int)mp_hal_ticks_ms(), recv_buf[0]);
+ for (size_t i = 1; i < recv_len; ++i) {
+ printf(":%02x", recv_buf[i]);
+ }
+ printf(COL_OFF "\n");
+ #endif
recv_idx = 0;
recv_len = 0;
if (recv_handler) {