[chirp_devel] issue #967 - fix FT1DR settings
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)
participants (1)
-
Angus Ainslie