Yaesu FT-50 data description RCS $Header: /home/mole/riku/CVS/yaesu/ft50-data.txt,v 1.2 1998/05/08 11:51:40 riku Exp $ Author: Riku Kalinen, OH2LWO / K2LWO, Please read file LICENCE. Use this information with your own risk ! 1. PROTOCOL While down- or uploading, radio always echoes back every byte which is sent to it. Download (radio -> computer) Computer Radio Start program `ft50get'. Press PTT while in CLON mode. `SEND' appears to display. Sends block 1: total of 10 bytes Sends ACK (0x06) Echoes ACK. Sends block 2. total of 1+16=17 bytes Sends ACK Echoes ACK. Sends block 3. total of 1+112=113 bytes Sends ACK Echoes ACK. Sends block 4. total of 1+16=17 bytes Sends ACK Echoes ACK. Sends block 5. total of 1+16=17 bytes Sends ACK Echoes ACK. Sends block 6. total of 1+1776=1777 bytes Sends ACK Echoes ACK. Sends block 7. total of 1+1776=1777 bytes Sends ACK Echoes ACK. Sends block 8. total of 1+1=2 bytes `CLON' appears to display. Upload (computer -> radio) All of the data is transmitted. For brevity, only transmission of 1st and last characer of each block is shown in diagram. Computer Radio Press MONI while in CLON mode. `WAIT' appears to display. Start program `ft50send'. Sends 1. character of block 1. `RCV' appears to display. Echoes 1. character of block 1. Sends 2. character of block 1. Echoes 2. character of block 1. . . Sends last character of block 1. Echoes last character of block 1. Sends ACK. Sends 1. character of block 2. Echoes 1. character of block 2. . . Sends last character of block 2. Echoes last character of block 1. Sends ACK. Sends 1. character of block 3. Echoes 1. character of block 3. . . Sends last character of block 3. Echoes last character of block 3. Sends ACK. Sends 1. character of block 4. Echoes 1. character of block 4. . . Sends last character of block 4. Echoes last character of block 4. Sends ACK. Sends 1. character of block 5. Echoes 1. character of block 5. . . Sends last character of block 5. Echoes last character of block 5. Sends ACK. Sends 1. character of block 6. Echoes 1. character of block 6. . . Sends last character of block 6. Echoes last character of block 6. Sends ACK. Sends 1. character of block 7. Echoes 1. character of block 7. . . Sends last character of block 7. Echoes last character of block 7. Sends ACK. Sends only character of block 8. Echoes only character of block 8. Goes back to normal display. 3. DESCRIPTION OF DATA Yaesu FT-50 data as downloaded with program `ft50get'. Block 1: ?? 10 bytes Block 2: ?? 16 bytes Block 3: Channel flags 112 bytes One byte per channel slot: bit meaning 0 Used? (1=yes, 0=no) 1 Masked? (1=no, 0=yes) 2 Skip? (1=yes, 0=no) Block 4: VHF home 16 bytes (see block 6) Block 5: UHF home 16 bytes (see block 6) Block 6: Channel data 1776 bytes 111 channel slots, 16 bytes each Channel order: 1,...,99,L1,U1,L2,U2,L3,U3,L4,U4,L5,U5,?? If channel is flagged unused, channel data may be ff...ff (all bits 1) Byte bit Meaning 0 7 Channel name in use? (1=yes, 0=no) 6-3 ?? (Seems to be always off) 2-1 ?? (Sometimes both on) 0 ?? (Seems to be always off) 1 7-4 Power (0x0=L1, 0x2=L2, 0x4=L3, 0x8=H) 3-0 Channel step (0x6=50, 0x5=25, 0x4=20, 0x3=15, 0x2=12.5, 0x1=10, 0=5) 2 7-5 DTMF code memory (0=C, 0x1=P, 0x2=1, 0x3=2, 0x4=3, 0x5=4, 0x6=5, 0x7=6) bit 4 unused ?? 3-2 DTMF paging (0=no, 1=page, 2=t.page, 3=code) 1-0 Repeater shift (0=sim, 1=-shift, 2=+shift, 3=+-) 3 7-6 CTCSS/DCS (0=no, 1=E, 2=ED, 3=DCS) 5-0 CTCSS tone (0=67.0,...,38=250.3) Tones starting from 0: 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, 162.2, 167.9, 173.8, 179.9, 186.2, 192.8, 203.5, 210.7, 218.1, 225.7, 233.6, 241.8, 250.3 4 7-0 DCS tone (0=023,...,103=754) Tones starting from 0: 23, 25, 26, 31, 32, 36, 43, 47, 51, 53, 54, 65, 71, 72, 73, 74, 114, 115, 116, 122, 125, 131, 132, 134, 143, 145, 152, 155, 156, 162, 165, 172, 174, 205, 212, 223, 225, 226, 243, 244, 245, 246, 251, 252, 255, 261, 263, 265, 266, 271, 274, 306, 311, 315, 325, 331, 332, 343, 346, 351, 356, 364, 365, 371, 411, 412, 413, 423, 431, 432, 445, 446, 452, 454, 455, 462, 464, 465, 466, 503, 506, 516, 523, 526, 532, 546, 565, 606, 612, 624, 627, 631, 632, 654, 662, 664, 703, 712, 723, 731, 732, 734, 743, 754 bit 7 unused ?? 5 7-0 Mode (0=NFM, 0x1=AM, 0x2=WFM) bits 7-2 unused ?? 6-8 7-0 RX freq (BCD, 6 digits) 9-11 7-0 TX offset (-shift, +shift) OR TX freq (+-) 12-15 7-0 Channel name, if 0/7==1 if no name, contains 4 x 0x24 Block 7: Various parameters, VFOs, DTMF, autodial, unknown data 1776 bytes 2-113: Channel flags duplicated 116-275: 10 VFOs (A145, A220, A380, A430, A800, B145, ... , B800) 10 slots 16 bytes each, same format as in channel data (see b6). 309-324: ID string (callsign) for CW id Stored in same format than channel texts, unused spaces filled with 0xff. 330-525: 9 autodial memories (1-8: 20 bytes, 9: 36 bytes) Every autodial memory starts with 4 bytes: 0x0d 0x16 0x24 0x0 Unexistent digits are flagged with 0xff. DTMF characters: 0-D = 0x0, * = 0x0e, # = 0x0f 526-542: 8 DTMF memories: C, P, 1, 2, 3, 4, 5, 6 8 slots, 2 bytes each + 1 flag byte. Bit from flag byte indicates if decoder is enabled on this memory (_). Flag bits: bit7 = C, bit6 = P, ... , bit0 = 6 DTMF data is stored on BCD format. If not otherwise mentioned, alternatives in following data are started with item 0 and increment by 1. Byte Meaning Band edges are probably updated by radio itself each time a band is changed. 276-278 Lower edge of current band 280-282 Upper edge of current band 301 Sub display: off, on, dc 303 Automatic power off: off, 0.5h, 1h, 3h, 5h, 8h 304 Time-out timer: off, 1m, 2.5m, 5m, 10m 305 Lock: kl, dl, kl+dl, pl, kl+pl, dl+pl, kl+dl+pl 306 Receiver saver: off, 0.2, 0.3, 0.5, 1.0, 2.0 307 Lamp illumination: 5sec, key, tgl 308 Bell: off, 1, 3, 5, 8, rpt 326 ARTS mode: off, rx, tx, trx 327 ARTS beep: off, rang, all 543 Paging speed: 50ms, 100ms 544 Paging delay: 250ms, 450ms, 750ms, 1000ms 545 Paging bell: off, 1, 3, 5, 8, rpt 546 Paging answerback: off, ans, for 'Current' values are what is shown on display. VFO data (above) is updated when VFO is changed or memory mode is entered, etc. 1660 Current VFO A (0..4, 0=145, 1=220, 2=380, 3=430, 4=800) 1661 Current VFO B (0..4, 0=145, 1=220, 2=380, 3=430, 4=800) Bytes 1663-1671 are stored like channel data, except that individual data items are stored in individual bytes (e.g. several data items are not packed in same byte). 1663 Current power 1664 Current channel step 1665 Current code memory 1666 Current paging mode 1667 Current repeater shift 1668 Current selective calling mode 1669 Current CTCSS tone 1670 Current DCS tone 1671 Current mode 1672-1674 Current frequency 1676-1678 Current offset 1686 Squelch: 0,1,...,15 1687 W-FM squelch: 0,1,...,15 Bit values are 0=off, 1=on unless otherwise mentioned Byte bit Meaning 1688 7 RPTL, repeater input tracking 6 AMOD, auto mode 5 SCNL, scan lamp 4 RESM, scan resume mode 0=5sec, 1=carr 3 ARS, automatic repeater shift 2 BEEP, keypad beep 1 LCK, lock 0 Unknown?? 1689 7 LGT, 6 PAGE/AMSG, 5 Unknown?? 4 BCLO, Busy channel lock out 3-2 Unknown?? 1 CWID, 0 TSAV, TX save 1690 7-4 Unknown?? 3 ARTS/SPED: 0=15s, 1=25s 2 Unknown?? 1 RVHM: 0=home, 1=rev 0 MON: 0=mon, 1=tcal Meaning of unmentioned data is unknown. Some of it seems to be changing even if no config changes to radio are made. Block 8: Checksum over all previous data 1 byte