Beispiel #1
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.memory_bounds = (1, 128)
     rf.has_bank = False
     rf.has_ctone = True
     rf.has_tuning_step = False
     rf.has_cross = False
     rf.has_rx_dtcs = True
     rf.has_settings = True
     # it may actually be supported, but I haven't tested
     rf.can_odd_split = False
     rf.valid_duplexes = THUVF8D_DUPLEX
     rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]
     rf.valid_characters = chirp_common.CHARSET_UPPER_NUMERIC + "-"
     rf.valid_bands = [(136000000, 174000000),
                       (400000000, 520000000)]
     rf.valid_skips = ["", "S"]
     rf.valid_power_levels = POWER_LEVELS
     rf.valid_modes = ["FM", "NFM"]
     rf.valid_special_chans = SPECIALS.keys()
     rf.valid_name_length = 7
     return rf
Beispiel #2
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()
        rf.memory_bounds = (1, 100)
        rf.valid_duplexes = DUPLEX
        rf.valid_tmodes = TMODES
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_tuning_steps = TUNING_STEPS
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_characters = "".join(CHARSET)
        rf.valid_name_length = 4
        rf.valid_modes = MODES
        # Specials not yet implementd
        # rf.valid_special_chans = SPECIALS
        rf.valid_bands = [(76000000, 200000000), (300000000, 540000000),
                          (590000000, 999000000)]
        # rf.can_odd_split = True
        rf.has_ctone = False
        rf.has_bank = False
        rf.has_settings = True
        rf.has_dtcs_polarity = False

        return rf
Beispiel #3
0
    def get_features(self):
        """Get the radio's features"""

        rf = chirp_common.RadioFeatures()
        rf.has_settings = True
        rf.has_bank = False
        rf.has_tuning_step = False
        rf.can_odd_split = True
        rf.has_name = True
        rf.has_offset = True
        rf.has_mode = True
        rf.has_dtcs = False  #True
        rf.has_rx_dtcs = False  #True
        rf.has_dtcs_polarity = False  #True
        rf.has_ctone = True
        rf.has_cross = True
        rf.valid_modes = ["FM", "NFM"]
        #rf.valid_characters = self.VALID_CHARS
        rf.valid_characters = CHARSET
        rf.valid_name_length = 6
        rf.valid_duplexes = ["", "-", "+", "split", "off"]
        #rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
        #rf.valid_cross_modes = [
        #    "Tone->Tone",
        #    "DTCS->",
        #    "->DTCS",
        #    "Tone->DTCS",
        #    "DTCS->Tone",
        #    "->Tone",
        #    "DTCS->DTCS"]
        rf.valid_tmodes = ['', 'Tone', 'TSQL', 'Cross']
        rf.valid_cross_modes = ["Tone->Tone", "->Tone"]
        rf.valid_skips = ["", "S"]
        #rf.valid_dtcs_codes = self.DTCS_CODES
        rf.memory_bounds = (1, 128)
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_bands = VALID_BANDS

        return rf
Beispiel #4
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()
        rf.has_settings = True
        rf.has_bank = False
        rf.has_ctone = True
        rf.has_cross = True
        rf.has_rx_dtcs = True
        rf.has_tuning_step = False
        rf.can_odd_split = True
        rf.has_name = False
        rf.valid_skips = ["", "S"]
        rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]
        rf.valid_cross_modes = ["Tone->Tone", "Tone->DTCS", "DTCS->Tone",
                                "->Tone", "->DTCS", "DTCS->", "DTCS->DTCS"]
        rf.valid_power_levels = RT22_POWER_LEVELS
        rf.valid_duplexes = ["", "-", "+", "split", "off"]
        rf.valid_modes = ["NFM", "FM"]  # 12.5 KHz, 25 kHz.
        rf.memory_bounds = (1, 16)
        rf.valid_tuning_steps = [2.5, 5., 6.25, 10., 12.5, 25.]
        rf.valid_bands = [(400000000, 520000000)]

        return rf
Beispiel #5
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.has_settings = True
     rf.valid_modes = ["FM"]
     rf.valid_tmodes = [""]
     rf.valid_characters = ""
     rf.valid_duplexes = [""]
     rf.valid_name_length = 0
     rf.valid_power_levels = POWER_LEVELS
     rf.valid_skips = []
     rf.valid_tuning_steps = []
     rf.has_bank = False
     rf.has_ctone = False
     rf.has_dtcs = False
     rf.has_dtcs_polarity = False
     rf.has_mode = False
     rf.has_name = False
     rf.has_offset = False
     rf.has_tuning_step = False
     rf.valid_bands = [(136000000, 174000000)]
     rf.memory_bounds = (0, 0)
     return rf
