diff --git a/loc_api/libloc_api_50001/loc.cpp b/loc_api/libloc_api_50001/loc.cpp index c878d642..caa43d54 100644 --- a/loc_api/libloc_api_50001/loc.cpp +++ b/loc_api/libloc_api_50001/loc.cpp @@ -164,7 +164,6 @@ static const UlpEngineInterface sLocEngUlpEngInterface = loc_ulp_engine_stop }; - static bool loc_inject_raw_command(char* command, int length); static const InjectRawCmdInterface sLocEngInjectRawCmdInterface = @@ -239,8 +238,8 @@ extern "C" const GpsInterface* get_gps_interface() target = get_target(); LOC_LOGD("Target name check returned %s", loc_get_target_name(target)); - //APQ8064 - if(target == TARGET_APQ8064_STANDALONE) { + //APQ8064 and APQ8030 + if((target == TARGET_APQ8064_STANDALONE) || (target == TARGET_APQ8030_STANDALONE)) { gps_conf.CAPABILITIES &= ~(GPS_CAPABILITY_MSA | GPS_CAPABILITY_MSB); gss_fd = open("/dev/gss", O_RDONLY); if (gss_fd < 0) diff --git a/utils/loc_log.cpp b/utils/loc_log.cpp index f39667ca..ecdfc8f5 100644 --- a/utils/loc_log.cpp +++ b/utils/loc_log.cpp @@ -106,7 +106,8 @@ loc_name_val_s_type target_name[] = NAME_VAL(TARGET_APQ8064_STANDALONE), NAME_VAL(TARGET_APQ8064_FUSION3), NAME_VAL(TARGET_MPQ8064), - NAME_VAL(TARGET_MSM8930) + NAME_VAL(TARGET_MSM8930), + NAME_VAL(TARGET_APQ8030_STANDALONE) }; static int target_name_num = sizeof(target_name)/sizeof(loc_name_val_s_type); diff --git a/utils/loc_target.cpp b/utils/loc_target.cpp index 10b508ce..fb284b50 100644 --- a/utils/loc_target.cpp +++ b/utils/loc_target.cpp @@ -44,10 +44,12 @@ #define MPQ8064_ID_1 "130" #define MSM8930_ID_1 "142" #define MSM8930_ID_2 "116" +#define APQ8030_ID_1 "157" #define LINE_LEN 100 #define STR_LIQUID "Liquid" #define STR_SURF "Surf" +#define STR_MTP "MTP" #define IS_STR_END(c) ((c) == '\0' || (c) == '\n' || (c) == '\r') #define LENGTH(s) (sizeof(s) - 1) #define GPS_CHECK_NO_ERROR 0 @@ -93,12 +95,15 @@ targetEnumType get_target(void) read_a_line( id, rd_id, LINE_LEN); if( (!memcmp(rd_hw_platform, STR_LIQUID, LENGTH(STR_LIQUID)) && IS_STR_END(rd_hw_platform[LENGTH(STR_LIQUID)])) || - (!memcmp(rd_hw_platform, STR_SURF, LENGTH(STR_SURF)) && IS_STR_END(rd_hw_platform[LENGTH(STR_SURF)])) ) { + (!memcmp(rd_hw_platform, STR_SURF, LENGTH(STR_SURF)) && IS_STR_END(rd_hw_platform[LENGTH(STR_SURF)])) || + (!memcmp(rd_hw_platform, STR_MTP, LENGTH(STR_MTP)) && IS_STR_END(rd_hw_platform[LENGTH(STR_MTP)]))) { if (!read_a_line( mdm, rd_mdm, LINE_LEN)) target = TARGET_APQ8064_FUSION3; else if( (!memcmp(rd_id, APQ8064_ID_1, LENGTH(APQ8064_ID_1)) && IS_STR_END(rd_id[LENGTH(APQ8064_ID_1)])) || (!memcmp(rd_id, APQ8064_ID_2, LENGTH(APQ8064_ID_2)) && IS_STR_END(rd_id[LENGTH(APQ8064_ID_2)])) ) target = TARGET_APQ8064_STANDALONE; + else if((!memcmp(rd_id, APQ8030_ID_1, LENGTH(APQ8030_ID_1)) && IS_STR_END(rd_id[LENGTH(APQ8030_ID_1)]))) + target = TARGET_APQ8030_STANDALONE; } else if( !memcmp(rd_id, MPQ8064_ID_1, LENGTH(MPQ8064_ID_1)) && IS_STR_END(rd_id[LENGTH(MPQ8064_ID_1)]) ) target = TARGET_MPQ8064; diff --git a/utils/loc_target.h b/utils/loc_target.h index 489aaddf..32c64b56 100644 --- a/utils/loc_target.h +++ b/utils/loc_target.h @@ -39,7 +39,8 @@ typedef enum { TARGET_APQ8064_STANDALONE, TARGET_APQ8064_FUSION3, TARGET_MPQ8064, - TARGET_MSM8930 + TARGET_MSM8930, + TARGET_APQ8030_STANDALONE }targetEnumType; targetEnumType get_target(void);