diff --git a/current.txt b/current.txt index 1d2b788311..b39862184c 100644 --- a/current.txt +++ b/current.txt @@ -591,8 +591,7 @@ ce8dbe76eb9ee94b46ef98f725be992e760a5751073d4f4912484026541371f3 android.hardwar db47f4ceceb1f06c656f39caa70c557b0f8471ef59fd58611bea667ffca20101 android.hardware.health@2.1::types 34515afa2bb792d3c6d8495a5f5d907d179c8507ca5e55c10050d02ae1d516ef android.hardware.neuralnetworks@1.3::IDevice b74fe72cfe438f50e772e6a307657ff449d5bde83c15dd1f140ff2edbe73499c android.hardware.neuralnetworks@1.3::types -41c602462ccd1b19cfd645994be4de4c07fc197ff58a54e84476b31908e61e21 android.hardware.radio@1.5::types -a8691c71747c3f14f7a043598e856425077f755e55990507a9132ad62f8ab3f7 android.hardware.radio@1.5::IRadio +d3636ff9d5fef59f59f678887209156b2608d29f676fb1e600fe33b7e57a8a61 android.hardware.radio@1.5::types +c8e81d912827a5d49b2ddcdc4eb4556c5d231a899a1dca879309e04210daa4a0 android.hardware.radio@1.5::IRadio a62a93faf173b14a6175b683ebf61ffa568dc61f81e369d2dce7b1265e86cf2f android.hardware.radio@1.5::IRadioIndication -15daf260aaf6781b911450bc94e1a164901f9c0fe0bda68f8434f0a903f66e05 android.hardware.radio@1.5::IRadioResponse - +260ce05806d753d728f844d405e832179ed7d9b65986ec18fef3d21cf7285587 android.hardware.radio@1.5::IRadioResponse diff --git a/radio/1.5/IRadio.hal b/radio/1.5/IRadio.hal index de20dd08fd..74ec56d4da 100644 --- a/radio/1.5/IRadio.hal +++ b/radio/1.5/IRadio.hal @@ -17,6 +17,8 @@ package android.hardware.radio@1.5; import @1.4::IRadio; +import @1.5::AccessNetwork; +import @1.5::SignalThresholdInfo; /** * This interface is used by telephony and telecom to talk to cellular radio. @@ -27,4 +29,30 @@ import @1.4::IRadio; * setResponseFunctions must work with @1.5::IRadioResponse and @1.5::IRadioIndication. */ interface IRadio extends @1.4::IRadio { + + /** + * Sets the signal strength reporting criteria. + * + * The resulting reporting rules are the AND of all the supplied criteria. For each RAN + * The hysteresisDb and thresholds apply to only the following measured quantities: + * -GERAN - RSSI + * -CDMA2000 - RSSI + * -UTRAN - RSCP + * -EUTRAN - RSRP/RSRQ/RSSNR + * -NGRAN - SSRSRP/SSRSRQ/SSSINR + * + * Note: Reporting criteria must be individually set for each RAN. For any unset reporting + * criteria, the value is implementation-defined. + * + * Response callback is + * IRadioResponse.setSignalStrengthReportingCriteriaResponse_1_5() + * + * @param serial Serial number of request. + * @param signalThresholdInfo Signal threshold info including the threshold values, + * hysteresisDb, and hysteresisMs. See @1.5::SignalThresholdInfo + * for details. + * @param accessNetwork The type of network for which to apply these thresholds. + */ + oneway setSignalStrengthReportingCriteria_1_5(int32_t serial, + SignalThresholdInfo signalThresholdInfo, AccessNetwork accessNetwork); }; diff --git a/radio/1.5/IRadioResponse.hal b/radio/1.5/IRadioResponse.hal index d4c4f766af..91dc1e0d86 100644 --- a/radio/1.5/IRadioResponse.hal +++ b/radio/1.5/IRadioResponse.hal @@ -23,4 +23,13 @@ import @1.4::IRadioResponse; * Interface declaring response functions to solicited radio requests. */ interface IRadioResponse extends @1.4::IRadioResponse { + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INVALID_ARGUMENTS + * RadioError:RADIO_NOT_AVAILABLE + */ + oneway setSignalStrengthReportingCriteriaResponse_1_5(RadioResponseInfo info); }; diff --git a/radio/1.5/types.hal b/radio/1.5/types.hal index a639a8d1d9..216ca1f156 100644 --- a/radio/1.5/types.hal +++ b/radio/1.5/types.hal @@ -15,3 +15,100 @@ */ package android.hardware.radio@1.5; + +import @1.4::AccessNetwork; + +/** + * Defining signal strength type. + */ +enum SignalMeasurementType : int32_t { + /** + * Received Signal Strength Indication. + * Range: -113 dBm and -51 dBm + * Used RAN: GERAN, CDMA2000 + * Reference: 3GPP TS 27.007 section 8.5. + */ + RSSI = 1, + /** + * Received Signal Code Power. + * Range: -120 dBm to -25 dBm; + * Used RAN: UTRAN + * Reference: 3GPP TS 25.123, section 9.1.1.1 + */ + RSCP = 2, + /** + * Reference Signal Received Power. + * Range: -140 dBm to -44 dBm; + * Used RAN: EUTRAN + * Reference: 3GPP TS 36.133 9.1.4 + */ + RSRP = 3, + /** + * Reference Signal Received Quality + * Range: -20 dB to -3 dB; + * Used RAN: EUTRAN + * Reference: 3GPP TS 36.133 9.1.7 + */ + RSRQ = 4, + /** + * Reference Signal Signal to Noise Ratio + * Range: -20 dB to -30 dB; + * Used RAN: EUTRAN + * Reference: 3GPP TS 36.101 8.1.1 + */ + RSSNR = 5, + /** + * 5G SS reference signal received power. + * Range: -140 dBm to -44 dBm. + * Used RAN: NGRAN + * Reference: 3GPP TS 38.215. + */ + SSRSRP = 6, + /** + * 5G SS reference signal received quality. + * Range: -20 dB to -3 dB. + * Used RAN: NGRAN + * Reference: 3GPP TS 38.215. + */ + SSRSRQ = 7, + /** + * 5G SS signal-to-noise and interference ratio. + * Range: -23 dB to 40 dB + * Used RAN: NGRAN + * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1. + */ + SSSINR = 8, +}; + +/** + * Contains the threshold values of each signal measurement type. + */ +struct SignalThresholdInfo { + /** Signal Measurement Type */ + SignalMeasurementType signalMeasurement; + + /** A hysteresis time in milliseconds to prevent flapping. A value of 0 disables hysteresis */ + int32_t hysteresisMs; + + /** + * An interval in dB defining the required magnitude change between reports. + * hysteresisDb must be smaller than the smallest threshold delta. + * An interval value of 0 disables hysteresis. + */ + int32_t hysteresisDb; + + /** + * List of threshold values. + * Range and unit must reference specific @1.5::SignalMeasurementType. + * The threshold values for which to apply criteria. + * A vector size of 0 disables the use of thresholds for reporting. + */ + vec thresholds; +}; + +enum AccessNetwork : @1.4::AccessNetwork { + /** + * Next-Generation Radio Access Network (NGRAN) + */ + NGRAN = 6, +}; \ No newline at end of file diff --git a/radio/1.5/vts/functional/radio_hidl_hal_api.cpp b/radio/1.5/vts/functional/radio_hidl_hal_api.cpp index b86fa5f59b..650ede44d2 100644 --- a/radio/1.5/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.5/vts/functional/radio_hidl_hal_api.cpp @@ -17,3 +17,266 @@ #include #define ASSERT_OK(ret) ASSERT_TRUE(ret.isOk()) + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() with invalid hysteresisDb + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_invalidHysteresisDb) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::RSSI; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 10; // hysteresisDb too large given threshold list deltas + signalThresholdInfo.thresholds = {-109, -103, -97, -89}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::GERAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_invalidHysteresisDb, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::INVALID_ARGUMENTS})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() with empty thresholds + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_EmptyThresholds) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::RSSI; + signalThresholdInfo.hysteresisMs = 0; + signalThresholdInfo.hysteresisDb = 0; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::GERAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_EmptyParams, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for GERAN + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_Geran) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::RSSI; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 2; + signalThresholdInfo.thresholds = {-109, -103, -97, -89}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::GERAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_Geran, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for UTRAN + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_Utran) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::RSCP; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 2; + signalThresholdInfo.thresholds = {-110, -97, -73, -49, -25}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::UTRAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_Utran, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for EUTRAN + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_Eutran_RSRP) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::RSRP; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 2; + signalThresholdInfo.thresholds = {-128, -108, -88, -68}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::EUTRAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_Eutran, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for EUTRAN + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_Eutran_RSRQ) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::RSRQ; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 2; + signalThresholdInfo.thresholds = {-27, -20, -13, -6}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::EUTRAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_Eutran, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for EUTRAN + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_Eutran_RSSNR) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::RSSNR; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 2; + signalThresholdInfo.thresholds = {-10, 0, 10, 20}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::EUTRAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_Eutran, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for CDMA2000 + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_Cdma2000) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::RSSI; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 2; + signalThresholdInfo.thresholds = {-105, -90, -75, -65}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::CDMA2000); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_Cdma2000, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for NGRAN_SSRSRP + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_NGRAN_SSRSRP) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::SSRSRP; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 0; + signalThresholdInfo.thresholds = {-105, -90, -75, -65}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::NGRAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_NGRAN_SSRSRP, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for NGRAN_SSRSRQ + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_NGRAN_SSRSRQ) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::SSRSRQ; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 0; + signalThresholdInfo.thresholds = {-15, -10, -5, -4}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::NGRAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_NGRAN_SSRSRQ, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} + +/* + * Test IRadio.setSignalStrengthReportingCriteria_1_5() for NGRAN_SSSINR + */ +TEST_F(RadioHidlTest_v1_5, setSignalStrengthReportingCriteria_1_5_NGRAN_SSSINR) { + serial = GetRandomSerialNumber(); + + ::android::hardware::radio::V1_5::SignalThresholdInfo signalThresholdInfo; + signalThresholdInfo.signalMeasurement = SignalMeasurementType::SSSINR; + signalThresholdInfo.hysteresisMs = 5000; + signalThresholdInfo.hysteresisDb = 0; + signalThresholdInfo.thresholds = {-10, 3, 16, 18}; + + Return res = radio_v1_5->setSignalStrengthReportingCriteria_1_5( + serial, signalThresholdInfo, ::android::hardware::radio::V1_5::AccessNetwork::NGRAN); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial); + + ALOGI("setSignalStrengthReportingCriteria_1_5_NGRAN_SSSINR, rspInfo.error = %s\n", + toString(radioRsp_v1_5->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error, {RadioError::NONE})); +} \ No newline at end of file diff --git a/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h b/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h index 799702b9a1..683fdfc5fb 100644 --- a/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h +++ b/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h @@ -521,6 +521,9 @@ class RadioResponse_v1_5 : public ::android::hardware::radio::V1_5::IRadioRespon Return getAllowedCarriersResponse_1_4(const RadioResponseInfo& info, const CarrierRestrictionsWithPriority& carriers, SimLockMultiSimPolicy multiSimPolicy); + + /* 1.5 Api */ + Return setSignalStrengthReportingCriteriaResponse_1_5(const RadioResponseInfo& info); }; /* Callback class for radio indication */ diff --git a/radio/1.5/vts/functional/radio_response.cpp b/radio/1.5/vts/functional/radio_response.cpp index 1e5cc4775b..29a92506ab 100644 --- a/radio/1.5/vts/functional/radio_response.cpp +++ b/radio/1.5/vts/functional/radio_response.cpp @@ -885,3 +885,11 @@ Return RadioResponse_v1_5::getAllowedCarriersResponse_1_4( parent_v1_5.notify(info.serial); return Void(); } + +/* 1.5 Apis */ +Return RadioResponse_v1_5::setSignalStrengthReportingCriteriaResponse_1_5( + const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_5.notify(info.serial); + return Void(); +} \ No newline at end of file