Improve Tuner VTS: Add DVBS Settings

This CL expands the settings and specs that can be added by vendors to
DVBS frontend types. It also updates the value expectations to model the
format present in the other types.

Bug: b/239968750

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: Ifd4a97ce71cfea11e4f5c1293a6342e337cb5699
This commit is contained in:
Frankie Lizcano
2022-07-22 20:30:46 +00:00
parent d58f4aaa35
commit 42caff499e
4 changed files with 32 additions and 13 deletions

View File

@@ -737,17 +737,17 @@ struct TunerTestingConfigAidlReader1_0 {
ALOGW("[ConfigReader] no more dvbs settings");
return dvbsSettings;
}
dvbsSettings.symbolRate = static_cast<int32_t>(
feConfig.getFirstDvbsFrontendSettings_optional()->getSymbolRate());
dvbsSettings.inputStreamId = static_cast<int32_t>(
feConfig.getFirstDvbsFrontendSettings_optional()->getInputStreamId());
auto dvbs = feConfig.getFirstDvbsFrontendSettings_optional();
if (dvbs->hasScanType()) {
dvbsSettings.scanType = static_cast<FrontendDvbsScanType>(dvbs->getScanType());
}
if (dvbs->hasIsDiseqcRxMessage()) {
dvbsSettings.isDiseqcRxMessage = dvbs->getIsDiseqcRxMessage();
}
dvbsSettings.symbolRate = static_cast<int32_t>(dvbs->getSymbolRate());
dvbsSettings.inputStreamId = static_cast<int32_t>(dvbs->getInputStreamId());
dvbsSettings.scanType = static_cast<FrontendDvbsScanType>(dvbs->getScanType());
dvbsSettings.isDiseqcRxMessage = dvbs->getIsDiseqcRxMessage();
dvbsSettings.inversion = static_cast<FrontendSpectralInversion>(dvbs->getInversion());
dvbsSettings.modulation = static_cast<FrontendDvbsModulation>(dvbs->getModulation());
dvbsSettings.rolloff = static_cast<FrontendDvbsRolloff>(dvbs->getRolloff());
dvbsSettings.pilot = static_cast<FrontendDvbsPilot>(dvbs->getPilot());
dvbsSettings.standard = static_cast<FrontendDvbsStandard>(dvbs->getStandard());
dvbsSettings.vcmMode = static_cast<FrontendDvbsVcmMode>(dvbs->getVcmMode());
return dvbsSettings;
}

View File

@@ -181,13 +181,25 @@ package android.media.tuner.testing.configuration.V1_0 {
public class DvbsFrontendSettings {
ctor public DvbsFrontendSettings();
method @Nullable public java.math.BigInteger getInputStreamId();
method @Nullable public java.math.BigInteger getInversion();
method @Nullable public boolean getIsDiseqcRxMessage();
method @Nullable public java.math.BigInteger getModulation();
method @Nullable public java.math.BigInteger getPilot();
method @Nullable public java.math.BigInteger getRolloff();
method @Nullable public android.media.tuner.testing.configuration.V1_0.DvbsScanType getScanType();
method @Nullable public java.math.BigInteger getStandard();
method @Nullable public java.math.BigInteger getSymbolRate();
method @Nullable public java.math.BigInteger getVcmMode();
method public void setInputStreamId(@Nullable java.math.BigInteger);
method public void setInversion(@Nullable java.math.BigInteger);
method public void setIsDiseqcRxMessage(@Nullable boolean);
method public void setModulation(@Nullable java.math.BigInteger);
method public void setPilot(@Nullable java.math.BigInteger);
method public void setRolloff(@Nullable java.math.BigInteger);
method public void setScanType(@Nullable android.media.tuner.testing.configuration.V1_0.DvbsScanType);
method public void setStandard(@Nullable java.math.BigInteger);
method public void setSymbolRate(@Nullable java.math.BigInteger);
method public void setVcmMode(@Nullable java.math.BigInteger);
}
public enum DvbsScanType {

View File

@@ -68,7 +68,8 @@
<frontend id="FE_DVBS_0" type="DVBS" isSoftwareFrontend="true"
connectToCicamId="0" removeOutputPid="10" frequency="578000000"
endFrequency="800000000">
<dvbsFrontendSettings inputStreamId="0" symbolRate="0"/>
<dvbsFrontendSettings inputStreamId="0" symbolRate="0" inversion="0" modulation="0" coderate="0"
rolloff="0" pilot="0" standard="0" vcmMode="0" scanType="0" isDiseqcRxMessage="true"/>
</frontend>
<frontend id="FE_DVBT_0" type="DVBT" isSoftwareFrontend="true"
connectToCicamId="0" removeOutputPid="10" frequency="578000000"

View File

@@ -77,8 +77,14 @@
<xs:complexType name="dvbsFrontendSettings">
<xs:attribute name="inputStreamId" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="symbolRate" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="scanType" type="dvbsScanType" use="optional"/>
<xs:attribute name="isDiseqcRxMessage" type="xs:boolean" use="optional"/>
<xs:attribute name="scanType" type="dvbsScanType" use="required"/>
<xs:attribute name="isDiseqcRxMessage" type="xs:boolean" use="required"/>
<xs:attribute name="inversion" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="modulation" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="pilot" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="standard" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="vcmMode" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="rolloff" type="xs:nonNegativeInteger" use="required"/>
</xs:complexType>
<xs:complexType name="atscFrontendSettings">
<xs:attribute name="inversion" type="xs:nonNegativeInteger" use="required"/>