[chirp_devel] [PATCH] [VV-898] Add Settings to Leixen VV-898 Module - Part 9

Jim Unroe
Sun Jan 25 11:13:22 PST 2015


# HG changeset patch
# User Jim Unroe <rock.unroe at gmail.com>
# Date 1422212509 18000
# Node ID 0d6ae97ab5ae1c1ba1677885a95d3b5a4a12bd3c
# Parent  af367aa71ddccf415110aeac62b96db3a7a2f73f
[VV-898] Add Settings to Leixen VV-898 Module - Part 9

Add the following settings:
- DTMF Digit Time
- DTMF Digit Space Time
- DTMF First Digit Delay
- DTMF Pretime
- DTMF * and # Digit Delay
- DTMF ACK Decode
- DTMF Side Tone

Corrected spelling error in Part 7

related to #2149

diff -r af367aa71ddc -r 0d6ae97ab5ae chirp/leixen.py
--- a/chirp/leixen.py	Sun Jan 25 09:21:26 2015 -0500
+++ b/chirp/leixen.py	Sun Jan 25 14:01:49 2015 -0500
@@ -83,7 +83,9 @@
      absel:1,            // a/b select
      unknown:2
      keymshort:4;        // m key short press
-  u8 unknown:6,
+  u8 unknown:4,
+     dtmfst:1,           // dtmf sidetone
+     ackdecode:1,        // ack decode
      monitor:2;          // monitor
   u8 unknown1:3,
      reset:1,            // reset enable
@@ -91,11 +93,16 @@
      keypadmic_off:1,    // keypad mic (inverted)
      unknown3:2;
   u8 unknown0x0198;
-  u8 unknown0x0199;
-  u8 unknown0x019A;
-  u8 unknown0x019B;
-  u8 unknown0x019C;
-  u8 unknown0x019D;
+  u8 unknown1:3,
+     dtmftime:5;         // dtmf digit time
+  u8 unknown1:3,
+     dtmfspace:5;        // dtmf digit space time
+  u8 unknown1:2,
+     dtmfdelay:6;        // dtmf first digit delay
+  u8 unknown1:1,
+     dtmfpretime:7;      // dtmf pretime
+  u8 unknown1:2,
+     dtmfdelay2:6;       // dtmf * and # digit delay
   u8 unknown1:3,
      smfont_off:1,       // small font (inverted)
      unknown:4;
@@ -168,8 +175,12 @@
 ABSEL_LIST = ["B Channel",  "A Channel"]
 VOXGAIN_LIST = ["%s" % x for x in range(1, 9)]
 VOXDT_LIST = ["%s seconds" % x for x in range(1, 5)]
+DTMFTIME_LIST = ["%i milliseconds" % x for x in range(50, 210, 10)]
+DTMFDELAY_LIST = ["%i milliseconds" % x for x in range(0, 550, 50)]
+DTMFPRETIME_LIST = ["%i milliseconds" % x for x in range(100, 1100, 100)]
+DTMFDELAY2_LIST = ["%i milliseconds" % x for x in range(0, 450, 50)]
 
-LPTIME_LIST = ["%i miliseconds" % x for x in range(500, 2600, 100)]
+LPTIME_LIST = ["%i milliseconds" % x for x in range(500, 2600, 100)]
 PFKEYLONG_LIST = ["OFF",
                   "FM",
                   "Monitor Momentary",
@@ -510,9 +521,10 @@
         _settings = self._memobj.settings
         _msg = self._memobj.messages
         cfg_grp = RadioSettingGroup("cfg_grp", "Basic Settings")
+        adv_grp = RadioSettingGroup("adv_grp", "Advanced Settings")
         key_grp = RadioSettingGroup("key_grp", "Key Assignment")
         group = RadioSettingGroup("top", "All Settings", cfg_grp,
-                        key_grp)
+                        adv_grp, key_grp)
 
         #
         # Basic Settings
@@ -654,6 +666,41 @@
         cfg_grp.append(rs)
 
         #
+        # Advanced Settings
+        #
+        val = (_settings.dtmftime) - 5
+        rs = RadioSetting("dtmftime", "DTMF Digit Time",
+                          RadioSettingValueList(DTMFTIME_LIST,
+                                                DTMFTIME_LIST[val]))
+        adv_grp.append(rs)
+        val = (_settings.dtmfspace) - 5
+        rs = RadioSetting("dtmfspace", "DTMF Digit Space Time",
+                          RadioSettingValueList(DTMFTIME_LIST,
+                                                DTMFTIME_LIST[val]))
+        adv_grp.append(rs)
+        val = (_settings.dtmfdelay) / 5
+        rs = RadioSetting("dtmfdelay", "DTMF 1st Digit Delay",
+                          RadioSettingValueList(DTMFDELAY_LIST,
+                                                DTMFDELAY_LIST[val]))
+        adv_grp.append(rs)
+        val = (_settings.dtmfpretime) / 10 - 1
+        rs = RadioSetting("dtmfpretime", "DTMF Pretime",
+                          RadioSettingValueList(DTMFPRETIME_LIST,
+                                                DTMFPRETIME_LIST[val]))
+        adv_grp.append(rs)
+        val = (_settings.dtmfdelay2) / 5
+        rs = RadioSetting("dtmfdelay2", "DTMF * and # Digit Delay",
+                          RadioSettingValueList(DTMFDELAY2_LIST,
+                                                DTMFDELAY2_LIST[val]))
+        adv_grp.append(rs)
+        rs = RadioSetting("ackdecode", "ACK Decode",
+                          RadioSettingValueBoolean(_settings.ackdecode))
+        adv_grp.append(rs)
+        rs = RadioSetting("dtmfst", "DTMF Sidetone",
+                          RadioSettingValueBoolean(_settings.dtmfst))
+        adv_grp.append(rs)
+
+        #
         # Key Settings
         #
         val = (_settings.lptime) - 5
@@ -749,6 +796,16 @@
                         setattr(obj, setting, not int(element.value))
                     elif setting == "keypadmic_off":
                         setattr(obj, setting, not int(element.value))
+                    elif setting == "dtmftime":
+                        setattr(obj, setting, int(element.value) + 5)
+                    elif setting == "dtmfspace":
+                        setattr(obj, setting, int(element.value) + 5)
+                    elif setting == "dtmfdelay":
+                        setattr(obj, setting, int(element.value) * 5)
+                    elif setting == "dtmfpretime":
+                        setattr(obj, setting, (int(element.value) + 1) * 10)
+                    elif setting == "dtmfdelay2":
+                        setattr(obj, setting, int(element.value) * 5)
                     elif setting == "lptime":
                         setattr(obj, setting, int(element.value) + 5)
                     else:



More information about the chirp_devel mailing list