Source code for RsCmwGsmSig.Implementations.Sense_.MssInfo

from typing import List

from ...Internal.Core import Core
from ...Internal.CommandsGroup import CommandsGroup
from ...Internal import Conversions
from ...Internal.Utilities import trim_str_response
from ...Internal.StructBase import StructBase
from ...Internal.ArgStruct import ArgStruct
from ... import enums


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs]class MssInfo: """MssInfo commands group definition. 32 total commands, 6 Sub-groups, 9 group commands""" def __init__(self, core: Core, parent): self._core = core self._base = CommandsGroup("mssInfo", core, parent) @property def amr(self): """amr commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_amr'): from .MssInfo_.Amr import Amr self._amr = Amr(self._core, self._base) return self._amr @property def msAddress(self): """msAddress commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_msAddress'): from .MssInfo_.MsAddress import MsAddress self._msAddress = MsAddress(self._core, self._base) return self._msAddress @property def msClass(self): """msClass commands group. 0 Sub-classes, 4 commands.""" if not hasattr(self, '_msClass'): from .MssInfo_.MsClass import MsClass self._msClass = MsClass(self._core, self._base) return self._msClass @property def codec(self): """codec commands group. 0 Sub-classes, 2 commands.""" if not hasattr(self, '_codec'): from .MssInfo_.Codec import Codec self._codec = Codec(self._core, self._base) return self._codec @property def vamos(self): """vamos commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_vamos'): from .MssInfo_.Vamos import Vamos self._vamos = Vamos(self._core, self._base) return self._vamos @property def tcapability(self): """tcapability commands group. 0 Sub-classes, 3 commands.""" if not hasattr(self, '_tcapability'): from .MssInfo_.Tcapability import Tcapability self._tcapability = Tcapability(self._core, self._base) return self._tcapability # noinspection PyTypeChecker
[docs] def get_rx_power(self) -> enums.RxPower: """SCPI: SENSe:GSM:SIGNaling<instance>:MSSinfo:RXPower \n Snippet: value: enums.RxPower = driver.sense.mssInfo.get_rx_power() \n Indicates the quality of the received uplink power. \n :return: power: OK | UFL | OFL OK: in range UFL: underflow (underdriven) OFL: overflow (overdriven) """ response = self._core.io.query_str('SENSe:GSM:SIGNaling<Instance>:MSSinfo:RXPower?') return Conversions.str_to_scalar_enum(response, enums.RxPower)
[docs] def get_apn(self) -> List[str]: """SCPI: SENSe:GSM:SIGNaling<instance>:MSSinfo:APN \n Snippet: value: List[str] = driver.sense.mssInfo.get_apn() \n Returns all access point names used by the MS during a packet data connection. \n :return: apn: No help available """ response = self._core.io.query_str('SENSe:GSM:SIGNaling<Instance>:MSSinfo:APN?') return Conversions.str_to_str_list(response)
[docs] def get_imsi(self) -> str: """SCPI: SENSe:GSM:SIGNaling<Instance>:MSSinfo:IMSI \n Snippet: value: str = driver.sense.mssInfo.get_imsi() \n Returns the international mobile subscriber identity (IMSI) of the mobile under test. INTRO_CMD_HELP: The IMSI consists of three parts: \n - MCC: three-digit mobile country code - MNC: two- or three-digit mobile network code - MSIN: 10- or 9-digit mobile subscriber ID \n :return: imsi: 'MCC MNC MSIN' (string variable) """ response = self._core.io.query_str('SENSe:GSM:SIGNaling<Instance>:MSSinfo:IMSI?') return trim_str_response(response)
[docs] def get_imei(self) -> str: """SCPI: SENSe:GSM:SIGNaling<Instance>:MSSinfo:IMEI \n Snippet: value: str = driver.sense.mssInfo.get_imei() \n Returns the international mobile station equipment identity (IMEI) of the mobile under test. INTRO_CMD_HELP: The IMEI consists of four parts: \n - TAC: 8-digit type approval code - SNR: six-digit serial number - Spare: one-digit spare bit \n :return: imei: 'TAC SNR Spare' (string variable) """ response = self._core.io.query_str('SENSe:GSM:SIGNaling<Instance>:MSSinfo:IMEI?') return trim_str_response(response)
[docs] def get_dnumber(self) -> str: """SCPI: SENSe:GSM:SIGNaling<Instance>:MSSinfo:DNUMber \n Snippet: value: str = driver.sense.mssInfo.get_dnumber() \n Returns the number dialed at the mobile under test (call from MS) . \n :return: number: 'max. 20 digits' (string variable) """ response = self._core.io.query_str('SENSe:GSM:SIGNaling<Instance>:MSSinfo:DNUMber?') return trim_str_response(response)
[docs] def get_tty(self) -> str: """SCPI: SENSe:GSM:SIGNaling<Instance>:MSSinfo:TTY \n Snippet: value: str = driver.sense.mssInfo.get_tty() \n Queries whether the MS supports cellular text telephone modem (CTM) for teletypewriter (TTY) interface. \n :return: tty: 'supported' | 'not supported' 'supported': CTM supported 'not supported': CTM not supported """ response = self._core.io.query_str('SENSe:GSM:SIGNaling<Instance>:MSSinfo:TTY?') return trim_str_response(response)
# noinspection PyTypeChecker
[docs] class ScategoryStruct(StructBase): """Structure for reading output parameters. Fields: \n - Police: bool: OFF | ON OFF: no emergency call to police ON: emergency call to police - Ambulance: bool: OFF | ON - Fire_Brigade: bool: OFF | ON - Marine_Guard: bool: OFF | ON - Mountain_Rescue: bool: OFF | ON - Manual: bool: OFF | ON OFF: no emergency call set up manually ON: emergency call set up manually - Automatical: bool: OFF | ON OFF: no emergency call set up automatically ON: emergency call set up automatically""" __meta_args_list = [ ArgStruct.scalar_bool('Police'), ArgStruct.scalar_bool('Ambulance'), ArgStruct.scalar_bool('Fire_Brigade'), ArgStruct.scalar_bool('Marine_Guard'), ArgStruct.scalar_bool('Mountain_Rescue'), ArgStruct.scalar_bool('Manual'), ArgStruct.scalar_bool('Automatical')] def __init__(self): StructBase.__init__(self, self) self.Police: bool = None self.Ambulance: bool = None self.Fire_Brigade: bool = None self.Marine_Guard: bool = None self.Mountain_Rescue: bool = None self.Manual: bool = None self.Automatical: bool = None
[docs] def get_scategory(self) -> ScategoryStruct: """SCPI: SENSe:GSM:SIGNaling<Instance>:MSSinfo:SCATegory \n Snippet: value: ScategoryStruct = driver.sense.mssInfo.get_scategory() \n Returns the service category during emergency call. \n :return: structure: for return value, see the help for ScategoryStruct structure arguments. """ return self._core.io.query_struct('SENSe:GSM:SIGNaling<Instance>:MSSinfo:SCATegory?', self.__class__.ScategoryStruct())
# noinspection PyTypeChecker
[docs] class BandsStruct(StructBase): """Structure for reading output parameters. Fields: \n - Gsm_450: bool: No parameter help available - Gsm_450_Gmsk: int: No parameter help available - Gsm_4508_Psk: enums.EightPskPowerClass: No parameter help available - Gsm_480: bool: No parameter help available - Gsm_480_Gmsk: int: No parameter help available - Gsm_4808_Psk: enums.EightPskPowerClass: No parameter help available - Gsm_750: bool: No parameter help available - Gsm_750_Gmsk: int: No parameter help available - Gsm_7508_Psk: enums.EightPskPowerClass: No parameter help available - Gsm_T_810: bool: No parameter help available - Gsmt_810_Gmsk: int: No parameter help available - Gsmt_8108_Psk: enums.EightPskPowerClass: No parameter help available - Gsm_850: bool: No parameter help available - Gsm_850_Gmsk: int: No parameter help available - Gsm_8508_Psk: enums.EightPskPowerClass: No parameter help available - Gsm_900_P: bool: No parameter help available - Gsm_900_Pgmsk: int: No parameter help available - Gsm_900_P_8_Psk: enums.EightPskPowerClass: No parameter help available - Gsm_900_E: bool: No parameter help available - Gsm_900_R: bool: No parameter help available - Gsm_900_Rgmsk: int: No parameter help available - Gsm_1800: bool: No parameter help available - Gsm_1800_Gmsk: int: No parameter help available - Gsm_18008_Psk: enums.EightPskPowerClass: No parameter help available - Gsm_1900: bool: No parameter help available - Gsm_1900_Gmsk: int: No parameter help available - Gsm_19008_Psk: enums.EightPskPowerClass: No parameter help available - Umts_Fdd: bool: No parameter help available - Umts_Tdd_384: bool: No parameter help available - Umts_Tdd_128: bool: No parameter help available - Cdma_2000: bool: OFF | ON Support of CDMA2000 technology""" __meta_args_list = [ ArgStruct.scalar_bool('Gsm_450'), ArgStruct.scalar_int('Gsm_450_Gmsk'), ArgStruct.scalar_enum('Gsm_4508_Psk', enums.EightPskPowerClass), ArgStruct.scalar_bool('Gsm_480'), ArgStruct.scalar_int('Gsm_480_Gmsk'), ArgStruct.scalar_enum('Gsm_4808_Psk', enums.EightPskPowerClass), ArgStruct.scalar_bool('Gsm_750'), ArgStruct.scalar_int('Gsm_750_Gmsk'), ArgStruct.scalar_enum('Gsm_7508_Psk', enums.EightPskPowerClass), ArgStruct.scalar_bool('Gsm_T_810'), ArgStruct.scalar_int('Gsmt_810_Gmsk'), ArgStruct.scalar_enum('Gsmt_8108_Psk', enums.EightPskPowerClass), ArgStruct.scalar_bool('Gsm_850'), ArgStruct.scalar_int('Gsm_850_Gmsk'), ArgStruct.scalar_enum('Gsm_8508_Psk', enums.EightPskPowerClass), ArgStruct.scalar_bool('Gsm_900_P'), ArgStruct.scalar_int('Gsm_900_Pgmsk'), ArgStruct.scalar_enum('Gsm_900_P_8_Psk', enums.EightPskPowerClass), ArgStruct.scalar_bool('Gsm_900_E'), ArgStruct.scalar_bool('Gsm_900_R'), ArgStruct.scalar_int('Gsm_900_Rgmsk'), ArgStruct.scalar_bool('Gsm_1800'), ArgStruct.scalar_int('Gsm_1800_Gmsk'), ArgStruct.scalar_enum('Gsm_18008_Psk', enums.EightPskPowerClass), ArgStruct.scalar_bool('Gsm_1900'), ArgStruct.scalar_int('Gsm_1900_Gmsk'), ArgStruct.scalar_enum('Gsm_19008_Psk', enums.EightPskPowerClass), ArgStruct.scalar_bool('Umts_Fdd'), ArgStruct.scalar_bool('Umts_Tdd_384'), ArgStruct.scalar_bool('Umts_Tdd_128'), ArgStruct.scalar_bool('Cdma_2000')] def __init__(self): StructBase.__init__(self, self) self.Gsm_450: bool = None self.Gsm_450_Gmsk: int = None self.Gsm_4508_Psk: enums.EightPskPowerClass = None self.Gsm_480: bool = None self.Gsm_480_Gmsk: int = None self.Gsm_4808_Psk: enums.EightPskPowerClass = None self.Gsm_750: bool = None self.Gsm_750_Gmsk: int = None self.Gsm_7508_Psk: enums.EightPskPowerClass = None self.Gsm_T_810: bool = None self.Gsmt_810_Gmsk: int = None self.Gsmt_8108_Psk: enums.EightPskPowerClass = None self.Gsm_850: bool = None self.Gsm_850_Gmsk: int = None self.Gsm_8508_Psk: enums.EightPskPowerClass = None self.Gsm_900_P: bool = None self.Gsm_900_Pgmsk: int = None self.Gsm_900_P_8_Psk: enums.EightPskPowerClass = None self.Gsm_900_E: bool = None self.Gsm_900_R: bool = None self.Gsm_900_Rgmsk: int = None self.Gsm_1800: bool = None self.Gsm_1800_Gmsk: int = None self.Gsm_18008_Psk: enums.EightPskPowerClass = None self.Gsm_1900: bool = None self.Gsm_1900_Gmsk: int = None self.Gsm_19008_Psk: enums.EightPskPowerClass = None self.Umts_Fdd: bool = None self.Umts_Tdd_384: bool = None self.Umts_Tdd_128: bool = None self.Cdma_2000: bool = None
[docs] def get_bands(self) -> BandsStruct: """SCPI: SENSe:GSM:SIGNaling<Instance>:MSSinfo:BANDs \n Snippet: value: BandsStruct = driver.sense.mssInfo.get_bands() \n Returns the supported GSM band(s) , support indicators for UMTS and CDMA2000 and the power class. \n :return: structure: for return value, see the help for BandsStruct structure arguments. """ return self._core.io.query_struct('SENSe:GSM:SIGNaling<Instance>:MSSinfo:BANDs?', self.__class__.BandsStruct())
# noinspection PyTypeChecker
[docs] class EdAllocationStruct(StructBase): """Structure for reading output parameters. Fields: \n - Gprs: bool: OFF | ON Support of extended dynamic allocation in GPRS mode - Egprs: bool: OFF | ON Support of extended dynamic allocation in EGPRS mode""" __meta_args_list = [ ArgStruct.scalar_bool('Gprs'), ArgStruct.scalar_bool('Egprs')] def __init__(self): StructBase.__init__(self, self) self.Gprs: bool = None self.Egprs: bool = None
[docs] def get_ed_allocation(self) -> EdAllocationStruct: """SCPI: SENSe:GSM:SIGNaling<Instance>:MSSinfo:EDALlocation \n Snippet: value: EdAllocationStruct = driver.sense.mssInfo.get_ed_allocation() \n Returns support indicators for extended dynamic allocation. \n :return: structure: for return value, see the help for EdAllocationStruct structure arguments. """ return self._core.io.query_struct('SENSe:GSM:SIGNaling<Instance>:MSSinfo:EDALlocation?', self.__class__.EdAllocationStruct())
def clone(self) -> 'MssInfo': """Clones the group by creating new object from it and its whole existing sub-groups Also copies all the existing default Repeated Capabilities setting, which you can change independently without affecting the original group""" new_group = MssInfo(self._core, self._base.parent) self._base.synchronize_repcaps(new_group) return new_group