[chirp_devel] issue #967 - fix FT1DR settings

Angus Ainslie
Sun Dec 28 09:49:59 PST 2014


issue #967 - fix FT1DR settings

- fix the alignment for the aprs structs
- fix alignment for misc and scan settings

diff -r 7e83ceb5428d -r c3dacbee3ecf chirp/ft1d.py
--- a/chirp/ft1d.py     Fri Dec 26 16:29:32 2014 -0700
+++ b/chirp/ft1d.py     Sat Dec 27 23:16:48 2014 -0700
@@ -24,23 +24,46 @@
  from chirp.settings import RadioSettingValueList, 
RadioSettingValueBoolean
  from textwrap import dedent

-OLD_FORMAT = """
+MEM_FORMAT = """
  #seekto 0x049a;
  struct {
    u8 vfo_a;
    u8 vfo_b;
  } squelch;

-#seekto 0x04bf;
+#seekto 0x04c1;
  struct {
    u8 beep;
  } beep_select;

+#seekto 0x04ce;
+struct {
+  u8 lcd_dimmer;
+  u8 dtmf_delay;
+  u8 unknown0[3];
+  u8 unknown1:4
+     lcd_contrast:4;
+  u8 lamp;
+  u8 unknown2[7];
+  u8 scan_restart;
+  u8 unknown3;
+  u8 scan_resume;
+  u8 unknown4[5];
+  u8 tot;
+  u8 unknown5[3];
+  u8 unknown6:2,
+     scan_lamp:1,
+     unknown7:2,
+     dtmf_speed:1,
+     unknown8:1,
+     dtmf_mode:1;
+  u8 busy_led:1,
+     unknown9:7;
+  u8 unknown10[2];
+  u8 vol_mode:1,
+     unknown11:7;
+} scan_settings;

-
-"""
-
-MEM_FORMAT = """
  #seekto 0x064a;
  struct {
    u8 unknown0[4];
@@ -85,38 +108,11 @@
    u8 checksum;
  } vfo_info[6];

