summaryrefslogtreecommitdiffstats
path: root/video_in_hal/vehicleservice/positioning/server/src/Sensor/VehicleSens_DeliveryCtrl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'video_in_hal/vehicleservice/positioning/server/src/Sensor/VehicleSens_DeliveryCtrl.cpp')
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning/server/src/Sensor/VehicleSens_DeliveryCtrl.cpp2243
1 files changed, 0 insertions, 2243 deletions
diff --git a/video_in_hal/vehicleservice/positioning/server/src/Sensor/VehicleSens_DeliveryCtrl.cpp b/video_in_hal/vehicleservice/positioning/server/src/Sensor/VehicleSens_DeliveryCtrl.cpp
deleted file mode 100755
index 15aabff..0000000
--- a/video_in_hal/vehicleservice/positioning/server/src/Sensor/VehicleSens_DeliveryCtrl.cpp
+++ /dev/null
@@ -1,2243 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*******************************************************************************
- * File name :VehicleSens_DeliveryCtrl.cpp
- * System name :GPF
- * Subsystem name :Vehicle sensor process
- * Program name :Vehicle Sensor Destination Management
- * Module configuration VehicleSensInitDeliveryCtrlTbl() Vehicle sensor delivery destination management table initialization function
- * VehicleSensInitDeliveryCtrlTblMng() Vehicle sensor delivery destination management table management area initialization function
- * VehicleSensInitPkgDeliveryTblMng() Vehicle Sensor Package Delivery Management Table Initialization Function
- * VehicleSensEntryDeliveryCtrl() Vehicle sensor delivery destination management registration function
- * VehicleSensAddDeliveryCtrlTbl() Vehicle sensor delivery destination management table addition function
- * VehicleSensUpdateDeliveryCtrlTbl() Vehicle sensor delivery destination management table update function
- * VehicleSensUpdatePkgDeliveryCtrlTbl() Vehicle Sensor Delivery Destination Management Table Package Delivery Data Update Function
- * VehicleSensAddDeliveryCtrlTblMng() Vehicle sensor delivery destination management table management addition function
- * VehicleSensUpdateDeliveryCtrlTblMng() Vehicle sensor delivery destination management table management update function
- * VehicleSensAddPkgDeliveryTblMng() Vehicle Sensor Package Delivery Management Table Additional Function
- * VehicleSensEntryPkgDeliveryCtrl() Vehicle sensor package delivery management registration function
- * VehicleSensMakeDeliveryPnoTbl() Vehicle Sensor Destination PNO Table Creation Function
- * VehicleSensAddPnoTbl() Vehicle Sensor Destination PNO Table Addition Function
- * VehicleSensDeliveryProc() Vehicle Sensor Data Delivery Process
- * VehicleSensFirstDelivery() Vehicle Sensor Initial Data Delivery Process
- * VehicleSensFirstPkgDelivery() Vehicle Sensor Initial Package Data Delivery Process
- ******************************************************************************/
-
-#include <vehicle_service/positioning_base_library.h>
-#include <vehicle_service/POS_common_API.h>
-#include <vehicle_service/POS_gps_API.h>
-#include "VehicleSens_DeliveryCtrl.h"
-#include "Dead_Reckoning_Local_Api.h"
-#include "SensorLog.h"
-#include "POS_private.h"
-
-#define VEHICLE_SENS_DELIVERY_CTRL_DEBUG 0
-#define VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG 0
-
-#define GYRO_NORMAL (0U)
-#define GYRO_ERROR (1U)
-#define GYRO_UNFIXED (2U)
-
-#define _pb_strcat(pdest, psrc, size) (strncat(pdest, psrc, size) , (0))
-
-/*************************************************/
-/* Global variable */
-/*************************************************/
-static VEHICLESENS_DELIVERY_CTRL_TBL g_stdelivery_ctrl_tbl;
-static VEHICLESENS_DELIVERY_CTRL_TBL_MNG g_stdelivery_ctrl_tbl_mng;
-static VEHICLESENS_PKG_DELIVERY_TBL_MNG g_stpkgdelivery_tbl_mng;
-static VEHICLESENS_DELIVERY_PNO_TBL g_stdelivery_pno_tbl;
-
-/* ++ PastModel002 response DR */
-static VEHICLESENS_DELIVERY_CTRL_TBL g_stdelivery_ctrl_tbl_dr;
-static VEHICLESENS_DELIVERY_CTRL_TBL_MNG g_stdelivery_ctrl_tbl_mng_dr;
-static VEHICLESENS_DELIVERY_PNO_TBL g_stdelivery_pno_tbl_dr;
-
-/* -- PastModel002 response DR */
-
-#if CONFIG_HW_PORTSET_TYPE_C
-u_int16 gusSeqNum; /* Sequence number for split transmission */
-#endif
-
-/*******************************************************************************
-* MODULE : VehicleSensInitDeliveryCtrlTbl
-* ABSTRACT : Vehicle sensor delivery destination management table initialization function
-* FUNCTION : Delivery destination management table initialization processing
-* ARGUMENT : void
-* NOTE :
-******************************************************************************/
-void VehicleSensInitDeliveryCtrlTbl(void) {
- memset(&g_stdelivery_ctrl_tbl, 0x00, sizeof(VEHICLESENS_DELIVERY_CTRL_TBL));
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensInitDeliveryCtrlTblMng
-* ABSTRACT : Vehicle Sensor DR Internal Delivery Destination Management Table Management Area Initialization Function
-* FUNCTION : Delivery destination management table management area initialization processing
-* ARGUMENT : void
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensInitDeliveryCtrlTblMng(void) {
- memset(&g_stdelivery_ctrl_tbl_mng, 0x00, sizeof(VEHICLESENS_DELIVERY_CTRL_TBL_MNG));
-}
-
-/* ++ PastModel002 response DR */
-/*******************************************************************************
-* MODULE : VehicleSensInitDeliveryCtrlTblDR
-* ABSTRACT : Vehicle sensor delivery destination management table initialization function
-* FUNCTION : DR distribution target management table initialization processing
-* ARGUMENT : void
-* NOTE :
-******************************************************************************/
-void VehicleSensInitDeliveryCtrlTblDR(void) { // LCOV_EXCL_START 8: dead code.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- memset(&g_stdelivery_ctrl_tbl_dr, 0x00, sizeof(VEHICLESENS_DELIVERY_CTRL_TBL));
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
-* MODULE : VehicleSensInitDeliveryCtrlTblMngDR
-* ABSTRACT : Vehicle sensor delivery destination management table management area initialization function
-* FUNCTION : Initialization processing for the management table area of the delivery destination management table for DR
-* ARGUMENT : void
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensInitDeliveryCtrlTblMngDR(void) { // LCOV_EXCL_START 8 : dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- memset(&g_stdelivery_ctrl_tbl_mng_dr, 0x00, sizeof(VEHICLESENS_DELIVERY_CTRL_TBL_MNG));
-}
-// LCOV_EXCL_STOP
-
-/* -- PastModel002 response DR */
-
-/*******************************************************************************
-* MODULE : VehicleSensInitPkgDeliveryTblMng
-* ABSTRACT : Vehicle Sensor Package Delivery Management Table Initialization Function
-* FUNCTION : Delivery Package Management Table Initialization Processing
-* ARGUMENT : void
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensInitPkgDeliveryTblMng(void) {
- memset(&g_stpkgdelivery_tbl_mng, 0x00, sizeof(VEHICLESENS_PKG_DELIVERY_TBL_MNG));
-}
-
-#if CONFIG_HW_PORTSET_TYPE_C
-/*******************************************************************************
-* MODULE : VehicleSensInitSeqNum
-* ABSTRACT : Sequence number initialization function for split transmission
-* FUNCTION : Sequence number initialization processing for split transmission
-* ARGUMENT : void
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensInitSeqNum(void) {
- gusSeqNum = 0;
-}
-#endif
-
-/*******************************************************************************
-* MODULE : VehicleSensEntryDeliveryCtrl
-* ABSTRACT : Vehicle sensor delivery destination management registration function
-* FUNCTION : Shipping management table,Update the shipping management table management.
-* ARGUMENT : pst_delivery_entry : Pointer to the delivery registration information
-* NOTE :
-* RETURN : VEHICLE_RET_NORMAL :Successful registration
-******************************************************************************/
-VEHICLE_RET_API VehicleSensEntryDeliveryCtrl(const VEHICLE_MSG_DELIVERY_ENTRY *pst_delivery_entry) {
- int32 i;
- u_int8 uc_action_type = VEHICLESENS_ACTION_TYPE_ADD;
- int32 uc_did_flag;
- DID ulentry_did = pst_delivery_entry->data.did;
- VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_existing_mng_data = NULL;
- VEHICLE_RET_API ret = VEHICLE_RET_NORMAL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- BOOL bexist_flag = FALSE;
-
- /* Check if the data ID exists. */
- uc_did_flag = VehicleSensCheckDid(ulentry_did);
- if (uc_did_flag == 0) { // LCOV_EXCL_BR_LINE 6:alway be 1
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-
- ret = VEHICLE_RET_ERROR_DID; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */ // LCOV_EXCL_LINE 8: dead code // NOLINT(whitespace/line_length)
- }
-
- /* Check the number of registered shipments. */
- if ((ret == VEHICLE_RET_NORMAL) && /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- (g_stdelivery_ctrl_tbl.us_dnum >= VEHICLESENS_DELIVERY_INFO_MAX)) {
- /* Return the FULL of delivery registrations*/
- ret = VEHICLE_RET_ERROR_BUFFULL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- if (ret == VEHICLE_RET_NORMAL) { /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* Duplicate delivery registration check*/
- for (i = 0; i < g_stdelivery_ctrl_tbl.us_dnum; i++) {
- if ((g_stdelivery_ctrl_tbl.st_ctrl_data[i].ul_did == ulentry_did) &&
- (g_stdelivery_ctrl_tbl.st_ctrl_data[i].us_pno == pst_delivery_entry->data.pno) &&
- (g_stdelivery_ctrl_tbl.st_ctrl_data[i].uc_method == VEHICLESENS_DELIVERY_METHOD_NORMAL)) {
- /* When the same shipping address (PNO) and shipping DID are already registered,Update registration information and exit */
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].uc_chg_type = pst_delivery_entry->data.delivery_timing;
- bexist_flag = TRUE;
- break;
- }
- }
-
- if (bexist_flag == TRUE) {
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "Duplicate DID=0x%x PNO=0x%x ChgType=%d",
- ulentry_did,
- pst_delivery_entry->data.pno,
- pst_delivery_entry->data.delivery_timing);
- } else {
- /* By searching for the delivery registration of the relevant DID,Hold the address. */
- for (i = 0; i < g_stdelivery_ctrl_tbl_mng.us_dnum; i++) {
- if (g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].ul_did == ulentry_did) {
- uc_action_type = VEHICLESENS_ACTION_TYPE_UPDATE;
- pst_existing_mng_data = &g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i];
- }
- }
- /* Add to the shipping management table.*/
- VehicleSensAddDeliveryCtrlTbl(pst_delivery_entry);
-
- /* Processing when updating existing data*/
- if (uc_action_type == VEHICLESENS_ACTION_TYPE_UPDATE) {
- /* Update the shipping management table.*/
- VehicleSensUpdateDeliveryCtrlTbl(pst_existing_mng_data);
-
- /* Update the shipping destination management table management information.*/
- VehicleSensUpdateDeliveryCtrlTblMng(pst_existing_mng_data);
- } else { /* Newly added processing*/
- /* Add to the shipping management table management information.*/
- VehicleSensAddDeliveryCtrlTblMng(pst_delivery_entry);
- }
- }
- }
- return ret; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensAddDeliveryCtrlTbl
-* ABSTRACT : Vehicle sensor delivery destination management table addition function
-* FUNCTION : Add to the shipping management table.
-* ARGUMENT : *pst_delivery_entry : Pointer to the delivery registration information
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensAddDeliveryCtrlTbl(const VEHICLE_MSG_DELIVERY_ENTRY *pst_delivery_entry) {
- VEHICLESENS_DELIVERY_CTRL_TBL_DATA *pst_ctrl_data;
-
- pst_ctrl_data = &g_stdelivery_ctrl_tbl.st_ctrl_data[g_stdelivery_ctrl_tbl.us_dnum];
- pst_ctrl_data->ul_did = pst_delivery_entry->data.did;
- pst_ctrl_data->us_pno = pst_delivery_entry->data.pno;
- pst_ctrl_data->uc_chg_type = pst_delivery_entry->data.delivery_timing;
- pst_ctrl_data->uc_ctrl_flg = pst_delivery_entry->data.ctrl_flg;
- pst_ctrl_data->us_link_idx = VEHICLESENS_LINK_INDEX_END;
- pst_ctrl_data->us_pkg_start_idx = VEHICLESENS_LINK_INDEX_END;
- pst_ctrl_data->us_pkg_end_idx = VEHICLESENS_LINK_INDEX_END;
- pst_ctrl_data->uc_method = VEHICLESENS_DELIVERY_METHOD_NORMAL;
- g_stdelivery_ctrl_tbl.us_dnum = static_cast<u_int16>(g_stdelivery_ctrl_tbl.us_dnum + 1);
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensUpdateDeliveryCtrlTbl
-* ABSTRACT : Vehicle sensor delivery destination management table update function
-* FUNCTION : Update the shipping management table.
-* ARGUMENT : *pstExistingMngData : Pointer to the previous data information with the same data ID
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensUpdateDeliveryCtrlTbl(VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_existing_mng_data) {
- /* Ignore->MISRA-C++:2008 Rule 7-1-2 */
- /* Update Link Index Only.
- For indexes of usEndIdx values matching the data IDs in the target management table
- Making usLinkIdx an Index-Registered Index */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- g_stdelivery_ctrl_tbl.st_ctrl_data[pst_existing_mng_data->us_end_idx].us_link_idx =
- static_cast<u_int16>(g_stdelivery_ctrl_tbl.us_dnum - 1); /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensUpdatePkgDeliveryCtrlTbl
-* ABSTRACT : Vehicle Sensor Delivery Destination Management Table Package Delivery Data Update Function
-* FUNCTION : Updating Package Delivery Data in the Destination Management Table.
-* ARGUMENT : us_dnum : Number of data items in the package delivery management table
-* : us_pkg_num : Number of packages to create
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensUpdatePkgDeliveryCtrlTbl(u_int16 us_dnum, u_int16 us_pkg_num) {
- VEHICLESENS_DELIVERY_CTRL_TBL_DATA *pst_ctrl_data;
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- pst_ctrl_data = &g_stdelivery_ctrl_tbl.st_ctrl_data[g_stdelivery_ctrl_tbl.us_dnum - 1];
- pst_ctrl_data->us_pkg_start_idx = us_dnum;
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- pst_ctrl_data->us_pkg_end_idx = static_cast<u_int16>(us_dnum + us_pkg_num - 1);
- pst_ctrl_data->uc_method = VEHICLESENS_DELIVERY_METHOD_PACKAGE;
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensAddDeliveryCtrlTblMng
-* ABSTRACT : Vehicle sensor delivery destination management table management addition function
-* FUNCTION : Add to the shipping management table management.
-* ARGUMENT : *pst_delivery_entry : Pointer to the delivery registration information
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensAddDeliveryCtrlTblMng(const VEHICLE_MSG_DELIVERY_ENTRY *pst_delivery_entry) {
- VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_ctrl_mng_data;
-
- pst_ctrl_mng_data = &g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[g_stdelivery_ctrl_tbl_mng.us_dnum];
- pst_ctrl_mng_data->ul_did = pst_delivery_entry->data.did;
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- pst_ctrl_mng_data->us_start_idx = static_cast<u_int16>(g_stdelivery_ctrl_tbl.us_dnum - 1);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- pst_ctrl_mng_data->us_end_idx = static_cast<u_int16>(g_stdelivery_ctrl_tbl.us_dnum - 1);
- pst_ctrl_mng_data->usdlvry_entry_num++;
- g_stdelivery_ctrl_tbl_mng.us_dnum++;
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensUpdateDeliveryCtrlTblMng
-* ABSTRACT : Vehicle sensor delivery destination management table management update function
-* FUNCTION : Update the shipping management table management.
-* ARGUMENT : *pst_existing_mng_data : Pointer to the previous data information with the same data ID
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensUpdateDeliveryCtrlTblMng(VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_existing_mng_data) {
- /* Update only the end index and the number of registered shipping destinations. */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- pst_existing_mng_data->us_end_idx = static_cast<u_int16>(g_stdelivery_ctrl_tbl.us_dnum - 1);
- pst_existing_mng_data->usdlvry_entry_num++;
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensAddPkgDeliveryTblMng
-* ABSTRACT : Vehicle Sensor Package Delivery Management Table Additional Function
-* FUNCTION : Add to the shipping management table management.
-* ARGUMENT : *pst_pkg : Pointer to package delivery registration information
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensAddPkgDeliveryTblMng(const SENSOR_MSG_DELIVERY_ENTRY *pst_pkg) {
- int32 i; /* Generic counters */
-
- /* Data ID registration */
- /* Registration of delivery data index */
- for (i = 0; i < (pst_pkg->data.pkg_num); i++) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- g_stpkgdelivery_tbl_mng.st_pkg_data[g_stpkgdelivery_tbl_mng.us_dnum].ul_did = pst_pkg->data.did[i];
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- g_stpkgdelivery_tbl_mng.st_pkg_data[g_stpkgdelivery_tbl_mng.us_dnum].usdlvry_idx = \
- static_cast<u_int16>(g_stpkgdelivery_tbl_mng.us_dnum + 1);
- g_stpkgdelivery_tbl_mng.us_dnum++;
- }
- /* The final delivery data index overwrites the terminating code */
- g_stpkgdelivery_tbl_mng.st_pkg_data[g_stpkgdelivery_tbl_mng.us_dnum - 1].usdlvry_idx = VEHICLESENS_LINK_INDEX_END;
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensEntryPkgDeliveryCtrl
-* ABSTRACT : Vehicle sensor package delivery management registration function
-* FUNCTION : Shipping management table,Destination management table management,Update the package delivery management table.
-* ARGUMENT : *pst_pkg : Pointer to package delivery registration information
-* NOTE :
-* RETURN : VEHICLE_RET_NORMAL : Successful registration
-******************************************************************************/
-VEHICLE_RET_API VehicleSensEntryPkgDeliveryCtrl(const SENSOR_MSG_DELIVERY_ENTRY *pst_pkg ,
- u_int8 uc_ext_chk) { /* Ignore->MISRA-C++:2008 Rule 6-6-5 */
- int32 i;
- u_int16 us_size = 0;
- u_int8 uc_action_type = VEHICLESENS_ACTION_TYPE_ADD;
- VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_existing_mng_data = NULL;
- VEHICLE_MSG_DELIVERY_ENTRY st_delivery_entry;
- u_int16 us_boundary_adj; /* For boundary adjustment */
- u_int16 us_next_offset; /* For size calculation */
- VEHICLE_RET_API ret = VEHICLE_RET_NORMAL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- BOOL bexist_flag = FALSE;
-
- /* Check if the data ID exists. */
- for (i = 0; i < (pst_pkg->data.pkg_num); i++) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- if (VEHICLESENS_INVALID == VehicleSensCheckDid(pst_pkg->data.did[i])) { // LCOV_EXCL_BR_LINE 200: always Valid
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret = VEHICLE_RET_ERROR_DID; // // LCOV_EXCL_LINE 8 :dead code
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
- }
-
- /* Check the number of registered shipments. */
- if ((ret == VEHICLE_RET_NORMAL) && /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- (VEHICLESENS_DELIVERY_INFO_MAX <= g_stdelivery_ctrl_tbl.us_dnum)) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Return the FULL of delivery registrations*/
- ret = VEHICLE_RET_ERROR_BUFFULL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- /* Check the number of registered package shipments. */
- if ((ret == VEHICLE_RET_NORMAL) && /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- (VEHICLESENS_PKG_DELIVERY_INFO_MAX < (g_stpkgdelivery_tbl_mng.us_dnum + pst_pkg->data.pkg_num))) {
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Return the FULL of delivery registrations*/
- ret = VEHICLE_RET_ERROR_BUFFULL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- if (ret == VEHICLE_RET_NORMAL) { /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* Check that the size of the buffer to be delivered does not exceed the maximum size. */
- /* For boundary adjustment */
- us_boundary_adj = (u_int16)VEHICLESENS_BIT1 | (u_int16)VEHICLESENS_BIT0;
- for (i = 0; i < pst_pkg->data.pkg_num; i++) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
-
- /* Ignore->MISRA-C++:2008 Rule 2-7-2 */
-#if CONFIG_SENSOR_EXT_VALID /* Initial Sensor Support */
- if (uc_ext_chk == VEHICLESENS_EXT_OFF) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */ // LCOV_EXCL_BR_LINE 200: VEHICLESENS_EXT_OFF passed in function is dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- us_next_offset = VehicleSensGetDataMasterOffset(pst_pkg->data.did[i]); // LCOV_EXCL_LINE 8: dead code
- } else {
- us_next_offset = VehicleSensGetDataMasterExtOffset(pst_pkg->data.did[i]);
- }
-#else
- us_next_offset = VehicleSensGetDataMasterOffset(pst_pkg->data.did[i]);
-#endif
- /* Ignore->MISRA-C++:2008 Rule 2-7-2 */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 Ignore->MISRA-C++:2008 Rule 5-0-13, 5-0-14, 5-3-1 */
- if ((us_next_offset & us_boundary_adj) != 0) {
- /* If you need to adjust */
- /* Mask Lower Bit Ignore->MISRA-C++:2008 Rule 5-0-5 Ignore->MISRA-C++:2008 Rule 5-0-21 */
- us_next_offset = static_cast<u_int16>(us_next_offset & ~us_boundary_adj);
- us_next_offset = static_cast<u_int16>(us_next_offset + (u_int16)VEHICLESENS_BIT2); /* Add numbers */
- }
- us_size = static_cast<u_int16>(us_size + us_next_offset); /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- }
- if (SENSOR_VSINFO_DSIZE < us_size) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Return the FULL of delivery registrations(Exceed the size of the buffer to be delivered due to the combination of packages)*/
- ret = VEHICLE_RET_ERROR_BUFFULL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
- }
-
- if (ret == VEHICLE_RET_NORMAL) { /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- for (i = 0; i < g_stdelivery_ctrl_tbl.us_dnum; i++) {
- if ((g_stdelivery_ctrl_tbl.st_ctrl_data[i].us_pno == pst_pkg->data.pno) &&
- (g_stdelivery_ctrl_tbl.st_ctrl_data[i].uc_method == VEHICLESENS_DELIVERY_METHOD_PACKAGE)) {
- /* When the same shipping address (PNO) is already registered,Update registration information and exit */
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].uc_chg_type = pst_pkg->data.delivery_timing;
- bexist_flag = TRUE;
- break;
- }
- }
-
- if (bexist_flag == TRUE) {
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "Duplicate PNO=0x%x ChgType=%d",
- pst_pkg->data.pno, pst_pkg->data.delivery_timing);
- } else {
- /* By searching for the delivery registration of the relevant DID,Hold the address. */
- for (i = 0; i < g_stdelivery_ctrl_tbl_mng.us_dnum; i++) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- if (g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].ul_did == pst_pkg->data.did[0]) {
- uc_action_type = VEHICLESENS_ACTION_TYPE_UPDATE;
- pst_existing_mng_data = &g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i];
- }
- }
- /* Type conversion,And copies of the data section(Because the header is unused,Not involved) */
- memset(reinterpret_cast<void *>(&st_delivery_entry),
- static_cast<int32>(0),
- (size_t)sizeof(VEHICLE_MSG_DELIVERY_ENTRY));
- st_delivery_entry.data.did = pst_pkg->data.did[0];
- st_delivery_entry.data.pno = pst_pkg->data.pno;
- st_delivery_entry.data.delivery_timing = pst_pkg->data.delivery_timing;
- st_delivery_entry.data.ctrl_flg = pst_pkg->data.ctrl_flg;
- st_delivery_entry.data.event_id = pst_pkg->data.event_id;
- /* Add to the shipping management table.*/
- VehicleSensAddDeliveryCtrlTbl(&st_delivery_entry);
-
- /* Processing when updating existing data*/
- /* Ignore->MISRA-C++:2008 Rule 5-0-13, 5-0-14, 5-3-1 */
- if (uc_action_type == VEHICLESENS_ACTION_TYPE_UPDATE) {
- /* Update the shipping management table.*/
- VehicleSensUpdateDeliveryCtrlTbl(pst_existing_mng_data);
-
- /* Update the shipping destination management table management information.*/
- VehicleSensUpdateDeliveryCtrlTblMng(pst_existing_mng_data);
- } else { /* Newly added processing*/
- /* Add to the shipping management table management information.*/
- VehicleSensAddDeliveryCtrlTblMng(&st_delivery_entry);
- }
-
- /* Updating Package Relationship Data in the Destination Management Table.*/
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- VehicleSensUpdatePkgDeliveryCtrlTbl(g_stpkgdelivery_tbl_mng.us_dnum, pst_pkg->data.pkg_num);
- /* Add to the package delivery management table.*/
- VehicleSensAddPkgDeliveryTblMng(pst_pkg);
- }
- }
-
- return ret; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensMakeDeliveryPnoTbl
-* ABSTRACT : Vehicle sensor delivery destination PNO table creation function
-* FUNCTION : Create the shipping destination PNO table
-* ARGUMENT : ul_did Data ID
-* Change_type Delivery Trigger
-* NOTE :
-* RETURN : VEHICLESENS_DELIVERY_PNO_TBL* Pointer to the shipping PNO table
-******************************************************************************/
-VEHICLESENS_DELIVERY_PNO_TBL* VehicleSensMakeDeliveryPnoTbl(DID ul_did, u_int8 change_type) {
- int32 i;
- u_int8 uc_ctrl_tbl_mng_data_list;
- u_int16 us_index = 0;
- u_int16 us_dnum = 0;
-
- /* Get the start index and count of the corresponding data ID. */
- uc_ctrl_tbl_mng_data_list = static_cast<u_int8>(
- (sizeof(g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data)) /
- (sizeof(g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[0])));
- for (i = 0; i < uc_ctrl_tbl_mng_data_list; i++) {
- /* Stores the information of the corresponding DID.. */
- if (g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].ul_did == ul_did) {
- us_index = g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].us_start_idx;
- us_dnum = g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].usdlvry_entry_num;
- break;
- }
- }
-
- /* Create a PNO list */
- g_stdelivery_pno_tbl.us_dnum = 0;
- if (change_type == VEHICLESENS_CHGTYPE_CHG) {
- /* Processing when delivery timing is changed*/
- for (i = 0; i < us_dnum; i++) {
- /* Functionalization by Increasing Structure Members */
- VehicleSensAddPnoTbl(us_index);
- us_index = g_stdelivery_ctrl_tbl.st_ctrl_data[us_index].us_link_idx;
- }
- } else {
- /* Processing when delivery timing is update */
- for (i = 0; i < us_dnum; i++) {
- if (VEHICLE_DELIVERY_TIMING_UPDATE == g_stdelivery_ctrl_tbl.st_ctrl_data[us_index].uc_chg_type) {
- /* Functionalization by Increasing Structure Members */
- VehicleSensAddPnoTbl(us_index);
- }
- us_index = g_stdelivery_ctrl_tbl.st_ctrl_data[us_index].us_link_idx;
- }
- }
- return(&g_stdelivery_pno_tbl);
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensAddPnoTbl
-* ABSTRACT : Vehicle Sensor Destination PNO Table Addition Function
-* FUNCTION : Add to the shipping PNO table.
-* ARGUMENT : us_index : Index of the referenced destination management table
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensAddPnoTbl(u_int16 us_index) {
- u_int16 us_pno_tbl_idx;
-
- us_pno_tbl_idx = g_stdelivery_pno_tbl.us_dnum;
- g_stdelivery_pno_tbl.st_pno_data[us_pno_tbl_idx].us_pno = \
- g_stdelivery_ctrl_tbl.st_ctrl_data[us_index].us_pno;
- g_stdelivery_pno_tbl.st_pno_data[us_pno_tbl_idx].us_pkg_start_idx = \
- g_stdelivery_ctrl_tbl.st_ctrl_data[us_index].us_pkg_start_idx;
- g_stdelivery_pno_tbl.st_pno_data[us_pno_tbl_idx].us_pkg_end_idx = \
- g_stdelivery_ctrl_tbl.st_ctrl_data[us_index].us_pkg_end_idx;
- g_stdelivery_pno_tbl.st_pno_data[us_pno_tbl_idx].uc_method = \
- g_stdelivery_ctrl_tbl.st_ctrl_data[us_index].uc_method;
- g_stdelivery_pno_tbl.us_dnum++;
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensDeliveryGPS
-* ABSTRACT : Vehicle Sensor Data Delivery Process
-* FUNCTION : Deliver data to a destination.
-* ARGUMENT : ul_did :Data ID
-* uc_chg_type :Delivery timing
-* uc_get_method :Acquisition method
-* NOTE :
-* RETURN : void
-******************************************************************************/
-u_int8 VehicleSensDeliveryGPS(DID ul_did, u_int8 uc_get_method, u_int8 uc_current_get_method, int32 pno_index,
- u_int32* cid,
- VEHICLESENS_DATA_MASTER* stmaster,
- const VEHICLESENS_DELIVERY_PNO_TBL *pst_pno_tbl) {
-#if CONFIG_SENSOR_EXT_VALID /* Initial Sensor Support */
- SENSORLOCATION_MSG_LONLATINFO *plonlat_msg;
- SENSORLOCATION_MSG_ALTITUDEINFO *paltitude_msg;
- SENSORMOTION_MSG_HEADINGINFO *pheading_msg;
-#endif
-
- SENSOR_MSG_GPSDATA_DAT gps_master;
- VEHICLESENS_DELIVERY_FORMAT delivery_data;
- u_int16 length;
- u_int16 senslog_len;
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = SENSLOG_RES_SUCCESS; /* Send/Receive result */
-
- VehicleSensGetGpsDataMaster(ul_did, uc_current_get_method, &gps_master);
-
- if (ul_did == POSHAL_DID_GPS_TIME) {
- /* GPS time,Because there is no header in the message to be delivered,
- Padding deliveryData headers */
- (void)memcpy(reinterpret_cast<void*>(&delivery_data),
- reinterpret_cast<void*>(&gps_master.uc_data[0]), gps_master.us_size);
- length = gps_master.us_size;
- senslog_len = length;
- *cid = CID_VEHICLESENS_VEHICLE_INFO_GPS_TIME;
- } else if (ul_did == VEHICLE_DID_LOCATION_LONLAT) {
- plonlat_msg = reinterpret_cast<SENSORLOCATION_MSG_LONLATINFO*>(&delivery_data);
- /* Acquire the applicable data information from the data master..*/
- VehicleSensGetDataMaster(ul_did, uc_current_get_method, stmaster);
- (void)memcpy(reinterpret_cast<void*>(&(plonlat_msg->data)),
- reinterpret_cast<void*>(&(stmaster->uc_data[0])), stmaster->us_size);
- length = (u_int16)(stmaster->us_size);
- senslog_len = length;
- *cid = CID_POSIF_REGISTER_LISTENER_LONLAT;
- } else if (ul_did == VEHICLE_DID_LOCATION_ALTITUDE) {
- paltitude_msg = reinterpret_cast<SENSORLOCATION_MSG_ALTITUDEINFO*>(&delivery_data);
- /* Acquire the applicable data information from the data master..*/
- VehicleSensGetDataMaster(ul_did, uc_get_method, stmaster);
- (void)memcpy(reinterpret_cast<void*>(&(paltitude_msg->data)),
- reinterpret_cast<void*>(&stmaster->uc_data[0]), stmaster->us_size);
- length = (u_int16)(stmaster->us_size);
- senslog_len = length;
- *cid = CID_POSIF_REGISTER_LISTENER_ALTITUDE;
- } else if (ul_did == VEHICLE_DID_MOTION_HEADING) {
- pheading_msg = reinterpret_cast<SENSORMOTION_MSG_HEADINGINFO*>(&delivery_data);
- /* Acquire the applicable data information from the data master..*/
- VehicleSensGetDataMaster(ul_did, uc_get_method, stmaster);
- (void)memcpy(reinterpret_cast<void*>(&(pheading_msg->data)),
- reinterpret_cast<void*>(&stmaster->uc_data[0]), stmaster->us_size);
- length = (u_int16)(stmaster->us_size);
- senslog_len = length;
- *cid = CID_POSIF_REGISTER_LISTENER_HEADING;
- } else {
- delivery_data.header.did = gps_master.ul_did;
- delivery_data.header.size = gps_master.us_size;
- delivery_data.header.rcv_flag = gps_master.uc_rcv_flag;
- delivery_data.header.sensor_cnt = gps_master.uc_sns_cnt;
- (void)memcpy(reinterpret_cast<void *>(&delivery_data.data[0]),
- reinterpret_cast<void *>(&gps_master.uc_data[0]),
- (size_t)delivery_data.header.size);
-
- length = static_cast<u_int16>((u_int16)sizeof(delivery_data.header) + \
- delivery_data.header.size);
- senslog_len = delivery_data.header.size;
- *cid = CID_VEHICLESENS_VEHICLE_INFO;
- }
-
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- static_cast<CID>(*cid),
- length,
- (const void *)&delivery_data);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- if (*cid != CID_VEHICLESENS_VEHICLE_INFO) {
- SensLogWriteOutputData(SENSLOG_DATA_O_UNSPECIFIED, ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&delivery_data),
- senslog_len, uc_result);
- } else {
- SensLogWriteOutputData(SENSLOG_DATA_O_UNSPECIFIED, ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(delivery_data.data[0])),
- senslog_len, uc_result);
- }
- return uc_result;
-}
-
-u_int8 VehicleSensDeliveryFst(DID ul_did, u_int8 uc_get_method, int32 pno_index,
- const VEHICLESENS_DELIVERY_PNO_TBL *pst_pno_tbl) {
- VEHICLESENS_DATA_MASTER_FST st_master_fst; /* Master of initial sensor data */
- VEHICLESENS_DATA_MASTER_FST st_master_fst_temp; /* For temporary storage */
-
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = SENSLOG_RES_SUCCESS; /* Send/Receive result */
- (void)memset(reinterpret_cast<void *>(&st_master_fst),
- 0,
- sizeof(VEHICLESENS_DATA_MASTER_FST));
- (void)memset(reinterpret_cast<void *>(&st_master_fst_temp),
- 0,
- sizeof(VEHICLESENS_DATA_MASTER_FST));
- VehicleSensGetDataMasterFst(ul_did, uc_get_method, &st_master_fst);
- if (st_master_fst.partition_flg == 1) {
- /* When the partitioning flag is enabled,Or exceeds the size that can be sent,Perform split transmission */
- memcpy(&st_master_fst_temp, &st_master_fst, sizeof(VEHICLESENS_DATA_MASTER_FST));
- if ((ul_did == POSHAL_DID_GYRO_X_FST) || /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- (ul_did == POSHAL_DID_GYRO_Y_FST) ||
- (ul_did == POSHAL_DID_GYRO_Z_FST) ||
- (ul_did == POSHAL_DID_GSNS_X_FST) ||
- (ul_did == POSHAL_DID_GSNS_Y_FST) ||
- (ul_did == POSHAL_DID_GSNS_Z_FST)) {
- /* 1st session */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- /* Size of data that can be transmitted in one division(Same size definition used)*/
- st_master_fst_temp.us_size = LSDRV_FSTSNS_DSIZE_GYRO_X;
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(st_master_fst_temp.us_size + 8),
- (const void *)&st_master_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(st_master_fst_temp.uc_data[0])),
- st_master_fst_temp.us_size,
- uc_result);
-
- /* Second time */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- (void)memset(reinterpret_cast<void *>(&st_master_fst_temp.uc_data[0]),
- 0,
- sizeof(u_int8) * VEHICLE_DSIZE_DATA_MASTER_FST);
- /* Size of the data - Transmission size(Same size definition used)Ignore->MISRA-C++:2008 Rule 5-0-5 */
- st_master_fst_temp.us_size = static_cast<u_int16>(st_master_fst.us_size - \
- LSDRV_FSTSNS_DSIZE_GYRO_X);
- memcpy(&st_master_fst_temp.uc_data[0],
- &st_master_fst.uc_data[LSDRV_FSTSNS_DSIZE_GYRO_X],
- st_master_fst_temp.us_size);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 #Coverity_19347 */
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(st_master_fst_temp.us_size + 8),
- (const void *)&st_master_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(st_master_fst_temp.uc_data[0])),
- st_master_fst_temp.us_size,
- uc_result);
- } else if (ul_did == POSHAL_DID_REV_FST) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* 1st session */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- /* Size of data that can be transmitted in one division */
- st_master_fst_temp.us_size = LSDRV_FSTSNS_DSIZE_REV;
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(st_master_fst_temp.us_size + 8),
- (const void *)&st_master_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(st_master_fst_temp.uc_data[0])),
- st_master_fst_temp.us_size,
- uc_result);
-
- /* Second time */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- (void)memset(reinterpret_cast<void *>(&st_master_fst_temp.uc_data[0]),
- 0,
- sizeof(u_int8) * VEHICLE_DSIZE_DATA_MASTER_FST);
- /* Size of the data - Transmission size Ignore->MISRA-C++:2008 Rule 5-0-5 */
- st_master_fst_temp.us_size = static_cast<u_int16>(st_master_fst.us_size - \
- LSDRV_FSTSNS_DSIZE_REV);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 #Coverity_19347 */
- memcpy(&st_master_fst_temp.uc_data[0],
- &st_master_fst.uc_data[LSDRV_FSTSNS_DSIZE_REV],
- st_master_fst_temp.us_size);
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(st_master_fst_temp.us_size + 8),
- (const void *)&st_master_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(st_master_fst_temp.uc_data[0])),
- st_master_fst_temp.us_size,
- uc_result);
- } else {
- /* 1st session */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- /* Size of data that can be transmitted in one division(Same size definition used)*/
- st_master_fst_temp.us_size = LSDRV_FSTSNS_DSIZE_GYRO_TEMP;
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(st_master_fst_temp.us_size + 8),
- (const void *)&st_master_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(st_master_fst_temp.uc_data[0])),
- st_master_fst_temp.us_size,
- uc_result);
- /* Second time */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- (void)memset(reinterpret_cast<void *>(&st_master_fst_temp.uc_data[0]),
- 0,
- sizeof(u_int8) * VEHICLE_DSIZE_DATA_MASTER_FST);
- /* Size of the data - Transmission size(Same size definition used)Ignore->MISRA-C++:2008 Rule 5-0-5 */
- st_master_fst_temp.us_size = static_cast<u_int16>(st_master_fst.us_size - \
- LSDRV_FSTSNS_DSIZE_GYRO_TEMP);
- memcpy(&st_master_fst_temp.uc_data[0],
- &st_master_fst.uc_data[LSDRV_FSTSNS_DSIZE_GYRO_TEMP],
- st_master_fst_temp.us_size); /* Ignore->MISRA-C++:2008 Rule 5-0-5 #Coverity_19347*/
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(st_master_fst_temp.us_size + 8),
- (const void *)&st_master_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(st_master_fst_temp.uc_data[0])),
- st_master_fst_temp.us_size,
- uc_result);
- }
- } else {
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(st_master_fst.us_size + 8),
- (const void *)&st_master_fst);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(st_master_fst.uc_data[0])),
- st_master_fst.us_size,
- uc_result);
- }
-
- return uc_result;
-}
-
-u_int8 VehicleSensDeliveryGyro(DID ul_did, u_int8 uc_current_get_method, int32 pno_index, const VEHICLESENS_DELIVERY_PNO_TBL *pst_pno_tbl) { // LCOV_EXCL_START 8: dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = SENSLOG_RES_SUCCESS; /* Send/Receive result */
-
- VEHICLESENS_DATA_MASTER_GYRO_TROUBLE st_master_gyro_trouble;
- SENSORMOTION_MSG_GYROTROUBLEINFO_DAT st_msg_gyro_trouble_info;
-
- /* Initialization */
- st_msg_gyro_trouble_info.reserve = 0;
-
- VehicleSensGetDataMasterGyroTrouble(ul_did, uc_current_get_method, &st_master_gyro_trouble);
-
- /* Size storage(GYROTROUBLE) */
- st_msg_gyro_trouble_info.size = st_master_gyro_trouble.us_size;
-
- /* Set the GyroTrouble */
- (void)memcpy(reinterpret_cast<void *>(&(st_msg_gyro_trouble_info.gyro_trouble)),
- reinterpret_cast<void *>(&(st_master_gyro_trouble.uc_data)),
- sizeof(st_msg_gyro_trouble_info.gyro_trouble));
-
-#if VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "#[DIAG] ul_did = VEHICLE_DID_GYRO_TROUBLE");
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "#[DIAG] st_msg_gyro_trouble_info.size = %d", st_msg_gyro_trouble_info.size);
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "#[DIAG] st_msg_gyro_trouble_info.gyro_trouble = 0x%08X \r\n",
- st_msg_gyro_trouble_info.gyro_trouble);
-#endif /* VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG */
- /* Since the undefined state is not a device specification,Do not deliver to the app side */
- if (st_msg_gyro_trouble_info.gyro_trouble != GYRO_UNFIXED) {
-
- /* Send GyroTrouble to API-caller */
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLE_SENSORMOTION_GYROTROUBLE,
- sizeof(SENSORMOTION_MSG_GYROTROUBLEINFO_DAT),
- (const void *)&st_msg_gyro_trouble_info);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&st_msg_gyro_trouble_info),
- sizeof(SENSORMOTION_MSG_GYROTROUBLEINFO_DAT),
- uc_result);
-#if VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "#[DIAG] GyroTrouble Delivery");
-#endif /* VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG */
- }
- return uc_result;
-}
-// LCOV_EXCL_STOP
-
-void VehicleSensDeliveryAntenna(DID ul_did, u_int8 uc_current_get_method, int32 pno_index, const VEHICLESENS_DELIVERY_PNO_TBL *pst_pno_tbl) { // LCOV_EXCL_START 8 : dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- VEHICLESENS_DATA_MASTER_GPS_ANTENNA_STATUS gps_antenna_status;
- VEHICLESENS_DELIVERY_FORMAT delivery_data;
- u_int16 length;
-
- VehicleSensGetDataMasterGpsAntennaStatus(ul_did, uc_current_get_method, &gps_antenna_status);
-
- delivery_data.header.did = gps_antenna_status.ul_did;
- delivery_data.header.size = gps_antenna_status.us_size;
- delivery_data.header.rcv_flag = gps_antenna_status.uc_rcvflag;
- delivery_data.header.sensor_cnt = gps_antenna_status.uc_sensor_cnt;
- (void)memcpy(reinterpret_cast<void *>(&delivery_data.data[0]),
- reinterpret_cast<void *>(&gps_antenna_status.uc_data),
- (size_t)delivery_data.header.size);
-
- length = static_cast<u_int16>(static_cast<u_int32>(sizeof(delivery_data.header)) + delivery_data.header.size);
-
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- (void)VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- length,
- (const void *)&delivery_data);
-}
-// LCOV_EXCL_STOP
-
-u_int8 VehicleSensDeliveryOther(DID ul_did, u_int8 uc_current_get_method, int32 pno_index,
- u_int32* cid, // NOLINT(readability/nolint)
- VEHICLESENS_DATA_MASTER* stmaster, // NOLINT(readability/nolint)
- const VEHICLESENS_DELIVERY_PNO_TBL *pst_pno_tbl) {
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = SENSLOG_RES_SUCCESS; /* Send/Receive result */
-/* Determine CID */
- if (ul_did == VEHICLE_DID_LOCATION_LONLAT_NAVI) {
- *cid = CID_POSIF_REGISTER_LISTENER_LONLAT;
- } else if (ul_did == VEHICLE_DID_LOCATION_ALTITUDE_NAVI) { // LCOV_EXCL_BR_LINE 6:VEHICLE_DID_LOCATION_ALTITUDE_NAVI no API to pass in // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *cid = CID_POSIF_REGISTER_LISTENER_ALTITUDE; // LCOV_EXCL_LINE 8: dead code
- } else if ((ul_did == VEHICLE_DID_MOTION_SPEED_NAVI) ||
- (ul_did == VEHICLE_DID_MOTION_SPEED_INTERNAL)) {
- *cid = CID_VEHICLE_SENSORMOTION_SPEED;
- } else if (ul_did == VEHICLE_DID_MOTION_HEADING_NAVI) {
- *cid = CID_POSIF_REGISTER_LISTENER_HEADING;
- } else if (ul_did == VEHICLE_DID_SETTINGTIME) {
- *cid = CID_POSIF_REGISTER_LISTENER_GPS_TIME_SET_REQ;
- } else { // LCOV_EXCL_BR_LINE 6: cannot be this one
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *cid = 0xFFFF; /* DID error */ // LCOV_EXCL_LINE 8: dead code
- }
-
- /* Send vehicle sensor information notification */
- if (*cid == 0xFFFF) { // LCOV_EXCL_BR_LINE 6: cannot be this one
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Error log */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Unknown DID [%d]", ul_did);
- } else {
- /* Acquire the applicable data information from the data master..*/
- (void)memset(reinterpret_cast<void *>(stmaster), 0x00, sizeof(VEHICLESENS_DATA_MASTER));
- VehicleSensGetDataMaster(ul_did, uc_current_get_method, stmaster);
-
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- static_cast<CID>(*cid),
- (u_int16)(stmaster->us_size),
- (const void *)&(stmaster->uc_data[0]));
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_UNSPECIFIED,
- ul_did,
- pst_pno_tbl->st_pno_data[pno_index].us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster->uc_data[0])),
- stmaster->us_size,
- uc_result);
- }
-
- return uc_result;
-}
-
-void VehicleSensDeliveryProc(DID ul_did, u_int8 uc_chg_type, u_int8 uc_get_method) {
- VEHICLESENS_DATA_MASTER stmaster; /* Data master of normal data */
- const VEHICLESENS_DELIVERY_PNO_TBL *pst_pno_tbl; /* Vehicle Sensor Destination PNO Table Pointer */
- SENSOR_PKG_MSG_VSINFO st_pkg_master; /* Data master for package delivery */
- uint32_t cid;
- uint8_t uc_result = SENSLOG_RES_SUCCESS; /* Send/Receive result */
-
- /* Obtain the data acquisition method from the Vehicle Selection Item List */
- uint8_t uc_current_get_method = VehicleSensGetSelectionItemList(ul_did);
-
- if (uc_current_get_method == uc_get_method) {
- /* When the data acquisition methods match (= delivery target) */
-
- /* Obtain the shipping destination PNO */
- pst_pno_tbl = (const VEHICLESENS_DELIVERY_PNO_TBL *) VehicleSensMakeDeliveryPnoTbl(ul_did, uc_chg_type);
-
- if ((pst_pno_tbl->us_dnum) > 0) {
- /* When there is a shipping destination PNO registration */
- /* For boundary adjustment */
- uint16_t us_boundary_adj = (u_int16) VEHICLESENS_BIT1 | (u_int16) VEHICLESENS_BIT0; /* #012 */
- /* Vehicle sensor information notification transmission process */
- for (uint32_t i = 0; i < (pst_pno_tbl->us_dnum); i++) {
- if (VEHICLESENS_DELIVERY_METHOD_PACKAGE == pst_pno_tbl->st_pno_data[i].uc_method) {
- /* When the delivery method is the package method */
- (void) memset(reinterpret_cast<void *>(&st_pkg_master), 0, sizeof(SENSOR_PKG_MSG_VSINFO));
-
- uint16_t us_index = pst_pno_tbl->st_pno_data[i].us_pkg_start_idx;
- uint8_t uc_data_cnt = 0U;
- uint16_t us_offset = 0U;
- for (uint32_t j = 0; j < SENSOR_PKG_DELIVERY_MAX; j++) {
- DID ul_pkg_did = g_stpkgdelivery_tbl_mng.st_pkg_data[us_index].ul_did; /* Get DID */
- st_pkg_master.usOffset[uc_data_cnt] = us_offset; /* Offset setting */
- uc_current_get_method = VehicleSensGetSelectionItemList(ul_pkg_did); /* Data collection way */
- if (VEHICLESENS_GETMETHOD_GPS == uc_current_get_method) {
- VehicleSensGetGpsDataMaster(ul_pkg_did, uc_current_get_method,
- reinterpret_cast<SENSOR_MSG_GPSDATA_DAT *>(&st_pkg_master.ucData[us_offset]));
- }
- else {
- VehicleSensGetDataMaster(ul_pkg_did, uc_current_get_method,
- reinterpret_cast<VEHICLESENS_DATA_MASTER *>(&st_pkg_master.ucData[us_offset]));
- }
- uc_data_cnt++; /* Data count increment */
- if ((us_index == pst_pno_tbl->st_pno_data[i].us_pkg_end_idx)
- || (VEHICLESENS_LINK_INDEX_END == g_stpkgdelivery_tbl_mng.st_pkg_data[us_index].usdlvry_idx)) {
- st_pkg_master.ucDNum = uc_data_cnt; /* To save the number of data */
- break;
- }
- else {
- /* By creating the following processing contents,Need to obtain an offset value */
- uint16_t us_next_offset = VehicleSensGetDataMasterOffset(ul_pkg_did); /* Next offset calculation */
- /* Boundary adjustment of data size */
- if ((us_next_offset & us_boundary_adj) != 0) {
- /* If you need to adjust */
- /* Mask Lower Bit */
- us_next_offset = static_cast<u_int16>(us_next_offset & ~us_boundary_adj);
- /* Add numbers */
- us_next_offset = static_cast<u_int16>(us_next_offset + (u_int16) VEHICLESENS_BIT2);
- }
- us_offset = static_cast<u_int16>(us_offset + us_next_offset);
- /* Get next index */
- us_index = g_stpkgdelivery_tbl_mng.st_pkg_data[us_index].usdlvry_idx;
- }
- }
- RET_API ret = PosSndMsg(PNO_VEHICLE_SENSOR, pst_pno_tbl->st_pno_data[i].us_pno,
- CID_SENSOR_PKG_INFO, (u_int16) sizeof(SENSOR_PKG_MSG_VSINFO), (const void *) &st_pkg_master);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS_PKG, 0, pst_pno_tbl->st_pno_data[i].us_pno,
- reinterpret_cast<uint8_t *>(&st_pkg_master), sizeof(SENSOR_PKG_MSG_VSINFO), uc_result);
- }
- else {
- /* When the delivery system is normal */
- /* Acquire the applicable data information from the data master..*/
- if (VEHICLESENS_GETMETHOD_GPS == uc_current_get_method) {
- uc_result = VehicleSensDeliveryGPS(ul_did, uc_get_method, uc_current_get_method, i, &cid, &stmaster,
- pst_pno_tbl);
- }
- else if ((VEHICLESENS_GETMETHOD_NAVI == uc_get_method) || // NOLINT(readability/braces)
- (VEHICLESENS_GETMETHOD_OTHER == uc_get_method) || (VEHICLESENS_GETMETHOD_INTERNAL == uc_get_method)) {
- uc_result = VehicleSensDeliveryOther(ul_did, uc_current_get_method, i, &cid, &stmaster, pst_pno_tbl);
- }
-
-#if CONFIG_SENSOR_EXT_VALID /* Initial Sensor Support */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- else if ((ul_did == POSHAL_DID_GYRO_X_FST) || // NOLINT(readability/braces)
- (ul_did == POSHAL_DID_GYRO_Y_FST) || // NOLINT(readability/braces)
- (ul_did == POSHAL_DID_GYRO_Z_FST) || // NOLINT(readability/braces)
- (ul_did == POSHAL_DID_REV_FST) ||
- (ul_did == POSHAL_DID_GYRO_TEMP_FST) ||
- (ul_did == POSHAL_DID_GSNS_X_FST) ||
- (ul_did == POSHAL_DID_GSNS_Y_FST) ||
- (ul_did == POSHAL_DID_GSNS_Z_FST) ||
- (ul_did == POSHAL_DID_SPEED_PULSE_FST)) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Acquire the applicable data information from the data master for the initial sensor..*/
- uc_result = VehicleSensDeliveryFst(ul_did, uc_get_method, i, pst_pno_tbl);
- }
-#endif
- else if (ul_did == VEHICLE_DID_GYRO_TROUBLE) { // LCOV_EXCL_BR_LINE 6:DID is not used
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- uc_result = VehicleSensDeliveryGyro(ul_did, uc_current_get_method, i, pst_pno_tbl); // LCOV_EXCL_LINE 8: dead code // NOLINT(whitespace/line_length)
- }
- else { // NOLINT(readability/braces)
- (void) memset(reinterpret_cast<void *>(&stmaster), 0x00, sizeof(stmaster));
- VehicleSensGetDataMaster(ul_did, uc_current_get_method, &stmaster);
-
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- RET_API ret = VehicleSndMsg(PNO_VEHICLE_SENSOR, pst_pno_tbl->st_pno_data[i].us_pno,
- CID_VEHICLESENS_VEHICLE_INFO, (u_int16) sizeof(VEHICLESENS_DATA_MASTER), (const void *) &stmaster);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, pst_pno_tbl->st_pno_data[i].us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster.uc_data[0])), stmaster.us_size, uc_result);
- }
- }
- }
- }
- }
-}
-
-u_int8 VehicleSensFirstDeliverySens(PNO us_pno, DID ul_did, u_int8 uc_get_method,
- VEHICLESENS_DATA_MASTER_FST* stmaster_fst,
- VEHICLESENS_DATA_MASTER_FST* stmaster_fst_temp) {
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = SENSLOG_RES_SUCCESS; /* Send/Receive result */
- /* Acquire the applicable data information from the data master for the initial sensor..*/
- (void)memset(reinterpret_cast<void *>(stmaster_fst), 0, sizeof(VEHICLESENS_DATA_MASTER_FST));
- (void)memset(reinterpret_cast<void *>(stmaster_fst_temp), 0, sizeof(VEHICLESENS_DATA_MASTER_FST));
- VehicleSensGetDataMasterFst(ul_did, uc_get_method, stmaster_fst);
-
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__,
- "[LOG:POSHAL_DID_GYRO_FST,POSHAL_DID_SPEED_PULSE_FST]");
-
- if (stmaster_fst->partition_flg == 1) {
- /* When the partitioning flag is enabled,Or exceeds the size that can be sent,Perform split transmission */
- memcpy(stmaster_fst_temp, stmaster_fst, sizeof(VEHICLESENS_DATA_MASTER_FST));
- if ((ul_did == POSHAL_DID_GYRO_X_FST) || /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- (ul_did == POSHAL_DID_GYRO_Y_FST) ||
- (ul_did == POSHAL_DID_GYRO_Z_FST) ||
- (ul_did == POSHAL_DID_GSNS_X_FST) ||
- (ul_did == POSHAL_DID_GSNS_Y_FST) ||
- (ul_did == POSHAL_DID_GSNS_Z_FST)) {
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__,
- "[CALL:VehicleSndMsg:INPOSHAL_DID_GYRO_FST Partition]");
-
- /* 1st session */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- /* Size of data that can be transmitted in one division(Same size definition used) */
- stmaster_fst_temp->us_size = LSDRV_FSTSNS_DSIZE_GYRO_X;
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(stmaster_fst_temp->us_size + 8),
- (const void *)stmaster_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS,
- ul_did,
- us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster_fst_temp->uc_data[0])),
- stmaster_fst_temp->us_size,
- uc_result);
-
- /* Second time */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- (void)memset(reinterpret_cast<void *>(&stmaster_fst_temp->uc_data[0]),
- 0,
- sizeof(u_int8) * VEHICLE_DSIZE_DATA_MASTER_FST);
- /* Size of the data - Transmission size(Same size definition used) Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stmaster_fst_temp->us_size = static_cast<u_int16>(stmaster_fst->us_size - LSDRV_FSTSNS_DSIZE_GYRO_X);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- memcpy(&stmaster_fst_temp->uc_data[0],
- &stmaster_fst->uc_data[LSDRV_FSTSNS_DSIZE_GYRO_X],
- stmaster_fst_temp->us_size);
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(stmaster_fst_temp->us_size + 8),
- (const void *)stmaster_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster_fst_temp->uc_data[0])),
- stmaster_fst_temp->us_size, uc_result);
- } else if (ul_did == POSHAL_DID_REV_FST) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__,
- "[CALL:VehicleSndMsg:INPOSHAL_DID_REV_FST Partition]");
-
- /* 1st session */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- stmaster_fst_temp->us_size = LSDRV_FSTSNS_DSIZE_REV; /* Size of data that can be transmitted in one division */
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(stmaster_fst_temp->us_size + 8),
- (const void *)stmaster_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster_fst_temp->uc_data[0])),
- stmaster_fst_temp->us_size, uc_result);
-
- /* Second time */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- (void)memset(reinterpret_cast<void *>(&stmaster_fst_temp->uc_data[0]),
- 0,
- sizeof(u_int8) * VEHICLE_DSIZE_DATA_MASTER_FST);
- /* Size of the data - Transmission size Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stmaster_fst_temp->us_size = static_cast<u_int16>(stmaster_fst->us_size - LSDRV_FSTSNS_DSIZE_REV);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- memcpy(&stmaster_fst_temp->uc_data[0],
- &stmaster_fst->uc_data[LSDRV_FSTSNS_DSIZE_REV],
- stmaster_fst_temp->us_size);
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(stmaster_fst_temp->us_size + 8),
- (const void *)stmaster_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster_fst_temp->uc_data[0])),
- stmaster_fst_temp->us_size, uc_result);
- } else {
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__,
- "[CALL:Vehicle_SndMsg:POSHAL_DID_SPEED_PULSE_FST Partition]");
-
- /* 1st session */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- /* Size of data that can be transmitted in one division(Same size definition used) */
- stmaster_fst_temp->us_size = LSDRV_FSTSNS_DSIZE_GYRO_TEMP;
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(stmaster_fst_temp->us_size + 8),
- (const void *)stmaster_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster_fst_temp->uc_data[0])),
- stmaster_fst_temp->us_size, uc_result);
-
- /* Second time */
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- (void)memset(reinterpret_cast<void *>(&stmaster_fst_temp->uc_data[0]),
- 0,
- sizeof(u_int8) * VEHICLE_DSIZE_DATA_MASTER_FST);
- /* Size of the data - Transmission size(Same size definition used) Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stmaster_fst_temp->us_size = static_cast<u_int16>(stmaster_fst->us_size - LSDRV_FSTSNS_DSIZE_GYRO_TEMP);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- memcpy(&stmaster_fst_temp->uc_data[0],
- &stmaster_fst->uc_data[LSDRV_FSTSNS_DSIZE_GYRO_TEMP],
- stmaster_fst_temp->us_size);
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(stmaster_fst_temp->us_size + 8),
- (const void *)stmaster_fst_temp);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster_fst_temp->uc_data[0])),
- stmaster_fst_temp->us_size, uc_result);
- }
- } else {
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "[CALL:VehicleSndMsg]");
-
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- /* Data size + data information Ignore->MISRA-C++:2008 Rule 5-0-5 */
- static_cast<u_int16>(stmaster_fst->us_size + 8),
- (const void *)stmaster_fst);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster_fst->uc_data[0])),
- stmaster_fst->us_size, uc_result);
- }
-
- return uc_result;
-}
-
-u_int8 VehicleSensFirstDeliveryOther(PNO us_pno, DID ul_did, u_int8 uc_get_method,
- u_int32* cid,
- VEHICLESENS_DATA_MASTER* stmaster) {
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = SENSLOG_RES_SUCCESS; /* Send/Receive result */
- /* Determine CID */
- if (ul_did == VEHICLE_DID_LOCATION_LONLAT_NAVI) {
- *cid = CID_POSIF_REGISTER_LISTENER_LONLAT;
- } else if (ul_did == VEHICLE_DID_LOCATION_ALTITUDE_NAVI) { // LCOV_EXCL_BR_LINE 6:VEHICLE_DID_LOCATION_ALTITUDE_NAVI no API to pass in // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *cid = CID_POSIF_REGISTER_LISTENER_ALTITUDE; // LCOV_EXCL_LINE 8: dead code
- } else if ((ul_did == VEHICLE_DID_MOTION_SPEED_NAVI) ||
- (ul_did == VEHICLE_DID_MOTION_SPEED_INTERNAL)) {
- *cid = CID_VEHICLE_SENSORMOTION_SPEED;
- } else if (ul_did == VEHICLE_DID_MOTION_HEADING_NAVI) {
- *cid = CID_POSIF_REGISTER_LISTENER_HEADING;
- } else if (ul_did == VEHICLE_DID_SETTINGTIME) {
- *cid = CID_POSIF_REGISTER_LISTENER_GPS_TIME_SET_REQ;
- } else { // LCOV_EXCL_BR_LINE 6: cannot be this one
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *cid = 0xFFFF; /* DID error */ // LCOV_EXCL_LINE 8: dead code
- }
-
- /* Vehicle sensor information notification transmission */
- if (*cid == 0xFFFF) { // LCOV_EXCL_BR_LINE 6: cannot be this one
- /* Error log */
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Unknown DID [%d]", ul_did); // LCOV_EXCL_LINE 8: dead code // NOLINT(whitespace/line_length)
- } else {
- /* Acquire the applicable data information from the data master..*/
- (void)memset(reinterpret_cast<void *>(stmaster), 0x00, sizeof(VEHICLESENS_DATA_MASTER));
- VehicleSensGetDataMaster(ul_did, uc_get_method, stmaster);
-
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- static_cast<CID>(*cid),
- (u_int16)stmaster->us_size,
- (const void *)&(stmaster->uc_data[0]));
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_UNSPECIFIED,
- ul_did,
- us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster->uc_data[0])),
- stmaster->us_size,
- uc_result);
- }
-
- return uc_result;
-}
-/*******************************************************************************
-* MODULE : VehicleSensFirstDelivery
-* ABSTRACT : Vehicle Sensor Initial Data Delivery Process
-* FUNCTION : Deliver the initial data to the destination.
-* ARGUMENT : us_pno :Addresses for delivery NO
-* ul_did :Data ID
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensFirstDelivery(PNO us_pno, DID ul_did) {
- u_int8 uc_get_method;
- VEHICLESENS_DATA_MASTER stmaster;
-#if CONFIG_SENSOR_EXT_VALID /* Initial Sensor Support */
- VEHICLESENS_DATA_MASTER_FST stMasterFst; /* Master of initial sensor data */
- VEHICLESENS_DATA_MASTER_FST stMasterFst_temp; /* For temporary storage */
- u_int32 cid;
- SENSORLOCATION_MSG_LONLATINFO *pLonLatMsg;
- SENSORLOCATION_MSG_ALTITUDEINFO *pAltitudeMsg;
- SENSORMOTION_MSG_HEADINGINFO *pHeadingMsg;
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = SENSLOG_RES_SUCCESS; /* Send/Receive result */
-#endif
-
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+ [ul_did = 0x%x us_pno:0x%x]", ul_did, us_pno);
-
- /* Obtain the data acquisition method.*/
- uc_get_method = VehicleSensGetSelectionItemList(ul_did);
-
- if (VEHICLESENS_GETMETHOD_GPS == uc_get_method) {
- SENSOR_MSG_GPSDATA_DAT gps_master;
- VEHICLESENS_DELIVERY_FORMAT delivery_data;
- u_int16 length;
- u_int16 senslog_len;
-
- VehicleSensGetGpsDataMaster(ul_did, uc_get_method, &gps_master);
-
- if (ul_did == POSHAL_DID_GPS_TIME) {
- /* GPS time,Because there is no header in the message to be delivered,Padding deliveryData headers */
- (void)memcpy(reinterpret_cast<void*>(&delivery_data),
- reinterpret_cast<void*>(&gps_master.uc_data[0]), gps_master.us_size);
- length = gps_master.us_size;
- senslog_len = length;
- cid = CID_VEHICLESENS_VEHICLE_INFO_GPS_TIME;
- } else if (ul_did == VEHICLE_DID_LOCATION_LONLAT) {
- pLonLatMsg = reinterpret_cast<SENSORLOCATION_MSG_LONLATINFO*>(&delivery_data);
- /* Acquire the applicable data information from the data master..*/
- VehicleSensGetDataMaster(ul_did, uc_get_method, &stmaster);
- (void)memcpy(reinterpret_cast<void*>(&(pLonLatMsg->data)),
- reinterpret_cast<void*>(&(stmaster.uc_data[0])), stmaster.us_size);
- length = (u_int16)stmaster.us_size;
- senslog_len = length;
- cid = CID_POSIF_REGISTER_LISTENER_LONLAT;
- } else if (ul_did == VEHICLE_DID_LOCATION_ALTITUDE) {
- pAltitudeMsg = reinterpret_cast<SENSORLOCATION_MSG_ALTITUDEINFO*>(&delivery_data);
- /* Acquire the applicable data information from the data master..*/
- VehicleSensGetDataMaster(ul_did, uc_get_method, &stmaster);
- (void)memcpy(reinterpret_cast<void*>(&(pAltitudeMsg->data)),
- reinterpret_cast<void*>(&stmaster.uc_data[0]), stmaster.us_size);
- length = (u_int16)stmaster.us_size;
- senslog_len = length;
- cid = CID_POSIF_REGISTER_LISTENER_ALTITUDE;
- } else if (ul_did == VEHICLE_DID_MOTION_HEADING) {
- pHeadingMsg = reinterpret_cast<SENSORMOTION_MSG_HEADINGINFO*>(&delivery_data);
- /* Acquire the applicable data information from the data master..*/
- VehicleSensGetDataMaster(ul_did, uc_get_method, &stmaster);
- (void)memcpy(reinterpret_cast<void*>(&(pHeadingMsg->data)),
- reinterpret_cast<void*>(&stmaster.uc_data[0]), stmaster.us_size);
- length = (u_int16)stmaster.us_size;
- senslog_len = length;
- cid = CID_POSIF_REGISTER_LISTENER_HEADING;
- } else {
-
- delivery_data.header.did = gps_master.ul_did;
- delivery_data.header.size = gps_master.us_size;
- delivery_data.header.rcv_flag = gps_master.uc_rcv_flag;
- delivery_data.header.sensor_cnt = gps_master.uc_sns_cnt;
- (void)memcpy(reinterpret_cast<void *>(&delivery_data.data[0]),
- reinterpret_cast<void *>(&gps_master.uc_data[0]),
- (size_t)delivery_data.header.size);
-
- length = static_cast<u_int16>((u_int16)sizeof(delivery_data.header) + delivery_data.header.size);
- senslog_len = delivery_data.header.size;
- cid = CID_VEHICLESENS_VEHICLE_INFO;
- }
-
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- static_cast<CID>(cid),
- length,
- (const void *)&delivery_data);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- if (cid != CID_VEHICLESENS_VEHICLE_INFO) {
- SensLogWriteOutputData(SENSLOG_DATA_O_UNSPECIFIED, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&delivery_data), senslog_len, uc_result);
- } else {
- SensLogWriteOutputData(SENSLOG_DATA_O_UNSPECIFIED, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&(delivery_data.data[0])), senslog_len, uc_result);
- }
- }
- else if ((VEHICLESENS_GETMETHOD_NAVI == uc_get_method) || // NOLINT(readability/braces)
- (VEHICLESENS_GETMETHOD_OTHER == uc_get_method) ||
- (VEHICLESENS_GETMETHOD_INTERNAL == uc_get_method)) {
- uc_result = VehicleSensFirstDeliveryOther(us_pno, ul_did, uc_get_method, &cid, &stmaster);
- }
-#if CONFIG_SENSOR_EXT_VALID /* Initial Sensor Support */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- else if ((ul_did == POSHAL_DID_GYRO_X_FST) || // NOLINT(readability/braces)
- (ul_did == POSHAL_DID_GYRO_Y_FST) || // NOLINT(readability/braces)
- (ul_did == POSHAL_DID_GYRO_Z_FST) || // NOLINT(readability/braces)
- (ul_did == POSHAL_DID_REV_FST) ||
- (ul_did == POSHAL_DID_GYRO_TEMP_FST) ||
- (ul_did == POSHAL_DID_GSNS_X_FST) ||
- (ul_did == POSHAL_DID_GSNS_Y_FST) ||
- (ul_did == POSHAL_DID_GSNS_Z_FST) ||
- (ul_did == POSHAL_DID_SPEED_PULSE_FST)) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Acquire the applicable data information from the data master for the initial sensor..*/
- uc_result = VehicleSensFirstDeliverySens(us_pno, ul_did, uc_get_method, &stMasterFst, &stMasterFst_temp);
- }
-#endif
- else if (ul_did == VEHICLE_DID_GYRO_TROUBLE) { // LCOV_EXCL_BR_LINE 8 : DID in not used
- // LCOV_EXCL_START 8: DID is not used
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- VEHICLESENS_DATA_MASTER_GYRO_TROUBLE st_master_gyro_trouble;
- SENSORMOTION_MSG_GYROTROUBLEINFO_DAT st_msg_gyro_trouble_info;
-
- /* Initialization */
- st_master_gyro_trouble.uc_reserve = 0;
- st_msg_gyro_trouble_info.reserve = 0;
-
- VehicleSensGetDataMasterGyroTrouble(ul_did, uc_get_method, &st_master_gyro_trouble);
-
- /* Size storage(GYROTROUBLE) */
- st_msg_gyro_trouble_info.size = st_master_gyro_trouble.us_size;
-
- /* Set the GyroTrouble */
- (void)memcpy(reinterpret_cast<void *>(&(st_msg_gyro_trouble_info.gyro_trouble)),
- reinterpret_cast<void *>(&(st_master_gyro_trouble.uc_data)),
- sizeof(st_msg_gyro_trouble_info.gyro_trouble));
-
-#if VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "#[DIAG] ul_did = VEHICLE_DID_GYRO_TROUBLE");
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "#[DIAG] st_msg_gyro_trouble_info.size = %d",
- st_msg_gyro_trouble_info.size);
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "#[DIAG] st_msg_gyro_trouble_info.gyro_trouble = 0x%08X \r\n",
- st_msg_gyro_trouble_info.gyro_trouble);
-#endif /* VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG */
- /* Since the undefined state is not a device specification,Do not deliver to the app for the first time */
- if (st_msg_gyro_trouble_info.gyro_trouble != GYRO_UNFIXED) {
-
- /* Send GyroTrouble to API-caller */
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLE_SENSORMOTION_GYROTROUBLE,
- sizeof(SENSORMOTION_MSG_GYROTROUBLEINFO_DAT),
- (const void *)&st_msg_gyro_trouble_info);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&st_msg_gyro_trouble_info),
- sizeof(SENSORMOTION_MSG_GYROTROUBLEINFO_DAT),
- uc_result);
-#if VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "#[DIAG] GyroTrouble FirstDelivery");
-#endif /* VEHICLE_SENS_DELIVERY_CTRL_DEBUG_DIAG */
- }
- // LCOV_EXCL_STOP
- }
- else { // NOLINT(readability/braces)
- (void)memset(reinterpret_cast<void *>(&stmaster), 0x00, sizeof(stmaster));
- /* Acquire the applicable data information from the data master..*/
- VehicleSensGetDataMaster(ul_did, uc_get_method, &stmaster);
-
- /* Call Vehicle Sensor Information Notification Transmission Process.*/
- ret = VehicleSndMsg(PNO_VEHICLE_SENSOR,
- us_pno,
- CID_VEHICLESENS_VEHICLE_INFO,
- (u_int16)sizeof(VEHICLESENS_DATA_MASTER),
- (const void *)&stmaster);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS, ul_did, us_pno,
- reinterpret_cast<uint8_t *>(&(stmaster.uc_data[0])),
- stmaster.us_size, uc_result);
- }
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "-");
-}
-
-/*******************************************************************************
-* MODULE : VehicleSensFirstPkgDelivery
-* ABSTRACT : Vehicle Sensor Initial Package Data Delivery Process
-* FUNCTION : Deliver the initial package data to the destination.
-* ARGUMENT : *pst_data :Data portion pointer of the message buffer
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensFirstPkgDelivery(const SENSOR_MSG_DELIVERY_ENTRY_DAT *pst_data) { // LCOV_EXCL_START 8: dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- u_int8 uc_get_method; /* Data collection way */
- int32 i; /* Generic counters */
- SENSOR_PKG_MSG_VSINFO st_pkg_master; /* Data master for package delivery */
- DID ul_pkg_did; /* DID for package data acquisition */
- u_int16 us_offset = 0; /* For offset calculation */
- u_int16 us_next_offset; /* Next offset value */
- u_int16 us_boundary_adj; /* For boundary adjustment */
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = 0; /* Send/Receive result */
-
- (void)memset(reinterpret_cast<void *>(&st_pkg_master), 0, sizeof(SENSOR_PKG_MSG_VSINFO));
- /* For boundary adjustment */
- us_boundary_adj = (u_int16)VEHICLESENS_BIT1 | (u_int16)VEHICLESENS_BIT0;
- for (i = 0; i < pst_data->pkg_num; i++) {
- ul_pkg_did = pst_data->did[i]; /* Get DID */
- st_pkg_master.usOffset[i] = us_offset; /* Offset setting */
- /* Data collection way */
- uc_get_method = VehicleSensGetSelectionItemList(ul_pkg_did);
- if (VEHICLESENS_GETMETHOD_GPS == uc_get_method) {
- VehicleSensGetGpsDataMaster(ul_pkg_did,
- uc_get_method,
- reinterpret_cast<SENSOR_MSG_GPSDATA_DAT *>(&st_pkg_master.ucData[us_offset]));
- } else {
- VehicleSensGetDataMaster(ul_pkg_did,
- uc_get_method,
- reinterpret_cast<VEHICLESENS_DATA_MASTER *>(&st_pkg_master.ucData[us_offset]));
- }
- /* Next offset calculation */
- /* Boundary adjustment of data size */
- us_next_offset = VehicleSensGetDataMasterOffset(ul_pkg_did);
- if ((us_next_offset & us_boundary_adj) != 0) {
- /* If you need to adjust */
- us_next_offset = static_cast<u_int16>(us_next_offset & ~us_boundary_adj); /* Mask Lower Bit */
- us_next_offset = static_cast<u_int16>(us_next_offset + (u_int16)VEHICLESENS_BIT2); /* Add numbers */
- }
- us_offset = static_cast<u_int16>(us_offset + us_next_offset);
- }
-
- st_pkg_master.ucDNum = pst_data->pkg_num; /* To save the number of data */
- ret = PosSndMsg(PNO_VEHICLE_SENSOR,
- pst_data->pno,
- CID_SENSOR_PKG_INFO,
- (u_int16)sizeof(SENSOR_PKG_MSG_VSINFO),
- (const void *)&st_pkg_master);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS_PKG, 0, pst_data->pno,
- reinterpret_cast<uint8_t *>(&st_pkg_master),
- sizeof(SENSOR_PKG_MSG_VSINFO),
- uc_result);
-}
-// LCOV_EXCL_STOP
-
-/* Ignore->MISRA-C++:2008 Rule 2-7-2 */
-#if CONFIG_SENSOR_EXT_VALID /* Initial Sensor Support */
-/*******************************************************************************
-* MODULE : VehicleSensFirstPkgDeliveryExt
-* ABSTRACT : Vehicle Sensor Initial Expansion Package Data Delivery Process
-* FUNCTION : Deliver the initial expansion package data to the destination.
-* ARGUMENT : *pst_data :Data portion pointer of the message buffer
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensFirstPkgDeliveryExt(const SENSOR_MSG_DELIVERY_ENTRY_DAT *pst_data) {
- u_int8 ucGetMethod; /* Data collection way */
- int32 i; /* Generic counters */
- static SENSOR_PKG_MSG_VSINFO stPkgMaster; /* Data master for package delivery */
- DID ulPkgDid; /* DID for package data acquisition */
- u_int16 usOffset = 0; /* For offset calculation */
- u_int16 usNextOffset; /* Next offset value */
- u_int16 usBoundaryAdj; /* For boundary adjustment */
- static VEHICLESENS_DATA_MASTER_EXT stExtDataTemp[11];/* Extended data master temporary storage area */
- u_int16 usDataCnt[11] = {0}; /* For storing the number of data items */
- u_int8 ucDivideCnt; /* Total number of partitions */
- u_int8 ucDivide100Cnt = 0; /* Total number of 100 partitions */
- u_int8 ucDivideSendCnt; /* Number of divided transmissions */
- u_int16 usDivideSendSize[11] = {0}; /* Split Send Size */
- u_int16 ucDivideSendPoint; /* Split transmission data acquisition position */
- u_int8 ucDataBreak; /* Storage area of all data undelivered flag */
- RET_API ret = RET_NORMAL; /* API return value */
- u_int8 uc_result = 0; /* Send/Receive result */
-
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+");
-
- /* For boundary adjustment */
- usBoundaryAdj = (u_int16)VEHICLESENS_BIT1 | (u_int16)VEHICLESENS_BIT0;
- /* #Polaris_004 START */ /* Ignore->MISRA-C++:2008 Rule 2-7-2 */
- (void)memset(reinterpret_cast<void *>(&stExtDataTemp), 0, sizeof(stExtDataTemp));
- for (i = 0; i < pst_data->pkg_num; i++) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- ulPkgDid = pst_data->did[i]; /* Get DID */
- ucGetMethod = VehicleSensGetSelectionItemList(ulPkgDid); /* Data collection way */
- if (VEHICLESENS_GETMETHOD_GPS < ucGetMethod) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "VEHICLESENS_DELIVERYCTRL: VehicleSensGetSelectionItemList error :%d\r\n", ucGetMethod);
- }
-
- if ((ulPkgDid == POSHAL_DID_GYRO_EXT) ||
- (ulPkgDid == POSHAL_DID_GYRO_X) ||
- (ulPkgDid == POSHAL_DID_GYRO_Y) ||
- (ulPkgDid == POSHAL_DID_GYRO_Z) ||
- (ulPkgDid == POSHAL_DID_GSNS_X) ||
- (ulPkgDid == POSHAL_DID_GSNS_Y) ||
- (ulPkgDid == POSHAL_DID_GSNS_Z) ||
- (ulPkgDid == POSHAL_DID_SPEED_PULSE) ||
- (ulPkgDid == POSHAL_DID_REV) ||
- (ulPkgDid == POSHAL_DID_GYRO_TEMP) ||
- (ulPkgDid == POSHAL_DID_PULSE_TIME) ||
- (ulPkgDid == POSHAL_DID_SNS_COUNTER)) {
- /* Store in the extended data master information buffer */
- VehicleSensGetDataMasterExt(ulPkgDid, ucGetMethod, &stExtDataTemp[i]);
- /* Obtain the number of data items */
- if ((ulPkgDid == POSHAL_DID_SNS_COUNTER) ||
- (ulPkgDid == POSHAL_DID_REV)) {
- usDataCnt[i] = stExtDataTemp[i].us_size; /* 1data 1byte */
- /* Store the transmission size for 10 items */
- usDivideSendSize[i] = 10;
- } else if (ulPkgDid == POSHAL_DID_GYRO_TEMP) {
- usDataCnt[i] = stExtDataTemp[i].us_size / 2; /* 1data 2byte */
- /* Store the transmission size for 10 items */
- usDivideSendSize[i] = 20;
- }
- else if (ulPkgDid == POSHAL_DID_PULSE_TIME) { // NOLINT(readability/braces)
- usDataCnt[i] = stExtDataTemp[i].us_size / 132; /* 1data 132byte */
- /* Store the transmission size for 10 items */
- usDivideSendSize[i] = 1320;
- }
- else { // NOLINT(readability/braces)
- usDataCnt[i] = stExtDataTemp[i].us_size / 2; /* 1data 2byte Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Store the transmission size for 100 items */
- usDivideSendSize[i] = 200;
-
- // divide cnt is 100
- if (((usDataCnt[i] % VEHICLESENS_PKG_EXT_SEND_MAX_10DATA) > 0) || (usDataCnt[i] == 0)) {
- ucDivide100Cnt = static_cast<u_int8>((usDataCnt[i] / VEHICLESENS_PKG_EXT_SEND_MAX_10DATA) + 1);
- } else {
- ucDivide100Cnt = static_cast<u_int8>(usDataCnt[i] / VEHICLESENS_PKG_EXT_SEND_MAX_10DATA);
- }
- }
- }
- }
- /* All-data undelivered flag holding Ignore->MISRA-C ++: 2008 Rule 5-0-5 */
- ucDataBreak = static_cast<u_int8>(gstPkgTempExt.data_break);
-
- /* From the number of data items in the acquired buffer,Calculate the number of transmissions */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- if (((usDataCnt[0] % VEHICLESENS_PKG_EXT_SEND_MAX) > 0) || (usDataCnt[0] == 0)) {
- /* If there is a remainder,,Division result + 1 */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- ucDivideCnt = static_cast<u_int8>((usDataCnt[0] / VEHICLESENS_PKG_EXT_SEND_MAX) + 1);
- } else {
- /* If there is no remainder,,The result of division is the total number of transmissions. */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- ucDivideCnt = static_cast<u_int8>(usDataCnt[0] / VEHICLESENS_PKG_EXT_SEND_MAX);
- }
-
- // if ucDivide100cnt is valid (greater than 0)
- ucDivideCnt = (ucDivide100Cnt > 0) ? ucDivide100Cnt : ucDivideCnt;
-
- ucDivideSendCnt = 0; /* Number of divided transmissions */
- while (ucDivideSendCnt < ucDivideCnt) {
- /* Clear send message buffer */
- (void)memset(reinterpret_cast<void *>(&stPkgMaster), 0, sizeof(SENSOR_PKG_MSG_VSINFO));
- usOffset = 0;
- for (i = 0; i < pst_data->pkg_num; i++) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- ulPkgDid = pst_data->did[i]; /* Get DID */
- stPkgMaster.usOffset[i] = usOffset; /* Offset setting */
- /* copy Data ID of extended data master structure,Size of the data,Receive flag,Reserved */
- memcpy(reinterpret_cast<void *>(&stPkgMaster.ucData[usOffset]),
- reinterpret_cast<void *>(&stExtDataTemp[i]), 11);
- if ((ulPkgDid == POSHAL_DID_SNS_COUNTER) ||
- (ulPkgDid == POSHAL_DID_REV) ||
- (ulPkgDid == POSHAL_DID_PULSE_TIME) ||
- (ulPkgDid == POSHAL_DID_GYRO_TEMP)) {
- if (usDataCnt[i] > VEHICLESENS_PKG_EXT_SEND_MAX) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Calculate the data acquisition position */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- ucDivideSendPoint = static_cast<u_int16>((u_int16)ucDivideSendCnt * usDivideSendSize[i]);
- /* Update the data size*/
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stPkgMaster.ucData[usOffset + 4] = (u_int8)usDivideSendSize[i];
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stPkgMaster.ucData[usOffset + 5] = (u_int8)(usDivideSendSize[i] >> 8);
- /* Create 10 divided transmission data of sensor counters of extended data master structure */
- memcpy(reinterpret_cast<void *>(&stPkgMaster.ucData[usOffset + 8]),
- reinterpret_cast<void *>(&stExtDataTemp[i].uc_data[ucDivideSendPoint]),
- usDivideSendSize[i]); /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Subtract the number of created transmission data */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- usDataCnt[i] = static_cast<u_int16>(usDataCnt[i] - VEHICLESENS_PKG_EXT_SEND_MAX);
- } else {
- /* Calculate the data acquisition position */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- ucDivideSendPoint = static_cast<u_int16>((u_int16)ucDivideSendCnt * usDivideSendSize[i]);
- /* Update the data size*/
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stPkgMaster.ucData[usOffset + 4] = (u_int8)(stExtDataTemp[i].us_size - (u_int16)ucDivideSendPoint);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 Ignore->MISRA-C++:2008 Rule 5-0-21 */
- stPkgMaster.ucData[usOffset + 5] = \
- (u_int8)((stExtDataTemp[i].us_size - (u_int16)ucDivideSendPoint) >> 8);
- /* Create the remaining divided send data of sensor counter of extended data master structure */
- memcpy(reinterpret_cast<void *>(&stPkgMaster.ucData[usOffset + 8]),
- reinterpret_cast<void *>(&stExtDataTemp[i].uc_data[ucDivideSendPoint]),
- stExtDataTemp[i].us_size - ucDivideSendPoint); /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Since all buffers have been created, the number of data is set to 0. */
- usDataCnt[i] = 0;
- }
- } else {
- if (usDataCnt[i] > VEHICLESENS_PKG_EXT_SEND_MAX_10DATA) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Calculate the data acquisition position */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- ucDivideSendPoint = static_cast<u_int16>((u_int16)ucDivideSendCnt * usDivideSendSize[i]);
- /* Update the data size*/
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stPkgMaster.ucData[usOffset + 4] = (u_int8)usDivideSendSize[i];
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stPkgMaster.ucData[usOffset + 5] = (u_int8)(usDivideSendSize[i] >> 8);
- /* Create 100 divided transmission data of vehicle sensor data of extended data master structure */
- memcpy(reinterpret_cast<void *>(&stPkgMaster.ucData[usOffset + 8]),
- reinterpret_cast<void *>(&stExtDataTemp[i].uc_data[ucDivideSendPoint]),
- usDivideSendSize[i]); /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Subtract the number of created transmission data */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- usDataCnt[i] = static_cast<u_int16>(usDataCnt[i] - VEHICLESENS_PKG_EXT_SEND_MAX_10DATA);
- } else {
- /* Calculate the data acquisition position */
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- ucDivideSendPoint = static_cast<u_int16>((u_int16)ucDivideSendCnt * usDivideSendSize[i]);
- /* Update the data size*/
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stPkgMaster.ucData[usOffset + 4] = \
- (u_int8)(stExtDataTemp[i].us_size - (u_int16)ucDivideSendPoint);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 Ignore->MISRA-C++:2008 Rule 5-0-21 */
- stPkgMaster.ucData[usOffset + 5] = \
- (u_int8)((stExtDataTemp[i].us_size - (u_int16)ucDivideSendPoint) >> 8);
- /* Create the remaining divided transmission data of the vehicle sensor data of the extended data master structure. */
- memcpy(reinterpret_cast<void *>(&stPkgMaster.ucData[usOffset + 8]),
- reinterpret_cast<void *>(&stExtDataTemp[i].uc_data[ucDivideSendPoint]),
- stExtDataTemp[i].us_size - ucDivideSendPoint); /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- /* Since all buffers have been created, the number of data is set to 0. */
- usDataCnt[i] = 0;
- }
- }
- /* Next offset calculation */
- /* Boundary adjustment of data size */
- usNextOffset = VehicleSensGetDataMasterExtOffset(ulPkgDid);
- /* Ignore->MISRA-C++:2008 Rule 5-0-5 Ignore->MISRA-C++:2008 Rule 5-0-13, 5-0-14, 5-3-1 */
- if ((usNextOffset & usBoundaryAdj) != 0) {
- /* If you need to adjust */
- /* Mask Lower Bit Ignore->MISRA-C++:2008 Rule 5-0-5 Ignore->MISRA-C++:2008 Rule 5-0-21 */
- usNextOffset = static_cast<u_int16>(usNextOffset & ~usBoundaryAdj);
- usNextOffset = static_cast<u_int16>(usNextOffset + (u_int16)VEHICLESENS_BIT2); /* Add numbers */
- }
- usOffset = static_cast<u_int16>(usOffset + usNextOffset); /* Ignore->MISRA-C++:2008 Rule 5-0-5 */
- }
- stPkgMaster.ucDNum = pst_data->pkg_num; /* To save the number of data */
- stPkgMaster.ucDataBreak = ucDataBreak; /* Set all data undelivered flag */
- stPkgMaster.ucDivideCnt = ucDivideCnt; /* Set total number of partitions */
- /* Division number setting Ignore->MISRA-C++:2008 Rule 5-0-5 */
- stPkgMaster.ucDivideSendCnt = static_cast<uint8_t>(ucDivideSendCnt + 1);
- ret = PosSndMsg(PNO_VEHICLE_SENSOR,
- pst_data->pno,
- CID_SENSOR_PKG_INFO,
- (u_int16)sizeof(SENSOR_PKG_MSG_VSINFO),
- (const void *)&stPkgMaster);
- uc_result = SENSLOG_RES_SUCCESS;
- if (ret != RET_NORMAL) {
- uc_result = SENSLOG_RES_FAIL;
- }
- SensLogWriteOutputData(SENSLOG_DATA_O_SYS_PKG, 0, pst_data->pno,
- reinterpret_cast<uint8_t *>(&stPkgMaster),
- sizeof(SENSOR_PKG_MSG_VSINFO), uc_result);
-
- ucDivideSendCnt++;
-
- /* Package delivery (split) confirmation debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_INIT, __FUNCTION__,
- "### SENS RECV # FST PKG DELIVERY : cnt[%d/7]", ucDivideSendCnt);
- if (7 <= ucDivideSendCnt) {
- FRAMEWORKUNIFIEDLOG(ZONE_INIT, __FUNCTION__,
- "### SENS RECV # FST PKG DELIVERY : last sns_cnt[%d][%d][%d][%d]",
- stPkgMaster.ucData[8], stPkgMaster.ucData[9], stPkgMaster.ucData[10], stPkgMaster.ucData[11]);
- }
- }
- /* Ignore->MISRA-C++:2008 Rule 2-7-2 */
-
- /* Internal debug log output */
- FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "-");
-}
-#endif
-
-/* ++ PastModel002 response DR */
-
-/*******************************************************************************
- * MODULE : VehicleSensEntryDeliveryCtrlDR
- * ABSTRACT : Internal delivery destination management registration function for vehicle sensor DR
- * FUNCTION : Internal distribution destination management table for DR,Update the shipping management table management.
- * ARGUMENT : pst_delivery_entry : Pointer to the delivery registration information
- * NOTE :
- * RETURN : VEHICLE_RET_NORMAL :Successful registration
- ******************************************************************************/
-VEHICLE_RET_API VehicleSensEntryDeliveryCtrlDR(const DEADRECKONING_MSG_DELIVERY_ENTRY *pst_delivery_entry) { // LCOV_EXCL_START 8 : dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 i;
- u_int8 uc_action_type = VEHICLESENS_ACTION_TYPE_ADD;
- int32 uc_did_flag;
- DID ulentry_did = pst_delivery_entry->data.did;
- VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_existing_mng_data = NULL;
- VEHICLE_RET_API ret = VEHICLE_RET_NORMAL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
-
- /* Check if the data ID exists. */
- uc_did_flag = VehicleSensCheckDid(ulentry_did);
- if (uc_did_flag == 0) {
- ret = VEHICLE_RET_ERROR_DID; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- /* Check the number of registered shipments. */
- if ((ret == VEHICLE_RET_NORMAL) &&/* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- (g_stdelivery_ctrl_tbl_dr.us_dnum >= VEHICLESENS_DELIVERY_INFO_MAX)) {
- /* Return the FULL of delivery registrations*/
- ret = VEHICLE_RET_ERROR_BUFFULL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- if (ret == VEHICLE_RET_NORMAL) { /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* By searching for the delivery registration of the relevant DID,Hold the address. */
- for (i = 0; i < g_stdelivery_ctrl_tbl_mng_dr.us_dnum; i++) {
- if (g_stdelivery_ctrl_tbl_mng_dr.st_ctrl_tbl_mng_data[i].ul_did == ulentry_did) {
- uc_action_type = VEHICLESENS_ACTION_TYPE_UPDATE;
- pst_existing_mng_data = &g_stdelivery_ctrl_tbl_mng_dr.st_ctrl_tbl_mng_data[i];
- }
- }
-
- /* Add to the shipping management table.*/
- VehicleSensAddDeliveryCtrlTblDR(pst_delivery_entry);
- /* Processing when updating existing data*/
- if (uc_action_type == VEHICLESENS_ACTION_TYPE_UPDATE) {
- /* Update the shipping management table.*/
- VehicleSensUpdateDeliveryCtrlTblDR(pst_existing_mng_data);
-
- /* Update the shipping destination management table management information.*/
- VehicleSensUpdateDeliveryCtrlTblMngDR(pst_existing_mng_data);
- } else { /* Newly added processing*/
- /* Add to the shipping management table management information.*/
- VehicleSensAddDeliveryCtrlTblMngDR(pst_delivery_entry);
- }
- }
- return ret; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
-* MODULE : VehicleSensMakeDeliveryPnoTblDR
-* ABSTRACT : Vehicle sensor internal delivery destination PNO table creation function for DR
-* FUNCTION : Create an internal delivery destination PNO table for DR
-* ARGUMENT : ul_did Data ID
-* Change_type Delivery Trigger
-* NOTE :
-* RETURN : VEHICLESENS_DELIVERY_PNO_TBL* Pointer to the shipping PNO table
-******************************************************************************/
-VEHICLESENS_DELIVERY_PNO_TBL* VehicleSensMakeDeliveryPnoTblDR(DID ul_did, u_int8 change_type) { // LCOV_EXCL_START 8 : dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 i;
- u_int8 uc_ctrl_tbl_mng_data_list;
- u_int16 us_index = 0;
- u_int16 us_dnum = 0;
-
- /* Get the start index and count of the corresponding data ID. */
- uc_ctrl_tbl_mng_data_list = static_cast<u_int8>(
- (sizeof(g_stdelivery_ctrl_tbl_mng_dr.st_ctrl_tbl_mng_data)) /
- (sizeof(g_stdelivery_ctrl_tbl_mng_dr.st_ctrl_tbl_mng_data[0])));
-
- for (i = 0; i < uc_ctrl_tbl_mng_data_list; i++) {
- /* Stores the information of the corresponding DID.. */
- if (g_stdelivery_ctrl_tbl_mng_dr.st_ctrl_tbl_mng_data[i].ul_did == ul_did) {
- us_index = g_stdelivery_ctrl_tbl_mng_dr.st_ctrl_tbl_mng_data[i].us_start_idx;
- us_dnum = g_stdelivery_ctrl_tbl_mng_dr.st_ctrl_tbl_mng_data[i].usdlvry_entry_num;
- break;
- }
- }
-
- /* Create a PNO list */
- (void)memset(reinterpret_cast<void *>(&g_stdelivery_pno_tbl_dr),
- static_cast<int32>(0),
- (size_t)sizeof(g_stdelivery_pno_tbl_dr));
- if (change_type == VEHICLESENS_CHGTYPE_CHG) {
- /* Processing when delivery timing is changed*/
- for (i = 0; i < us_dnum; i++) {
- /* Functionalization by Increasing Structure Members */
- VehicleSensAddPnoTblDR(us_index);
- us_index = g_stdelivery_ctrl_tbl_dr.st_ctrl_data[us_index].us_link_idx;
- }
- } else {
- /* Processing when delivery timing is update */
- for (i = 0; i < us_dnum; i++) {
- if (VEHICLE_DELIVERY_TIMING_UPDATE == g_stdelivery_ctrl_tbl_dr.st_ctrl_data[us_index].uc_chg_type) {
- /* Functionalization by Increasing Structure Members */
- VehicleSensAddPnoTblDR(us_index);
- }
- us_index = g_stdelivery_ctrl_tbl_dr.st_ctrl_data[us_index].us_link_idx;
- }
- }
-
- return(&g_stdelivery_pno_tbl_dr);
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
-* MODULE : VehicleSensAddPnoTblDR
-* ABSTRACT : Vehicle sensor DR internal delivery destination PNO table addition function
-* FUNCTION : Add to the internal DR shipping destination PNO table.
-* ARGUMENT : us_index : Index of the referenced destination management table
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensAddPnoTblDR(u_int16 us_index) { // LCOV_EXCL_START 8: dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- u_int16 us_pno_tbl_idx;
-
- us_pno_tbl_idx = g_stdelivery_pno_tbl_dr.us_dnum;
- g_stdelivery_pno_tbl_dr.st_pno_data[us_pno_tbl_idx].us_pno = \
- g_stdelivery_ctrl_tbl_dr.st_ctrl_data[us_index].us_pno;
- g_stdelivery_pno_tbl_dr.st_pno_data[us_pno_tbl_idx].us_pkg_start_idx = \
- g_stdelivery_ctrl_tbl_dr.st_ctrl_data[us_index].us_pkg_start_idx;
- g_stdelivery_pno_tbl_dr.st_pno_data[us_pno_tbl_idx].us_pkg_end_idx = \
- g_stdelivery_ctrl_tbl_dr.st_ctrl_data[us_index].us_pkg_end_idx;
- g_stdelivery_pno_tbl_dr.st_pno_data[us_pno_tbl_idx].uc_method = \
- g_stdelivery_ctrl_tbl_dr.st_ctrl_data[us_index].uc_method;
- g_stdelivery_pno_tbl_dr.us_dnum++;
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
-* MODULE : VehicleSensAddDeliveryCtrlTblDR
-* ABSTRACT : Vehicle sensor DR internal delivery destination management table addition function
-* FUNCTION : Add to the DR internal shipping management table.
-* ARGUMENT : *pst_delivery_entry : Pointer to the delivery registration information
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensAddDeliveryCtrlTblDR(const DEADRECKONING_MSG_DELIVERY_ENTRY *pst_delivery_entry) { // LCOV_EXCL_START 8: dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- VEHICLESENS_DELIVERY_CTRL_TBL_DATA *pst_ctrl_data;
-
- pst_ctrl_data = &g_stdelivery_ctrl_tbl_dr.st_ctrl_data[g_stdelivery_ctrl_tbl_dr.us_dnum];
- pst_ctrl_data->ul_did = pst_delivery_entry->data.did;
- pst_ctrl_data->us_pno = pst_delivery_entry->data.pno;
- pst_ctrl_data->uc_chg_type = pst_delivery_entry->data.delivery_timing;
- pst_ctrl_data->uc_ctrl_flg = pst_delivery_entry->data.ctrl_flg;
- pst_ctrl_data->us_link_idx = VEHICLESENS_LINK_INDEX_END;
- pst_ctrl_data->us_pkg_start_idx = VEHICLESENS_LINK_INDEX_END;
- pst_ctrl_data->us_pkg_end_idx = VEHICLESENS_LINK_INDEX_END;
- pst_ctrl_data->uc_method = VEHICLESENS_DELIVERY_METHOD_NORMAL;
- g_stdelivery_ctrl_tbl_dr.us_dnum = static_cast<u_int16>(g_stdelivery_ctrl_tbl_dr.us_dnum + 1);
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
-* MODULE : VehicleSensAddDeliveryCtrlTblMngDR
-* ABSTRACT : Internal delivery destination management table management addition function for vehicle sensor DR
-* FUNCTION : Add to the DR internal shipping management table management.
-* ARGUMENT : *pst_delivery_entry : Pointer to the delivery registration information
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensAddDeliveryCtrlTblMngDR(const DEADRECKONING_MSG_DELIVERY_ENTRY *pst_delivery_entry) { // LCOV_EXCL_START 8: dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_ctrl_mng_data;
-
- pst_ctrl_mng_data = &g_stdelivery_ctrl_tbl_mng_dr.st_ctrl_tbl_mng_data[g_stdelivery_ctrl_tbl_mng_dr.us_dnum];
- pst_ctrl_mng_data->ul_did = pst_delivery_entry->data.did;
- pst_ctrl_mng_data->us_start_idx = static_cast<u_int16>(g_stdelivery_ctrl_tbl_dr.us_dnum - 1);
- pst_ctrl_mng_data->us_end_idx = static_cast<u_int16>(g_stdelivery_ctrl_tbl_dr.us_dnum - 1);
- pst_ctrl_mng_data->usdlvry_entry_num++;
- g_stdelivery_ctrl_tbl_mng_dr.us_dnum++;
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
- * MODULE : VehicleSensUpdateDeliveryCtrlTblMngDR
- * ABSTRACT : Internal delivery destination management table management update function for vehicle sensor DR
- * FUNCTION : Update the internal delivery destination management table management for DR.
- * ARGUMENT : *pst_existing_mng_data : Pointer to the previous data information with the same data ID
- * NOTE :
- * RETURN : void
- ******************************************************************************/
-void VehicleSensUpdateDeliveryCtrlTblMngDR(VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_existing_mng_data) { // LCOV_EXCL_START 8: dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Update only the end index and the number of registered shipping destinations. */
- pst_existing_mng_data->us_end_idx = static_cast<u_int16>(g_stdelivery_ctrl_tbl_dr.us_dnum - 1);
- pst_existing_mng_data->usdlvry_entry_num++;
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
-* MODULE : VehicleSensUpdateDeliveryCtrlTblDR
-* ABSTRACT : Vehicle sensor DR internal delivery destination management table update function
-* FUNCTION : Update the internal distribution destination management table for DR.
-* ARGUMENT : *pst_existing_mng_data : Pointer to the previous data information with the same data ID
-* NOTE :
-* RETURN : void
-******************************************************************************/
-void VehicleSensUpdateDeliveryCtrlTblDR(VEHICLESENS_DELIVERY_CTRL_TBL_MNG_DATA *pst_existing_mng_data) { // LCOV_EXCL_START 8: dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Update Link Index Only.
- For indexes of usEndIdx values matching the data IDs in the target management table
- Making usLinkIdx an Index-Registered Index */
- g_stdelivery_ctrl_tbl_dr.st_ctrl_data[pst_existing_mng_data->us_end_idx].us_link_idx =
- static_cast<u_int16>(g_stdelivery_ctrl_tbl_dr.us_dnum - 1);
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
- * MODULE : VehicleSensDeliveryProcDR
- * ABSTRACT : Internal Data Delivery Process for Vehicle Sensor DR
- * FUNCTION : Deliver data to internal DR destinations.
- * ARGUMENT : ul_did :Data ID
- * uc_chg_type :Delivery timing
- * uc_get_method :Acquisition method
- * NOTE :
- * RETURN : void
- ******************************************************************************/
-void VehicleSensDeliveryProcDR(DID ul_did, u_int8 uc_chg_type, u_int8 uc_get_method) {
- return;
-}
-
-/**
- * @brief
- * Obtain dump info(g_stdelivery_ctrl_tbl)
- *
- * @param[out] pbuf Dump information
- */
-void VehicleSensGetDebugDeliveryCtrlTbl(void* pbuf) { // LCOV_EXCL_START 7: uesd only in FrameworkunifiedOnDebugDump
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufTmp[256];
- u_int16 i;
-
- memset(&buf, 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&(buf)),
- 32,
- "Delivery-Tbl\n DNum:%d", g_stdelivery_ctrl_tbl.us_dnum);
- for (i = 0; i < g_stdelivery_ctrl_tbl.us_dnum; i++) {
- if (i >= 30) {
- break;
- }
- memset(&bufTmp[0], 0x00, sizeof(bufTmp));
- snprintf(reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp),
- "\n [%02d] did:0x%08x, pno:0x%04x, chgT:0x%02x, ctrlFg:0x%02x, "\
- "lnkidx:0x%04x, pkgSidx:0x%04x, pkgEidx:0x%04x, Mth:0x%02x",
- i,
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].ul_did,
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].us_pno,
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].uc_chg_type,
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].uc_ctrl_flg,
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].us_link_idx,
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].us_pkg_start_idx,
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].us_pkg_end_idx,
- g_stdelivery_ctrl_tbl.st_ctrl_data[i].uc_method);
- _pb_strcat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp));
- }
- memcpy(pbuf, &buf[0], sizeof(buf));
- return;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Obtain dump info(g_stdelivery_ctrl_tbl_mng)
- *
- * @param[out] pbuf Dump information
- */
-void VehicleSensGetDebugDeliveryCtrlTblMng(void* pbuf) { // LCOV_EXCL_START 7: uesd only in FrameworkunifiedOnDebugDump
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufTmp[256];
- u_int16 i;
-
- memset(&buf, 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&(buf)),
- 32,
- "Delivery-TblMng\n DNum:%d",
- g_stdelivery_ctrl_tbl_mng.us_dnum);
- for (i = 0; i < g_stdelivery_ctrl_tbl_mng.us_dnum; i++) {
- if (i >= 60) {
- break;
- }
- memset(&bufTmp[0], 0x00, sizeof(bufTmp));
- snprintf(reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp),
- "\n [%02d] did:0x%08x, Sidx:0x%04x, Eidx:0x%04x, EntNum:0x%04x",
- i,
- g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].ul_did,
- g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].us_start_idx,
- g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].us_end_idx,
- g_stdelivery_ctrl_tbl_mng.st_ctrl_tbl_mng_data[i].usdlvry_entry_num);
- _pb_strcat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp));
- }
- memcpy(pbuf, &buf[0], sizeof(buf));
- return;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Obtain dump info(g_stpkgdelivery_tbl_mng)
- *
- * @param[out] pbuf Dump information
- */
-void VehicleSensGetDebugPkgDeliveryTblMng(void* pbuf) { // LCOV_EXCL_START 7: uesd only in FrameworkunifiedOnDebugDump
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufTmp[256];
- u_int16 i;
-
- memset(&buf, 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&(buf)),
- 32,
- "Delivery-PkgTblMng\n DNum:%d",
- g_stpkgdelivery_tbl_mng.us_dnum);
- for (i = 0; i < g_stpkgdelivery_tbl_mng.us_dnum; i++) {
- if (i >= 100) {
- break;
- }
- memset(&bufTmp[0], 0x00, sizeof(bufTmp));
- snprintf(reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp),
- "\n [%02d] did:0x%08x, Didx:0x%04x",
- i,
- g_stpkgdelivery_tbl_mng.st_pkg_data[i].ul_did,
- g_stpkgdelivery_tbl_mng.st_pkg_data[i].usdlvry_idx);
- _pb_strcat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp));
- }
- memcpy(pbuf, &buf[0], sizeof(buf));
- return;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Obtain dump info(g_stdelivery_pno_tbl)
- *
- * @param[out] pbuf Dump information
- */
-void VehicleSensGetDebugDeliveryPnoTbl(void* pbuf) { // LCOV_EXCL_START 7: uesd only in FrameworkunifiedOnDebugDump
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufTmp[256];
- u_int16 i;
-
- memset(&buf, 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&(buf)),
- 32,
- "Delivery-PnoTbl\n DNum:%d",
- g_stdelivery_pno_tbl.us_dnum);
- for (i = 0; i < g_stdelivery_pno_tbl.us_dnum; i++) {
- if (i >= 60) {
- break;
- }
- memset(&bufTmp[0], 0x00, sizeof(bufTmp));
- snprintf(reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp),
- "\n [%02d] pno:0x%04x, pkgSidx:0x%04x, pkgEidx:0x%04x, Mth:0x%02x",
- i,
- g_stdelivery_pno_tbl.st_pno_data[i].us_pno,
- g_stdelivery_pno_tbl.st_pno_data[i].us_pkg_start_idx,
- g_stdelivery_pno_tbl.st_pno_data[i].us_pkg_end_idx,
- g_stdelivery_pno_tbl.st_pno_data[i].uc_method);
- _pb_strcat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp));
- }
- memcpy(pbuf, &buf[0], sizeof(buf));
- return;
-}
-// LCOV_EXCL_STOP
-/* -- PastModel002 support DR */