From 17cf21bcf8a2e29d2cbcf0a313474d2a4ee44f5d Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Fri, 20 Nov 2020 23:36:23 +0900 Subject: Re-organized sub-directory by category Since all the sub-directories were placed in the first level, created sub-directories, "hal", "module", and "service" for classification and relocated each component. Signed-off-by: Tadao Tanikawa Change-Id: Ifdf743ac0d1893bd8e445455cf0d2c199a011d5c --- hal/positioning_hal/inc/GpsCommon/MDev_GpsRecv.h | 170 +++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100755 hal/positioning_hal/inc/GpsCommon/MDev_GpsRecv.h (limited to 'hal/positioning_hal/inc/GpsCommon/MDev_GpsRecv.h') diff --git a/hal/positioning_hal/inc/GpsCommon/MDev_GpsRecv.h b/hal/positioning_hal/inc/GpsCommon/MDev_GpsRecv.h new file mode 100755 index 0000000..6ea4787 --- /dev/null +++ b/hal/positioning_hal/inc/GpsCommon/MDev_GpsRecv.h @@ -0,0 +1,170 @@ +/* + * @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 MDev_GpsRecv.h +*/ + +#ifndef INC_GPSCOMMON_MDEV_GPSRECV_H_ +#define INC_GPSCOMMON_MDEV_GPSRECV_H_ + +/*---------------------------------------------------------------------------*/ +// Include files + +#include "gps_hal.h" +#include "positioning_def.h" + +/*---------------------------------------------------------------------------*/ +// Define + +/* ++ GPS _CWORD82_ support */ +#define GPS__CWORD82__CMD_LEN_MAX 200 +/* -- GPS _CWORD82_ support */ + +/* ++ GPS _CWORD82_ support */ +#define GPS__CWORD82__RET_START_SEQ_NONE 0 /* _CWORD82_ Start Sequence Determination Result = None */ +#define GPS__CWORD82__RET_START_SEQ_NMEA 1 /* _CWORD82_ Start Sequence Determination Result = NMEA */ +#define GPS__CWORD82__RET_START_SEQ_FULL 2 /* _CWORD82_ Start Sequence Determination Result = Full customization */ +#define GPS__CWORD82__RET_START_SEQ_BIN 3 /* _CWORD82_ Start Sequence Determination Result = Standard binary #GPF_60_024 */ + +#define GPS_UBLOX_RET_START_SEQ_UBX 4 /* Ublox Start Sequence Decision Result = UBX Protocol (binary) */ +#define GPS__CWORD82__FULLBINARY_LEN GPS_CMD_FULLBIN_SZ /* _CWORD82_ Full Customization Instruction Length */ + +#define GPS__CWORD82__NORMALBINARY_LEN 81 /* _CWORD82_ standard binary instruction length #GPF_60_024 */ +/* -- GPS _CWORD82_ support */ + +/* Maximum size of serial data read */ +#define GPS_RCV_MAXREADSIZE (2048) /* Changed from 256 -> 2048 #01 */ + +/* Receive data storage buffer size */ +#define GPS_RCV_RCVBUFSIZE 512 /* Maximum size of the command to be received must be larger than the maximum size */ + +/* Max-size receive commands ID4:(188+8)byte */ +/* Analysis data buffer size */ +#define GPS_RCV_ANADATABUFSIZE (GPS_RCV_MAXREADSIZE + GPS_RCV_RCVBUFSIZE) + +/* Receive frame buffer size */ +#define GPS_RCV_RCVFRAMEBUFSIZE GPS_RCV_RCVBUFSIZE /* Maximum size of the command to be received must be larger than the maximum size */ + +/* Reception notification data buffer size */ +#define GPS_RCV_SNDCMD_SIZE_MAX + +/* Common return values */ +#define GPS_RCV_RET_ERR_EXT (-4) /* External cause error */ +#define GPS_RCV_RET_ERR_SYSTEM (-3) /* System error */ +#define GPS_RCV_RET_ERR (-1) /* Abnormality */ +#define GPS_RCV_RET_NML 0 /* Normal */ + +// Reception thread reception frame detection result +#define GPS_RCV_FRMSRCH_ERR_FORMAT (-1) /* Frame format error */ +#define GPS_RCV_FRMSRCH_FIXED 0 /* Frame determination */ +#define GPS_RCV_FRMSRCH_NOT_FIXED 1 /* Frame undetermined */ +#define GPS_RCV_FRMSRCH_NO_DATA 2 /* No analysis data */ + +// Result of receive thread receive frame analysis +#define GPS_RCV_FRMANA_ERR_PRM (-3) /* Parameter error */ +#define GPS_RCV_FRMANA_ERR_FORMAT (-2) /* Frame format error */ +#define GPS_RCV_FRMANA_ERR_CS (-1) /* Sumcheck error */ +#define GPS_RCV_FRMANA_OK 0 /* Normal data */ + +/* Serial reception event determination result */ +enum GpsRcvRet { + GPS_RCV_REVT_NML = 0, /* Receiving(Normal) */ + GPS_RCV_REVT_ERR, /* Receiving(Error) */ + GPS_RCV_REVT_NUM /* Number of events received */ +}; + +// Error logging +#define ERLG_SER_FRAMEERR "Serial Framing Error" +#define ERLG_SER_OVERRUNERR "Serial Overrun Error" +#define ERLG_SER_PARITYERR "Serial Parity Error" +#define ERLG_RCVEV_JDGERR "DEV_Gps_Recv_JdgSerEvt error" +#define ERLG_RCVDATA_SNDERR "DEV_Gps_Recv_SndRcvData error" +#define ERLG_COMEVNT_WAITERR "WaitCommEvent error" + +/*---------------------------------------------------------------------------*/ +// Struct + +// Serial receive buffer structure +typedef struct GPSRecvData { + u_int16 us_read_size; /* Serial data read data size */ + u_int8 uc_reserve[2]; /* Preliminary */ + u_int8 uc_read_data[GPS_RCV_MAXREADSIZE]; /* Serial read data */ +} TG_GPS_RECV_RcvData; + +// Receive data storage buffer structure +typedef struct GPSRecvBuf { + u_int16 r_size; /* Received size */ + u_int8 rsv[2]; /* Reserved */ + u_int8 r_buf[GPS_RCV_RCVBUFSIZE]; /* Receive command data */ +} TG_GPS_RECV_RcvBuf; + +// Data analysis buffer +typedef struct GPSRecvAnaDataBuf { + u_int16 datsize; /* Size of the data */ + u_int16 offset; /* Analysis start offset */ + u_int8 datbuf[GPS_RCV_ANADATABUFSIZE]; /* Analysis data */ +} TG_GPS_RECV_AnaDataBuf; + +// Receive frame buffer +typedef struct GPSRecvFrameBuf { + u_int16 size; /* Frame-size */ + u_int8 rsv[2]; /* Reserved */ + u_int8 buf[GPS_RCV_RCVFRAMEBUFSIZE]; /* Command data */ +} TG_GPS_RECV_RcvFrameBuf; + +/*---------------------------------------------------------------------------*/ +// External variable + +extern TG_GPS_RECV_RcvData g_gps_rcvdata; /* Serial receive buffer */ +extern TG_GPS_RECV_RcvBuf g_gps_rcvbuf; /* Receive data storage buffer */ +extern TG_GPS_RECV_AnaDataBuf g_gps_ana_databuf; /* Analysis data buffer */ +extern TG_GPS_RECV_RcvFrameBuf g_gps_rcv_framebuf; /* Receive frame buffer */ +extern u_int16 g_wrecv_err; /* Number of reception errors */ + +/*---------------------------------------------------------------------------*/ +// Prototype + +/* Initializing process */ +void DevGpsRecvInit(void); + +/* Buffer clear processing */ +void DevGpsRecvClrRcvBuf(void); + +/* Receive (normal) receive processing */ +void DevGpsRecvRcvNormal(void); + +/* Data reception processing */ +int32 DevGpsRecvReadRcvData(TG_GPS_RECV_RcvData* pst_rcv_data); + +/* Frame detection processing */ +int32 DevGpsRecvSearchFrameData(const TG_GPS_RECV_AnaDataBuf *adbuf_p, u_int16 *ana_size); + +/* Receive data transmission processing */ +void DevGpsRecvSndRcvData(const TG_GPS_RECV_RcvFrameBuf *p_frame_buf); + +/* Acknowledgement */ +RET_API DevRcvData(const TG_GPS_RCV_DATA* ptg_rcv_data); + +/* Pos_Gps_Recv Thread Stop Processing */ +void DevGpsRecvThreadStopProcess(void); + +EFrameworkunifiedStatus DevGpsRecvThread(HANDLE h_app); + +/*---------------------------------------------------------------------------*/ +#endif // INC_GPSCOMMON_MDEV_GPSRECV_H_ + +/*---------------------------------------------------------------------------*/ +/*EOF*/ -- cgit 1.2.3-korg