AFBR-S50 API Reference Manual  v1.6.5
AFBR-S50 Time-of-Flight Sensor SDK for Embedded Software
argus_px.h
Go to the documentation of this file.
1 /*************************************************************************/
37 #ifndef ARGUS_PX_H
38 #define ARGUS_PX_H
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 /*!***************************************************************************
44  * @addtogroup argus_res
45  * @{
46  *****************************************************************************/
47 
48 #include "argus_def.h"
49 
50 
52 #define ARGUS_AMPLITUDE_MAX (0xFFF0U)
53 
56 #define ARGUS_RANGE_MAX (Q9_22_MAX)
57 
59 #define ARGUS_RANGE_MIN (Q9_22_MIN)
60 
61 /*!***************************************************************************
62  * @brief Status flags for the evaluated pixel structure.
63  *
64  * @details Determines the pixel status. 0 means OK (#PIXEL_OK).
65  * - [0]: #PIXEL_OFF: Pixel was disabled and not read from the device.
66  * - [1]: #PIXEL_SAT: The pixel was saturated.
67  * - [2]: #PIXEL_BIN_EXCL: The pixel was excluded from the 1D result.
68  * - [3]: #PIXEL_INVALID: The pixel data is invalid.
69  * - [4]: #PIXEL_PREFILTERED: The was pre-filtered by static mask.
70  * - [5]: #PIXEL_NO_SIGNAL: The pixel has no valid signal.
71  * - [6]: #PIXEL_OUT_OF_SYNC: The pixel has lost signal trace.
72  * - [7]: #PIXEL_STALLED: The pixel value is stalled due to errors.
73  * .
74  *****************************************************************************/
75 typedef enum argus_px_status_t
76 {
78  PIXEL_OK = 0,
79 
81  PIXEL_OFF = 1U << 0U,
82 
85  PIXEL_SAT = 1U << 1U,
86 
88  PIXEL_BIN_EXCL = 1U << 2U,
89 
96  PIXEL_INVALID = 1U << 3U,
97 
100  PIXEL_PREFILTERED = 1U << 4U,
101 
105  PIXEL_NO_SIGNAL = 1U << 5U,
106 
110  PIXEL_OUT_OF_SYNC = 1U << 6U,
111 
121  PIXEL_STALLED = 1U << 7U
122 
124 
125 /*!***************************************************************************
126  * @brief The evaluated measurement results per pixel.
127  * @details This structure contains the evaluated data for a single pixel.\n
128  * If the amplitude is 0, the pixel is turned off or has invalid data.
129  *****************************************************************************/
130 typedef struct argus_pixel_t
131 {
135 
138 
142 
147 
149  int8_t RangeWindow;
150 
153 
156 
159 
160 } argus_pixel_t;
161 
162 /*!***************************************************************************
163  * @brief Representation of a correlation vector containing sine/cosine components.
164  *****************************************************************************/
165 typedef struct argus_vector_t
166 {
167  union
168  {
171 
172  struct
173  {
176 
179  };
180  };
182 
184 #ifdef __cplusplus
185 } // extern "C"
186 #endif
187 #endif /* ARGUS_PX_H */
argus_pixel_t::Status
argus_px_status_t Status
Definition: argus_px.h:146
PIXEL_INVALID
@ PIXEL_INVALID
Definition: argus_px.h:96
PIXEL_BIN_EXCL
@ PIXEL_BIN_EXCL
Definition: argus_px.h:88
argus_pixel_t::RangeWindow
int8_t RangeWindow
Definition: argus_px.h:149
argus_pixel_t::Amplitude
uq12_4_t Amplitude
Definition: argus_px.h:141
argus_def.h
This file is part of the AFBR-S50 hardware API.
uq12_4_t
uint16_t uq12_4_t
Unsigned fixed point number: UQ12.4.
Definition: fp_def.h:231
PIXEL_PREFILTERED
@ PIXEL_PREFILTERED
Definition: argus_px.h:100
q9_22_t
int32_t q9_22_t
Signed fixed point number: Q9.22.
Definition: fp_def.h:538
argus_vector_t::S
q15_16_t S
Definition: argus_px.h:175
argus_pixel_t::Phase
uq1_15_t Phase
Definition: argus_px.h:137
PIXEL_SAT
@ PIXEL_SAT
Definition: argus_px.h:85
PIXEL_STALLED
@ PIXEL_STALLED
Definition: argus_px.h:121
argus_vector_t::SC
q15_16_t SC[2]
Definition: argus_px.h:170
argus_pixel_t::Range
q9_22_t Range
Definition: argus_px.h:134
argus_pixel_t::UncorrelatedNoise
uq12_4_t UncorrelatedNoise
Definition: argus_px.h:155
argus_vector_t
Representation of a correlation vector containing sine/cosine components.
Definition: argus_px.h:165
PIXEL_OUT_OF_SYNC
@ PIXEL_OUT_OF_SYNC
Definition: argus_px.h:110
argus_vector_t::C
q15_16_t C
Definition: argus_px.h:178
argus_pixel_t
The evaluated measurement results per pixel.
Definition: argus_px.h:130
argus_pixel_t::SNR
uq12_4_t SNR
Definition: argus_px.h:158
PIXEL_OFF
@ PIXEL_OFF
Definition: argus_px.h:81
argus_px_status_t
argus_px_status_t
Status flags for the evaluated pixel structure.
Definition: argus_px.h:75
PIXEL_OK
@ PIXEL_OK
Definition: argus_px.h:78
PIXEL_NO_SIGNAL
@ PIXEL_NO_SIGNAL
Definition: argus_px.h:105
argus_pixel_t::AmplitudeRaw
uq12_4_t AmplitudeRaw
Definition: argus_px.h:152
q15_16_t
int32_t q15_16_t
Signed fixed point number: Q15.16.
Definition: fp_def.h:515
uq1_15_t
uint16_t uq1_15_t
Unsigned fixed point number: UQ1.15.
Definition: fp_def.h:271