1 /*************************************************************************//** 2 * @file 3 * @brief This file is part of the AFBR-S50 hardware API. 4 * @details Defines the generic device calibration API. 5 * 6 * @copyright 7 * 8 * Copyright (c) 2023, Broadcom Inc. 9 * All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions are met: 13 * 14 * 1. Redistributions of source code must retain the above copyright notice, this 15 * list of conditions and the following disclaimer. 16 * 17 * 2. Redistributions in binary form must reproduce the above copyright notice, 18 * this list of conditions and the following disclaimer in the documentation 19 * and/or other materials provided with the distribution. 20 * 21 * 3. Neither the name of the copyright holder nor the names of its 22 * contributors may be used to endorse or promote products derived from 23 * this software without specific prior written permission. 24 * 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35 *****************************************************************************/ 36 37 #ifndef ARGUS_OFFSET_H 38 #define ARGUS_OFFSET_H 39 #ifdef __cplusplus 40 extern "C" { 41 #endif 42 43 /*!*************************************************************************** 44 * @addtogroup argus_cal 45 * @{ 46 *****************************************************************************/ 47 48 #include "argus_def.h" 49 50 /*!*************************************************************************** 51 * @brief Pixel Range Offset Table. 52 * @details Contains pixel range offset values for all 32 active pixels. 53 *****************************************************************************/ 54 typedef union argus_cal_offset_table_t 55 { 56 struct 57 { 58 /*! The offset values table for Low Power Stage of all 32 pixels. 59 * Unit: meter; Format: Q0.15 */ 60 q0_15_t LowPower[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; 61 62 /*! The offset values table for High Power Stage of all 32 pixels. 63 * Unit: meter; Format: Q0.15 */ 64 q0_15_t HighPower[ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; 65 }; 66 67 /*! The offset values table for Low/High Power Stages of all 32 pixels. 68 * Unit: meter; Format: Q0.15 */ 69 q0_15_t Table[ARGUS_DCA_POWER_STAGE_COUNT][ARGUS_PIXELS_X][ARGUS_PIXELS_Y]; 70 71 } argus_cal_offset_table_t; 72 73 74 /*! @} */ 75 #ifdef __cplusplus 76 } // extern "C" 77 #endif 78 #endif /* ARGUS_OFFSET_T */ 79