mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Add CQI and CQI Table Index to Hal 1.6" am: a0e7918d8a am: e9fa46f49f am: a0bb74915c
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1489837 Change-Id: I5f420a7f7042be87eb3669575e57429d282da21d
This commit is contained in:
@@ -366,6 +366,20 @@ interface IRadio extends @1.5::IRadio {
|
||||
*/
|
||||
oneway getSystemSelectionChannels(int32_t serial);
|
||||
|
||||
/**
|
||||
* Request all of the current cell information known to the radio. The radio
|
||||
* must return list of all current cells, including the neighboring cells. If for a particular
|
||||
* cell information isn't known then the appropriate unknown value will be returned.
|
||||
* This does not cause or change the rate of unsolicited cellInfoList().
|
||||
*
|
||||
* This is identitcal to getCellInfoList in V1.0, but it requests updated version of CellInfo.
|
||||
*
|
||||
* @param serial Serial number of request.
|
||||
*
|
||||
* Response callback is IRadioResponse.getCellInfoListResponse()
|
||||
*/
|
||||
oneway getCellInfoList_1_6(int32_t serial);
|
||||
|
||||
/**
|
||||
* Request current voice registration state.
|
||||
*
|
||||
|
||||
@@ -18,8 +18,10 @@ package android.hardware.radio@1.6;
|
||||
|
||||
import @1.0::RadioIndicationType;
|
||||
import @1.5::IRadioIndication;
|
||||
import @1.6::SetupDataCallResult;
|
||||
import @1.6::CellInfo;
|
||||
import @1.6::LinkCapacityEstimate;
|
||||
import @1.6::NetworkScanResult;
|
||||
import @1.6::SetupDataCallResult;
|
||||
|
||||
/**
|
||||
* Interface declaring unsolicited radio indications.
|
||||
@@ -67,4 +69,23 @@ interface IRadioIndication extends @1.5::IRadioIndication {
|
||||
* @param lce LinkCapacityEstimate
|
||||
*/
|
||||
oneway currentLinkCapacityEstimate_1_6(RadioIndicationType type, LinkCapacityEstimate lce);
|
||||
|
||||
/**
|
||||
* Report all of the current cell information known to the radio.
|
||||
*
|
||||
* This indication is updated from IRadioIndication@1.5 to report the @1.6 version of
|
||||
* CellInfo.
|
||||
*
|
||||
* @param type Type of radio indication
|
||||
* @param records Current cell information
|
||||
*/
|
||||
oneway cellInfoList_1_6(RadioIndicationType type, vec<CellInfo> records);
|
||||
|
||||
/**
|
||||
* Incremental network scan results.
|
||||
*
|
||||
* This indication is updated from IRadioIndication@1.5 to report the @1.6 version of
|
||||
* CellInfo.
|
||||
*/
|
||||
oneway networkScanResult_1_6(RadioIndicationType type, NetworkScanResult result);
|
||||
};
|
||||
|
||||
@@ -17,9 +17,10 @@
|
||||
package android.hardware.radio@1.6;
|
||||
|
||||
import @1.0::SendSmsResult;
|
||||
import @1.6::RadioResponseInfo;
|
||||
import @1.5::IRadioResponse;
|
||||
import @1.6::CellInfo;
|
||||
import @1.6::RegStateResult;
|
||||
import @1.6::RadioResponseInfo;
|
||||
import @1.6::SetupDataCallResult;
|
||||
|
||||
/**
|
||||
@@ -329,6 +330,19 @@ interface IRadioResponse extends @1.5::IRadioResponse {
|
||||
*/
|
||||
oneway getSystemSelectionChannelsResponse(RadioResponseInfo info);
|
||||
|
||||
/**
|
||||
* This is identical to getCellInfoListResponse_1_5 but uses an updated version of CellInfo.
|
||||
*
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* @param cellInfo List of current cell information known to radio
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:INTERNAL_ERR
|
||||
*/
|
||||
oneway getCellInfoListResponse_1_6(RadioResponseInfo info, vec<CellInfo> cellInfo);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* @param voiceRegResponse Current Voice registration response as defined by RegStateResult
|
||||
|
||||
@@ -16,14 +16,29 @@
|
||||
|
||||
package android.hardware.radio@1.6;
|
||||
|
||||
import @1.0::CdmaSignalStrength;
|
||||
import @1.0::EvdoSignalStrength;
|
||||
import @1.0::GsmSignalStrength;
|
||||
import @1.0::LteSignalStrength;
|
||||
import @1.0::RadioError;
|
||||
import @1.0::RadioResponseType;
|
||||
import @1.0::RegState;
|
||||
import @1.1::ScanStatus;
|
||||
import @1.2::CellInfoCdma;
|
||||
import @1.2::CellConnectionStatus;
|
||||
import @1.2::TdscdmaSignalStrength;
|
||||
import @1.2::WcdmaSignalStrength;
|
||||
import @1.4::DataCallFailCause;
|
||||
import @1.4::DataConnActiveStatus;
|
||||
import @1.4::NrSignalStrength;
|
||||
import @1.4::PdpProtocolType;
|
||||
import @1.4::RadioTechnology;
|
||||
import @1.5::CellIdentity;
|
||||
import @1.5::CellIdentityLte;
|
||||
import @1.5::CellIdentityNr;
|
||||
import @1.5::CellInfoGsm;
|
||||
import @1.5::CellInfoWcdma;
|
||||
import @1.5::CellInfoTdscdma;
|
||||
import @1.5::LinkAddress;
|
||||
import @1.5::RegStateResult.AccessTechnologySpecificInfo.Cdma2000RegistrationInfo;
|
||||
import @1.5::RegStateResult.AccessTechnologySpecificInfo.EutranRegistrationInfo;
|
||||
@@ -504,6 +519,153 @@ struct NrVopsInfo {
|
||||
EmfIndicator emfSupported;
|
||||
};
|
||||
|
||||
struct LteSignalStrength {
|
||||
@1.0::LteSignalStrength base;
|
||||
|
||||
/**
|
||||
* CSI channel quality indicator (CQI) table index. There are multiple CQI tables.
|
||||
* The definition of CQI in each table is different.
|
||||
*
|
||||
* Reference: 3GPP TS 136.213 section 7.2.3.
|
||||
*
|
||||
* Range [1, 6], INT_MAX means invalid/unreported.
|
||||
*/
|
||||
uint32_t cqiTableIndex;
|
||||
};
|
||||
|
||||
struct NrSignalStrength {
|
||||
@1.4::NrSignalStrength base;
|
||||
|
||||
/**
|
||||
* CSI channel quality indicator (CQI) table index. There are multiple CQI tables.
|
||||
* The definition of CQI in each table is different.
|
||||
*
|
||||
* Reference: 3GPP TS 138.214 section 5.2.2.1.
|
||||
*
|
||||
* Range [1, 3], INT_MAX means invalid/unreported.
|
||||
*/
|
||||
uint32_t csiCqiTableIndex;
|
||||
|
||||
/**
|
||||
* CSI channel quality indicator (CQI) for all subbands.
|
||||
*
|
||||
* If the CQI report is for the entire wideband, a single CQI index is provided.
|
||||
* If the CQI report is for all subbands, one CQI index is provided for each subband,
|
||||
* in ascending order of subband index.
|
||||
* If CQI is not available, the CQI report is empty.
|
||||
*
|
||||
* Reference: 3GPP TS 138.214 section 5.2.2.1.
|
||||
*
|
||||
* Range [0, 15], INT_MAX means invalid/unreported.
|
||||
*/
|
||||
vec<uint32_t> csiCqiReport;
|
||||
};
|
||||
|
||||
/**
|
||||
* Overwritten from @1.4::SignalStrength in order to update LteSignalStrength and NrSignalStrength.
|
||||
*/
|
||||
struct SignalStrength {
|
||||
/**
|
||||
* If GSM measurements are provided, this structure must contain valid measurements; otherwise
|
||||
* all fields should be set to INT_MAX to mark them as invalid.
|
||||
*/
|
||||
GsmSignalStrength gsm;
|
||||
|
||||
/**
|
||||
* If CDMA measurements are provided, this structure must contain valid measurements; otherwise
|
||||
* all fields should be set to INT_MAX to mark them as invalid.
|
||||
*/
|
||||
CdmaSignalStrength cdma;
|
||||
|
||||
/**
|
||||
* If EvDO measurements are provided, this structure must contain valid measurements; otherwise
|
||||
* all fields should be set to INT_MAX to mark them as invalid.
|
||||
*/
|
||||
EvdoSignalStrength evdo;
|
||||
|
||||
/**
|
||||
* If LTE measurements are provided, this structure must contain valid measurements; otherwise
|
||||
* all fields should be set to INT_MAX to mark them as invalid.
|
||||
*/
|
||||
LteSignalStrength lte;
|
||||
|
||||
/**
|
||||
* If TD-SCDMA measurements are provided, this structure must contain valid measurements;
|
||||
* otherwise all fields should be set to INT_MAX to mark them as invalid.
|
||||
*/
|
||||
TdscdmaSignalStrength tdscdma;
|
||||
|
||||
/**
|
||||
* If WCDMA measurements are provided, this structure must contain valid measurements; otherwise
|
||||
* all fields should be set to INT_MAX to mark them as invalid.
|
||||
*/
|
||||
WcdmaSignalStrength wcdma;
|
||||
|
||||
/**
|
||||
* If NR 5G measurements are provided, this structure must contain valid measurements; otherwise
|
||||
* all fields should be set to INT_MAX to mark them as invalid.
|
||||
*/
|
||||
NrSignalStrength nr;
|
||||
};
|
||||
|
||||
/** Overwritten from @1.5::CellInfoLte in order to update LteSignalStrength. */
|
||||
struct CellInfoLte {
|
||||
CellIdentityLte cellIdentityLte;
|
||||
LteSignalStrength signalStrengthLte;
|
||||
};
|
||||
|
||||
/** Overwritten from @1.5::CellInfoNr in order to update NrSignalStrength. */
|
||||
struct CellInfoNr {
|
||||
CellIdentityNr cellIdentityNr;
|
||||
NrSignalStrength signalStrengthNr;
|
||||
};
|
||||
|
||||
/** Overwritten from @1.5::CellInfo in order to update LteSignalStrength and NrSignalStrength. */
|
||||
struct CellInfo {
|
||||
/**
|
||||
* True if this cell is registered false if not registered.
|
||||
*/
|
||||
bool registered;
|
||||
/**
|
||||
* Connection status for the cell.
|
||||
*/
|
||||
CellConnectionStatus connectionStatus;
|
||||
|
||||
safe_union CellInfoRatSpecificInfo {
|
||||
/**
|
||||
* 3gpp CellInfo types.
|
||||
*/
|
||||
CellInfoGsm gsm;
|
||||
CellInfoWcdma wcdma;
|
||||
CellInfoTdscdma tdscdma;
|
||||
CellInfoLte lte;
|
||||
CellInfoNr nr;
|
||||
|
||||
/**
|
||||
* 3gpp2 CellInfo types;
|
||||
*/
|
||||
CellInfoCdma cdma;
|
||||
} ratSpecificInfo;
|
||||
};
|
||||
|
||||
/** Overwritten from @1.5::NetworkScanResult in order to update the CellInfo to 1.6 version. */
|
||||
struct NetworkScanResult {
|
||||
/**
|
||||
* The status of the scan.
|
||||
*/
|
||||
ScanStatus status;
|
||||
|
||||
/**
|
||||
* The error code of the incremental result.
|
||||
*/
|
||||
RadioError error;
|
||||
|
||||
/**
|
||||
* List of network information as CellInfo.
|
||||
*/
|
||||
vec<CellInfo> networkInfos;
|
||||
};
|
||||
|
||||
/**
|
||||
* Overwritten from @1.5::RegStateResult to 1.6 to support NrRegistrationInfo
|
||||
* version.
|
||||
|
||||
@@ -799,6 +799,11 @@ class RadioResponse_v1_6 : public ::android::hardware::radio::V1_6::IRadioRespon
|
||||
Return<void> getSystemSelectionChannelsResponse(
|
||||
const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
|
||||
|
||||
Return<void> getCellInfoListResponse_1_6(
|
||||
const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
|
||||
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>&
|
||||
cellInfo);
|
||||
|
||||
Return<void> getVoiceRegistrationStateResponse_1_6(
|
||||
const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
|
||||
const ::android::hardware::radio::V1_6::RegStateResult& regResponse);
|
||||
@@ -825,6 +830,15 @@ class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndi
|
||||
Return<void> unthrottleApn(RadioIndicationType type,
|
||||
const ::android::hardware::hidl_string& apn);
|
||||
|
||||
Return<void> networkScanResult_1_6(
|
||||
RadioIndicationType type,
|
||||
const ::android::hardware::radio::V1_6::NetworkScanResult& result);
|
||||
|
||||
Return<void> cellInfoList_1_6(
|
||||
RadioIndicationType type,
|
||||
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>&
|
||||
records);
|
||||
|
||||
/* 1.5 Api */
|
||||
Return<void> uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled);
|
||||
|
||||
|
||||
@@ -386,3 +386,16 @@ Return<void> RadioIndication_v1_6::modemReset(RadioIndicationType /*type*/,
|
||||
const ::android::hardware::hidl_string& /*reason*/) {
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioIndication_v1_6::networkScanResult_1_6(
|
||||
RadioIndicationType /*type*/,
|
||||
const ::android::hardware::radio::V1_6::NetworkScanResult& /*result*/) {
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioIndication_v1_6::cellInfoList_1_6(
|
||||
RadioIndicationType /*type*/,
|
||||
const ::android::hardware::hidl_vec<
|
||||
::android::hardware::radio::V1_6::CellInfo>& /*records*/) {
|
||||
return Void();
|
||||
}
|
||||
|
||||
@@ -1164,6 +1164,13 @@ Return<void> RadioResponse_v1_6::setDataThrottlingResponse(
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioResponse_v1_6::getCellInfoListResponse_1_6(
|
||||
const ::android::hardware::radio::V1_6::RadioResponseInfo& /*info*/,
|
||||
const ::android::hardware::hidl_vec<
|
||||
::android::hardware::radio::V1_6::CellInfo>& /*cellInfo*/) {
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioResponse_v1_6::getSystemSelectionChannelsResponse(
|
||||
const ::android::hardware::radio::V1_6::RadioResponseInfo& info) {
|
||||
rspInfo = info;
|
||||
|
||||
Reference in New Issue
Block a user