From b81ad8841e90ecd2ddf70bc0409d2d880d389f91 Mon Sep 17 00:00:00 2001 From: alexklimaj Date: Wed, 6 Mar 2024 13:15:44 -0700 Subject: [PATCH] drivers: broadcom AFBR update to API 1.5.6 --- .../broadcom/afbrs50/Inc/api/argus_api.h | 109 +++++- .../broadcom/afbrs50/Inc/api/argus_dca.h | 65 ++- .../broadcom/afbrs50/Inc/api/argus_map.h | 101 ++++- .../broadcom/afbrs50/Inc/api/argus_msk.h | 170 -------- .../broadcom/afbrs50/Inc/api/argus_offset.h | 23 +- .../broadcom/afbrs50/Inc/api/argus_pba.h | 370 +++++++++++++++--- .../broadcom/afbrs50/Inc/api/argus_px.h | 3 + .../broadcom/afbrs50/Inc/api/argus_status.h | 9 +- .../broadcom/afbrs50/Inc/api/argus_version.h | 6 +- .../broadcom/afbrs50/Inc/api/argus_xtalk.h | 63 ++- .../broadcom/afbrs50/Inc/utility/fp_div.h | 16 +- .../broadcom/afbrs50/Inc/utility/fp_mul.h | 12 +- .../broadcom/afbrs50/Inc/utility/fp_rnd.h | 4 +- .../broadcom/afbrs50/Inc/utility/int_math.h | 2 +- .../broadcom/afbrs50/Lib/libafbrs50_m4_fpu.a | Bin 231568 -> 238570 bytes .../afbrs50/Lib/libafbrs50_m4_fpu_os.a | Bin 183564 -> 189626 bytes 16 files changed, 660 insertions(+), 293 deletions(-) delete mode 100644 src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_msk.h diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_api.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_api.h index 44cdc92168..3e30649ae1 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_api.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_api.h @@ -160,6 +160,11 @@ status_t Argus_InitMode(argus_hnd_t *hnd, s2pi_slave_t spi_slave, argus_mode_t m * Also refer to #Argus_ReinitMode, which uses a specified measurement * mode instead of the currently active measurement mode. * + * @note If a full re-initialization is not desired, refer to the + * #Argus_RestoreDeviceState function that will only re-write the + * register map to the device to restore its state after an power + * cycle. + * * @param hnd The API handle; contains all internal states and data. * * @return Returns the \link #status_t status\endlink (#STATUS_OK on success). @@ -182,6 +187,11 @@ status_t Argus_Reinit(argus_hnd_t *hnd); * Also refer to #Argus_Reinit, which re-uses the currently active * measurement mode instead of an user specified measurement mode. * + * @note If a full re-initialization is not desired, refer to the + * #Argus_RestoreDeviceState function that will only re-write the + * register map to the device to restore its state after an power + * cycle. + * * @param hnd The API handle; contains all internal states and data. * * @param mode The specified measurement mode to be initialized. @@ -274,6 +284,69 @@ argus_hnd_t *Argus_CreateHandle(void); *****************************************************************************/ status_t Argus_DestroyHandle(argus_hnd_t *hnd); +/*!*************************************************************************** + * @brief Restores the device state with a re-write of all register values. + * + * @details The function invalidates and restores the device state by executing + * a re-write of the full register map. + * + * The purpose of this function is to recover from known external + * events like power cycles, for example due to sleep / wake-up + * functionality. This can be implemented by cutting off the external + * power supply of the device (e.g. via a MOSFET switch controlled by + * a GPIB pin). By calling this function, the expected state of the + * API is written to the device without the need to fully re-initialize + * the device. Thus, the API can resume where it has stopped as if + * there has never been a power cycle. + * + * The internal state machines like the dynamic configuration adaption + * (DCA) algorithm will not be reseted. The API/sensor will immediately + * resume at the last state that was optimized for the given + * environmental conditions. + * + * The use case of sleep / wake-up can be implemented as follows: + * + * 1. In case of ongoing measurements, stop the measurements via + * the #Argus_StopMeasurementTimer function (if started by the + * #Argus_StartMeasurementTimer function). + * + * 2. Shut down the device by removing the 5V power supply, e.g. + * via a GPIO pin that switches a MOSFET circuit. + * + * 3. After the desired sleep period, power the device by switching + * the 5V power supply on again. Wait until the power-on-reset + * (POR) is finished (approx. 1 ms) or just repeat step 4 until + * it succeeds. + * + * 4. Call the #Argus_RestoreDeviceState function to trigger the + * restoration of the device state in the API. Note that the + * function will return an error code if it fails. One can repeat + * the execution of that function a few times until it succeeds. + * + * 6. Continue with measurements via #Argus_StartMeasurementTimer + * of #Argus_TriggerMeasurement functions as desired. + * + * @note If a complete re-initialization (= soft-reset) is desired, see + * the #Argus_Reinit functionality. + * + * @note Changing a configuration or calibration parameter will always + * invalidate the device state as well as the state machine of the + * dynamic configuration adaption (DCA) algorithm. In that case, the + * device/API needs a few measurements to adopt to the present + * environmental conditions before the first valid measurement result + * can be obtained. This is almost similar to re-initializing the + * device (see #Argus_Reinit) which would also re-read the EEPROM. + * On the other hand, the #Argus_RestoreDeviceState does not reset + * or re-initialize anything. It just makes sure that the device + * register map (which has changed to its reset values after the + * power cycle) is what the API expects upon the next measurement. + * + * @param hnd The device handle object to be invalidated. + * + * @return Returns the \link #status_t status\endlink (#STATUS_OK on success). + *****************************************************************************/ +status_t Argus_RestoreDeviceState(argus_hnd_t *hnd); + /*!************************************************************************** * Generic API ****************************************************************************/ @@ -726,7 +799,7 @@ status_t Argus_ExecuteXtalkCalibrationSequence(argus_hnd_t *hnd); * After calibration has finished successfully, the obtained data is * applied immediately and can be read from the API using the * #Argus_GetCalibrationPixelRangeOffsets or - * #Argus_GetCalibrationGlobalRangeOffset function. + * #Argus_GetCalibrationGlobalRangeOffsets function. * * @param hnd The API handle; contains all internal states and data. * @return Returns the \link #status_t status\endlink (#STATUS_OK on success). @@ -775,7 +848,7 @@ status_t Argus_ExecuteRelativeRangeOffsetCalibrationSequence(argus_hnd_t *hnd); * After calibration has finished successfully, the obtained data is * applied immediately and can be read from the API using the * #Argus_GetCalibrationPixelRangeOffsets or - * #Argus_GetCalibrationGlobalRangeOffset function. + * #Argus_GetCalibrationGlobalRangeOffsets function. * * @param hnd The API handle; contains all internal states and data. * @param targetRange The absolute range between the reference plane and the @@ -1043,28 +1116,40 @@ status_t Argus_GetConfigurationUnambiguousRange(argus_hnd_t *hnd, ****************************************************************************/ /*!*************************************************************************** - * @brief Sets the global range offset value to a specified device. + * @brief Sets the global range offset values to a specified device. * - * @details The global range offset is subtracted from the raw range values. + * @details The global range offsets are subtracted from the raw range values. + * There are two distinct values that are applied in low or high + * power stage setting respectively. * * @param hnd The API handle; contains all internal states and data. - * @param value The new global range offset in meter and Q0.15 format. + * @param offset_low The new global range offset for the low power stage in + * meter and Q0.15 format. + * @param offset_high The new global range offset for the high power stage in + * meter and Q0.15 format. * @return Returns the \link #status_t status\endlink (#STATUS_OK on success). *****************************************************************************/ -status_t Argus_SetCalibrationGlobalRangeOffset(argus_hnd_t *hnd, - q0_15_t value); +status_t Argus_SetCalibrationGlobalRangeOffsets(argus_hnd_t *hnd, + q0_15_t offset_low, + q0_15_t offset_high); /*!*************************************************************************** - * @brief Gets the global range offset value from a specified device. + * @brief Gets the global range offset values from a specified device. * - * @details The global range offset is subtracted from the raw range values. + * @details The global range offsets are subtracted from the raw range values. + * There are two distinct values that are applied in low or high + * power stage setting respectively. * * @param hnd The API handle; contains all internal states and data. - * @param value The current global range offset in meter and Q0.15 format. + * @param offset_low The current range offset for the low power stage in + * meter and Q0.15 format. + * @param offset_high The current global range offset for the high power stage + * in meter and Q0.15 format. * @return Returns the \link #status_t status\endlink (#STATUS_OK on success). *****************************************************************************/ -status_t Argus_GetCalibrationGlobalRangeOffset(argus_hnd_t *hnd, - q0_15_t *value); +status_t Argus_GetCalibrationGlobalRangeOffsets(argus_hnd_t *hnd, + q0_15_t *offset_low, + q0_15_t *offset_high); /*!*************************************************************************** * @brief Sets the relative pixel offset table to a specified device. diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_dca.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_dca.h index 8f6b40bdc5..8d9a854b2c 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_dca.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_dca.h @@ -210,9 +210,13 @@ typedef enum argus_dca_gain_t { * - [9]: #ARGUS_STATE_LASER_ERROR * - [10]: #ARGUS_STATE_HAS_DATA * - [11]: #ARGUS_STATE_HAS_AUX_DATA - * - [12]: #ARGUS_STATE_DCA_MAX + * - [12]: #ARGUS_STATE_SATURATED_PIXELS * - [13]: DCA Power Stage * - [14-15]: DCA Gain Stages + * - [16]: #ARGUS_STATE_DCA_MIN + * - [17]: #ARGUS_STATE_DCA_MAX + * - [18]: #ARGUS_STATE_DCA_RESET + * - [18-31]: not used * . *****************************************************************************/ typedef enum argus_state_t { @@ -229,36 +233,35 @@ typedef enum argus_state_t { * - 1: Enabled: measurement with detuned frequency. */ ARGUS_STATE_DUAL_FREQ_MODE = 1U << 1U, - /*! 0x0004: Measurement Frequency for Dual Frequency Mode + /*! 0x0004: Measurement Frequency for Dual Frequency Mode \n * (only if #ARGUS_STATE_DUAL_FREQ_MODE flag is set). * - 0: A-Frame w/ detuned frequency, * - 1: B-Frame w/ detuned frequency */ ARGUS_STATE_MEASUREMENT_FREQ = 1U << 2U, - /*! 0x0008: Debug Mode. If set, the range value of erroneous pixels + /*! 0x0008: Debug Mode. \n + * If set, the range value of erroneous pixels * are not cleared or reset. * - 0: Disabled (default). * - 1: Enabled. */ ARGUS_STATE_DEBUG_MODE = 1U << 3U, - /*! 0x0010: Weak Signal Flag. + /*! 0x0010: Weak Signal Flag. \n * Set whenever the Pixel Binning Algorithm is detecting a * weak signal, i.e. if the amplitude dies not reach its - * (absolute) threshold. If the Golden Pixel is enabled, - * this also indicates that the Pixel Binning Algorithm - * falls back to the Golden Pixel. + * (absolute) threshold. * - 0: Normal Signal. - * - 1: Weak Signal or Golden Pixel Mode. */ + * - 1: Weak Signal. */ ARGUS_STATE_WEAK_SIGNAL = 1U << 4U, - /*! 0x0020: Background Light Warning Flag. + /*! 0x0020: Background Light Warning Flag. \n * Set whenever the background light is very high and the * measurement data might be unreliable. * - 0: No Warning: Background Light is within valid range. * - 1: Warning: Background Light is very high. */ ARGUS_STATE_BGL_WARNING = 1U << 5U, - /*! 0x0040: Background Light Error Flag. + /*! 0x0040: Background Light Error Flag. \n * Set whenever the background light is too high and the * measurement data is unreliable or invalid. * - 0: No Error: Background Light is within valid range. @@ -270,7 +273,7 @@ typedef enum argus_state_t { * - 1: PLL locked at start of integration. */ ARGUS_STATE_PLL_LOCKED = 1U << 7U, - /*! 0x0100: Laser Failure Warning Flag. + /*! 0x0100: Laser Failure Warning Flag. \n * Set whenever the an invalid system condition is detected. * (i.e. DCA at max state but no amplitude on any (incl. reference) * pixel, not amplitude but any saturated pixel). @@ -279,7 +282,7 @@ typedef enum argus_state_t { * condition stays, a laser malfunction error is raised. */ ARGUS_STATE_LASER_WARNING = 1U << 8U, - /*! 0x0200: Laser Failure Error Flag. + /*! 0x0200: Laser Failure Error Flag. \n * Set whenever a laser malfunction error is raised and the * system is put into a safe state. * - 0: No Error: Laser is operating properly. @@ -297,13 +300,12 @@ typedef enum argus_state_t { * - 1: Auxiliary data is available and correctly evaluated. */ ARGUS_STATE_HAS_AUX_DATA = 1U << 11U, - /*! 0x1000: DCA Maximum State Flag. - * Set whenever the DCA has extended all its parameters to their - * maximum values and can not increase the integration energy any - * further. - * - 0: DCA has not yet reached its maximum state. - * - 1: DCA has reached its maximum state and can not increase any further. */ - ARGUS_STATE_DCA_MAX = 1U << 12U, + /*! 0x0100: Pixel Saturation Flag. \n + * Set whenever any pixel is saturated, i.e. its pixel state is + * #PIXEL_SAT + * - 0: No saturated pixels. + * - 1: Any saturated pixels. */ + ARGUS_STATE_SATURATED_PIXELS = 1U << 12U, /*! 0x2000: DCA is in high Optical Output Power stage. */ ARGUS_STATE_DCA_POWER_HIGH = DCA_POWER_HIGH << ARGUS_STATE_DCA_POWER_SHIFT, @@ -320,6 +322,31 @@ typedef enum argus_state_t { /*! 0xC000: DCA is in high Pixel Input Gain stage. */ ARGUS_STATE_DCA_GAIN_HIGH = DCA_GAIN_HIGH << ARGUS_STATE_DCA_GAIN_SHIFT, + /*! 0x10000: DCA Minimum State Flag. \n + * Set whenever the DCA has reduced all its parameters to their + * minimum values and it can not decrease the integration energy + * any further. + * - 0: DCA has not yet reached its minimum state. + * - 1: DCA has reached its minimum state and can not decrease + * its parameters any further. */ + ARGUS_STATE_DCA_MIN = 1U << 16U, + + /*! 0x20000: DCA Maximum State Flag. \n + * Set whenever the DCA has extended all its parameters to their + * maximum values and it can not increase the integration energy + * any further. + * - 0: DCA has not yet reached its maximum state. + * - 1: DCA has reached its maximum state and can not increase + * its parameters any further. */ + ARGUS_STATE_DCA_MAX = 1U << 17U, + + /*! 0x20000: DCA Reset State Flag. \n + * Set whenever the DCA is resetting all its parameters to their + * minimum values because it has detected too many saturated pixels. + * - 0: DCA is operating in normal mode. + * - 1: DCA is performing a reset. */ + ARGUS_STATE_DCA_RESET = 1U << 18U, + } argus_state_t; /*!*************************************************************************** diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_map.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_map.h index 4ffa55656b..22a85b9d3e 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_map.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_map.h @@ -58,6 +58,7 @@ extern "C" { *****************************************************************************/ #include "utility/int_math.h" +#include #include @@ -138,6 +139,13 @@ extern "C" { #define PIXEL_CH2N(c) (((((c) << 1U) ^ 0x1CU) & 0x1CU) | (((c) >> 3U) & 0x02U) | ((c) & 0x01U)) +/*!***************************************************************************** + * @brief Macro to create a pixel mask given by the pixels n-index. + * @param n n-index of the pixel. + * @return The pixel mask with only n-index pixel set. + ******************************************************************************/ +#define PIXELN_MASK(n) (0x01U << (n)) + /*!***************************************************************************** * @brief Macro to determine if a pixel given by the n-index is enabled in a pixel mask. * @param msk 32-bit pixel mask @@ -151,16 +159,23 @@ extern "C" { * @param msk 32-bit pixel mask * @param n n-index of the pixel to enable. ******************************************************************************/ -#define PIXELN_ENABLE(msk, n) ((msk) |= (0x01U << (n))) +#define PIXELN_ENABLE(msk, n) ((msk) |= (PIXELN_MASK(n))) /*!***************************************************************************** * @brief Macro disable a pixel given by the n-index in a pixel mask. * @param msk 32-bit pixel mask * @param n n-index of the pixel to disable. ******************************************************************************/ -#define PIXELN_DISABLE(msk, n) ((msk) &= (~(0x01U << (n)))) +#define PIXELN_DISABLE(msk, n) ((msk) &= (~PIXELN_MASK(n))) +/*!***************************************************************************** + * @brief Macro to create a pixel mask given by the pixels ADC channel number. + * @param c The ADC channel number of the pixel. + * @return The 32-bit pixel mask with only pixel ADC channel set. + ******************************************************************************/ +#define PIXELCH_MASK(c) (0x01U << (PIXEL_CH2N(c))) + /*!***************************************************************************** * @brief Macro to determine if an ADC pixel channel is enabled from a pixel mask. * @param msk The 32-bit pixel mask @@ -184,6 +199,14 @@ extern "C" { #define PIXELCH_DISABLE(msk, c) (PIXELN_DISABLE(msk, PIXEL_CH2N(c))) +/*!***************************************************************************** + * @brief Macro to create a pixel mask given by the pixel x-y-indices. + * @param x x-index of the pixel. + * @param y y-index of the pixel. + * @return The 32-bit pixel mask with only pixel ADC channel set. + ******************************************************************************/ +#define PIXELXY_MASK(x, y) (0x01U << (PIXEL_XY2N(x, y))) + /*!***************************************************************************** * @brief Macro to determine if a pixel given by the x-y-indices is enabled in a pixel mask. * @param msk 32-bit pixel mask @@ -337,10 +360,10 @@ static inline uint32_t ShiftSelectedPixels(const uint32_t pixel_mask, uint32_t shifted_mask = 0; - for (uint8_t x = 0; x < ARGUS_PIXELS_X; ++x) { - for (uint8_t y = 0; y < ARGUS_PIXELS_Y; ++y) { - int8_t x_src = x - dx; - int8_t y_src = y - dy; + for (int8_t x = 0; x < ARGUS_PIXELS_X; ++x) { + for (int8_t y = 0; y < ARGUS_PIXELS_Y; ++y) { + int8_t x_src = (int8_t)(x - dx); + int8_t y_src = (int8_t)(y - dy); if (dy & 0x1) { /* Compensate for hexagonal pixel shape. */ @@ -409,8 +432,8 @@ static inline uint32_t FillPixelMask(uint32_t pixel_mask, int8_t min_y = -1; /* Find nearest not selected pixel. */ - for (uint8_t x = 0; x < ARGUS_PIXELS_X; ++x) { - for (uint8_t y = 0; y < ARGUS_PIXELS_Y; ++y) { + for (int8_t x = 0; x < ARGUS_PIXELS_X; ++x) { + for (int8_t y = 0; y < ARGUS_PIXELS_Y; ++y) { if (!PIXELXY_ISENABLED(pixel_mask, x, y)) { int32_t distx = (x - center_x) << 1; @@ -423,8 +446,8 @@ static inline uint32_t FillPixelMask(uint32_t pixel_mask, if (dist < min_dist) { min_dist = dist; - min_x = x; - min_y = y; + min_x = (int8_t)x; + min_y = (int8_t)y; } } } @@ -438,6 +461,64 @@ static inline uint32_t FillPixelMask(uint32_t pixel_mask, return pixel_mask; } + +/*!***************************************************************************** + * @brief Fills a pixel mask with the direct neighboring pixels around a pixel. + * + * @details The pixel mask is iteratively filled with the direct neighbors of the + * specified center pixel. + * + * Note that the function is able to handle corner and edge pixels and + * also to handle odd/even lines (which have different layouts) + * + * @param x The selected pixel x-index. + * @param y The selected pixel y-index. + * @return The filled pixel mask with all direct neighbors of the selected pixel. + ******************************************************************************/ +static inline uint32_t GetAdjacentPixelsMask(const uint_fast8_t x, + const uint_fast8_t y) +{ + assert(x < ARGUS_PIXELS_X); + assert(y < ARGUS_PIXELS_Y); + + uint32_t mask = 0u; + + bool isXEdgeLow = (x == 0); + bool isXEdgeHigh = (x == (ARGUS_PIXELS_X - 1)); + bool isYEdgeLow = (y == 0); + bool isYEdgeHigh = (y == (ARGUS_PIXELS_Y - 1)); + + if (y % 2 == 0) { + if (!isYEdgeLow) { PIXELXY_ENABLE(mask, x, y - 1); } + + if ((!isXEdgeHigh) && (!isYEdgeLow)) { PIXELXY_ENABLE(mask, x + 1, y - 1); } + + if (!isXEdgeHigh) { PIXELXY_ENABLE(mask, x + 1, y); } + + if ((!isXEdgeHigh) && (!isYEdgeHigh)) { PIXELXY_ENABLE(mask, x + 1, y + 1); } + + if (!isYEdgeHigh) { PIXELXY_ENABLE(mask, x, y + 1); } + + if (!isXEdgeLow) { PIXELXY_ENABLE(mask, x - 1, y); } + + } else { + if ((!isXEdgeLow) && (!isYEdgeLow)) { PIXELXY_ENABLE(mask, x - 1, y - 1); } + + if (!isYEdgeLow) { PIXELXY_ENABLE(mask, x, y - 1); } + + if (!isXEdgeHigh) { PIXELXY_ENABLE(mask, x + 1, y); } + + if (!isYEdgeHigh) { PIXELXY_ENABLE(mask, x, y + 1); } + + if ((!isXEdgeLow) && (!isYEdgeHigh)) { PIXELXY_ENABLE(mask, x - 1, y + 1); } + + if (!isXEdgeLow) { PIXELXY_ENABLE(mask, x - 1, y); } + } + + return mask; +} + + /*! @} */ #ifdef __cplusplus } // extern "C" diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_msk.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_msk.h deleted file mode 100644 index 258fb38260..0000000000 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_msk.h +++ /dev/null @@ -1,170 +0,0 @@ -/*************************************************************************//** - * @file - * @brief This file is part of the AFBR-S50 API. - * @details Defines macros to work with pixel and ADC channel masks. - * - * @copyright - * - * Copyright (c) 2021, Broadcom Inc - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#ifndef ARGUS_MSK_H -#define ARGUS_MSK_H - -/*!*************************************************************************** - * @defgroup argusmap ADC Channel Mapping - * @ingroup argusres - * - * @brief Pixel ADC Channel (n) to x-y-Index Mapping - * - * @details The ADC Channels of each pixel or auxiliary channel on the device - * is numbered in a way that is convenient on the chip. The macros - * in this module are defined in order to obtain the x-y-indices of - * each channel and vice versa. - * - * @addtogroup argusmap - * @{ - *****************************************************************************/ - -#include "api/argus_def.h" -#include "utility/int_math.h" - -/*!***************************************************************************** - * @brief Macro to determine the channel number of an specified Pixel. - * @param x The x index of the pixel. - * @param y The y index of the pixel. - * @return The channel number n of the pixel. - ******************************************************************************/ -#define PIXEL_XY2N(x, y) ((((x) ^ 7) << 1) | ((y) & 2) << 3 | ((y) & 1)) - -/*!***************************************************************************** - * @brief Macro to determine the x index of an specified Pixel channel. - * @param n The channel number of the pixel. - * @return The x index number of the pixel. - ******************************************************************************/ -#define PIXEL_N2X(n) ((((n) >> 1U) & 7) ^ 7) - -/*!***************************************************************************** - * @brief Macro to determine the y index of an specified Pixel channel. - * @param n The channel number of the pixel. - * @return The y index number of the pixel. - ******************************************************************************/ -#define PIXEL_N2Y(n) (((n) & 1U) | (((n) >> 3) & 2U)) - -/*!***************************************************************************** - * @brief Macro to determine if a ADC Pixel channel was enabled from a pixel mask. - * @param msk The 32-bit pixel mask - * @param ch The channel number of the pixel. - * @return True if the pixel channel n was enabled, false elsewise. - ******************************************************************************/ -#define PIXELN_ISENABLED(msk, ch) (((msk) >> (ch)) & 0x01U) - -/*!***************************************************************************** - * @brief Macro enables an ADC Pixel channel in a pixel mask. - * @param msk The 32-bit pixel mask - * @param ch The channel number of the pixel. - ******************************************************************************/ -#define PIXELN_ENABLE(msk, ch) ((msk) |= (0x01U << (ch))) - -/*!***************************************************************************** - * @brief Macro disables an ADC Pixel channel in a pixel mask. - * @param msk The 32-bit pixel mask - * @param ch The channel number of the pixel. - ******************************************************************************/ -#define PIXELN_DISABLE(msk, ch) ((msk) &= (~(0x01U << (ch)))) - -/*!***************************************************************************** - * @brief Macro to determine if an ADC Pixel channel was enabled from a pixel mask. - * @param msk 32-bit pixel mask - * @param x x index of the pixel. - * @param y y index of the pixel. - * @return True if the pixel (x,y) was enabled, false elsewise. - ******************************************************************************/ -#define PIXELXY_ISENABLED(msk, x, y) (PIXELN_ISENABLED(msk, PIXEL_XY2N(x, y))) - -/*!***************************************************************************** - * @brief Macro enables an ADC Pixel channel in a pixel mask. - * @param msk 32-bit pixel mask - * @param x x index of the pixel. - * @param y y index of the pixel. - ******************************************************************************/ -#define PIXELXY_ENABLE(msk, x, y) (PIXELN_ENABLE(msk, PIXEL_XY2N(x, y))) - -/*!***************************************************************************** - * @brief Macro disables an ADC Pixel channel in a pixel mask. - * @param msk 32-bit pixel mask - * @param x x index of the pixel. - * @param y y index of the pixel. - ******************************************************************************/ -#define PIXELXY_DISABLE(msk, x, y) (PIXELN_DISABLE(msk, PIXEL_XY2N(x, y))) - -/*!***************************************************************************** - * @brief Macro to determine if a ADC channel was enabled from a channel mask. - * @param msk 32-bit channel mask - * @param ch channel number of the ADC channel. - * @return True if the ADC channel n was enabled, false elsewise. - ******************************************************************************/ -#define CHANNELN_ISENABLED(msk, ch) (((msk) >> ((ch) - 32U)) & 0x01U) - -/*!***************************************************************************** - * @brief Macro to determine if a ADC channel was enabled from a channel mask. - * @param msk 32-bit channel mask - * @param ch channel number of the ADC channel. - * @return True if the ADC channel n was enabled, false elsewise. - ******************************************************************************/ -#define CHANNELN_ENABLE(msk, ch) ((msk) |= (0x01U << ((ch) - 32U))) - -/*!***************************************************************************** - * @brief Macro to determine if a ADC channel was enabled from a channel mask. - * @param msk 32-bit channel mask - * @param ch channel number of the ADC channel. - * @return True if the ADC channel n was enabled, false elsewise. - ******************************************************************************/ -#define CHANNELN_DISABLE(msk, ch) ((msk) &= (~(0x01U << ((ch) - 32U)))) - - -/*!***************************************************************************** - * @brief Macro to determine the number of enabled pixel channels via a popcount - * algorithm. - * @param pxmsk 32-bit pixel mask - * @return The count of enabled pixel channels. - ******************************************************************************/ -#define PIXEL_COUNT(pxmsk) popcount(pxmsk) - -/*!***************************************************************************** - * @brief Macro to determine the number of enabled channels via a popcount - * algorithm. - * @param pxmsk 32-bit pixel mask - * @param chmsk 32-bit channel mask - * @return The count of enabled ADC channels. - ******************************************************************************/ -#define CHANNEL_COUNT(pxmsk, chmsk) (popcount(pxmsk) + popcount(chmsk)) - -/*! @} */ -#endif /* ARGUS_MSK_H */ diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_offset.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_offset.h index 7a41440f39..3ef649d45b 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_offset.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_offset.h @@ -36,6 +36,9 @@ #ifndef ARGUS_OFFSET_H #define ARGUS_OFFSET_H +#ifdef __cplusplus +extern "C" { +#endif /*!*************************************************************************** * @addtogroup argus_cal @@ -48,12 +51,26 @@ * @brief Pixel Range Offset Table. * @details Contains pixel range offset values for all 32 active pixels. *****************************************************************************/ -typedef struct argus_cal_offset_table_t { - /*! The offset values per pixel in meter and Q0.15 format. */ - q0_15_t Table[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; +typedef union argus_cal_offset_table_t { + struct { + /*! The offset values table for Low Power Stage of all 32 pixels. + * Unit: meter; Format: Q0.15 */ + q0_15_t LowPower[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; + + /*! The offset values table for High Power Stage of all 32 pixels. + * Unit: meter; Format: Q0.15 */ + q0_15_t HighPower[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; + }; + + /*! The offset values table for Low/High Power Stages of all 32 pixels. + * Unit: meter; Format: Q0.15 */ + q0_15_t Table[ARGUS_DCA_POWER_STAGE_COUNT][ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; } argus_cal_offset_table_t; /*! @} */ +#ifdef __cplusplus +} // extern "C" +#endif #endif /* ARGUS_OFFSET_T */ diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_pba.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_pba.h index f28576500d..f412229396 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_pba.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_pba.h @@ -55,11 +55,11 @@ extern "C" { * information from the filtered pixels by averaging them in a * specified way. * - * The Pixel Binning Algorithm is a three-stage filter with a - * fallback value: + * Basically, the Pixel Binning Algorithm is a multi-stage filter: * * -# A fixed pre-filter mask is applied to statically disable * specified pixels. + * * -# A relative and absolute amplitude filter is applied in the * second stage. The relative filter is determined by a ratio * of the maximum amplitude off all available (i.e. not filtered @@ -75,12 +75,28 @@ extern "C" { * selected and considered for the final 1D distance. The * absolute threshold is used to dismiss pixels that are below * the noise level. The latter would be considered for the 1D - * result if the maximum amplitude is already very low. + * result if the maximum amplitude is already very low.\n + * Those threshold are implemented using a hysteresis behavior. + * For its configuration, see the following parameters: + * - #argus_cfg_pba_t::RelativeAmplitudeInclusion + * - #argus_cfg_pba_t::RelativeAmplitudeExclusion + * - #argus_cfg_pba_t::AbsoluteAmplitudeInclusion + * - #argus_cfg_pba_t::AbsoluteAmplitudeExclusion + * . + * * -# An absolute minimum distance filter is applied in addition * to the amplitude filter. This removes all pixel that have * a lower distance than the specified threshold. This is used * to remove invalid pixels that can be detected by a physically - * not correct negative distance. + * not correct negative distance.\n + * For its configuration, see the following parameters: + * - #PBA_ENABLE_MIN_DIST_SCOPE + * - #argus_cfg_pba_t::AbsoluteDistanceScopeInclusion + * - #argus_cfg_pba_t::AbsoluteDistanceScopeExclusion + * - #argus_cfg_pba_t::RelativeDistanceScopeInclusion + * - #argus_cfg_pba_t::RelativeDistanceScopeExclusion + * . + * * -# A distance filter is used to distinguish pixels that target * the actual object from pixels that see the brighter background, * e.g. white walls. Thus, the pixel with the minimum distance @@ -90,11 +106,31 @@ extern "C" { * determined by an relative (to the current minimum distance) * and an absolute value. The larger scope value is the * relevant one, i.e. the relative distance scope can be used - * to heed the increasing noise at larger distances. + * to heed the increasing noise at larger distances.\n + * For its configuration, see the following parameters: + * - #argus_cfg_pba_t::AbsoluteMinimumDistanceThreshold + * . + * * -# If all of the above filters fail to determine a single valid * pixel, the Golden Pixel is used as a fallback value. The * Golden Pixel is the pixel that sits right at the focus point - * of the optics at large distances. + * of the optics at large distances. Thus, it is expected to + * have the best signal at large distances.\n + * For its configuration, see the following parameters: + * - #PBA_ENABLE_GOLDPX_FALLBACK_MODE + * . + * + * -# In order to avoid unwanted effects from "out-of-focus" pixels + * in application that require a smaller focus, the Golden Pixel + * Priority Mode prioritizes a valid signal on the central + * Golden Pixel over other pixels. That is, while the Golden + * Pixel has a reasonable signal strength, it is the only pixel + * considered for the 1D result.\n + * For its configuration, see the following parameters: + * - #PBA_ENABLE_GOLDPX_FALLBACK_MODE + * - #argus_cfg_pba_t::GoldenPixelPriorityAmplitudeInclusion + * - #argus_cfg_pba_t::GoldenPixelPriorityAmplitudeExclusion + * . * . * * After filtering is done, there may be more than a single pixel @@ -113,14 +149,17 @@ extern "C" { * @brief Enable flags for the pixel binning algorithm. * * @details Determines the pixel binning algorithm feature enable status. + * * - [0]: #PBA_ENABLE: Enables the pixel binning feature. * - [1]: reserved * - [2]: reserved * - [3]: reserved - * - [4]: reserved - * - [5]: #PBA_ENABLE_GOLDPX: Enables the Golden Pixel feature. - * - [6]: #PBA_ENABLE_MIN_DIST_SCOPE: Enables the minimum distance scope - * feature. + * - [4]: #PBA_ENABLE_GOLDPX_PRIORITY_MODE: Enables the Golden Pixel + * priority mode feature. + * - [5]: #PBA_ENABLE_GOLDPX_FALLBACK_MODE: Enables the Golden Pixel + * fallback mode feature. + * - [6]: #PBA_ENABLE_MIN_DIST_SCOPE: Enables the minimum distance + * scope feature. * - [7]: reserved * . *****************************************************************************/ @@ -128,8 +167,17 @@ typedef enum argus_pba_flags_t { /*! Enables the pixel binning feature. */ PBA_ENABLE = 1U << 0U, - /*! Enables the Golden Pixel. */ - PBA_ENABLE_GOLDPX = 1U << 5U, + /*! Enables the Golden Pixel Priority Mode. + * If enabled, the Golden Pixel is prioritized over other Pixels as long + * as it has a good signal (determined by # */ + PBA_ENABLE_GOLDPX_PRIORITY_MODE = 1U << 4U, + + /*! Enables the Golden Pixel Fallback Mode. + * If enabled, the Golden Pixel is used as a last fallback pixel to obtain + * a valid signal from. This is recommended for all non-multi pixel + * devices whose TX field-of-view is aligned to target the Golden Pixel in + * factory calibration. */ + PBA_ENABLE_GOLDPX_FALLBACK_MODE = 1U << 5U, /*! Enables the minimum distance scope filter. */ PBA_ENABLE_MIN_DIST_SCOPE = 1U << 6U, @@ -168,65 +216,297 @@ typedef struct { * about the individual evaluation modes. */ argus_pba_averaging_mode_t AveragingMode; - /*! The Relative amplitude threshold value (in %) of the max. amplitude. + /*! The relative amplitude inclusion threshold (in %) of the max. amplitude. * - * Pixels with amplitude below this threshold value are dismissed. + * Pixels, whose amplitudes raise above this inclusion threshold, are + * added to the pixel binning. The amplitude must fall below the + * exclusion (#RelativeAmplitudeExclusion) threshold to be removed from + * the pixel binning again. * * All available values from the 8-bit representation are valid. * The actual percentage value is determined by 100%/256*x. * - * Use 0 to disable the relative amplitude threshold. */ - uq0_8_t RelAmplThreshold; - - /*! The relative minimum distance scope value in %. + * Note: in addition to the relative criteria, there is also the absolute + * criteria (#AbsoluteAmplitudeInclusion, #AbsoluteAmplitudeExclusion). + * The pixels are added to the pixel binning if their respective amplitude + * is larger than the absolute AND relative inclusion values. On the other + * hand, they are removed if their amplitude falls below the absolute OR + * relative exclusion threshold. * - * Pixels that have a range value within [x0, x0 + dx] are considered - * for the pixel binning, where x0 is the minimum distance of all - * amplitude picked pixels and dx is the minimum distance scope value. - * The minimum distance scope value will be the maximum of relative - * and absolute value. + * Must be greater than or equal to the #RelativeAmplitudeExclusion. + * + * Use #RelativeAmplitudeExclusion == #RelativeAmplitudeInclusion to + * disable the hysteresis behavior and use it as a threshold only. + * + * Use 0 (for both, #RelativeAmplitudeExclusion and + * #RelativeAmplitudeInclusion) to disable the relative amplitude + * hysteresis. */ + uq0_8_t RelativeAmplitudeInclusion; + + /*! The relative amplitude exclusion threshold (in %) of the max. amplitude. + * + * Pixels, whose amplitudes fall below this exclusion threshold, are + * removed from the pixel binning. The amplitude must raise above the + * inclusion (#RelativeAmplitudeInclusion) threshold to be added back + * to be pixel binning again. * * All available values from the 8-bit representation are valid. * The actual percentage value is determined by 100%/256*x. * - * Special values: - * - 0: Use 0 for absolute value only or to choose the pixel with the - * minimum distance only (of also the absolute value is 0)! */ - uq0_8_t RelMinDistanceScope; + * Note: in addition to the relative criteria, there is also the absolute + * criteria (#AbsoluteAmplitudeInclusion, #AbsoluteAmplitudeExclusion). + * The pixels are added to the pixel binning if their respective amplitude + * is larger than the absolute AND relative inclusion values. On the other + * hand, they are removed if their amplitude falls below the absolute OR + * relative exclusion threshold. + * + * Must be less than or equal to #RelativeAmplitudeInclusion. + * + * Use #RelativeAmplitudeExclusion == #RelativeAmplitudeInclusion to + * disable the hysteresis behavior and use it as a threshold only. + * + * Use 0 (for both, #RelativeAmplitudeExclusion and + * #RelativeAmplitudeInclusion) to disable the relative amplitude + * hysteresis. */ + uq0_8_t RelativeAmplitudeExclusion; - /*! The absolute amplitude threshold value in LSB. + /*! The absolute amplitude inclusion threshold in LSB. * - * Pixels with amplitude below this threshold value are dismissed. + * Pixels, whose amplitudes raise above this inclusion threshold, are + * added to the pixel binning. The amplitude must fall below the + * exclusion (#RelativeAmplitudeExclusion) threshold to be removed from + * the pixel binning again. * - * The absolute amplitude threshold is only valid if the Golden Pixel - * mode is enabled. Otherwise, the threshold is set to 0 LSB internally. + * The absolute amplitude hysteresis is only valid if the Golden Pixel + * mode is enabled. Otherwise, the thresholds are set to 0 LSB internally + * which disables the absolute criteria. * * All available values from the 16-bit representation are valid. * The actual LSB value is determined by x/16. * - * Use 0 to disable the absolute amplitude threshold. */ - uq12_4_t AbsAmplThreshold; - - /*! The absolute minimum distance scope value in m. + * Note: in addition to the absolute criteria, there is also the relative + * criteria (#RelativeAmplitudeInclusion, #RelativeAmplitudeExclusion). + * The pixels are added to the pixel binning if their respective amplitude + * is larger than the absolute AND relative inclusion values. On the other + * hand, they are removed if their amplitude falls below the absolute OR + * relative exclusion threshold. * - * Pixels that have a range value within [x0, x0 + dx] are considered - * for the pixel binning, where x0 is the minimum distance of all - * amplitude picked pixels and dx is the minimum distance scope value. - * The minimum distance scope value will be the maximum of relative - * and absolute value. + * Must be greater than or equal to #AbsoluteAmplitudeExclusion. + * + * Use #AbsoluteAmplitudeExclusion == #AbsoluteAmplitudeInclusion to + * disable the hysteresis behavior and use it as a threshold only. + * + * Use 0 (for both, #AbsoluteAmplitudeExclusion and + * #AbsoluteAmplitudeInclusion) to disable the absolute amplitude + * hysteresis. */ + uq12_4_t AbsoluteAmplitudeInclusion; + + /*! The absolute amplitude exclusion threshold in LSB. + * + * Pixels, whose amplitudes fall below this exclusion threshold, are + * removed from the pixel binning. The amplitude must raise above the + * inclusion (#RelativeAmplitudeInclusion) threshold to be added back + * to be pixel binning again. + * + * The absolute amplitude hysteresis is only valid if the Golden Pixel + * mode is enabled. Otherwise, the thresholds are set to 0 LSB internally + * which disables the absolute criteria. + * + * All available values from the 16-bit representation are valid. + * The actual LSB value is determined by x/16. + * + * Note: in addition to the absolute criteria, there is also the relative + * criteria (#RelativeAmplitudeInclusion, #RelativeAmplitudeExclusion). + * The pixels are added to the pixel binning if their respective amplitude + * is larger than the absolute AND relative inclusion values. On the other + * hand, they are removed if their amplitude falls below the absolute OR + * relative exclusion threshold. + * + * Must be less than or equal to #AbsoluteAmplitudeInclusion. + * + * Use #AbsoluteAmplitudeExclusion == #AbsoluteAmplitudeInclusion to + * disable the hysteresis behavior and use it as a threshold only. + * + * Use 0 (for both, #AbsoluteAmplitudeExclusion and + * #AbsoluteAmplitudeInclusion) to disable the absolute amplitude + * hysteresis. */ + uq12_4_t AbsoluteAmplitudeExclusion; + + /*! The Golden Pixel Priority Mode inclusion threshold in LSB. + * + * The Golden Pixel Priority Mode prioritizes a valid signal on the + * Golden Pixel over other pixel to avoid unwanted effects from + * "out-of-focus" pixels in application that require a smaller focus. + * + * If the Golden Pixel priority mode is enabled (see + * #PBA_ENABLE_GOLDPX_PRIORITY_MODE) and the Golden Pixel has a valid signal + * with amplitude higher than this inclusion threshold, its priority state + * is enabled and the binning exits early by dismissing all other pixels + * regardless of their respective amplitude or state. The Golden Pixel + * priority state is disabled if the Golden Pixel amplitude falls below + * the exclusion threshold (#GoldenPixelPriorityAmplitudeExclusion) or its + * state becomes invalid (e.g. #PIXEL_SAT). + * + * All available values from the 16-bit representation are valid. + * The actual LSB value is determined by x/16. + * + * Use 0 to disable the Golden Pixel priority mode hysteresis. */ + uq12_4_t GoldenPixelPriorityAmplitudeInclusion; + + /*! The Golden Pixel Priority Mode exclusion threshold in LSB. + * + * The Golden Pixel Priority Mode prioritizes a valid signal on the + * Golden Pixel over other pixel to avoid unwanted effects from + * "out-of-focus" pixels in application that require a smaller focus. + * + * If the Golden Pixel priority mode is enabled (see + * #PBA_ENABLE_GOLDPX_PRIORITY_MODE) and the Golden Pixel has a valid + * signal with amplitude higher than the exclusion threshold + * (#GoldenPixelPriorityAmplitudeInclusion), its priority state is enabled + * and the binning exits early by dismissing all other pixels regardless + * of their respective amplitude or state. The Golden Pixel priority state + * is disabled if the Golden Pixel amplitude falls below this exclusion + * threshold or its state becomes invalid (e.g. #PIXEL_SAT). + * + * All available values from the 16-bit representation are valid. + * The actual LSB value is determined by x/16. + * + * Use 0 to disable the Golden Pixel priority mode hysteresis. */ + uq12_4_t GoldenPixelPriorityAmplitudeExclusion; + + /*! The relative minimum distance scope inclusion threshold (in %). + * + * Pixels, whose range is smaller than the minimum distance inclusion + * threshold (x_min + dx_incl) are added to the pixel binning. The + * range must raise above the exclusion + * (#RelativeDistanceScopeExclusion) threshold to be removed + * from the pixel binning again. The relative value is determined + * by multiplying the percentage with the minimum distance. + * + * The distance scope determines an interval within that pixels + * are considered valid, originating at the minimum distance (x_min). + * The width of the interval is specified by the relative and absolute + * minimum distance scope thresholds. The actual values it the + * maximum of both, the relative and absolute inclusion values + * (#AbsoluteDistanceScopeInclusion). + * + * All available values from the 8-bit representation are valid. + * The actual percentage value is determined by 100%/256*x. + * + * Must be smaller than or equal to the #RelativeDistanceScopeExclusion. + * + * Use #RelativeDistanceScopeExclusion == #RelativeDistanceScopeInclusion to + * disable the hysteresis behavior and use it as a threshold only. */ + uq0_8_t RelativeDistanceScopeInclusion; + + /*! The relative distance scope exclusion threshold (in %). + * + * Pixels, whose range is larger than the minimum distance exclusion + * threshold (x_min + dx_excl) are removed from the pixel binning. The + * range must fall below the inclusion + * (#RelativeDistanceScopeInclusion) threshold to be added + * to the pixel binning again. The relative value is determined + * by multiplying the percentage with the minimum distance. + * + * The distance scope determines an interval within that pixels + * are considered valid, originating at the minimum distance (x_min). + * The width of the interval is specified by the relative and absolute + * minimum distance scope thresholds. The actual values it the + * maximum of both, the relative and absolute exclusion values + * (#AbsoluteDistanceScopeExclusion). + * + * All available values from the 8-bit representation are valid. + * The actual percentage value is determined by 100%/256*x. + * + * Must be larger than or equal to the #RelativeDistanceScopeInclusion. + * + * Use #RelativeDistanceScopeExclusion == #RelativeDistanceScopeInclusion to + * disable the hysteresis behavior and use it as a threshold only. */ + uq0_8_t RelativeDistanceScopeExclusion; + + /*! The absolute minimum distance scope inclusion threshold (in m). + * + * Pixels, whose range is smaller than the minimum distance inclusion + * threshold (x_min + dx_incl) are added to the pixel binning. The + * range must raise above the exclusion + * (#AbsoluteDistanceScopeExclusion) threshold to be added + * to the pixel binning again. + * + * The distance scope determines an interval within that pixels + * are considered valid, originating at the minimum distance (x_min). + * The width of the interval is specified by the relative and absolute + * minimum distance scope thresholds. The actual values it the + * maximum of both, the relative and absolute exclusion values + * (#RelativeDistanceScopeInclusion). * * All available values from the 16-bit representation are valid. * The actual LSB value is determined by x/2^15. * - * Special values: - * - 0: Use 0 for relative value only or to choose the pixel with the - * minimum distance only (of also the relative value is 0)! */ - uq1_15_t AbsMinDistanceScope; + * Must be smaller than or equal to the #AbsoluteDistanceScopeExclusion. + * + * Use #AbsoluteDistanceScopeExclusion == #AbsoluteDistanceScopeInclusion to + * disable the hysteresis behavior and use it as a threshold only. */ + uq1_15_t AbsoluteDistanceScopeInclusion; + + /*! The absolute minimum distance scope exclusion threshold (in m). + * + * Pixels, whose range is larger than the minimum distance exclusion + * threshold (x_min + dx_excl) are removed from the pixel binning. The + * range must fall below the inclusion + * (#AbsoluteDistanceScopeInclusion) threshold to be added + * to the pixel binning again. + * + * The distance scope determines an interval within that pixels + * are considered valid, originating at the minimum distance (x_min). + * The width of the interval is specified by the relative and absolute + * minimum distance scope thresholds. The actual values it the + * maximum of both, the relative and absolute exclusion values + * (#RelativeDistanceScopeExclusion). + * + * All available values from the 16-bit representation are valid. + * The actual LSB value is determined by x/2^15. + * + * Must be larger than or equal to the #AbsoluteDistanceScopeInclusion. + * + * Use #AbsoluteDistanceScopeExclusion == #AbsoluteDistanceScopeInclusion to + * disable the hysteresis behavior and use it as a threshold only. */ + uq1_15_t AbsoluteDistanceScopeExclusion; + + /*! The Golden Pixel Saturation Filter Pixel Threshold. + * + * The Golden Pixel Saturation Filter will evaluate the status of the + * Golden Pixel to #PIXEL_INVALID if a certain number of active pixels, + * i.e. pixels that are not removed by the static pre-filter mask + * (#PrefilterMask), are saturated (#PIXEL_SAT). + * + * The purpose of this filter is to avoid erroneous situations with highly + * reflective targets (e.g. retro-reflectors) that can invalidate the + * Golden Pixel such that it would not show the correct saturation state. + * In order to avoid using the Golden Pixel in that scenario, this filter + * mechanism can be used to remove the Golden Pixel if a specified number + * of other pixels show saturation state. + * + * Use 0 to disable the Golden Pixel Saturation Filter. */ + uint8_t GoldenPixelSaturationFilterPixelThreshold; + + /*! The Golden Pixel out-of-sync age limit for the GPPM. + * + * The Golden Pixel out-of-sync age is the number of consecutive frames + * where the Golden Pixel is out-of-sync. This parameters is the threshold + * to distinguish between temporary and permanent out-of-sync states. + * + * Temporary out-of-sync states happen when the target rapidly changes. In + * this case, the Golden Pixel Priority Mode (GPPM) is not exited. Only if + * the out-of-sync age exceeds the specified threshold, the Golden Pixel is + * considered erroneous and the GPPM is exited. + * + * Use 0 to disable the Golden Pixel out-of-sync aging (= infinity). */ + uint8_t GoldenPixelOutOfSyncAgeThreshold; /*! The absolute minimum distance threshold value in m. * * Pixels with distance below this threshold value are dismissed. */ - q9_22_t AbsMinDistanceThreshold; + q9_22_t AbsoluteMinimumDistanceThreshold; /*! The pre-filter pixel mask determines the pixel channels that are * statically excluded from the pixel binning (i.e. 1D distance) result. diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_px.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_px.h index a739cea7f3..3d4ef3d50c 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_px.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_px.h @@ -55,6 +55,9 @@ extern "C" { * Also used as a special value to determine no object detected or infinity range. */ #define ARGUS_RANGE_MAX (Q9_22_MAX) +/*! Minimum range value in Q9.22 format. */ +#define ARGUS_RANGE_MIN (Q9_22_MIN) + /*!*************************************************************************** * @brief Status flags for the evaluated pixel structure. * diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_status.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_status.h index 77cd856413..8f3fb09688 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_status.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_status.h @@ -227,12 +227,19 @@ enum Status { /*! -114: AFBR-S50 Error: Register data integrity is lost (e.g. due to unexpected * power-on-reset cycle or invalid write cycle of SPI. System tries to - * reset the values. */ + * reset the values. + * + * @note If this error occurs after intentionally cycling the power supply + * of the device, use the #Argus_RestoreDeviceState API function to properly + * recover the current API state into the device to avoid that issue. */ ERROR_ARGUS_DATA_INTEGRITY_LOST = -114, /*! -115: AFBR-S50 Error: The range offsets calibration failed! */ ERROR_ARGUS_RANGE_OFFSET_CALIBRATION_FAILED = -115, + /*! -116: AFBR-S50 Error: The VSUB calibration failed! */ + ERROR_ARGUS_VSUB_CALIBRATION_FAILED = -116, + /*! -191: AFBR-S50 Error: The device is currently busy and cannot execute the * requested command. */ ERROR_ARGUS_BUSY = -191, diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_version.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_version.h index a1a2d878ac..f58ba1bba7 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_version.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_version.h @@ -56,13 +56,13 @@ extern "C" { #define ARGUS_API_VERSION_MAJOR 1 /*! Minor version number of the AFBR-S50 API. */ -#define ARGUS_API_VERSION_MINOR 4 +#define ARGUS_API_VERSION_MINOR 5 /*! Bugfix version number of the AFBR-S50 API. */ -#define ARGUS_API_VERSION_BUGFIX 4 +#define ARGUS_API_VERSION_BUGFIX 6 /*! Build version number of the AFBR-S50 API. */ -#define ARGUS_API_VERSION_BUILD "20230327150535" +#define ARGUS_API_VERSION_BUILD "20240208081753" /*****************************************************************************/ diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_xtalk.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_xtalk.h index 6f3d40b49a..284538a52b 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_xtalk.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/api/argus_xtalk.h @@ -72,30 +72,28 @@ typedef struct xtalk_t { * @details Contains crosstalk vector values for all 32 active pixels, * separated for A/B-Frames. *****************************************************************************/ -typedef struct argus_cal_xtalk_table_t { - union { - struct { - /*! The crosstalk vector table for A-Frames. */ - xtalk_t FrameA[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; +typedef union argus_cal_xtalk_table_t { + struct { + /*! The crosstalk vector table for A-Frames. */ + xtalk_t FrameA[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; - /*! The crosstalk vector table for B-Frames. */ - xtalk_t FrameB[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; - }; - - /*! The crosstalk vector table for A/B-Frames of all 32 pixels.*/ - xtalk_t Table[ARGUS_DFM_FRAME_COUNT][ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; + /*! The crosstalk vector table for B-Frames. */ + xtalk_t FrameB[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; }; + /*! The crosstalk vector table for A/B-Frames of all 32 pixels.*/ + xtalk_t Table[ARGUS_DFM_FRAME_COUNT][ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; + } argus_cal_xtalk_table_t; /*!*************************************************************************** - * @brief Pixel-To-Pixel Crosstalk Compensation Parameters. - * @details Contains calibration data that belongs to the pixel-to-pixel - * crosstalk compensation feature. + * @brief Electrical Pixel-To-Pixel Crosstalk Compensation Parameters. + * @details Contains calibration data that belongs to the electrical + * pixel-to-pixel crosstalk compensation feature. *****************************************************************************/ -typedef struct argus_cal_p2pxtalk_t { - /*! Pixel-To-Pixel Compensation on/off. */ +typedef struct argus_cal_electrical_p2pxtalk_t { + /*! Electrical Pixel-To-Pixel Compensation on/off. */ bool Enabled; /*! The relative threshold determines when the compensation is active for @@ -134,8 +132,39 @@ typedef struct argus_cal_p2pxtalk_t { * Higher values determine more influence on the reference pixel signal. */ q3_12_t KcFactorCRefPx; -} argus_cal_p2pxtalk_t; +} argus_cal_electrical_p2pxtalk_t; +/*!*************************************************************************** + * @brief Optical Pixel-To-Pixel Crosstalk Compensation Parameters. + * @details Contains calibration data that belongs to the optical + * pixel-to-pixel crosstalk compensation feature. + *****************************************************************************/ +typedef struct argus_cal_optical_p2pxtalk_t { + /*! Optical Pixel-To-Pixel Compensation on/off. */ + bool Enabled; + + /*! The sine component of the coupling coefficient that determines the amount + * of a neighbour pixel signal that influences the raw signal of certain pixel. + * Higher values determine more influence on the individual pixel signal. */ + q3_12_t CouplingCoeffS; + + /*! The cosine component of the coupling coefficient that determines the amount + * of a neighbour pixel signal that influences the raw signal of a certain pixel. + * Higher values determine more influence on the individual pixel signal. */ + q3_12_t CouplingCoeffC; + +} argus_cal_optical_p2pxtalk_t; + +/*!*************************************************************************** + * @brief Pixel-To-Pixel Crosstalk Compensation Parameters. + * @details Contains combined calibration data for electrical and + * optical pixel-to-pixel crosstalk compensation feature. + *****************************************************************************/ +typedef struct argus_cal_p2pxtalk_t { + argus_cal_electrical_p2pxtalk_t Electrical; + + argus_cal_optical_p2pxtalk_t Optical; +} argus_cal_p2pxtalk_t; /*! @} */ #ifdef __cplusplus diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_div.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_div.h index 60b75a164a..09c6fdfdc3 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_div.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_div.h @@ -61,7 +61,7 @@ extern "C" { * @details Algorithm to evaluate a/b, where b is in Q15.16 format, on a 32-bit * architecture with maximum precision. * The result is correctly rounded and given as the input format. - * Division by 0 yields max. values determined by signa of numerator. + * Division by 0 yields max. values determined by signs of numerator. * Too high/low results are truncated to max/min values. * * Depending on the architecture, the division is implemented with a 64-bit @@ -89,14 +89,14 @@ inline int32_t fp_div16(int32_t a, q15_16_t b) if (c > 0x80000000U) { return INT32_MIN; } - return -c; + return (int32_t) - c; } else { c = ((c / b) + (1 << 13U)) >> 14U; if (c > (int64_t)INT32_MAX) { return INT32_MAX; } - return c; + return (int32_t)c; } #else @@ -159,10 +159,16 @@ inline int32_t fp_div16(int32_t a, q15_16_t b) /* Figure out the sign of result */ if ((uint32_t)(a ^ b) & 0x80000000U) { - result = -result; + return (int32_t) - result; + + } else { + // fix 05.10.2023; the corner case, when result == INT32_MAX + 1: + // Catch the wraparound (to INT32_MIN) and truncate instead. + if (quotient > INT32_MAX) { return INT32_MAX; } + + return (int32_t)result; } - return (int32_t)result; #endif } diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_mul.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_mul.h index 78db582644..e0996d6d78 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_mul.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_mul.h @@ -118,7 +118,7 @@ inline uint32_t fp_mulu(uint32_t u, uint32_t v, uint_fast8_t shift) assert(shift <= 32); #if USE_64BIT_MUL const uint64_t w = (uint64_t)u * (uint64_t)v; - return (w >> shift) + ((w >> (shift - 1)) & 1U); + return (uint32_t)((w >> shift) + ((w >> (shift - 1)) & 1U)); #else uint32_t tmp[2] = { 0 }; muldwu(tmp, u, v); @@ -158,15 +158,15 @@ inline int32_t fp_muls(int32_t u, int32_t v, uint_fast8_t shift) uint32_t u2, v2; - if (u < 0) { u2 = -u; sign = -sign; } else { u2 = u; } + if (u < 0) { u2 = (uint32_t) - u; sign = -sign; } else { u2 = (uint32_t)u; } - if (v < 0) { v2 = -v; sign = -sign; } else { v2 = v; } + if (v < 0) { v2 = (uint32_t) - v; sign = -sign; } else { v2 = (uint32_t)v; } const uint32_t res = fp_mulu(u2, v2, shift); assert(sign > 0 ? res <= 0x7FFFFFFFU : res <= 0x80000000U); - return sign > 0 ? res : -res; + return sign > 0 ? (int32_t)res : -(int32_t)res; } @@ -225,7 +225,9 @@ inline uint32_t fp_mul_u32_u16(uint32_t u, uint16_t v, uint_fast8_t shift) *****************************************************************************/ inline int32_t fp_mul_s32_u16(int32_t u, uint16_t v, uint_fast8_t shift) { - return u >= 0 ? fp_mul_u32_u16(u, v, shift) : - fp_mul_u32_u16(-u, v, shift); + return u >= 0 ? + (int32_t)fp_mul_u32_u16((uint32_t)u, v, shift) : + -(int32_t)fp_mul_u32_u16((uint32_t) - u, v, shift); } /*! @} */ diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_rnd.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_rnd.h index ad6f71e09c..056f2e027d 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_rnd.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/fp_rnd.h @@ -80,7 +80,7 @@ inline uint32_t fp_rndu(uint32_t Q, uint_fast8_t n) *****************************************************************************/ inline int32_t fp_rnds(int32_t Q, uint_fast8_t n) { - return (Q < 0) ? -fp_rndu(-Q, n) : fp_rndu(Q, n); + return (Q < 0) ? -(int32_t)fp_rndu((uint32_t)(-Q), n) : (int32_t)fp_rndu((uint32_t)Q, n); } /*!*************************************************************************** @@ -108,7 +108,7 @@ inline uint32_t fp_truncu(uint32_t Q, uint_fast8_t n) *****************************************************************************/ inline int32_t fp_truncs(int32_t Q, uint_fast8_t n) { - return (Q < 0) ? -fp_truncu(-Q, n) : fp_truncu(Q, n); + return (Q < 0) ? -(int32_t)fp_truncu((uint32_t)(-Q), n) : (int32_t)fp_truncu((uint32_t)Q, n); } /*! @} */ diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/int_math.h b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/int_math.h index 27de8cc688..b9b2004146 100644 --- a/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/int_math.h +++ b/src/drivers/distance_sensor/broadcom/afbrs50/Inc/utility/int_math.h @@ -66,7 +66,7 @@ inline uint32_t log2i(uint32_t x) { assert(x != 0); #if 1 - return 31 - __builtin_clz(x); + return (uint32_t)(31 - __builtin_clz(x)); #else #define S(k) if (x >= (1 << k)) { i += k; x >>= k; } int i = 0; S(16); S(8); S(4); S(2); S(1); return i; diff --git a/src/drivers/distance_sensor/broadcom/afbrs50/Lib/libafbrs50_m4_fpu.a b/src/drivers/distance_sensor/broadcom/afbrs50/Lib/libafbrs50_m4_fpu.a index e4e6dc0c52cd053098fa96f10f8c558d14e9c94a..1cd0fe27e0dffe061af3a6a778d9876d2f27d920 100644 GIT binary patch delta 97635 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 delta 90651 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