Files
epd42/components/libraries/trace/app_trace.c
Shuanglei Tao f353d23368 Initial commit
2024-11-11 15:35:36 +08:00

84 lines
2.1 KiB
C

/* 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
/**
*@}
**/