diff options
Diffstat (limited to 'vehicleservice/positioning/client')
41 files changed, 0 insertions, 10748 deletions
diff --git a/vehicleservice/positioning/client/Makefile b/vehicleservice/positioning/client/Makefile deleted file mode 100755 index d7fce28..0000000 --- a/vehicleservice/positioning/client/Makefile +++ /dev/null @@ -1,31 +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. -# - -######### installed header ######### -VPATH = ./include/$(COMPONENT_NAME) - -INST_HEADERS += POS_define.h -INST_HEADERS += POS_sensor_API.h -INST_HEADERS += POS_gps_API.h -INST_HEADERS += POS_common_API.h -INST_HEADERS += positioning.h - -######### subdirectories ######### -SUBDIRS += src/POS_common_API -SUBDIRS += src/POS_gps_API -SUBDIRS += src/POS_sensor_API - -include ../../vehicle_service.mk diff --git a/vehicleservice/positioning/client/include/CanInput_API.h b/vehicleservice/positioning/client/include/CanInput_API.h deleted file mode 100755 index 1449b25..0000000 --- a/vehicleservice/positioning/client/include/CanInput_API.h +++ /dev/null @@ -1,98 +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 : CanInput_API.h - * System name : PastModel002 - * Sub System name : CanInput_API library - ******************************************************************************/ -#ifndef POSITIONING_CLIENT_INCLUDE_CANINPUT_API_H_ -#define POSITIONING_CLIENT_INCLUDE_CANINPUT_API_H_ - -/************************************************************************ - * Include * - ***********************************************************************/ -#include <vehicle_service/positioning_base_library.h> /* for type definitions */ - -/************************************************************************ -* Definition * -************************************************************************/ -/*----------------------------------------------------------------------* - * CAN_INPUT_RET_API Definition * - *----------------------------------------------------------------------*/ -/* Normal */ -#define CAN_INPUT_RET_NORMAL 0 /* Successful completion */ - -/* Abnormal */ -#define CAN_INPUT_RET_ERROR (-1) /* An error has occurred */ -#define CAN_INPUT_RET_ERROR_PARAM (-2) /* Parameter error */ - -/*----------------------------------------------------------------------* - * Message Definition * - *----------------------------------------------------------------------*/ -/* Command ID */ -#define CANINPUT_CID_LOCALTIME_NOTIFICATION 0x0220 - -/*----------------------------------------------------------------------* - * Localtime status Definition * - *----------------------------------------------------------------------*/ -#define CANINPUT_LOCALTIME_STATUS_INVALID 0U -#define CANINPUT_LOCALTIME_STATUS_INIT 1U -#define CANINPUT_LOCALTIME_STATUS_PLAUSIBLE 2U -#define CANINPUT_LOCALTIME_STATUS_NEW 3U -#define CANINPUT_LOCALTIME_STATUS_DIAG 4U -#define CANINPUT_LOCALTIME_STATUS_INCOMPLETE 5U - -/************************************************************************ -* type Definition * -************************************************************************/ -typedef RET_API CAN_INPUT_RET_API; /* API return value */ - -/************************************************************************ -* struct Definition * -************************************************************************/ -/************************************************************************ - * TAG : CANINPUT_MSG_LOCALTIMEINFO_DAT - * ABSTRACT : Localtime data structure - * NOTE : - ************************************************************************/ -typedef struct { - u_int8 status; /* status : Refer to Localtime status Definition */ - u_int8 year; /* year : 0..99 (FFh:invalid) */ - u_int8 month; /* month : 1..12 (FFh:invalid) */ - u_int8 date; /* date : 1..31 (FFh:invalid) */ - u_int8 hour; /* hour : 0..23 (FFh:invalid) */ - u_int8 minute; /* minute : 0..59 (FFh:invalid) */ - u_int8 second; /* second : 0..59 (FFh:invalid) */ - u_int8 reserve; /* reserve */ -} CANINPUT_MSG_LOCALTIMEINFO_DAT; - -/************************************************************************ - * Function prototypes * - ************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif - -/*[CanInput_API Public API]*/ -CAN_INPUT_RET_API CanInputInitialize(void); -CAN_INPUT_RET_API CanInputSndMsg(PNO pno, CID cid, u_int16 msg_len, const void *msg_data); - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_CANINPUT_API_H_ diff --git a/vehicleservice/positioning/client/include/CanInput_API_private.h b/vehicleservice/positioning/client/include/CanInput_API_private.h deleted file mode 100755 index d7c8e8e..0000000 --- a/vehicleservice/positioning/client/include/CanInput_API_private.h +++ /dev/null @@ -1,68 +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 : CanInput_API_private.h - * System name : PastModel002 - * Sub System name : CanInput_API library - ******************************************************************************/ -#ifndef POSITIONING_CLIENT_INCLUDE_CANINPUT_API_PRIVATE_H_ -#define POSITIONING_CLIENT_INCLUDE_CANINPUT_API_PRIVATE_H_ - -/************************************************************************ - * Include * - ***********************************************************************/ - -/************************************************************************ -* Definition * -************************************************************************/ -/*----------------------------------------------------------------------* - * Message Definition * - *----------------------------------------------------------------------*/ -/* Message body size (byte) */ -#define CANINPUT_MSGBUF_DSIZE 8 /* Maximum message body size */ - -/************************************************************************ -* type Definition * -************************************************************************/ - -/************************************************************************ -* struct Definition * -************************************************************************/ -/***************************************************************************** - * TAG : CANINPUT_MSG_INFO - * ABSTRACT : CanInput_API message structure - * NOTE : Message structure - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - uint8_t data[CANINPUT_MSGBUF_DSIZE]; /* Message data (Localtime) */ -} CANINPUT_MSG_INFO; - -/************************************************************************ - * Function prototypes * - ************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif - -/*[CanInput_API Private API]*/ - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_CANINPUT_API_PRIVATE_H_ diff --git a/vehicleservice/positioning/client/include/Clock_API.h b/vehicleservice/positioning/client/include/Clock_API.h deleted file mode 100755 index 1987999..0000000 --- a/vehicleservice/positioning/client/include/Clock_API.h +++ /dev/null @@ -1,258 +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. - */ - -/******************************************************************************* -* $Header:: $ -* $Revision:: $ -*******************************************************************************/ - -/****************************************************************************** -* File name :Clock_API.h -* System name :_CWORD107__PND-A -* Subsystem name :System common functions header file -* Program name : -* Publishing department -****************************************************************************/ -#ifndef POSITIONING_CLIENT_INCLUDE_CLOCK_API_H_ -#define POSITIONING_CLIENT_INCLUDE_CLOCK_API_H_ - -#include <vehicle_service/positioning_base_library.h> -#include "CommonDefine.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* - Macro definitions -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* For time calculation */ -#define CLOCK_TIMESTAMP_GETTIME(x) ((x) & (0x00FFFFFFU)) /* Macros that Get Time Counter Values */ -#define CLOCK_TIMESTAMP_GETFLAG(x) (((x) & (0xE0000000U)) >> (29U)) /* Macros that Get Your Own Count Values */ -#define CLOCK_TIMESTAMP_NORMAL (0U) /* Normal count */ -#define CLOCK_TIMESTAMP_INDIPENDENT (1U) /* Own count */ - -#define CLOCK_TIMESTAMP_UNION(x, y) (((x) << (29U)) | (y)) /* Macro that combines the unique count value (x) and the time counter value (y) */ - - /* Timestamp Shared Memory Related */ -#define TIMESTAMP_RETRY_COUNTE (10U) /* Number of time stamp retries */ -#define TIMESTAMP_RETRY_INTERVAL (10U) /* Time stamp retry interval(100[msec]) */ - - /* Time Management Shared Memory Related */ -#define CLKMNG_RETRY_COUNTE (10U) /* Time management retries */ -#define CLKMNG_RETRY_INTERVAL (10U) /* Time Management Retry Interval(100[msec]) */ - - /* Day of the week definition */ -#define CLKMNG_SUN (0U) /* Sunday */ -#define CLKMNG_MON (1U) /* Mondays */ -#define CLKMNG_TUE (2U) /* Tuesdays */ -#define CLKMNG_WED (3U) /* Wednesdays */ -#define CLKMNG_THU (4U) /* Thursdays */ -#define CLKMNG_FRI (5U) /* Fridays */ -#define CLKMNG_SAT (6U) - - /* Related to the accuracy of time */ -#define CLOCK_CORRECTED_TIME (0U) /* GPS corrected time completed */ -#define CLOCK_NOT_CORRECTED_TIME (1U) /* GPS uncorrected time */ -#define CLOCK_RTC_TIME (2U) /* GPS RTC time */ -#define CLOCK_INVALID_TIME (3U) /* GPS error time */ - - /* Time Stamp Status Storage Data Module Related Definition */ -#define TIMESTAMPDM_NAME "TIMESTAMP_DATA" /* Name of time stamp status storage data module */ -#define TIMESTAMPDM_SEM_NAME "TIMESTAMP_SEM" /* Timestamp status storage data module semaphore name */ - - /* Time Management Status Storage Data Module Related Definition */ -#define CLKMNG_DM_NAME "CLOCK_GPS_DATA" /* Name of time management status storage data module */ -#define CLKMNG_DM_SEM_NAME "CLOCK_GPS_SEM" /* Time management status storage data module semaphore name */ - - /* Messaging communication */ -#define CLKMNG_MSG_BUF_SIZE (128U) /* Message communication buffer size */ -#define CLKMNG_SETTIME_MSGBODYSIZE (4U) /* Date/Time Setting Response Notification Data Size */ -#define CLKMNG_NOTIOBSERVERS_MSGSZ (4U) /* Time change notification data body size */ -#define CLKMNG_NOTIACCURACY_MSGSZ (4U) /* Change notification data body size from time accuracy */ -#define CLKMNG_NOTIOBSERVERS_ENTRY_MSGSZ (4U) /* Time change notification registration data body size */ -#define CLKMNG_NOTIACCURACY_ENTRY_MSGSZ (0U) /* Change Notification Stored Data Size from Time Accuracy */ - - /* Semaphore Related Extensions */ -#define CLOCK_SEM_RETRY_INTERVAL (10) /* Retry interval for semaphore acquisition/release processing 10ms */ - -/* - Data typing -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* Time-stamped data */ -typedef struct TagTimestampData { - u_int16 trip; /* Trip counters */ - u_int16 reserve; /* Reservation(Always 0) */ - u_int32 time; /* Time counter */ - u_int8 day; /* Number of days */ - u_int8 hour; /* Time */ - u_int8 min; /* Minutes */ - u_int8 sec; /* Second */ -} TimestampData; - -/* TIMESTAMP INTERNAL COUNTER MODULE STRUCTURE DEFINITION */ -typedef struct { - u_int16 trip; /* Trip counters */ - u_int32 time; /* Time counter */ -} TIMESTAMP_CNT; - -/* Time management status storage area */ -typedef struct TagClockStatus { - u_int8 status; /* GPS status */ - u_int8 hour; /* Time of final correction */ - u_int8 min; /* Minutes */ - u_int8 sec; /* Second */ -} ClockStatus; - -/* Status storage area for writing time management shared memory */ -typedef struct TagClkMngTimerSetTime { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - u_int8 reserve1[1]; /* (Not used) */ - u_int8 gps_timer_state; /* GPS time status */ - u_int16 year; /* Year */ - u_int8 month; /* Month */ - u_int8 day; /* Day */ - u_int8 hour; /* Hour */ - u_int8 min; /* Minutes */ - u_int8 sec; /* Second */ - u_int8 reserve2[3]; /* (Not used) */ -} CLKMNG_TIMER_SET_TIME; - -/* Existing sys_timerapi.h data */ - -/* User time status */ -#define TIMEDATA_INVALID 0 /* Time invalid */ -#define TIMEDATA_VALID 1 /* Time valid */ - -/* Time Definition AM/PM */ -#define CLOCK_AM 0 -#define CLOCK_PM 1 -/* Change to Enumeration */ -/* Time notification unit */ -typedef enum TagNotifyUnit { - CLOCK_NOTIFY_SECOND = (1U), /* Second notifications */ - CLOCK_NOTIFY_MINUTE, /* Minute Notification */ - CLOCK_NOTIFY_HOUR /* Hourly notification */ -} NOTIFYUNIT; - -/* Return value definition */ -typedef enum TagClockReturn { - CLOCK_OK, /* Normal completion */ - CLOCK_ERROR, /* ABENDs */ - CLOCK_ERROR_ARGUMENTS /* Invalid argument */ -} CLOCK_RETURN; - -/* Time Type Definition */ -typedef struct TagTimeData { - u_int16 year; /* Year */ - u_int8 month; /* Month */ - u_int8 day; /* Day */ - u_int8 hour; /* Hour */ - u_int8 minute; /* Minutes */ - u_int8 second; /* Second */ -} TimeData; - -/* Offset time type definition */ -typedef struct TagOffsetData { - BOOL sign; /* Operator */ - TimeData time; /* Date and time */ -} OffsetData; - -/* Data Definition for System Time Delivery Registration */ -typedef struct TagSystemTimeRegistData { - NOTIFYUNIT unit; /* Notification unit(Hour,Minutes,One of the seconds) */ -} SYSTEMTIME_REGISTDATA; - -/* Data Definition for Setting User Time */ -typedef struct TagUserTimSetData { - TimeData time; /* Time */ - u_int8 day_of_week; /* Day-of-week */ -} USERTIME_SETDATA; - -/* Data Definition for User Time Delivery Registration */ -typedef struct TagUserTimeRegistData { - NOTIFYUNIT unit; /* Notification unit(Hour,Minutes,One of the seconds) */ -} USERTIME_REGISTDATA; - - -/* - Time Management Thread -> External Message Definition -- - - - - - - - - - - - - - - - - - - - - - */ -/* Message data type */ -typedef struct TagClkMngRecMsg { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - u_int8 data[CLKMNG_MSG_BUF_SIZE]; -} CLKMNG_RCV_MSG; - -/* For time management Time Set Response Message */ -typedef struct TagClkMngRetTimeMsg { /* Time Set Response Message */ - T_APIMSG_MSGBUF_HEADER header; /* Message header */ - int8 result; /* Processing result */ - int8 dummy[3]; -} CLKMNG_RETTIME_MSG; - -/* Change Notification Message from Time for Time Management */ -typedef struct TagClkMngNotiAccuracyMsg { - T_APIMSG_MSGBUF_HEADER header; /* Message header */ - u_int8 gps_status; /* GPS time status(Likelihood) */ - int8 dummy[3]; -} CLKMNG_NOTIACCURACY_MSG; - -/* Time change notification message for time management */ -typedef struct TagClkMngNotiObserversMsg { - T_APIMSG_MSGBUF_HEADER header; /* Message header */ - u_int8 hour; /* Hour */ - u_int8 min; /* Minutes */ - u_int8 sec; /* Second */ - int8 dummy[1]; -} CLKMNG_NOTIOBSERVERS_MSG; - -/* - Time Management API -> Time Management Thread Message Definition -- - - - - - - - - - - - - - - - - - - - - - */ -/* Change Notification Registration Message from the Accuracy of Time for Time Management */ -typedef struct TagClkMngNotAccuracyEntryMsg { - T_APIMSG_MSGBUF_HEADER header; /* Message header */ -} CLKMNG_NOTIACCURACY_ENTRY_MSG; - -/* Time change notification registration message for time management */ -typedef struct TagClkMngNotiObserversEntryMsg { - T_APIMSG_MSGBUF_HEADER header; /* Message header */ - u_int8 notify_time; /* Notification unit (Hour,Minutes,One of the seconds) */ - int8 dummy[3]; -} CLKMNG_NOTIOBSERVERS_ENTRY_MSG; - -/* - API Function Prototype Declaration -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -RET_API ClockInitApi(void); /* API initialization processing */ -RET_API ClockGetLocalTime(RealTimeData *real_time, TimestampData *timestamp); /* Current time reference processing */ -RET_API ClockGetLocalTimeBcd(RealTimeDataBcd *real_time_bcd, TimestampData *timestamp); /* Current time reference processing(BCD) */ -RET_API ClockGetUtcTime(RealTimeData* real_time, TimestampData *timestamp); /* Current UTC time reference processing */ -RET_API ClockCnvDateToSec(const LPSYSTEMTIME sys_time, u_int32* sec); /* Date and time,Total seconds conversion */ -RET_API ClockCnvSecToDate(const u_int32* sec, LPSYSTEMTIME sys_time); /* Total seconds,Date and time conversion */ -RET_API ClockGetAddOpeTime(u_int32 *ope_time); /* Accumulated operating time reference processing */ -RET_API ClockSetSystemTime(PNO snd_pno, const SysTimeData* sys_time, u_int8 gps_status); /* System time setting process */ - -RET_API ClockNotifyObserversClock(PNO snd_pno, u_int8 rsc_id, u_int8 notify_time); /* Fixed period time change notification registration */ -RET_API ClockNotifyObserversAccuracy(PNO snd_pno, u_int8 rsc_id); /* Register change notification based on the time probability */ -RET_API ClockNotifyObserversAdjustClock(PNO snd_pno, u_int8 rsc_id); /* System time setting change notification registration */ - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_CLOCK_API_H_ diff --git a/vehicleservice/positioning/client/include/CommonDefine.h b/vehicleservice/positioning/client/include/CommonDefine.h deleted file mode 100755 index 2e9e3e6..0000000 --- a/vehicleservice/positioning/client/include/CommonDefine.h +++ /dev/null @@ -1,72 +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. - */ -#ifndef POSITIONING_CLIENT_INCLUDE_COMMONDEFINE_H_ -#define POSITIONING_CLIENT_INCLUDE_COMMONDEFINE_H_ - -/** - * @file CommonDefine.h - */ - -/** @addtogroup vehicle_service - * @{ - */ -/** @addtogroup positioning - * @ingroup vehicle_service - * @{ - */ - -/*---------------------------------------------------------------------------------* - * Incluce * - *---------------------------------------------------------------------------------*/ -#include <vehicle_service/POS_sensor_API.h> -#include <vehicle_service/POS_define.h> -#include <vehicle_service/pos_message_header.h> - -/*---------------------------------------------------------------------------------* - * Definition * - *---------------------------------------------------------------------------------*/ -/* Date and Time Status Definition */ -#define NAVIINFO_NAVI_GPS_TD_STS_NOTFIX (0) -//!< \~english time has not been adjusted after GPS receiver reset -#define NAVIINFO_NAVI_GPS_TD_STS_RTCBACKUP (1) // !<\~english time output from RTC Backup(have time adjustment) -#define NAVIINFO_NAVI_GPS_TD_STS_FIX (2) //!< \~english time adjustment completed - -/* Vehicle sensor data information */ -#define POS_SNS_CONNECTION (0x01U) //!< \~english connected -#define POS_SNS_UNCONNECTION (0x00U) //!< \~english not connected -#define POS_SNS_SHORT (0x02U) //!< \~english short -#define POS_SNS_UNSPECIFIED (0x03U) //!< \~english not specified - -/* NMEA Receive Flag(_CWORD82_) */ -#define POS_SNS__CWORD82__DRMC (0x01U) //!< \~english DRMC sentence -#define POS_SNS__CWORD82__GSA (0x02U) //!< \~english GSA sentence -#define POS_SNS__CWORD82__GSV_1 (0x04U) //!< \~english GSV_1 sentence -#define POS_SNS__CWORD82__GSV_2 (0x08U) //!< \~english GSV_2 sentence -#define POS_SNS__CWORD82__GSV_3 (0x10U) //!< \~english GSV_3 sentence -#define POS_SNS__CWORD82__PJRDC_GP_3 (0x20U) //!< \~english PJRDC_GP_3 sentence - -/* NMEA Receive Flag */ -#define POS_SNS_GPS_NMEA_PASCD (0x01000000U) //!< \~english pascd sentence - -typedef u_int16 PNO; //!< \~english PNo. - -/*---------------------------------------------------------------------------------* - * Struct declaration * - *---------------------------------------------------------------------------------*/ - -/** @}*/ // end of positioning -/** @}*/ // end of vehicle_service -#endif // POSITIONING_CLIENT_INCLUDE_COMMONDEFINE_H_ diff --git a/vehicleservice/positioning/client/include/DR_API.h b/vehicleservice/positioning/client/include/DR_API.h deleted file mode 100755 index 6362f8c..0000000 --- a/vehicleservice/positioning/client/include/DR_API.h +++ /dev/null @@ -1,148 +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 DR_API.h -@detail DR_API external header file<BR> - DR_API External public header -******************************************************************************/ -#ifndef POSITIONING_CLIENT_INCLUDE_DR_API_H_ -#define POSITIONING_CLIENT_INCLUDE_DR_API_H_ - -/***************************************************************************** - * Include * - *****************************************************************************/ - -/***************************************************************************** - * Define * - *****************************************************************************/ -/* Command ID */ -#define CID_DR_MAP_MATCHING_DATA (0x0209) -#define CID_DR_CLEAR_BACKUP_DATA (0x020F) - -/* DR_EXT_RET_API definition */ -#define DR_EXT_RET_NORMAL (0) /* Successful completion */ -#define DR_EXT_RET_ERROR (-1) /* Setup failure */ - -/***************************************************************************** - * Typedef * - *****************************************************************************/ -typedef int32 DR_EXT_RET_API; - -/***************************************************************************** - * Enumeration * - *****************************************************************************/ -typedef enum { - NAVI_DATA_STATUS_2D_FIX = 0x00, - NAVI_DATA_STATUS_3D_FIX, - NAVI_DATA_STATUS_DR_COMBINED, - NAVI_DATA_STATUS_DR_ONLY, - NAVI_DATA_STATUS_MAP_2D_GPS_FIX, - NAVI_DATA_STATUS_MAP_3D_GPS_FIX, - NAVI_DATA_STATUS_MAP_DR_COMBINED, - NAVI_DATA_STATUS_MAP_DR_ONLY, - NAVI_DATA_STATUS_MAP_NO_FIX, - NAVI_DATA_STATUS_AWAITING_FIRST_FIX, - NAVI_DATA_STATUS_DATA_INVALID, - NAVI_DATA_STATUS_NO_FIX, - NAVI_DATA_STATUS_TIME_ONLY_FIX -} NAVI_DATA_STATUS; - -typedef enum { - NAVI_DATA_INVALID = 0x00, - NAVI_DATA_VALID -} NAVI_DATA_AVAILABLE; - -/***************************************************************************** - * Struct * - *****************************************************************************/ -/***************************************************************************** - * TAG : POSITION_INFO - * ABSTRACT : Position information structure - * NOTE : - *****************************************************************************/ -typedef struct { - int32 latitude; /* 10^-7deg North : plus, South : minus */ - int32 longitude; /* 10^-7deg East : plus, West : minus */ - NAVI_DATA_AVAILABLE status; /* Status of data */ -} POSITION_INFO; - -/***************************************************************************** - * TAG : RATE_INFO - * ABSTRACT : Rate information structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 rate; /* 10^-2m/sec */ - u_int8 reserve[2]; /* reserve */ - NAVI_DATA_AVAILABLE status; /* Status of data */ -} RATE_INFO; - -/***************************************************************************** - * TAG : ORIENT_INFO - * ABSTRACT : Orient information structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 orient; /* 10^-2deg N : 0, E : 90, S : 180, W : 270 */ - u_int8 reserve[2]; /* reserve */ - NAVI_DATA_AVAILABLE status; /* Status of data */ -} ORIENT_INFO; - -/***************************************************************************** - * TAG : MAP_MATCHING_DATA - * ABSTRACT : Map-Matching information data structure - * NOTE : - *****************************************************************************/ -typedef struct { - POSITION_INFO position_info; /* Position information */ - RATE_INFO rate_info; /* Rate information */ - ORIENT_INFO orient_info; /* Orient information */ - NAVI_DATA_STATUS status; /* Status */ -} MAP_MATCHING_DATA; - -/***************************************************************************** - * TAG : DR_MSG_MAP_MATCHING_DATA - * ABSTRACT : Map-Matching information data message buffer structure - * NOTE : Message structure(User -> VehicleSens) - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - MAP_MATCHING_DATA data; /* Message data (Map-Matching information) */ -} DR_MSG_MAP_MATCHING_DATA; - -/***************************************************************************** - * TAG : DR_MSG_CLEAR_BACKUP_DATA - * ABSTRACT : Clear backup data message buffer structure - * NOTE : Message structure(User -> VehicleSens) - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ -} DR_MSG_CLEAR_BACKUP_DATA; - -/***************************************************************************** -* Function prototypes * -*****************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif -extern DR_EXT_RET_API DrSetMapMatchingData(PNO pno, MAP_MATCHING_DATA* map_matching_data); -extern DR_EXT_RET_API DrClearBackupData(PNO pno); -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_DR_API_H_ diff --git a/vehicleservice/positioning/client/include/DeadReckoning_DbgLogSim.h b/vehicleservice/positioning/client/include/DeadReckoning_DbgLogSim.h deleted file mode 100755 index bd57de7..0000000 --- a/vehicleservice/positioning/client/include/DeadReckoning_DbgLogSim.h +++ /dev/null @@ -1,50 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_DEADRECKONING_DBGLOGSIM_H_ -#define POSITIONING_CLIENT_INCLUDE_DEADRECKONING_DBGLOGSIM_H_ - -/******************************************************************************* - FILE : DeadReckoning_DbgLogSim.h - SYSTEM : _CWORD64_ platform development - SUBSYSTEM : Log Simulator for Debugging - PROGRAM : PastModel002*1 log read - FUNC LIST : --------------------------------------------------------------------------------- - -*******************************************************************************/ - -#include "Dead_Reckoning_API.h" - -#define DR_DBG_LOG_PACKET_HEAD_SIZE (4) /* DR_LOG_PACKET_HEAD_SIZE */ -#define DR_DBG_LOG_SIM_BUFF_SIZE (0x200) - -#define DR_DBG_LOG_SIM_DATA_NONE (-1) -#define DR_DBG_LOG_SIM_DATA_GPS (1) -#define DR_DBG_LOG_SIM_DATA_SENSOR (2) - -/* - * prototype - * public functions - */ - -void DeadReckoningDbgLogSimInit(void); -void DeadReckoningDbgLogSimDispose(void); - -BOOL DeadReckoningDbgLogSimIsDbgLogSimMode(void); -int DeadReckoningDbgLogSimReadPacket(u_int8 *, size_t, int16 *); - -#endif // POSITIONING_CLIENT_INCLUDE_DEADRECKONING_DBGLOGSIM_H_ diff --git a/vehicleservice/positioning/client/include/Dead_Reckoning_API.h b/vehicleservice/positioning/client/include/Dead_Reckoning_API.h deleted file mode 100755 index bd2e031..0000000 --- a/vehicleservice/positioning/client/include/Dead_Reckoning_API.h +++ /dev/null @@ -1,229 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_DEAD_RECKONING_API_H_ -#define POSITIONING_CLIENT_INCLUDE_DEAD_RECKONING_API_H_ -/**************************************************************************** - * File name :Dead_Reckoning_API.h - * System name :PastModel002 - * Subsystem name : - ******************************************************************************/ - -/***************************************************************************** - * Include * - *****************************************************************************/ -#include <vehicle_service/positioning_base_library.h> -#include "Sensor_Common_API.h" -#include <native_service/frameworkunified_types.h> - -/***************************************************************************** - * Define * - *****************************************************************************/ -#define NUM_OF_100msData (10) /* Number of gyro data items delivered every 100 ms */ - -/***************************************************************************** - * Typedef * - *****************************************************************************/ -typedef RET_API DR_RET_API; - -/***************************************************************************** - * Enumeration * - *****************************************************************************/ -/******************************************************************************* - TAG : NAVI_MATCHING_STATUS - ABSTRACT : Map matching data(Status) - NOTE : -*******************************************************************************/ -typedef enum NaviMatchingStatus { - NAVI_MATCHING_STS_2D_FIX = 0x00, - NAVI_MATCHING_STS_3D_FIX, - NAVI_MATCHING_STS_DR_COMBINED, - NAVI_MATCHING_STS_DR_ONLY, - NAVI_MATCHING_STS_MAP_2D_GPS_FIX, - NAVI_MATCHING_STS_MAP_3D_GPS_FIX, - NAVI_MATCHING_STS_MAP_DR_COMBINED, - NAVI_MATCHING_STS_MAP_DR_ONLY, - NAVI_MATCHING_STS_MAP_NO_FIX, - NAVI_MATCHING_STS_AWAITING_FIRST_FIX, - NAVI_MATCHING_STS_DATA_INVALID, - NAVI_MATCHING_STS_NO_FIX, - NAVI_MATCHING_STS_TIME_ONLY_FIX -} NAVI_MATCHING_STATUS; - -/******************************************************************************* - TAG : NAVI_MATCHING_DATA_AVAILABLE - ABSTRACT : Map matching data(Availability) - NOTE : -*******************************************************************************/ -typedef enum { - NAVI_MATCHING_DATA_INVALID = 0x00, - NAVI_MATCHING_DATA_VALID -} NAVI_MATCHING_DATA_AVAILABLE; - -/***************************************************************************** - * Struct * - *****************************************************************************/ -/* Sensor data */ -/******************************************************************************* - TAG : Struct_PulseRevTbl - ABSTRACT : Vehicle speed/REV data table structure - NOTE : 4byte -*******************************************************************************/ -typedef struct { - u_int8 reverse_flag; /* 0:Forward march 1:Backward 3:Disabled Reverse signal status */ - u_int8 pulse_flag; /* Vehicle speed pulse flag */ - /* 0:Enabled 1:Receive invalid value from CAN 2:Unable to receive at download timing */ - u_int16 pulse_sum_cyclic; /* Vehicle speed pulse counter value */ -} Struct_PulseRevTbl; -/******************************************************************************* - TAG : Struct_GyroTbl - ABSTRACT : Gyro Data Table Structure - NOTE : 20byte -*******************************************************************************/ -typedef struct { - u_int16 gyro_data[NUM_OF_100msData]; /* A/D-converted gyro data */ -} Struct_GyroTbl; -/******************************************************************************* - TAG : Struct_SensData - ABSTRACT : Sensor data structure - NOTE : -*******************************************************************************/ -typedef struct { - u_int8 sens_cnt_flag; /* Sensor data transmission counter flag */ - /* 0:Disabled(->Initial Sensor) 1:Enabled(->100 ms periodic transmission) */ - /* Set "0" for initial sensor transmission and "1" for periodic transmission. */ - u_int8 sens_cnt; /* Sensor data transmission counter value Set "0" at initial transmission of sensor */ - Struct_PulseRevTbl pulse_rev_tbl; /* Vehicle speed/REV Data table */ - Struct_GyroTbl gyro_x_tbl; /* Gyro(X axis) data table */ - Struct_GyroTbl gyro_y_tbl; /* Gyro(Y axis) data table */ - Struct_GyroTbl gyro_z_tbl; /* Gyro(Z axis) data table */ -} Struct_SensData; - -/* GPS data */ -/******************************************************************************* - TAG : Struct_GpsData - ABSTRACT : GPS data structure - NOTE : -*******************************************************************************/ -typedef struct { - u_int8 sens_cnt; /* Sensor data transmission counter value */ - u_int8 sens_cnt_flag; /* Sensor data transmission counter flag */ - /* 0:Disabled(Incorrect GPS sensor counter) */ - /* 1:Enabled */ - u_int16 gps_data_size; /* GPS data storage area size */ - DID did; /* Data ID */ - const void* gps_data; /* GPS data storage area */ -} Struct_GpsData; - -/* Estimated Navigation Calculation Result */ -/******************************************************************************* - TAG : Struct_DR_DATA - ABSTRACT : Estimated Navigation Calculation Result - NOTE : -*******************************************************************************/ -typedef struct { - int64_t latitude; /* Latitude(WGS-84) 10^-7deg */ - int64_t longitude; /* Longitude(WGS-84) 10^-7deg */ - int64_t altitude; /* Altitude 10^-2m */ - u_int16 rate; /* Speeds 10^-2m/sec */ - u_int16 heading; /* Orientation North-reference clockwise 10^-2deg */ - u_int16 reserve; /* RESERVE */ - u_int8 dr_status; /* DR calculation status */ - u_int8 positioning_time; /* Sensor Counter */ -} Struct_DR_DATA; - -/******************************************************************************* - TAG : DR_CALC_INFO - ABSTRACT : Estimated navigation information - NOTE : -*******************************************************************************/ -typedef struct { - u_int16 gyro_offset; /* Correction coefficient:Gyro offset */ - u_int8 gyro_scale_factor; /* Correction coefficient:Gyro Sensitivity */ - u_int8 gyro_scale_factor_level; /* Learning Level(Gyro Sensitivity) */ - u_int16 speed_pulse_scale_factor; /* Correction coefficient:Vehicle speed factor */ - u_int8 speed_pulse_scale_factor_level; /* Learning Level(Vehicle speed factor) */ - u_int8 reserve; /* Reserve(1Byte) */ -} DR_CALC_INFO; - -/******************************************************************************* - TAG : DR_POSITION_INFO - ABSTRACT : Location information - NOTE : -*******************************************************************************/ -typedef struct { - int64_t latitude; - int64_t longitude; - NAVI_MATCHING_DATA_AVAILABLE status; -} DR_POSITION_INFO; - -/******************************************************************************* - TAG : DR_RATE_INFO - ABSTRACT : Location information - NOTE : -*******************************************************************************/ -typedef struct { - u_int16 rate; - u_int8 reserve[2]; - NAVI_MATCHING_DATA_AVAILABLE status; -} DR_RATE_INFO; - -/******************************************************************************* - TAG : DR_ORIENT_INFO - ABSTRACT : Location information - NOTE : -*******************************************************************************/ -typedef struct { - u_int16 orient; - u_int8 reserve[2]; - NAVI_MATCHING_DATA_AVAILABLE status; -} DR_ORIENT_INFO; - -/******************************************************************************* - TAG : NAVI_MATCHING_DATA - ABSTRACT : Map matching data - NOTE : -*******************************************************************************/ -typedef struct { - DR_POSITION_INFO position_info; - DR_RATE_INFO rate_info; - DR_ORIENT_INFO orient_info; - NAVI_MATCHING_STATUS status; -} NAVI_MATCHING_DATA; - -/************************************************************************ -* Function prototype * -************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif - -DR_RET_API DeadReckoningLibraryInit(void); -DR_RET_API SetGpsData(Struct_GpsData *st_gps_data); -DR_RET_API CalculateDeadReckoningData(Struct_SensData *st_sensor_data, - Struct_DR_DATA *st_dr_data, DR_CALC_INFO *dr_calc_data); -DR_RET_API SetMatchingData(NAVI_MATCHING_DATA *st_matching_data); - -DR_RET_API ClearBackupData(void); /* Clear DR backup data */ -/* BOOL Problem Avoidance */ -DR_RET_API GetLocationLogSetting(int *log_sw, unsigned char *severity); /* Location log output ON/OFF acquisition */ -DR_RET_API SetLocationLogStatus(int log_sw, unsigned char severity); /* Location log output ON/OFF setting */ - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_DEAD_RECKONING_API_H_ diff --git a/vehicleservice/positioning/client/include/Dead_Reckoning_Local_Api.h b/vehicleservice/positioning/client/include/Dead_Reckoning_Local_Api.h deleted file mode 100755 index c513e9b..0000000 --- a/vehicleservice/positioning/client/include/Dead_Reckoning_Local_Api.h +++ /dev/null @@ -1,147 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_DEAD_RECKONING_LOCAL_API_H_ -#define POSITIONING_CLIENT_INCLUDE_DEAD_RECKONING_LOCAL_API_H_ -/**************************************************************************** - * File name :Dead_Reckoning_Local_Api.h - * System name :PastModel002 - * Subsystem name : - ******************************************************************************/ - -#include <vehicle_service/positioning_base_library.h> -#include "Sensor_Common_API.h" -#include "SensorLocation_API.h" -#include "SensorMotion_API.h" -#include "DR_API.h" - -/************************************************************************ -* Macro definitions * -************************************************************************/ - -/*----------------------------------------------------------------------* - * DEADRECKONING_RET_API define * - *----------------------------------------------------------------------*/ -/* Normal system */ -#define DEAD_RECKONING_RET_NORMAL 0 /* Normal completion */ -/* Abnormal system */ -#define DEADRECKONING_RET_ERROR_PID (-1) /* Thread ID error */ -#define DEADRECKONING_RET_ERROR_DID (-2) /* Unregistered DID */ -#define DEADRECKONING_RET_ERROR_PARAM (-4) /* Parameter error */ -#define DEADRECKONING_RET_ERROR_BUFFULL (-5) /* FULL of registered numbers */ -#define DEADRECKONING_RET_ERROR_CREATE_EVENT (-6) /* Event generation failure */ -#define DEADRECKONING_RET_ERROR_OUTOF_MEMORY (-8) /* Shared memory allocation failed */ -#define DEADRECKONING_RET_ERROR_SIZE (-9) /* Storage destination size error */ -#define DEADRECKONING_RET_ERROR_MIN (-10) - -/*----------------------------------------------------------------------* - * DEADRECKONING delivery registry APIs * - *----------------------------------------------------------------------*/ -/* Delivery control */ -#define DEADRECKONING_DELIVERY_REGIST 0x01 /* Delivery registration */ - -/* Delivery timing */ -#define DEADRECKONING_DELIVERY_TIMING_UPDATE 0x01 /* Updating */ - -/*----------------------------------------------------------------------* - * Command ID * - *----------------------------------------------------------------------*/ -/* Vehicle Sensor -> Vehicle Sensor(DR) */ -#define CID_DEAD_RECKONING_DELIVERY_ENTRY 0x0310 /* DR Transmission Registration Signal Notification */ - -/* Vehicle Sensor -> Vehicle Sensor(DR) */ -#define CID_DEAD_RECKONING_SENS_DATA 0x0311 /* DR data signal notification */ -#define CID_DEAD_RECKONING_GPS_DATA 0x0312 /* DR data signal notification */ -#define CID_DEAD_RECKONING_SENS_FST_DATA 0x0313 /* DR data signal notification */ - -/* Message Data Size(byte) */ -#define DEADRECKONING_MSGBUF_DSIZE 512 /* Message body MAX */ - -/*----------------------------------------------------------------------* - * Shared Memory Related Extensions * - *----------------------------------------------------------------------*/ -/* Semaphore name(MAX 32Byte) Synchronize with VehicleDebug_API_private.h */ -#define SENSOR_LOG_SETTING_SEMAPHO_NAME ("SEBSIR_GET_LOG_SETTING_SEMAPHO") - -/* Shared memory name(MAX 32Byte) Synchronize with VehicleDebug_API_private */ -#define LOG_SETTING_SHARE_MEMORY_NAME ("LOG_SETTING_SHARE_MEMORY") - -/************************************************************************ -* typedef Definition * -************************************************************************/ -typedef RET_API DEAD_RECKONING_RET_API; /* API return value */ - -/************************************************************************ -* Struct definitions * -************************************************************************/ - -/************************************************************************ -* TAG : DEADRECKONING_MSG_BUF -* ABSTRACT : message buffer -************************************************************************/ - -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - u_int8 data[DEADRECKONING_MSGBUF_DSIZE]; /* Message data */ -} DEADRECKONING_MSG_BUF; - -/************************************************************************ -* TAG : DEADRECKONING_MSG_DELIVERY_ENTRY -* ABSTRACT : Registration message delivery vehicle sensor information(->Vehicle sensor) -************************************************************************/ -typedef struct { - DID did; /* ID data corresponding to the vehicle sensor information */ - PNO pno; /* Shipping addressPNO */ - u_int8 delivery_timing; /* Delivery opportunity */ - u_int8 ctrl_flg; /* Delivery control */ - EventID event_id; /* Event ID */ -} DEADRECKONING_MSG_DELIVERY_ENTRY_DAT; - -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - DEADRECKONING_MSG_DELIVERY_ENTRY_DAT data; /* Message data */ -} DEADRECKONING_MSG_DELIVERY_ENTRY; - -/************************************************************************ -* TAG : DEADRECKONING_MSG_GET_DR_DATA -* ABSTRACT : Vehicle sensor information acquisition message(->Vehicle sensor) -************************************************************************/ -typedef struct { - DID did; /* Data ID corresponding to vehicle sensor information */ - PNO pno; /* Destination PNO */ - u_int16 offset; /* Offset to shared memory storage area */ - u_int16 size; /* Size of shared memory storage area */ - u_int8 reserve[2]; - EventID event_id; /* Event ID */ -} DEADRECKONING_MSG_GET_DR_DATA_DAT; - -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - DEADRECKONING_MSG_GET_DR_DATA_DAT data; /* Message data */ -} DEADRECKONING_MSG_GET_DR_DATA; - -/************************************************************************ -* Function prototype * -************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_DEAD_RECKONING_LOCAL_API_H_ diff --git a/vehicleservice/positioning/client/include/Gps_API_private.h b/vehicleservice/positioning/client/include/Gps_API_private.h deleted file mode 100755 index 7026ce9..0000000 --- a/vehicleservice/positioning/client/include/Gps_API_private.h +++ /dev/null @@ -1,64 +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 - * Gps_API_private.h - * @brief - * Definition for GPS Internal I/F Liblary - */ -#ifndef POSITIONING_CLIENT_INCLUDE_GPS_API_PRIVATE_H_ -#define POSITIONING_CLIENT_INCLUDE_GPS_API_PRIVATE_H_ - -/*---------------------------------------------------------------------------------* - * Incluce * - *---------------------------------------------------------------------------------*/ -#include <vehicle_service/positioning_base_library.h> - -/*---------------------------------------------------------------------------------* - * Definition * - *---------------------------------------------------------------------------------*/ -/*--- for message ---*/ - -/*---------------------------------------------------------------------------------* - * Typedef declaration * - *---------------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------------* - * Struct declaration * - *---------------------------------------------------------------------------------*/ -/*! - @brief message delivery GPS reset information - */ -typedef struct { - uint8_t mode; /**< Reset mode */ - uint8_t reserve[3]; /**< reserve */ - PNO snd_pno; /**< Caller PNO */ - PNO res_pno; /**< Destination PNO */ -} POS_RESETINFO; - -/*---------------------------------------------------------------------------------* - * Prototype Declaration * - *---------------------------------------------------------------------------------*/ -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_GPS_API_PRIVATE_H_ diff --git a/vehicleservice/positioning/client/include/INI_API.h b/vehicleservice/positioning/client/include/INI_API.h deleted file mode 100755 index f16a4c6..0000000 --- a/vehicleservice/positioning/client/include/INI_API.h +++ /dev/null @@ -1,259 +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 : INI_API.h -* System name : _CWORD107_ -* Subsystem name : Staged Start and Termination Framework -* Title : Staged Start and End Framework API Header Files -************************************************************************/ - -#ifndef POSITIONING_CLIENT_INCLUDE_INI_API_H_ -#define POSITIONING_CLIENT_INCLUDE_INI_API_H_ - -#include <vehicle_service/positioning_base_library.h> - -/* -***** DEFINE ***** -*/ - -#define INI_EXTMEM_DUM 0 /* Message buffer header extension member */ - -/* Return value */ -#define INI_SUCCESS 0 /* Normal */ -#define INI_FALSE (-1) /* Fail */ -#define INI_ERRNOTRDY (-2) /* No destination process(Not wakeup) */ - -/* Stage start completion notification ID related Note: ACC-OFF process completion notification is also used. */ -#define GINI_COMPID_INI 0x00000000 /* Initial value of completion notification ID */ -#define GINI_COMPID_MASK 0x80000000 /* Completion notification ID mask value(Startup completion or for event completion determination) */ - -/* ID for Phase Start Event Completion Notification */ - -#define INI_INITCOMP_BTCOM_PRT 0x80000001 /* BT Communication Protocol Thread Startup Complete */ -#define INI_INITCOMP_BTCOM_MNG 0x80000002 /* BT Communication Protocol Thread Startup Complete */ -#define INI_INITCOMP_BTCOM_RCV 0x80000004 /* BT Communication Protocol Thread Startup Complete */ -#define INI_INITCOMP_MC_UPCHK 0x80000008 /* To receive the confirmation notice of connection between microcomputers */ - -/************************************************************************ - ID for Phase Start Event Completion Notification (For VUP) - ************************************************************************/ -#define INI_FWRDCOMP__CWORD24_ 0x80000008 /* _CWORD24_ transmission completed */ -#define INI_FWRDCOMP_VUP 0x80000010 /* VUPLoader transmission completed */ -#define INI_INITCOMP_MFT 0x80000020 /* Module transfer thread start completion */ -#define INI_INITCOMP_UPCHK 0x80000040 /* Receive Start Type Confirmation Notification */ - -/* ID for Phase ACC-OFF Event Completion Notification ID */ - -/* Boot phase */ -/************************************************************************* - Note: Maintenance Precautions* - Initial only affects the addition and deletion of startup parameters. - For addition or deletion of shared memory creation,The primary of each process is also affected -*************************************************************************/ -/* --->CHG */ -enum IniStep { - GINI_STEPFORK_INI = 0, /* Initial state */ - GINI_STEPFORK_COMMEM, /* Shared Memory Generation */ - GINI_STEPFORK_FIRST, /* First start */ - GINI_STEPFORK_SECOND, /* 2nd start */ - GINI_STEPFORK_THIRD, /* 3rd start */ - GINI_STEPFORK_FOURTH, /* 4th start */ - GINI_STEPFORK_BUPCHK, /* Backup Data Check/Initialization */ - GINI_STEPFORK_FIFTH, /* 5th start */ - GINI_STEPFORK_SIXTH, /* 6th start */ - GINI_STEPFORK_SEVENTH, /* 7th start */ - GINI_STEPFORK_EIGHTH, /* 8th start */ - GINI_STEPFORK_NINTH, /* 9th start */ - GINI_STEPFORK_TENTH, /* 10th start */ - GINI_STEPFORK_ELEVENTH, /* 11th start */ - GINI_STEPFORK_TWELFTH, /* 12th start */ - GINI_STEPFORK_THIRTEENTH, /* 13th start */ - GINI_STEPFORK_FOURTEENTH, /* 14th start */ - GINI_STEPFORK_FIFTEENTH, /* 15th Start */ - GINI_STEPFORK_SIXTEENTH, /* 16th start */ - GINI_STEPFORK_SEVENTEENTH, /* 17th Start */ - GINI_STEPFORK_EIGHTEENTH, /* 18th Start */ - GINI_STEPFORK_MAX /* Total number of startup phases */ -}; -/* <--- CHG */ - -/* ACC-OFF phase */ -enum AccOffStep { - GINI_ACCOFF_INI = 0, /* Early stage(Normal state) */ - GINI_ACCOFF_FIRST, /* Stage 1 */ - GINI_ACCOFF_SECOND, /* Step 2 */ - GINI_ACCOFF_THIRD, /* Step 3 */ - GINI_ACCOFF_FOURTH, /* Step 4 */ - GINI_ACCOFF_FIFTH, /* Step 5 */ - GINI_ACCOFF_MAX /* Total number of ACC-OFF steps */ -}; - -/* Backup data check process type */ -enum IniDramBkup { - INI_BUPCHK_SRAM_INIT = 0, /* Initialization of SRAM */ - INI_BUPCHK_SRAM_CHK, /* SRAM range-checking process */ - INI_BUPCHK_USER_INIT, /* Initialization of personal information */ - INI_BUPCHK_DRAM_INIT /* Initializing DRAM backups */ -}; - -/* ---> */ -/************************************************* - Startup identification -*************************************************/ -enum { - INI_CND_UNSET = 0, /* Startup identification value not set */ - INI_CND_UNKNOWN, /* Startup identification unknown */ - INI_CND_CLSTART, /* COLD START */ - INI_CND_HTSTART, /* HOT START */ - INI_CND_ERRRESET, /* Error Reset */ - INI_CND_USERCL /* User-specified COLD */ -}; - -/************************************************* - Startup Security State -*************************************************/ -enum { - INI_ANTITHEFT_UNSET = 0, /* Not set condition */ - INI_ANTITHEFT_UNLOCK, /* Unlocked status */ - INI_ANTITHEFT_LOCK, /* Lock state */ - INI_ANTITHEFT_INITIAL /* Initial state(Not used) */ -}; - -/************************************************* - Version upgrade completion information -*************************************************/ -enum { - INI_VUP_INFO_UNSET = 0, /* VUP information not set */ - INI_VUP_INFO_NORMAL, /* VUP Information Normal(VUP not executed) */ - INI_VUP_INFO_ERROR, /* VUP information error(VUP incomplete) */ - INI_VUP_INFO_VUPFIN /* Completion of VUP information */ -}; - -/************************************************* - +B Disconnect Information -*************************************************/ -enum { - INI_BATTERY_INFO_UNSET = 0, /* +B Information not set */ - INI_BATTERY_INFO_NORMAL, /* +B Information Normal(no disconnected) */ - INI_BATTERY_INFO_DISCON /* +B Information with disconnected */ -}; - -/************************************************* - User information initialization information -*************************************************/ -enum { - INI_INITUSERDAT_UNSET = 0, /* User information not set */ - INI_INITUSERDAT_ON, /* Personal Information Initialization Status Setting ON */ - INI_INITUSERDAT_OFF /* Personal information initialization status setting OFF */ -}; - -/************************************************* - DRAM back-up status at startup -*************************************************/ -enum { - INI_DRAMBKUP_UNSET = 0, /* DRAM back-up status not set */ - INI_DRAMBKUP_OK, /* DRAM back-up status OK */ - INI_DRAMBKUP_NG /* DRAM backup status NG */ -}; - -/****** STRUCT ******/ -/************************************************* - Startup system information -*************************************************/ -typedef struct { - u_int8 boot_type; /* Startup identification */ - u_int8 security_sts; /* Startup Security State */ - u_int8 vup_info; /* Version upgrade completion information */ - u_int8 battery_off_info; /* +B Disconnect Information */ - u_int8 usrdat_init_info; /* User data initialization information */ - u_int8 dram_bup_sts; /* DRAM back-up status */ - u_int8 reserve[2]; /* Reserved */ - u_int32 boot_time; /* Passed Time */ -} T_INI_BOOTINFO; - -/* <--- */ - -/* -***** STRUCTURE ***** -*/ -/****************************************************************************** -* TAG : T_PRIM_FORKCOMP -* ABSTRACT : Stage-up completion notification structure -* NOTE : Body portion of messages generated from API (Staged Start Completion Notification) -******************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER head; /* Message buffer header */ - u_int32 id; /* ID for start phase completion notification */ -} T_PRIM_FORKCOMP; - -/****************************************************************************** -* TAG : T_PRIM_ACCOFFSTART -* ABSTRACT : Structures for ACC-OFF Process Instructions -* NOTE : Body of messages generated from API(ACC-OFF process instructions) -******************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER head; /* Message buffer header */ - u_int32 id; /* ID for start phase completion notification */ -} T_PRIM_ACCOFFSTART; - -/****************************************************************************** -* TAG : T_PRIM_ACCOFFCOMP -* ABSTRACT : Structures for notifying completion of ACC-OFF process -* NOTE : Main body of messages generated from API(ACC-OFF process completion notification) -******************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER head; /* Message buffer header */ - u_int32 id; /* Identifier for notifying completion of ACC-OFF process */ -} T_PRIM_ACCOFFCOMP; - -/****************************************************************************** -* TAG : T_PRIM_INTERNAL_ACCOFFSTART -* ABSTRACT : Structures for in-function ACC-OFF indication -* NOTE : Body portion of messages generated from API (notification of completion of ACC-OFF process in function) -******************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER head; /* Message buffer header */ - u_int32 id; /* Identifier for notifying completion of ACC-OFF process */ -} T_PRIM_INTERNAL_ACCOFFSTART; - -/****************************************************************************** -* TAG : T_PRIM_INTERNAL_ACCOFFCOMP -* ABSTRACT : Structures for notifying completion of ACC-OFF in functions -* NOTE : Body portion of messages generated from NOTEAPI (notification of completion of ACC-OFF process in function) -******************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER head; /* Message buffer header */ - u_int32 id; /* Identifier for notifying completion of ACC-OFF process */ -} T_PRIM_INTERNAL_ACCOFFCOMP; - -/* -***** PROTOTYPE ***** -*/ -#ifdef __cplusplus -extern "C" { -#endif - -int32 IniInternalAccOffComp(PNO pno , u_int32 id); -void IniNotifyInit_CWORD69_Comp(void); -void IniWaitInit_CWORD69_Comp(void); -BOOL IniIsInit_CWORD69_Comp(void); - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_INI_API_H_ diff --git a/vehicleservice/positioning/client/include/Naviinfo_API.h b/vehicleservice/positioning/client/include/Naviinfo_API.h deleted file mode 100755 index 12caa84..0000000 --- a/vehicleservice/positioning/client/include/Naviinfo_API.h +++ /dev/null @@ -1,110 +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 Naviinfo_API.h -@detail Naviinfo_API external header file<BR> - Naviinfo_API External Public Header -******************************************************************************/ -#ifndef POSITIONING_CLIENT_INCLUDE_NAVIINFO_API_H_ -#define POSITIONING_CLIENT_INCLUDE_NAVIINFO_API_H_ - -/***************************************************************************** - * Include * - *****************************************************************************/ -#include <vehicle_service/positioning_base_library.h> -#include "Sensor_Common_API.h" -#include "Vehicle_API.h" -#include "Sensor_API.h" -#include <vehicle_service/POS_gps_API.h> - -/***************************************************************************** - * Define * - *****************************************************************************/ -/* Command ID Definition */ -#define CID_NAVIINFO_DELIVER (0x0205) /* Navigation information setting CID */ -#define CID_NAVIINFO_SPEED_DELIVER (0x0206) /* Vehicle speed setting CID */ -#define CID_NAVIINFO_SETGPSTIME (0x0207) /* GPS time delivery CID */ - -/* Positioning Level/GPS Information Positioning Status Information Definition */ -#define NAVIINFO_DIAG_GPS_FIX_STS_NON (0) /* Not fix */ -#define NAVIINFO_DIAG_GPS_FIX_STS_2D (1) /* 2D positioning */ -#define NAVIINFO_DIAG_GPS_FIX_STS_3D (2) /* 3D positioning */ - -/* Reception status definition */ -#define NAVIINFO_DIAG_GPS_RCV_STS_NOTUSE (0) /* Not used */ -#define NAVIINFO_DIAG_GPS_RCV_STS_SEARCHING (1) /* Searching */ -#define NAVIINFO_DIAG_GPS_RCV_STS_TRACHING (2) /* Tracking in progress */ -#define NAVIINFO_DIAG_GPS_RCV_STS_NOTUSEFIX (3) /* Positioning not used */ -#define NAVIINFO_DIAG_GPS_RCV_STS_USEFIX (4) /* Positioning use */ - -/* Date and Time Status Definition */ -#define NAVIINFO_NAVI_GPS_TD_STS_NOTFIX (0) -/* Time not calibrated after receiver reset */ -#define NAVIINFO_NAVI_GPS_TD_STS_RTCBACKUP (1) -/* Time output by RTC backup(Time Calibration Result)*/ -#define NAVIINFO_NAVI_GPS_TD_STS_FIX (2) /* Time calibration completed */ - -/* ++ Porting from PastModel002 enabled APIs */ -#define CID_VEHICLEIF_GET_VEHICLE_DATA 0x0102 /* Vehicle sensor information acquisition CID */ -#define CID_VEHICLEIF_COMM_WATCH 0x0103 /* Vehicle Sensor Information Disruption Monitoring CID */ -#define CID_SENSORIF__CWORD82__REQUEST 0x0800 /* Vehicle sensor information setting CID */ - -#define VEHICLE_RET_ERROR_OUTOF_MEMORY (-8) /* Shared memory allocation failure */ -#define VEHICLE_RET_ERROR_INVALID (-10) /* CANID undetermined */ - -/* -- Porting from PastModel002 enabled APIs */ - -/***************************************************************************** - * Typedef * - *****************************************************************************/ - -/***************************************************************************** - * Struct * - *****************************************************************************/ -/***************************************************************************** - * TAG : NAVIINFO_DELIVER_MSG - * ABSTRACT : Navigation information delivery message structure - * NOTE : - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - NAVIINFO_ALL dat; /* Message data section */ -} NAVIINFO_DELIVER_MSG; - -/***************************************************************************** - * TAG : NAVIINFO_SPEED_DELIVER_MSG - * ABSTRACT : Navigation Information (Vehicle Speed) Delivery Message Structure - * NOTE : - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - u_int16 navi_speed; /* Vehicle speed information */ - u_int8 reserve[2]; /* reserve */ -} NAVIINFO_SPEED_DELIVER_MSG; - -/***************************************************************************** -* Function prototype * -*****************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif -extern int32 VehicleSetVehicleData(PNO pid, VEHICLE_MSG_SEND_DAT *p_data); -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_NAVIINFO_API_H_ diff --git a/vehicleservice/positioning/client/include/POS_common_private.h b/vehicleservice/positioning/client/include/POS_common_private.h deleted file mode 100755 index 4dd98a2..0000000 --- a/vehicleservice/positioning/client/include/POS_common_private.h +++ /dev/null @@ -1,62 +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 - * POS_common_private.h - * @brief - * Definition for Common Internal I/F Liblary - */ -#ifndef POSITIONING_CLIENT_INCLUDE_POS_COMMON_PRIVATE_H_ -#define POSITIONING_CLIENT_INCLUDE_POS_COMMON_PRIVATE_H_ - -/*---------------------------------------------------------------------------------* - * Incluce * - *---------------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------------* - * Definition * - *---------------------------------------------------------------------------------*/ -/*--- for message ---*/ -/* - * Maximum receive message size - * - Set the value based on the message receiving buffer size of the local thread - */ -#define MAX_MSG_BUF_SIZE (4096) - -/* command ID */ -#define CID_POSIF_SET_DATA 0x0790 /* set data command ID */ - -/*---------------------------------------------------------------------------------* - * Typedef declaration * - *---------------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------------* - * Struct declaration * - *---------------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------------* - * Prototype Declaration * - *---------------------------------------------------------------------------------*/ -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_POS_COMMON_PRIVATE_H_ diff --git a/vehicleservice/positioning/client/include/POS_private.h b/vehicleservice/positioning/client/include/POS_private.h deleted file mode 100755 index 9f02202..0000000 --- a/vehicleservice/positioning/client/include/POS_private.h +++ /dev/null @@ -1,981 +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 - * POS_private.h - * @brief - * Inner functions of Positoning API - * - */ -#ifndef POSITIONING_CLIENT_INCLUDE_POS_PRIVATE_H_ -#define POSITIONING_CLIENT_INCLUDE_POS_PRIVATE_H_ - -/*---------------------------------------------------------------------------------* - * Include Files * - *---------------------------------------------------------------------------------*/ -#include <vehicle_service/positioning_base_library.h> -#include <vehicle_service/POS_define.h> -#include "Vehicle_API_Dummy.h" -#include "Vehicle_API_private.h" -#include "Naviinfo_API.h" -#include "POS_common_private.h" -#include <asm/unistd.h> -#include <other_service/VP_GetEnv.h> -#include <other_service/env_vehicleparameterlibrary.h> -#include "CommonDefine.h" -/*---------------------------------------------------------------------------------* - * Function Prototype * - *---------------------------------------------------------------------------------*/ -/* Shared Library Value Area Check Function */ -inline UNIT_TYPE GetEnvSupportInfo(void); -inline BOOL ChkUnitType(UNIT_TYPE type); -inline RET_API MunMapDeviceIo(HANDLE dev, uint32_t map_size); -inline RET_API MilliSecSleep(uint32_t mill_time); -inline POS_RET_API PosChkParam8(int8_t data, int8_t min, int8_t max, const char* fn, int32_t line); -inline POS_RET_API PosChkParam16(int16_t data, int16_t min, int16_t max, const char* fn, int32_t line); -inline POS_RET_API PosChkParam32(int32_t data, int32_t min, int32_t max, const char* fn, int32_t line); -inline POS_RET_API PosChkParamU8(uint8_t data, uint8_t min, uint8_t max, const char* fn, int32_t line); -inline POS_RET_API PosChkParamU16(uint16_t data, uint16_t min, uint16_t max, const char* fn, int32_t line); -inline POS_RET_API PosChkParamU32(uint32_t data, uint32_t min, uint32_t max, const char* fn, int32_t line); - -/* Shared Intra-Library Core Functions */ -inline POS_RET_API PosSetProc(DID did, void *p_data, uint16_t size, uint8_t is_event); -inline POS_RET_API PosGetProc(DID did, void *p_data, uint16_t dest_size); -inline SENSOR_RET_API PosRegisterListenerProc(PCSTR notify_name, - DID did, u_int8 ctrl_flg, u_int8 delivery_timing); - -/* General Functions in Shared Libraries */ -inline EventID VehicleCreateEvent(PNO pno); -inline RET_API VehicleDeleteEvent(EventID event_id); -inline RET_API VehicleLinkShareData(void **share_top, uint32_t *share_size, uint16_t *offset); -inline RET_API VehicleUnLinkShareData(VEHICLE_SHARE *share_top, uint16_t offset); -inline RET_API VehicleSndMsg(PNO pno_src, PNO pno_dest, CID cid, uint16_t msg_len, const void *msg_data); -inline BOOL VehicleGetResource(void); -inline void VehicleReleaseResource(void); -inline uint32_t GetTid(void); -/*---------------------------------------------------------------------------------* - * Definition * - *---------------------------------------------------------------------------------*/ -#define POS_CHKPARAM8(data, min, max) PosChkParam8(data, min, max, __func__, __LINE__) -#define POS_CHKPARAM16(data, min, max) PosChkParam16(data, min, max, __func__, __LINE__) -#define POS_CHKPARAM32(data, min, max) PosChkParam32(data, min, max, __func__, __LINE__) -#define POS_CHKPARAMU8(data, min, max) PosChkParamU8(data, min, max, __func__, __LINE__) -#define POS_CHKPARAMU16(data, min, max) PosChkParamU16(data, min, max, __func__, __LINE__) -#define POS_CHKPARAMU32(data, min, max) PosChkParamU32(data, min, max, __func__, __LINE__) -#define POS_API_TIME_OUT_MS 5000 /* Timeout period(ms) */ - -/*---------------------------------------------------------------------------------* - * Inline Functions * - *---------------------------------------------------------------------------------*/ -UNIT_TYPE GetEnvSupportInfo(void) { - UNIT_TYPE ret_type = UNIT_TYPE_GRADE1; - - char env_area[VP_MAX_LENGTH]; - char env_grade[VP_MAX_LENGTH]; - char* p_env_grade = env_grade; - char* p_env_area = env_area; - - /* - * Note. - * This feature branches processing depending on the area and grade type. - */ - - VP_GetEnv(VP_VEHICLEPARAMETERLIBRARY_AREA, p_env_area); - - if (0 == strcmp(p_env_area, "AREA1")) { - ret_type = UNIT_TYPE_GRADE2; - } else if (0 == strcmp(p_env_area, "AREA2")) { - memset(&env_grade, 0x00, sizeof(env_grade)); - VP_GetEnv(VP_VEHICLEPARAMETERLIBRARY_GRADE, p_env_grade); - if (0 == strcmp(p_env_grade, "_CWORD95_") || - 0 == strcmp(p_env_grade, "_CWORD101_") || - 0 == strcmp(p_env_grade, "_CWORD61_")) { - ret_type = UNIT_TYPE_GRADE2; - } - } else { - // NOP - } - - return ret_type; -} - -BOOL ChkUnitType(UNIT_TYPE type) { - UNIT_TYPE type_temp; - BOOL ret; - - type_temp = GetEnvSupportInfo(); - if ((type_temp & type) != 0) { - ret = TRUE; - } else { - ret = FALSE; - } - - return ret; -} - -RET_API MunMapDeviceIo(HANDLE dev, uint32_t map_size) { - return RET_NORMAL; -} - -RET_API MilliSecSleep(uint32_t mill_time) { - switch (mill_time) { - case 0: - { - /* Discard the time slice */ - sched_yield(); - break; - } - case INFINITE: - { - /* Abort processing indefinitely */ - while (1) { - sleep(INFINITE); - } - } - default: - /* Sleep for Specified Time */ - usleep(mill_time * 1000); - break; - } - - return RET_NORMAL; -} - -/** - * @brief - * Data Valid Value Determination(int8) - * - * @param[in] date int8_t Object data - * @param[in] min int8_t Target Data Valid Value Range(Minimum value) - * @param[in] max int8_t Target Data Valid Value Range(Maximum value) - * @param[in] fn const char* Pointer to the function name - * @param[in] line int32_t Number of lines - * - * @return POS_RET_NORMAL Within the valid range<br> - * POS_RET_ERROR Out of scope<br> - * POS_RET_ERROR_PARAM Argument error - */ -inline POS_RET_API PosChkParam8(int8_t data, int8_t min, int8_t max, const char* fn, int32_t line) { - POS_RET_API ret = POS_RET_NORMAL; - - if (fn == NULL) { - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "Argument ERROR!! fn=%p", fn); - ret = POS_RET_ERROR_PARAM; - } else { - if ((data < min) || (max < data)) { - ret = POS_RET_ERROR; - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, - "%s/%d/Out of range!! data=%d[%d, %d]", - fn, line, data, min, max); - } - } - - return ret; -} - -/** - * @brief - * Data Valid Value Determination(int16) - * - * @param[in] date int16_t Object data - * @param[in] min int16_t Target Data Valid Value Range(Minimum value) - * @param[in] max int16_t Target Data Valid Value Range(Maximum value) - * @param[in] fn const char* Pointer to the function name - * @param[in] line int32_t Number of lines - * - * @return POS_RET_NORMAL Within the valid range<br> - * POS_RET_ERROR Out of scope<br> - * POS_RET_ERROR_PARAM Argument error - */ -inline POS_RET_API PosChkParam16(int16_t data, int16_t min, int16_t max, const char* fn, int32_t line) { - POS_RET_API ret = POS_RET_NORMAL; - - if (fn == NULL) { - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "Argument ERROR!! fn=%p", fn); - ret = POS_RET_ERROR_PARAM; - } else { - if ((data < min) || (max < data)) { - ret = POS_RET_ERROR; - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, - "%s/%d/Out of range!! data=%d[%d, %d]", - fn, line, data, min, max); - } - } - - return ret; -} - -/** - * @brief - * Data Valid Value Determination(int32) - * - * @param[in] date int32_t Object data - * @param[in] min int32_t Target Data Valid Value Range(Minimum value) - * @param[in] max int32_t Target Data Valid Value Range(Maximum value) - * @param[in] fn const char* Pointer to the function name - * @param[in] line int32_t Number of lines - * - * @return POS_RET_NORMAL Within the valid range<br> - * POS_RET_ERROR Out of scope<br> - * POS_RET_ERROR_PARAM Argument error - */ -inline POS_RET_API PosChkParam32(int32_t data, int32_t min, int32_t max, const char* fn, int32_t line) { - POS_RET_API ret = POS_RET_NORMAL; - - if (fn == NULL) { - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "Argument ERROR!! fn=%p", fn); - ret = POS_RET_ERROR_PARAM; - } else { - if ((data < min) || (max < data)) { - ret = POS_RET_ERROR; - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, - "%s/%d/Out of range!! data=%d[%d, %d]", - fn, line, data, min, max); - } - } - - return ret; -} - -/** - * @brief - * Data Valid Value Determination(unsigned int8) - * - * @param[in] date uint8_t Object data - * @param[in] min uint8_t Target Data Valid Value Range(Minimum value) - * @param[in] max uint8_t Target Data Valid Value Range(Maximum value) - * @param[in] fn const char* Pointer to the function name - * @param[in] line int32_t Number of lines - * - * @return POS_RET_NORMAL Within the valid range<br> - * POS_RET_ERROR Out of scope<br> - * POS_RET_ERROR_PARAM Argument error - */ -inline POS_RET_API PosChkParamU8(uint8_t data, uint8_t min, uint8_t max, const char* fn, int32_t line) { - POS_RET_API ret = POS_RET_NORMAL; - - if (fn == NULL) { - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "Argument ERROR!! fn=%p", fn); - ret = POS_RET_ERROR_PARAM; - } else { - if ((data < min) || (max < data)) { - ret = POS_RET_ERROR; - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, - "%s/%d/Out of range!! data=%u[%u, %u]", - fn, line, data, min, max); - } - } - - return ret; -} - -/** - * @brief - * Data Valid Value Determination(unsigned int16) - * - * @param[in] date uint16_t Object data - * @param[in] min uint16_t Target Data Valid Value Range(Minimum value) - * @param[in] max uint16_t Target Data Valid Value Range(Maximum value) - * @param[in] fn const char* Pointer to the function name - * @param[in] line int32_t Number of lines - * - * @return POS_RET_NORMAL Within the valid range<br> - * POS_RET_ERROR Out of scope<br> - * POS_RET_ERROR_PARAM Argument error - */ -inline POS_RET_API PosChkParamU16(uint16_t data, uint16_t min, uint16_t max, const char* fn, int32_t line) { - POS_RET_API ret = POS_RET_NORMAL; - - if (fn == NULL) { - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "Argument ERROR!! fn=%p", fn); - ret = POS_RET_ERROR_PARAM; - } else { - if ((data < min) || (max < data)) { - ret = POS_RET_ERROR; - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, - "%s/%d/Out of range!! data=%u[%u, %u]", - fn, line, data, min, max); - } - } - - return ret; -} - -/** - * @brief - * Data Valid Value Determination(unsigned int32) - * - * @param[in] date uint32_t Object data - * @param[in] min uint32_t Target Data Valid Value Range(Minimum value) - * @param[in] max uint32_t Target Data Valid Value Range(Maximum value) - * @param[in] fn const char* Pointer to the function name - * @param[in] line int32_t Number of lines - * - * @return POS_RET_NORMAL Within the valid range<br> - * POS_RET_ERROR Out of scope<br> - * POS_RET_ERROR_PARAM Argument error - */ -inline POS_RET_API PosChkParamU32(uint32_t data, uint32_t min, uint32_t max, const char* fn, int32_t line) { - POS_RET_API ret = POS_RET_NORMAL; - - if (fn == NULL) { - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "Argument ERROR!! fn=%p", fn); - ret = POS_RET_ERROR_PARAM; - } else { - if ((data < min) || (max < data)) { - ret = POS_RET_ERROR; - FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, - "%s/%d/Out of range!! data=%u[%u, %u]", - fn, line, data, min, max); - } - } - - return ret; -} - -/** - * @brief - * Data setting process(Internal processing) - * - * Set the specified information - * - * @param[in] did DID - Data ID - * @param[in] p_data void* - Configuration data - * @param[in] size uint16_t - Setting data size - * @param[in] is_event uint8_t - Event wait status(TRUE/FALSE) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_INNER Internal error - */ -inline POS_RET_API PosSetProc(DID did, void *p_data, uint16_t size, uint8_t is_event) { - POS_RET_API ret = POS_RET_NORMAL; /* Return value of this function */ - RET_API ret_api = RET_NORMAL; /* API return value */ - POS_MSGINFO snd_msg; /* Message */ - EventID event_id; /* Event ID */ - int32_t event_val; /* Event value */ - PNO pno; /* Calling thread PNO */ - uint32_t pid; /* Process ID */ - uint32_t tid; /* Thread ID */ - char name[128]; - - /* Data size check */ - if (POS_MSG_INFO_DSIZE < size) { - ret = POS_RET_ERROR_PARAM; - } else { - /* Resource acquisition */ - if (VehicleGetResource() == TRUE) { - /* Message data */ - /* _CWORD71_ processing speed(Memset modification) */ - /* Initialization of areas that do not contain values */ - snd_msg.pno = 0; - snd_msg.rcv_flag = 0; - snd_msg.reserve = 0; - - snd_msg.did = did; - snd_msg.size = size; - memcpy(snd_msg.data, p_data, size); - - if (TRUE == is_event) { - /* After requesting data setting,Wait for the setting completion(Event Wait) */ - - /* Event Generation */ - pid = static_cast<uint32_t>(getpid()); - tid = GetTid(); - - snprintf(name, sizeof(name), "PS_p%u_t%u", pid, tid); - pno = _pb_CnvName2Pno(name); - event_id = VehicleCreateEvent(pno); - - /* Set the source Pno of message data */ - snd_msg.pno = pno; - - if (0 != event_id) { - /* Successful event generation */ - - /* Send NAVI Sensor Data Setting to Vehicle Sensor */ - ret_api = VehicleSndMsg(pno, - PNO_VEHICLE_SENSOR, - CID_POSIF_SET_DATA, - - (uint16_t)sizeof(POS_MSGINFO) - POS_MSG_INFO_DSIZE + snd_msg.size, /* variable length */ - (const void *)&snd_msg); - - if (RET_NORMAL == ret_api) { - /* If the data setup process is successful,Wait for a completion event */ - ret_api = _pb_WaitEvent(event_id, - SAPI_EVWAIT_VAL, - VEHICLE_RET_ERROR_MIN, - VEHICLE_RET_NORMAL, &event_val, POS_API_TIME_OUT_MS); - if (RET_NORMAL != ret_api) { - /* Return an internal error */ - ret = POS_RET_ERROR_INNER; - } else { - /* Return from Event Wait */ - /* Set event value (processing result) as return value */ - ret = (POS_RET_API)event_val; - } - } else { - /* Message transmission processing failed */ - ret = POS_RET_ERROR_INNER; - } - /* Event deletion */ - ret_api = VehicleDeleteEvent(event_id); - } else { - /* Event generation failure */ - ret = POS_RET_ERROR_INNER; - } - } else { - /* After setting data,Immediate termination */ - - /* Send NAVI Sensor Data Setting to Vehicle Sensor */ - ret_api = _pb_SndMsg_Ext(POS_THREAD_NAME, - CID_POSIF_SET_DATA, - sizeof(POS_MSGINFO), reinterpret_cast<void*>(&snd_msg), 0); - if (ret_api != RET_NORMAL) { - /* Message transmission failure */ - ret = POS_RET_ERROR_INNER; - } - } - } else { - /* Insufficient resource */ - ret = POS_RET_ERROR_RESOURCE; - } - /* Resource release */ - VehicleReleaseResource(); - } - - return ret; -} - -/** - * @brief - * Sensor information acquisition(Internal processing) - * - * @param[in] did DID - Data ID for vehicle information - * @param[in] p_data void* - Pointer representing the storage destination of vehicle sensor information - * @param[in] dest_size uint16_t - Storage destination size of vehicle sensor information(byte) - * - * @return 0 or more Stored data size(Include illegal)<br> - * POS_RET_ERROR_CREATE_EVENT Event generation failure<br> - * POS_RET_ERROR_OUTOF_MEMORY Shared memory allocation failed<br> - * POS_RET_ERROR_SIZE Storage destination size error<br> - * POS_RET_ERROR_DID Unregistered ID<br> - */ -inline POS_RET_API PosGetProc(DID did, void *p_data, uint16_t dest_size) { - POS_RET_API ret; /* Return value */ - RET_API ret_api; /* System API return value */ - EventID event_id; /* Event ID */ - int32_t event_val; /* Event value */ - void *share_top; /* Start address of shared memory */ - uint32_t share_size; /* Size of shared memory area */ - uint16_t offset; /* Offset to free shared memory area */ - VEHICLE_SHARE_BLOCK_DAT *share_dat; /* Address of free shared memory area */ - VEHICLE_MSG_GET_VEHICLE_DATA_DAT data; /* Message data */ - PNO pno; /* Calling thread PNO */ - uint32_t pid; /* Process ID */ - uint32_t tid; /* Thread ID */ - char name[128]; - - /* Resource acquisition */ - if (VehicleGetResource() == TRUE) { - /* Initialization */ - event_id = 0; - event_val = 0; - memset(reinterpret_cast<void *>(&data), 0, sizeof(VEHICLE_MSG_GET_VEHICLE_DATA_DAT)); - - /* Event Generation */ - pid = static_cast<uint32_t>(getpid()); - tid = GetTid(); - - snprintf(name, sizeof(name), "PG_p%u_t%u", pid, tid); - pno = _pb_CnvName2Pno(name); - event_id = VehicleCreateEvent(pno); - - if (0 != event_id) { - /* Successful event generation */ - - /* Allocate shared memory */ - ret_api = VehicleLinkShareData(reinterpret_cast<void **>(&share_top), &share_size, &offset); - if (RET_NORMAL != ret_api) { - /* Failed to allocate shared memory */ - ret = POS_RET_ERROR_OUTOF_MEMORY; - } else { /* When the shared memory is allocated successfully */ - /* Calculate start address of free shared memory area */ - share_dat = reinterpret_cast<VEHICLE_SHARE_BLOCK_DAT *>(reinterpret_cast<u_int8 *>(share_top) - + offset); - - /* Send vehicle sensor information acquisition message */ - data.did = did; - data.pno = pno; - data.offset = offset; - data.size = VEHICLE_SHARE_BLOCK_DSIZE; - - /* Messaging */ - ret_api = VehicleSndMsg(pno, - PNO_VEHICLE_SENSOR, - CID_VEHICLEIF_GET_VEHICLE_DATA, - sizeof(VEHICLE_MSG_GET_VEHICLE_DATA_DAT), (const void *)&data); - - /* Message transmission processing is successful */ - if (RET_NORMAL == ret_api) { - /* Wait for completion event from vehicle sensor thread */ - ret_api = _pb_WaitEvent(event_id, - SAPI_EVWAIT_VAL, - VEHICLE_RET_ERROR_MIN, - VEHICLE_RET_NORMAL, &event_val, POS_API_TIME_OUT_MS); - - if (RET_NORMAL != ret_api) { - /* Return an internal error */ - ret = POS_RET_ERROR_INNER; - } else { /* Return from Event Wait */ - /* Link to shared memory */ - ret_api = _pb_LinkShareData(const_cast<char *>(VEHICLE_SHARE_NAME), - &share_top, &share_size); - - /* Calculate the address of the shared memory storage area. */ - share_dat = reinterpret_cast<VEHICLE_SHARE_BLOCK_DAT *>(reinterpret_cast<u_int8 *>(share_top) - + offset); - - if (event_val < 0) { - /* Vehicle sensor information acquisition failure */ - ret = (VEHICLE_RET_API)event_val; - } else if (RET_NORMAL != ret_api) { - /* Shared memory error */ - ret = POS_RET_ERROR_OUTOF_MEMORY; - } else if (dest_size < share_dat->size) { - /* Storage destination size error */ - ret = POS_RET_ERROR_SIZE; - } else { /* Vehicle sensor information acquisition success */ - /* Copy from shared memory to user memory */ - memcpy(p_data, share_dat->data, (size_t)share_dat->size); - - /* Set Write Size to Return Value */ - ret = static_cast<int32>(share_dat->size); - } - } - } else { /* Message transmission processing failed */ - /* Return an event generation failure */ - ret = POS_RET_ERROR_CREATE_EVENT; - } - /* Free shared memory */ - (void)VehicleUnLinkShareData(reinterpret_cast<VEHICLE_SHARE*>(share_top), offset); - } - /* Event deletion */ - ret_api = VehicleDeleteEvent(event_id); - } else { - /* Event generation failure */ - ret = POS_RET_ERROR_CREATE_EVENT; - } - } else { - /* Insufficient resource */ - ret = POS_RET_ERROR_RESOURCE; - } - /* Resource release */ - VehicleReleaseResource(); - - return ret; -} - -/** - * @brief - * Delivery registration process(Internal processing) - * - * @param[in] notify_name Destination thread name - * @param[in] did Pointer to an array of data IDs for vehicle information - * @param[in] ctrl_flg Delivery control<br> - * Delivery registration: SENSOR_DELIVERY_REGIST<br> - * Delivery stop: SENSOR_DELIVERY_STOP (Note: Not mounted)<br> - * Resume delivery: SENSOR_DELIVERY_RESTART (Note: Not mounted) - * @param[in] delivery_timing Delivery timing<br> - * Updating : SENSOR_DELIVERY_TIMING_UPDATE<br> - * Changing : SENSOR_DELIVERY_TIMING_CHANGE - * - * @return SENSOR_RET_NORMAL Successful registration<br> - * SENSOR_RET_ERROR_CREATE_EVENT Event generation failure<br> - * SENSOR_RET_ERROR_PARAM Parameter error<br> - * SENSOR_RET_ERROR_DID Unregistered ID<br> - * SENSOR_RET_ERROR_BUFFULL FULL of delivery registers<br> - * SENSOR_RET_ERROR_INNER Internal abnormality<br> - */ -inline SENSOR_RET_API PosRegisterListenerProc(PCSTR notify_name, DID did, u_int8 ctrl_flg, u_int8 delivery_timing) { - SENSOR_RET_API ret; /* Return value */ - RET_API ret_api; /* System API return value */ - EventID event_id; /* Event ID */ - int32 event_val; /* Event value */ - VEHICLE_MSG_DELIVERY_ENTRY_DAT data; /* Message data */ - PNO pno; /* Converted internal PNO */ - - /* Resource acquisition */ - if (VehicleGetResource() == TRUE) { - /* Initialization */ - event_id = 0; - event_val = 0; - - /* Get PNO from Thread Name */ - pno = _pb_CnvName2Pno(notify_name); - - /* Event Generation */ - event_id = VehicleCreateEvent(pno); - - if (0 != event_id) { - /* Successful event generation */ - - /*--------------------------------------------------------------* - * Send Vehicle Sensor Information Delivery Registration Message * - *--------------------------------------------------------------*/ - /* Create Message Data */ - data.did = did; - data.pno = pno; - data.delivery_timing = delivery_timing; - data.ctrl_flg = ctrl_flg; - data.event_id = event_id; - - /* Messaging */ - ret_api = VehicleSndMsg(pno, - PNO_VEHICLE_SENSOR, - CID_VEHICLEIF_DELIVERY_ENTRY, - (uint16_t)sizeof(VEHICLE_MSG_DELIVERY_ENTRY_DAT), (const void *)&data); - - if (RET_NORMAL == ret_api) { - /* Message transmission processing is successful */ - /* Wait for completion event from vehicle sensor thread */ - ret_api = _pb_WaitEvent(event_id, - SAPI_EVWAIT_VAL, - VEHICLE_RET_ERROR_MIN, - VEHICLE_RET_NORMAL, &event_val, POS_API_TIME_OUT_MS); - if (RET_NORMAL != ret_api) { - /* Return an internal error */ - ret = SENSOR_RET_ERROR_INNER; - } else { - /* Return from Event Wait */ - /* Set event value (processing result) as return value */ - ret = (SENSOR_RET_API)event_val; - } - } else { - /* Message transmission processing failed */ - /* Return an internal error */ - ret = SENSOR_RET_ERROR_INNER; - } - /* Event deletion */ - ret_api = VehicleDeleteEvent(event_id); - } else { - /* Event generation failure */ - ret = SENSOR_RET_ERROR_CREATE_EVENT; - } - } else { - /* Insufficient resource */ - ret = SENSOR_RET_ERROR_RESOURCE; - } - /* Resource release */ - VehicleReleaseResource(); - - return ret; -} - -/******************************************************************************* - * MODULE : VehicleCreateEvent - * ABSTRACT : Event creation process - * FUNCTION : Generate an event - * ARGUMENT : pno : Thread ID - * NOTE : - * RETURN : Non-zero : Event ID - * : Zero : Event generation failure - ******************************************************************************/ -inline EventID VehicleCreateEvent(PNO pno) { - EventID event_id; /* Event ID */ - char event_name[32]; /* Event name character string buffer */ - RET_API ret_api; /* System API return value */ - - - /* Initialization of event name character string buffer */ - memset(reinterpret_cast<void *>(event_name), 0, sizeof(event_name)); - /* Event name creation */ - snprintf(event_name, sizeof(event_name), "VEHICLE_%X", pno); - - /* Event Generation */ - event_id = _pb_CreateEvent(FALSE, 0, event_name); - - if (0 != event_id) { - /* For successful event generation */ - - /* Initialize the event */ - ret_api = _pb_SetEvent(event_id, SAPI_EVSET_ABSOLUTE, VEHICLE_EVENT_VAL_INIT); - if (RET_NORMAL != ret_api) { - /* Event initialization failed */ - /* Delete Event and Return Event Generation Failed */ - ret_api = VehicleDeleteEvent(event_id); - event_id = 0; - } - } - - return(event_id); -} - -/******************************************************************************* - * MODULE : VehicleDeleteEvent - * ABSTRACT : Event deletion processing - * FUNCTION : Delete events - * ARGUMENT : event_id : Event ID of the event to delete - * NOTE : - * RETURN : RET_NORMAL : Normal completion - * : RET_EV_NONE : Specified event does not exist - ******************************************************************************/ -inline RET_API VehicleDeleteEvent(EventID event_id) { - return(_pb_DeleteEvent(event_id)); -} - -/******************************************************************************* - * MODULE : VehicleLinkShareData - * ABSTRACT : Link to shared memory - * FUNCTION : Link to shared memory - * ARGUMENT : **share_top : Storage destination of shared memory top address - * : *share_size : Storage destination of shared memory area size - * : *offset : Offset storage destination to free shared memory area - * NOTE : - * RETURN : RET_NORMAL : Normal completion - * : RET_ERROR : There is no shared memory area. - ******************************************************************************/ -inline RET_API VehicleLinkShareData(void **share_top, uint32_t *share_size, uint16_t *offset) { - RET_API ret_api; /* System API return value */ - SemID sem_id; /* Semaphore ID */ - VEHICLE_SHARE *share_top_tmp; - int32 i; - - /* Initialization */ - ret_api = RET_ERROR; - - /* Create Semaphore */ - sem_id = _pb_CreateSemaphore(const_cast<char *>(VEHICLE_SEMAPHO_NAME)); - if (0 != sem_id) { - /* Semaphore Lock */ - ret_api = _pb_SemLock(sem_id); - if (RET_NORMAL == ret_api) { - /* Link to shared memory */ - ret_api = _pb_LinkShareData(const_cast<char *>(VEHICLE_SHARE_NAME), share_top, share_size); - if (RET_NORMAL == ret_api) { - /* By searching the free shared memory area,Offset is calculated if there is free space. */ - share_top_tmp = reinterpret_cast<VEHICLE_SHARE *>(*share_top); - - /* Because the first block of the shared memory area is the control area,Loop from i = 1 */ - for (i = 1; i < VEHICLE_SHARE_BLOCK_NUM; i++) { - if (VEHICLE_SHARE_UNLOCK == share_top_tmp->mng.lock_info[i]) { - break; - } - } - if (i < VEHICLE_SHARE_BLOCK_NUM) { - /* Empty space */ - /* Lock the block */ - share_top_tmp->mng.lock_info[i] = VEHICLE_SHARE_LOCK; - - /* Calculate the offset to the block */ - *offset = static_cast<u_int16>(i * VEHICLE_SHARE_BLOCK_SIZE); - - /* Normal completion */ - ret_api = RET_NORMAL; - } else { - /* No free space */ - ret_api = RET_ERROR; - } - } else { - /* Failed link to shared memory */ - ret_api = RET_ERROR; - } - /* Semaphore unlock */ - _pb_SemUnlock(sem_id); - } else { - /* Semaphore lock failed */ - ret_api = RET_ERROR; - } - } else { - /* Semaphore creation failed */ - ret_api = RET_ERROR; - } - - return(ret_api); -} - -/******************************************************************************* - * MODULE : VehicleUnLinkShareData - * ABSTRACT : Unlinking shared memory - * FUNCTION : Unlink shared memory - * ARGUMENT : *share_top : Start address of shared memory - * : offset : Offset to shared memory free area - * NOTE : - * RETURN : RET_NORMAL : Normal completion - * : RET_ERROR : There is no shared memory area./semaphore error - ******************************************************************************/ -inline RET_API VehicleUnLinkShareData(VEHICLE_SHARE *share_top, uint16_t offset) { - RET_API ret_api; /* System API return value */ - SemID sem_id; /* Semaphore ID */ - int32 i; - - /* Initialization */ - ret_api = RET_ERROR; - - /* Create Semaphore */ - sem_id = _pb_CreateSemaphore(const_cast<char *>(VEHICLE_SEMAPHO_NAME)); - if (0 != sem_id) { - /* Semaphore Lock */ - ret_api = _pb_SemLock(sem_id); - if (RET_NORMAL == ret_api) { - /* Unlock the block */ - i = static_cast<int32>(offset) / VEHICLE_SHARE_BLOCK_SIZE; - share_top->mng.lock_info[i] = VEHICLE_SHARE_UNLOCK; - - /* Semaphore unlock */ - _pb_SemUnlock(sem_id); - - /* Normal completion */ - ret_api = RET_NORMAL; - } else { - /* Semaphore lock failed */ - ret_api = RET_ERROR; - } - } else { - /* Semaphore creation failed */ - ret_api = RET_ERROR; - } - - return(ret_api); -} - -/******************************************************************************* - * MODULE : VehicleSndMsg - * ABSTRACT : Message transmission processing - * FUNCTION : Send a message to the specified PNO - * ARGUMENT : pno_src : Source PNO - * : pno_dest : Destination PNO - * : cid : Command ID - * : msg_len : Message data body length - * : *msg_data : Pointer to message data - * NOTE : - * RETURN : RET_NORMAL : Normal completion - * : RET_ERRNOTRDY : Destination process is not wakeup - * : RET_ERRMSGFULL : Message queue overflows - * : RET_ERRPARAM : Buffer size error - ******************************************************************************/ -inline RET_API VehicleSndMsg(PNO pno_src, PNO pno_dest, CID cid, uint16_t msg_len, const void *msg_data) { - VEHICLE_MSG_BUF msg_buf; /* message buffer */ - T_APIMSG_MSGBUF_HEADER *msg_hdr; /* Pointer to the message header */ - RET_API ret_api; /* Return value */ - PCSTR thread_name; /* Destination thread name */ - - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, - "+ [pno_src = 0x%x, pno_dest = 0x%x]", pno_src, pno_dest); - - /* _CWORD71_ processing speed(Memset modification) */ - /* Initializing the header of the message buffer */ - memset(reinterpret_cast<void *>(&msg_buf.hdr), 0, sizeof(T_APIMSG_MSGBUF_HEADER)); - - /* Get pointer to send buffer */ - msg_hdr = reinterpret_cast<T_APIMSG_MSGBUF_HEADER *>(reinterpret_cast<void *>(&msg_buf)); - - /*--------------------------------------------------------------* - * Create message headers * - *--------------------------------------------------------------*/ - msg_hdr->hdr.sndpno = pno_src; /* Source PNO */ - msg_hdr->hdr.cid = cid; /* Command ID */ - msg_hdr->hdr.msgbodysize = msg_len; /* Message data body length */ - - /*--------------------------------------------------------------* - * Create message data * - *--------------------------------------------------------------*/ - if ((0 != msg_data) && (0 != msg_len)) { - /* Set the message data */ - memcpy(reinterpret_cast<void *>(msg_buf.data), msg_data, (size_t)msg_len); - } - /*--------------------------------------------------------------* - * Send messages * - *--------------------------------------------------------------*/ - /* Get Thread Name from PNO */ - if (pno_dest <= SYS_PNO_MAX) { - thread_name = POS_THREAD_NAME; - } else { - thread_name = _pb_CnvPno2Name(pno_dest); - } - - if ((pno_dest <= SYS_PNO_MAX) && (pno_src <= SYS_PNO_MAX)) { - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "[LOG pno_dest = 0x%x]", pno_dest); - - /* Internal Process Transmission and Reception Messages */ - ret_api = _pb_SndMsg(pno_dest, - (uint16_t)(sizeof(T_APIMSG_MSGBUF_HEADER) + msg_len), - reinterpret_cast<void *>(&msg_buf), 0); - } else { - /* External Process Transmission and Reception Messages */ - ret_api = _pb_SndMsg_Ext(thread_name, - cid, - (uint16_t)(msg_len), /* Ignore->MISRA-C++:2008 Rule 5-0-5 */ - reinterpret_cast<void *>(&(msg_buf.data)), 0); - } - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "-"); - - return(ret_api); -} - -/** - * @brief - * Resource Acquisition Decision - * - * @param[in] none - * - * @return TRUE Normal<br> - * FALSE Abnormality(Insufficient resource) - */ -inline BOOL VehicleGetResource(void) { - BOOL ret[4] = {TRUE, TRUE, TRUE, TRUE}; - uint8_t idx; - - ret[1] = _pb_GetMsgResource(); - ret[2] = _pb_GetMutexResource(); - ret[3] = _pb_GetOtherResource(); - - for (idx = 1; idx < 4; idx++) { - if (ret[idx] == FALSE) { - ret[0] = FALSE; - } - } - - return ret[0]; -} - -/** - * @brief - * Resource release - * - * @param[in] none - * - * @return none - */ -inline void VehicleReleaseResource(void) { - _pb_ReleaseMsgResource(); - _pb_ReleaseMutexResource(); - _pb_ReleaseOtherResource(); - - return; -} - -inline uint32_t GetTid(void) { - return (uint32_t)syscall(__NR_gettid); -} - - -#endif // POSITIONING_CLIENT_INCLUDE_POS_PRIVATE_H_ diff --git a/vehicleservice/positioning/client/include/POS_sensor_private.h b/vehicleservice/positioning/client/include/POS_sensor_private.h deleted file mode 100755 index 1e1497f..0000000 --- a/vehicleservice/positioning/client/include/POS_sensor_private.h +++ /dev/null @@ -1,163 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_POS_SENSOR_PRIVATE_H_ -#define POSITIONING_CLIENT_INCLUDE_POS_SENSOR_PRIVATE_H_ -/****************************************************************************** - * file name :POS_sensor_private.h - * system name :Positioning - * sub system name :Positioning internal interface library - ******************************************************************************/ - -#include <vehicle_service/POS_sensor_API.h> -#include <vehicle_service/pos_message_header.h> -#include <native_service/frameworkunified_types.h> -/************************************************************************ -* definition * -************************************************************************/ -/*----------------------------------------------------------------------* - * for message * - *----------------------------------------------------------------------*/ -/* command ID */ -#define CID_SENSOR_PKG_INFO 0x0700 /* vehicle sensor package notification ID */ - -/*----------------------------------------------------------------------* - * definition for GPS response * - *----------------------------------------------------------------------*/ -#define GPS_BUFFERFUL 2 /* transmit buffer full(rejection) */ -#define GPS_INITIAL 3 /* initialization state(rejection) */ -#define GPS_CONNECTNG 4 /* connection error(rejection) */ - -/*----------------------------------------------------------------------* - * definition clock status * - *----------------------------------------------------------------------*/ -#define CLOCK_VALID (1U) -#define CLOCK_INVALID (0U) - -/*----------------------------------------------------------------------* - * Message Related Extensions * - *----------------------------------------------------------------------*/ -#define CID_SENSORIF_SET_GPSTIME 0x0701 /* GPS time information setting CID */ - -/*----------------------------------------------------------------------* - * GPS version-related definitions * - *----------------------------------------------------------------------*/ -#define GPS__CWORD82__VERSION_LEN (7U) /* _CWORD82_ version data length */ - -/************************************************************************ -* struct declaration * -************************************************************************/ -/************************************************************************ -* TAG : SENSOR_MSG_DELIVERY_ENTRY -* ABSTRACT : vehicle sensor delivery message (to vehicle sensor) -************************************************************************/ -typedef struct { - PNO pno; /* destination process number */ - u_int8 pkg_num; /* number of package data (1 - 16) */ - u_int8 delivery_timing; /* delivery timing */ - u_int8 ctrl_flg; /* delivery control flag */ - u_int8 reserve[3]; - EventID event_id; /* event ID */ - DID did[SENSOR_PKG_DELIVERY_MAX]; /* data ID array */ -} SENSOR_MSG_DELIVERY_ENTRY_DAT; - -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* message header */ - SENSOR_MSG_DELIVERY_ENTRY_DAT data; /* message body */ -} SENSOR_MSG_DELIVERY_ENTRY; - -/************************************************************************ -* TAG : SENSOR_MSG_GET_SENSOR_DATA -* ABSTRACT : vehicle sensor getter message (to vehicle sensor) -************************************************************************/ -typedef struct { - PNO pno; /* destination process number */ - u_int8 pkg_num; /* number of package data (1 - 16) */ - u_int8 reserve; - u_int16 offset; /* share memory offset */ - u_int16 size; /* share memory allocation size */ - EventID event_id; /* event ID */ - DID did[SENSOR_PKG_DELIVERY_MAX]; /* data ID about vehicle sensor */ -} SENSOR_MSG_GET_SENSOR_DATA_DAT; - -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* message header */ - SENSOR_MSG_GET_SENSOR_DATA_DAT data; /* message body */ -} SENSOR_MSG_GET_SENSOR_DATA; - -/************************************************************************ -* TAG : SENSOR_INTERNAL_MSG_BUF -* ABSTRACT : message buffer -************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* message header */ - u_int8 data[SENSOR_MSGBUF_DSIZE]; /* message body */ -} SENSOR_INTERNAL_MSG_BUF; - -/******************************************************************************** - * TAG :TG_GPSTIME - * ABSTRACT :GPS Absolute Time Structure - * NOTE : - ********************************************************************************/ -typedef struct { - u_int16 year; /* Year information(4-digit year) */ - u_int8 month; /* Month information */ - u_int8 day; /* Day information */ - u_int8 hour; /* Hour information */ - u_int8 minute; /* Minute information */ - u_int8 second; /* Second information */ - u_int8 reserve; /* reserve */ -} TG_GPSTIME; - -/******************************************************************************** - * TAG :TG_GPS_RTCBKUP_DATA - * ABSTRACT :RTC backup-related data structures - * NOTE :RTC-backup-related data stored in the SRAM alternate DRAM - ********************************************************************************/ -typedef struct { - u_int8 time_status; /* Time Status */ - u_int8 reserve1[3]; /* Reserve 1 */ - TG_GPSTIME gps_time; /* GPS Absolute Time */ -} TG_GPS_RTCBKUP_DATA; /* */ - -/************************************************************************ - * TAG : GPS_INTERRUPT - * ABSTRACT : GPS interrupt status - * NOTE : -************************************************************************/ -typedef struct { - u_int8 _CWORD102__interrupt; /* from GPS to _CWORD102_ interrupt status */ - u_int8 _CWORD56__interrupt; /* from GPS to _CWORD56_ interrupt status */ -} GPS_INTERRUPT; - -/******************************************************************************** - * TAG :LOCALTIME - * ABSTRACT :LocalTime data structure - * NOTE : - ********************************************************************************/ -typedef struct { - u_int8 status; /* status : valid or invalid */ - u_int8 reserve[3]; /* reserve */ - u_int16 year; /* year : 2000..2099 (FFFFh:invalid) */ - u_int8 month; /* month : 1..12 (FFh:invalid) */ - u_int8 day; /* date : 1..31 (FFh:invalid) */ - u_int8 hour; /* hour : 0..23 (FFh:invalid) */ - u_int8 min; /* minute : 0..59 (FFh:invalid) */ - u_int8 sec; /* second : 0..59 (FFh:invalid) */ - u_int8 reserve2; /* reserve */ -} LOCALTIME; - -#endif // POSITIONING_CLIENT_INCLUDE_POS_SENSOR_PRIVATE_H_ diff --git a/vehicleservice/positioning/client/include/SensorLocation_API.h b/vehicleservice/positioning/client/include/SensorLocation_API.h deleted file mode 100755 index ae7f20a..0000000 --- a/vehicleservice/positioning/client/include/SensorLocation_API.h +++ /dev/null @@ -1,124 +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 SensorLocation_API.h -@detail SensorLocation_API external header file<BR> - SensorLocation_API External public header -******************************************************************************/ -#ifndef POSITIONING_CLIENT_INCLUDE_SENSORLOCATION_API_H_ -#define POSITIONING_CLIENT_INCLUDE_SENSORLOCATION_API_H_ - -/***************************************************************************** - * Include * - *****************************************************************************/ - -/***************************************************************************** - * Define * - *****************************************************************************/ -/* Command ID */ -#define CID_VEHICLE_SENSORLOCATION_LONLAT (0x0201) -/* Vehicle sensor information notification CID (Latitude and longitude information)*/ -#define CID_VEHICLE_SENSORLOCATION_ALTITUDE (0x0202) -/* Vehicle sensor information notification CID (Altitude Information) */ - -/* SENSORLOCATION_RET_API definition */ -#define SENSORLOCATION_RET_NORMAL (0) /* Successful completion */ -#define SENSORLOCATION_RET_ERROR_PARAM (-1) /* Parameter error */ -#define SENSORLOCATION_RET_ERROR_BUFFULL (-2) /* Number of registered FULL */ -#define SENSORLOCATION_RET_ERROR_INNER (-3) /* Internal error */ - -/* Delivery opportunity definition */ -#define SENSORLOCATION_DELIVERY_TIMING_CHANGE (0) /* Change */ -#define SENSORLOCATION_DELIVERY_TIMING_UPDATE (1) /* UpDate */ - -/* Presence information definitions DR */ -#define SENSORLOCATION_EXISTDR_NODR (0) /* Without DR */ -#define SENSORLOCATION_EXISTDR_DR (1) /* There DR */ - -/* DR state definition */ -#define SENSORLOCATION_DRSTATUS_INVALID (0) /* Invalid */ -#define SENSORLOCATION_DRSTATUS_GPS_NODR (1) /* Information use GPS, not yet implemented DR */ -#define SENSORLOCATION_DRSTATUS_NOGPS_DR (2) /* No information available GPS, DR implementation */ -#define SENSORLOCATION_DRSTATUS_GPS_DR (3) /* Information use GPS, DR implementation */ - -/* LONLAT initial value definition */ -#define SENSORLOCATION_LATITUDE_INIT_VALUE 0x7FFFFFFFL /* initial value */ -#define SENSORLOCATION_LONGITUDE_INIT_VALUE 0x7FFFFFFFL /* initial value */ - -/***************************************************************************** - * Typedef * - *****************************************************************************/ -typedef int32 SENSORLOCATION_RET_API; - -/***************************************************************************** - * Struct * - *****************************************************************************/ -/***************************************************************************** - * TAG : SENSORLOCATION_LONLATINFO_DAT - * ABSTRACT : Latitude and longitude information data structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 size; /* Size */ - u_int8 sensor_cnt; /* Sensor counter value */ - u_int8 is_exist_dr; /* Presence or absence information DR */ - u_int8 dr_status; /* DR state */ - u_int8 reserve[3]; /* Reserve */ - int32 longitude; /* Longitude */ - int32 latitude; /* Latitude */ -} SENSORLOCATION_MSG_LONLATINFO_DAT; - -/***************************************************************************** - * TAG : SENSORLOCATION_ALTITUDEINFO_DAT - * ABSTRACT : Altitude information data structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 size; /* Size */ - u_int8 sensor_cnt; /* Sensor counter value */ - u_int8 is_exist_dr; /* Presence or absence information DR */ - u_int8 dr_status; /* DR state */ - u_int8 reserve[3]; /* Reserve */ - int32 altitude; /* Altitude(0.01m) */ -} SENSORLOCATION_MSG_ALTITUDEINFO_DAT; - -/***************************************************************************** - * TAG : LONLAT - * ABSTRACT : Latitude and Longitude data structure - * NOTE : - *****************************************************************************/ -typedef struct { - int32 latitude; /* Latitude */ - int32 longitude; /* Longitude */ -} LONLAT; - -/***************************************************************************** -* Function prototypes * -*****************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif -extern SENSORLOCATION_RET_API SensorLocationRegisterListenerLonLat(PNO pno, u_int8 delivery_timing); -extern SENSORLOCATION_RET_API SensorLocationRegisterListenerAltitude(PNO pno, u_int8 delivery_timing); -extern SENSORLOCATION_RET_API SensorLocationGetLonLat(SENSORLOCATION_MSG_LONLATINFO_DAT *dat); -extern SENSORLOCATION_RET_API SensorLocationGetAltitude(SENSORLOCATION_MSG_ALTITUDEINFO_DAT *dat); -extern SENSORLOCATION_RET_API SensorLocationGetLonLatOnShutdown(LONLAT *lonlat); -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_SENSORLOCATION_API_H_ diff --git a/vehicleservice/positioning/client/include/SensorLocation_API_private.h b/vehicleservice/positioning/client/include/SensorLocation_API_private.h deleted file mode 100755 index d37d9eb..0000000 --- a/vehicleservice/positioning/client/include/SensorLocation_API_private.h +++ /dev/null @@ -1,39 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_SENSORLOCATION_API_PRIVATE_H_ -#define POSITIONING_CLIENT_INCLUDE_SENSORLOCATION_API_PRIVATE_H_ -/****************************************************************************** - * File name :SensorLocation_API_private.h - * System name :PastModel002 - * Subsystem name :Vehicle I/F library - ******************************************************************************/ - -/************************************************************************ -* Macro definitions * -************************************************************************/ - -/*----------------------------------------------------------------------* - * Shared Memory Related Extensions * - *----------------------------------------------------------------------*/ -#define LONLAT_SEMAPHO_NAME ("LONLAT_SHARE_SEMAPHO") /* Semaphore name(MAX 32Byte) */ - -/*----------------------------------------------------------------------* - * Shared Memory Related Extensions * - *----------------------------------------------------------------------*/ -#define LONLAT_SHARE_NAME ("LONLAT_SHARE_MEMORY") /* Shared memory name(MAX 32Byte) */ - -#endif // POSITIONING_CLIENT_INCLUDE_SENSORLOCATION_API_PRIVATE_H_ */ diff --git a/vehicleservice/positioning/client/include/SensorMotion_API.h b/vehicleservice/positioning/client/include/SensorMotion_API.h deleted file mode 100755 index 2db5511..0000000 --- a/vehicleservice/positioning/client/include/SensorMotion_API.h +++ /dev/null @@ -1,178 +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 SensorMotion_API.h -@detail SensorMotion_API external header file<BR> - SensorMotion_API External public header -******************************************************************************/ -#ifndef POSITIONING_CLIENT_INCLUDE_SENSORMOTION_API_H_ -#define POSITIONING_CLIENT_INCLUDE_SENSORMOTION_API_H_ - -/***************************************************************************** - * Include * - *****************************************************************************/ - -/***************************************************************************** - * Define * - *****************************************************************************/ -/* Command ID */ -/* Vehicle sensor information notification CID (Rate information) */ -#define CID_VEHICLE_SENSORMOTION_SPEED (0x0203) -/* Vehicle sensor information notification CID (Orientation information) */ -#define CID_VEHICLE_SENSORMOTION_HEADING (0x0204) - -/* Vehicle sensor information notification CID (GyroTrouble information) */ -#define CID_VEHICLE_SENSORMOTION_GYROTROUBLE (0x020A) -/* Vehicle sensor information notification CID (GyroParameter information) */ -#define CID_VEHICLE_SENSORMOTION_GYROPARAMETER (0x020B) -/* Vehicle sensor information notification CID (SpeedParameter information) */ -#define CID_VEHICLE_SENSORMOTION_SPEEDPULSEPARAMETER (0x020C) - -/* SENSORMOTION_RET_API definition */ -#define SENSORMOTION_RET_NORMAL (0) /* Successful completion */ -#define SENSORMOTION_RET_ERROR_PARAM (-1) /* Parameter error */ -#define SENSORMOTION_RET_ERROR_BUFFULL (-2) /* Number of registered FULL */ -#define SENSORMOTION_RET_ERROR_INNER (-3) /* Internal error */ - -/* Delivery opportunity definition */ -#define SENSORMOTION_DELIVERY_TIMING_CHANGE (0) /* Change */ -#define SENSORMOTION_DELIVERY_TIMING_UPDATE (1) /* UpDate */ - -/* Presence information definitions DR */ -#define SENSORMOTION_EXISTDR_NODR (0) /* Without DR */ -#define SENSORMOTION_EXISTDR_DR (1) /* There DR */ - -/* DR state definition */ -#define SENSORMOTION_DRSTATUS_INVALID (0) /* Invalid */ -#define SENSORMOTION_DRSTATUS_GPS_NODR (1) /* Information use GPS, not yet implemented DR */ -#define SENSORMOTION_DRSTATUS_NOGPS_DR (2) /* No information available GPS, DR implementation */ -#define SENSORMOTION_DRSTATUS_GPS_DR (3) /* Information use GPS, DR implementation */ - -/*----------------------------------------------------------------------* - * General Purpose Definition - *----------------------------------------------------------------------*/ -#define SENSORMOTION_NORMAL (0U) -#define SENSORMOTION_ERROR (1U) -#define SENSORMOTION_UNFIXED (2U) - -/***************************************************************************** - * Typedef * - *****************************************************************************/ -typedef int32 SENSORMOTION_RET_API; - -/***************************************************************************** - * Struct * - *****************************************************************************/ -/***************************************************************************** - * TAG : SENSORMOTION_SPEEDINFO_DAT - * ABSTRACT : Vehicle speed information data structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 size; /* Size */ - u_int8 sensor_cnt; /* Sensor counter value */ - u_int8 is_exist_dr; /* Presence or absence information DR */ - u_int8 dr_status; /* DR state */ - u_int8 reserve; /* Reserve */ - u_int16 speed; /* Speed(0.01m/sec) */ -} SENSORMOTION_MSG_SPEEDINFO_DAT; - -/***************************************************************************** - * TAG : SENSORMOTION_MSG_HEADINGINFO_DAT - * ABSTRACT : Orientation information data structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 size; /* Size */ - u_int8 sensor_cnt; /* Sensor counter value */ - u_int8 is_exist_dr; /* Presence or absence information DR */ - u_int8 dr_status; /* DR state */ - u_int8 reserve; /* Reserve */ - u_int16 heading; /* Heading */ -} SENSORMOTION_MSG_HEADINGINFO_DAT; - -/***************************************************************************** - * TAG : SENSORMOTION_MSG_GYROTROUBLEINFO_DAT - * ABSTRACT : GyroTrouble information data structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 size; /* Size */ - u_int8 gyro_trouble; /* Gyro Trouble Status */ - u_int8 reserve; /* Reserve */ -} SENSORMOTION_MSG_GYROTROUBLEINFO_DAT; - -/***************************************************************************** - * TAG : SENSORMOTION_MSG_GYROTROUBLEINFO - * ABSTRACT : Delivery of the message GyroTrouble information - * NOTE : Message structure(VehicleSens -> User) - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - SENSORMOTION_MSG_GYROTROUBLEINFO_DAT data; /* Delivery data (GyroTrouble) */ -} SENSORMOTION_MSG_GYROTROUBLEINFO; - -/***************************************************************************** - * TAG : SENSORMOTION_MSG_GYROPARAMETERINFO_DAT - * ABSTRACT : GyroParameter information data structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 size; /* Size */ - u_int16 gyro_offset; /* Gyro Offset */ - u_int8 gyro_scale_factor; /* Gyro Scale Factor */ - u_int8 gyro_scale_factor_level; /* Gyro Scale Factor Level */ - u_int8 reserve[2]; /* Reserve */ -} SENSORMOTION_MSG_GYROPARAMETERINFO_DAT; - -/***************************************************************************** - * TAG : SENSORMOTION_MSG_GYROPARAMETERINFO - * ABSTRACT : Delivery of the message GyroParameter information - * NOTE : Message structure(VehicleSens -> User) - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - SENSORMOTION_MSG_GYROPARAMETERINFO_DAT data; /* Delivery data (GyroParameter) */ -} SENSORMOTION_MSG_GYROPARAMETERINFO; - -/***************************************************************************** - * TAG : SENSORMOTION_MSG_SPEEDPULSEPARAMETERINFO_DAT - * ABSTRACT : SpeedPulseParameter information data structure - * NOTE : - *****************************************************************************/ -typedef struct { - u_int16 size; /* Size */ - u_int16 speed_pulse_scale_factor; /* Speed Pulse Scale Factor */ - u_int8 speed_pulse_scale_factor_level; /* Speed Pulse Scale Factor Level */ - u_int8 reserve[3]; /* Reserve */ -} SENSORMOTION_MSG_SPEEDPULSEPARAMETERINFO_DAT; - -/***************************************************************************** - * TAG : SENSORMOTION_MSG_SPEEDPULSEPARAMETERINFO - * ABSTRACT : Delivery of the message SpeedPulseParameter information - * NOTE : Message structure(VehicleSens -> User) - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - SENSORMOTION_MSG_SPEEDPULSEPARAMETERINFO_DAT data; /* Delivery data (SpeedPulseParameter) */ -} SENSORMOTION_MSG_SPEEDPULSEPARAMETERINFO; - -/***************************************************************************** - * Function prototypes * - *****************************************************************************/ - -#endif // POSITIONING_CLIENT_INCLUDE_SENSORMOTION_API_H_ diff --git a/vehicleservice/positioning/client/include/Sensor_API.h b/vehicleservice/positioning/client/include/Sensor_API.h deleted file mode 100755 index b49b4ac..0000000 --- a/vehicleservice/positioning/client/include/Sensor_API.h +++ /dev/null @@ -1,36 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_SENSOR_API_H_ -#define POSITIONING_CLIENT_INCLUDE_SENSOR_API_H_ -/****************************************************************************** - * file name :Sensor_API.h - * system name :GPF - * sub system name :sensor interface library - ******************************************************************************/ -#include <vehicle_service/positioning_base_library.h> -#include "Sensor_Common_API.h" -#include <vehicle_service/POS_sensor_API.h> -#include "POS_sensor_private.h" - -/*! - @brief GPS Rollover Based Week Number Structure -*/ -typedef struct { - uint16_t wkn; /**< GPS rollover base week number */ -} SENSOR_WKNROLLOVER; - -#endif // POSITIONING_CLIENT_INCLUDE_SENSOR_API_H_ diff --git a/vehicleservice/positioning/client/include/Sensor_API_private.h b/vehicleservice/positioning/client/include/Sensor_API_private.h deleted file mode 100755 index c3b5f54..0000000 --- a/vehicleservice/positioning/client/include/Sensor_API_private.h +++ /dev/null @@ -1,174 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_SENSOR_API_PRIVATE_H_ -#define POSITIONING_CLIENT_INCLUDE_SENSOR_API_PRIVATE_H_ -/****************************************************************************** - * File name :Sensor_API_private.h - * System name :GPF - * Subsystem name Vehicle I/F library - ******************************************************************************/ - -/************************************************************************ -* Macro definitions * -************************************************************************/ -#define SENSOR_PUBLIC_DID_NUM 31 - -/*----------------------------------------------------------------------* - * Shared Memory Related Extensions * - *----------------------------------------------------------------------*/ -#define SENSOR_SHARE_LOCK 0xFF /* Locking */ -#define SENSOR_SHARE_UNLOCK 0x00 /* Unlocking */ - -#define SENSOR_SHARE_BLOCK_MNUM 1 /* Number of shared memory control blocks */ -#define SENSOR_SHARE_BLOCK_DNUM 10 /* Number of shared memory data blocks */ -/* Number of shared memory blocks */ -#define SENSOR_SHARE_BLOCK_NUM (SENSOR_SHARE_BLOCK_MNUM+SENSOR_SHARE_BLOCK_DNUM) - -#define SENSOR_SHARE_BLOCK_SIZE 512 /* Shared Memory Block Size(byte) */ -#define SENSOR_SHARE_HEAD_SIZE 40 /* Vehicle Sensor Information Header( (4)+1+3+16*2) */ -/* Shared Memory Data Size */ -#define SENSOR_SHARE_BLOCK_DSIZE (SENSOR_SHARE_BLOCK_SIZE - SENSOR_SHARE_HEAD_SIZE) -/* Size of shared memory allocation area */ -#define SENSOR_SHARE_SIZE (SENSOR_SHARE_BLOCK_SIZE * SENSOR_SHARE_BLOCK_NUM) - -#define SENSOR_SEMAPHO_NAME ("SENSOR_SHARE_SEMAPHO") /* Semaphore name */ -#define GPS_INTERRUPT_SIGNAL_SEMAPHO_NAME ("GPS_INT_SIGNAL_SHARE_SEMAPHO") /* Semaphore name(MAX 32Byte) */ -#define GYRO_CONNECT_STATUS_SEMAPHO_NAME ("GYRO_CONNECT_STTS_SHARE_SEMAPHO") /* Semaphore name(MAX 32Byte) */ -#define EPHEMERIS_NUM_SEMAPHO_NAME ("EPHEMERIS_NUM_SHARE_SEMAPHO") /* Semaphore name(MAX 32Byte) */ -#define LOCALTIME_SEMAPHO_NAME ("LOCALTIME_SHARE_SEMAPHO") /* Semaphore name(MAX 32Byte) */ - -/*----------------------------------------------------------------------* - * Event Related Extensions * - *----------------------------------------------------------------------*/ -#define SENSOR_EVENT_VAL_INIT (SENSOR_RET_ERROR_MIN - 1) /* Event initial value */ - -/*----------------------------------------------------------------------* - * Shared Memory Related Extensions * - *----------------------------------------------------------------------*/ -#define SENSOR_SHARE_NAME ("SENSOR_SHARE_MEMORY") /* Shared memory name */ -#define GPS_INTERRUPT_SIGNAL_SHARE_NAME ("GPS_INT_SIGNAL_SHARE_MEMORY") /* Shared memory name(MAX 32Byte) */ -#define GYRO_CONNECT_STATUS_SHARE_NAME ("GYRO_CONNECT_STTS_SHARE_MEMORY") /* Shared memory name(MAX 32Byte) */ -#define EPHEMERIS_NUM_SHARE_NAME ("EPHEMERIS_NUM_SHARE_MEMORY") /* Shared memory name(MAX 32Byte) */ -#define LOCALTIME_SHARE_NAME ("LOCALTIME_SHARE_MEMORY") /* Shared memory name(MAX 32Byte) */ - -/*----------------------------------------------------------------------------- - * GPS local CID define - *----------------------------------------------------------------------------*/ -#define CID_DEV_REQGPS MAKECID(CID_DEVHIGH, 0x00) /* GPS request */ -#define CID_DEV_REQRST MAKECID(CID_DEVHIGH, 0x01) /* GPS reset request */ - -#define CID_GPS_SERIAL0 (CID)0x0100 /* GPS reset request function definition */ -/* GPS reset request CID */ - -/*--------------------------------------------------------------------------- - * GPS error log output - ---------------------------------------------------------------------------*/ -#define GPS_DBGMSG 0 /* Product Shipping Log Output(WPF_DEBUGMSG) */ -#define GPS_RTLMSG 1 /* Development test log output(WPF_RETAILMSG) */ - -/*----------------------------------------------------------------------* - * for message * - *----------------------------------------------------------------------*/ -#define CID_SENSORIF_PKG_DELIVERY_ENTRY_EXT 0x0602 /* sensor extra package register command ID */ - -/*----------------------------------------------------------------------* - * for JudgeDid * - *----------------------------------------------------------------------*/ -#define MODE_REGISTER_LISTENER_PKG_SENS_DATA 0 /* POS_RegisterListenerPkgSensData */ -#define MODE_REGISTER_LISTENER_SENSDATA 1 /* POS_RegisterListenerSensData */ -#define MODE_GET_SENSDATA 2 /* POS_GetSensData */ - -/************************************************************************ -* Typedef definitions * -************************************************************************/ - -/************************************************************************ -* Struct definitions * -************************************************************************/ - -/************************************************************************ -* TAG : SENSOR_SHARE_MNG -* ABSTRACT : Shared memory management area -************************************************************************/ -typedef struct { - uint8_t lock_info[SENSOR_SHARE_BLOCK_NUM]; /* Usages */ - uint8_t reserve[501]; /* 512-11 */ -} SENSOR_SHARE_MNG; - -/************************************************************************ -* TAG : SENSOR_SHARE_BLOCK_DAT_DAT -* ABSTRACT : Shared memory data area(Data section details) -************************************************************************/ -typedef struct { - uint8_t pkg_num; /* Number of packages */ - uint8_t reserve[3]; - uint16_t offset[SENSOR_PKG_DELIVERY_MAX]; /* Offset value */ - uint8_t data[SENSOR_SHARE_BLOCK_DSIZE]; /* Data portion */ -} SENSOR_SHARE_BLOCK_DAT_DAT; - -/************************************************************************ -* TAG : SENSOR_SHARE_BLOCK_DAT -* ABSTRACT : Shared memory data area(One block) -************************************************************************/ -typedef struct { - uint16_t size; /* Size of the data */ - uint8_t reserve[2]; - SENSOR_SHARE_BLOCK_DAT_DAT data; /* Data portion */ -} SENSOR_SHARE_BLOCK_DAT; - -/************************************************************************ -* TAG : SENSOR_SHARE_BLOCK_MNG -* ABSTRACT : Areas of memory that are shared -************************************************************************/ -typedef struct { - SENSOR_SHARE_MNG mng; /* Shared memory management information */ - SENSOR_SHARE_BLOCK_DAT data[SENSOR_SHARE_BLOCK_DNUM]; /* Shared memory data portion */ -} SENSOR_SHARE; - -/** - * @brief Return code list structure - */ -typedef struct { -/* - * Note. - * This feature needs to be defined according to the unit type. - */ - BOOL GRADE2_ret; /**< Return code in GRADE2 */ - BOOL GRADE1_ret; /**< Return code in GARDE1 */ - DID did; /**< DID */ -} SENSOR_RET_PKG; - - -/************************************************************************ -* Function prototype * -************************************************************************/ -RET_API PosDeleteEvent(EventID event_id); -RET_API SensorLinkShareData(void **share_top, uint32_t *share_size, uint16_t *offset); -RET_API SensorUnLinkShareData(SENSOR_SHARE *share_top, uint16_t offset); - -EventID PosCreateEvent(PNO pno); -void SensorSetShareData(void *share_top, uint16_t offset, const void *data_src, uint16_t size_src); -RET_API PosSndMsg(PNO pno_src, PNO pno_dest, CID cid, uint16_t msg_len, const void *msg_data); - -BOOL SensorJudgeDid(DID did, uint8_t mode); - -/* Function macro */ -#define SENSOR_DID_JUDGE_REGLIS_PKG(did) SensorJudgeDid(did, MODE_REGISTER_LISTENER_PKG_SENS_DATA) -#define SENSOR_DID_JUDGE_REGLIS(did) SensorJudgeDid(did, MODE_REGISTER_LISTENER_SENSDATA) -#define SENSOR_DID_JUDGE_GET(did) SensorJudgeDid(did, MODE_GET_SENSDATA) - -#endif // POSITIONING_CLIENT_INCLUDE_SENSOR_API_PRIVATE_H_ */ diff --git a/vehicleservice/positioning/client/include/Sensor_Common_API.h b/vehicleservice/positioning/client/include/Sensor_Common_API.h deleted file mode 100755 index 5631e83..0000000 --- a/vehicleservice/positioning/client/include/Sensor_Common_API.h +++ /dev/null @@ -1,193 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_SENSOR_COMMON_API_H_ -#define POSITIONING_CLIENT_INCLUDE_SENSOR_COMMON_API_H_ -/****************************************************************************** - * File name :Sensor_Common_API.h - * System name :PastModel002 - * Sub System name :Vehicle I/F Liblary,Sensor I/F Liblary - ******************************************************************************/ - -#include <vehicle_service/positioning_base_library.h> -#include <vehicle_service/POS_sensor_API.h> -#include "CommonDefine.h" - -/************************************************************************ - * Definition * - ************************************************************************/ -/*----------------------------------------------------------------------* - * ID data corresponding to the vehicle sensor information * - *----------------------------------------------------------------------*/ - -/* - * Note. - * This feature needs to be defined by the vendor. - */ - -/* VEHICLE__DID */ - -/* ++ PastModel002 Support_UBX_Protocol_DID */ -#define VEHICLE_DID_GPS_UBLOX_NAV_POSLLH 0x80000060 -#define VEHICLE_DID_GPS_UBLOX_NAV_STATUS 0x80000061 -#define VEHICLE_DID_GPS_UBLOX_NAV_TIMEUTC 0x80000062 -#define VEHICLE_DID_GPS_UBLOX_NAV_VELNED 0x80000063 -#define VEHICLE_DID_GPS_UBLOX_NAV_DOP 0x80000064 -#define VEHICLE_DID_GPS_UBLOX_NAV_TIMEGPS 0x80000065 -#define VEHICLE_DID_GPS_UBLOX_NAV_SVINFO 0x80000066 -#define VEHICLE_DID_GPS_UBLOX_NAV_CLOCK 0x80000067 -#define VEHICLE_DID_GPS_UBLOX_MON_HW 0x80000068 -#define VEHICLE_DID_GPS_UBLOX_ACK_ACK 0x80000069 -#define VEHICLE_DID_GPS_UBLOX_ACK_NAK 0x8000006A -#define VEHICLE_DID_GPS_UBLOX_CFG_RST 0x8000006B -#define VEHICLE_DID_GPS_UBLOX_AID_INI 0x8000006C -#define VEHICLE_DID_GPS_UBLOX_AID_EPH 0x8000006D -#define VEHICLE_DID_GPS_UBLOX_CFG_MSG 0x8000006E -#define VEHICLE_DID_GPS_UBLOX_CFG_NAVX5 0x8000006F -/* -- PastModel002 Support_UBX_Protocol_DID */ - -/* ++ used internally by the DR */ -#define VEHICLE_DID_GPS_COUNTER 0x8000001B -#define VEHICLE_DID_GYRO_EXT 0x80000027 - -#define VEHICLE_DID_DR_LONGITUDE 0x80000070 -#define VEHICLE_DID_DR_LATITUDE 0x80000071 -#define VEHICLE_DID_DR_ALTITUDE 0x80000072 -#define VEHICLE_DID_DR_SPEED 0x80000073 -#define VEHICLE_DID_DR_HEADING 0x80000074 -#define VEHICLE_DID_DR_SNS_COUNTER 0x80000075 -#define VEHICLE_DID_DR_GYRO_OFFSET 0x80000078 -#define VEHICLE_DID_DR_GYRO_SCALE_FACTOR 0x80000079 -#define VEHICLE_DID_DR_GYRO_SCALE_FACTOR_LEVEL 0x8000007A -#define VEHICLE_DID_DR_SPEED_PULSE_SCALE_FACTOR 0x8000007B -#define VEHICLE_DID_DR_SPEED_PULSE_SCALE_FACTOR_LEVEL 0x8000007C - -/* -- used internally by the DR */ - -/* ++ PastModel002 Support_DID */ -#define VEHICLE_DID_GYRO_TROUBLE 0x80000080 -#define VEHICLE_DID_MAIN_GPS_INTERRUPT_SIGNAL 0x80000081 -#define VEHICLE_DID_SYS_GPS_INTERRUPT_SIGNAL 0x80000082 -#define VEHICLE_DID_GYRO_CONNECT_STATUS 0x80000083 -#define VEHICLE_DID_VALID_EPH_NUM 0x80000084 -/* -- PastModel002 Support_DID */ - -/* ++ Not supported by UBX_Protocol */ -#define VEHICLE_DID_LOCATION 0x80000020 -#define VEHICLE_DID_GPS__CWORD82__NMEA POS_DID_GPS__CWORD82__NMEA -#define VEHICLE_DID_GPS__CWORD82__SETINITIAL POS_DID_GPS__CWORD82__SETINITIAL -#define VEHICLE_DID_GPS__CWORD82__SETRMODE 0x80000034 -#define VEHICLE_DID_GPS__CWORD82__SETRMODEEX POS_DID_GPS__CWORD82__SETRMODEEX -#define VEHICLE_DID_GPS__CWORD82__SELSENT POS_DID_GPS__CWORD82__SELSENT -#define VEHICLE_DID_GPS__CWORD82__SETSBAS 0x80000037 -#define VEHICLE_DID_GPS__CWORD82__SETCONF1 0x80000038 -#define VEHICLE_DID_GPS__CWORD82__SETCONF2 0x80000039 -#define VEHICLE_DID_GPS__CWORD82__NMEA_GGA_INTERNAL 0xA050 -#define VEHICLE_DID_GPS__CWORD82__NMEA_DGGA_INTERNAL 0xA051 -#define VEHICLE_DID_GPS__CWORD82__NMEA_VTG_INTERNAL 0xA052 -#define VEHICLE_DID_GPS__CWORD82__NMEA_RMC_INTERNAL 0xA053 -#define VEHICLE_DID_GPS__CWORD82__NMEA_DRMC_INTERNAL 0xA054 -#define VEHICLE_DID_GPS__CWORD82__NMEA_GLL_INTERNAL 0xA055 -#define VEHICLE_DID_GPS__CWORD82__NMEA_DGLL_INTERNAL 0xA056 -#define VEHICLE_DID_GPS__CWORD82__NMEA_GSA_INTERNAL 0xA057 -#define VEHICLE_DID_GPS__CWORD82__NMEA_GSV1_INTERNAL 0xA058 -#define VEHICLE_DID_GPS__CWORD82__NMEA_GSV2_INTERNAL 0xA059 -#define VEHICLE_DID_GPS__CWORD82__NMEA_GSV3_INTERNAL 0xA060 -#define VEHICLE_DID_GPS__CWORD82__NMEA_PJRDC_GP_3_INTERNAL 0xA061 -#define VEHICLE_DID_LOCATION_LONLAT 0x80000095 -#define VEHICLE_DID_LOCATION_ALTITUDE 0x80000096 -#define VEHICLE_DID_MOTION_SPEED 0x80000062 -#define VEHICLE_DID_MOTION_HEADING 0x80000097 -#define VEHICLE_DID_GPS_TIME 0x80000098 -#define VEHICLE_DID_NAVIINFO_DIAG_GPS 0x80000099 -#define VEHICLE_DID_GPSWEEKCOR_CNT 0x8000009A - -#define VEHICLE_DID_GPS_CUSTOMDATA_NAVI 0x800000A0 -#define VEHICLE_DID_LOCATION_LONLAT_NAVI 0x800000A1 -#define VEHICLE_DID_LOCATION_ALTITUDE_NAVI 0x800000A2 -#define VEHICLE_DID_MOTION_SPEED_NAVI 0x800000A3 -#define VEHICLE_DID_MOTION_HEADING_NAVI 0x800000A4 -#define VEHICLE_DID_SETTINGTIME 0x800000A5 - -#define VEHICLE_DID_LOCATIONINFO_NMEA_NAVI 0x800000A6 - -#define VEHICLE_DID_MOTION_SPEED_INTERNAL 0x800000B0 - -#define VEHICLE_DID_GPS_TIME_RAW 0x800000B1U /* QAC 1281 */ -#define VEHICLE_DID_GPS_WKNROLLOVER 0x800000B2U /* QAC 1281 */ - -#define VEHICLE_DID_SPEED_PULSE_VEHICLE (0x80000044UL) - -/* -- Not supported by UBX_Protocol */ - -/*----------------------------------------------------------------------* - * Vehicle sensor data information * - *----------------------------------------------------------------------*/ -#define VEHICLE_SNS_BATTERY_SHORT 0x02 /* BATTERY SHORT */ -#define VEHICLE_SNS_THERMAL_SHUT_DOWN 0x04 /* THERMAL SHUT DOWN */ -#define VEHICLE_SNS_UNKNOWN 0x05 /* UNKNOWN */ - -/* Missing information data */ -#define VEHICLE_SNS_BREAK 0x01 /* Data without continuity */ -#define VEHICLE_SNS_NORMAL 0x00 /* Continuity of data */ - -/*------------------------------------------------------------------------------- - * Time Status Return Values - -------------------------------------------------------------------------------*/ -#define GPS_TIMESTS_OK (0x00U) /* Exact values from the satellites */ -/* Ignore->MISRA-C++ Rule 16-2-2 */ -#define GPS_TIMESTS_NOTUTC (0x01U) /* Time from satellite but UTC uncorrected */ -/* Ignore->MISRA-C++ Rule 16-2-2 */ -#define GPS_TIMESTS_RTC (0x02U) /* RTC time */ -/* Ignore->MISRA-C++ Rule 16-2-2 */ -#define GPS_TIMESTS_NG (0x03U) /* Anomaly Time */ -/* Ignore->MISRA-C++ Rule 16-2-2 */ - -/*------------------------------------------------------------------------------- - * NMEA Receive Flag - -------------------------------------------------------------------------------*/ -#define VEHICLE_SNS__CWORD82__DRMC POS_SNS__CWORD82__DRMC -#define VEHICLE_SNS__CWORD82__GSA POS_SNS__CWORD82__GSA -#define VEHICLE_SNS__CWORD82__GSV_1 POS_SNS__CWORD82__GSV_1 -#define VEHICLE_SNS__CWORD82__GSV_2 POS_SNS__CWORD82__GSV_2 -#define VEHICLE_SNS__CWORD82__GSV_3 POS_SNS__CWORD82__GSV_3 -#define VEHICLE_SNS__CWORD82__PJRDC_GP_3 POS_SNS__CWORD82__PJRDC_GP_3 -#define VEHICLE_SNS__CWORD82__PJRDC_GP_4 (0x40U) /* Ignore->MISRA-C++ Rule 16-2-2 */ - -/************************************************************************ -* enum Definition * -*************************************************************************/ - -/*------------------------------------------------------------------------------- - * _CWORD71_ UNIT type - -------------------------------------------------------------------------------*/ -typedef enum { - POS_TYPE_NONE = (0U), /* Undefined */ - POS_TYPE_GRADE1, /* GRADE1 (Integrated) */ - POS_TYPE_GRADE2 /* GRADE2 (Binary type) */ -} POS_TYPE; - -/************************************************************************ -* typedef Definition * -*************************************************************************/ - -typedef u_int32 DID; /* DataID */ - -/************************************************************************ -* struct Definition * -*************************************************************************/ - -#endif // POSITIONING_CLIENT_INCLUDE_SENSOR_COMMON_API_H_ diff --git a/vehicleservice/positioning/client/include/VehicleDebug_API.h b/vehicleservice/positioning/client/include/VehicleDebug_API.h deleted file mode 100755 index e0c9ef2..0000000 --- a/vehicleservice/positioning/client/include/VehicleDebug_API.h +++ /dev/null @@ -1,110 +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 : VehicleDebug_API.h - * System name : PastModel002 - * Sub System name : VehicleDebug_API library - ******************************************************************************/ -#ifndef POSITIONING_CLIENT_INCLUDE_VEHICLEDEBUG_API_H_ -#define POSITIONING_CLIENT_INCLUDE_VEHICLEDEBUG_API_H_ - -/************************************************************************ - * Include * - ***********************************************************************/ - -/************************************************************************ -* Definition * -************************************************************************/ -/*----------------------------------------------------------------------* - * VEHICLEDEBUG_RET_API Definition * - *----------------------------------------------------------------------*/ -/* Normal */ -#define VEHICLEDEBUG_RET_NORMAL 0 /* Successful completion */ - -/* Abnormal */ -#define VEHICLEDEBUG_RET_ERROR (-1) /* An error has occurred */ -#define VEHICLEDEBUG_RET_ERROR_PARAM (-2) /* Parameter error */ - -/*----------------------------------------------------------------------* - * Message Definition * - *----------------------------------------------------------------------*/ -/* Command ID */ -#define CID_VEHICLEDEBUG_LOG_SET 0x020D -#define CID_VEHICLEDEBUG_LOG_GET 0x020E - -/* Message Length */ -#define VEHICLEDEBUG_MSGBUF_DSIZE 36U - -/*----------------------------------------------------------------------* - * Log Kind Definition * - *----------------------------------------------------------------------*/ -#define LOG_KIND_NUM 32U - -/*----------------------------------------------------------------------* - * Log Mask Definition * - *----------------------------------------------------------------------*/ -#define LOG_MASK_LOCATION_LOG 0x00000001UL - -/*----------------------------------------------------------------------* - * Log Severity Definition * - *----------------------------------------------------------------------*/ -/* Unused */ - -/************************************************************************ -* type Definition * -************************************************************************/ -typedef RET_API VEHICLEDEBUG_RET_API; /* API return value */ - -/************************************************************************ -* struct Definition * -************************************************************************/ -/************************************************************************ - * TAG : VEHICLEDEBUG_MSG_LOGINFO_DAT - * ABSTRACT : Log data structure - * NOTE : - ************************************************************************/ -typedef struct { - u_int32 log_sw; /* Kind of log */ - u_int8 severity[LOG_KIND_NUM]; /* Output level(unused) */ -} VEHICLEDEBUG_MSG_LOGINFO_DAT; - -/***************************************************************************** - * TAG : VEHICLEDEBUG_MSG_BUF - * ABSTRACT : VehicleDebug_API message buffer structure - * NOTE : Message structure - *****************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - u_int8 data[VEHICLEDEBUG_MSGBUF_DSIZE]; /* Message data */ -} VEHICLEDEBUG_MSG_BUF; - -/************************************************************************ - * Function prototypes * - ************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif - -/*[VehicleDebug_API Public API]*/ -VEHICLEDEBUG_RET_API SensorGetLogSetting(PNO pno, u_int32 *log_sw, u_int8 *severity); -VEHICLEDEBUG_RET_API SensorSetLogStatus(PNO pno, u_int32 log_sw, u_int8 *severity); - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_VEHICLEDEBUG_API_H_ diff --git a/vehicleservice/positioning/client/include/Vehicle_API.h b/vehicleservice/positioning/client/include/Vehicle_API.h deleted file mode 100755 index 78450c5..0000000 --- a/vehicleservice/positioning/client/include/Vehicle_API.h +++ /dev/null @@ -1,115 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_VEHICLE_API_H_ -#define POSITIONING_CLIENT_INCLUDE_VEHICLE_API_H_ -/****************************************************************************** - * File name :Vehicle_API.h - * System name :GPF - * Sub System name :Vehicle I/F Liblary - ******************************************************************************/ -#include <vehicle_service/positioning_base_library.h> -#include <vehicle_service/POS_define.h> -#include "Sensor_Common_API.h" - -/**************************************************************************** -* Definition * -*****************************************************************************/ -/*--------------------------------------------------------------------------* - * VECHILE_RET_API Definition * - *--------------------------------------------------------------------------*/ -/* Normal system */ -#define VEHICLE_RET_NORMAL 0 /* Successful completion */ - -/* Abnormal system */ -#define VEHICLE_RET_ERROR_DID (-2) /* NoneDID */ -#define VEHICLE_RET_ERROR_PARAM (-4) /* Parameter error */ -#define VEHICLE_RET_ERROR_BUFFULL (-5) /* registration number FULL */ -#define VEHICLE_RET_ERROR_CREATE_EVENT (-6) /* Failure event generation */ -#define VEHICLE_RET_ERROR_MIN POS_RET_ERROR_MIN - -/*----------------------------------------------------------------------* - * API-related registration information delivery vehicle sensor * - *----------------------------------------------------------------------*/ -/* Delivery control */ -#define VEHICLE_DELIVERY_REGIST 0x01 /* Shipping register */ - -/* Delivery opportunity */ -#define VEHICLE_DELIVERY_TIMING_UPDATE 0x01 /* Update */ -#define VEHICLE_DELIVERY_TIMING_CHANGE 0x02 /* Change */ - -/*----------------------------------------------------------------------* - * Message Definition * - *----------------------------------------------------------------------*/ -/* Command ID */ - -/* Registration information delivery vehicle sensor CID */ -#define CID_VEHICLEIF_DELIVERY_ENTRY 0x0101 - -/* Vehicle sensor information notification CID */ -#define CID_VEHICLESENS_VEHICLE_INFO 0x0200 - -/* GPS time notification CID */ -#define CID_VEHICLESENS_VEHICLE_INFO_GPS_TIME 0x0201 - -/************************************************************************ -* typedef Definition * -************************************************************************/ -typedef RET_API VEHICLE_RET_API; /* API return value */ - -/************************************************************************ -* struct Definition * -************************************************************************/ - -/************************************************************************ -* TAG : VEHICLE_MSG_VSINFO_DAT -* ABSTRACT : message delivery vehicle sensor information -************************************************************************/ -typedef struct { - DID did; - u_int16 size; - u_int8 rcv_flag; - u_int8 sensor_cnt; - u_int8 data[256]; -} VEHICLE_MSG_VSINFO_DAT; - -/* ++ GPS _CWORD82_ support */ - -/************************************************************************ -* TAG : VEHICLE_MSG_SEND_DAT -* ABSTRACT : Vehicle sensor information setting message(-> Vehicle sensor) -************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - VEHICLE_MSG_SEND_DAT data; /* Message data */ -} VEHICLE_MSG_SEND; - -/* -- GPS _CWORD82_ support */ - -/************************************************************************ -* Function prototypes * -************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif -/*[VEHICLE_API Public API]*/ -VEHICLE_RET_API VehicleInitialize(u_int32(*sighand)(void)); /* QAC 3001 */ - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_VEHICLE_API_H_ diff --git a/vehicleservice/positioning/client/include/Vehicle_API_Dummy.h b/vehicleservice/positioning/client/include/Vehicle_API_Dummy.h deleted file mode 100755 index b242ac6..0000000 --- a/vehicleservice/positioning/client/include/Vehicle_API_Dummy.h +++ /dev/null @@ -1,142 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_VEHICLE_API_DUMMY_H_ -#define POSITIONING_CLIENT_INCLUDE_VEHICLE_API_DUMMY_H_ -/****************************************************************************** - * File name : Vehicle_API_Dummy.h - * System name : GPF - * Sub System name : Vehicle I/F Liblary - ******************************************************************************/ - -#include "Sensor_Common_API.h" - -/**************************************************************************** -* Definition * -*****************************************************************************/ -/*--------------------------------------------------------------------------* - * VECHILE_RET_API Definition * - *--------------------------------------------------------------------------*/ -/* Normal system */ -#define VEHICLE_RET_NORMAL 0 /* Successful completion */ - -/* Abnormal system */ -#define VEHICLE_RET_ERROR_PID (-1) /* Abnormal thread ID */ -#define VEHICLE_RET_ERROR_DID (-2) /* NoneDID */ -#define VEHICLE_RET_ERROR_DID_DIS (-3) /* Non-ID data CANID */ -#define VEHICLE_RET_ERROR_PARAM (-4) /* Parameter error */ -#define VEHICLE_RET_ERROR_BUFFULL (-5) /* registration number FULL */ -#define VEHICLE_RET_ERROR_CREATE_EVENT (-6) /* Failure event generation */ -#define VEHICLE_RET_ERROR_TIMER (-7) /* Generation failure timer */ -#define VEHICLE_RET_ERROR_OUTOF_MEMORY (-8) /* Shared memory allocation failure */ -#define VEHICLE_RET_ERROR_SIZE (-9) /* Size error destination */ -#define VEHICLE_RET_ERROR_INVALID (-10) /* CANID undetermined */ -#define VEHICLE_RET_ERROR_MIN POS_RET_ERROR_MIN - -/*----------------------------------------------------------------------* - * API-related registration information delivery vehicle sensor * - *----------------------------------------------------------------------*/ -/* Delivery control */ -#define VEHICLE_DELIVERY_REGIST 0x01 /* Shipping register */ - -/* Delivery opportunity */ -#define VEHICLE_DELIVERY_TIMING_UPDATE 0x01 /* Update */ -#define VEHICLE_DELIVERY_TIMING_CHANGE 0x02 /* Change */ - -/*----------------------------------------------------------------------* - * Message Definition * - *----------------------------------------------------------------------*/ -/* Command ID */ - -/* Registration information delivery vehicle sensor CID */ -#define CID_VEHICLEIF_DELIVERY_ENTRY 0x0101 - -/* Vehicle sensor information notification CID */ -#define CID_VEHICLESENS_VEHICLE_INFO 0x0200 - -#define CID_VEHICLEIF_GET_DR_DATA 0x0205 - -/* The message body size data(byte) */ -#define VEHICLE_MSGBUF_DSIZE (SENSOR_MSG_VSINFO_DSIZE + 12) -/* Header size of SENSOR_MSG_VSINFO_DSIZE + SENSOR_MSG_GPSDATA_DAT (12) */ - -/************************************************************************ -* typedef Definition * -************************************************************************/ - -/************************************************************************ -* struct Definition * -************************************************************************/ - -/************************************************************************ -* TAG : VEHICLE_MSG_BUF -* ABSTRACT : Message buffer -************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - u_int8 data[VEHICLE_MSGBUF_DSIZE]; /* Message data */ -} VEHICLE_MSG_BUF; - -/************************************************************************ -* TAG : VEHICLE_MSG_GET_VEHICLE_DATA -* ABSTRACT : Vehicle sensor information acquisition message(-> Vehicle sensor) -************************************************************************/ -typedef struct { - DID did; /* Data ID corresponding to vehicle sensor information */ - PNO pno; /* Destination PNO */ - u_int16 offset; /* Offset to shared memory storage area */ - u_int16 size; /* Size of shared memory storage area */ - u_int8 reserve[2]; - EventID event_id; /* Event ID */ -} VEHICLE_MSG_GET_VEHICLE_DATA_DAT; - -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - VEHICLE_MSG_GET_VEHICLE_DATA_DAT data; /* Message data */ -} VEHICLE_MSG_GET_VEHICLE_DATA; - -/************************************************************************ -* TAG : VEHICLE_MSG_DELIVERY_ENTRY -* ABSTRACT : Registration message delivery vehicle sensor information(->Vehicle sensor) -************************************************************************/ -typedef struct { - DID did; /* ID data corresponding to the vehicle sensor information */ - PNO pno; /* Shipping addressPNO */ - u_int8 delivery_timing; /* Delivery opportunity */ - u_int8 ctrl_flg; /* Delivery control */ - EventID event_id; /* Event ID */ -} VEHICLE_MSG_DELIVERY_ENTRY_DAT; - -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - VEHICLE_MSG_DELIVERY_ENTRY_DAT data; /* Message data */ -} VEHICLE_MSG_DELIVERY_ENTRY; - -/************************************************************************ -* Function prototypes * -************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif -/*[VEHICLE_API Public API]*/ - -int32 VehicleGetDrData(PNO pno, DID did, void *dest_data, u_int16 dest_size); - -#ifdef __cplusplus -} -#endif - -#endif // POSITIONING_CLIENT_INCLUDE_VEHICLE_API_DUMMY_H_ diff --git a/vehicleservice/positioning/client/include/Vehicle_API_private.h b/vehicleservice/positioning/client/include/Vehicle_API_private.h deleted file mode 100755 index ad92ddb..0000000 --- a/vehicleservice/positioning/client/include/Vehicle_API_private.h +++ /dev/null @@ -1,129 +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. - */ - -#ifndef POSITIONING_CLIENT_INCLUDE_VEHICLE_API_PRIVATE_H_ -#define POSITIONING_CLIENT_INCLUDE_VEHICLE_API_PRIVATE_H_ -/****************************************************************************** - * File name :Vehicle_API_private.h - * System name :GPF - * Subsystem name :Vehicle I/F library - ******************************************************************************/ -#include <vehicle_service/POS_sensor_API.h> -#include "Vehicle_API.h" - -/************************************************************************ -* Macro definitions * -************************************************************************/ - -/*----------------------------------------------------------------------* - * Shared Memory Related Extensions * - *----------------------------------------------------------------------*/ -#define VEHICLE_SHARE_LOCK 0xFF /* Locking */ -#define VEHICLE_SHARE_UNLOCK 0x00 /* Unlocking */ - -#define VEHICLE_SHARE_BLOCK_MNUM 1 /* Number of shared memory control blocks */ -#define VEHICLE_SHARE_BLOCK_DNUM 10 /* Number of shared memory data blocks */ -/* Number of shared memory blocks */ -#define VEHICLE_SHARE_BLOCK_NUM (VEHICLE_SHARE_BLOCK_MNUM+VEHICLE_SHARE_BLOCK_DNUM) - -#define VEHICLE_SHARE_BLOCK_SIZE 512 /* Shared Memory Block Size(byte) */ -#define VEHICLE_SHARE_BLOCK_DSIZE SENSOR_MSG_VSINFO_DSIZE /* Shared Memory Data Size */ -/* Size of shared memory allocation area */ -#define VEHICLE_SHARE_SIZE (VEHICLE_SHARE_BLOCK_SIZE * VEHICLE_SHARE_BLOCK_NUM) - -#define VEHICLE_SEMAPHO_NAME ("VEHICLE_SHARE_SEMAPHO") /* Semaphore name */ - -#define VEHICLE_INVALID 0 /* Disabled */ -#define VEHICLE_EFFECTIVE 1 /* Enabled */ -#define VEHICLE_BIT31 0x80000000 - -/* ++ PastModel002 compliant_error compliant */ -/* Message Data Size(byte) */ -#define VEHICLE_VSINFO_DSIZE 504 /* Vehicle sensor information */ -/* -- PastModel002 compliant_error compliant */ - -/*----------------------------------------------------------------------* - * Event Related Extensions * - *----------------------------------------------------------------------*/ -#define VEHICLE_EVENT_VAL_INIT (VEHICLE_RET_ERROR_MIN-1) /* Event initial value */ - -/*----------------------------------------------------------------------* - * Shared Memory Related Extensions * - *----------------------------------------------------------------------*/ -#define VEHICLE_SHARE_NAME ("POS_VEHICLE_SHARE_MEMORY") /* Shared memory name */ - -/************************************************************************ -* Typedef definitions * -************************************************************************/ - -/************************************************************************ -* Struct definitions * -************************************************************************/ - -/* ++ PastModel002 compliant_error compliant */ - -/************************************************************************ -* TAG : VEHICLE_MSG_VSINFO_DAT -* ABSTRACT : Vehicle sensor information notification message(-> User) -************************************************************************/ -typedef struct { - T_APIMSG_MSGBUF_HEADER hdr; /* Message header */ - VEHICLE_MSG_VSINFO_DAT data; /* Message data */ -} VEHICLE_MSG_VSINFO; - -/* -- PastModel002 compliant_error compliant */ - -/************************************************************************ -* TAG : VEHICLE_SHARE_MNG -* ABSTRACT : Shared memory management area -************************************************************************/ -typedef struct { - u_int8 lock_info[VEHICLE_SHARE_BLOCK_NUM]; /* Usages */ - u_int8 reserve[501]; -} VEHICLE_SHARE_MNG; - -/************************************************************************ -* TAG : VEHICLE_SHARE_BLOCK_DAT -* ABSTRACT : Shared memory data area(One block) -************************************************************************/ -typedef struct { - u_int16 size; /* Size of the data */ - u_int8 reserve[2]; - u_int8 data[VEHICLE_SHARE_BLOCK_DSIZE]; /* Data */ -} VEHICLE_SHARE_BLOCK_DAT; - -/************************************************************************ -* TAG : VEHICLE_SHARE_BLOCK_MNG -* ABSTRACT : Areas of memory that are shared -************************************************************************/ -typedef struct { - VEHICLE_SHARE_MNG mng; /* Shared memory management information */ - VEHICLE_SHARE_BLOCK_DAT data[VEHICLE_SHARE_BLOCK_DNUM]; /* Shared memory data portion */ -} VEHICLE_SHARE; - -/************************************************************************ -* Function prototype * -************************************************************************/ -RET_API VehicleDeleteEvent(EventID event_id); -RET_API VehicleLinkShareData(void **share_top, uint32_t *share_size, uint16_t *offset); -RET_API VehicleUnLinkShareData(VEHICLE_SHARE *share_top, u_int16 offset); -EventID VehicleCreateEvent(PNO pno); -void PosSetShareData(void *share_top, u_int16 offset, const void *data_src, u_int16 size_src); -RET_API VehicleSndMsg(PNO pno_src, PNO pno_dest, CID cid, u_int16 msg_len, const void *msg_data); - -SENSOR_RET_API PosRegisterListenerProc(PCSTR notify_name, DID did, u_int8 ctrl_flg, u_int8 delivery_timing); - -#endif // POSITIONING_CLIENT_INCLUDE_VEHICLE_API_PRIVATE_H_ */ diff --git a/vehicleservice/positioning/client/include/vehicle_service/POS_common_API.h b/vehicleservice/positioning/client/include/vehicle_service/POS_common_API.h deleted file mode 100755 index 5ee3005..0000000 --- a/vehicleservice/positioning/client/include/vehicle_service/POS_common_API.h +++ /dev/null @@ -1,1663 +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. - */ -#ifndef POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_COMMON_API_H_ -#define POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_COMMON_API_H_ - -/** - * @file POS_common_API.h - * @brief API definition file for common function - */ - -/** @addtogroup BaseSystem - * @{ - */ -/** @addtogroup vehicle_service - * @ingroup BaseSystem - * @{ - */ -/** @addtogroup positioning - * @ingroup vehicle_service - * @{ - */ -/*---------------------------------------------------------------------------------* - * Incluce * - *---------------------------------------------------------------------------------*/ -#include <vehicle_service/POS_define.h> -#include <gps_hal.h> - -/*---------------------------------------------------------------------------------* - * Definition * - *---------------------------------------------------------------------------------*/ -/* State definitions can be used */ -#define SENSORLOCATION_STATUS_DISABLE (0) //!< \~english Not available -#define SENSORLOCATION_STATUS_ENABLE (1) //!< \~english Available - -/* State definitions can be used */ -#define SENSORMOTION_STATUS_DISABLE (0) //!< \~english Not available -#define SENSORMOTION_STATUS_ENABLE (1) //!< \~english Available -/* Acquisition method */ -#define SENSOR_GET_METHOD_AUTO (0) //!< \~english Not specified -#define SENSOR_GET_METHOD_GPS (1) //!< \~english GPS -#define SENSOR_GET_METHOD_NAVI (2) //!< \~english Navigation -#define SENSOR_GET_METHOD_DR (3) //!< \~english Dead Reckoning -#define SENSOR_GET_METHOD_POS (4) //!< \~english positioning (Internal) - - -#define LOCATIONINFO_NMEA_MAX (1020) -//!< \~english Max length of 'Location Information' - -/* Command ID */ -/* Vehicle sensor information notification CID (Rate information) */ - -/** - * \~english @brief Delivery speed command ID - * \~english @brief If you want to catch above envents, use NSFW like below. - * \~english @code - * l_eStatus = FrameworkUnifiedAttachCallbackToDispatcher(h_app, POS_NTFY_SEND_THREAD, CID_POSIF_REGISTER_LISTENER_SPEED, CBCallbackA); - * @endcode - */ -#define CID_POSIF_REGISTER_LISTENER_SPEED (0x0203) - -/** - * \~english @brief Delivery longitude and latitude command ID - * \~english @brief If you want to catch above envents, use NSFW like below. - * \~english @code - * l_eStatus = FrameworkUnifiedAttachCallbackToDispatcher(h_app, POS_NTFY_SEND_THREAD, CID_POSIF_REGISTER_LISTENER_LONLAT, CBCallbackA); - * @endcode - */ -#define CID_POSIF_REGISTER_LISTENER_LONLAT 0x0781 - -/** - * \~english @brief Delivery altitude command ID - * \~english @brief If you want to catch above envents, use NSFW like below. - * \~english @code - * l_eStatus = FrameworkUnifiedAttachCallbackToDispatcher(h_app, POS_NTFY_SEND_THREAD, CID_POSIF_REGISTER_LISTENER_ALTITUDE, CBCallbackA); - * @endcode - */ -#define CID_POSIF_REGISTER_LISTENER_ALTITUDE 0x0782 - -/** - * \~english @brief Delivery heading command ID - * \~english @brief If you want to catch above envents, use NSFW like below. - * \~english @code - * l_eStatus = FrameworkUnifiedAttachCallbackToDispatcher(h_app, POS_NTFY_SEND_THREAD, CID_POSIF_REGISTER_LISTENER_HEADING, CBCallbackA); - * @endcode - */ -#define CID_POSIF_REGISTER_LISTENER_HEADING 0x0783 - -/*---------------------------------------------------------------------------------* - * Typedef declaration * - *---------------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------------* - * Struct declaration * - *---------------------------------------------------------------------------------*/ -/** - * @struct POS_POSDATA - * \~english position information - */ -typedef struct { - int8_t status; //!< \~english data status - uint8_t posSts; //!< \~english position status - uint16_t posAcc; //!< \~english position accuracy - int32_t longitude; //!< \~english current longitude - int32_t latitude; //!< \~english current latitude - int32_t altitude; //!< \~english current altitude - int16_t heading; //!< \~english current heading - uint8_t reserved[2]; //!< \~english reserve -} POS_POSDATA; - -/** - * @struct SENSORLOCATION_MSG_LONLATINFO - * \~english longitude and latitude information data delivery message - */ -typedef struct { - SENSORLOCATION_LONLATINFO_DAT data; - //!< \~english longitude and latitude information data -} SENSORLOCATION_MSG_LONLATINFO; - -/** - * @struct SENSORLOCATION_MSG_ALTITUDEINFO - * \~english altitude information data delivery message - */ -typedef struct { - SENSORLOCATION_ALTITUDEINFO_DAT data; //!< \~english altitude information data -} SENSORLOCATION_MSG_ALTITUDEINFO; - -/** - * @struct SENSORMOTION_MSG_HEADINGINFO - * \~english heading information data delivery message - */ -typedef struct { - SENSORMOTION_HEADINGINFO_DAT data; //!< \~english heading information data -} SENSORMOTION_MSG_HEADINGINFO; - -/** - * @struct SENSORMOTION_MSG_SPEEDINFO - * \~english speed information data delivery message - */ -typedef struct { - SENSORMOTION_SPEEDINFO_DAT data; //!< \~english speed information data -} SENSORMOTION_MSG_SPEEDINFO; - - -/** - * @struct POS_LOCATIONINFO_NMEA - * \~english Structure of Location Information (NMEA) - */ -typedef struct { - uint32_t length; //!< \~english length - uint8_t data[LOCATIONINFO_NMEA_MAX]; //!< \~english data -} POS_LOCATIONINFO_NMEA; - - -/*---------------------------------------------------------------------------------* - * Prototype Declaration * - *---------------------------------------------------------------------------------*/ -/* SENSOR_API public API */ -#ifdef __cplusplus -extern "C" { -#endif - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Register for longitude and lattitude delivery -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] notifyName -/// - PCSTR - Destination thread name -/// \~english @param [in] ucCtrlFlg -/// - uint8_t - Delivery control flag(register) -/// \~english @param [in] ucDeliveryTiming -/// - uint8_t - Delivery timing(change/update) -/// \~english @param [in] ucGetMethod -/// - uint8_t - Get method(GPS/Navigation/Not specified) -/// -/// \~english @par -/// - Delivery control flag(ucCtrlFlg) -/// - SENSOR_DELIVERY_REGIST - register -/// - Register for specified logtitude and latitude delivery -/// - Please note if call this function for multiple times, the data will be deliveried for multiple times. -/// - The specified longitude and latitude will be deliveried during the registration(first delivery) -/// - Delivery timing(ucDeliveryTiming) -/// - SENSOR_DELIVERY_TIMING_CHANGE - change. Specified longitude and latitude will be deliveried \n -/// only when it has been changed. -/// - SENSOR_DELIVERY_TIMING_UPDATE - update. Specified longitude and latitude will be deliveried \n -/// every time that has been updated by the vehicle sensors. -/// - Get method(ucGetMethod) -/// - SENSOR_GET_METHOD_GPS - GPS. The longitude and latitude from GPS will be deliveried. -/// - SENSOR_GET_METHOD_NAVI - Navi. The longitude and latitude from Navigation will be deliveried. -/// - SENSOR_GET_METHOD_AUTO - Not specified. The specified longitude and latitude will be deliveried \n -/// according to the current environment. -/// - Avaliable method is descriped as following:\n -/// In the following environment, if the SENSOR_GET_METHOD_AUTO is set,treated as default \n -/// In the following environment, if the unsupported method has been specified, \n -/// POS_RET_ERROR_PARAM will be returned.\n -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_BUFFULL the register count is full -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of the dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of the internal status -/// - There is no changes of the internal status by this API -/// -/// \~english @par Failure condition -/// - The parameter ucDeliveryTiming is neither update(SENSOR_DELIVERY_TIMING_UPDATE) nor change \n -/// (SENSOR_DELIVERY_TIMING_CHANGE) [POS_RET_ERROR_PARAM] -/// - The parameter ucCtrlFlg is not register(SENSOR_DELIVERY_REGIST) [POS_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter notifyName is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to the max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to the max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to the max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference to the event \n -/// is reach to the max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference to the event \n -/// is reach to the max [POS_RET_ERROR_INNER] -/// - Memory allocate failed during the event table creation for the event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been registered. \n -/// [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message transfered between processes.\n -/// [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer between processes. \n -/// [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message transfer between processes.\n -/// [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between process. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered between processes. \n -/// [POS_RET_ERROR_INNER] -/// - Message transfer failed between process. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during waiting event. \n -/// [POS_RET_ERROR_INNER] -/// - The count of thread beyond max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during getting event. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - Getting event timeout. [POS_RET_ERROR_INNER] -/// - Error happened during event getting. [POS_RET_ERROR_INNER] -/// - The result of positioning service returned is SENSOR_RET_ERROR_PARAM. [POS_RET_ERROR_PARAM] -/// - The result of positioning service returned is SENSOR_RET_ERROR_BUFFULL. [POS_RET_ERROR_BUFFULL] -/// - The result of positioning service returned is SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of positioning service returned is not SENSOR_RET_ERROR_PARAM and SENSOR_RET_ERROR_BUFFULL \n -/// and SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to register longitude and latitude information delivery.\n -/// This API return the result of registered. -/// \n -/// -/// \~english @par -/// Please note the following points when use this API. -/// - Duplication registering -/// - The same destination thread name has already been registered -/// - The registered delivery data updated and normal return.(first delivery) -/// - To one delivery destination, the same data will not be duplication deliveried at same time. -/// - After call this API, if the delivery destination thread name has been changed, please call this API again. -/// -/// \~english @par -/// Notification of message -/// - After registered successfully, vehicle sensor information will been sent as system API \n -/// message with following format.\n -/// Command ID : @ref CID_POSIF_REGISTER_LISTENER_LONLAT \n -/// message structure -/// \~english @code -/// typedef struct { -/// SENSORLOCATION_LONLATINFO_DAT data; /* message data */ -/// } SENSORLOCATION_MSG_LONLATINFO; -/// @endcode -/// message data structure \n -/// -/// \~english @code -/// typedef struct { -/// uint8_t getMethod; /* get method */ -/// uint8_t SyncCnt; /* Synchrony count */ -/// uint8_t isEnable; /* enable or not */ -/// uint8_t posSts; /* position status */ -/// uint16_t posAcc; /* Position accuracy */ -/// int32_t Longitude; /* Longitude */ -/// int32_t Latitude; /* Latitude */ -/// } SENSORLOCATION_LONLATINFO_DAT; -/// @endcode -/// - Get method(getMethod) -/// - SENSOR_GET_METHOD_GPS - longitude and latitude from GPS -/// - SENSOR_GET_METHOD_NAVI - longitude and latitude from Navigation -/// - Synchrony count(SyncCnt) -/// - Count for position data synchronous \n -/// When delivery altitude and heading data, position data can be synchronized by SyncCnt.\n -/// But the data of different method can not be synchronized by SyncCnt.\n -/// Example 1: [LonLat from GPS] and [Heading from GPS] can be synchronized by SyncCnt.\n -/// Example 2: [LonLat from GPS] and [LonLat from Navi] can not be synchronized by SyncCnt.\n -/// Caution: The sensor count in sensor data delivery is another data. -/// - Enable or not(isEnable) \n -/// To describe this delivery message is whether can be used or not -/// - 0 - not avaliable -/// - not 0 - avaliable -/// - when GPS data is specified,longitude and latitude is invalid at following condition:\n -/// so [not avaliable] provieded -/// - After system start, GPS unit has not received current location data and GPS unit \n -/// status is not positioning fixed. -/// - If it is not initialized status, certainly provide [avaliable] when Navigation data specified -/// - If the status is [not avaliable], data following can not be guaranteed. -/// - Position status(posSts) -/// - Bit0 : GPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_GSP) -/// - Bit1 : DGPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DGPS) -/// - Bit2 : DR data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DR) -/// - Bit3 : MapMatching data used result(1:used, 0:not used, definition of \n -/// maskbit:POS_LOC_INFO_USE_MAPMATCHING) -/// - Position accuracy(posAcc) -/// - Detected accruray of current position:1LSB=1m \n -/// - Longitude : (WGS-84)(10^-7degree as 1) \n -/// East longitude is positive value and west longitude is negative value. -/// - Latitude : (WGS-84)(10^-7degree as 1) \n -/// North latitude positive value and south latitude is negative value. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Method -/// -/// \~english @see -/// - POS_GetLonLat -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_RegisterListenerLonLat(HANDLE hApp, PCSTR notifyName, uint8_t ucCtrlFlg, uint8_t ucDeliveryTiming, - uint8_t ucGetMethod); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Register altitude delivery -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] notifyName -/// - PCSTR - Destination thread name -/// \~english @param [in] ucCtrlFlg -/// - uint8_t - Delivery control flag(register) -/// \~english @param [in] ucDeliveryTiming -/// - uint8_t - Delivery timing(change/update) -/// \~english @param [in] ucGetMethod -/// - uint8_t - Get method(GPS/Not specified) -/// -/// \~english @par -/// - Delivery control flag(ucCtrlFlg) -/// - SENSOR_DELIVERY_REGIST - register -/// - Register specified altitude delivery -/// - Please note that if the same data delivery has been registered for multiple times, the data will \n -/// also be deliveried for registered multiple times. -/// - The specified altitude will be deliveried at registered time (first delivery). -/// - Delivery timing(ucDeliveryTiming) -/// - SENSOR_DELIVERY_TIMING_CHANGE - change. Specified altitude will be deliveried only when it is changed. -/// - SENSOR_DELIVERY_TIMING_UPDATE - update. Specified altitude will be deliveried when it is updated by \n -/// vehicle sensor. -/// - Get method(ucGetMethod) -/// - SENSOR_GET_METHOD_GPS - GPS. The altitude from GPS will be deliveried. -/// - SENSOR_GET_METHOD_AUTO - Not specified. The altitude will be deliveried according to \n -/// the current environment -/// - Avaliable method is descriped as following in each environment. \n -/// In the following environment, if the SENSOR_GET_METHOD_AUTO is set,treated as default \n -/// In the following environment, if the unsupported method has been specified, \n -/// POS_RET_ERROR_PARAM will be returned. -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_BUFFULL the register count is full -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of the dispatcher \n -/// for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter ucDeliveryTiming is neither update(SENSOR_DELIVERY_TIMING_UPDATE) nor change \n -/// (SENSOR_DELIVERY_TIMING_CHANGE) [POS_RET_ERROR_PARAM] -/// - The parameter ucCtrlFlg is not registered(SENSOR_DELIVERY_REGIST) [POS_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter notifyName is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reached to the max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reached to the max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reached to the max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference to the event \n -/// is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference to the event \n -/// is reach to the max [POS_RET_ERROR_INNER] -/// - Memory allocate failed during the event table creation for that event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been registered. \n -/// [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full during event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message transfered between processes.\n -/// [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer between processes.\n -/// [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message transfer between processes.\n -/// [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered between processes.\n -/// [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during event waiting. \n -/// [POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting.[POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - Getting event timeout. [POS_RET_ERROR_INNER] -/// - Error happened during event getting. [POS_RET_ERROR_INNER] -/// - The result of positioning service is SENSOR_RET_ERROR_PARAM. [POS_RET_ERROR_PARAM] -/// - The result of positioning service is SENSOR_RET_ERROR_BUFFULL. [POS_RET_ERROR_BUFFULL] -/// - The result of positioning service is SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of positioning service is not SENSOR_RET_ERROR_PARAM and SENSOR_RET_ERROR_BUFFULL and \n -/// SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to register altitude delivery. \n -/// This API will finish when get the return value. -/// -/// \~english @par -/// Please note the following points when use this API. -/// - Duplication registering -/// - The same destination thread name has already been registered -/// - The registered delivery data updated and normal return.(first delivery) -/// - To one delivery destination, the same data will not be duplication deliveried at same timing. -/// - After call this API, if the delivery destination thread name is changed, please call this API again. -/// -/// \~english @par -/// Notification of message -/// - After registered successfully, vehicle sensor will send system API message with following format. \n -/// Command ID : @ref CID_POSIF_REGISTER_LISTENER_ALTITUDE \n -/// message structure -/// \~english @code -/// typedef struct { -/// SENSORLOCATION_ALTITUDEINFO_DAT data; /* message data */ -/// } SENSORLOCATION_MSG_ALTITUDEINFO; -/// @endcode -/// message data structure -/// \~english @code -/// typedef struct { -/// uint8_t getMethod; /* get method */ -/// uint8_t SyncCnt; /* synchrony count */ -/// uint8_t isEnable; /* enable or not */ -/// uint8_t Reserve[3]; /* Reserve */ -/// int32_t Altitude; /* Altitude(unit:0.01m) */ -/// } SENSORLOCATION_ALTITUDEINFO_DAT; -/// @endcode -/// - Get method(getMethod) -/// - SENSOR_GET_METHOD_GPS - altitude from GPS -/// - Synchrony count(SyncCnt) -/// - Count for position data synchronous \n -/// When delivery altitude and heading data, position data can be synchronized by SyncCnt. \n -/// But the data of different method can not be synchronized by SyncCnt.\n -/// example: [longitude and latitude from GPS] and [heading from GPS] can be synchronized by SyncCnt.\n -/// synchronized by SyncCnt. \n -/// Caution: The sensor count in sensor data delivery is another data. -/// - Enable or not(isEnable) \n -/// To describe this delivery message is whether can be used or not. -/// - 0 - not avaliable -/// - not 0 - avaliable -/// - when GPS data specified, Altitude is invalid at following condition(so [not avaliable] provieded): -/// - Immediately after system start, GPS unit has not received current location data and GPS unit status \n -/// is not positioning fix -/// - If the status is [not avaliable], data following can not be guaranteed. -/// - Altitude -/// - altitude data(unit 0.01m) -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Method -/// -/// \~english @see delivery -/// - POS_GetAltitude -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_RegisterListenerAltitude(HANDLE hApp, PCSTR notifyName, uint8_t ucCtrlFlg, uint8_t ucDeliveryTiming, - uint8_t ucGetMethod); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Register speed delivery -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] notifyName -/// - PCSTR - Destination thread name -/// \~english @param [in] ucCtrlFlg -/// - uint8_t - Delivery control flag(register) -/// \~english @param [in] ucDeliveryTiming -/// - uint8_t - Delivery timing(change/update) -/// \~english @param [in] ucGetMethod -/// - uint8_t - Get method(POS/Navi/Not specified) -/// -/// \~english @par -/// - Delivery control flag(ucCtrlFlg) -/// - SENSOR_DELIVERY_REGIST - register -/// - Register specified speed delivery -/// - Please note that if the same data delivery has been registered for multiple times, the data will \n -/// also be deliveried for registered mutiple times. -/// - The specified speed will be deliveried at registered time (first delivery). -/// - Delivery timing(ucDeliveryTiming) -/// - SENSOR_DELIVERY_TIMING_CHANGE - change. Specified speed will be deliveried only when it is changed. -/// - SENSOR_DELIVERY_TIMING_UPDATE - update. Specified speed will be deliveried when it is updated by \n -/// vehicle sensor. -/// - Get method(ucGetMethod) -/// - SENSOR_GET_METHOD_POS - The speed calculated in positioning based on speed pulse will be deliveried. -/// - SENSOR_GET_METHOD_NAVI - Navi The speed from Navi will be deliveried. -/// - SENSOR_GET_METHOD_AUTO - Not specified The speed will be deliveried according to the current environment -/// deliveried. -/// - Avaliable method is descriped as following in each environment. \n -/// In the following environment, if the SENSOR_GET_METHOD_AUTO is set,treated as default \n -/// In the following environment, if the unsupported method has been specified, \n -/// POS_RET_ERROR_PARAM will be returned. -/// -/// \~english @retval POS_RET_NORMAL normal end -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_BUFFULL the register count is full -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of the Dispatcher for App \n -/// are completed. -/// - Availability of service positioning is TRUE. -/// -/// \~english @par change of internal status -/// - There is no change of internal status -/// -/// \~english @par Failure condition -/// - The parameter ucDeliveryTiming is neither update(SENSOR_DELIVERY_TIMING_UPDATE) \n -/// nor change(SENSOR_DELIVERY_TIMING_CHANGE) [POS_RET_ERROR_PARAM] -/// - The parameter ucCtrlFlg is not register(SENSOR_DELIVERY_REGIST) [POS_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter notifyName is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate failed during the event table creation for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been registered. \n -/// [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full during event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message transfered between processes. \n -/// [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer between processes.\n -/// [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message transfer between processes.\n -/// [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered between processes. \n -/// [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during event waiting. \n -/// [POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - Getting event timeout. [POS_RET_ERROR_INNER] -/// - Error happened during event getting. [POS_RET_ERROR_INNER] -/// - The result of positioning service is SENSOR_RET_ERROR_PARAM. [POS_RET_ERROR_PARAM] -/// - The result of positioning service is SENSOR_RET_ERROR_BUFFULL. [POS_RET_ERROR_BUFFULL] -/// - The result of positioning service is SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of positioning service is not SENSOR_RET_ERROR_PARAM and SENSOR_RET_ERROR_BUFFULL \n -/// and SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to register speed delivery. \n -/// This API will finish when get the return value. -/// -/// \~english @par -/// Please note the following points when use this API. -/// - Duplication registering -/// - The same destination thread name has already been registered -/// - The registered delivery data updated and normal return.(first delivery) -/// - To one delivery destination, the same data will not be duplication deliveried at same timing. -/// - After call this API, if the delivery destination thread name is changed, please call this API again. -/// -/// \~english @par -/// Notification of message -/// - After registered successfully, vehicle sensor will send system API message with following format. \n -/// Command ID : @ref CID_POSIF_REGISTER_LISTENER_SPEED \n -/// message structure -/// \~english @code -/// typedef struct { -/// SENSORMOTION_SPEEDINFO_DAT data; /* message data */ -/// } SENSORMOTION_MSG_SPEEDINFO; -/// @endcode -/// message data structure -/// \~english @code -/// typedef struct { -/// uint8_t getMethod; /* get method */ -/// uint8_t SyncCnt; /* synchrony count */ -/// uint8_t isEnable; /* enable or not */ -/// uint8_t Reserve1[3]; /* Reserve */ -/// uint16_t Speed; /* speed(unit:0.01m/sec) */ -/// uint8_t Reserve2[2]; /* Reserve */ -/// } SENSORMOTION_SPEEDINFO_DAT; -/// @endcode -/// - Get method(getMethod) -/// - SENSOR_GET_METHOD_POS - The speed calculated in positioning based on speed pulse will be deliveried. -/// - SENSOR_GET_METHOD_NAVI - speed from Navi -/// - Synchrony count(SyncCnt) -/// - 0 (not change). -/// - Enable or not(isEnable) \n -/// To describe this data is whether enable or not. -/// - 0 - not avaliable -/// - not 0 - avaliable -/// - Speed is invalid at following condition when speed pulse specified, so [not avaliable] provieded -/// - Immediately after system start, the sensor data have not been received from SYS micon -/// - If it is not initialization status, certainly provide [avaliable] when Navi data specified -/// - If the status is [not avaliable], data following can not be guaranteed. -/// - Speed -/// - speed data(unit 0.01m/sec) -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Method -/// -/// \~english @see -/// - POS_GetSpeed -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_RegisterListenerSpeed(HANDLE hApp, PCSTR notifyName, uint8_t ucCtrlFlg, uint8_t ucDeliveryTiming, - uint8_t ucGetMethod); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Register heading delivery -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] notifyName -/// - PCSTR - Destination thread name -/// \~english @param [in] ucCtrlFlg -/// - uint8_t - Delivery control flag(register) -/// \~english @param [in] ucDeliveryTiming -/// - uint8_t - Delivery timing(change/update) -/// \~english @param [in] ucGetMethod -/// - uint8_t - Get method(GPS/Navi/Not specified) -/// -/// \~english @par -/// - Delivery control flag(ucCtrlFlg) -/// - SENSOR_DELIVERY_REGIST - register -/// - Register specified heading delivery -/// - Please note that if the same data delivery has been registered for mutiple times, the data will \n -/// also be deliveried for registered mutiple times. -/// - The specified heading will be deliveried at registered time (first delivery). -/// - Delivery timing(ucDeliveryTiming) -/// - SENSOR_DELIVERY_TIMING_CHANGE - change. Specified heading will be deliveried only when it is changed. -/// - SENSOR_DELIVERY_TIMING_UPDATE - update. Specified heading will be deliveried when it is updated by \n -/// vehicle sensor. -/// - Get method(ucGetMethod) -/// - SENSOR_GET_METHOD_GPS - GPS. The heading from GPS will be deliveried. -/// - SENSOR_GET_METHOD_AUTO - Not specified. The heading will be deliveried \n -/// according to the current environment -/// - Avaliable method is descriped as following in each environment. \n -/// In the following environment, if the SENSOR_GET_METHOD_AUTO is set,treated as default \n -/// In the following environment, if the unsupported method has been specified, \n -/// POS_RET_ERROR_PARAM will be returned. -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_BUFFULL the register count is full -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of the Dispatcher \n -/// for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter ucDeliveryTiming is neither update(SENSOR_DELIVERY_TIMING_UPDATE) nor change \n -/// (SENSOR_DELIVERY_TIMING_CHANGE) [POS_RET_ERROR_PARAM] -/// - The parameter ucCtrlFlg is not register(SENSOR_DELIVERY_REGIST) [POS_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter notifyName is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate failed during the event table creation for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already \n -/// been registered. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full during event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message transfered between processes. \n -/// [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer \n -/// between processes. [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message transfer between \n -/// processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered between processes. \n -/// [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during event waiting. \n -/// [POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - Getting event timeout. [POS_RET_ERROR_INNER] -/// - Error happened during event getting. [POS_RET_ERROR_INNER] -/// - The result of positioning service is SENSOR_RET_ERROR_PARAM. [POS_RET_ERROR_PARAM] -/// - The result of positioning service is SENSOR_RET_ERROR_BUFFULL. [POS_RET_ERROR_BUFFULL] -/// - The result of positioning service is SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of positioning service is not SENSOR_RET_ERROR_PARAM and SENSOR_RET_ERROR_BUFFULL \n -/// and SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to register heading delivery. -/// This API will finish when get the return value. -/// -/// \~english @par -/// Please note the following points when use this API. -/// - Duplication registering -/// - The same destination thread name has already been registered -/// - The registered delivery data updated and normal return.(first delivery) -/// - To one delivery destination, the same data will not be duplication deliveried at same timing. -/// - After call this API, if the delivery destination thread name is changed, please call this API again. -/// -/// \~english @par -/// Notification of message -/// - After registered successfully, vehicle sensor will send system API message with following format. \n -/// Command ID : @ref CID_POSIF_REGISTER_LISTENER_HEADING \n -/// message structure -/// \~english @code -/// typedef struct { -/// SENSORMOTION_HEADINGINFO_DAT data; /* message data */ -/// } SENSORMOTION_MSG_HEADINGINFO; -/// @endcode -/// message data structure -/// \~english @code -/// typedef struct { -/// uint8_t getMethod; /* get method */ -/// uint8_t SyncCnt; /* sync count */ -/// uint8_t isEnable; /* enable or not */ -/// uint8_t posSts; /* position status */ -/// uint8_t Reserve1[2]; /* Reserve */ -/// uint16_t Heading; /* heading(unit:0.01degree) */ -/// uint8_t Reserve2[2]; /* Reserve */ -/// } SENSORMOTION_HEADINGINFO_DAT; -/// @endcode -/// - Get method(getMethod) -/// - SENSOR_GET_METHOD_GPS - Heading from GPS -/// - SENSOR_GET_METHOD_NAVI - Heading from Navi -/// - Synchrony count(SyncCnt) -/// - Count for position data synchronous \n -/// When delivery altitude and heading data, position data can be synchronized by this count. \n -/// But the data of different method can not be synchronized by this count.\n -/// example 1: [longitude and latitude from GPS] and [heading from GPS] can be synchronized by the count. \n -/// example 2: [longitude and latitude from GPS] and [longitude and latitude from Navi] can not be \n -/// synchronized by the count. \n -/// Caution: The sensor count in sensor data delivery is another data. -/// - Enable or not(isEnable) \n -/// To describe this data is whether enable or not. -/// - 0 - not avaliable -/// - not 0 - avaliable -/// - Heading is invalid at following condition when GPS data specified, so [not avaliable] provieded \n -/// - Immediately after system start, GPS unit has not received current location data and GPS unit status \n -/// is not positioning fix -/// - If it is not initialization status, certainly provide [avaliable] when Navi data specified -/// - If the status is [not avaliable], data following can not be guaranteed. -/// - Position status(posSts) -/// - Bit0 : GPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_GSP) -/// - Bit1 : DGPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DGPS) -/// - Bit2 : DR data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DR) -/// - Bit3 : MapMatching data used result(1:used, 0:not used, definition of \n -/// maskbit:POS_LOC_INFO_USE_MAPMATCHING) -/// - Heading -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Method -/// -/// \~english @see -/// - POS_GetHeading -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_RegisterListenerHeading(HANDLE hApp, PCSTR notifyName, uint8_t ucCtrlFlg, uint8_t ucDeliveryTiming, - uint8_t ucGetMethod); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Get longitude and latitude information -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [out] dat -/// - SENSORLOCATION_LONLATINFO_DAT* - output pointer to longitude and latitude informaiton -/// \~english @param [in] ucGetMethod -/// - uint8_t - Get method(GPS/Navi/Not specified) -/// -/// \~english @par -/// - Get method(ucGetMethod) -/// - SENSOR_GET_METHOD_GPS - GPS The longitude and latitude from GPS will be deliveried. -/// - SENSOR_GET_METHOD_NAVI - Navi The longitude and latitude from Navi will be deliveried. -/// - SENSOR_GET_METHOD_AUTO - Not specified The longitude and latitude will be deliveried \n -/// according to the current environment. -/// - Avaliable method is descriped as following in each environment. \n -/// In the following environment, if the SENSOR_GET_METHOD_AUTO is set,treated as default \n -/// In the following environment, if the unsupported method has been specified, \n -/// POS_RET_ERROR_PARAM will be returned. -/// \~english @par -/// - SENSORLOCATION_LONLATINFO_DAT structure -/// \~english @code -/// typedef struct { -/// uint8_t getMethod; /* get method */ -/// uint8_t SyncCnt; /* sync count */ -/// uint8_t isEnable; /* enable or not */ -/// uint8_t posSts; /* position status */ -/// uint16_t posAcc; /* Position accuracy */ -/// int32_t Longitude; /* Longitude */ -/// int32_t Latitude; /* Latitude */ -/// } SENSORLOCATION_LONLATINFO_DAT; -/// @endcode -/// - Get method(getMethod) -/// - SENSOR_GET_METHOD_GPS - longitude and latitude from GPS -/// - SENSOR_GET_METHOD_NAVI - longitude and latitude from Navi -/// - Synchrony count(SyncCnt) -/// - Count for position data synchronous\n -/// When delivery altitude and heading data, position data can be synchronized by this count. \n -/// But the data of different method can not be synchronized by this count. \n -/// example 1: [longitude and latitude from GPS] and [heading from GPS] can be synchronized by this count. \n -/// example 2: [longitude and latitude from GPS] and [longitude and latitude from Navi] can not be \n -/// synchronized by this count. \n -/// Caution: The sensor count in sensor data delivery is another data. -/// - Enable or not(isEnable) \n -/// To describe this data is whether enable or not. -/// - 0 - not avaliable -/// - not 0 - avaliable -/// - longitude and latitude is invalid at following condition when GPS data specified, \n -/// so [not avaliable] provieded -/// - Immediately after system start, GPS unit has not received current location data and \n -/// GPS unit status is not positioning fix -/// - If it is not initialization status, certainly provide [avaliable] when Navi data specified\n -/// - If the status is [not avaliable], data following can not be guaranteed. -/// - Position status(posSts) -/// - Bit0 : GPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_GSP) -/// - Bit1 : DGPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DGPS) -/// - Bit2 : DR data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DR) -/// - Bit3 : MapMatching data used result(1:used, 0:not used, definition of \n -/// maskbit:POS_LOC_INFO_USE_MAPMATCHING) -/// - Position accuracy(posAcc) -/// - Detected accruray of current position:1LSB=1m -/// - Longitude : (WGS-84)(10^-7degree as 1) \n -/// East longitude is positive value and west longitude is minus value. -/// - Latitude : (WGS-84)(10^-7degree as 1)\n -/// North latitudeis positive value and south latitude is minus value. -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of the Dispatcher \n -/// for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par change of internal status -/// - There is no change of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter dat is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate failed during the event table creation for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been registered. \n -/// [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full during event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - The memory for storing semaphore control data allocate failed. [POS_RET_ERROR_INNER] -/// - Specified semaphore ID has not been registered when lock semaphore. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE is NULL when lock mutex. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE has not been registered in mutex table when lock mutex. [POS_RET_ERROR_INNER] -/// - The owner of specified mutex is not itself when lock mutex. [POS_RET_ERROR_INNER] -/// - Mutex has been multiple locked [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory map. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory management. [POS_RET_ERROR_INNER] -/// - Can not open share memory. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory. [POS_RET_ERROR_INNER] -/// - No empty field in share memory. [POS_RET_ERROR_INNER] -/// - Failed to guarantee share memory. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message transfered between processes. \n -/// [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer \n -/// between processes. [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message transfer \n -/// between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered between processes. \n -/// [POS_RET_ERROR_INNER] -/// - Message transfer failed between process. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during event waiting. \n -/// [POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address for accessing received data. \n -/// [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory map allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory management allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Can not open share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - The size of data stored in share memory is larger than the size of received data. [POS_RET_ERROR_INNER] -/// - The result of getting sensor data get is POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of getting sensor data get is not POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to get longitude and latitude from vehicle sensor -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Sync -/// -/// \~english @see -/// - POS_RegisterListenerLonLat -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_GetLonLat(HANDLE hApp, SENSORLOCATION_LONLATINFO_DAT *dat, uint8_t ucGetMethod); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Get altitude data -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [out] dat -/// - SENSORLOCATION_ALTITUDEINFO_DAT* - output pointer to altitude data -/// \~english @param [in] ucGetMethod -/// - uint8_t - Get method(GPS/Not specified) -/// -/// \~english @par -/// - Get method(ucGetMethod) -/// - SENSOR_GET_METHOD_GPS - GPS The altitude from GPS will be deliveried. -/// - SENSOR_GET_METHOD_AUTO - Not specified The altitude will be deliveried \n -/// according to the current environment -/// - Avaliable method is descriped as following in each environment. \n -/// In the following environment, if the SENSOR_GET_METHOD_AUTO is set,treated as default \n -/// In the following environment, if the unsupported method has been specified, \n -/// POS_RET_ERROR_PARAM will be returned. -/// \~english @par -/// - SENSORLOCATION_ALTITUDEINFO_DAT structure -/// \~english @code -/// typedef struct { -/// uint8_t getMethod; /* get method */ -/// uint8_t SyncCnt; /* sync count */ -/// uint8_t isEnable; /* enable or not */ -/// uint8_t Reserve[3]; /* Reserve */ -/// int32_t Altitude; /* Altitude(unit:0.01m) */ -/// } SENSORLOCATION_ALTITUDEINFO_DAT; -/// @endcode -/// - Get method(getMethod) -/// - SENSOR_GET_METHOD_GPS - altitude from GPS -/// - Synchrony count(SyncCnt) -/// - Count for position data synchronous \n -/// When delivery altitude and heading data, position data can be synchronized by this count. \n -/// But the data of different method can not be synchronized by this count. \n -/// example: [longitude and latitude from GPS] and [heading from GPS] can be synchronized by the count. \n -/// synchronized by the count. \n -/// Caution: The sensor count in sensor data delivery is another data. -/// - Enable or not(isEnable)\n -/// To describe this data is whether enable or not. -/// - 0 - not avaliable -/// - not 0 - avaliable -/// - Altitude is invalid at following condition when GPS data specified, so [not avaliable] provieded -/// - Immediately after system start, GPS unit has not received current location data and GPS unit \n -/// status is not positioning fix -/// - If the status is [not avaliable], data following can not be guaranteed. -/// - Altitude -/// - altitude data(unit 0.01m) -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of \n -/// the Dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter dat is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate falied during the event table creation for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been \n -/// registered. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full during event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - The memory for storing semaphore control data allocate failed. [POS_RET_ERROR_INNER] -/// - Specified semaphore ID has not been registered when lock semaphore. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE is NULL when lock mutex. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE has not been registered in mutex table when lock mutex. [POS_RET_ERROR_INNER] -/// - The owner of specified mutex is not itself when lock mutex. [POS_RET_ERROR_INNER] -/// - Mutex has been multiple locked [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory map. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory management. [POS_RET_ERROR_INNER] -/// - Can not open share memory. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory. [POS_RET_ERROR_INNER] -/// - No empty field in share memory. [POS_RET_ERROR_INNER] -/// - Failed to guarantee share memory. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message \n -/// transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer \n -/// between processes. [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message \n -/// transfer between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered \n -/// between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during \n -/// event waiting. [POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address for accessing -/// received data. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory map allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory management allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Can not open share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - The size of data stored in share memory is larger than the size of received data. [POS_RET_ERROR_INNER] -/// - The result of getting sensor data is POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of getting sensor data is not POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to get altitude from vehicle sensor -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Sync -/// -/// \~english @see -/// - POS_RegisterListenerAltitude -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_GetAltitude(HANDLE hApp, SENSORLOCATION_ALTITUDEINFO_DAT *dat, uint8_t ucGetMethod); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Get speed data -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [out] dat -/// - SENSORMOTION_SPEEDINFO_DAT* - output buffer pointer to store speed data -/// \~english @param [in] ucGetMethod -/// - uint8_t - Get method(POS/Navi/Not specified) -/// -/// \~english @par -/// - Get method(ucGetMethod) -/// - SENSOR_GET_METHOD_POS - The speed calculated in positioning based on speed pulse will be deliveried. -/// - SENSOR_GET_METHOD_NAVI - Navi The speed from Navi will be deliveried. -/// - SENSOR_GET_METHOD_AUTO - Not specified The speed will be deliveried according to current \n -/// environment. -/// - Avaliable method is descriped as following in each environment. \n -/// In the following environment, if the SENSOR_GET_METHOD_AUTO is set,treated as default \n -/// In the following environment, if the unsupported method has been specified, \n -/// POS_RET_ERROR_PARAM will be returned. -/// -/// \~english @par -/// - SENSORMOTION_SPEEDINFO_DAT structure -/// \~english @code -/// typedef struct { -/// uint8_t getMethod; /* get method */ -/// uint8_t SyncCnt; /* sync count */ -/// uint8_t isEnable; /* enable or not */ -/// uint8_t Reserve1[3]; /* Reserve */ -/// uint16_t Speed; /* speed(unit:0.01m/sec) */ -/// uint8_t Reserve2[2]; /* Reserve */ -/// } SENSORMOTION_SPEEDINFO_DAT; -/// @endcode -/// - Get method(getMethod) -/// - SENSOR_GET_METHOD_POS - The speed calculated in positioning based on speed pulse will be deliveried. -/// - Sync count(SyncCnt) -/// - 0. -/// - Enable or not(isEnable) \n -/// To describe this data is whether enable or not. -/// - 0 - not avaliable -/// - not 0 - avaliable -/// - Speed is invalid at following condition when speed pulse specified, so [not avaliable] provieded -/// - Immediately after system start, the sensor data have not been received from SYS micon -/// - If it is not initialization status, certainly provide [avaliable] when Navi data specified -/// - If the status is [not avaliable], data following can not be guaranteed. -/// - Speed -/// - speed data(unit 0.01m/sec) -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter dat is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate falied when the event table creation that for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table when the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been \n -/// registered. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full when event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed when event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - The memory for storing semaphore control data allocate failed. [POS_RET_ERROR_INNER] -/// - Specified semaphore ID has not been registered when semaphore lock. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE is NULL when mutex lock. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE has not been registered in mutex table when mutex lock. [POS_RET_ERROR_INNER] -/// - The owner of specified mutex is not itself when mutex lock. [POS_RET_ERROR_INNER] -/// - Mutex has been multiple locked [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory map. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory management. [POS_RET_ERROR_INNER] -/// - Can not open share memory. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory. [POS_RET_ERROR_INNER] -/// - No empty field in share memory. [POS_RET_ERROR_INNER] -/// - Failed to guarantee share memory. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message transfered \n -/// between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer \n -/// between processes. [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message transfer \n -/// between processes [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered between \n -/// processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during event \n -/// waiting. [POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address for accessing \n -/// received data. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory map allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory management allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Can not open share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - The size of data stored in share memory is larger than the size of received data. [POS_RET_ERROR_INNER] -/// - The result of getting sensor data is POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of getting sensor data is not POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to get speed from vehicle sensor. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Sync -/// -/// \~english @see -/// - POS_RegisterListenerSpeed -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_GetSpeed(HANDLE hApp, SENSORMOTION_SPEEDINFO_DAT *dat, uint8_t ucGetMethod); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Get heading data -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [out] dat -/// - SENSORMOTION_HEADINGINFO_DAT* - output buffer pointer to store heading data -/// \~english @param [in] ucGetMethod -/// - uint8_t - Get method(GPS/Navi/Not specified) -/// -/// \~english @par -/// - Get method(ucGetMethod) -/// - SENSOR_GET_METHOD_GPS - GPS The heading from GPS will be deliveried. -/// - SENSOR_GET_METHOD_NAVI - Navi The heading from Navi will be deliveried. -/// - SENSOR_GET_METHOD_AUTO - Not specified The heading which most suitable in current environment \n -/// - Avaliable method is descriped as following in each environment. \n -/// In corresponding environment, the SENSOR_GET_METHOD_AUTO is set as default. \n -/// In corresponding environment, if the unsupported method has been specified, \n -/// POS_RET_ERROR_PARAM will be returned. -/// \~english @par -/// - SENSORMOTION_HEADINGINFO_DAT structure -/// \~english @code -/// typedef struct { -/// uint8_t getMethod; /* get method */ -/// uint8_t SyncCnt; /* sync count */ -/// uint8_t isEnable; /* enable or not */ -/// uint8_t posSts; /* position status */ -/// uint8_t Reserve1[2]; /* Reserve */ -/// uint16_t Heading; /* heading(unit:0.01degree) */ -/// uint8_t Reserve2[2]; /* Reserve */ -/// } SENSORMOTION_HEADINGINFO_DAT; -/// @endcode -/// - Get method(getMethod) -/// - SENSOR_GET_METHOD_GPS - Heading from GPS -/// - SENSOR_GET_METHOD_NAVI - Heading from Navi -/// - Synchrony count(SyncCnt) -/// - Count for position data synchronous \n -/// When delivery altitude and heading data, position data can be synchronized by this count. \n -/// But the data of different method can not be synchronized by this count. \n -/// example 1: [longitude and latitude from GPS] and [heading from GPS] can be synchronized by the count. \n -/// example 2: [longitude and latitude from GPS] and [longitude and latitude from Navi] can not be \n -/// synchronized by the count. \n -/// Caution: The sensor count in sensor data delivery is another data. -/// - Enable or not(isEnable) \n -/// To describe this data is whether enable or not. -/// - 0 - not avaliable -/// - not 0 - avaliable -/// - Heading is invalid at following condition when GPS data specified, so [not avaliable] provieded -/// - Immediately after system start, GPS unit has not received current location data and GPS unit \n -/// status is not positioning fix -/// - If it is not initialization status, certainly provide [avaliable] when Navi data specified -/// - If the status is [not avaliable], data following can not be guaranteed. -/// - Position status(posSts) -/// - Bit0 : GPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_GSP) -/// - Bit1 : DGPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DGPS) -/// - Bit2 : DR data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DR) -/// - Bit3 : MapMatching data use result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_MAPMATCHING) -/// - Heading -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of the Dispatcher -/// - for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter dat is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate falied during the event table creation for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been \n -/// registered. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full during event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - The memory for storing semaphore control data allocate failed. [POS_RET_ERROR_INNER] -/// - Specified semaphore ID has not been registered when semaphore lock. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE is NULL when mutex lock. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE has not been registered in mutex table when mutex lock. [POS_RET_ERROR_INNER] -/// - The owner of specified mutex is not itself when mutex lock. [POS_RET_ERROR_INNER] -/// - Mutex has been multiple locked [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory map. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory management. [POS_RET_ERROR_INNER] -/// - Can not open share memory. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory. [POS_RET_ERROR_INNER] -/// - No empty field in share memory. [POS_RET_ERROR_INNER] -/// - Failed to guarantee share memory. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message transfered \n -/// between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer \n -/// between processes. [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message transfer \n -/// between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered between \n -/// processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table \n -/// during event waiting[POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address for accessing received \n -/// data. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory map allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory management allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Can not open share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - The size of data stored in share memory is larger than the size of received data. [POS_RET_ERROR_INNER] -/// - The result of getting sensor data is POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of getting sensor data is not POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to get heading from vehicle sensor. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Sync -/// -/// \~english @see -/// - POS_RegisterListenerHeading -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_GetHeading(HANDLE hApp, SENSORMOTION_HEADINGINFO_DAT *dat, uint8_t ucGetMethod); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Set speed information -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] navispeed -/// - uint16_t - speed data[unit: 1.0km/h] -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of \n -/// the Dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The data size is larger than specified value(POS_MSG_INFO_DSIZE) [POS_RET_ERROR_RESOURCE] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The message queue name has not been registered in control table. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table. [POS_RET_ERROR_INNER] -/// - Speed data setting message transfer failed. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to set speed to vehicle sensor. \n -/// This API will finish when get the return value. \n -/// The speed set by this API is saved in positioning as the speed calculated by Navi. -/// -/// \~english @par -/// - Please note the following points when use this API. -/// - This API is only called by Navi proxy. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Fire and Forget -/// -/// \~english @see -/// - None -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_SetSpeedInfo(HANDLE hApp, uint16_t navispeed); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Set location information -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] pstPosData -/// - POS_POSDATA * - pointer to location information -/// -/// \~english @par -/// - POS_POSDATA structure -/// \~english @code -/// typedef struct -/// { -/// int8_t status; /* data status */ -/// uint8_t posSts; /* position status */ -/// uint16_t posAcc; /* Position accuracy 1LSB=1m */ -/// int32_t Longitude; /* Longitude(unit:1/128sec) */ -/// int32_t Latitude; /* Latitude(unit:1/128sec) */ -/// int32_t altitude; /* altitude (unit:0.01m) */ -/// int16_t heading; /* heading (unit:1degree) */ -/// uint8_t reserved[2]; /* reserve */ -/// } POS_POSDATA; -/// @endcode -/// -/// \~english @par -/// - data status(status) \n -/// Do not set the invalid data(do not update data). -/// - data valid/invalid status -/// - Bit0 : latitude(1:valid, 0:invalid, definition of maskbit:POS_LOC_INFO_LAT) -/// - Bit1 : longitude(1:valid, 0:invalid, definition of maskbit:POS_LOC_INFO_LON) -/// - Bit2 : altitude (1:valid, 0:invalid, definition of maskbit:POS_LOC_INFO_ALT) -/// - Bit3 : heading (1:valid, 0:invalid, definition of maskbit:POS_LOC_INFO_HEAD) -/// - Bit4~7 : reserve -/// - Position status(posSts) -/// - Bit0 : GPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_GSP) -/// - Bit1 : DGPS data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DGPS) -/// - Bit2 : DR data used result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_DR) -/// - Bit3 : MapMatching data use result(1:used, 0:not used, definition of maskbit:POS_LOC_INFO_USE_MAPMATCHING) -/// - Bit4~7 : reserve -/// - Position accuracy(posAcc) -/// - Detected accruray of current position:1LSB=1m -/// - longitude -/// - data range: -180deg ~ +180deg -/// - +: east longitude -: west longitude -/// - latitude -/// - data range:-90deg ~ +90deg -/// - +: north latitude -: south latitude -/// - heading -/// - data range:-179deg ~ +180deg -/// - Based on north, west(counter-clockwise) is +, east(clockwise) is - -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of the Dispatcher \n -/// for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par change of internal status -/// - There is no change of internal status -/// -/// \~english @par Failure condition -/// - The parameter pstPosData is NULL [POS_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The data status in parameter pstPosData is invalid value(0). [POS_RET_ERROR_PARAM] -/// - The data status in parameter pstPosData is abnormal value(<15). [POS_RET_ERROR_PARAM] -/// - The data size is larger than specified value(POS_MSG_INFO_DSIZE) [POS_RET_ERROR_RESOURCE] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The message queue name has not been registered in control table. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table. [POS_RET_ERROR_INNER] -/// - Location data setting message transfer failed. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to set location to vehicle sensor. \n -/// This API will finish when get the return value. \n -/// The location set by this API is saved in positioning as the location calculated by Navi. \n -/// If one of longitude and latitude is valid, the another data will be used as valid data no \n -/// matter what status it is. \n -/// If one of longitude and latitude is valid, the position accuracy data will be used as valid data. -/// -/// \~english @par -/// - Please note the following points when use this API. -/// - This API is only called by Navi proxy. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Fire and Forget -/// -/// \~english @see -/// - None -/// -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_SetLocationInfo(HANDLE hApp, POS_POSDATA* pstPosData); - -#ifdef __cplusplus -} -#endif -/** @}*/ // end of positioning -/** @}*/ // end of vehicle_service -/** @}*/ // end of BaseSystem -#endif // POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_COMMON_API_H_ diff --git a/vehicleservice/positioning/client/include/vehicle_service/POS_define.h b/vehicleservice/positioning/client/include/vehicle_service/POS_define.h deleted file mode 100755 index 2ea918d..0000000 --- a/vehicleservice/positioning/client/include/vehicle_service/POS_define.h +++ /dev/null @@ -1,134 +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. - */ -#ifndef POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_DEFINE_H_ -#define POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_DEFINE_H_ - -/** - * @file POS_define.h - * @brief Header file to define the constants and structure - */ - -/** @addtogroup BaseSystem - * @{ - */ -/** @addtogroup vehicle_service - * @ingroup BaseSystem - * @{ - */ -/** @addtogroup positioning - * @ingroup vehicle_service - * @{ - */ - -#include <native_service/frameworkunified_types.h> -#include <gps_hal.h> - -/*---------------------------------------------------------------------------------* - * Definition * - *---------------------------------------------------------------------------------*/ -#define POS_AVAILABILITY "Positioning/Availability" //!< \~english Availability - -/* message sender thread */ -#define POS_NTFY_SEND_THREAD "POS_Main" //!< \~english POS_Main thread -#define POS_NTFY_SEND_THREAD_GPS "POS_Gps" //!< \~english POS_Gps thread - -/* SENSOR_RET_API */ -#define SENSOR_RET_NORMAL 0 //!< \~english normal finish -#define SENSOR_RET_ERROR_PID (-1) //!< \~english thread ID error -#define SENSOR_RET_ERROR_DID (-2) //!< \~english unregistered data ID error -#define SENSOR_RET_ERROR_DID_DIS (-3) //!< \~english data ID not CAN ID -#define SENSOR_RET_ERROR_PARAM (-4) //!< \~english parameter error -#define SENSOR_RET_ERROR_BUFFULL (-5) //!< \~english buffer full error -#define SENSOR_RET_ERROR_CREATE_EVENT (-6) //!< \~english create event error -#define SENSOR_RET_ERROR_TIMER (-7) //!< \~english create timer error -#define SENSOR_RET_ERROR_OUTOF_MEMORY (-8) -//!< \~english share memory allocation size error - -#define SENSOR_RET_ERROR_SIZE (-9) //!< \~english memory size error -#define SENSOR_RET_ERROR (-10) //!< \~english error occured -#define SENSOR_RET_ERROR_NOSUPPORT (-11) //!< \~english no support -#define SENSOR_RET_ERROR_INNER (-12) //!< \~english Internal error -#define SENSOR_RET_ERROR_RESOURCE (-13) //!< \~english lack of resources -#define SENSOR_RET_ERROR_MIN POS_RET_ERROR_MIN //!< \~english min value of error - -/* Data Status Definition */ -#define POS_LOC_INFO_LAT 0x01 -//!< \~english current position latitude(bit0) 1:valid 0:invalid - -#define POS_LOC_INFO_LON 0x02 -//!< \~english current position longitude(bit1) 1:valid 0:invalid - -#define POS_LOC_INFO_ALT 0x04 -//!< \~english current position altitude(bit2) 1:valid 0:invalid - -#define POS_LOC_INFO_HEAD 0x08 -//!< \~english current position heading(bit3) 1:valid 0:invalid - -/* Definition of positioning system */ -#define POS_LOC_INFO_USE_GSP 0x01 -//!< \~english GPS data used result(bit0) 1:valid 0:invalid - -#define POS_LOC_INFO_USE_DGPS 0x02 -//!< \~english DGPS data used result(bit1) 1:valid 0:invalid - -#define POS_LOC_INFO_USE_DR 0x04 -//!< \~english Dead Reckoning used result(bit2) 1:valid 0:invalid - -#define POS_LOC_INFO_USE_MAPMATCHING 0x08 -//!< \~english MapMatching result(bit3) 1:valid 0:invalid - -/*--- for message ---*/ -/* message body size (byte) */ -/* move to gps_hal.h */ - -/*--- for register listener API ---*/ -/* control delivery */ -#define SENSOR_DELIVERY_REGIST 0x01 //!< \~english register delivery - -/* delivery timing control */ -#define SENSOR_DELIVERY_TIMING_UPDATE 0x01 //!< \~english delivery update timing -#define SENSOR_DELIVERY_TIMING_CHANGE 0x02 //!< \~english delivery change timing - -/* POS_RET_API */ -#define POS_RET_NORMAL 0 //!< \~english normal finish -#define POS_RET_ERROR (-1) //!< \~english error occured -#define POS_RET_ERROR_DID (-2) //!< \~english data ID error -#define POS_RET_ERROR_INNER (-3) //!< \~english internal error -#define POS_RET_ERROR_PARAM (-4) //!< \~english parameter error -#define POS_RET_ERROR_BUFFULL (-5) //!< \~english buffer full error -#define POS_RET_ERROR_CREATE_EVENT (-6) //!< \~english create event error -#define POS_RET_ERROR_OUTOF_MEMORY (-8) -//!< \~english share memory allocation size error - -#define POS_RET_ERROR_SIZE (-9) //!< \~english memory size error -#define POS_RET_ERROR_TIMEOUT (-10) //!< \~english timeout error -#define POS_RET_ERROR_NOSUPPORT (-11) //!< \~english no support -#define POS_RET_ERROR_BUSY (-12) //!< \~english busy -#define POS_RET_ERROR_RESOURCE (-13) //!< \~english lack of resources -#define POS_RET_ERROR_MIN (-13) //!< \~english min value of error - -/*---------------------------------------------------------------------------------* - * Typedef declaration * - *---------------------------------------------------------------------------------*/ -typedef int32_t SENSOR_RET_API; //!< \~english API return value -typedef int32_t POS_RET_API; //!< \~english API return value -typedef uint32_t DID; //!< \~english data ID -typedef int32_t RET_API; //!< \~english _CWORD64_ API return value - -/** @}*/ // end of positioning -/** @}*/ // end of vehicle_service -/** @}*/ // end of BaseSystem -#endif // POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_DEFINE_H_ diff --git a/vehicleservice/positioning/client/include/vehicle_service/POS_gps_API.h b/vehicleservice/positioning/client/include/vehicle_service/POS_gps_API.h deleted file mode 100755 index 41e8e01..0000000 --- a/vehicleservice/positioning/client/include/vehicle_service/POS_gps_API.h +++ /dev/null @@ -1,1135 +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. - */ -#ifndef POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_GPS_API_H_ -#define POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_GPS_API_H_ -/** - * @file POS_gps_API.h - * @brief API definition file for GPS function - */ - -/** @addtogroup BaseSystem - * @{ - */ -/** @addtogroup vehicle_service - * @ingroup BaseSystem - * @{ - */ -/** @addtogroup positioning - * @ingroup vehicle_service - * @{ - */ - - -/*---------------------------------------------------------------------------------* - * Incluce * - *---------------------------------------------------------------------------------*/ -#include <vehicle_service/POS_define.h> -#include <gps_hal.h> - -/*---------------------------------------------------------------------------------* - * Typedef declaration * - *---------------------------------------------------------------------------------*/ -typedef int32_t NAVIINFO_RET_API; -//!< \~english define return value of Get/Set GPS information API - -/*---------------------------------------------------------------------------------* - * Event declaration * - *---------------------------------------------------------------------------------*/ - - -/** - * \~english @brief GPS time setting result delivery command ID - * \~english @brief If you want to catch above envents, use NSFW like below. - * \~english @code - * l_eStatus = FrameworkunifiedAttachCallbackToDispatcher(h_app,POS_NTFY_SEND_THREAD, CID_POSIF_REGISTER_LISTENER_GPS_TIME_SET_REQ, CBCallbackA); - * @endcode - */ -#define CID_POSIF_REGISTER_LISTENER_GPS_TIME_SET_REQ 0x0780 - -/*---------------------------------------------------------------------------------* - * Struct declaration * - *---------------------------------------------------------------------------------*/ -/** - * @struct SENSOR_MSG_SEND_DAT - * \~english message for setting vehicle sensor data(to vehicle sensor) - */ -typedef struct { - DID did; //!< \~english data ID - uint16_t usSize; //!< \~english data size - uint8_t data[502]; //!< \~english data body -} SENSOR_MSG_SEND_DAT; - -/*---------------------------------------------------------------------------------* - * Prototype Declaration * - *---------------------------------------------------------------------------------*/ -/* GPS_API public API */ -#ifdef __cplusplus -extern "C" { -#endif - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - GPS setting request -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] p_data -/// - SENSOR_MSG_SEND_DAT * - pointer of GPS setting data -/// -/// \~english @par -/// - SENSOR_MSG_SEND_DAT structure -/// \~english @code -/// typedef struct -/// { -/// DID did; /* Data ID */ -/// uint16_t usSize; /* Data size */ -/// uint8_t data[502]; /* Data body */ -/// } SENSOR_MSG_SEND_DAT; -/// @endcode -/// -/// \~english @par -/// - Data ID(did) -/// - POS_DID_GPS__CWORD82__SETINITIAL - setting initial location and time data to GPS \n -/// (reference to initial location, time setting(_CWORD82_)) -/// - POS_DID_GPS__CWORD82__SETRMODEEX - setting GPS receiver mode(pull extension sentence) \n -/// (reference to GPS receiver mode setting(_CWORD82_)) -/// - POS_DID_GPS__CWORD82__SELSENT - setting command to GPS that output any sentence \n -/// (reference to output any sentence setting(_CWORD82_)) -/// -/// -/// \~english @retval SENSOR_RET_NORMAL normal finish -/// \~english @retval SENSOR_RET_ERROR_CREATE_EVENT event create error -/// \~english @retval SENSOR_RET_ERROR_PARAM parameter error -/// \~english @retval SENSOR_RET_ERROR_DID data ID not registered -/// \~english @retval SENSOR_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval SENSOR_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the Dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status by this API -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [SENSOR_RET_ERROR_PARAM] -/// - The parameter p_data is NULL [SENSOR_RET_ERROR_PARAM] -/// - Data ID(p_data->did) is not supported [SENSOR_RET_ERROR_DID] -/// - GPS setting data size(p_data->usSize) is not same with the data \n -/// that related to data ID [SENSOR_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The message queue name has not been registered in control table when GPS \n -/// setting message transfer between processes. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Message transfer HANDLE create failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Message transfer HANDLE get failed from internal table. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - GPS setting message transfer failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// -/// \~english @par Detail -/// - Call this API to set GPS data. \n -/// The GPS data specified by the parameter p_data will be set in positioning. -/// -/// \~english @par -/// - Please note the following points when use this API. -/// - This API is only called by Navigation proxy. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Fire and Forget -/// -/// \~english @see -/// - None -/// -//////////////////////////////////////////////////////////////////////////////////////////// -int32_t POS_ReqGPSSetting(HANDLE hApp, SENSOR_MSG_SEND_DAT *p_data); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Set GPS information -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] navilocinfo -/// - NAVIINFO_ALL * - pointer of GPS information -/// -/// \~english @par -/// - NAVIINFO_ALL structure -/// \~english @code -/// typedef struct -/// { -/// uint8_t ucSensorCnt; /* sensor count */ -/// uint8_t reserve[3]; /* reserve */ -/// NAVIINFO_DIAG_GPS stDiagGps; /* position fix related information */ -/// NAVIINFO_NAVI_GPS stNaviGps; /* other GPS related information */ -/// } NAVIINFO_ALL; -/// @endcode -/// - sensor count \n -/// sensor count value when GPS data received -/// -/// \~english @par -/// - NAVIINFO_DIAG_GPS structure -/// \~english @code -/// typedef struct -/// { -/// NAVIINFO_DIAG_GPS_FIX stFix; /* position fix information */ -/// NAVIINFO_DIAG_GPS_SAT stSat; /* all satellite information */ -/// } NAVIINFO_DIAG_GPS; -/// @endcode -/// \n -/// \~english @par -/// - NAVIINFO_DIAG_GPS_FIX structure -/// \~english @code -/// typedef struct -/// { -/// uint8_t ucFixSts; /* position fix status */ -/// uint8_t ucReserve[3]; /* reserve */ -/// NAVIINFO_DIAG_GPS_FIX_CNT stCnt; /* position fix count data */ -/// NAVIINFO_DIAG_GPS_FIX_XYZ stWgs84; /* lonlat data(WGS84 geodetic) */ -/// } NAVIINFO_DIAG_GPS_FIX; -/// @endcode -/// - position fix status(ucFixSts) -/// - NAVIINFO_DIAG_GPS_FIX_STS_NON:not fixed -/// - NAVIINFO_DIAG_GPS_FIX_STS_2D :2D fix -/// - NAVIINFO_DIAG_GPS_FIX_STS_3D :3D fix -/// \~english @par -/// - NAVIINFO_DIAG_GPS_FIX_CNT structure -/// \~english @code -/// typedef struct -/// { -/// uint32_t ulCnt3d; /* position fix ratio:3D(unit:sec) */ -/// uint32_t ulCnt2d; /* position fix ratio:2D(unit:sec) */ -/// uint32_t ulCntElse; /* position fix ratio:not fix(unit:sec) */ -/// } NAVIINFO_DIAG_GPS_FIX_CNT; -/// @endcode -/// -/// \~english @par -/// - NAVIINFO_DIAG_GPS_FIX_XYZ structure -/// \~english @code -/// typedef struct -/// { -/// int32_t lLat; /* GPS latitude(unit:1/256sec) (+: north latitude,-: south latitude) */ -/// int32_t lLon; /* GPS longitude(unit:1/256sec) (+: east longitude, -: west longitude) */ -/// } NAVIINFO_DIAG_GPS_FIX_XYZ; -/// @endcode -/// -/// \~english @par -/// - NAVIINFO_DIAG_GPS_SAT structure -/// \~english @code -/// typedef struct -/// { -/// NAVIINFO_DIAG_GPS_PRN stPrn[12]; /* all satellite information */ -/// } NAVIINFO_DIAG_GPS_SAT; -/// @endcode -/// -/// \~english @par -/// - NAVIINFO_DIAG_GPS_PRN structure -/// \~english @code -/// typedef struct -/// { -/// uint8_t ucRcvSts; /* reception status */ -/// uint8_t ucPrn; /* satellite No. */ -/// uint8_t ucelv; /* satellite angle(unit:1.0deg) */ -/// uint8_t ucLv; /* satellite level */ -/// uint16_t usAzm; /* satellite azimuth(unit:1.0deg) (clockwise from north) */ -/// uint8_t ucReserve[2]; /* reserve */ -/// } NAVIINFO_DIAG_GPS_PRN; -/// @endcode -/// - reception status(ucRcvSts) -/// - NAVIINFO_DIAG_GPS_RCV_STS_NOTUSE :not used -/// - NAVIINFO_DIAG_GPS_RCV_STS_SEARCHING :searching -/// - NAVIINFO_DIAG_GPS_RCV_STS_TRACHING :tracking -/// - NAVIINFO_DIAG_GPS_RCV_STS_NOTUSEFIX :not used for position fix -/// - NAVIINFO_DIAG_GPS_RCV_STS_USEFIX :used for position fix -/// \~english @par -/// - NAVIINFO_NAVI_GPS structure -/// \~english @code -/// typedef struct -/// { -/// int32_t altitude; /* altitude(unit:1m) */ -/// uint16_t speed; /* speed(unit:1.00km/h) */ -/// uint16_t heading; /* heading(unit:0.1deg) (clockwise from north) */ -/// NAVIINFO_UTCTIME utc; /* UTC time */ -/// uint8_t tdsts; /* date and time status */ -/// uint8_t reserve[3]; /* reserve */ -/// } NAVIINFO_NAVI_GPS; -/// @endcode -/// - altitude(altitude) \n -/// As the altitude is used as unit [0.01m] in internal, \n -/// the altitude data range is (-21,474,839~21,474,839). -/// - UTC(utc) -/// - The time set after rollover. -/// - date and time status(tdsts) -/// - 0= time has not been adjusted after GPS receiver reset(time input or master reset or CSF start) -/// - 1= time output from RTC Backup(have time adjustment result) -/// - 2= time adjustment completed -/// \~english @par -/// - NAVIINFO_UTCTIME structure -/// \~english @code -/// typedef struct { -/// uint16_t year; /* A.D. (1~) */ -/// uint8_t month; /* month(1~12) */ -/// uint8_t date; /* date(1~31) */ -/// uint8_t hour; /* hour(0~23) */ -/// uint8_t minute; /* minute(0~59) */ -/// uint8_t second; /* second(0~59) */ -/// uint8_t reserved; /* not used */ -/// } NAVIINFO_UTCTIME; -/// @endcode -/// -/// \~english @retval NAVIINFO_RET_NORMAL normal finish -/// \~english @retval NAVIINFO_RET_ERROR_PARAM parameter error -/// \~english @retval NAVIINFO_RET_ERROR_INNER internal error -/// \~english @retval NAVIINFO_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval NAVIINFO_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the Dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter navilocinfo is NULL [NAVIINFO_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [NAVIINFO_RET_ERROR_PARAM] -/// - GPS setting data size(p_data->usSize) is not same as the data that \n -/// related to data ID [NAVIINFO_RET_ERROR_RESOURCE] -/// - The count of message in message queue is reach to max [NAVIINFO_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [NAVIINFO_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [NAVIINFO_RET_ERROR_RESOURCE] -/// - The message queue name has not been registered in control table. [NAVIINFO_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed. [NAVIINFO_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table. [NAVIINFO_RET_ERROR_INNER] -/// - GPS setting message transfer failed between processes. [NAVIINFO_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to set GPS information to vehicle sensor.\n -/// - This API will finish when get the return value. -/// -/// \~english @par -/// - Please note the following points when use this API. -/// - This API is only called by Navigation proxy. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Fire and Forget and Method and Fire and Forget and Fire and Forget -/// -/// \~english @see -/// - POS_GetGPSInfo -//////////////////////////////////////////////////////////////////////////////////////////// -NAVIINFO_RET_API POS_SetGPSInfo(HANDLE hApp, NAVIINFO_ALL *navilocinfo); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Get GPS data -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [out] navidiaginfo -/// - NAVIINFO_DIAG_GPS* - pointer to get GPS data -/// -/// \~english @par -/// - NAVIINFO_DIAG_GPS structure -/// \~english @code -/// typedef struct -/// { -/// NAVIINFO_DIAG_GPS_FIX stFix; /* position fix information */ -/// NAVIINFO_DIAG_GPS_SAT stSat; /* all satellite information */ -/// } NAVIINFO_DIAG_GPS; -/// @endcode -/// \~english @par -/// - NAVIINFO_DIAG_GPS_FIX structure -/// \~english @code -/// typedef struct -/// { -/// uint8_t ucFixSts; /* position fix status */ -/// uint8_t ucReserve[3]; /* reserve */ -/// NAVIINFO_DIAG_GPS_FIX_CNT stCnt; /* position fix count data */ -/// NAVIINFO_DIAG_GPS_FIX_XYZ stWgs84; /* lonlat data(WGS84 geodetic) */ -/// } NAVIINFO_DIAG_GPS_FIX; -/// @endcode -/// - position fix status(ucFixSts) -/// - NAVIINFO_DIAG_GPS_FIX_STS_NON:not fixed -/// - NAVIINFO_DIAG_GPS_FIX_STS_2D :2D fix -/// - NAVIINFO_DIAG_GPS_FIX_STS_3D :3D fix -/// \~english @par -/// - NAVIINFO_DIAG_GPS_FIX_CNT structure -/// \~english @code -/// typedef struct -/// { -/// uint32_t ulCnt3d; /* position fix count:3D(unit:sec) */ -/// uint32_t ulCnt2d; /* position fix count:2D(unit:sec) */ -/// uint32_t ulCntElse; /* position fix count:not fix(unit:sec) */ -/// } NAVIINFO_DIAG_GPS_FIX_CNT; -/// @endcode -/// \~english @par -/// - NAVIINFO_DIAG_GPS_FIX_XYZ structure -/// \~english @code -/// typedef struct -/// { -/// int32_t lLat; /* GPS latitude(unit:1/256sec) (+: north latitude, -: south latitude) */ -/// int32_t lLon; /* GPS longitude(unit:1/256sec) (+: east longitude, -: west longitude) */ -/// } NAVIINFO_DIAG_GPS_FIX_XYZ; -/// @endcode -/// \~english @par -/// - NAVIINFO_DIAG_GPS_SAT structure -/// \~english @code -/// typedef struct -/// { -/// NAVIINFO_DIAG_GPS_PRN stPrn[12]; /* all satellite information */ -/// } NAVIINFO_DIAG_GPS_SAT; -/// @endcode -/// \~english @par -/// - NAVIINFO_DIAG_GPS_PRN structure -/// \~english @code -/// typedef struct -/// { -/// uint8_t ucRcvSts; /* reception status */ -/// uint8_t ucPrn; /* satellite No. */ -/// uint8_t ucelv; /* satellite angle(unit:1.0deg) */ -/// uint8_t ucLv; /* satellite level */ -/// uint16_t usAzm; /* satellite azimuth(unit:1.0deg) (clockwise from north) */ -/// uint8_t ucReserve[2]; /* reserve */ -/// } NAVIINFO_DIAG_GPS_PRN; -/// @endcode -/// - reception status(ucRcvSts) -/// - NAVIINFO_DIAG_GPS_RCV_STS_NOTUSE : not used -/// - NAVIINFO_DIAG_GPS_RCV_STS_SEARCHING : searching -/// - NAVIINFO_DIAG_GPS_RCV_STS_TRACHING : tracking -/// - NAVIINFO_DIAG_GPS_RCV_STS_NOTUSEFIX : not used for position fix -/// - NAVIINFO_DIAG_GPS_RCV_STS_USEFIX : used for position fix -/// -/// \~english @retval NAVIINFO_RET_NORMAL normal finish -/// \~english @retval NAVIINFO_RET_ERROR_PARAM parameter error -/// \~english @retval NAVIINFO_RET_ERROR_INNER internal error -/// \~english @retval NAVIINFO_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval NAVIINFO_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter navidiaginfo is NULL [NAVIINFO_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [NAVIINFO_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [NAVIINFO_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [NAVIINFO_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [NAVIINFO_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [NAVIINFO_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [NAVIINFO_RET_ERROR_INNER] -/// - Memory allocate falied during the event table creation for event \n -/// registering. [NAVIINFO_RET_ERROR_INNER] -/// - The thread can not register in the event table. [NAVIINFO_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [NAVIINFO_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already \n -/// been registered. [NAVIINFO_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [NAVIINFO_RET_ERROR_INNER] -/// - The event table is full during event creation. [NAVIINFO_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [NAVIINFO_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [NAVIINFO_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but \n -/// failed. [NAVIINFO_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been \n -/// registered. [NAVIINFO_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [NAVIINFO_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [NAVIINFO_RET_ERROR_INNER] -/// - Initialize event object failed. [NAVIINFO_RET_ERROR_INNER] -/// - The memory for storing semaphore control data allocate failed. [NAVIINFO_RET_ERROR_INNER] -/// - Specified semaphore ID has not been registered when semaphore lock. [NAVIINFO_RET_ERROR_INNER] -/// - Internal mutex HANDLE is NULL when mutex lock. [NAVIINFO_RET_ERROR_INNER] -/// - Internal mutex HANDLE has not been registered in mutex table when mutex lock. [NAVIINFO_RET_ERROR_INNER] -/// - The owner of specified mutex is not itself when mutex lock. [NAVIINFO_RET_ERROR_INNER] -/// - Mutex has been multiple locked [NAVIINFO_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address. [NAVIINFO_RET_ERROR_INNER] -/// - Can not get usable share memory address. [NAVIINFO_RET_ERROR_INNER] -/// - Memory allocate failed for share memory map. [NAVIINFO_RET_ERROR_INNER] -/// - Memory allocate failed for share memory management. [NAVIINFO_RET_ERROR_INNER] -/// - Can not open share memory. [NAVIINFO_RET_ERROR_INNER] -/// - Failed to mapping share memory. [NAVIINFO_RET_ERROR_INNER] -/// - No empty field in share memory. [NAVIINFO_RET_ERROR_INNER] -/// - Failed to guarantee share memory. [NAVIINFO_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message \n -/// transfered between processes. [NAVIINFO_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [NAVIINFO_RET_ERROR_INNER] -/// - Message transfer failed between processes. [NAVIINFO_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message \n -/// transfer between processes. [NAVIINFO_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message \n -/// transfer between processes. [NAVIINFO_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [NAVIINFO_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered \n -/// between processes. [NAVIINFO_RET_ERROR_INNER] -/// - Message transfer failed between processes. [NAVIINFO_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during \n -/// event waiting. [NAVIINFO_RET_ERROR_INNER] -/// - The count of thread arrived max in event management table during event waiting. [NAVIINFO_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [NAVIINFO_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [NAVIINFO_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [NAVIINFO_RET_ERROR_INNER] -/// - The interruption happened during event getting [NAVIINFO_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [NAVIINFO_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address for accessing \n -/// received data. [NAVIINFO_RET_ERROR_INNER] -/// - Can not get usable share memory address for accessing received data. [NAVIINFO_RET_ERROR_INNER] -/// - Memory for share memory map allocate failed for accessing received data. [NAVIINFO_RET_ERROR_INNER] -/// - Memory for share memory management allocate failed for accessing received data. [NAVIINFO_RET_ERROR_INNER] -/// - Can not open share memory for accessing received data. [NAVIINFO_RET_ERROR_INNER] -/// - Failed to mapping share memory for accessing received data. [NAVIINFO_RET_ERROR_INNER] -/// - The size of data stored in share memory is larger than the size of \n -/// received data. [NAVIINFO_RET_ERROR_INNER] -/// - The result of sensor data get processing is POS_RET_ERROR_RESOURCE. [NAVIINFO_RET_ERROR_RESOURCE] -/// - The result of sensor data get processing is not POS_RET_ERROR_RESOURCE. [NAVIINFO_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to get GPS data for diag. \n -/// This API will finish when get the return value. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Sync -/// -/// \~english @see -/// - POS_SetGPSInfo -//////////////////////////////////////////////////////////////////////////////////////////// -NAVIINFO_RET_API POS_GetGPSInfo(HANDLE hApp, NAVIINFO_DIAG_GPS *navidiaginfo); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - GPS reset request -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] ResName -/// - PCSTR - response thread name -/// \~english @param [in] mode -/// - uint8_t - reset mode -/// -/// \~english @par -/// - reset mode(mode) \n -/// If the mode is not one of the following, return POS_RET_ERROR_PARAM -/// - GPS_RST_COLDSTART - GPS reset request(cold start) \n -/// Automatic search, track satellite and position fix after RAM initialized(all config \n -/// items be initialized to default value).\n -/// Initialize data objects:almanac/ ephemeris data, current position, GPS receiver mode and etc.\n -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_BUSY GPS device is still in setting -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the Dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter ResName is NULL [POS_RET_ERROR_PARAM] -/// - The parameter mode is not GPS_RST_COLDSTART [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate falied when the event table creation that for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table when the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been \n -/// registered. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full when event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed when event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when GPS reset \n -/// message transfer between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when GPS reset message transfered \n -/// between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when GPS reset message \n -/// transfered between processes. [POS_RET_ERROR_INNER] -/// - GPS reset message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during \n -/// event waiting. [POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event waiting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event waiting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event waiting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event waiting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event waiting. [POS_RET_ERROR_INNER] -/// - The result of sensor data get processing is POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of sensor data get processing is not POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to reset GPS device. -/// -/// \~english @par -/// - Please note the following points when use this API. -/// - This API is only called by Navigation proxy. -/// -/// \~english @par -/// Notification of message -/// - The result of communication with GPS device will be sent by system API message with following format. \n -/// Command ID : CID_POSIF_REQ_GPS_RESET \n -/// message structure -/// \~english @code -/// typedef struct -/// { -/// TG_GPS_RET_RESET data; /* GPS reset status data */ -/// } TG_GPS_RET_RESET_MSG; -/// @endcode -/// - message data body structure -/// \~english @code -/// typedef struct { -/// unsigned long ret_rst_status; /* response GPS reset status */ -/// } TG_GPS_RET_RESET; -/// @endcode -/// - response GPS reset status(ret_rst_status) -/// - GPS_SENDOK:acknowledge -/// - GPS_SENDNG:connection error -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Fire and Forget -/// -/// \~english @see -/// - None -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_ReqGPSReset(HANDLE hApp, PCSTR ResName, uint8_t mode); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Register GPS time setting request delivery -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] notifyName -/// - PCSTR - Destination thread name -/// \~english @param [in] ucCtrlFlg -/// - uint8_t - Delivery control flag(register) -/// -/// \~english @par -/// - Delivery control flag(ucCtrlFlg) -/// - SENSOR_DELIVERY_REGIST - register -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_BUFFULL the register count is full -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of \n -/// the Dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter notifyName is NULL [POS_RET_ERROR_PARAM] -/// - The parameter ucCtrlFlg is not register(SENSOR_DELIVERY_REGIST) [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate falied during the event table creation for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already been \n -/// registered. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full during event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message \n -/// transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed in process. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer \n -/// between processes. [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message \n -/// transfer between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered \n -/// between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during \n -/// event waiting. [POS_RET_ERROR_INNER] -/// - The count of thread arrived max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - The result from positioning service is SENSOR_RET_ERROR_PARAM. [POS_RET_ERROR_PARAM] -/// - The result from positioning service is SENSOR_RET_ERROR_BUFFULL. [POS_RET_ERROR_BUFFULL] -/// - The result from positioning service is SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result from positioning service is not SENSOR_RET_ERROR_PARAM or \n -/// SENSOR_RET_ERROR_BUFFULL or SENSOR_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to register GPS time setting request delivery. \n -/// This API will finish when get the return value. -/// -/// -/// \~english @par -/// Please note the following points when use this API. -/// - Duplication registering -/// - The same destination thread name has already been registered -/// - The registered delivery data updated and normal return.(first delivery) -/// - To one delivery destination, the same data will not be duplication deliveried at same timing. -/// - After call this API, if the delivery destination thread name has been changed, please call this API again. -/// -/// \~english @par -/// Notification of message -/// - After registered successfully, vehicle sensor information will be sent by system \n -/// API message with following format. \n -/// Command ID : @ref CID_POSIF_REGISTER_LISTENER_GPS_TIME_SET_REQ \n -/// time info structure \n -/// The year, month, date, hour, minute and second should be the format set to GPS -/// \~english @code -/// typedef struct { -/// uint16_t year; /* A.D.(1~) */ -/// uint8_t month; /* month(1~12) */ -/// uint8_t date; /* date(1~31) */ -/// uint8_t hour; /* hour(0~23) */ -/// uint8_t minute; /* minute(0~59) */ -/// uint8_t second; /* second(0~59) */ -/// uint8_t reserved; /* not used */ -/// } POS_DATETIME; -/// @endcode -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Method -/// -/// \~english @see -/// - None -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_RegisterListenerGPSTimeSetReq(HANDLE hApp, PCSTR notifyName, uint8_t ucCtrlFlg); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Temporarily set GPS time from Diag function -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] pstDateTime -/// - POS_DATETIME * - pointer of GPS time -/// -/// \~english @par -/// - POS_DATETIME structure -/// \~english @code -/// typedef struct { -/// uint16_t year; /* A.D.(1~) */ -/// uint8_t month; /* month(1~12) */ -/// uint8_t date; /* date(1~31) */ -/// uint8_t hour; /* hour(0~23) */ -/// uint8_t minute; /* minute(0~59) */ -/// uint8_t second; /* second(0~59) */ -/// uint8_t reserved; /* not used */ -/// } POS_DATETIME; -/// @endcode -/// -/// \~english @retval NAVIINFO_RET_NORMAL normal finish -/// \~english @retval NAVIINFO_RET_ERROR_PARAM parameter error -/// \~english @retval NAVIINFO_RET_ERROR_INNER internal error -/// \~english @retval NAVIINFO_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval NAVIINFO_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par change of internal status -/// - There is no change of internal status -/// -/// \~english @par Failure condition -/// - The parameter pstDateTime is NULL [POS_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - GPS time Data size is larger than 144 [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The message queue name has not been registered in control table. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table. [POS_RET_ERROR_INNER] -/// - GPS time setting message transfer failed. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to set GPS time data to vehicle sensor. \n -/// This API will finish when get the return value. -/// -/// -/// \~english @par -/// Please note the following points when use this API. -/// - This API will not notify the result of setting time to GPS device. \n -/// Return normal only there is no error such as parameter error. -/// - If want to get the result of setting time to GPS device, use \n -/// POS_RegisterListnerGpsTime to get GPS time and judge it. -/// - This API is only called by Diag service. -/// - While GPS data is receiving from GPS device, the GPS time set by this API is ignored \n -/// and it is set actual GPS time notified by positioning_hal. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Fire and Forget -/// -/// \~english @see -/// - POS_GetGPStime -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_SetGPStime(HANDLE hApp, POS_DATETIME* pstDateTime); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Register GPS time delivery -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] notifyName -/// - PCSTR - Destination thread name -/// \~english @param [in] ucCtrlFlg -/// - uint8_t - Delivery control flag(register) -/// \~english @param [in] ucDeliveryTiming -/// - uint8_t - Delivery timing(change/update) -/// -/// \~english @par -/// - Delivery control flag(ucCtrlFlg) -/// - SENSOR_DELIVERY_REGIST - register -/// - Register specified data delivery -/// - Please note that if the same data delivery has been registered for multiple \n -/// times, the data will also be deliveried for registered multiple times. -/// - The specified GPS time information will be deliveried at registered time (first delivery). -/// - Delivery timing(ucDeliveryTiming) -/// - SENSOR_DELIVERY_TIMING_CHANGE - change Specified data will be deliveried only when it changed. -/// - SENSOR_DELIVERY_TIMING_UPDATE - update Specified data will be deliveried as \n -/// long as it updated by vehicle sensor. -/// -/// \~english @retval SENSOR_RET_NORMAL normal finish -/// \~english @retval SENSOR_RET_ERROR_CREATE_EVENT event creation error -/// \~english @retval SENSOR_RET_ERROR_PARAM parameter error -/// \~english @retval SENSOR_RET_ERROR_INNER internal error -/// \~english @retval SENSOR_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval SENSOR_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of \n -/// the Dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [SENSOR_RET_ERROR_PARAM] -/// - The parameter notifyName is NULL [SENSOR_RET_ERROR_PARAM] -/// - The parameter ucCtrlFlg is not register(SENSOR_DELIVERY_REGIST) [SENSOR_RET_ERROR_PARAM] -/// - The parameter ucDeliveryTiming is neither update(SENSOR_DELIVERY_TIMING_UPDATE) \n -/// nor change(SENSOR_DELIVERY_TIMING_CHANGE) [SENSOR_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to \n -/// max [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event is created in system, but the count of reference is reach to max [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Memory allocate falied during the event table creation for event \n -/// registering. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The thread can not register in the event table. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Memory allocate failed in event table during the thread table creation. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - After register the thread table in event table, the event flag has already been \n -/// registered. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - After register the thread table in event table, the event flag register \n -/// failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event table is full during event creation. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The memory for event HANDLE allocate failed during event table creation. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The thread can not be registered in event table. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - In event table, try to allocate the memory of the thread table creation, but \n -/// failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - After register the thread in event table, the event flag has already been \n -/// registered. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - After register the thread in event table, the event flag register failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Specified event ID has not been registered in table. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Initialize event object failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - ProcessNo has not been registered in message control table when message \n -/// transfered between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer failed between processes. [SENSOR_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message \n -/// transfer between processes. [SENSOR_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message \n -/// transfer between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered \n -/// between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer failed between processes. [SENSOR_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during \n -/// event waiting. [SENSOR_RET_ERROR_INNER] -/// - The count of thread arrived max in event management table during event waiting. [SENSOR_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event get. [SENSOR_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event get. [SENSOR_RET_ERROR_INNER] -/// - The flagID has not been registered during event get. [SENSOR_RET_ERROR_INNER] -/// - The interruption happened during event get [SENSOR_RET_ERROR_INNER] -/// - Whatever error happened during event get. [SENSOR_RET_ERROR_INNER] -/// - Get event timeout. [SENSOR_RET_ERROR_INNER] -/// - Error happened during event get. [SENSOR_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to register GPS time delivery. \n -/// This API will finish when get the return value. -/// -/// -/// \~english @par -/// Please note the following points when use this API. -/// - Duplication registering -/// - The same destination thread name has already been registered -/// - The registered delivery data updated and normal return.(first delivery) -/// - To one delivery destination, the same data will not be duplication deliveried at same timing. -/// - After call this API, if the delivery destination thread name has changed, please call this API again. -/// -/// \~english @par -/// Notification of message -/// - After registered successfully, vehicle sensor will send GPS time data \n -/// as system API message with following format. -/// - If the register successed, certainly delivery first data. And then \n -/// delivery data according to the delivery timing. -/// - Command ID : CID_VEHICLESENS_VEHICLE_INFO_GPS_TIME\n -/// - SENSOR_MSG_GPSTIME structure -/// \~english @code -/// typedef struct { -/// NAVIINFO_UTCTIME utc; /* UTC time */ -/// uint8_t tdsts; /* time status */ -/// uint8_t reserve[3]; /* reserve */ -/// } SENSOR_MSG_GPSTIME; -/// @endcode -/// - time status(tdsts) -/// - 0= time has not been adjusted after GPS receiver reset(time input or master reset or CSF start) -/// - 1= time output from RTC Backup(have time adjustment result) -/// - 2= time adjustment completed -/// -/// \~english @par -/// - NAVIINFO_UTCTIME structure -/// \~english @code -/// typedef struct { -/// uint16_t year; /* A.D.(1~) */ -/// uint8_t month; /* month(1~12) */ -/// uint8_t date; /* date(1~31) */ -/// uint8_t hour; /* hour(0~23) */ -/// uint8_t minute; /* minute(0~59) */ -/// uint8_t second; /* second(0~59) */ -/// uint8_t reserved; /* not used */ -/// } POS_DATETIME; -/// @endcode -/// -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Method -/// -/// \~english @see -/// - None -//////////////////////////////////////////////////////////////////////////////////////////// -SENSOR_RET_API POS_RegisterListenerGPStime(HANDLE hApp, PCSTR notifyName, uint8_t ucCtrlFlg, uint8_t ucDeliveryTiming); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Get GPS time -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [out] dat -/// - SENSOR_GPSTIME* - output buffer pointer to store GPS time -/// -/// \~english @par -/// - SENSOR_GPSTIME structure -/// \~english @code -/// typedef struct { -/// NAVIINFO_UTCTIME utc; /* UTC time */ -/// uint8_t tdsts; /* date amd time status */ -/// uint8_t reserve[3]; /* reserve */ -/// } SENSOR_GPSTIME; -/// @endcode -/// - date amd time status(tdsts) -/// - 0= time has not been adjusted after GPS receiver reset(time input or master reset or CSF start) -/// - 1= time output from RTC Backup(have time adjustment result) -/// - 2= time adjustment completed -/// -/// \~english @par -/// - NAVIINFO_UTCTIME structure -/// \~english @code -/// typedef struct { -/// uint16_t year; /* A.D.(1~) */ -/// uint8_t month; /* month(1~12) */ -/// uint8_t date; /* date(1~31) */ -/// uint8_t hour; /* hour(0~23) */ -/// uint8_t minute; /* minute(0~59) */ -/// uint8_t second; /* second(0~59) */ -/// uint8_t reserved; /* not used */ -/// } NAVIINFO_UTCTIME; -/// @endcode -/// -/// \~english @retval POS_RET_NORMAL normal finish -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the Dispatcher for App are completed. -/// - Availability of positioning service is TRUE. -/// -/// \~english @par changes of internal status -/// - There is no changes of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter dat is NULL [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_INNER] -/// - Memory allocate falied during the event table creation for event registering. [POS_RET_ERROR_INNER] -/// - The thread can not register in the event table. [POS_RET_ERROR_INNER] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag has already \n -/// been registered. [POS_RET_ERROR_INNER] -/// - After register the thread table in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - The event table is full during event creation. [POS_RET_ERROR_INNER] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_INNER] -/// - The thread can not be registered in event table. [POS_RET_ERROR_INNER] -/// - In event table, try to allocate the memory of the thread table creation, but failed. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag has already been registered. [POS_RET_ERROR_INNER] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_INNER] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_INNER] -/// - Initialize event object failed. [POS_RET_ERROR_INNER] -/// - The memory for storing semaphore control data allocate failed. [POS_RET_ERROR_INNER] -/// - Specified semaphore ID has not been registered when semaphore lock. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE is NULL when mutex lock. [POS_RET_ERROR_INNER] -/// - Internal mutex HANDLE has not been registered in mutex table when mutex lock. [POS_RET_ERROR_INNER] -/// - The owner of specified mutex is not itself when mutex lock. [POS_RET_ERROR_INNER] -/// - Mutex has been multiple locked [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory map. [POS_RET_ERROR_INNER] -/// - Memory allocate failed for share memory management. [POS_RET_ERROR_INNER] -/// - Can not open share memory. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory. [POS_RET_ERROR_INNER] -/// - No empty field in share memory. [POS_RET_ERROR_INNER] -/// - Failed to guarantee share memory. [POS_RET_ERROR_INNER] -/// - ProcessNo has not been registered in message control table when message \n -/// transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message \n -/// transfer between processes. [POS_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message \n -/// transfer between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [POS_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered \n -/// between processes. [POS_RET_ERROR_INNER] -/// - Message transfer failed between processes. [POS_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during \n -/// event waiting. [POS_RET_ERROR_INNER] -/// - The count of thread arrived max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event getting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event getting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event getting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event getting. [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address for accessing \n -/// received data. [POS_RET_ERROR_INNER] -/// - Can not get usable share memory address for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory map allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Memory for share memory management allocate failed for accessing received data. [POS_RET_ERROR_INNER] -/// - Can not open share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - Failed to mapping share memory for accessing received data. [POS_RET_ERROR_INNER] -/// - The size of data stored in share memory is larger than the size of received data. [POS_RET_ERROR_INNER] -/// - The result of sensor data getting process is POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_RESOURCE] -/// - The result of sensor data getting process is not POS_RET_ERROR_RESOURCE. [POS_RET_ERROR_INNER] -/// -/// \~english @par Detail -/// - Call this API to get GPS time from vehicle sensor. -/// -/// \~english @par -/// - Please note the following points when use this API. -/// -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Sync -/// -/// \~english @see -/// - POS_SetGPStime -//////////////////////////////////////////////////////////////////////////////////////////// -POS_RET_API POS_GetGPStime(HANDLE hApp, SENSOR_GPSTIME* dat); - -#ifdef __cplusplus -} -#endif -/** @}*/ // end of positioning -/** @}*/ // end of vehicle_service -/** @}*/ // end of BaseSystem -#endif // POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_GPS_API_H_ diff --git a/vehicleservice/positioning/client/include/vehicle_service/POS_sensor_API.h b/vehicleservice/positioning/client/include/vehicle_service/POS_sensor_API.h deleted file mode 100755 index a7a35c4..0000000 --- a/vehicleservice/positioning/client/include/vehicle_service/POS_sensor_API.h +++ /dev/null @@ -1,716 +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. - */ -#ifndef POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_SENSOR_API_H_ -#define POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_SENSOR_API_H_ -/** - * @file POS_sensor_API.h - * @brief API definition file for Sensor function - */ - -/** @addtogroup BaseSystem - * @{ - */ -/** @addtogroup vehicle_service - * @ingroup BaseSystem - * @{ - */ -/** @addtogroup positioning - * @ingroup vehicle_service - * @{ - */ -/*---------------------------------------------------------------------------------* - * Incluce * - *---------------------------------------------------------------------------------*/ -#include <vehicle_service/POS_define.h> - -/*---------------------------------------------------------------------------------* - * Definition * - *---------------------------------------------------------------------------------*/ -/* POSITIONING_DID */ -#define POS_DID_SPEED_PULSE 0x80000012 //!< \~english Data ID of speed pulse -#define POS_DID_SPEED_KMPH 0x80000013 //!< \~english Data ID of KMPH speed -#define POS_DID_SNS_COUNTER 0x8000001A -//!< \~english Data ID of sensor counter -#define POS_DID_GYRO_X 0x80000014 //!< \~english Data ID of X axis gyro -#define POS_DID_GYRO_Y 0x80000085 //!< \~english Data ID of Y axis gyro -#define POS_DID_GYRO_Z 0x80000086 //!< \~english Data ID of Z axis gyro -#define POS_DID_GYRO POS_DID_GYRO_X -//!< \~english Data ID of POS_DID_GYRO is same as POS_DID_GYRO_X -#define POS_DID_GSNS_X 0x80000015 //!< \~english Data ID of x axis gsensor -#define POS_DID_GSNS_Y 0x80000016 //!< \~english Data ID of Y axis gsensor -#define POS_DID_GSNS_Z 0x80000026 //!< \~english Data ID of Z axis gsensor -#define POS_DID_REV 0x80000017 //!< \~english Data ID of reverse signal -#define POS_DID_GPS_ANTENNA 0x80000019 -//!< \~english Data ID of GPS antenna status -#define POS_DID_SPEED_PULSE_FST 0x80000028 -//!< \~english Data ID of first time speed pulse -#define POS_DID_GYRO_X_FST 0x80000029 //!< \~english Data ID of first time X axis gyro -#define POS_DID_GYRO_Y_FST 0x80000043 //!< \~english Data ID of first time Y axis gyro -#define POS_DID_GYRO_Z_FST 0x80000023 //!< \~english Data ID of first time Z axis gyro -#define POS_DID_GYRO_FST POS_DID_GYRO_X_FST -//!< \~~english Data ID of POS_DID_GYRO_FST is same as POS_DID_GYRO_X_FST -#define POS_DID_REV_FST 0x8000007E -//!< \~english Data ID of first time reverse signal -#define POS_DID_GYRO_TEMP 0x80000090 //!< \~english Data ID of gyro temperature -#define POS_DID_GYRO_TEMP_FST 0x80000091 -//!< \~english Data ID of first time gyro temperature -#define POS_DID_GSNS_X_FST 0x80000087 -//!< \~english Data ID of first time x axis gsensor -#define POS_DID_GSNS_Y_FST 0x80000088 -//!< \~english Data ID of first time Y axis gsensor -#define POS_DID_GSNS_Z_FST 0x80000089 -//!< \~english Data ID of first time Z axis gsensor -#define POS_DID_PULSE_TIME 0x8000003A //!< \~english Data ID of pulse time - -#define POS_DID_GPS__CWORD82__NMEA 0x80000030U -//!< \~english Data ID of _CWORD82_ GPS NMEA sentence -#define POS_DID_GPS__CWORD82___CWORD44_GP4 0x80000031U -//!< \~english Data ID of _CWORD82_ GPS _CWORD44_GP4 data -#define POS_DID_GPS__CWORD82__FULLBINARY 0x80000032U -//!< \~english Data ID of _CWORD82_ GPS full binary data -#define POS_DID_GPS_NMEA 0x8000009AU -//!< \~english Data ID of GPS NMEA sentence -#define POS_DID_GPS_CLOCK_DRIFT 0x800000B3U -//!< \~english Data ID of GPS time drift data -#define POS_DID_GPS_CLOCK_FREQ 0x800000B4U -//!< \~english Data ID of GPS time frequency data - -/** - * \~english @brief Delivery sensor extra package command ID - * \~english @brief If you want to catch above envents, use NSFW like below. - * \~english @code - * l_eStatus = FrameworkUnifiedAttachCallbackToDispatcher(h_app, POS_NTFY_SEND_THREAD, CID_POSIF_REGISTER_LISTENER_PKG_SENSOR_DATA, CBCallbackA); - * @endcode - */ -#define CID_POSIF_REGISTER_LISTENER_PKG_SENSOR_DATA 0x0700 - -/** - * \~english @brief Delivery sensor information command ID - * \~english @brief If you want to catch above envents, use NSFW like below. - * \~english @code - * l_eStatus = FrameworkUnifiedAttachCallbackToDispatcher(h_app, POS_NTFY_SEND_THREAD, CID_POSIF_REGISTER_LISTENER_SENSOR_DATA, CBCallbackA); - * @endcode - */ -#define CID_POSIF_REGISTER_LISTENER_SENSOR_DATA 0x0200 - -#define SENSOR_MSGBUF_DSIZE 4096 -//!< \~english message body maximum size - -#define SENSOR_VSHEAD_DSIZE 36 -//!< \~english vehicle sensor header size(1+3+16*2) - -#define SENSOR_VSINFO_DSIZE (SENSOR_MSGBUF_DSIZE - SENSOR_VSHEAD_DSIZE) -//!< \~english vehicle sensor data size - -// Same name/value is defined, but client doesn't include HAL header. -// It defines SENSOR_MSG_VSINFO_DSIZE if not included HAL. -#ifndef HAL_API_POSITIONING_HAL_H_ -#define SENSOR_MSG_VSINFO_DSIZE 1904u -//!< \~english vehicle sensor message body maximum size -#endif - -#define SENSOR_PKG_DELIVERY_MAX 16 -//!< \~english number of data ID per a package - -/*---------------------------------------------------------------------------------* - * Typedef declaration * - *---------------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------------* - * Struct declaration * - *---------------------------------------------------------------------------------*/ -/** - * @struct SENSOR_PKG_MSG_VSINFO - * \~english positioning sensor notification message (to User) - */ -typedef struct { - uint8_t ucDNum; //!< \~english number of data - uint8_t ucDataBreak; //!< \~english data lack infomation - uint8_t ucDivideCnt; //!< \~english total partition - uint8_t ucDivideSendCnt; //!< \~english partition transmit count - uint16_t usOffset[SENSOR_PKG_DELIVERY_MAX]; //!< \~english offset - uint8_t ucData[SENSOR_VSINFO_DSIZE]; //!< \~english data body -} SENSOR_PKG_MSG_VSINFO; - -/** - * @struct SENSOR_MSG_VSINFO - * \~english message delivery positioning sensor information - */ -typedef struct { - DID did; //!< \~english data ID - uint16_t size; //!< \~english data size - uint8_t rcvFlag; //!< \~english reception flag - uint8_t reserve; //!< \~english reserve - uint8_t data[SENSOR_MSG_VSINFO_DSIZE]; //!< \~english data body -} SENSOR_MSG_VSINFO; - -/*---------------------------------------------------------------------------------* - * Prototype Declaration * - *---------------------------------------------------------------------------------*/ -/* SENSOR_API public API */ -#ifdef __cplusplus -extern "C" { -#endif -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Send the extra package when first delivery. -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] notifyName -/// - PCSTR - Destination thread name -/// \~english @param [in] ucPkgNum -/// - uint8_t - data number in package(1 to 16) -/// \~english @param [in] pulDid -/// - DID * - buffer pointer of the data ID array in package -/// \~english @param [in] ucCtrlFlg -/// - uint8_t - Delivery control flag(register) -/// \~english @param [in] ucDeliveryTiming -/// - uint8_t - Delivery timing(change/update) -/// -/// \~english @par -/// - data number in package(ucPkgNum) \n -/// The following 8 data ID can be registered. And the register data number range is 1~16. -/// - buffer pointer of the data ID array in package(pulDid) \n -/// The data ID set to the first in pulDid is the delivery key. \n -/// If the data ID not one of the following be set, return SENSOR_RET_ERROR_PARAM. -/// - POS_DID_SNS_COUNTER - sensor counter -/// - POS_DID_GYRO_X - gyro output (X axis) -/// - POS_DID_GYRO_Y - gyro output (Y axis) -/// - POS_DID_GYRO_Z - gyro output (Z axis) -/// - POS_DID_SPEED_PULSE - speed pulse -/// - POS_DID_REV - REV signal(0:forward 1:backward) -/// - POS_DID_GSNS_X - Gsensor output X axis -/// - POS_DID_GSNS_Y - Gsensor output Y axis -/// - POS_DID_GSNS_Z - Gsensor output Z axis -/// - POS_DID_GYRO_TEMP - gyro temperature -/// - POS_DID_PULSE_TIME - pulse time\n -/// \~english @par -/// - Because positioning is G/W between Navi and HAL, value depends on the design of HAL. -/// \~english @par -/// - Note:The Gsensor output is 0 in the environment without Gsensor hardware.\n -/// \~english @par -/// - Delivery control flag(ucCtrlFlg) -/// - SENSOR_DELIVERY_REGIST - register -/// - Register specified LonLat delivery -/// - Please note that if the same data delivery has been registered for multiple times, \n -/// the data will also be deliveried for registered multiple times. -/// - The specified LonLat will be deliveried at register time no matter what delivery \n -/// timing has been registered (first delivery). -/// - Delivery timing(ucDeliveryTiming) -/// - SENSOR_DELIVERY_TIMING_CHANGE - change Specified LonLat be deliveried only when it is changed. -/// - SENSOR_DELIVERY_TIMING_UPDATE - update Specified Lonlat be deliveried as long as \n -/// it is updated by vehicle sensor. -/// -/// -/// \~english @retval SENSOR_RET_NORMAL normal end -/// \~english @retval SENSOR_RET_ERROR_CREATE_EVENT event create failed -/// \~english @retval SENSOR_RET_ERROR_PARAM parameter error -/// \~english @retval SENSOR_RET_ERROR_INNER internal error -/// \~english @retval SENSOR_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval SENSOR_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization \n -/// (FrameworkunifiedCreateDispatcherWithoutLoop and etc.) of the Dispatcher for App are completed. -/// - Availability of service positioning is TRUE. -/// -/// \~english @par change of internal status -/// - There is no change of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [SENSOR_RET_ERROR_PARAM] -/// - The parameter ucCtrlFlg is not register(SENSOR_DELIVERY_REGIST) [SENSOR_RET_ERROR_PARAM] -/// - The parameter ucDeliveryTiming is neither update(SENSOR_DELIVERY_TIMING_UPDATE) \n -/// nor change(SENSOR_DELIVERY_TIMING_CHANGE) [SENSOR_RET_ERROR_PARAM] -/// - The parameter notifyName is NULL [SENSOR_RET_ERROR_PARAM] -/// - The parameter ucPkgNum is 0 or it is larger than 16 [SENSOR_RET_ERROR_PARAM] -/// - The parameter pulDid is NULL [SENSOR_RET_ERROR_PARAM] -/// - The data ID in paramter buffer pulDid is not avaliable value [SENSOR_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The event has been registered in event table and created in same process, \n -/// but the count of reference is reach to max [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table and created in system, but the \n -/// count of reference is reach to max [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, but memory for the thread event table \n -/// creation allocate falied. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, but the thread can not be registered in \n -/// event table. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, but memory for thread table creation \n -/// allocate falied. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, and the event flag has already been \n -/// registered. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, and the event flag register failed. \n -/// [SENSOR_RET_ERROR_CREATE_EVENT] -/// - No empty field for registering the event HANDLE into event table. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Memory for event HANDLE get failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has not been registered in event table and not finished registering \n -/// [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has not been registered in event table, and memory for thread table \n -/// creation allocate falied. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has not been registered in event table, and the event flag has already been \n -/// registered. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has not been registered in event table, and the event flag register failed. \n -/// [SENSOR_RET_ERROR_CREATE_EVENT] -/// - ProcessNo has not been registered in message control table when message transfered \n -/// between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered in process. [SENSOR_RET_ERROR_INNER] -/// - Message transfer failed in process. [SENSOR_RET_ERROR_INNER] -/// - The destination process name is NULL. [SENSOR_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message transfer \n -/// between processes. [SENSOR_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message \n -/// transfer between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered \n -/// between processes. [SENSOR_RET_ERROR_INNER] -/// - Message transfer failed between processes. [SENSOR_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during event \n -/// waiting. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The count of thread is reach to max in event management table during event \n -/// waiting. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The EV_FLAG_BIT is not set in flagID during event getting. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The ID of message event queue has not been created during event getting. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The flagID has not been registered during event getting. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The interruption happened during event getting [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Whatever error happened during event getting. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Got event is SENSOR_RET_ERROR_INNER. [SENSOR_RET_ERROR_INNER] -/// -/// \~english @par Detial -/// - Call this API to register vehicle sensor data delivery. \n -/// This API return the result of registering. \n -/// The data from sensor data received to registering will be deliveried. \n -/// The first delivery data is the sensor data(max 64 number of sensor counter, \n -/// reverse signal,gyro temperature, max 640 number of gyro output(X axis), gyro output(X axis), gyro output(Z axis), \n -/// speed pulse,Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis), max 2048 number of pulse time) in 6.4 second. \n -/// If the data number is more than max number, delivery the data in newest 6.4 second. \n -/// If the sensor data accumulated more than max number, set VEHICLE_SNS_BREAK to data missing information. \n -/// If sensor data number is more than the data number send in one time(10 number of \n -/// sensor counter,reverse signal,gyro temperature, 100 number of gyro output(X axis), gyro output(X axis), gyro output(Z axis), \n -/// speed pulse, Gsensor output(X axis),Gsensor output(Y axis), Gsensor output(Z axis), 320 number of pulse time), \n -/// the old data is divided into partitions(every partition with 10 number of sensor counter, \n -/// reverse signal,gyro temperature, 100 number of gyro output(X axis), gyro output(X axis), gyro output(Z axis), \n -/// speed pulse,Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis), 320 number of pulse time) to delivery. \n -/// The last message for first delivery is the message that the partition count equal to partition No. \n -/// After first delivery, the message data(1 number of sensor counter,reverse signal, \n -/// gyro temperature, 10 number of gyro output(X axis), gyro output(X axis), gyro output(Z axis),speed pulse, \n -/// Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis), 32 number of pulse time) deliveried. \n -/// And because the data missing information, divided partition count, \n -/// diveided partition No is not used, they will be set to 0 in message.\n -/// (sample)The sensor data in 6.4 second divided to delivery -/// - 1st message(sensor counter, reverse signal, gyro temperature=10 number, gyro output(X axis), gyro output(Y axis), gyro output(Z axis), speed pulse, \n -/// Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis)=100 number, pulse time=320 number), divided \n -/// partition count=7, divided partition No=1) -/// - 2nd message(sensor counter, reverse signal, gyro temperature=10 number, gyro output(X axis), gyro output(Y axis), gyro output(Z axis), speed pulse, \n -/// Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis)=100 number, pulse time=320 number), divided \n -/// partition count=7, divided partition No=2) -/// - 3rd message(sensor counter, reverse signal, gyro temperature=10 number, gyro output(X axis), gyro output(Y axis), gyro output(Z axis), speed pulse, \n -/// Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis)=100 number, pulse time=320 number), divided \n -/// partition count=7,divided partition No=3) -/// - 4th message(sensor counter, reverse signal, gyro temperature=10 number, gyro output(X axis), gyro output(Y axis), gyro output(Z axis), speed pulse, \n -/// Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis)=100 number, pulse time=320 number), divided \n -/// partition count=7,divided partition No=4) -/// - 5th message(sensor counter, reverse signal, gyro temperature=10 number, gyro output(X axis), gyro output(Y axis), gyro output(Z axis), speed pulse, \n -/// Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis)=100 number, pulse time=320 number), divided \n -/// partition count=7,divided partition No=5) -/// - 6th message(sensor counter, reverse signal, gyro temperature=10 number, gyro output(X axis), gyro output(Y axis), gyro output(Z axis), speed pulse, \n -/// Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis)=100 number, pulse time=320 number), divided \n -/// partition count=7,divided partition No=6) -/// - 7th message(sensor counter, reverse signal, gyro temperature=4 number, gyro output(X axis), gyro output(Y axis), gyro output(Z axis), speed pulse, \n -/// Gsensor output(X axis), Gsensor output(Y axis), Gsensor output(Z axis)=40 number, pulse time=128 number), divided \n -/// partition count=7,divided partition No=7) -/// -/// \~english @par -/// - Please note the following points when use this API. -/// - Duplication registering -/// - The same destination thread name has already been registered -/// - The registered delivery data updated and normal return.(first delivery) -/// - To one delivery destination, the same data will not be duplication deliveried at same timing. -/// - After delivery the sensor data accumulated in 6.4 second(first delivery), the sensor data \n -/// will not be accumulated any more. So the same data will be deliveried as first \n -/// delivery when registered again. -/// - This API is only called by Navi proxy. -/// - After call this API, if the delivery destination thread name is changed, please call this API again. -/// -/// \~english @par -/// message structure -/// - After success to register, vehicle sensor will send message as system API message with following format. -/// Command ID : @ref CID_POSIF_REGISTER_LISTENER_PKG_SENSOR_DATA \n -/// Definition of structure -/// \~english @code -/// #define SENSOR_MSGBUF_DSIZE 4096 /* max size of message body */ -/// #define SENSOR_VSHEAD_DSIZE 36 /* vehicle sensor header size(1+3+16*2) */ -/// #define SENSOR_PKG_DELIVERY_MAX 16 /* max number of Data ID in package */ -/// #define SENSOR_VSINFO_DSIZE (SENSOR_MSGBUF_DSIZE - SENSOR_VSHEAD_DSIZE) -/// typedef struct { -/// uint8_t ucDNum; /* number of data */ -/// uint8_t ucDataBreak; /* data missing information */ -/// uint8_t ucDivideCnt; /* divided partition count */ -/// uint8_t ucDivideSendCnt; /* divided partition No. */ -/// uint16_t usOffset[SENSOR_PKG_DELIVERY_MAX]; /* offset */ -/// uint8_t ucData[SENSOR_VSINFO_DSIZE]; /* vehicle sensor data */ -/// } SENSOR_PKG_MSG_VSINFO; -/// @endcode -/// - number of data \n -/// Data number in package -/// - data missing information \n -/// VEHICLE_SNS_BREAK:not continuous data \n -/// VEHICLE_SNS_NORMAL:continuous data -/// - divided partition count \n -/// All divided partition count \n -/// If it is more than 1, data divided to delivery -/// - divided partition No. \n -/// The No. of the divided partition. If it equal to the divided partition count, \n -/// that meanings this message is the last divided partition of the package. -/// - offset \n -/// The array of the offset from the head of vehicle sensor data -/// - vehicle sensor data -/// - Data ID(4Byte) -/// - Data size(2Byte) -/// - reception flag(1Byte) -/// - If the data get from CAN, direct line, GPS, set to 0x01 -/// - If data has not been received, set to 0x00 -/// - reserve(1Byte)\n -/// - Data body is cycle fit with the packaged data. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Method -/// -/// \~english @see -/// - POS_RegisterListenerSensData, POS_GetSensData -/// -//////////////////////////////////////////////////////////////////////////////////////////// -SENSOR_RET_API POS_RegisterListenerPkgSensData(HANDLE hApp, PCSTR notifyName, uint8_t ucPkgNum, DID *pulDid, - uint8_t ucCtrlFlg, uint8_t ucDeliveryTiming); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Register sensor data delivery. -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] notifyName -/// - PCSTR - Destination thread name -/// \~english @param [in] ulDid -/// - DID - Data ID of vehicle info -/// \~english @param [in] ucCtrlFlg -/// - uint8_t - Delivery control flag(register) -/// \~english @param [in] ucDeliveryTiming -/// - uint8_t - Delivery timing(change/update) -/// -/// \~english @par -/// - Data ID of vehicle info(ulDid) \n -/// -/// \~english @par -/// - Note:The Gsensor output is 0 in the environment without Gsensor hardware. -/// \~english @par -/// - Delivery control flag(ucCtrlFlg) -/// - SENSOR_DELIVERY_REGIST - register -/// - Register specified LonLat delivery -/// - Please note that if the same data delivery has been registered for multiple times, \n -/// the data will also be deliveried for registered multiple times. -/// - The specified LonLat will be deliveried at register time no matter what delivery \n -/// timing has been registered (first delivery). -/// - Delivery timing(ucDeliveryTiming) -/// - SENSOR_DELIVERY_TIMING_CHANGE - change Specified LonLat be deliveried only when it is changed. -/// - SENSOR_DELIVERY_TIMING_UPDATE - update Specified Lonlat be deliveried \n -/// as long as it is updated by vehicle sensor. -/// -/// \~english @retval SENSOR_RET_NORMAL normal end -/// \~english @retval SENSOR_RET_ERROR_CREATE_EVENT event create failed -/// \~english @retval SENSOR_RET_ERROR_PARAM parameter error -/// \~english @retval SENSOR_RET_ERROR_INNER internal error -/// \~english @retval SENSOR_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval SENSOR_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the Dispatcher for App are completed. -/// - Availability of service positioning is TRUE. -/// -/// \~english @par change of internal status -/// - There is no change of internal status -/// -/// \~english @par Failure condition -/// - The parameter ucDeliveryTiming is neither update \n -/// (SENSOR_DELIVERY_TIMING_UPDATE) nor change(SENSOR_DELIVERY_TIMING_CHANGE) [SENSOR_RET_ERROR_PARAM] -/// - The parameter ucCtrlFlg is not register(SENSOR_DELIVERY_REGIST) [SENSOR_RET_ERROR_PARAM] -/// - The parameter hApp is NULL [SENSOR_RET_ERROR_PARAM] -/// - The parameter notifyName is NULL [SENSOR_RET_ERROR_PARAM] -/// - The parameter ulDID is not avaliable value [SENSOR_RET_ERROR_PARAM] -/// - The parameter ulDID is a value can not specified [SENSOR_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [SENSOR_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to \n -/// max [SENSOR_RET_ERROR_RESOURCE] -/// - The event has been registered in event table and created in same process, \n -/// but the count of reference is reach to max [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table and created in system, but the count \n -/// of reference is reach to max [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, but memory for the thread event table \n -/// creation allocate falied. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, but the thread can not be registered \n -/// in event table. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, but memory for thread table creation \n -/// allocate falied. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, and the event flag has already been \n -/// registered. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has been registered in event table, and the event flag register failed. \n -/// [SENSOR_RET_ERROR_CREATE_EVENT] -/// - No empty field for registering the event HANDLE into event table. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Memory for event HANDLE get failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has not been registered in event table and not finished registering \n -/// [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has not been registered in event table, and memory for thread table \n -/// creation allocate falied. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has not been registered in event table, and the event flag has already \n -/// been registered. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The event has not been registered in event table, and the event flag register \n -/// failed. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - ProcessNo has not been registered in message control table when message transfered \n -/// in process. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed when message transfered in process. [SENSOR_RET_ERROR_INNER] -/// - Message transfer failed in process. [SENSOR_RET_ERROR_INNER] -/// - The destination process name is NULL. [SENSOR_RET_ERROR_INNER] -/// - The destination process name size is larger than 20 characters when message \n -/// transfer between process. [SENSOR_RET_ERROR_INNER] -/// - The message queue name has not been registered in control table when message \n -/// transfer between process. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE create failed when message transfered between process. [SENSOR_RET_ERROR_INNER] -/// - Message transfer HANDLE get failed from internal table when message transfered \n -/// between process. [SENSOR_RET_ERROR_INNER] -/// - Message transfer failed between process. [SENSOR_RET_ERROR_INNER] -/// - Specified event HANDLE has not been registered in event HANDLE table during waiting \n -/// event. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The count of thread is reach to max in event management table during waiting \n -/// event. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The EV_FLAG_BIT is not set in flagID during getting event. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The ID of message event queue has not been created during getting event. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The flagID has not been registered during getting event. [SENSOR_RET_ERROR_CREATE_EVENT] -/// - The interruption happened during getting event [SENSOR_RET_ERROR_CREATE_EVENT] -/// - Whatever error happened during getting event. [SENSOR_RET_ERROR_CREATE_EVENT] -/// -/// \~english @par Detial -/// - Call this API to register vehicle sensor data delivery. \n -/// This API return the result of registering. -/// -/// \~english @par -/// Please note the following points when use this API. -/// - Duplication registering -/// - The same destination thread name has already been registered -/// - The registered delivery data updated and normal return.(first delivery) -/// - To one delivery destination, the same data will not be duplication deliveried at same timing. -/// - After call this API, if the delivery destination thread name is changed, please call this API again. -/// -/// \~english @par -/// message structure -/// - After success to register, vehicle sensor will send message as system API message with following format. -/// - If the register successed, certainly delivery first data. And then delivery data according to -/// the delivery timing. \n -/// Command ID : @ref CID_POSIF_REGISTER_LISTENER_SENSOR_DATA \n -/// -/// \~english @code -/// #define SENSOR_MSG_VSINFO_DSIZE 1904 /* max size of message body */ -/// typedef struct -/// { -/// DID did; /* data ID */ -/// uint16_t size; /* data size of vehicle sensor data */ -/// uint8_t rcvFlag; /* reception flag */ -/// uint8_t reserve; /* reserve */ -/// uint8_t data[SENSOR_MSG_VSINFO_DSIZE]; /* vehicle sensor data */ -/// } SENSOR_MSG_VSINFO; -/// @endcode -/// - reception flag(1Byte) -/// - If the data get from CAN or direct line, set to 0x01 -/// - If data has not been received, set to 0x00 -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Method -/// -/// \~english @see -/// - POS_RegisterListenerPkgSensData, POS_GetSensData -/// -//////////////////////////////////////////////////////////////////////////////////////////// -SENSOR_RET_API POS_RegisterListenerSensData(HANDLE hApp, PCSTR notifyName, DID ulDid, uint8_t ucCtrlFlg, - uint8_t ucDeliveryTiming); - -//////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_Positioning -/// \~english @par Brief -/// - Get vehicle sensor data. -/// -/// \~english @param [in] hApp -/// - HANDLE - App Handle -/// \~english @param [in] ulDid -/// - DID - Data ID of vehicle info -/// \~english @param [out] pDestData -/// - void* - pointer of buffer for storing vehicle sensor data -/// \~english @param [in] usDestSize -/// - uint16_t - vehicle sensor data buffer size -/// -/// \~english @par -/// - Data ID of vehicle info(ulDid) -/// - POS_DID_SPEED_PULSE - speed pulse(count of pulse) -/// - POS_DID_GYRO_X - gyro output (X axis) -/// - POS_DID_GYRO_Y - gyro output (Y axis) -/// - POS_DID_GYRO_Z - gyro output (Z axis) -/// - POS_DID_GSNS_X - Gsensor output (X axis) -/// - POS_DID_GSNS_Y - Gsensor output (Y axis) -/// - POS_DID_GSNS_Z - Gsensor output (Z axis) -/// - POS_DID_GPS_ANTENNA - GPS antenna connection status -/// - POS_DID_GPS__CWORD82__NMEA - GPS NMEA(_CWORD82_) -/// - POS_DID_GPS__CWORD82__FULLBINARY - GPS _CWORD82_ full binary(_CWORD82_) -/// - POS_DID_GPS_NMEA - GPS NMEA -/// - POS_DID_GYRO_TEMP - gyro temperature -/// - POS_DID_GPS_CLOCK_DRIFT - GPS clock drift -/// - POS_DID_GPS_CLOCK_FREQ - GPS clock frequency -/// - The avaliable data ID of each hardware type is as following. -/// \~english @par -/// - Because positioning is G/W between Navi and HAL, value depends on the design of HAL. -/// \~english @par -/// - Note:The Gsensor output is 0 in the environment without Gsensor hardware. -/// - vehicle sensor data buffer size(usDestSize) \n -/// Please note it is the size of output buffer, not the size of data. -/// -/// \~english @retval more than 0 data size -/// \~english @retval POS_RET_ERROR_CREATE_EVENT event create failed -/// \~english @retval POS_RET_ERROR_OUTOF_MEMORY share memory guarantee failed -/// \~english @retval POS_RET_ERROR_PARAM parameter error -/// \~english @retval POS_RET_ERROR_SIZE buffer size error -/// \~english @retval POS_RET_ERROR_INNER internal error -/// \~english @retval POS_RET_ERROR_NOSUPPORT unsupported -/// \~english @retval POS_RET_ERROR_RESOURCE lack of resource -/// -/// \~english @par Precondition -/// - The creation/initialization(FrameworkunifiedCreateDispatcherWithoutLoop and etc.) \n -/// of the Dispatcher for App are completed. -/// - Availability of service positioning is TRUE. -/// -/// \~english @par change of internal status -/// - There is no change of internal status -/// -/// \~english @par Failure condition -/// - The parameter hApp is NULL [POS_RET_ERROR_PARAM] -/// - The parameter pDestData is NULL [POS_RET_ERROR_PARAM] -/// - The parameter ulDid is not avaliable value in current hardware environment [POS_RET_ERROR_PARAM] -/// - The count of message in message queue is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of mutex is reach to max [POS_RET_ERROR_RESOURCE] -/// - The count of item in ProcessName-ProcessNo convert table is reach to max [POS_RET_ERROR_RESOURCE] -/// - The event is created in same process, but the count of reference is reach to max \n -/// [POS_RET_ERROR_CREATE_EVENT] -/// - The event is created in system, but the count of reference is reach to max [POS_RET_ERROR_CREATE_EVENT] -/// - Memory allocate falied during the event table creation for \n -/// event registering. [POS_RET_ERROR_CREATE_EVENT] -/// - The thread can not register in the event table. [POS_RET_ERROR_CREATE_EVENT] -/// - Memory allocate failed in event table during the thread table creation. [POS_RET_ERROR_CREATE_EVENT] -/// - After register the thread table in event table, the event flag has already \n -/// been registered. [POS_RET_ERROR_CREATE_EVENT] -/// - After register the thread table in event table, the event flag register \n -/// failed. [POS_RET_ERROR_CREATE_EVENT] -/// - The event table is full during event creation. [POS_RET_ERROR_CREATE_EVENT] -/// - The memory for event HANDLE allocate failed during event table creation. [POS_RET_ERROR_CREATE_EVENT] -/// - The thread can not be registered in event table. [POS_RET_ERROR_CREATE_EVENT] -/// - In event table, to allocate the memory of the thread table creation, \n -/// but failed. [POS_RET_ERROR_CREATE_EVENT] -/// - After register the thread in event table, the event flag has already been \n -/// registered. [POS_RET_ERROR_CREATE_EVENT] -/// - After register the thread in event table, the event flag register failed. [POS_RET_ERROR_CREATE_EVENT] -/// - Specified event ID has not been registered in table. [POS_RET_ERROR_CREATE_EVENT] -/// - Initialize event object failed. [POS_RET_ERROR_CREATE_EVENT] -/// - There is no empty field in semaphore table for semaphore creation [POS_RET_ERROR_OUTOF_MEMORY] -/// - The memory for storing semaphore control data allocate failed. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Specified semaphore ID has not been registered when semaphore lock. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Internal mutex HANDLE is NULL when mutex lock. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Internal mutex HANDLE has not been registered in mutex table when mutex lock. [POS_RET_ERROR_OUTOF_MEMORY] -/// - The owner of specified mutex is not itself when mutex lock. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Mutex has been multiple locked [POS_RET_ERROR_OUTOF_MEMORY] -/// - The HANDLE is NULL when getting usable share memory address. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Can not get usable share memory address. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Memory allocate failed for share memory map. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Memory allocate failed for share memory management. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Can not open share memory. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Failed to mapping share memory. [POS_RET_ERROR_OUTOF_MEMORY] -/// - No empty field in share memory. [POS_RET_ERROR_OUTOF_MEMORY] -/// - ProcessNo has not been registered in message control table when message \n -/// transfered between processes. [POS_RET_ERROR_CREATE_EVENT] -/// - Message transfer HANDLE get failed when message transfered between processes. [POS_RET_ERROR_CREATE_EVENT] -/// - Message transfer failed between processes. [POS_RET_ERROR_CREATE_EVENT] -/// - The destination process name size is larger than 20 characters when message \n -/// transfer between processes. [POS_RET_ERROR_CREATE_EVENT] -/// - The message queue name has not been registered in control table when message \n -/// transfer between processes. [POS_RET_ERROR_CREATE_EVENT] -/// - Message transfer HANDLE create failed when message transfered between processes. \n -/// [POS_RET_ERROR_CREATE_EVENT] -/// - Message transfer HANDLE get failed from internal table when message transfered \n -/// between processes. [POS_RET_ERROR_CREATE_EVENT] -/// - Message transfer failed between processes. [POS_RET_ERROR_CREATE_EVENT] -/// - Specified event HANDLE has not been registered in event HANDLE table during \n -/// event waiting. [POS_RET_ERROR_INNER] -/// - The count of thread is reach to max in event management table during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during event waiting. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during event waiting. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during event waiting. [POS_RET_ERROR_INNER] -/// - The interruption happened during event waiting [POS_RET_ERROR_INNER] -/// - Whatever error happened during event waiting. [POS_RET_ERROR_INNER] -/// - The EV_FLAG_BIT is not set in flagID during getting event. [POS_RET_ERROR_INNER] -/// - The ID of message event queue has not been created during getting event. [POS_RET_ERROR_INNER] -/// - The flagID has not been registered during getting event. [POS_RET_ERROR_INNER] -/// - The interruption happened during getting event [POS_RET_ERROR_INNER] -/// - Whatever error happened during getting event. [POS_RET_ERROR_INNER] -/// - The HANDLE is NULL when getting usable share memory address for accessing \n -/// received data. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Can not get usable share memory address for accessing received data. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Memory for share memory map allocate failed for accessing received data. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Memory for share memory management allocate failed for accessing received \n -/// data. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Can not open share memory for accessing received data. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Failed to mapping share memory for accessing received data. [POS_RET_ERROR_OUTOF_MEMORY] -/// - Can not get share memory normally [POS_RET_ERROR_OUTOF_MEMORY] -/// - The size of data stored in share memory is larger than the size of received data. [POS_RET_ERROR_SIZE] -/// -/// \~english @par Detial -/// - Call this API to get vehicle sensor data. \n -/// This vehicle sensor data stored in the output buffer of the parameter, this API return. -/// -/// \~english @par Classification -/// - Public -/// -/// \~english @par Type -/// - Sync -/// -/// \~english @see -/// - POS_RegisterListenerPkgSensData, POS_RegisterListenerSensData -/// - -POS_RET_API POS_GetSensData(HANDLE hApp, DID ulDid, void *pDestData, uint16_t usDestSize); - -#ifdef __cplusplus -} -#endif -/** @}*/ // end of positioning -/** @}*/ // end of vehicle_service -/** @}*/ // end of BaseSystem -#endif // POSITIONING_CLIENT_INCLUDE_VEHICLE_SERVICE_POS_SENSOR_API_H_ diff --git a/vehicleservice/positioning/client/include/vehicle_service/positioning.h b/vehicleservice/positioning/client/include/vehicle_service/positioning.h deleted file mode 100755 index a5a1e56..0000000 --- a/vehicleservice/positioning/client/include/vehicle_service/positioning.h +++ /dev/null @@ -1,46 +0,0 @@ -// -// @copyright Copyright (c) 2017-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. -// - - -#ifndef VEHICLESERVICE_POSITIONING_H_ // NOLINT(build/header_guard) -#define VEHICLESERVICE_POSITIONING_H_ // NOLINT(build/header_guard) - -/** - * @file positioning.h - * @brief Common header of positioning - */ - -/** @addtogroup BaseSystem - * @{ - */ -/** @addtogroup vehicle_service - * @ingroup BaseSystem - * @{ - */ -/** @addtogroup positioning - * @ingroup vehicle_service - * @{ - */ - -#include <vehicle_service/POS_define.h> -#include <vehicle_service/POS_sensor_API.h> -#include <vehicle_service/POS_gps_API.h> -#include <vehicle_service/POS_common_API.h> - -/** @}*/ // end of positioning -/** @}*/ // end of vehicle_service -/** @}*/ // end of BaseSystem -#endif // VEHICLESERVICE_POSITIONING_H_ diff --git a/vehicleservice/positioning/client/src/POS_common_API/Common_API.cpp b/vehicleservice/positioning/client/src/POS_common_API/Common_API.cpp deleted file mode 100755 index f266dec..0000000 --- a/vehicleservice/positioning/client/src/POS_common_API/Common_API.cpp +++ /dev/null @@ -1,889 +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 - * Common_API.cpp - * @brief - * Module : POSITIONING - * Common I/F service functionality - */ -#include <vehicle_service/positioning_base_library.h> -#include <vehicle_service/POS_define.h> -#include <vehicle_service/POS_common_API.h> -#include "POS_common_private.h" -#include "Vehicle_API_private.h" -#include "POS_private.h" - -/** - * @brief - * Latitude and longitude informationDelivery registration - * - * Registering Latitude and Longitude Information Delivery - * - * @param[in] hApp HANDLE - Application handle - * @param[in] notifyName PCSTR - Destination thread name - * @param[in] ucCtrlFlg uint8_t - Delivery control(Delivery registration/Delivery stop/Resume delivery) - * @param[in] ucDeliveryTiming uint8_t - Delivery timing(Changing/Updating) - * @param[in] ucGetMethod uint8_t - Acquisition method(GPS/Navigation/Not specified) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_BUFFULL Buffer-full<br> - * POS_RET_ERROR_INNER Internal error<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_RegisterListenerLonLat(HANDLE hApp, // NOLINT(readability/nolint) - PCSTR notifyName, // NOLINT(readability/nolint) - uint8_t ucCtrlFlg, // NOLINT(readability/nolint) - uint8_t ucDeliveryTiming, // NOLINT(readability/nolint) - uint8_t ucGetMethod) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value of this function */ - SENSOR_RET_API ret_sens = SENSOR_RET_NORMAL; /* API return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did = VEHICLE_DID_LOCATION_LONLAT; /* Data ID */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if ((ucDeliveryTiming != SENSOR_DELIVERY_TIMING_CHANGE) && - (ucDeliveryTiming != SENSOR_DELIVERY_TIMING_UPDATE)) { - /* Change delivery timing,Terminate as a parameter error except update */ - ret = POS_RET_ERROR_PARAM; - } else if (ucCtrlFlg != SENSOR_DELIVERY_REGIST) { - /* Parameters other than delivery registration are terminated abnormally when delivery control is terminated. */ - ret = POS_RET_ERROR_PARAM; - } else if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - } else if (notifyName == NULL) { - /* If the thread name is NULL, it terminates with an abnormal parameter. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - if (ucGetMethod == SENSOR_GET_METHOD_GPS) { - did = VEHICLE_DID_LOCATION_LONLAT; - } else if ((ucGetMethod == SENSOR_GET_METHOD_NAVI) || - (ucGetMethod == SENSOR_GET_METHOD_AUTO)) { - did = VEHICLE_DID_LOCATION_LONLAT_NAVI; - } else { - /* End as a parameter error abnormality except for GPS/unspecified acquisition method */ - ret = POS_RET_ERROR_PARAM; - } - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - } - } - - /* Delivery registration */ - if (ret == POS_RET_NORMAL) { - /* Delivery registry SensorAPI calls */ - ret_sens = PosRegisterListenerProc(notifyName, /* Destination thread name */ - did, /* Data ID */ - ucCtrlFlg, /* Delivery control */ - ucDeliveryTiming); /* Delivery timing */ - - /* Decision of delivery registration result */ - if (ret_sens == SENSOR_RET_NORMAL) { - ret = POS_RET_NORMAL; - } else if (ret_sens == SENSOR_RET_ERROR_PARAM) { - ret = POS_RET_ERROR_PARAM; - } else if (ret_sens == SENSOR_RET_ERROR_BUFFULL) { - ret = POS_RET_ERROR_BUFFULL; - } else if (ret_sens == SENSOR_RET_ERROR_RESOURCE) { - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - } - - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Altitude information delivery registration - * - * Register for the delivery of altitude information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] notifyName PCSTR - Destination thread name - * @param[in] ucCtrlFlg uint8_t - Delivery control(Delivery registration/Delivery stop/Resume delivery) - * @param[in] ucDeliveryTiming uint8_t - Delivery timing(Changing/Updating) - * @param[in] ucGetMethod uint8_t - Acquisition method(GPS/Navigation/Not specified) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_RegisterListenerAltitude(HANDLE hApp, // NOLINT(readability/nolint) - PCSTR notifyName, // NOLINT(readability/nolint) - uint8_t ucCtrlFlg, // NOLINT(readability/nolint) - uint8_t ucDeliveryTiming, // NOLINT(readability/nolint) - uint8_t ucGetMethod) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value */ - SENSOR_RET_API ret_sens = SENSOR_RET_NORMAL; /* API return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did = VEHICLE_DID_LOCATION_ALTITUDE; /* Data ID */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if ((ucDeliveryTiming != SENSOR_DELIVERY_TIMING_CHANGE) && - (ucDeliveryTiming != SENSOR_DELIVERY_TIMING_UPDATE)) { - /* Change delivery timing,Terminate as a parameter error except update */ - ret = POS_RET_ERROR_PARAM; - } else if (ucCtrlFlg != SENSOR_DELIVERY_REGIST) { - /* Parameters other than delivery registration are terminated abnormally when delivery control is terminated. */ - ret = POS_RET_ERROR_PARAM; - } else if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - } else if (notifyName == NULL) { - /* If the thread name is NULL, it terminates with an abnormal parameter. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - if ((ucGetMethod == SENSOR_GET_METHOD_GPS) || - (ucGetMethod == SENSOR_GET_METHOD_AUTO)) { - did = VEHICLE_DID_LOCATION_ALTITUDE; - } else { - /* End as a parameter error abnormality except for GPS/unspecified acquisition method */ - ret = POS_RET_ERROR_PARAM; - } - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - - /* Delivery registration */ - if (ret == POS_RET_NORMAL) { - /* Delivery registry SensorAPI calls */ - ret_sens = PosRegisterListenerProc(notifyName, /* Destination thread name */ - did, /* Data ID */ - ucCtrlFlg, /* Delivery control */ - ucDeliveryTiming); /* Delivery timing */ - - /* Decision of delivery registration result */ - if (ret_sens == SENSOR_RET_NORMAL) { - ret = POS_RET_NORMAL; - } else if (ret_sens == SENSOR_RET_ERROR_PARAM) { - ret = POS_RET_ERROR_PARAM; - } else if (ret_sens == SENSOR_RET_ERROR_BUFFULL) { - ret = POS_RET_ERROR_BUFFULL; - } else if (ret_sens == SENSOR_RET_ERROR_RESOURCE) { - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - } - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Vehicle Speed Information Transmission Registration - * - * Register delivery of vehicle speed information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] notifyName PCSTR - Destination thread name - * @param[in] ucCtrlFlg uint8_t - Delivery control(Delivery registration/Delivery stop/Resume delivery) - * @param[in] ucDeliveryTiming uint8_t - Delivery timing(Changing/Updating) - * @param[in] ucGetMethod uint8_t - Acquisition method(POS/Navigation/Not specified) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_BUFFULL Buffer-full<br> - * POS_RET_ERROR_INNER Internal error<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_RegisterListenerSpeed(HANDLE hApp, // NOLINT(readability/nolint) - PCSTR notifyName, // NOLINT(readability/nolint) - uint8_t ucCtrlFlg, // NOLINT(readability/nolint) - uint8_t ucDeliveryTiming, // NOLINT(readability/nolint) - uint8_t ucGetMethod) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value of this function */ - SENSOR_RET_API ret_sens = SENSOR_RET_NORMAL; /* API return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did; /* Data ID */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if ((ucDeliveryTiming != SENSOR_DELIVERY_TIMING_CHANGE) && - (ucDeliveryTiming != SENSOR_DELIVERY_TIMING_UPDATE)) { - /* Change delivery timing,Terminate as a parameter error except update */ - ret = POS_RET_ERROR_PARAM; - } else if (ucCtrlFlg != SENSOR_DELIVERY_REGIST) { - /* Parameters other than delivery registration are terminated abnormally when delivery control is terminated. */ - ret = POS_RET_ERROR_PARAM; - } else if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - } else if (notifyName == NULL) { - /* If the thread name is NULL, it terminates with an abnormal parameter. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - if (ucGetMethod == SENSOR_GET_METHOD_POS) { - did = VEHICLE_DID_MOTION_SPEED_INTERNAL; - } else if ((ucGetMethod == SENSOR_GET_METHOD_NAVI) || - (ucGetMethod == SENSOR_GET_METHOD_AUTO)) { - did = VEHICLE_DID_MOTION_SPEED_NAVI; - } else { - ret = POS_RET_ERROR_PARAM; - } - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - } - } - - /* Delivery registration */ - if (ret == POS_RET_NORMAL) { - /* Delivery registry SensorAPI calls */ - ret_sens = PosRegisterListenerProc(notifyName, /* Destination thread name */ - did, /* Data ID */ - ucCtrlFlg, /* Delivery control */ - ucDeliveryTiming); /* Delivery timing */ - - /* Decision of delivery registration result */ - if (ret_sens == SENSOR_RET_NORMAL) { - ret = POS_RET_NORMAL; - } else if (ret_sens == SENSOR_RET_ERROR_PARAM) { - ret = POS_RET_ERROR_PARAM; - } else if (ret_sens == SENSOR_RET_ERROR_BUFFULL) { - ret = POS_RET_ERROR_BUFFULL; - } else if (ret_sens == SENSOR_RET_ERROR_RESOURCE) { - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - } - - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Compass Information Transmission Register - * - * Register the delivery of the vehicle orientation information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] notifyName PCSTR - Destination thread name - * @param[in] ucCtrlFlg uint8_t - Delivery control(Delivery registration/Delivery stop/Resume delivery) - * @param[in] ucDeliveryTiming uint8_t - Delivery timing(Changing/Updating) - * @param[in] ucGetMethod uint8_t - Acquisition method(GPS/Navigation/Not specified) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_RegisterListenerHeading(HANDLE hApp, // NOLINT(readability/nolint) - PCSTR notifyName, // NOLINT(readability/nolint) - uint8_t ucCtrlFlg, // NOLINT(readability/nolint) - uint8_t ucDeliveryTiming, // NOLINT(readability/nolint) - uint8_t ucGetMethod) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value */ - SENSOR_RET_API ret_sens = SENSOR_RET_NORMAL; /* API return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did = VEHICLE_DID_MOTION_HEADING; /* TODO VEHICLE_DID_LOCATION_HEADING Missing */ - /* Data ID */ - - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if ((ucDeliveryTiming != SENSOR_DELIVERY_TIMING_CHANGE) && - (ucDeliveryTiming != SENSOR_DELIVERY_TIMING_UPDATE)) { - /* Change delivery timing,Terminate as a parameter error except update */ - ret = POS_RET_ERROR_PARAM; - } else if (ucCtrlFlg != SENSOR_DELIVERY_REGIST) { - /* Parameters other than delivery registration are terminated abnormally when delivery control is terminated. */ - ret = POS_RET_ERROR_PARAM; - } else if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - } else if (notifyName == NULL) { - /* If the thread name is NULL, it terminates with an abnormal parameter. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - if (ucGetMethod == SENSOR_GET_METHOD_GPS) { - did = VEHICLE_DID_MOTION_HEADING; - } else if ((ucGetMethod == SENSOR_GET_METHOD_NAVI) || - (ucGetMethod == SENSOR_GET_METHOD_AUTO)) { - did = VEHICLE_DID_MOTION_HEADING_NAVI; - } else { - /* End as a parameter error abnormality except for GPS/unspecified acquisition method */ - ret = POS_RET_ERROR_PARAM; - } - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - - /* Delivery registration */ - if (ret == POS_RET_NORMAL) { - /* Delivery registry SensorAPI calls */ - ret_sens = PosRegisterListenerProc(notifyName, /* Destination thread name */ - did, /* Data ID */ - ucCtrlFlg, /* Delivery control */ - ucDeliveryTiming); /* Delivery timing */ - - /* Decision of delivery registration result */ - if (ret_sens == SENSOR_RET_NORMAL) { - ret = POS_RET_NORMAL; - } else if (ret_sens == SENSOR_RET_ERROR_PARAM) { - ret = POS_RET_ERROR_PARAM; - } else if (ret_sens == SENSOR_RET_ERROR_BUFFULL) { - ret = POS_RET_ERROR_BUFFULL; - } else if (ret_sens == SENSOR_RET_ERROR_RESOURCE) { - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - } - - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Get Lltitude and longitude information - * - * Get Lltitude and longitude information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] dat SENSORLOCATION_LONLATINFO_DAT* - Pointer to the acquired latitude/longitude information storage destination - * @param[in] ucGetMethod uint8_t - Acquisition method(GPS/Navigation/Not specified) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment<br> - * POS_RET_ERROR_INNER Internal error - * - */ -POS_RET_API POS_GetLonLat(HANDLE hApp, // NOLINT(readability/nolint) - SENSORLOCATION_LONLATINFO_DAT *dat, // NOLINT(readability/nolint) - uint8_t ucGetMethod) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did = VEHICLE_DID_LOCATION_LONLAT; /* DID */ - int32_t ret_get_proc; /* POS_GetProc Return Values */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - } else if (dat == NULL) { - /* If the longitude/latitude data is NULL, it ends with an abnormal parameter. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - if (ucGetMethod == SENSOR_GET_METHOD_GPS) { - did = VEHICLE_DID_LOCATION_LONLAT; - } else if ((ucGetMethod == SENSOR_GET_METHOD_NAVI) || - (ucGetMethod == SENSOR_GET_METHOD_AUTO)) { - did = VEHICLE_DID_LOCATION_LONLAT_NAVI; - } else { - /* End as a parameter error abnormality except for GPS/unspecified acquisition method */ - ret = POS_RET_ERROR_PARAM; - } - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - } - } - - /* Sensor information acquisition */ - if (ret == POS_RET_NORMAL) { - /* Data acquisition process */ - ret_get_proc = PosGetProc(did, reinterpret_cast<void *>(dat), sizeof(SENSORLOCATION_LONLATINFO_DAT)); - if (static_cast<int32_t>(sizeof(SENSORLOCATION_LONLATINFO_DAT)) > ret_get_proc) { - /* Failed to acquire */ - if (ret_get_proc == POS_RET_ERROR_RESOURCE) { - /* Insufficient resource */ - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PosGetProc ERROR [ret = %d]", ret); - } - } - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Altitude information acquisition - * - * Obtain altitude information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] dat SENSORLOCATION_ALTITUDEINFO_DAT* - Pointer to the acquired altitude information storage destination - * @param[in] ucGetMethod uint8_t - Acquisition method(GPS/Not specified) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment<br> - * POS_RET_ERROR_INNER Internal error - * - */ -POS_RET_API POS_GetAltitude(HANDLE hApp, // NOLINT(readability/nolint) - SENSORLOCATION_ALTITUDEINFO_DAT *dat, // NOLINT(readability/nolint) - uint8_t ucGetMethod) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did = VEHICLE_DID_LOCATION_ALTITUDE; /* DID */ - int32_t ret_get_proc; /* POS_GetProc Return Values */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - } else if (dat == NULL) { - /* If the altitude data is NULL, it terminates with an abnormal parameter. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - if ((ucGetMethod == SENSOR_GET_METHOD_GPS) || - (ucGetMethod == SENSOR_GET_METHOD_AUTO)) { - did = VEHICLE_DID_LOCATION_ALTITUDE; - } else { - /* End as a parameter error abnormality except for GPS/unspecified acquisition method */ - ret = POS_RET_ERROR_PARAM; - } - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - } - } - /* Sensor information acquisition */ - if (ret == POS_RET_NORMAL) { - /* Data acquisition process */ - ret_get_proc = PosGetProc(did, reinterpret_cast<void *>(dat), sizeof(SENSORLOCATION_ALTITUDEINFO_DAT)); - if (static_cast<int32_t>(sizeof(SENSORLOCATION_ALTITUDEINFO_DAT)) > ret_get_proc) { - /* Failed to acquire */ - if (ret_get_proc == POS_RET_ERROR_RESOURCE) { - /* Insufficient resource */ - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PosGetProc ERROR [ret = %d]", ret); - } - } - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Vehicle Speed Information Acquisition - * - * Obtain vehicle speed information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] dat SENSORMOTION_SPEEDINFO_DAT* - Pointer to the acquired car speed information storage destination - * @param[in] ucGetMethod uint8_t - Acquisition method(GPS/Navigation/Not specified) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment<br> - * POS_RET_ERROR_INNER Internal error - * - */ -POS_RET_API POS_GetSpeed(HANDLE hApp, // NOLINT(readability/nolint) - SENSORMOTION_SPEEDINFO_DAT *dat, // NOLINT(readability/nolint) - uint8_t ucGetMethod) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did; /* Data ID */ - int32_t ret_get_proc; /* POS_GetProc Return Values */ - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [hApp = %p]", hApp); - } else if (dat == NULL) { - /* When the pointer to the vehicle speed data storage destination is NULL, the pointer terminates with an error in the parameter. */ - ret = POS_RET_ERROR_PARAM; - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [dat = %p]", dat); - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - if (ucGetMethod == SENSOR_GET_METHOD_POS) { - did = VEHICLE_DID_MOTION_SPEED_INTERNAL; - } else if ((ucGetMethod == SENSOR_GET_METHOD_NAVI) || - (ucGetMethod == SENSOR_GET_METHOD_AUTO)) { - did = VEHICLE_DID_MOTION_SPEED_NAVI; - } else { - /* End as a parameter error abnormality except for POS/unspecified acquisition method */ - ret = POS_RET_ERROR_PARAM; - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, - "Argument ERROR [type = %d, ucGetMethod = %d]", - type, ucGetMethod); - } - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "GetEnvSupportInfo ERROR [type = %d]", type); - } - } - - if (ret == POS_RET_NORMAL) { - /* Data acquisition process */ - ret_get_proc = PosGetProc(did, dat, sizeof(SENSORMOTION_SPEEDINFO_DAT)); - if (static_cast<int32_t>(sizeof(SENSORMOTION_SPEEDINFO_DAT)) > ret_get_proc) { - /* Failed to acquire */ - if (ret_get_proc == POS_RET_ERROR_RESOURCE) { - /* Insufficient resource */ - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PosGetProc ERROR [ret = %d]", ret); - } - } - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - - return ret; -} - -/** - * @brief - * Compass information acquisition - * - * Get Bill Direction Information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] dat SENSORMOTION_HEADINGINFO_DAT* - Pointer to the acquired altitude information storage destination - * @param[in] ucGetMethod uint8_t - Acquisition method(GPS/Navigation/Not specified) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment<br> - * POS_RET_ERROR_INNER Internal error - * - */ -POS_RET_API POS_GetHeading(HANDLE hApp, // NOLINT(readability/nolint) - SENSORMOTION_HEADINGINFO_DAT *dat, // NOLINT(readability/nolint) - uint8_t ucGetMethod) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did = VEHICLE_DID_MOTION_HEADING; /* Data ID */ - int32_t ret_get_proc; /* POS_GetProc Return Values */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - } else if (dat == NULL) { - /* If the longitude/latitude data is NULL, it ends with an abnormal parameter. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - if (ucGetMethod == SENSOR_GET_METHOD_GPS) { - did = VEHICLE_DID_MOTION_HEADING; - } else if ((ucGetMethod == SENSOR_GET_METHOD_NAVI) || - (ucGetMethod == SENSOR_GET_METHOD_AUTO)) { - did = VEHICLE_DID_MOTION_HEADING_NAVI; - } else { - /* End as a parameter error abnormality except for GPS/unspecified acquisition method */ - ret = POS_RET_ERROR_PARAM; - } - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - /* Sensor information acquisition */ - if (ret == POS_RET_NORMAL) { - /* Data acquisition process */ - ret_get_proc = PosGetProc(did, reinterpret_cast<void *>(dat), sizeof(SENSORMOTION_HEADINGINFO_DAT)); - if (static_cast<int32_t>(sizeof(SENSORMOTION_HEADINGINFO_DAT)) > ret_get_proc) { - /** Failed to acquire */ - if (ret_get_proc == POS_RET_ERROR_RESOURCE) { - /** Insufficient resource */ - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PosGetProc ERROR [ret = %d]", ret); - } - } - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Vehicle speed information setting - * - * Setting Vehicle Speed Information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] navispped uint16_t - Vehicle speed information[Unit:1.0km/h] - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_SetSpeedInfo(HANDLE hApp, uint16_t navispeed) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - uint16_t speed; /* Vehicle speed */ - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if (hApp == NULL) { - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - - if (ret == POS_RET_NORMAL) { - /* Adjustment by unit [1.0km/h]->[0.01m/sec] */ - speed = static_cast<uint16_t>(navispeed * 10000 / 360); - /* Data setting(After setting,Immediate termination) */ - ret = PosSetProc(VEHICLE_DID_MOTION_SPEED_NAVI, - reinterpret_cast<void *>(&speed), sizeof(uint16_t), FALSE); - } - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Location information setting - * - * Set location information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] posData POS_POSDATA - Pointer to location information - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_INNER Internal error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_SetLocationInfo(HANDLE hApp, POS_POSDATA* pstPosData) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value of this function */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if ((pstPosData == NULL) || (hApp == NULL)) { - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - - if (ret == POS_RET_NORMAL) { - /* Data status check */ - if ((0x01 > pstPosData->status) || (0x0F < pstPosData->status)) { - ret = POS_RET_ERROR_PARAM; - } else { - /* Parameter range check */ - /* Latitude */ - if ((pstPosData->status & POS_LOC_INFO_LAT) == POS_LOC_INFO_LAT) { - (void)POS_CHKPARAM32(pstPosData->latitude, -41472000, 41472000); - } - /* Longitude */ - if ((pstPosData->status & POS_LOC_INFO_LON) == POS_LOC_INFO_LON) { - (void)POS_CHKPARAM32(pstPosData->longitude, -82944000, 82944000); - } - /* Orientation */ - if ((pstPosData->status & POS_LOC_INFO_HEAD) == POS_LOC_INFO_HEAD) { - (void)POS_CHKPARAM16(pstPosData->heading, -179, 180); - } - - /* Data setting(After setting,Immediate termination) */ - ret = PosSetProc(VEHICLE_DID_GPS_CUSTOMDATA_NAVI, // == POSHAL_DID_GPS_CUSTOMDATA_NAVI - reinterpret_cast<void *>(pstPosData), sizeof(POS_POSDATA), FALSE); - } - } - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} diff --git a/vehicleservice/positioning/client/src/POS_common_API/Makefile b/vehicleservice/positioning/client/src/POS_common_API/Makefile deleted file mode 100755 index 4d7a90f..0000000 --- a/vehicleservice/positioning/client/src/POS_common_API/Makefile +++ /dev/null @@ -1,47 +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. -# -######### installed shared library(*.so) ############# -INST_SHLIBS = libPOS_common_API - -######### compiled sources ############# -libPOS_common_API_SRCS += Common_API.cpp - -######### add include path ############# -CPPFLAGS += -I../../../server/include/common -CPPFLAGS += -I../../include -CPPFLAGS += -I../../../server/include/nsfw - -######### add compile option ############# -CPPFLAGS += -DLINUX -fPIC - -LDFLAGS += -Wl,--no-undefined -LDFLAGS += -Wl,--no-as-needed -CPPFLAGS += -Werror=implicit-function-declaration -CPPFLAGS += -Werror=format-security -CPPFLAGS += -Wconversion -CPPFLAGS += -Wint-to-pointer-cast -CPPFLAGS += -Wpointer-arith -CPPFLAGS += -Wformat - -######### linked library (dynamic) ############# -LDLIBS += -Wl,-Bdynamic -lNS_FrameworkUnified -LDLIBS += -Wl,-Bdynamic -lPOS_base_API -LDLIBS += -Wl,-Bdynamic -lvp - -######### add library path ############# -LDFLAGS += -shared - -include ../../../../vehicle_service.mk diff --git a/vehicleservice/positioning/client/src/POS_common_API/libPOS_common_API.ver b/vehicleservice/positioning/client/src/POS_common_API/libPOS_common_API.ver deleted file mode 100755 index afc7f3a..0000000 --- a/vehicleservice/positioning/client/src/POS_common_API/libPOS_common_API.ver +++ /dev/null @@ -1,37 +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. - */ - -# -# libPOS_common_API version script -# -{ - global: - POS_GetAltitude; - POS_GetHeading; - POS_GetLonLat; - POS_GetSpeed; - POS_RegisterListenerAltitude; - POS_RegisterListenerHeading; - POS_RegisterListenerLonLat; - POS_RegisterListenerSpeed; - POS_SetLocationInfo; - POS_SetSpeedInfo; - - POS_SetLocationInfoNmea; - local: - *; -}; - diff --git a/vehicleservice/positioning/client/src/POS_gps_API/Gps_API.cpp b/vehicleservice/positioning/client/src/POS_gps_API/Gps_API.cpp deleted file mode 100755 index 7395f9d..0000000 --- a/vehicleservice/positioning/client/src/POS_gps_API/Gps_API.cpp +++ /dev/null @@ -1,456 +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 - * Gps_API.cpp - * @brief - * Module : POSITIONING - * GPS I/F service functionality - */ -#include <vehicle_service/positioning_base_library.h> -#include <vehicle_service/POS_define.h> -#include <vehicle_service/POS_gps_API.h> -#include <vehicle_service/POS_common_API.h> -#include <vehicle_service/POS_sensor_API.h> -#include "POS_common_private.h" -#include "POS_private.h" -#include "Vehicle_API_private.h" -#include "Gps_API_private.h" - - -/** - * @brief - * GPS reset request - * - * Request a GPS reset - * - * @param[in] hApp HANDLE - Application handle - * @param[in] ResName PCSTR - Destination thread name - * @param[in] mode uint8_t - Reset mode - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_INNER Internal processing error<br> - * POS_RET_ERROR_BUSY Busy occurrence<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_ReqGPSReset(HANDLE hApp, PCSTR ResName, uint8_t mode) { // NOLINT(readability/nolint) - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - POS_RET_API ret = POS_RET_NORMAL; /* Return value of this function */ - RET_API ret_api = RET_NORMAL; /* API return value */ - POS_RESETINFO snd_msg; /* Reset information */ - EventID event_id; /* Event ID */ - int32_t event_val; /* Event value */ - PNO my_pno; /* Caller PNO */ - PNO rs_pno; /* Destination PNO */ - uint32_t pid; /* Process ID */ - uint32_t tid; /* Thread ID */ - char name[128]; /* Name buffer */ - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if ((hApp == NULL) || (ResName == NULL)) { - ret = POS_RET_ERROR_PARAM; - } else if (GPS_RST_COLDSTART != mode) { - /* Parameter error except */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - } - - if (ret == POS_RET_NORMAL) { - /* Resource acquisition */ - if (VehicleGetResource() == TRUE) { - /* Event Generation */ - rs_pno = _pb_CnvName2Pno(ResName); - pid = (uint32_t)getpid(); - tid = GetTid(); - - snprintf(name, sizeof(name), "PR_p%u_t%u", pid, tid); - my_pno = _pb_CnvName2Pno(name); - event_id = VehicleCreateEvent(my_pno); - if (0 != event_id) { - /* Successful event generation */ - memset(&snd_msg, 0x00, sizeof(POS_RESETINFO)); - - /* Message creation */ - snd_msg.mode = mode; /* Reset mode */ - snd_msg.snd_pno = my_pno; /* Caller PNo. */ - snd_msg.res_pno = rs_pno; /* Destination PNo. */ - - /* Message transmission request */ - ret_api = _pb_SndMsg_Ext(POS_THREAD_NAME, - CID_GPS_REQRESET, - sizeof(POS_RESETINFO), - reinterpret_cast<void*>(&snd_msg), 0); - - if (RET_NORMAL == ret_api) { - /* If the data setup process is successful,Wait for a completion event */ - ret_api = _pb_WaitEvent(event_id, - SAPI_EVWAIT_VAL, - VEHICLE_RET_ERROR_MIN, VEHICLE_RET_NORMAL, &event_val, INFINITE); - if (RET_NORMAL != ret_api) { - /* When not put in event wait state */ - /* Event generation failure */ - ret = POS_RET_ERROR_INNER; - } else { - /* Return from Event Wait */ - /* Set event value (processing result) as return value */ - ret = (POS_RET_API)event_val; - } - } else { - /* Message transmission processing failed */ - ret = POS_RET_ERROR_INNER; - } - /* Event deletion */ - ret_api = VehicleDeleteEvent(event_id); - } else { - /* Event generation failure */ - ret = POS_RET_ERROR_INNER; - } - } else { - /* Insufficient resource */ - ret = POS_RET_ERROR_RESOURCE; - } - /* Resource release */ - VehicleReleaseResource(); - } - } - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * GPS time setting request delivery registration - * - * Register delivery of GPS time setting request - * - * @param[in] hApp HANDLE - Application handle - * @param[in] notifyName PCSTR - Destination thread name - * @param[in] ucCtrlFlg uint8_t - Delivery control(Delivery registration/Delivery stop/Resume delivery) - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_BUFFULL Buffer-full<br> - * POS_RET_ERROR_INNER Internal error<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_RegisterListenerGPSTimeSetReq(HANDLE hApp, // NOLINT(readability/nolint) - PCSTR notifyName, // NOLINT(readability/nolint) - uint8_t ucCtrlFlg) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value of this function */ - SENSOR_RET_API ret_sens = SENSOR_RET_NORMAL; /* API return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if ((hApp == NULL) || (notifyName == NULL)) { - ret = POS_RET_ERROR_PARAM; - } else if (SENSOR_DELIVERY_REGIST != ucCtrlFlg) { - /* Parameter error other than delivery registration */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - } - } - - /* Delivery registration */ - if (POS_RET_NORMAL == ret) { - /* Delivery registry SensorAPI calls */ - ret_sens = PosRegisterListenerProc(notifyName, /* Destination thread name */ - VEHICLE_DID_SETTINGTIME, /* Data ID */ - ucCtrlFlg, /* Delivery control */ - VEHICLE_DELIVERY_TIMING_UPDATE); /* Delivery timing */ - - /* Decision of delivery registration result */ - if (ret_sens == SENSOR_RET_NORMAL) { - ret = POS_RET_NORMAL; - } else if (ret_sens == SENSOR_RET_ERROR_PARAM) { - ret = POS_RET_ERROR_PARAM; - } else if (ret_sens == SENSOR_RET_ERROR_BUFFULL) { - ret = POS_RET_ERROR_BUFFULL; - } else if (ret_sens == SENSOR_RET_ERROR_RESOURCE) { - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - } - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * GPS time setting - * - * Set the GPS time - * - * @param[in] hApp HANDLE - Application handle - * @param[in] pstDateTime POS_DATETIME - Pointer to GPS time information - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_INNER Internal error<br> - * POS_RET_ERROR_TIMEOUT Timeout error<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_SetGPStime(HANDLE hApp, POS_DATETIME* pstDateTime) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value of this function */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if ((pstDateTime == NULL) || (hApp == NULL)) { - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - } - } - - if (ret == POS_RET_NORMAL) { - /* Parameter range check */ - /* Month */ - if (POS_RET_ERROR == POS_CHKPARAMU8(pstDateTime->month, 1, 12)) { - return POS_RET_ERROR_PARAM; - } - /* Day */ - if (POS_RET_ERROR == POS_CHKPARAMU8(pstDateTime->date, 1, 31)) { - return POS_RET_ERROR_PARAM; - } - /* Hour */ - if (POS_RET_ERROR == POS_CHKPARAMU8(pstDateTime->hour, 0, 23)) { - return POS_RET_ERROR_PARAM; - } - /* Minutes */ - if (POS_RET_ERROR == POS_CHKPARAMU8(pstDateTime->minute, 0, 59)) { - return POS_RET_ERROR_PARAM; - } - /* Second */ - if (POS_RET_ERROR == POS_CHKPARAMU8(pstDateTime->second, 0, 59)) { - return POS_RET_ERROR_PARAM; - } - - /* Data setting(Immediate recovery)*/ - ret = PosSetProc(VEHICLE_DID_SETTINGTIME, - reinterpret_cast<void*>(pstDateTime), sizeof(POS_DATETIME), FALSE); - } - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * GPS Time Delivery Registration - * - * Registering GPS time delivery - * - * @param[in] hApp HANDLE - Application handle - * @param[in] nofifyName PCSTR - Destination thread name - * @param[in] ucCtrlFlg uint8_t - Delivery control(Delivery registration/Delivery stop/Resume delivery) - * @param[in] ucDeliveryTiming uint8_t - Delivery timing(Changing/Updating) - * - * @return SENSOR_RET_NORMAL Successful registration<br> - * SENSOR_RET_ERROR_CREATE_EVENT Event generation failure<br> - * SENSOR_RET_ERROR_PARAM Parameter error<br> - * SENSOR_RET_ERROR_BUFFULL FULL of delivery registers<br> - * SENSOR_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -SENSOR_RET_API POS_RegisterListenerGPStime(HANDLE hApp, // NOLINT(readability/nolint) - PCSTR notifyName, // NOLINT(readability/nolint) - uint8_t ucCtrlFlg, // NOLINT(readability/nolint) - uint8_t ucDeliveryTiming) { // NOLINT(readability/nolint) - SENSOR_RET_API ret = SENSOR_RET_NORMAL; - UNIT_TYPE type = UNIT_TYPE_NONE; - - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "+"); - - if (hApp == NULL) { - /* Parameter error */ - ret = SENSOR_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = SENSOR_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* fail */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - - if (SENSOR_RET_NORMAL == ret) { - if (notifyName == NULL) { - /* Parameter error */ - ret = SENSOR_RET_ERROR_PARAM; - } - if (ucCtrlFlg != SENSOR_DELIVERY_REGIST) { - /* Parameter error */ - ret = SENSOR_RET_ERROR_PARAM; - } - if ((ucDeliveryTiming != SENSOR_DELIVERY_TIMING_CHANGE) && - (ucDeliveryTiming != SENSOR_DELIVERY_TIMING_UPDATE)) { - /* Parameter error */ - ret = SENSOR_RET_ERROR_PARAM; - } - } - - if (SENSOR_RET_NORMAL == ret) { - /* Delivery registration process */ - ret = PosRegisterListenerProc(notifyName, VEHICLE_DID_GPS_TIME, ucCtrlFlg, ucDeliveryTiming); - } - - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "- [ret = %d]", ret); - return ret; -} - -/** - * @brief - * Get GPS time - * - * Get the GPS time - * - * @param[in] hApp HANDLE - Application handle - * @param[in] *dat SENSOR_GPSTIME - Pointer to GPS time information - * - * @return POS_RET_NORMAL Normal completion(Include illegal)<br> - * POS_RET_ERROR_INNER Internal error<br> - * POS_RET_ERROR_PARAM Parameter error<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_GetGPStime(HANDLE hApp, SENSOR_GPSTIME* dat) { // NOLINT(readability/nolint) - POS_RET_API ret = POS_RET_NORMAL; /* Return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - DID did = VEHICLE_DID_GPS_TIME; /* DID */ - int32_t ret_get_proc; /* POS_GetProc Return Values */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* Arguments & Support Configuration Check */ - if (hApp == NULL) { - /* If the handler is NULL, the process terminates with an error. */ - ret = POS_RET_ERROR_PARAM; - } else if (dat == NULL) { - /* If the longitude/latitude data is NULL, it ends with an abnormal parameter. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - ret = POS_RET_NORMAL; - } else { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } - } - - /* Sensor information acquisition */ - if (ret == POS_RET_NORMAL) { - /* Data acquisition process */ - ret_get_proc = PosGetProc(did, reinterpret_cast<void*>(dat), sizeof(SENSOR_GPSTIME)); - if (static_cast<int32_t>(sizeof(SENSOR_GPSTIME)) > ret_get_proc) { - /* Failed to acquire */ - if (ret_get_proc == POS_RET_ERROR_RESOURCE) { - /* Insufficient resource */ - ret = POS_RET_ERROR_RESOURCE; - } else { - ret = POS_RET_ERROR_INNER; - } - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PosGetProc ERROR [ret = %d]", ret); - } - } - - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret); - - return ret; -} diff --git a/vehicleservice/positioning/client/src/POS_gps_API/Makefile b/vehicleservice/positioning/client/src/POS_gps_API/Makefile deleted file mode 100755 index c6391a9..0000000 --- a/vehicleservice/positioning/client/src/POS_gps_API/Makefile +++ /dev/null @@ -1,51 +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. -# -######### installed shared library(*.so) ############# -INST_SHLIBS = libPOS_gps_API - -######### compiled sources ############# -libPOS_gps_API_SRCS += Gps_API.cpp -libPOS_gps_API_SRCS += Naviinfo_API.cpp - -######### add include path ############# -CPPFLAGS += -I../../../server/include/common -CPPFLAGS += -I../../include -CPPFLAGS += -I../../../server/include/nsfw - -CPPFLAGS += -I../Vehicle_API -CPPFLAGS += -I../Vehicle_API/common - -######### add compile option ############# -CPPFLAGS += -DLINUX -fPIC - -LDFLAGS += -Wl,--no-undefined -LDFLAGS += -Wl,--no-as-needed -CPPFLAGS += -Werror=implicit-function-declaration -CPPFLAGS += -Werror=format-security -CPPFLAGS += -Wconversion -CPPFLAGS += -Wint-to-pointer-cast -CPPFLAGS += -Wpointer-arith -CPPFLAGS += -Wformat - -######### linked library (dynamic) ############# -LDLIBS += -Wl,-Bdynamic -lNS_FrameworkUnified -LDLIBS += -Wl,-Bdynamic -lPOS_base_API -LDLIBS += -Wl,-Bdynamic -lvp - -######### add library path ############# -LDFLAGS += -shared - -include ../../../../vehicle_service.mk diff --git a/vehicleservice/positioning/client/src/POS_gps_API/Naviinfo_API.cpp b/vehicleservice/positioning/client/src/POS_gps_API/Naviinfo_API.cpp deleted file mode 100755 index cfe04ff..0000000 --- a/vehicleservice/positioning/client/src/POS_gps_API/Naviinfo_API.cpp +++ /dev/null @@ -1,404 +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 Naviinfo_API.cpp -@detail Naviinfo_API Functions -@lib libNaviinfo_API.so -******************************************************************************/ - -/***************************************************************************** - * Include * - *****************************************************************************/ -#include "Naviinfo_API.h" -#include <vehicle_service/POS_define.h> -#include <vehicle_service/POS_sensor_API.h> -#include <vehicle_service/POS_gps_API.h> -#include "Vehicle_API_Dummy.h" -#include "POS_private.h" -#include <native_service/frameworkunified_types.h> // NOLINT(build/include_order) - -void PosCnvGpsInfo(NAVIINFO_ALL *navi_loc_info); - - -/** - * @brief - * GPS information setting - * - * Set GPS information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] navilocinfo NAVIINFO_ALL* - Pointer to GPS information storage area - * - * @return NAVIINFO_RET_NORMAL Normal completion<br> - * NAVIINFO_RET_ERROR_PARAM Parameter error<br> - * NAVIINFO_RET_ERROR_INNER Internal error<br> - * NAVIINFO_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -NAVIINFO_RET_API POS_SetGPSInfo(HANDLE hApp, NAVIINFO_ALL *navilocinfo) -{ - NAVIINFO_RET_API ret = NAVIINFO_RET_NORMAL; /* Return value of this function */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - NAVIINFO_ALL navi_loc_info_tmp; /* Conversion quantity area */ - RET_API ret_api; - - /** NULL checking */ - if (navilocinfo == NULL) { - /** Parameter error */ - ret = NAVIINFO_RET_ERROR_PARAM; - } else if (hApp == NULL) { - /** Parameter error */ - ret = NAVIINFO_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = NAVIINFO_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = NAVIINFO_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = NAVIINFO_RET_ERROR_NOSUPPORT; - } - } - - if (ret == NAVIINFO_RET_NORMAL) { - /* Parameter range check */ - if (navilocinfo->stNaviGps.tdsts != 0) { /* Other than ""Time not calibrated after receiver reset"" */ - /* Positioning status information */ - if (POS_RET_ERROR == POS_CHKPARAMU8(navilocinfo->stDiagGps.stFix.ucFixSts, 0, 2)) { - return NAVIINFO_RET_ERROR_PARAM; - } - /* Latitude */ - if (POS_RET_ERROR == POS_CHKPARAM32(navilocinfo->stDiagGps.stFix.stWgs84.lLat, -82944000, 82944000)) { - return NAVIINFO_RET_ERROR_PARAM; - } - /* Longitude */ - if (POS_RET_ERROR == POS_CHKPARAM32(navilocinfo->stDiagGps.stFix.stWgs84.lLon, -165888000, 165888000)) { - return NAVIINFO_RET_ERROR_PARAM; - } - /* Measurement Azimuth */ - if (POS_RET_ERROR == POS_CHKPARAMU16(navilocinfo->stNaviGps.heading, 0, 3599)) { - return NAVIINFO_RET_ERROR_PARAM; - } - /* UTC(Month) */ - if (POS_RET_ERROR == POS_CHKPARAMU8(navilocinfo->stNaviGps.utc.month, 1, 12)) { - return NAVIINFO_RET_ERROR_PARAM; - } - /* UTC(Day) */ - if (POS_RET_ERROR == POS_CHKPARAMU8(navilocinfo->stNaviGps.utc.date, 1, 31)) { - return NAVIINFO_RET_ERROR_PARAM; - } - /* UTC(Hour) */ - if (POS_RET_ERROR == POS_CHKPARAMU8(navilocinfo->stNaviGps.utc.hour, 0, 23)) { - return NAVIINFO_RET_ERROR_PARAM; - } - /* UTC(Minutes) */ - if (POS_RET_ERROR == POS_CHKPARAMU8(navilocinfo->stNaviGps.utc.minute, 0, 59)) { - return NAVIINFO_RET_ERROR_PARAM; - } - /* UTC(Second) */ - if (POS_RET_ERROR == POS_CHKPARAMU8(navilocinfo->stNaviGps.utc.second, 0, 59)) { - return NAVIINFO_RET_ERROR_PARAM; - } - } - /* Date and Time Status */ - if (POS_RET_ERROR == POS_CHKPARAMU8(navilocinfo->stNaviGps.tdsts, 0, 2)) { - return NAVIINFO_RET_ERROR_PARAM; - } - - /* Copy to conversion area */ - memcpy(&navi_loc_info_tmp, navilocinfo, sizeof(NAVIINFO_ALL)); - /** Data unit conversion */ - PosCnvGpsInfo(&navi_loc_info_tmp); - - /* Resource acquisition */ - if (VehicleGetResource() == TRUE) { - - /** Send navigation information to vehicle sensor */ - ret_api = _pb_SndMsg_Ext(POS_THREAD_NAME, - CID_NAVIINFO_DELIVER, - sizeof(NAVIINFO_ALL), - reinterpret_cast<void*>(&navi_loc_info_tmp), 0); - if (ret_api != RET_NORMAL) { - /** Message transmission failure */ - ret = NAVIINFO_RET_ERROR_INNER; - } - } else { - /* When resource shortage occurs, the system terminates with an insufficient resource error. */ - ret = NAVIINFO_RET_ERROR_RESOURCE; - } - /* Resource release */ - VehicleReleaseResource(); - } - - return ret; -} - -/** - * @brief - * GPS information acquisition - * - * Access GPS information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] navidiaginfo NAVIINFO_DIAG_GPS* - Pointer to GPS information storage area - * - * @return NAVIINFO_RET_NORMAL Normal completion<br> - * NAVIINFO_RET_ERROR_PARAM Parameter error<br> - * NAVIINFO_RET_ERROR_INNER Internal error<br> - * NAVIINFO_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -NAVIINFO_RET_API POS_GetGPSInfo(HANDLE hApp, NAVIINFO_DIAG_GPS *navidiaginfo) -{ - NAVIINFO_RET_API ret = NAVIINFO_RET_NORMAL; /* Return value of this function */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - int32_t ret_veh; /* VehicleAPI Return Values */ - NAVIINFO_DIAG_GPS dest_data; /* Data acquisition area */ - - /** NULL checking */ - if (navidiaginfo == NULL) { - /** Parameter error */ - ret = NAVIINFO_RET_ERROR_PARAM; - } else if (hApp == NULL) { - /** Parameter error */ - ret = NAVIINFO_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = NAVIINFO_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = NAVIINFO_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = NAVIINFO_RET_ERROR_NOSUPPORT; - } - } - - if (ret == NAVIINFO_RET_NORMAL) { - /** Acquisition of navigation data for Diag provide */ - ret_veh = PosGetProc( - (DID)VEHICLE_DID_NAVIINFO_DIAG_GPS, - reinterpret_cast<void*>(&dest_data), - (u_int16)sizeof(dest_data)); - - if (static_cast<int32_t>(sizeof(NAVIINFO_DIAG_GPS)) > ret_veh) { - /** Failed to acquire */ - if (ret_veh == POS_RET_ERROR_RESOURCE) { - ret = NAVIINFO_RET_ERROR_RESOURCE; - } else { - ret = NAVIINFO_RET_ERROR_INNER; - } - } else { - /** Successful acquisition */ - memcpy( navidiaginfo, &dest_data, sizeof(NAVIINFO_DIAG_GPS)); - } - } - - return ret; -} - -/* ++ GPS _CWORD82_ support */ -/** - * @brief - * GPS setting transmission request - * - * Requesting GPS Settings with Complete Return - * - * @param[in] hApp HANDLE - Application handle - * @param[in] p_data SENSOR_MSG_SEND_DAT* - GPS setting information to be sent - * - * @return SENSOR_RET_NORMAL Normal completion<br> - * SENSOR_RET_ERROR_CREATE_EVENT Event generation failure<br> - * SENSOR_RET_ERROR_PARAM Parameter error<br> - * SENSOR_RET_ERROR_DID Unregistered DID<br> - * SENSOR_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -int32 POS_ReqGPSSetting(HANDLE hApp, SENSOR_MSG_SEND_DAT *p_data) { /* Ignore->MISRA-C++:2008 Rule 7-1-2 */ - SENSOR_RET_API ret = SENSOR_RET_NORMAL; /* Return value */ - RET_API ret_api; /* System API return value */ - uint16_t expected_size; /* Message size for the specified DID */ - - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - - if (hApp == NULL) { - /* Parameter error */ - ret = SENSOR_RET_ERROR_PARAM; - } - - if (ret == SENSOR_RET_NORMAL) { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Argument check (DID) + Size calculation */ - if (p_data != reinterpret_cast<SENSOR_MSG_SEND_DAT*>(NULL)) { - switch (p_data->did) { - case VEHICLE_DID_GPS__CWORD82__SETINITIAL: - { - expected_size = 71; - break; - } - case VEHICLE_DID_GPS__CWORD82__SETRMODE: - { - expected_size = 50; - break; - } - case VEHICLE_DID_GPS__CWORD82__SETRMODEEX: - { - expected_size = 63; - break; - } - case VEHICLE_DID_GPS__CWORD82__SELSENT: - { - expected_size = 21; - break; - } - case VEHICLE_DID_GPS__CWORD82__SETSBAS: - { - expected_size = 34; - break; - } - case VEHICLE_DID_GPS__CWORD82__SETCONF1: - { - expected_size = 37; - break; - } - case VEHICLE_DID_GPS__CWORD82__SETCONF2: - { - expected_size = 45; - break; - } - default: /* Ignore->MISRA-C++:2008 Rule 6-3-1, 6-4-1 */ - ret = SENSOR_RET_ERROR_DID; - break; - } - } else { - ret = SENSOR_RET_ERROR_PARAM; - } - } - - /* Supported HW Configuration Check */ - if (ret == SENSOR_RET_NORMAL) { - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = SENSOR_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - - if (ret == SENSOR_RET_NORMAL) { - /* Argument check (Size)*/ - if (expected_size != p_data->usSize) { - ret = SENSOR_RET_ERROR_PARAM; - } else { - /* Message buffer initialization */ - - /* Create message data */ - - /* Resource acquisition */ - if (VehicleGetResource() == TRUE) { - /* External Process Transmission and Reception Messages */ - FRAMEWORKUNIFIEDLOG(ZONE_27, __FUNCTION__, - "POSITIONING: POS_ReqGPSSetting() --> cid = %d", - CID_SENSORIF__CWORD82__REQUEST); - ret_api = _pb_SndMsg_Ext(POS_THREAD_NAME, - CID_SENSORIF__CWORD82__REQUEST, - sizeof(SENSOR_MSG_SEND_DAT), - reinterpret_cast<void *>(p_data), 0); - FRAMEWORKUNIFIEDLOG(ZONE_27, __FUNCTION__, "POSITIONING: POS_ReqGPSSetting() <--"); - - if (ret_api != RET_NORMAL) { - ret = SENSOR_RET_ERROR_CREATE_EVENT; - } - } else { - /* When resource shortage occurs, the system terminates with an insufficient resource error. */ - ret = SENSOR_RET_ERROR_RESOURCE; - } - /* Resource release */ - VehicleReleaseResource(); - } - } - - return ret; -} -/* -- GPS _CWORD82_ support */ - -/** - * @brief - * GPS information conversion process - * - * Convert GPS information to a format to be provided to the vehicle sensor - * - * @param[in] none - * @param[in] navi_loc_info NAVIINFO_ALL* - GPS information pointer - * - * @return none - */ -void PosCnvGpsInfo(NAVIINFO_ALL *navi_loc_info) { - int32_t altitude; - int64_t tmp; - uint16_t heading; - - /* Unit conversion of fix altitude[1m]->[0.01m] */ - tmp = (int64_t)((int64_t)(navi_loc_info->stNaviGps.altitude) * 100); - if (tmp > static_cast<int32_t>(0x7FFFFFFF)) { - /* +Overflow of digits */ - altitude = static_cast<int32_t>(0x7FFFFFFF); - } else if (tmp < static_cast<int32_t>(0x80000000)) { /* Ignore->MISRA-C:2004 Rule 3.1 */ - /* -Overflow of digits */ - altitude = static_cast<int32_t>(0x80000000); /* Ignore->MISRA-C:2004 Rule 3.1 */ - } else { - altitude = static_cast<int32_t>(tmp); - } - navi_loc_info->stNaviGps.altitude = altitude; - - /* Measurement Azimuth Conversion[0.Once]->[0.01 degree] */ - heading = navi_loc_info->stNaviGps.heading; - heading = static_cast<uint16_t>(heading - ((heading / 3600) * 3600)); - heading = static_cast<uint16_t>(heading * 10); - navi_loc_info->stNaviGps.heading = heading; - - return; -} diff --git a/vehicleservice/positioning/client/src/POS_gps_API/libPOS_gps_API.ver b/vehicleservice/positioning/client/src/POS_gps_API/libPOS_gps_API.ver deleted file mode 100755 index 038c99e..0000000 --- a/vehicleservice/positioning/client/src/POS_gps_API/libPOS_gps_API.ver +++ /dev/null @@ -1,34 +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. - */ - -# -# libPOS_gps_API version script -# -{ - global: - POS_GetGPSInfo; - POS_GetGPSVersion; - POS_RegisterListenerGPSTimeSetReq; - POS_RegisterListenerGPStime; - POS_ReqGPSReset; - POS_ReqGPSSetting; - POS_SetGPSInfo; - POS_SetGPStime; - POS_GetGPStime; - local: - *; -}; - diff --git a/vehicleservice/positioning/client/src/POS_sensor_API/Makefile b/vehicleservice/positioning/client/src/POS_sensor_API/Makefile deleted file mode 100755 index a4f627f..0000000 --- a/vehicleservice/positioning/client/src/POS_sensor_API/Makefile +++ /dev/null @@ -1,48 +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. -# -######### installed shared library(*.so) ############# -INST_SHLIBS = libPOS_sensor_API - -######### compiled sources ############# -libPOS_sensor_API_SRCS += Sensor_API.cpp -libPOS_sensor_API_SRCS += Vehicle_API.cpp - -######### add include path ############# -CPPFLAGS += -I../../../server/include/common -CPPFLAGS += -I../../include -CPPFLAGS += -I../../../server/include/nsfw - -######### add compile option ############# -CPPFLAGS += -DLINUX -fPIC - -LDFLAGS += -Wl,--no-undefined -LDFLAGS += -Wl,--no-as-needed -CPPFLAGS += -Werror=implicit-function-declaration -CPPFLAGS += -Werror=format-security -CPPFLAGS += -Wconversion -CPPFLAGS += -Wint-to-pointer-cast -CPPFLAGS += -Wpointer-arith -CPPFLAGS += -Wformat - -######### linked library (dynamic) ############# -LDLIBS += -Wl,-Bdynamic -lNS_FrameworkUnified -LDLIBS += -Wl,-Bdynamic -lPOS_base_API -LDLIBS += -Wl,-Bdynamic -lvp -######### add library path ############# -LDFLAGS += -shared - - -include ../../../../vehicle_service.mk diff --git a/vehicleservice/positioning/client/src/POS_sensor_API/Sensor_API.cpp b/vehicleservice/positioning/client/src/POS_sensor_API/Sensor_API.cpp deleted file mode 100755 index 179eb92..0000000 --- a/vehicleservice/positioning/client/src/POS_sensor_API/Sensor_API.cpp +++ /dev/null @@ -1,784 +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 :Sensor_API.cpp - * System name :GPF - * Subsystem name :Sensor I/F library - * Program name :SensorI/F API - ******************************************************************************/ - -#include <stdio.h> -#include <vehicle_service/POS_sensor_API.h> -#include <vehicle_service/POS_define.h> -#include <vehicle_service/POS_sensor_API.h> -#include <vehicle_service/positioning_base_library.h> -#include "POS_sensor_private.h" -#include "Sensor_Common_API.h" -#include "Sensor_API_private.h" -#include "Sensor_Common_API.h" -#include "Vehicle_API_Dummy.h" -#include "Vehicle_API_private.h" -#include "Naviinfo_API.h" -#include "POS_private.h" - -/*************************************************/ -/* Global variable */ -/*************************************************/ -/******************************************************************************** - * TAG :TG_GPS_REQ_RESET - * ABSTRACT :GPS reset request - * NOTE :I/F information between host applications(Reset mode) - ********************************************************************************/ -/** - * @brief POS_RegisterListenerPkgSensData Return code list - */ -static const SENSOR_RET_PKG g_ret_list_reg_lis_pkg_sens_data[SENSOR_PUBLIC_DID_NUM] = { - /* GRADE2 GRADE1 DID (Key) */ - {TRUE, TRUE, POS_DID_SPEED_PULSE }, - {FALSE, TRUE, POS_DID_SPEED_KMPH }, - {TRUE, TRUE, POS_DID_GYRO_X }, - {TRUE, TRUE, POS_DID_GYRO_Y }, - {TRUE, TRUE, POS_DID_GYRO_Z }, - {TRUE, TRUE, POS_DID_GSNS_X }, - {TRUE, TRUE, POS_DID_GSNS_Y }, - {TRUE, TRUE, POS_DID_GSNS_Z }, - {FALSE, TRUE, POS_DID_GPS_ANTENNA }, - {TRUE, TRUE, POS_DID_SNS_COUNTER }, - {FALSE, TRUE, POS_DID_SPEED_PULSE_FST }, - {FALSE, TRUE, POS_DID_GYRO_X_FST }, - {FALSE, TRUE, POS_DID_GYRO_Y_FST }, - {FALSE, TRUE, POS_DID_GYRO_Z_FST }, - {FALSE, TRUE, POS_DID_GPS__CWORD82__NMEA }, - {FALSE, TRUE, POS_DID_GPS__CWORD82___CWORD44_GP4 }, - {FALSE, TRUE, POS_DID_GPS__CWORD82__FULLBINARY }, - {FALSE, TRUE, POS_DID_GPS_NMEA }, - {TRUE, TRUE, POS_DID_REV }, - {FALSE, TRUE, POS_DID_REV_FST }, - {TRUE, TRUE, POS_DID_GYRO_TEMP }, - {FALSE, TRUE, POS_DID_GYRO_TEMP_FST }, - {FALSE, TRUE, POS_DID_GSNS_X_FST }, - {FALSE, TRUE, POS_DID_GSNS_Y_FST }, - {FALSE, TRUE, POS_DID_GSNS_Z_FST }, - {TRUE, TRUE, POS_DID_PULSE_TIME }, - {FALSE, TRUE, POS_DID_GPS_CLOCK_DRIFT }, - {FALSE, TRUE, POS_DID_GPS_CLOCK_FREQ }, - {FALSE, TRUE, VEHICLE_DID_GPS_TIME }, /* For local use */ - {FALSE, TRUE, VEHICLE_DID_GPS_TIME_RAW }, /* For local use */ - {FALSE, TRUE, VEHICLE_DID_GPS_WKNROLLOVER} /* For local use */ -}; - -/** - * @brief POS_RegisterListenerSensData Return code list - */ -static const SENSOR_RET_PKG g_ret_list_reg_lis_sens_data[SENSOR_PUBLIC_DID_NUM] = { - /* GRADE2 GRADE1 DID (Key) */ - {TRUE, TRUE, POS_DID_SPEED_PULSE }, - {FALSE, TRUE, POS_DID_SPEED_KMPH }, - {TRUE, TRUE, POS_DID_GYRO_X }, - {TRUE, TRUE, POS_DID_GYRO_Y }, - {TRUE, TRUE, POS_DID_GYRO_Z }, - {TRUE, TRUE, POS_DID_GSNS_X }, - {TRUE, TRUE, POS_DID_GSNS_Y }, - {TRUE, TRUE, POS_DID_GSNS_Z }, - {TRUE, TRUE, POS_DID_GPS_ANTENNA }, - {FALSE, TRUE, POS_DID_SNS_COUNTER }, - {TRUE, TRUE, POS_DID_SPEED_PULSE_FST }, - {TRUE, TRUE, POS_DID_GYRO_X_FST }, - {TRUE, TRUE, POS_DID_GYRO_Y_FST }, - {TRUE, TRUE, POS_DID_GYRO_Z_FST }, - {TRUE, TRUE, POS_DID_GPS__CWORD82__NMEA }, - {FALSE, TRUE, POS_DID_GPS__CWORD82___CWORD44_GP4 }, - {TRUE, TRUE, POS_DID_GPS__CWORD82__FULLBINARY }, - {FALSE, TRUE, POS_DID_GPS_NMEA }, - {FALSE, TRUE, POS_DID_REV }, - {TRUE, TRUE, POS_DID_REV_FST }, - {TRUE, TRUE, POS_DID_GYRO_TEMP }, - {TRUE, TRUE, POS_DID_GYRO_TEMP_FST }, - {TRUE, TRUE, POS_DID_GSNS_X_FST }, - {TRUE, TRUE, POS_DID_GSNS_Y_FST }, - {TRUE, TRUE, POS_DID_GSNS_Z_FST }, - {FALSE, TRUE, POS_DID_PULSE_TIME }, - {FALSE, TRUE, POS_DID_GPS_CLOCK_DRIFT }, - {FALSE, TRUE, POS_DID_GPS_CLOCK_FREQ }, - {FALSE, TRUE, VEHICLE_DID_GPS_TIME }, /* For local use */ - {FALSE, TRUE, VEHICLE_DID_GPS_TIME_RAW }, /* For local use */ - {FALSE, TRUE, VEHICLE_DID_GPS_WKNROLLOVER } /* For local use */ -}; - -/** - * @brief POS_GetSensData Return code list - */ -static const SENSOR_RET_PKG g_ret_list_get_sens_data[SENSOR_PUBLIC_DID_NUM] = { - /* GRADE2 GRADE1 DID (Key) */ - {TRUE, TRUE, POS_DID_SPEED_PULSE }, - {FALSE, TRUE, POS_DID_SPEED_KMPH }, - {TRUE, TRUE, POS_DID_GYRO_X }, - {TRUE, TRUE, POS_DID_GYRO_Y }, - {TRUE, TRUE, POS_DID_GYRO_Z }, - {TRUE, TRUE, POS_DID_GSNS_X }, - {TRUE, TRUE, POS_DID_GSNS_Y }, - {TRUE, TRUE, POS_DID_GSNS_Z }, - {TRUE, TRUE, POS_DID_GPS_ANTENNA }, - {FALSE, TRUE, POS_DID_SNS_COUNTER }, - {FALSE, TRUE, POS_DID_SPEED_PULSE_FST }, - {FALSE, TRUE, POS_DID_GYRO_X_FST }, - {FALSE, TRUE, POS_DID_GYRO_Y_FST }, - {FALSE, TRUE, POS_DID_GYRO_Z_FST }, - {TRUE, TRUE, POS_DID_GPS__CWORD82__NMEA }, - {FALSE, TRUE, POS_DID_GPS__CWORD82___CWORD44_GP4 }, - {TRUE, TRUE, POS_DID_GPS__CWORD82__FULLBINARY }, - {FALSE, TRUE, POS_DID_GPS_NMEA }, - {FALSE, TRUE, POS_DID_REV }, - {FALSE, TRUE, POS_DID_REV_FST }, - {TRUE, TRUE, POS_DID_GYRO_TEMP }, - {FALSE, TRUE, POS_DID_GYRO_TEMP_FST }, - {FALSE, TRUE, POS_DID_GSNS_X_FST }, - {FALSE, TRUE, POS_DID_GSNS_Y_FST }, - {FALSE, TRUE, POS_DID_GSNS_Z_FST }, - {FALSE, TRUE, POS_DID_PULSE_TIME }, - {FALSE, TRUE, POS_DID_GPS_CLOCK_DRIFT }, - {FALSE, TRUE, POS_DID_GPS_CLOCK_FREQ }, - {FALSE, TRUE, VEHICLE_DID_GPS_TIME }, /* For local use */ - {FALSE, TRUE, VEHICLE_DID_GPS_TIME_RAW }, /* For local use */ - {FALSE, TRUE, VEHICLE_DID_GPS_WKNROLLOVER } /* For local use */ -}; - -/** - * @brief - * DID-decision functions for Sensor API - * - * Determines whether or not the DID specified by the public API corresponds to the DID. - * - * @param[in] did Data ID - * @param[in] mode Operation mode 1:For Package Delivery Registration API<br> - * 2:For Sensor Data Delivery Registration API<br> - * 3:For Sensor Data Acquisition API - * - * @return TRUE Be supported - * FALSE Not supported - */ -BOOL SensorJudgeDid(DID did, uint8_t mode) { - BOOL ret = FALSE; - UNIT_TYPE type; - const SENSOR_RET_PKG *pkg_list = NULL; - int32_t i; - - /* Set Return pakage list */ - switch (mode) { - case MODE_REGISTER_LISTENER_PKG_SENS_DATA: /* POS_RegisterListenerPkgSensData */ - { - pkg_list = g_ret_list_reg_lis_pkg_sens_data; - break; - } - case MODE_REGISTER_LISTENER_SENSDATA: /* POS_RegisterListenerSensData */ - { - pkg_list = g_ret_list_reg_lis_sens_data; - break; - } - case MODE_GET_SENSDATA: /* POS_GetSensData */ - { - pkg_list = g_ret_list_get_sens_data; - break; - } - default: - /* Error log */ - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [mode = %d]", mode); - break; - } - - if (pkg_list != NULL) { - /* Search Return code list for DID */ - for (i = 0; i < SENSOR_PUBLIC_DID_NUM; i++) { - if (did == pkg_list[i].did) { - break; - } - } - - if (i != SENSOR_PUBLIC_DID_NUM) { - /* Get Unit type */ - type = GetEnvSupportInfo(); - switch (type) { - case UNIT_TYPE_GRADE1: - { - ret = pkg_list[i].GRADE1_ret; - break; - } - case UNIT_TYPE_GRADE2: - { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = pkg_list[i].GRADE2_ret; - break; - } - default: - /* Error log */ - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, - "GetEnvSupportInfo ERROR [type = %d]", type); - break; - } - } else { - /* Error log */ - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [did = %d]", did); - } - } - - return ret; -} - -/** - * @brief - * Vehicle Sensor Information Extended Package Delivery Registration - * Sensor information is delivered for the first time.,Extension Packaging and Registering for Delivery. - * - * @param[in] hApp Application handle - * @param[in] notifyName Destination thread name - * @param[in] ucPkgNum Number of package data(1 to 16) - * @param[in] *pulDid Pointer to an array of data IDs for vehicle information - * @param[in] ucCtrlFlg Delivery control<br> - * Delivery registration: SENSOR_DELIVERY_REGIST<br> - * Delivery stop: SENSOR_DELIVERY_STOP (Note: Not mounted)<br> - * Resume delivery: SENSOR_DELIVERY_RESTART (Note: Not mounted) - * @param[in] ucDeliveryTiming Delivery timing<br> - * Updating : SENSOR_DELIVERY_TIMING_UPDATE<br> - * Changing : SENSOR_DELIVERY_TIMING_CHANGE - * - * @return SENSOR_RET_NORMAL Successful registration<br> - * SENSOR_RET_ERROR_CREATE_EVENT Event generation failure<br> - * SENSOR_RET_ERROR_PARAM Parameter error<br> - * SENSOR_RET_ERROR_DID Unregistered ID<br> - * SENSOR_RET_ERROR_BUFFULL FULL of delivery registers<br> - * SENSOR_RET_ERROR_NOSUPPORT Unsupported environment<br> - * SENSOR_RET_ERROR_INNER Internal abnormality - * - */ -SENSOR_RET_API POS_RegisterListenerPkgSensData(HANDLE hApp, - PCSTR notifyName, - uint8_t ucPkgNum, - DID *pulDid, uint8_t ucCtrlFlg, uint8_t ucDeliveryTiming) { - SENSOR_RET_API ret; /* Return value */ - BOOL ret_b; - RET_API ret_api; /* System API return value */ - EventID event_id; /* Event ID */ - int32_t event_val; /* Event value */ - SENSOR_MSG_DELIVERY_ENTRY_DAT data; /* Message data */ - int32_t i; /* Generic counters */ - PNO ch_pno; /* Converted internal PNO */ - UNIT_TYPE type; /* Supported HW Configuration Type */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "+"); - - ret = SENSOR_RET_NORMAL; - /* Check Handle */ - if (hApp == NULL) { - /* NULL terminates with an abnormal parameter */ - ret = SENSOR_RET_ERROR_PARAM; - } - - if (ret == SENSOR_RET_NORMAL) { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = SENSOR_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - - if (ret == SENSOR_RET_NORMAL) { - /* Check Delivery Control Designation */ - if (SENSOR_DELIVERY_REGIST != ucCtrlFlg) { - /* Parameters other than delivery registration terminated abnormally. */ - ret = SENSOR_RET_ERROR_PARAM; - } else if ((ucDeliveryTiming != SENSOR_DELIVERY_TIMING_CHANGE) && - (ucDeliveryTiming != SENSOR_DELIVERY_TIMING_UPDATE)) { - /* Check delivery timing */ - /* Change delivery timing,Terminate as a parameter error except update */ - ret = SENSOR_RET_ERROR_PARAM; - } else if (notifyName == NULL) { - /* Check Thread Name */ - /* NULL terminates with an abnormal parameter */ - ret = SENSOR_RET_ERROR_PARAM; - } else if ((0 == ucPkgNum) || (SENSOR_PKG_DELIVERY_MAX < ucPkgNum)) { - /* Check Package Data Count */ - /* Out-of-range is terminated as a parameter error. */ - ret = SENSOR_RET_ERROR_PARAM; - } else if (pulDid == NULL) { - /* Check Data ID */ - /* NULL terminates with an abnormal parameter */ - ret = SENSOR_RET_ERROR_PARAM; - } else { - /* Check if data ID is acceptable */ - for (i = 0; i < ucPkgNum; i++) { - /* Judge DID */ - ret_b = SENSOR_DID_JUDGE_REGLIS_PKG(pulDid[i]); - if (ret_b == FALSE) { - /* An unacceptable ID terminates with an abnormal parameter. */ - ret = SENSOR_RET_ERROR_PARAM; - break; - } else { - ret = SENSOR_RET_NORMAL; - } - } - } - } - - if (ret == SENSOR_RET_NORMAL) { - /* Resource acquisition */ - if (VehicleGetResource() == TRUE) { - - /* Initialization */ - event_id = 0; - event_val = 0; - memset(reinterpret_cast<void *>(&data), 0, sizeof(SENSOR_MSG_DELIVERY_ENTRY_DAT)); - - /* Get PNO from Thread Name */ - ch_pno = _pb_CnvName2Pno(notifyName); - - /* Event Generation */ - event_id = PosCreateEvent(ch_pno); - - if (0 != event_id) { - /* Successful event generation */ - - /*--------------------------------------------------------------* - * Send Vehicle Sensor Information Delivery Registration Message * - *--------------------------------------------------------------*/ - /* Create Message Data */ - data.pno = ch_pno; - data.pkg_num = ucPkgNum; - data.delivery_timing = ucDeliveryTiming; - data.ctrl_flg = ucCtrlFlg; - data.event_id = event_id; - for (i = 0; i < ucPkgNum; i++) { - data.did[i] = pulDid[i]; - } - - /* Messaging */ - ret_api = PosSndMsg(ch_pno, - PNO_VEHICLE_SENSOR, - CID_SENSORIF_PKG_DELIVERY_ENTRY_EXT, - (uint16_t)sizeof(SENSOR_MSG_DELIVERY_ENTRY_DAT), - (const void *)&data); - - if (RET_NORMAL == ret_api) { - /* Message transmission processing is successful */ - /* Wait for completion event from vehicle sensor thread */ - ret_api = _pb_WaitEvent(event_id, - SAPI_EVWAIT_VAL, - SENSOR_RET_ERROR_MIN, - SENSOR_RET_NORMAL, - &event_val, - POS_API_TIME_OUT_MS); - if (RET_NORMAL != ret_api) { - /* Return an internal error */ - ret = SENSOR_RET_ERROR_INNER; - } else { - /* Return from Event Wait */ - /* Set event value (processing result) as return value */ - ret = (SENSOR_RET_API)event_val; - } - } else { - /* Message transmission processing failed */ - /* Return an internal error */ - ret = SENSOR_RET_ERROR_INNER; - } - - /* Event deletion */ - ret_api = PosDeleteEvent(event_id); - } else { - /* Event generation failure */ - ret = SENSOR_RET_ERROR_CREATE_EVENT; - } - } else { - /* When resource shortage occurs, the system terminates with an insufficient resource error. */ - ret = SENSOR_RET_ERROR_RESOURCE; - } - /* Resource release */ - VehicleReleaseResource(); - } - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "- [ret = %d]", ret); - - return ret; -} - -/******************************************************************************* - * MODULE : PosCreateEvent - * ABSTRACT : Event creation process - * FUNCTION : Generate an event - * ARGUMENT : pno : Thread ID - * NOTE : - * RETURN : Non-zero : Event ID - * : Zero : Event generation failure - ******************************************************************************/ -EventID PosCreateEvent(PNO pno) { - EventID event_id; /* Event ID */ - char event_name[32]; /* Event name character string buffer */ - RET_API ret_api; /* System API return value */ - - /* Initialization of event name character string buffer */ - (void)memset(reinterpret_cast<void *>(event_name), 0, sizeof(event_name)); - - /* Event name creation */ - snprintf(event_name, sizeof(event_name), "SENSOR_%X", pno); /* Ignore->MISRA-C++:2008 Rule 5-2-12 */ - - /* Event Generation */ - event_id = _pb_CreateEvent(FALSE , 0, event_name); /* Ignore->MISRA-C++:2008 Rule 5-2-12 */ - - if (0 != event_id) { - /* For successful event generation */ - - /* Initialize the event */ - ret_api = _pb_SetEvent(event_id, SAPI_EVSET_ABSOLUTE, SENSOR_EVENT_VAL_INIT); - if (RET_NORMAL != ret_api) { - /* Event initialization failed */ - - /* Delete Event and Return Event Generation Failed */ - ret_api = PosDeleteEvent(event_id); - event_id = 0; - } - } - - return event_id; -} - -/******************************************************************************* - * MODULE : PosDeleteEvent - * ABSTRACT : Event deletion processing - * FUNCTION : Delete events - * ARGUMENT : event_id : Event ID of the event to delete - * NOTE : - * RETURN : RET_NORMAL : Normal completion - * : RET_EV_NONE : Specified event does not exist - ******************************************************************************/ -RET_API PosDeleteEvent(EventID event_id) { - return(_pb_DeleteEvent(event_id)); -} - -/******************************************************************************* - * MODULE : SensorLinkShareData - * ABSTRACT : Link to shared memory - * FUNCTION : Link to shared memory - * ARGUMENT : **share_top : Storage destination of shared memory top address - * : *share_size : Storage destination of shared memory area size - * : *offset : Offset storage destination to free shared memory area - * NOTE : - * RETURN : RET_NORMAL : Normal completion - * : RET_ERROR : There is no shared memory area. - ******************************************************************************/ -RET_API SensorLinkShareData(void **share_top, uint32_t *share_size, uint16_t *offset) { // LCOV_EXCL_START 8:dead code - AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert - RET_API ret_api; /* System API return value */ - SemID sem_id; /* Semaphore ID */ - SENSOR_SHARE *share_top_tmp; - int32_t i; - - /* Initialization */ - ret_api = RET_ERROR; - - /* Create Semaphore */ - sem_id = _pb_CreateSemaphore(const_cast<char *>(SENSOR_SEMAPHO_NAME)); - if (0 != sem_id) { - /* Semaphore Lock */ - ret_api = _pb_SemLock(sem_id); - if (RET_NORMAL == ret_api) { - /* Link to shared memory */ - ret_api = _pb_LinkShareData(const_cast<char *>(SENSOR_SHARE_NAME), share_top, share_size); - if (RET_NORMAL == ret_api) { - /* By searching the free shared memory area,Offset is calculated if there is free space. */ - share_top_tmp = reinterpret_cast<SENSOR_SHARE *>(*share_top); - - /* Because the first block of the shared memory area is the control area,Loop from i = 1 */ - for (i = 1; i < SENSOR_SHARE_BLOCK_NUM; i++) { - if (SENSOR_SHARE_UNLOCK == share_top_tmp->mng.lock_info[i]) { - break; - } - } - if (i < SENSOR_SHARE_BLOCK_NUM) { - /* Empty space */ - /* Lock the block */ - share_top_tmp->mng.lock_info[i] = SENSOR_SHARE_LOCK; - - /* Calculate the offset to the block */ - *offset = static_cast<uint16_t>(i * SENSOR_SHARE_BLOCK_SIZE); - - /* Normal completion */ - ret_api = RET_NORMAL; - } else { - /* No free space */ - ret_api = RET_ERROR; - } - } else { - /* Failed link to shared memory */ - ret_api = RET_ERROR; - } - /* Semaphore unlock */ - _pb_SemUnlock(sem_id); - } else { - /* Semaphore lock failed */ - ret_api = RET_ERROR; - } - } else { - /* Semaphore creation failed */ - ret_api = RET_ERROR; - } - - return ret_api; -} -// LCOV_EXCL_STOP - -/******************************************************************************* - * MODULE : SensorUnLinkShareData - * ABSTRACT : Unlinking shared memory - * FUNCTION : Unlink shared memory - * ARGUMENT : *share_top : Start address of shared memory - * : offset : Offset to shared memory free area - * NOTE : - * RETURN : RET_NORMAL : Normal completion - * : RET_ERROR : There is no shared memory area./semaphore error - ******************************************************************************/ -RET_API SensorUnLinkShareData(SENSOR_SHARE *share_top, uint16_t offset) { // LCOV_EXCL_START 8:dead code - AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert - RET_API ret_api; /* System API return value */ - SemID sem_id; /* Semaphore ID */ - int32_t i; - - /* Initialization */ - ret_api = RET_ERROR; - - /* Create Semaphore */ - sem_id = _pb_CreateSemaphore(const_cast<char *>(SENSOR_SEMAPHO_NAME)); - if (0 != sem_id) { - /* Semaphore Lock */ - ret_api = _pb_SemLock(sem_id); - if (RET_NORMAL == ret_api) { - /* Unlock the block */ - i = static_cast<int32>(offset) / SENSOR_SHARE_BLOCK_SIZE; - share_top->mng.lock_info[i] = SENSOR_SHARE_UNLOCK; - - /* Semaphore unlock */ - _pb_SemUnlock(sem_id); - - /* Normal completion */ - ret_api = RET_NORMAL; - } else { - /* Semaphore lock failed */ - ret_api = RET_ERROR; - } - } else { - /* Semaphore creation failed */ - ret_api = RET_ERROR; - } - - return ret_api; -} -// LCOV_EXCL_STOP - -/******************************************************************************* - * MODULE : SensorSetShareData - * ABSTRACT : Write processing to shared memory - * FUNCTION : Write shared memory - * ARGUMENT : *share_top : Start address of shared memory - * : offset : Offsets to shared memory write destination - * : *data_src : - : size_src : - * NOTE : - * RETURN : void - ******************************************************************************/ -void SensorSetShareData(void *share_top, uint16_t offset, const void *data_src, uint16_t size_src) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length) - AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert - SENSOR_SHARE_BLOCK_DAT *share_dat; - - /* Calculate Shared Memory Write Address */ - share_dat = reinterpret_cast<SENSOR_SHARE_BLOCK_DAT *>(reinterpret_cast<uint8_t *>(share_top) + offset); - /* #QAC confirmation Rule11.4 Use structure for member reference(Cast according to shared memory link IF) */ - - /* Clear Shared Memory */ - memset(reinterpret_cast<void *>(share_dat), 0, sizeof(SENSOR_SHARE_BLOCK_DAT)); - - /* Set write size to shared memory */ - share_dat->size = size_src; - - /* Set specified data in shared memory */ - memcpy(reinterpret_cast<void *>(&share_dat->data), data_src, (size_t)size_src); -} -// LCOV_EXCL_STOP - -/******************************************************************************* - * MODULE : PosSndMsg - * ABSTRACT : Message transmission processing - * FUNCTION : Send a message to the specified PNO - * ARGUMENT : pno_src : Source PNO - * : pno_dest : Destination PNO - * : cid : Command ID - * : msg_len : Message data body length - * : *msg_len : Pointer to message data - * NOTE : - * RETURN : RET_NORMAL : Normal completion - * : RET_ERRNOTRDY : Destination process is not wakeup - * : RET_ERRMSGFULL : Message queue overflows - * : RET_ERRPARAM : Buffer size error - ******************************************************************************/ -RET_API PosSndMsg(PNO pno_src, PNO pno_dest, CID cid, uint16_t msg_len, const void *msg_data) { - SENSOR_INTERNAL_MSG_BUF msg_buf; /* message buffer */ - T_APIMSG_MSGBUF_HEADER *msg_hdr; /* Pointer to the message header */ - RET_API ret_api; /* Return value */ - PCSTR thread_name; /* Destination thread name */ - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "+"); - - /* _CWORD71_ processing speed(Memset modification) */ - /* Initializing the header of the message buffer */ - memset(reinterpret_cast<void *>(&msg_buf.hdr), 0, sizeof(T_APIMSG_MSGBUF_HEADER)); - - /* Get pointer to send buffer */ - msg_hdr = reinterpret_cast<T_APIMSG_MSGBUF_HEADER *>(reinterpret_cast<void *>(&msg_buf)); - - /*--------------------------------------------------------------* - * Create message headers * - *--------------------------------------------------------------*/ - msg_hdr->hdr.sndpno = pno_src; /* Source PNO */ - msg_hdr->hdr.cid = cid; /* Command ID */ - msg_hdr->hdr.msgbodysize = msg_len; /* Message data body length */ - - /*--------------------------------------------------------------* - * Create message data * - *--------------------------------------------------------------*/ - if ((0 != msg_data) && (0 != msg_len)) { /* Ignore->MISRA-C++:2008 Rule 5-0-5 */ - /* Set the message data */ - memcpy(reinterpret_cast<void *>(msg_buf.data), msg_data, (size_t)msg_len); - } - /*--------------------------------------------------------------* - * Send messages * - *--------------------------------------------------------------*/ - /* Get Thread Name from PNO */ - if (pno_dest <= SYS_PNO_MAX) { - thread_name = POS_THREAD_NAME; - } else { - thread_name = _pb_CnvPno2Name(pno_dest); - } - - if ((pno_dest <= SYS_PNO_MAX) && (pno_src <= SYS_PNO_MAX)) { - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "[LOG pno_dest = 0x%x]", pno_dest); - - /* Internal Process Transmission and Reception Messages */ - ret_api = _pb_SndMsg(pno_dest, - (uint16_t)(sizeof(T_APIMSG_MSGBUF_HEADER) + msg_len),/* Ignore->MISRA-C++:2008 Rule 5-0-5 */ - reinterpret_cast<void *>(&msg_buf), 0); - } else { - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, - "[LOG thread_name = %s, cid = 0x%x]", thread_name, cid); - - /* External Process Transmission and Reception Messages */ - ret_api = _pb_SndMsg_Ext(thread_name, - cid, - (uint16_t)(msg_len), /* Ignore->MISRA-C++:2008 Rule 5-0-5 */ - reinterpret_cast<void *>(&(msg_buf.data)), 0); - } - /* If RET_ERROR,Register a dialog if called from a Vehicle related thread */ /* Task_30332 */ - if (ret_api == RET_ERROR) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "[ERROR]"); - } - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_26, __FUNCTION__, "- [ret = %d]", ret_api); - - return ret_api; -} - -/** - * @brief - * Sensor information acquisition - * - * Obtain sensor information - * - * @param[in] hApp HANDLE - Application handle - * @param[in] did DID - Data ID for vehicle information - * @param[in] dest_data void* - Pointer representing the storage destination of vehicle sensor information - * @param[in] dest_size uint16_t - Storage destination size of vehicle sensor information(byte) - * - * @return 0 or more Stored data size(Include illegal)<br> - * POS_RET_ERROR_CREATE_EVENT Event generation failure<br> - * POS_RET_ERROR_OUTOF_MEMORY Shared memory allocation failed<br> - * POS_RET_ERROR_SIZE Storage destination size error<br> - * POS_RET_ERROR_DID Unregistered ID<br> - * POS_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -POS_RET_API POS_GetSensData(HANDLE hApp, DID did, void *dest_data, uint16_t dest_size) -{ - POS_RET_API ret; /* Return value */ - UNIT_TYPE type = UNIT_TYPE_NONE; /* Supported HW Configuration Type */ - BOOL ret_b; - - /** NULL checking */ - if ((hApp == NULL) || (dest_data == NULL)) { - /** Parameter error */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = POS_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = POS_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = POS_RET_ERROR_NOSUPPORT; - } - } - - if (ret == NAVIINFO_RET_NORMAL) { - /* Judge DID*/ - ret_b = SENSOR_DID_JUDGE_GET(did); - if (ret_b == FALSE) { - /* An unacceptable ID is regarded as a parameter error. */ - ret = POS_RET_ERROR_PARAM; - } else { - /* Data acquisition process */ - ret = PosGetProc(did, dest_data, dest_size); - } - } - - return ret; -} diff --git a/vehicleservice/positioning/client/src/POS_sensor_API/Vehicle_API.cpp b/vehicleservice/positioning/client/src/POS_sensor_API/Vehicle_API.cpp deleted file mode 100755 index 3cd97f8..0000000 --- a/vehicleservice/positioning/client/src/POS_sensor_API/Vehicle_API.cpp +++ /dev/null @@ -1,292 +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 :Vehicle_API.cpp - * System name :GPF - * Subsystem name :Vehicle I/F library - * Program name :Vehicle I/F API - * Module configuration :POS_RegisterListenerSensData() Vehicle sensor information delivery registration - ******************************************************************************/ -#include <vehicle_service/positioning_base_library.h> -#include <stdio.h> -#include <vehicle_service/POS_sensor_API.h> -#include "Sensor_API_private.h" -#include "Vehicle_API_Dummy.h" -#include "Vehicle_API_private.h" -#include "POS_private.h" - -/*************************************************/ -/* Global variable */ -/*************************************************/ - -/******************************************************************************* - * initialize -******************************************************************************/ -VEHICLE_RET_API VehicleInitialize(u_int32 (*sighand)()) { // LCOV_EXCL_START 8:dead code // NOLINT(readability/nolint) - AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert - RET_API _CWORD64_api_ret; - VEHICLE_RET_API ret; - - _CWORD64_api_ret = _pb_Setup_CWORD64_API(NULL); - - if (_CWORD64_api_ret == RET_NORMAL) { - ret = RET_NORMAL; - } else { - ret = RET_ERROR; - } - return ret; -} -// LCOV_EXCL_STOP - -/** - * @brief - * Vehicle sensor information delivery registration - * Register delivery of vehicle sensor information - * - * @param[in] hApp Application handle - * @param[in] notifyName Destination thread name - * @param[in] ulDid Pointer to an array of data IDs for vehicle information - * @param[in] ucCtrlFlg Delivery control<br> - * Delivery registration: SENSOR_DELIVERY_REGIST<br> - * Delivery stop: SENSOR_DELIVERY_STOP (Note: Not mounted)<br> - * Resume delivery: SENSOR_DELIVERY_RESTART (Note: Not mounted) - * @param[in] ucDeliveryTiming Delivery timing<br> - * Updating : SENSOR_DELIVERY_TIMING_UPDATE<br> - * Changing : SENSOR_DELIVERY_TIMING_CHANGE - * - * @return SENSOR_RET_NORMAL Successful registration<br> - * SENSOR_RET_ERROR_CREATE_EVENT Event generation failure<br> - * SENSOR_RET_ERROR_PARAM Parameter error<br> - * SENSOR_RET_ERROR_DID Unregistered ID<br> - * SENSOR_RET_ERROR_BUFFULL FULL of delivery registers<br> - * SENSOR_RET_ERROR_NOSUPPORT Unsupported environment - * - */ -SENSOR_RET_API POS_RegisterListenerSensData(HANDLE hApp, - PCSTR notifyName, DID ulDid, u_int8 ucCtrlFlg, u_int8 ucDeliveryTiming) { - SENSOR_RET_API ret; /* Return value */ - UNIT_TYPE type; /* Supported HW Configuration Type */ - BOOL ret_b; - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "+"); - - /* Check Delivery Control Designation */ - ret = SENSOR_RET_NORMAL; - /* Arguments & Support Configuration Check */ - if ((ucDeliveryTiming != SENSOR_DELIVERY_TIMING_CHANGE) && - (ucDeliveryTiming != SENSOR_DELIVERY_TIMING_UPDATE)) { - /* Change delivery timing,Terminate as a parameter error except update */ - ret = SENSOR_RET_ERROR_PARAM; - } else if (SENSOR_DELIVERY_REGIST != ucCtrlFlg) { - /* Parameters other than delivery registration terminated abnormally. */ - ret = SENSOR_RET_ERROR_PARAM; - } else if (hApp == NULL) { - /* Check Handle */ - /* NULL terminates with an abnormal parameter */ - ret = SENSOR_RET_ERROR_PARAM; - } else if (notifyName == NULL) { - /* Check Thread Name */ - /* NULL terminates with an abnormal parameter */ - ret = SENSOR_RET_ERROR_PARAM; - } else { - /* Positioning Base API initialization */ - _pb_Setup_CWORD64_API(hApp); - - /* Supported HW Configuration Check */ - type = GetEnvSupportInfo(); - if (UNIT_TYPE_GRADE1 == type) { - /* GRADE1 */ - ret = SENSOR_RET_NORMAL; - } else if (UNIT_TYPE_GRADE2 == type) { - /* - * Note. - * This feature branches processing depending on the unit type. - */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } else { - /* Environment error */ - ret = SENSOR_RET_ERROR_NOSUPPORT; - } - } - - if (SENSOR_RET_NORMAL == ret) { - /* Judge DID */ - ret_b = SENSOR_DID_JUDGE_REGLIS(ulDid); - if (ret_b == FALSE) { - /* An unacceptable ID is regarded as a parameter error. */ - ret = SENSOR_RET_ERROR_PARAM; - } else { - /* Delivery registration process */ - ret = PosRegisterListenerProc(notifyName, ulDid, ucCtrlFlg, ucDeliveryTiming); - } - } - - /* Internal debug log output */ - FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "- [ret = %d]", ret); - - return ret; -} - -/******************************************************************************* - * MODULE : PosSetShareData - * ABSTRACT : Write processing to shared memory - * FUNCTION : Write shared memory - * ARGUMENT : *share_top : Start address of shared memory - * : offset : Offsets to shared memory write destination - * : *data_src : Data - * : size_src : Size - * NOTE : - * RETURN : void - ******************************************************************************/ -void PosSetShareData(void *share_top, u_int16 offset, const void *data_src, u_int16 size_src) { - VEHICLE_SHARE_BLOCK_DAT *share_dat; - /* Calculate Shared Memory Write Address */ - share_dat = reinterpret_cast<VEHICLE_SHARE_BLOCK_DAT *>(reinterpret_cast<u_int8 *>(share_top) + offset); - - /* _CWORD71_ processing speed(Memset modification) */ - /* Clear Shared Memory(Unused area) */ - share_dat->reserve[0] = 0; - share_dat->reserve[1] = 0; - - /* Set write size to shared memory */ - share_dat->size = size_src; - - /* Set specified data in shared memory */ - memcpy(reinterpret_cast<void *>(share_dat->data), data_src, (size_t)size_src); -} - -/******************************************************************************* -* MODULE : VehicleGetDrData -* ABSTRACT : DR information acquisition -* FUNCTION : Retrieves DR information (optional data) by returning to completion. -* ARGUMENT : pno : Thread ID -* : did : Data ID for DR information -* : *dest_data : Pointer to the storage destination of DR information -* : dest_size : Storage destination size of DR information(byte) -* NOTE : -* RETURN : Zero or more : Stored data size -* : VEHICLE_RET_ERROR_CREATE_EVENT : Event generation failure -* : VEHICLE_RET_ERROR_OUTOF_MEMORY : Shared memory allocation failed -* : VEHICLE_RET_ERROR_SIZE : Storage destination size error -* : VEHICLE_RET_ERROR_DID : Unregistered ID -******************************************************************************/ -int32 VehicleGetDrData(PNO pno, DID did, void *dest_data, u_int16 dest_size) { // LCOV_EXCL_START 8:dead code - AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert - VEHICLE_RET_API ret; /* Return value */ - RET_API ret_api; /* System API return value */ - EventID event_id; /* Event ID */ - int32 event_val; /* Event value */ - void *share_top; /* Start address of shared memory */ - u_int32 share_size; /* Size of shared memory area */ - u_int16 offset; /* Offset to free shared memory area */ - VEHICLE_SHARE_BLOCK_DAT *share_dat; /* Address of free shared memory area */ - VEHICLE_MSG_GET_VEHICLE_DATA_DAT data; /* Message data */ - - /* Initialization */ - event_id = 0; - event_val = 0; - memset(reinterpret_cast<void *>(&data), 0, sizeof(VEHICLE_MSG_GET_VEHICLE_DATA_DAT)); - - /* Event Generation */ - event_id = VehicleCreateEvent(pno); - - if (0 != event_id) { - /* Successful event generation */ - /* Allocate shared memory */ - ret_api = VehicleLinkShareData(reinterpret_cast<void **>(&share_top), &share_size, &offset); - if (RET_NORMAL != ret_api) { - /* Failed to allocate shared memory */ - ret = VEHICLE_RET_ERROR_OUTOF_MEMORY; - } else { - /* When the shared memory is allocated successfully */ - - /* Calculate start address of free shared memory area */ - share_dat = reinterpret_cast<VEHICLE_SHARE_BLOCK_DAT *>(reinterpret_cast<u_int8 *>(share_top) + offset); - - /* Send vehicle sensor information acquisition message */ - data.did = did; - data.pno = pno; - data.offset = offset; - data.size = VEHICLE_SHARE_BLOCK_DSIZE; - data.event_id = event_id; - /* Messaging */ - - ret_api = VehicleSndMsg(pno, - PNO_VEHICLE_SENSOR, - CID_VEHICLEIF_GET_DR_DATA, - sizeof(VEHICLE_MSG_GET_VEHICLE_DATA_DAT), - (const void *)&data); - - if (RET_NORMAL == ret_api) { - /* Message transmission processing is successful */ - /* Wait for completion event from vehicle sensor thread */ - ret_api = _pb_WaitEvent(event_id, - SAPI_EVWAIT_VAL, - VEHICLE_RET_ERROR_MIN, VEHICLE_RET_NORMAL, &event_val, INFINITE); - if (RET_NORMAL != ret_api) { - /* When not put in event wait state */ - /* Return an event generation failure */ - ret = VEHICLE_RET_ERROR_CREATE_EVENT; - } else { - /* Return from Event Wait */ - - /* Link to shared memory */ - ret_api = _pb_LinkShareData(const_cast<char *>(VEHICLE_SHARE_NAME), &share_top, &share_size); - - /* Calculate the address of the shared memory storage area. */ - share_dat = reinterpret_cast<VEHICLE_SHARE_BLOCK_DAT *>(reinterpret_cast<u_int8 *>(share_top) - + offset); - - if (event_val < 0) { - /* Vehicle sensor information acquisition failure */ - ret = (VEHICLE_RET_API)event_val; - } else if (RET_NORMAL != ret_api) { - /* Shared memory error */ - ret = VEHICLE_RET_ERROR_OUTOF_MEMORY; - } else if (dest_size < share_dat->size) { - /* Storage destination size error */ - ret = VEHICLE_RET_ERROR_SIZE; - } else { - /* Vehicle sensor information acquisition success */ - - /* Copy from shared memory to user memory */ - memcpy(dest_data, share_dat->data, (size_t)share_dat->size); - - /* Set Write Size to Return Value */ - ret = static_cast<int32>(share_dat->size); - } - } - } else { - /* Message transmission processing failed */ - /* Return an event generation failure */ - ret = VEHICLE_RET_ERROR_CREATE_EVENT; - } - /* Free shared memory */ - (void)VehicleUnLinkShareData(reinterpret_cast<VEHICLE_SHARE*>(share_top), offset); - } - - /* Event deletion */ - ret_api = VehicleDeleteEvent(event_id); - - } else { - /* Event generation failure */ - ret = VEHICLE_RET_ERROR_CREATE_EVENT; - } - return ret; -} -// LCOV_EXCL_STOP diff --git a/vehicleservice/positioning/client/src/POS_sensor_API/libPOS_sensor_API.ver b/vehicleservice/positioning/client/src/POS_sensor_API/libPOS_sensor_API.ver deleted file mode 100755 index 10fd95b..0000000 --- a/vehicleservice/positioning/client/src/POS_sensor_API/libPOS_sensor_API.ver +++ /dev/null @@ -1,32 +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. - */ - -# -# libPOS_sensor_API version script -# -{ - global: - POS_GetSensData; - POS_RegisterListenerPkgSensData; - POS_RegisterListenerSensData; - *PosSndMsg*; - *PosCreateEvent*; - *PosDeleteEvent*; - *PosSetShareData*; - local: - *; -}; - |