Beispiel #6
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()
        rf.has_settings = True
        rf.has_ctone = False
        rf.has_bank = False
        rf.has_dtcs_polarity = False
        rf.has_dtcs = True
        rf.valid_modes = FT90_MODES
        rf.valid_tmodes = FT90_TMODES
        rf.valid_duplexes = FT90_DUPLEX
        rf.valid_tuning_steps = FT90_STEPS
        rf.valid_power_levels = FT90_POWER_LEVELS_VHF
        rf.valid_name_length = 7
        rf.valid_characters = chirp_common.CHARSET_ASCII
        rf.valid_skips = ["", "S"]
        rf.valid_special_chans = FT90_SPECIAL
        rf.memory_bounds = (1, 180)
        rf.valid_bands = [(100000000, 230000000),
                          (300000000, 530000000),
                          (810000000, 999975000)]

        return rf
Beispiel #7
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.can_odd_split = True
     rf.has_bank = False
     rf.has_ctone = True
     rf.has_cross = True
     rf.has_rx_dtcs = True
     rf.has_dtcs_polarity = False
     rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]
     rf.valid_cross_modes = [
         "Tone->Tone", "Tone->DTCS", "DTCS->Tone", "->Tone", "->DTCS",
         "DTCS->", "DTCS->DTCS"
     ]
     rf.valid_modes = ["FM", "NFM"]
     rf.valid_duplexes = ["", "-", "+", "split", "off"]
     rf.memory_bounds = (1, 32)
     rf.valid_bands = [(13600000, 174000000)]
     rf.valid_skips = ["", "S"]
     rf.valid_power_levels = POWER_LEVELS
     rf.valid_name_length = 4
     rf.valid_characters = CHARSET
     return rf
Beispiel #8
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.has_settings = True
     rf.has_cross = True
     rf.has_bank = False
     rf.has_tuning_step = False
     rf.can_odd_split = True
     rf.has_rx_dtcs = True
     rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
     rf.valid_modes = MODES
     rf.valid_cross_modes = [
         "Tone->Tone", "DTCS->", "->DTCS", "Tone->DTCS", "DTCS->Tone",
         "->Tone", "DTCS->DTCS"
     ]
     rf.valid_characters = chirp_common.CHARSET_ASCII
     rf.valid_name_length = 7
     rf.valid_power_levels = self._power_levels
     rf.valid_duplexes = ["", "-", "+", "split", "off"]
     rf.valid_skips = ["", "S"]
     rf.valid_bands = [(136000000, 174000000), (400000000, 470000000)]
     rf.memory_bounds = (1, 199)
     return rf
Beispiel #9
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()

        rf.can_odd_split = True

        rf.has_bank = False
        rf.has_ctone = False
        rf.has_dtcs = False
        rf.has_dtcs_polarity = False
        rf.has_name = False
        rf.has_tuning_step = False

        rf.memory_bounds = (0, self._upper)

        rf.valid_bands = TS850_BANDS
        rf.valid_characters = chirp_common.CHARSET_UPPER_NUMERIC
        rf.valid_duplexes = TS850_DUPLEX
        rf.valid_modes = TS850_MODES.keys()
        rf.valid_skips = TS850_SKIP
        rf.valid_tmodes = TS850_TMODES

        return rf
Beispiel #10
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()

        rf.memory_bounds = (0, 199)

        rf.has_ctone = False
        rf.has_tuning_step = False
        rf.has_dtcs_polarity = False
        rf.has_bank = False

        rf.valid_tuning_steps = [5.0, 10.0, 12.5, 15.0,
                                 20.0, 25.0, 50.0, 100.0]
        rf.valid_modes = MODES
        rf.valid_tmodes = TMODES
        rf.valid_bands = [(137000000, 174000000)]
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_duplexes = DUPLEX
        rf.valid_skips = ["", "S", "P"]
        rf.valid_name_length = 6
        rf.valid_characters = CHARSET

        return rf
