Initial support for Yaesu FT-90R. Probably a bit buggy. #1087
Do you want this to go into the tree, or are you just floating it for comments?
+# Copyright 2011 Dan Smith dsmith@danplanet.com
Be sure to add your copyright here.
- STEPS = [5, 10, 12.5, 15, 20, 25, 50]
Steps are floats, so these will cause issues during import from something else, I think.
- MODES = ["AM", "FM", "Auto"]
- TMODES = ["", "Tone", "TSQL", "Bell", "DTCS"]
Auto and Bell aren't allowed, so memories that resolve to these are going to break, right?
- TONES = [ 67.0, 69.3, 71.9, 74.4, 77.0, 79.7, 82.5,
- 85.4, 88.5, 91.5, 94.8, 97.4, 100.0, 103.5,
- 107.2, 110.9, 114.8, 118.8, 123.0, 127.3,
- 131.8, 136.5, 141.3, 146.2, 151.4, 156.7,
- 159.8, 162.2, 167.9, 173.8, 179.9, 183.5,
- 186.2, 189.9, 192.8, 196.6, 199.5, 203.5,
- 206.5, 210.7, 218.1, 225.7, 229.1, 233.6,
- 241.8, 250.3, 254.1,
- ]
Is this list different than the main one in chirp_common? While it's a little messy, I think it would be better to stick with the convention of copying the main list and adding/removing tones to get to the supported list. At the very least, it makes it easyier to come back and figure out what the deltas are.
- POWER_LEVELS = ["Hi","Mid1","Mid2","Low"]
Need spaces after the commas
- #DUPLEX = ["", "-", "+", "split", "Auto"]
- DUPLEX = ["", "-", "+", "split"]
I like to avoid commented-out code whenever possible. Perhaps just a comment above that says "Duplex index 4 is auto mode". Will memories with auto set create an IndexError trying to look their value up in this list?
- def get_memory(self, number):
- _mem = self._memobj.memory[number-1]
- mem = chirp_common.Memory()
- mem.number = number
- mem.freq = _mem.rxfreq * 10
- mem.offset = _mem.txfreqoffset * 10
- if not _mem.tmode < len(self.TMODES):
- _mem.tmode = 0
- mem.tmode = self.TMODES[_mem.tmode]
- mem.rtone = self.TONES[_mem.tone]
- mem.mode = self.MODES[_mem.mode]
- '''
- # ars mode note yet working...
- # ARS mode:
- if _mem.ars and _mem.shift == 0:
- mem.duplex = self.DUPLEX[4]
This will fail, right?
- else:
- mem.duplex = self.DUPLEX[_mem.shift]
- '''
- mem.duplex = self.DUPLEX[_mem.shift]
- mem.power = self.POWER_LEVELS[_mem.power]
- # radio has a known bug with 5khz step and squelch
- if _mem.step == 0:
- _mem.step = 2
- mem.tuning_step = self.STEPS[_mem.step]
- mem.skip = _mem.skip and "S" or ""
- mem.name = _mem.name
- return mem
I don't see the DCS code being decoded anywhere. IIRC, that was the thing I could never figure out.
Thanks!