Initial commit

This commit is contained in:
Shuanglei Tao
2024-11-11 15:24:18 +08:00
commit f353d23368
1503 changed files with 324924 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
/* Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
*
* The information contained herein is property of Nordic Semiconductor ASA.
* Terms and conditions of usage are described in detail in NORDIC
* SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
*
* Licensees are granted free, non-transferable use of the information. NO
* WARRANTY of ANY KIND is provided. This heading must NOT be removed from
* the file.
*
*/
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <stdarg.h>
#ifdef ENABLE_DEBUG_LOG_SUPPORT
#include "app_uart.h"
#include "nordic_common.h"
#include "boards.h"
#include "app_trace.h"
#include "app_error.h"
#ifndef UART_TX_BUF_SIZE
#define UART_TX_BUF_SIZE 1024 /**< UART TX buffer size. */
#endif
#ifndef UART_RX_BUF_SIZE
#define UART_RX_BUF_SIZE 1 /**< UART RX buffer size. */
#endif
__WEAK void uart_error_handle(app_uart_evt_t * p_event)
{
if (p_event->evt_type == APP_UART_COMMUNICATION_ERROR)
{
//Skipping communication errors, they are only for Rx and app_trace is Tx only.
//APP_ERROR_HANDLER(p_event->data.error_communication);
}
else if (p_event->evt_type == APP_UART_FIFO_ERROR)
{
APP_ERROR_HANDLER(p_event->data.error_code);
}
}
void app_trace_init(void)
{
uint32_t err_code = NRF_SUCCESS;
const app_uart_comm_params_t comm_params =
{
RX_PIN_NUMBER,
TX_PIN_NUMBER,
RTS_PIN_NUMBER,
CTS_PIN_NUMBER,
APP_UART_FLOW_CONTROL_DISABLED,
false,
UART_BAUDRATE_BAUDRATE_Baud38400
};
APP_UART_FIFO_INIT(&comm_params,
UART_RX_BUF_SIZE,
UART_TX_BUF_SIZE,
uart_error_handle,
APP_IRQ_PRIORITY_LOW,
err_code);
UNUSED_VARIABLE(err_code);
}
void app_trace_dump(uint8_t * p_buffer, uint32_t len)
{
app_trace_log("\r\n");
for (uint32_t index = 0; index < len; index++)
{
app_trace_log("0x%02X ", p_buffer[index]);
}
app_trace_log("\r\n");
}
#endif // ENABLE_DEBUG_LOG_SUPPORT
/**
*@}
**/

View File

@@ -0,0 +1,55 @@
#ifndef __DEBUG_H_
#define __DEBUG_H_
#include <stdint.h>
#include <stdio.h>
/**
* @defgroup app_trace Debug Logger
* @ingroup app_common
* @{
* @brief Enables debug logs/ trace over UART.
* @details Enables debug logs/ trace over UART. Tracing is enabled only if
* ENABLE_DEBUG_LOG_SUPPORT is defined in the project.
*/
#ifdef ENABLE_DEBUG_LOG_SUPPORT
/**
* @brief Module Initialization.
*
* @details Initializes the module to use UART as trace output.
*
* @warning This function will configure UART using default board configuration.
* Do not call this function if UART is configured from a higher level in the application.
*/
void app_trace_init(void);
/**
* @brief Log debug messages.
*
* @details This API logs messages over UART. The module must be initialized before using this API.
*
* @note Though this is currently a macro, it should be used used and treated as function.
*/
#define app_trace_log printf
/**
* @brief Dump auxiliary byte buffer to the debug trace.
*
* @details This API logs messages over UART. The module must be initialized before using this API.
*
* @param[in] p_buffer Buffer to be dumped on the debug trace.
* @param[in] len Size of the buffer.
*/
void app_trace_dump(uint8_t * p_buffer, uint32_t len);
#else // ENABLE_DEBUG_LOG_SUPPORT
#define app_trace_init(...)
#define app_trace_log(...)
#define app_trace_dump(...)
#endif // ENABLE_DEBUG_LOG_SUPPORT
/** @} */
#endif //__DEBUG_H_