From 681567d6d1bd2894eccde5b22a948eac7d3a22a5 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期五, 20 九月 2024 18:38:25 +0800
Subject: [PATCH] 对应发货标签V1.6,更改版本号为V1.1,与一期标签分开,更改了tag的uwb测距配置与DW1000通讯,并将测距接包逻辑单次接包改为打开循环接收

---
 keil/include/drivers/mk_trace.c |  418 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 208 insertions(+), 210 deletions(-)

diff --git a/keil/include/drivers/mk_trace.c b/keil/include/drivers/mk_trace.c
index d40da8d..b2c8ce8 100644
--- a/keil/include/drivers/mk_trace.c
+++ b/keil/include/drivers/mk_trace.c
@@ -205,8 +205,7 @@
 };
 
 const static char *module_name[TRACE_MODULE_NUM] = {"[MAC]",  "[PHY]", "[DRV]",  "[APP]", "[UWB]", "[UCI]",  "[TEST]",
-        "[BOOT]", "[OS]",  "[FIRA]", "[CCC]", "[SE]",  "[SCP03]"
-                                                   };
+                                                    "[BOOT]", "[OS]",  "[FIRA]", "[CCC]", "[SE]",  "[SCP03]"};
 
 const static char *level_tag[TRACE_LEVEL_NUM] = {
     "[ERROR]",
@@ -297,20 +296,19 @@
     {
         enum UART_DEV_T trace_uart = (trace_handle.port == TRACE_PORT_UART0) ? UART_ID0 : UART_ID1;
         struct UART_CFG_T trace_uart_cfg = {.parity = UART_PARITY_NONE,
-            .stop = UART_STOP_BITS_1,
-             .data = UART_DATA_BITS_8,
-              .flow = UART_FLOW_CONTROL_NONE,
-               .rx_level = UART_RXFIFO_CHAR_1,
-                .tx_level = UART_TXFIFO_EMPTY,
-                 .baud = baud_rate,
+                                            .stop = UART_STOP_BITS_1,
+                                            .data = UART_DATA_BITS_8,
+                                            .flow = UART_FLOW_CONTROL_NONE,
+                                            .rx_level = UART_RXFIFO_CHAR_1,
+                                            .tx_level = UART_TXFIFO_EMPTY,
+                                            .baud = baud_rate,
 #ifdef TRACE_BLOCKING
-                  .dma_en = false,
+                                            .dma_en = false,
 #else
-                  .dma_en = true,
+                                            .dma_en = true,
 #endif
-                   .int_rx = false,
-                    .int_tx = false
-        };
+                                            .int_rx = false,
+                                            .int_tx = false};
 
         ret = uart_open(trace_uart, &trace_uart_cfg);
 
@@ -570,65 +568,65 @@
         enum UART_DEV_T trace_uart = (trace_handle.port == TRACE_PORT_UART0) ? UART_ID0 : UART_ID1;
         switch (trace_handle.console_fsm)
         {
-        case CONSOLE_RX_HEADER:
-        {
-            if (trace_handle.rx_buf[POS_PREAMBLE] == CONSOLE_CMD)
+            case CONSOLE_RX_HEADER:
             {
-                payload_len = (uint16_t)(trace_handle.rx_buf[POS_LENGTH + 1] << 8) + trace_handle.rx_buf[POS_LENGTH];
-                trace_handle.console_fsm = CONSOLE_RX_PAYLOAD;
-                uart_receive(trace_uart, &trace_handle.rx_buf[POS_ID], payload_len, console_receive_callback);
-            }
-            else if (trace_handle.rx_buf[1] == CONSOLE_CMD)
-            {
-                trace_handle.rx_buf[POS_PREAMBLE] = CONSOLE_CMD;
-                trace_handle.rx_buf[1] = trace_handle.rx_buf[2];
-                uart_receive(trace_uart, &trace_handle.rx_buf[2], 1, console_receive_callback);
-            }
-            else if (trace_handle.rx_buf[2] == CONSOLE_CMD)
-            {
-                trace_handle.rx_buf[POS_PREAMBLE] = CONSOLE_CMD;
-                uart_receive(trace_uart, &trace_handle.rx_buf[1], 2, console_receive_callback);
-            }
-            else
-            {
-                uart_receive(trace_uart, &trace_handle.rx_buf[POS_PREAMBLE], LEN_HEADER, console_receive_callback);
-            }
-            break;
-        }
-
-        case CONSOLE_RX_PAYLOAD:
-        {
-            // check crc
-            payload_len = (uint16_t)(trace_handle.rx_buf[POS_LENGTH + 1] << 8) + trace_handle.rx_buf[POS_LENGTH];
-            uint16_t crc_frame =
-                (uint16_t)(trace_handle.rx_buf[payload_len + LEN_HEADER - LEN_CRC + 1] << 8) + trace_handle.rx_buf[payload_len + LEN_HEADER - LEN_CRC];
-            uint16_t crc_cal = crc16(&trace_handle.rx_buf[0], payload_len + LEN_HEADER - LEN_CRC);
-
-            if (crc_frame == crc_cal)
-            {
-                uint16_t id = (uint16_t)(trace_handle.rx_buf[POS_ID + 1] << 8) + trace_handle.rx_buf[POS_ID];
-
-                // packet process
-                if (console_cmd_handler_list[id].function)
+                if (trace_handle.rx_buf[POS_PREAMBLE] == CONSOLE_CMD)
                 {
-                    console_cmd_handler_list[id].function(&trace_handle.rx_buf[POS_DATA], payload_len - LEN_CRC - LEN_ID);
+                    payload_len = (uint16_t)(trace_handle.rx_buf[POS_LENGTH + 1] << 8) + trace_handle.rx_buf[POS_LENGTH];
+                    trace_handle.console_fsm = CONSOLE_RX_PAYLOAD;
+                    uart_receive(trace_uart, &trace_handle.rx_buf[POS_ID], payload_len, console_receive_callback);
+                }
+                else if (trace_handle.rx_buf[1] == CONSOLE_CMD)
+                {
+                    trace_handle.rx_buf[POS_PREAMBLE] = CONSOLE_CMD;
+                    trace_handle.rx_buf[1] = trace_handle.rx_buf[2];
+                    uart_receive(trace_uart, &trace_handle.rx_buf[2], 1, console_receive_callback);
+                }
+                else if (trace_handle.rx_buf[2] == CONSOLE_CMD)
+                {
+                    trace_handle.rx_buf[POS_PREAMBLE] = CONSOLE_CMD;
+                    uart_receive(trace_uart, &trace_handle.rx_buf[1], 2, console_receive_callback);
                 }
                 else
                 {
-                    LOG_ERROR(TRACE_MODULE_DRIVER, "Console CMD ID %04x Function is Null\r\n", id);
+                    uart_receive(trace_uart, &trace_handle.rx_buf[POS_PREAMBLE], LEN_HEADER, console_receive_callback);
                 }
+                break;
             }
-            else
-            {
-                LOG_ERROR(TRACE_MODULE_DRIVER, "Console CRC Error %04x %04x\r\n", crc_cal, crc_frame);
-            }
-            trace_handle.console_fsm = CONSOLE_RX_HEADER;
-            uart_receive(trace_uart, &trace_handle.rx_buf[0], LEN_HEADER, console_receive_callback);
-            break;
-        }
 
-        default:
-            break;
+            case CONSOLE_RX_PAYLOAD:
+            {
+                // check crc
+                payload_len = (uint16_t)(trace_handle.rx_buf[POS_LENGTH + 1] << 8) + trace_handle.rx_buf[POS_LENGTH];
+                uint16_t crc_frame =
+                    (uint16_t)(trace_handle.rx_buf[payload_len + LEN_HEADER - LEN_CRC + 1] << 8) + trace_handle.rx_buf[payload_len + LEN_HEADER - LEN_CRC];
+                uint16_t crc_cal = crc16(&trace_handle.rx_buf[0], payload_len + LEN_HEADER - LEN_CRC);
+
+                if (crc_frame == crc_cal)
+                {
+                    uint16_t id = (uint16_t)(trace_handle.rx_buf[POS_ID + 1] << 8) + trace_handle.rx_buf[POS_ID];
+
+                    // packet process
+                    if (console_cmd_handler_list[id].function)
+                    {
+                        console_cmd_handler_list[id].function(&trace_handle.rx_buf[POS_DATA], payload_len - LEN_CRC - LEN_ID);
+                    }
+                    else
+                    {
+                        LOG_ERROR(TRACE_MODULE_DRIVER, "Console CMD ID %04x Function is Null\r\n", id);
+                    }
+                }
+                else
+                {
+                    LOG_ERROR(TRACE_MODULE_DRIVER, "Console CRC Error %04x %04x\r\n", crc_cal, crc_frame);
+                }
+                trace_handle.console_fsm = CONSOLE_RX_HEADER;
+                uart_receive(trace_uart, &trace_handle.rx_buf[0], LEN_HEADER, console_receive_callback);
+                break;
+            }
+
+            default:
+                break;
         }
     }
 }
