AFBR-S50 API Reference Manual v1.5.6
AFBR-S50 Time-of-Flight Sensor SDK for Embedded Software
Loading...
Searching...
No Matches
argus_debug_cli.h
Go to the documentation of this file.
1/*************************************************************************/
37#ifndef ARGUS_DEBUG_CLI_H
38#define ARGUS_DEBUG_CLI_H
39
40/*!***************************************************************************
41 * @defgroup argus_debug_cli Debugging CLI
42 * @ingroup argus
43 *
44 * @brief A CLI module to print debugging information on frame basis
45 *
46 * @details Just replace your data handling function by this print function
47 * to stream debugging measurement data via UART to a terminal.
48 *
49 * @addtogroup argus_debug_cli
50 * @{
51 *****************************************************************************/
52
53#include "argus.h"
54
55/*!***************************************************************************
56 * @brief Version number of the debug information via CLI.
57 *
58 * @details Changes:
59 * * v1.0:
60 * - Initial release.
61 *
62 *****************************************************************************/
63#define ARGUS_DEBUG_CLI_VERSION "v1.0"
64
65/*!***************************************************************************
66 * @brief The column separator for the debug print functionality.
67 * Examples: ";", ",", " ", "\t"
68 *****************************************************************************/
69#define ARGUS_DEBUG_COLUMN_SEPARATOR ";"
70
71/*!***************************************************************************
72 * @brief Prints debugging measurement header via UART.
73 *
74 * @note It is suggested to increase the UART baud rate to a sufficient large
75 * value (e.g. 2 Mbps) to avoid slow down of measurement rate due to a
76 * UART bottleneck.
77 *
78 * @details Prints an formatted header for the extended measurement data via UART.
79 * The measurement data is printed via \ref Print_DebugResults function.
80 * Calling this function before printing any error creates the
81 * according (and optional) header.
82 *
83 * The data stream consists of four parts:
84 * 1. Frame & binned data
85 * 2. Single pixel data (incl. sat pixel count)
86 * 3. Integration parameters
87 * 4. Auxiliary data
88 *
89 * @sa Print_DebugResults
90 *****************************************************************************/
91void Print_DebugHeader(void);
92
93/*!***************************************************************************
94 * @brief Prints debugging measurement results via UART.
95 *
96 * @note It is suggested to increase the UART baud rate to a sufficient large
97 * value (e.g. 2 Mbps) to avoid slow down of measurement rate due to a
98 * UART bottleneck.
99 *
100 * @details Prints a formatted string of measurement and debug data in table
101 * format via UART. Each call to this function will send a line of
102 * separated data via UART. The default separator is `;` but can be
103 * changed via the \ref ARGUS_DEBUG_COLUMN_SEPARATOR definition.
104 *
105 * Note that this uses the debug data structure! So it requires the
106 * `res->Debug` pointer to be set which is done by using the
107 * #Argus_EvaluateDataDebug method instead of the #Argus_EvaluateData
108 * method!
109 *
110 * The data stream consists of four parts:
111 * 1. Frame & binned data
112 * 2. Single pixel data (incl. sat pixel count)
113 * 3. Integration data
114 * 4. Auxiliary data
115 *
116 * In detail:
117 * 1. Frame number; timestamp; binned range in mm; binned amplitude in LSB; frame status;
118 * 2. Range pixel(0/0); Amplitude pixel(0/0); Status pixel(0/0); ...
119 * ...Range pixel(7/3); Amplitude pixel(7/3); Status pixel(7/3); saturated pixel count of frame;
120 * 3. Analog integration in LSB; Digital integration; LaserCurrent in mA; pixel gain in LSB;
121 * 4. Auxiliary task: APD current; Shot noise amplitude, ASIC temperature; VDD, VDDL, Substrate voltage
122 *
123 * Use the \ref Print_DebugHeader function to output an proper
124 * header for the debug data table.
125 *
126 * @sa Print_DebugHeader
127 *
128 * @param frame_cnt An integer to print the frame number; this should be
129 * incremented by one each time the function is called.
130 * @param res The pointer to the measurement results structure to be printed.
131 * Note that the res->Debug pointer must be set for this to work
132 * properly!
133 *****************************************************************************/
134void Print_DebugResults(uint32_t frame_cnt, argus_results_t const * res);
135
137#endif /* ARGUS_DEBUG_CLI_H */
This file is part of the AFBR-S50 API.
void Print_DebugResults(uint32_t frame_cnt, argus_results_t const *res)
Prints debugging measurement results via UART.
Definition argus_debug_cli.c:120
void Print_DebugHeader(void)
Prints debugging measurement header via UART.
Definition argus_debug_cli.c:59
The measurement results data structure.
Definition argus_res.h:216