-#seekto 0x04ce;
-struct {
-  u8 lcd_dimmer;
-  u8 dtmf_delay;
-  u8 unknown0[3];
-  u8 unknown1:4
-     lcd_contrast:4;
-  u8 lamp;
-  u8 unknown2[7];
-  u8 scan_restart;
-  u8 unknown3;
-  u8 scan_resume;
-  u8 unknown4[5];
-  u8 tot;
-  u8 unknown5[3];
-  u8 unknown6:2,
-     scan_lamp:1,
-     unknown7:2,
-     dtmf_speed:1,
-     unknown8:1,
-     dtmf_mode:1;
-  u8 busy_led:1,
-     unknown9:7;
-  u8 unknown10[2];
-  u8 vol_mode:1,
-     unknown11:7;
-} scan_settings;
-
  #seekto 0x047e;
  struct {
-  u16 flag;
-  u16 unknown;
+  u8 unknown1;
+  u8 flag;
+  u16 unknown2;
    struct {
      u8 padded_yaesu[16];
    } message;
@@ -175,8 +171,8 @@

  #seekto 0xbeca;
  struct {
+  u8 rx_baud;
    u8 custom_symbol;
-  u8 unknown2;
    struct {
      char callsign[6];
      u8 ssid;
@@ -210,10 +206,8 @@
       filter_weather:1,
       filter_position:1,
       filter_mic_e:1;
-  u8 unknown12:2,
-     timezone:6;
-  u8 unknown13:4,
-     beacon_interval:4;
+  u8 unknown12;
+  u8 unknown13;
    u8 unknown14;
    u8 unknown15:7,
       latitude_sign:1;
@@ -229,19 +223,23 @@
       selected_position:4;
    u8 unknown18:5,
       selected_beacon_status_txt:3;
-  u8 unknown19:6,
+  u8 unknown19:4,
+     beacon_interval:4;
+  u8 unknowni21:4,
+       tx_delay:4;
+  u8 unknown21b:6,
       gps_units_altitude_ft:1,
       gps_units_position_sss:1;
    u8 unknown20:6,
       gps_units_speed:2;
-  u8 unknown21[4];
+  u8 unknown21c[4];
    struct {
      struct {
        char callsign[6];
        u8 ssid;
      } entry[8];
    } digi_path_7;
-  u8 unknown22[2];
+  u8 unknown22[18];
    struct {
      char padded_string[16];
    } message_macro[7];
@@ -251,7 +249,10 @@
    struct {
      char padded_string[9];
    } msg_group[8];
-  u8 unknown25[4];
+  u8 unknown25;
+  u8 unknown25a:2,
+     timezone:6;
+  u8 unknown25b[2];
    u8 active_smartbeaconing;
    struct {
      u8 low_speed_mph;
@@ -285,12 +286,18 @@
    u8 unknown34:2,
       vibrate_bln:6;
  } aprs;
+
+#seekto 0xc26a;
+struct {
+  char padded_string[60];
+} aprs_beacon_status_txt[5];
+
  #seekto 0x%04X;
  struct {
    bbcd date[3];
-  u8 unknown1;
    bbcd time[2];
    u8 sequence;
+  u8 unknown1;
    u8 unknown2;
    u8 sender_callsign[7];
    u8 data_type;
@@ -299,9 +306,13 @@
    u8 unknown4:1,
       callsign_is_ascii:1,
       unknown5:6;
-  u8 unknown6;
+  u8 unknown6[2];
    u16 pkt_len;
+  u8 unknown7;
    u16 in_use;
+  u16 unknown8;
+  u16 unknown9;
+  u16 unknown10;
  } aprs_beacon_meta[%d];

  #seekto 0x%04X;
@@ -313,10 +324,14 @@
    u8 path_and_body[%d];
  } aprs_beacon_pkt[%d];

-#seekto 0xf92a;
+#seekto 0x137c4;
  struct {
-  char padded_string[60];
-} aprs_beacon_status_txt[5];
+  u8 unknown0;
+  u8 dst_callsign[6];
+  u8 dst_callsign_ssid;
+  u8 path_and_body[66];
+  u8 unknown[70];
+} aprs_message_pkt[60];

  #seekto 0x1FDC9;
  u8 checksum;
@@ -500,7 +515,7 @@
      _mem_params = (0xFECA, # APRS beacon metadata address.
                     60,     # Number of beacons stored.
                     0x1064A, # APRS beacon content address.
-                   144,    # Length of beacon data stored.
+                   162,    # Length of beacon data stored.
                     60)     # Number of beacons stored.
      _has_vibrate = False
      _has_af_dual = True
@@ -561,7 +576,7 @@
                      ["%.1fs" % (0.5 * x) for x in range(2,21)]
      _LAMP_KEY = ["Key %d sec" % x for x in range(2,11)] + 
["Continuous", "OFF"]
      _LCD_CONTRAST = ["Level %d" % x for x in range(1,16)]
-    _LCD_DIMMER = ["Level %d" % x for x in range(1,5)]
+    _LCD_DIMMER = ["Level %d" % x for x in range(1,7)]
      _TOT_TIME = ["Off"] + ["%.1f min" % (0.5 * x) for x in range(1, 
21)]
      _OFF_ON = ("Off", "On")
      _VOL_MODE = ("Normal", "Auto Back")
@@ -1006,7 +1021,7 @@
          rs = RadioSetting("aprs.selected_msg_group", "Selected Message 
Group",
                            val)
          menu.append(rs)
-
+
          val = RadioSettingValueBoolean(aprs.filter_mic_e)
          rs = RadioSetting("aprs.filter_mic_e", "Receive Mic-E Beacons", 
val)
          menu.append(rs)




More information about the chirp_devel mailing list