@@ -727,15 +725,15 @@
         while (1)
         {
             if (NumDigits > 1u)
-            {   // User specified a min number of digits to print? => Make sure we loop at least that often, before
-                // checking anything else (> 1 check avoids problems with NumDigits being signed / unsigned)
+            { // User specified a min number of digits to print? => Make sure we loop at least that often, before
+              // checking anything else (> 1 check avoids problems with NumDigits being signed / unsigned)
                 NumDigits--;
             }
             else
             {
                 Div = v / Digit;
                 if (Div < Base)
-                {   // Is our divider big enough to extract the highest digit from value? => Done
+                { // Is our divider big enough to extract the highest digit from value? => Done
                     break;
                 }
             }
@@ -901,25 +899,25 @@
                 c = *fmt;
                 switch (c)
                 {
-                case '-':
-                    FormatFlags |= FORMAT_FLAG_LEFT_JUSTIFY;
-                    fmt++;
-                    break;
-                case '0':
-                    FormatFlags |= FORMAT_FLAG_PAD_ZERO;
-                    fmt++;
-                    break;
-                case '+':
-                    FormatFlags |= FORMAT_FLAG_PRINT_SIGN;
-                    fmt++;
-                    break;
-                case '#':
-                    FormatFlags |= FORMAT_FLAG_ALTERNATE;
-                    fmt++;
-                    break;
-                default:
-                    v = 0;
-                    break;
+                    case '-':
+                        FormatFlags |= FORMAT_FLAG_LEFT_JUSTIFY;
+                        fmt++;
+                        break;
+                    case '0':
+                        FormatFlags |= FORMAT_FLAG_PAD_ZERO;
+                        fmt++;
+                        break;
+                    case '+':
+                        FormatFlags |= FORMAT_FLAG_PRINT_SIGN;
+                        fmt++;
+                        break;
+                    case '#':
+                        FormatFlags |= FORMAT_FLAG_ALTERNATE;
+                        fmt++;
+                        break;
+                    default:
+                        v = 0;
+                        break;
                 }
             } while (v);
             //
@@ -977,65 +975,65 @@
             //
             switch (c)
             {
-            case 'c':
-            {
-                char c0;
-                v = va_arg(args, int);
-                c0 = (char)v;
-                _StoreChar(&BufferDesc, c0);
-                break;
-            }
-            case 'd':
-                v = va_arg(args, int);
-                _PrintInt(&BufferDesc, v, 10u, NumDigits, FieldWidth, FormatFlags);
-                break;
-            case 'u':
-                v = va_arg(args, int);
-                _PrintUnsigned(&BufferDesc, (unsigned)v, 10u, NumDigits, FieldWidth, FormatFlags);
-                break;
-            case 'x':
-            case 'X':
-                v = va_arg(args, int);
-                _PrintUnsigned(&BufferDesc, (unsigned)v, 16u, NumDigits, FieldWidth, FormatFlags);
-                break;
-            case 's':
-            {
-                const char *s = va_arg(args, const char *);
-                do
+                case 'c':
                 {
-                    c = *s;
-                    s++;
-                    if (c == '\0')
+                    char c0;
+                    v = va_arg(args, int);
+                    c0 = (char)v;
+                    _StoreChar(&BufferDesc, c0);
+                    break;
+                }
+                case 'd':
+                    v = va_arg(args, int);
+                    _PrintInt(&BufferDesc, v, 10u, NumDigits, FieldWidth, FormatFlags);
+                    break;
+                case 'u':
+                    v = va_arg(args, int);
+                    _PrintUnsigned(&BufferDesc, (unsigned)v, 10u, NumDigits, FieldWidth, FormatFlags);
+                    break;
+                case 'x':
+                case 'X':
+                    v = va_arg(args, int);
+                    _PrintUnsigned(&BufferDesc, (unsigned)v, 16u, NumDigits, FieldWidth, FormatFlags);
+                    break;
+                case 's':
+                {
+                    const char *s = va_arg(args, const char *);
+                    do
                     {
-                        break;
-                    }
-                    _StoreChar(&BufferDesc, c);
-                } while (BufferDesc.ReturnValue >= 0);
-            }
-            break;
-            case 'f':
-            case 'F':
-            {
-                float fv = (float)va_arg(args, double);
-                if (fv < 0)
-                    _StoreChar(&BufferDesc, '-');
-                v = abs((int)fv);
-                _PrintInt(&BufferDesc, v, 10u, NumDigits, FieldWidth, FormatFlags);
-                _StoreChar(&BufferDesc, '.');
-                v = abs((int)(fv * 1000000));
-                v = v % 1000000;
-                _PrintInt(&BufferDesc, v, 10u, 6, FieldWidth, FormatFlags);
-            }
-            break;
-            case 'p':
-                v = va_arg(args, int);
-                _PrintUnsigned(&BufferDesc, (unsigned)v, 16u, 8u, 8u, 0u);
+                        c = *s;
+                        s++;
+                        if (c == '\0')
+                        {
+                            break;
+                        }
+                        _StoreChar(&BufferDesc, c);
+                    } while (BufferDesc.ReturnValue >= 0);
+                }
                 break;
-            case '%':
-                _StoreChar(&BufferDesc, '%');
+                case 'f':
+                case 'F':
+                {
+                    float fv = (float)va_arg(args, double);
+                    if (fv < 0)
+                        _StoreChar(&BufferDesc, '-');
+                    v = abs((int)fv);
+                    _PrintInt(&BufferDesc, v, 10u, NumDigits, FieldWidth, FormatFlags);
+                    _StoreChar(&BufferDesc, '.');
+                    v = abs((int)(fv * 1000000));
+                    v = v % 1000000;
+                    _PrintInt(&BufferDesc, v, 10u, 6, FieldWidth, FormatFlags);
+                }
                 break;
-            default:
-                break;
+                case 'p':
+                    v = va_arg(args, int);
+                    _PrintUnsigned(&BufferDesc, (unsigned)v, 16u, 8u, 8u, 0u);
+                    break;
+                case '%':
+                    _StoreChar(&BufferDesc, '%');
+                    break;
+                default:
+                    break;
             }
             fmt++;
         }