Beispiel #11
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.memory_bounds = (1, 128)
     rf.has_bank = False
     rf.has_ctone = True
     rf.has_tuning_step = False
     rf.has_cross = True
     rf.has_rx_dtcs = True
     rf.has_settings = False
     rf.can_odd_split = False
     rf.valid_duplexes = ['', '-', '+']
     rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]
     rf.valid_characters = chirp_common.CHARSET_UPPER_NUMERIC + "-"
     rf.valid_bands = [(136000000, 174000000),
                       (400000000, 480000000)]
     rf.valid_skips = ["", "S"]
     rf.valid_power_levels = POWER_LEVELS
     rf.valid_modes = ["FM", "NFM"]
     rf.valid_name_length = 7
     rf.valid_cross_modes = ["Tone->Tone", "Tone->DTCS", "DTCS->Tone",
                             "->Tone", "->DTCS", "DTCS->", "DTCS->DTCS"]
     return rf
Beispiel #12
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()
        rf.has_bank = False
        rf.has_settings = False
        rf.can_odd_split = True
        rf.has_name = True
        rf.has_offset = True
        rf.valid_name_length = 5
        rf.valid_duplexes = ['', '+', '-', 'split', 'off']
        rf.valid_characters = CHARSET_ASCII_PLUS

        rf.has_dtcs = True
        rf.has_rx_dtcs = True
        rf.has_dtcs_polarity = True
        rf.valid_dtcs_codes = chirp_common.ALL_DTCS_CODES
        rf.has_ctone = True
        rf.has_cross = True
        rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
        rf.valid_cross_modes = [
            'Tone->Tone', 'Tone->DTCS', 'DTCS->Tone', 'DTCS->DTCS', 'DTCS->',
            '->DTCS', '->Tone'
        ]

        rf.memory_bounds = (1, 200)  # This radio supports memories 1-200
        try:
            rf.valid_bands = get_band_limits_Hz(
                int(self._memobj.radio_settings.bandlimit))
        except TypeError as e:
            # If we're asked without memory loaded, assume the most permissive
            rf.valid_bands = get_band_limits_Hz(1)
        except Exception as e:
            LOG.error('Failed to get band limits for anytone778uv: %s' % e)
            rf.valid_bands = get_band_limits_Hz(1)
        rf.valid_modes = ['FM', 'NFM']
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_tuning_steps = [2.5, 5, 6.25, 10, 12.5, 20, 25, 30, 50]
        rf.has_tuning_step = False
        return rf
Beispiel #13
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.memory_bounds = (1, 800)
     rf.has_bank = False
     rf.has_tuning_step = True
     rf.valid_tuning_steps = STEPS
     rf.can_odd_split = True
     rf.valid_duplexes = ["", "-", "+", "split", "off"]
     rf.valid_tmodes = TMODES
     rf.has_ctone = False
     rf.valid_power_levels = POWER_LEVELS
     rf.valid_characters = chirp_common.CHARSET_UPPER_NUMERIC + "#*-+"
     rf.valid_bands = [(26000000,  33000000),
                       (47000000,  54000000),
                       (108000000, 180000000),
                       (350000000, 399995000),
                       (400000000, 512000000),
                       (750000000, 950000000)]
     rf.valid_skips = SCAN_MODES
     rf.valid_modes = MODES + ["AM"]
     rf.valid_name_length = 6
     rf.has_settings = True
     return rf
Beispiel #14
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()
        rf.has_settings = True
        rf.has_bank = False
        rf.has_cross = True
        rf.has_rx_dtcs = True
        rf.has_tuning_step = False
        rf.can_odd_split = True
        rf.valid_name_length = 7
        rf.valid_characters = chirp_common.CHARSET_ASCII
        rf.valid_skips = ["", "S"]
        rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]
        rf.valid_cross_modes = ["Tone->Tone", "Tone->DTCS", "DTCS->Tone",
                                "->Tone", "->DTCS", "DTCS->", "DTCS->DTCS"]
        rf.valid_power_levels = SHX8800_POWER_LEVELS
        rf.valid_duplexes = ["", "-", "+", "split", "off"]
        rf.valid_modes = ["FM", "NFM"]
        rf.valid_tuning_steps = STEPS

        rf.valid_bands = [(100000000, 176000000), (400000000, 521000000)]
        rf.memory_bounds = (0, 127)

        return rf
Beispiel #15
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.has_settings = True
     rf.has_cross = True
     rf.has_bank = False
     rf.has_tuning_step = False
     rf.has_name = False
     rf.has_rx_dtcs = True
     rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
     rf.valid_modes = MODES
     rf.valid_cross_modes = [
         "Tone->Tone",
         "DTCS->",
         "->DTCS",
         "Tone->DTCS",
         "DTCS->Tone",
         "->Tone",
         "DTCS->DTCS"]
     rf.valid_power_levels = POWER_LEVELS
     rf.valid_skips = ["", "S"]
     rf.valid_bands = [self._range]
     rf.memory_bounds = (1, self._upper)
     return rf
