diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/LocIpc.cpp | 21 | ||||
-rw-r--r-- | utils/LocIpc.h | 7 | ||||
-rw-r--r-- | utils/gps_extended_c.h | 43 | ||||
-rw-r--r-- | utils/loc_gps.h | 2 | ||||
-rw-r--r-- | utils/loc_nmea.cpp | 5 |
5 files changed, 35 insertions, 43 deletions
diff --git a/utils/LocIpc.cpp b/utils/LocIpc.cpp index ecaff01..646d2d4 100644 --- a/utils/LocIpc.cpp +++ b/utils/LocIpc.cpp @@ -48,7 +48,7 @@ namespace loc_util { #define SOCK_OP_AND_LOG(buf, length, opable, rtv, exe) \ if (nullptr == (buf) || 0 == (length)) { \ - LOC_LOGe("Invalid inputs: buf - %p, length - %d", (buf), (length)); \ + LOC_LOGe("Invalid inputs: buf - %p, length - %u", (buf), (length)); \ } else if (!(opable)) { \ LOC_LOGe("Invalid object: operable - %d", (opable)); \ } else { \ @@ -60,7 +60,7 @@ namespace loc_util { const char Sock::MSG_ABORT[] = "LocIpc::Sock::ABORT"; const char Sock::LOC_IPC_HEAD[] = "$MSGLEN$"; -ssize_t Sock::send(const void *buf, size_t len, int flags, const struct sockaddr *destAddr, +ssize_t Sock::send(const void *buf, uint32_t len, int flags, const struct sockaddr *destAddr, socklen_t addrlen) const { ssize_t rtv = -1; SOCK_OP_AND_LOG(buf, len, isValid(), rtv, sendto(buf, len, flags, destAddr, addrlen)); @@ -354,20 +354,11 @@ unique_ptr<LocIpcRecver> LocIpc::getLocIpcQrtrRecver(const shared_ptr<ILocIpcLis int service, int instance) { typedef unique_ptr<LocIpcRecver> (*creator_t)(const shared_ptr<ILocIpcListener>&, int, int); static creator_t creator = (creator_t)dlGetSymFromLib(sLibQrtrHandle, sLibQrtrName, +#ifdef USE_GLIB + "_ZN8loc_util22createLocIpcQrtrRecverERKSt10shared_ptrINS_15ILocIpcListenerEEii"); +#else "_ZN8loc_util22createLocIpcQrtrRecverERKNSt3__110shared_ptrINS_15ILocIpcListenerEEEii"); - return (nullptr == creator) ? nullptr : creator(listener, service, instance); -} -shared_ptr<LocIpcSender> LocIpc::getLocIpcQsockSender(int service, int instance) { - typedef shared_ptr<LocIpcSender> (*creator_t) (int, int); - static creator_t creator = (creator_t)dlGetSymFromLib(sLibQrtrHandle, sLibQrtrName, - "_ZN8loc_util23createLocIpcQsockSenderEii"); - return (nullptr == creator) ? nullptr : creator(service, instance); -} -unique_ptr<LocIpcRecver> LocIpc::getLocIpcQsockRecver(const shared_ptr<ILocIpcListener>& listener, - int service, int instance) { - typedef unique_ptr<LocIpcRecver> (*creator_t)(const shared_ptr<ILocIpcListener>&, int, int); - static creator_t creator = (creator_t)dlGetSymFromLib(sLibQrtrHandle, sLibQrtrName, - "_ZN8loc_util23createLocIpcQsockRecverERKSt10shared_ptrINS_15ILocIpcListenerEEii"); +#endif return (nullptr == creator) ? nullptr : creator(listener, service, instance); } shared_ptr<LocIpcSender> LocIpc::getLocIpcInetTcpSender(const char* serverName, int32_t port) { diff --git a/utils/LocIpc.h b/utils/LocIpc.h index 20a1c8f..b91966c 100644 --- a/utils/LocIpc.h +++ b/utils/LocIpc.h @@ -70,8 +70,6 @@ public: getLocIpcInetTcpSender(const char* serverName, int32_t port); static shared_ptr<LocIpcSender> getLocIpcQrtrSender(int service, int instance); - static shared_ptr<LocIpcSender> - getLocIpcQsockSender(int service, int instance); static unique_ptr<LocIpcRecver> getLocIpcLocalRecver(const shared_ptr<ILocIpcListener>& listener, @@ -82,9 +80,6 @@ public: static unique_ptr<LocIpcRecver> getLocIpcQrtrRecver(const shared_ptr<ILocIpcListener>& listener, int service, int instance); - static unique_ptr<LocIpcRecver> - getLocIpcQsockRecver(const shared_ptr<ILocIpcListener>& listener, - int service, int instance); static pair<shared_ptr<LocIpcSender>, unique_ptr<LocIpcRecver>> getLocIpcQmiLocServiceSenderRecverPair(const shared_ptr<ILocIpcListener>& listener, @@ -164,7 +159,7 @@ public: inline Sock(int sid, const uint32_t maxTxSize = 8192) : mMaxTxSize(maxTxSize), mSid(sid) {} inline ~Sock() { close(); } inline bool isValid() const { return -1 != mSid; } - ssize_t send(const void *buf, size_t len, int flags, const struct sockaddr *destAddr, + ssize_t send(const void *buf, uint32_t len, int flags, const struct sockaddr *destAddr, socklen_t addrlen) const; ssize_t recv(const shared_ptr<ILocIpcListener>& dataCb, int flags, struct sockaddr *srcAddr, socklen_t *addrlen, int sid = -1) const; diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h index 9f4c13c..9c63166 100644 --- a/utils/gps_extended_c.h +++ b/utils/gps_extended_c.h @@ -35,7 +35,12 @@ #include <string.h> #include <loc_gps.h> #include <LocationAPI.h> -#include <time.h> + +struct timespec32_t { + uint32_t tv_sec; /* seconds */ + uint32_t tv_nsec; /* and nanoseconds */ +}; + /** * @file @@ -132,7 +137,7 @@ typedef enum { typedef struct { /** set to sizeof(UlpLocation) */ - size_t size; + uint32_t size; LocGpsLocation gpsLocation; /* Provider indicator for HYBRID or GPS */ uint16_t position_source; @@ -142,7 +147,7 @@ typedef struct { typedef struct { /** set to sizeof(UlpNmea) */ - size_t size; + uint32_t size; char nmea_str[ULP_MAX_NMEA_STRING_SIZE]; unsigned int len; } UlpNmea; @@ -208,7 +213,7 @@ typedef struct { /** GPS extended callback structure. */ typedef struct { /** set to sizeof(LocGpsCallbacks) */ - size_t size; + uint32_t size; loc_gps_set_capabilities set_capabilities_cb; loc_gps_acquire_wakelock acquire_wakelock_cb; loc_gps_release_wakelock release_wakelock_cb; @@ -232,7 +237,7 @@ typedef struct { /** Represents the status of AGPS. */ typedef struct { /** set to sizeof(AGpsExtStatus) */ - size_t size; + uint32_t size; AGpsExtType type; LocAGpsStatusValue status; @@ -458,7 +463,7 @@ typedef enum { }LocReliability; typedef struct { - struct timespec apTimeStamp; + struct timespec32_t apTimeStamp; /*boottime received from pps-ktimer*/ float apTimeStampUncertaintyMs; /* timestamp uncertainty in milli seconds */ @@ -685,7 +690,7 @@ typedef struct { /** Represents gps location extended. */ typedef struct { /** set to sizeof(GpsLocationExtended) */ - size_t size; + uint32_t size; /** Contains GpsLocationExtendedFlags bits. */ uint64_t flags; /** Contains the Altitude wrt mean sea level */ @@ -1058,7 +1063,7 @@ typedef enum typedef struct { - size_t size; + uint32_t size; float clockDrift; /**< Receiver clock Drift \n - Units: meter per sec \n @@ -1072,7 +1077,7 @@ typedef struct typedef struct { - size_t size; + uint32_t size; uint8_t leapSec; /**< GPS time leap second delta to UTC time \n - Units: sec \n @@ -1093,7 +1098,7 @@ typedef enum typedef struct { - size_t size; + uint32_t size; uint32_t validMask; /* Validity mask as per Gnss_LocInterSystemBiasValidMaskType */ @@ -1110,7 +1115,7 @@ typedef struct typedef struct { - size_t size; + uint32_t size; uint8_t systemRtc_valid; /**< Validity indicator for System RTC */ @@ -1156,7 +1161,7 @@ typedef enum typedef struct { - size_t size; + uint32_t size; uint32_t svMs; /**< Satellite time milisecond.\n For GPS, BDS, GAL range of 0 thru (604800000-1) \n @@ -1216,7 +1221,7 @@ typedef enum typedef struct { - size_t size; + uint32_t size; Gnss_LocSvSystemEnumType gnssSystem; // 0 signal type mask indicates invalid value GnssSignalTypeMask gnssSignalTypeMask; @@ -1389,7 +1394,7 @@ typedef uint64_t GpsSvMeasHeaderFlags; typedef struct { - size_t size; + uint32_t size; // see defines in GNSS_SV_MEAS_HEADER_HAS_XXX_XXX uint64_t flags; @@ -1433,7 +1438,7 @@ typedef struct } GnssSvMeasurementHeader; typedef struct { - size_t size; + uint32_t size; bool isNhz; GnssSvMeasurementHeader svMeasSetHeader; uint32_t svMeasCount; @@ -1473,7 +1478,7 @@ typedef enum typedef struct { - size_t size; + uint32_t size; uint16_t gnssSvId; /* GPS: 1-32, GLO: 65-96, 0: Invalid, SBAS: 120-151, BDS:201-237,GAL:301 to 336 @@ -2034,7 +2039,7 @@ typedef enum { typedef struct { - size_t size; + uint32_t size; Gnss_SrnTech srnTechType; /* SRN Technology type in request */ bool srnRequest; /* scan - start(true) or stop(false) */ bool e911Mode; /* If in E911 emergency */ @@ -2054,7 +2059,7 @@ typedef enum { /* This SV Type config is injected directly to GNSS Adapter * bypassing Location API */ typedef struct { - size_t size; // set to sizeof(GnssSvTypeConfig) + uint32_t size; // set to sizeof(GnssSvTypeConfig) // Enabled Constellations GnssSvTypesMask enabledSvTypesMask; // Disabled Constellations @@ -2141,7 +2146,7 @@ enum OdcpiRequestType { ODCPI_REQUEST_TYPE_STOP }; struct OdcpiRequestInfo { - size_t size; + uint32_t size; OdcpiRequestType type; uint32_t tbfMillis; bool isEmergencyMode; diff --git a/utils/loc_gps.h b/utils/loc_gps.h index b58f20b..eae7383 100644 --- a/utils/loc_gps.h +++ b/utils/loc_gps.h @@ -548,7 +548,7 @@ typedef uint8_t LocGnssConstellationType; /** Represents a location. */ typedef struct { /** set to sizeof(LocGpsLocation) */ - size_t size; + uint32_t size; /** Contains LocGpsLocationFlags bits. */ uint16_t flags; /** The spoof mask */ diff --git a/utils/loc_nmea.cpp b/utils/loc_nmea.cpp index 45b4f06..abcf5b7 100644 --- a/utils/loc_nmea.cpp +++ b/utils/loc_nmea.cpp @@ -792,6 +792,7 @@ SIDE EFFECTS ===========================================================================*/ static void loc_nmea_generate_DTM(const LocLla &ref_lla, const LocLla &local_lla, + char *talker, char *sentence, int bufSize) { @@ -828,7 +829,7 @@ static void loc_nmea_generate_DTM(const LocLla &ref_lla, default: break; } - length = snprintf(pMarker , lengthRemaining , "$GPDTM,%s,," , local_datum); + length = snprintf(pMarker , lengthRemaining , "$%sDTM,%s,," , talker, local_datum); if (length < 0 || length >= lengthRemaining) { LOC_LOGE("NMEA Error in string formatting"); return; @@ -1226,7 +1227,7 @@ void loc_nmea_generate_pos(const UlpLocation &location, // ------------------- // ------$--DTM------- // ------------------- - loc_nmea_generate_DTM(ref_lla, local_lla, sentence_DTM, sizeof(sentence_DTM)); + loc_nmea_generate_DTM(ref_lla, local_lla, talker, sentence_DTM, sizeof(sentence_DTM)); // ------------------- // ------$--RMC------- |