@@ -1198,7 +1196,7 @@
     j = 3;
 
     while (*p != '\0')
-    {   // fill begin at recdBuf[3]
+    { // fill begin at recdBuf[3]
         if (*p != '%')
         {
             p++;
@@ -1212,82 +1210,82 @@
 
         switch (*++p)
         {
-        case 's':
-        {
-            recdBuf[j++] = 0;
-            dataBits |= 1 << 2 * var_count++;
-        }
-        break;
-        case 'c':
-        case 'd':
-        {
-            it = va_arg(aq, int);
-            if (it > 0x7FFF)
+            case 's':
             {
-                *(recdBuf + j++) = 0xff;
-                *(recdBuf + j++) = 0x7f;
-                dataBits |= 2 << 2 * var_count++;
-            }
-
-            if (it < 256)
-            {   // 1byte
-                recdBuf[j++] = (char)it;
+                recdBuf[j++] = 0;
                 dataBits |= 1 << 2 * var_count++;
             }
-            else
-            {   // 2byte
-                *(recdBuf + j++) = it & 0xff;
-                *(recdBuf + j++) = it >> 8 & 0xff;
-                dataBits |= 2 << 2 * var_count++;
-            }
-        }
-        break;
-        case 'x':
-        case 'X':
-        case 'u':
-        {
-            it = va_arg(aq, int);
-            if (it > 0xFFFF)
+            break;
+            case 'c':
+            case 'd':
             {
-                *(recdBuf + j++) = 0xff;
-                *(recdBuf + j++) = 0xff;
-                dataBits |= 2 << 2 * var_count++;
-            }
+                it = va_arg(aq, int);
+                if (it > 0x7FFF)
+                {
+                    *(recdBuf + j++) = 0xff;
+                    *(recdBuf + j++) = 0x7f;
+                    dataBits |= 2 << 2 * var_count++;
+                }
 
-            if (it < 0x100) //<0xFF
-            {   // 1byte
-                recdBuf[j++] = (char)it;
-                dataBits |= 1 << 2 * var_count++;
+                if (it < 256)
+                { // 1byte
+                    recdBuf[j++] = (char)it;
+                    dataBits |= 1 << 2 * var_count++;
+                }
+                else
+                { // 2byte
+                    *(recdBuf + j++) = it & 0xff;
+                    *(recdBuf + j++) = it >> 8 & 0xff;
+                    dataBits |= 2 << 2 * var_count++;
+                }
             }
-            else
-            {   // 2byte
-                *(recdBuf + j++) = it & 0xff;
-                *(recdBuf + j++) = it >> 8 & 0xff;
-                dataBits |= 2 << 2 * var_count++;
-            }
-        }
-        break;
-        case 'f':
-        {
-            dd = va_arg(aq, double);
-            if (dd > 3.4e38)
+            break;
+            case 'x':
+            case 'X':
+            case 'u':
             {
-                *(recdBuf + j++) = 0xff;
-                *(recdBuf + j++) = 0xff;
-                *(recdBuf + j++) = 0xff;
-                *(recdBuf + j++) = 0xff;
-                dataBits |= 3 << 2 * var_count++;
+                it = va_arg(aq, int);
+                if (it > 0xFFFF)
+                {
+                    *(recdBuf + j++) = 0xff;
+                    *(recdBuf + j++) = 0xff;
+                    dataBits |= 2 << 2 * var_count++;
+                }
+
+                if (it < 0x100) //<0xFF
+                {               // 1byte
+                    recdBuf[j++] = (char)it;
+                    dataBits |= 1 << 2 * var_count++;
+                }
+                else
+                { // 2byte
+                    *(recdBuf + j++) = it & 0xff;
+                    *(recdBuf + j++) = it >> 8 & 0xff;
+                    dataBits |= 2 << 2 * var_count++;
+                }
             }
-            else
+            break;
+            case 'f':
             {
-                *(recdBuf + j++) = (unsigned int)dd & 0xff;
-                *(recdBuf + j++) = (unsigned int)dd >> 8 & 0xff;
-                *(recdBuf + j++) = (unsigned int)dd >> 16 & 0xff;
-                *(recdBuf + j++) = (unsigned int)dd >> 24 & 0xff;
-                dataBits |= 3 << 2 * var_count++;
+                dd = va_arg(aq, double);
+                if (dd > 3.4e38)
+                {
+                    *(recdBuf + j++) = 0xff;
+                    *(recdBuf + j++) = 0xff;
+                    *(recdBuf + j++) = 0xff;
+                    *(recdBuf + j++) = 0xff;
+                    dataBits |= 3 << 2 * var_count++;
+                }
+                else
+                {
+                    *(recdBuf + j++) = (unsigned int)dd & 0xff;
+                    *(recdBuf + j++) = (unsigned int)dd >> 8 & 0xff;
+                    *(recdBuf + j++) = (unsigned int)dd >> 16 & 0xff;
+                    *(recdBuf + j++) = (unsigned int)dd >> 24 & 0xff;
+                    dataBits |= 3 << 2 * var_count++;
+                }
             }
-        }
-        break;
+            break;
         }
         p++;
     }
@@ -1589,8 +1587,8 @@
 #if defined(__CC_ARM)
 
 #else
-__ASM volatile("mov %0, sp" : "=r"(sp));
-__ASM volatile("mov %0, lr" : "=r"(lr));
+    __ASM volatile("mov %0, sp" : "=r"(sp));
+    __ASM volatile("mov %0, lr" : "=r"(lr));
 #endif
 
     // Parameters

--
Gitblit v1.9.3