Beispiel #16
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.has_settings = True
     rf.has_bank = False
     rf.has_cross = True
     rf.has_tuning_step = False
     rf.has_rx_dtcs = True
     rf.valid_skips = ["", "S"]
     rf.valid_modes = MODES
     rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
     rf.valid_cross_modes = [
         "Tone->Tone", "Tone->DTCS", "DTCS->Tone", "->Tone", "->DTCS",
         "DTCS->", "DTCS->DTCS"
     ]
     rf.valid_dtcs_codes = chirp_common.ALL_DTCS_CODES
     rf.valid_bands = [(136000000, 174000000), (400000000, 520000000)]
     rf.valid_characters = CHARSET
     rf.valid_name_length = 6
     rf.valid_power_levels = POWER_LEVELS
     rf.valid_duplexes = DUPLEXES
     rf.can_odd_split = True
     rf.memory_bounds = (0, 199)
     return rf
Beispiel #17
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()

        rf.memory_bounds = (0, 129)

        rf.can_odd_split = False
        rf.has_ctone = False
        rf.has_tuning_step = True
        rf.has_dtcs_polarity = False
        rf.has_bank = False

        rf.valid_tuning_steps = STEPS
        rf.valid_modes = MODES
        rf.valid_tmodes = TMODES
        rf.valid_bands = [(137000000, 174000000)]
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_duplexes = DUPLEX
        rf.valid_skips = ["", "S", "P"]
        rf.valid_name_length = 6
        rf.valid_characters = CHARSET
        rf.has_cross = False

        return rf
Beispiel #18
0
    def get_features(self):
        """Get the radio's features"""

        rf = chirp_common.RadioFeatures()
        rf.valid_special_chans = SPECIALS.keys()
        rf.has_settings = True
        rf.has_bank = False
        rf.has_tuning_step = False
        rf.can_odd_split = True
        rf.has_name = False
        rf.has_offset = True
        rf.has_mode = True
        rf.valid_modes = MODES
        rf.has_dtcs = True
        rf.has_rx_dtcs = True
        rf.has_dtcs_polarity = True
        rf.has_ctone = True
        rf.has_cross = True
        rf.valid_duplexes = ["", "-", "+", "split"]
        rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
        rf.valid_cross_modes = [
            "Tone->Tone",
            "DTCS->",
            "->DTCS",
            "Tone->DTCS",
            "DTCS->Tone",
            "->Tone",
            "DTCS->DTCS"]
        rf.valid_skips = SKIP_VALUES
        rf.valid_dtcs_codes = DTCS
        rf.memory_bounds = (1, self._upper)
        rf.valid_tuning_steps = [2.5, 5., 6.25, 10., 12.5, 25.]

        # normal dual bands
        rf.valid_bands = [self._vhf_range, self._uhf_range]

        return rf
Beispiel #19
0
    def get_features(self):
        """Get the radio's features"""

        rf = chirp_common.RadioFeatures()
        rf.has_settings = True
        rf.has_bank = False
        rf.has_tuning_step = False
        rf.can_odd_split = True
        rf.has_name = True
        rf.has_offset = True
        rf.has_mode = True
        rf.has_dtcs = True
        rf.has_rx_dtcs = True
        rf.has_dtcs_polarity = True
        rf.has_ctone = True
        rf.has_cross = True
        rf.valid_modes = self.MODES
        rf.valid_characters = self.VALID_CHARS
        rf.valid_name_length = self.LENGTH_NAME
        rf.valid_duplexes = ["", "-", "+", "split", "off"]
        rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
        rf.valid_cross_modes = [
            "Tone->Tone",
            "DTCS->",
            "->DTCS",
            "Tone->DTCS",
            "DTCS->Tone",
            "->Tone",
            "DTCS->DTCS"]
        rf.valid_skips = self.SKIP_VALUES
        rf.valid_dtcs_codes = self.DTCS_CODES
        rf.memory_bounds = (0, 127)
        rf.valid_power_levels = self.POWER_LEVELS
        rf.valid_bands = self.VALID_BANDS
        rf.valid_tuning_steps = [2.5, 5.0, 6.25, 10.0, 12.5, 20.0, 25.0, 50.0]

        return rf
