mirror of
https://github.com/pengwon/epd42.git
synced 2026-05-12 02:34:52 +08:00
Initial commit
This commit is contained in:
83
components/libraries/trace/app_trace.c
Normal file
83
components/libraries/trace/app_trace.c
Normal 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
|
||||
|
||||
/**
|
||||
*@}
|
||||
**/
|
||||
|
||||
55
components/libraries/trace/app_trace.h
Normal file
55
components/libraries/trace/app_trace.h
Normal 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_
|
||||
Reference in New Issue
Block a user