Re-organized sub-directory by category
[staging/basesystem.git] / service / vehicle / positioning / client / include / Sensor_API_private.h
diff --git a/service/vehicle/positioning/client/include/Sensor_API_private.h b/service/vehicle/positioning/client/include/Sensor_API_private.h
new file mode 100755 (executable)
index 0000000..c3b5f54
--- /dev/null
@@ -0,0 +1,174 @@
+/*
+ * @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_ */