Beispiel #20
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()

        rf.memory_bounds = (0, 199)

        rf.can_odd_split = True
        rf.has_ctone = False
        rf.has_tuning_step = True
        rf.has_dtcs_polarity = False  # in radio settings, not per memory
        rf.has_bank = False  # has banks, but not implemented

        rf.valid_tuning_steps = STEPS
        rf.valid_modes = MODES
        rf.valid_tmodes = TMODES
        rf.valid_bands = [(137000000, 174000000)]
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_duplexes = DUPLEX
        rf.valid_skips = ["", "S", "P"]
        rf.valid_name_length = 6
        rf.valid_characters = CHARSET
        rf.has_cross = True
        rf.valid_cross_modes = list(CROSS_MODES)

        return rf
Beispiel #21
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.has_ctone = True
     rf.has_cross = True
     rf.has_tuning_step = False
     rf.has_settings = True
     rf.has_bank = False
     rf.has_sub_devices = True
     rf.can_odd_split = True
     rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS']
     rf.valid_bands = [(400000000, 520000000)]
     rf.valid_modes = ['FM', 'NFM']
     rf.valid_tuning_steps = [
         2.5, 5.0, 6.25, 12.5, 10.0, 15.0, 20.0, 25.0, 50.0, 100.0
     ]
     rf.valid_duplexes = ['', '-', '+', 'split', 'off']
     rf.valid_power_levels = POWER_LEVELS
     rf.valid_name_length = 12
     rf.valid_characters = ('ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                            'abcdefghijklmnopqrstuvwxyz'
                            '0123456789'
                            '!"#$%&\'()~+-,./:;<=>?@[\\]^`{}*| ')
     rf.memory_bounds = (1, 512)
     return rf
Beispiel #22
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.has_settings = True
     rf.has_cross = True
     rf.has_rx_dtcs = True
     rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]
     rf.valid_cross_modes = [
         "Tone->Tone", "Tone->DTCS", "DTCS->Tone", "->Tone", "->DTCS",
         "DTCS->", "DTCS->DTCS"
     ]
     rf.valid_duplexes = DUPLEX
     rf.can_odd_split = True
     rf.valid_skips = ["", "S"]
     rf.valid_characters = CHARSET
     rf.valid_name_length = 5
     rf.valid_bands = [(136000000, 174000000), (400000000, 520000000)]
     rf.valid_modes = ["FM", "NFM"]
     rf.valid_special_chans = SPECIALS.keys()
     rf.valid_power_levels = POWER_LEVELS
     rf.has_ctone = True
     rf.has_bank = False
     rf.has_tuning_step = False
     rf.memory_bounds = (1, 99)
     return rf
Beispiel #23
0
    def get_features(self):
        """Return a RadioFeatures object for this radio"""

        rf = chirp_common.RadioFeatures()
        rf.has_settings = True
        rf.valid_modes = ['NFM', 'FM']  # 12.5 KHz, 25 kHz.
        rf.valid_power_levels = self.X3P_POWER_LEVELS
        rf.valid_skips = ['', 'S']
        rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
        rf.valid_duplexes = ['', '-', '+', 'split', 'off']
        rf.can_odd_split = True
        rf.has_rx_dtcs = True
        rf.has_ctone = True
        rf.has_cross = True
        rf.valid_cross_modes = [
            'Tone->Tone', 'DTCS->', '->DTCS', 'Tone->DTCS', 'DTCS->Tone',
            '->Tone', 'DTCS->DTCS'
        ]
        rf.has_tuning_step = False
        rf.has_bank = False
        rf.has_name = False
        rf.memory_bounds = (1, self.CHANNELS)
        rf.valid_bands = [(400000000, 470000000)]
        return rf
Beispiel #24
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()
        rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS"]
        rf.valid_modes = ["FM", "NFM"]
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_characters = ''.join(set(PUXING_CHARSET))
        rf.valid_name_length = 6
        rf.valid_tuning_steps = [
            2.5, 5.0, 6.25, 10.0, 12.5, 15.0, 20.0, 25.0, 30.0, 50.0, 100.0
        ]
        rf.has_ctone = False
        rf.has_tuning_step = False
        rf.has_bank = False
        rf.memory_bounds = (1, 128)

        if not hasattr(self, "_memobj") or self._memobj is None:
            rf.valid_bands = [PUXING_777_BANDS[1]]
        elif self._memobj.model.model == PUXING_MODELS[777]:
            limit_idx = self._memobj.model.limits - 0xEE
            try:
                rf.valid_bands = [PUXING_777_BANDS[limit_idx]]
            except IndexError:
                LOG.error("Invalid band index %i (0x%02x)" %
                          (limit_idx, self._memobj.model.limits))
                rf.valid_bands = [PUXING_777_BANDS[1]]
        elif self._memobj.model.model == PUXING_MODELS[328]:
            # There are PX-777 that says to be model 328 ...
            # for them we only know this freq limits till now
            if self._memobj.model.limits == 0xEE:
                rf.valid_bands = [PUXING_777_BANDS[1]]
            else:
                raise Exception("Unsupported band limits 0x%02x for PX-777" %
                                (self._memobj.model.limits) + " submodel 328"
                                " - PLEASE REPORT THIS ERROR TO DEVELOPERS!!")

        return rf
