[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