Beispiel #25
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()
        rf.has_settings = True
        rf.has_bank_index = True
        rf.has_bank_names = True
        rf.has_cross = True
        rf.has_ctone = True
        rf.has_dtcs = True
        rf.has_rx_dtcs = False
        rf.has_dtcs_polarity = True
        rf.requires_call_lists = False
        rf.memory_bounds = (0, 999)
        rf.valid_modes = MMODES
        rf.valid_tmodes = MTONE_MODES
        rf.valid_duplexes = MDUPLEX
        rf.valid_tuning_steps = list(chirp_common.TUNING_STEPS[0:9])
        rf.valid_bands = [(118000000, 174000000), (375000000, 550000000)]
        rf.valid_skips = MSKIPS
        rf.valid_characters = chirp_common.CHARSET_ASCII
        rf.valid_cross_modes = MCROSS_MODES
        rf.valid_name_length = 6
        rf.valid_special_chans = sorted(_get_special().keys())

        return rf
Beispiel #26
0
    def get_features(self):

        rf = chirp_common.RadioFeatures()
        specials = [name for s in self.class_specials for name in s[1]]
        rf.valid_special_chans = specials
        rf.memory_bounds = (1, self.MAX_MEM_SLOT)
        rf.valid_duplexes = DUPLEX
        rf.valid_tmodes = VALID_TONE_MODES
        rf.valid_cross_modes = VALID_CROSS_MODES
        rf.valid_power_levels = POWER_LEVELS
        rf.valid_tuning_steps = self.legal_steps
        rf.valid_skips = SKIPS
        rf.valid_characters = CHARSET
        rf.valid_name_length = self.namelen
        rf.valid_modes = ["FM", "NFM"]
        rf.valid_bands = self.valid_bands
        rf.can_odd_split = True
        rf.has_ctone = True
        rf.has_rx_dtcs = True
        rf.has_dtcs_polarity = False  # REV TN reverses the tone, not the dcs
        rf.has_cross = True
        rf.has_settings = True

        return rf
Beispiel #27
0
 def get_features(self):
     """Return information about this radio's features"""
     rf = chirp_common.RadioFeatures()
     # this feature is READ ONLY by now.
     rf.has_settings = True
     rf.has_bank = False
     rf.has_tuning_step = False
     rf.has_name = False
     rf.has_offset = True
     rf.has_mode = False
     rf.has_dtcs = True
     rf.has_rx_dtcs = True
     rf.has_dtcs_polarity = True
     rf.has_ctone = True
     rf.has_cross = True
     rf.valid_duplexes = ["", "-", "+", "off"]
     rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross']
     # we have to remove "Tone->" because this is the same to "TQSL"
     # I get a few days hitting the wall with my head about this...
     rf.valid_cross_modes = [
         "Tone->Tone",
         "DTCS->",
         "->DTCS",
         "Tone->DTCS",
         "DTCS->Tone",
         "->Tone",
         "DTCS->DTCS"]
     # Power levels are golbal and no per channel, so disabled
     #rf.valid_power_levels = POWER_LEVELS
     # this radio has no skips
     rf.valid_skips = []
     # this radio modes are global and not per channel, so just FM
     rf.valid_modes = ["FM"]
     rf.valid_bands = [self._range]
     rf.memory_bounds = (1, self._upper)
     return rf
Beispiel #28
0
 def _get_rf(self):
     rf = chirp_common.RadioFeatures()
     rf.memory_bounds = (1, 10)
     return rf
Beispiel #29
0
 def get_features(self):
     rf = chirp_common.RadioFeatures()
     rf.memory_bounds = (0, 999)
     return rf
Beispiel #30
0
    def get_features(self):
        rf = chirp_common.RadioFeatures()
        rf.has_sub_devices = True
        rf.valid_special_chans = IC9X_SPECIAL[self.vfo].keys()

        return rf