Notes:
- For a program that utilizes the CAT commands (both
documented and undocumented) to a very large extent,
look at HB9DRV's FT-817 Commander program.
- Also note that I do NOT own an FT-817ND and have not had
the opportunity to examine one carefully to note the subtle
differences between it and the original '817, especially when
it comes to CAT programming and memory locations.
- The EEPROM memory map has been moved to a separate page - refer to the link near the bottom of the page.
Important: This document details aspects of CAT interface commands that are specific to the FT-817. Furthermore, some of these parameters (specifically memory locations) may be pertinent only to the version of the software in my radio and may not apply to other software versions! Finally, careless use of these commands may result in an unusable radio, requiring complete recalibration! You have been warned!
Comment: The Japanese domestic version of the FT-817 apparently has a different CPU which is "hardcoded" to limit its frequency coverage. It would be interesting to know if the EEPROM addresses below are the same for this (and other) versions.
Note: For reference, the first four characters of the serial number on my '817 are: 1D21
Computer control of the FT-817:
Most modern HF transceivers are capable of remote control via the
serial interface (called the CAT interface by
Yaesu) and the FT-817 is no exception. Ideally, it should be
possible to glean enough information to do everything remotely
that it is possible to do from the radio's front panel.
Unfortunately, this isn't always the case: Almost
inevitably, some minor feature or piece of information is omitted
and a "remote simulation" just is not possible.
The simple answer: Because the '817 has a serial port. It occurred to me that there must be a few undocumented commands in the interface protocol to allow Yaesu to perform a semi-automated calibration of the radio, so I began to poke around in the interface. After a few minutes, I was able to discern the presence of several previously undocumented commands. Soon after this (and after throwing together some "sniffer" software) I was accumulating a large pile of notes as to which address did what. The real reason why I did this was to be able to interface the '817 to a computer to do some field strength measurements (documented here) - and I needed the '817 to do more than it could "officially" do. Since I was already documenting this information, I decided to make this information available to others who might want to use it. |
Such is the case of the FT-817: While it is possible to perform most functions (such as setting frequency and mode) and display a few of the displayed parameters (such as the S-meter,) while the status of a few other items (such as attenuator, AGC, preamplifier, and transmitter power settings, to name a few) does not seem to be available via the interface.
Not with documented commands, anyway...
As it turns out, there are a number of very powerful undocumented commands specific to the FT-817 that allow access to most of this sort of data - both to read and change this data - but more on this later. These commands are no doubt what allows Yaesu to have an automated test fixture for most calibration points in the radio.
The FT-817's command structure consists of a 5 byte command sent at the baud rate specified in menu item 14. The format is 8 data bits, no parity, 1 start bit, and 2 stop bits with the command sent to the FT-817 being formatted as follows:
[Data 1][Data 2][Data 3][Data 4][Command]Note: It is specified in the manual that these 5 bytes are to be sent in quick succession - within 200 milliseconds of each other. Experimentation reveals, however, that this would be too slow - it is more likely that all 5 bytes must be sent within a 200 millisecond period.
Not all commands "look" at all 4 data bytes, but in all cases, all 4 bytes must be sent. On those commands where not all 4 data bytes are required, those unused bytes may contain anything.
Comment:
The command set is as follows in (the commands are in numerical
order.) The bytes designated with X may contain any
data:
Description |
Byte 1 |
Byte 2 |
Byte 3 |
Byte 4 |
(in HEX) |
|
Lock On |
|
|
|
|
|
This command is equivalent to turning the dial/panel
lock on. This precise effect of this setting depends
on the state of submenu item #32 (stored at memory
location 5E HEX - see below.)
This command returns 00 if it was unlocked, and F0 if already locked. |
Set Frequency |
|
|
|
|
|
This commands sets the current frequency (see below) |
Split On |
|
|
|
|
|
This command enables split operation. Use the Read
Transmitter Status command (below) to determine
current split status.
This command returns 00 if not already on, and F0 (HEX) if already on. |
Read Frequency and mode |
|
|
|
|
|
This command returns five bytes (see below) |
Clarifier On |
|
|
|
|
|
This command turns the clarifier (a.k.a. RIT) on.
This command returns 00 if not already on, and F0 (HEX) if already on. |
Set Operating Mode |
Byte |
|
|
|
|
The mode byte is described below |
Set PTT ON |
|
|
|
|
|
This "keys" the FT-817. In CW, this sets the radio
to transmit mode, but does key the transmitter.
Note that keying and unkeying the radio's PTT line will
cancel the transmit mode (i.e. put it back into receive)
and effectively override this command This command returns 00 if the '817 was unkeyed, and F0 if already keyed. |
Set Repeater Offset Direction |
|
|
|
|
|
The byte "Offset" has the following function: 09 = - (minus) shift 49 = + (positive) shift 89 = simplex |
Set DCS/CTCSS mode |
|
|
|
|
|
The byte "Mode" has the following function: 0A = DCS Enable 2A = CTCSS Enable 4A = DCS/CTCSS Encoder enable 8A = DCS/CTCSS Encoder Disable |
Set CTCSS Tone Frequency |
|
|
|
|
|
This command sets the CTCSS frequency (see below) * |
Set DCS Code |
|
|
|
|
|
This command sets the DCS code. This is a 16 bit word containing the DCS code using two bytes (see below) * |
Turn on FT-817 |
|
|
|
|
|
This can be used to turn the FT-817 on - only if the corresponding off command was used and if power is being supplied via the rear connector. See the notes concerning the off command below. |
Read TX keyed state (Undocumented) |
|
|
|
|
|
This command returns 00 if the FT-817 is unkeyed, and nonzero (F0 HEX) if it is keyed. |
Lock Off |
|
|
|
|
|
This command is equivalent to turning the dial/panel
lock off.
This command returns 00 if the '817 was already locked, and F0 (HEX) if already unlocked. |
Toggle VFO |
|
|
|
|
|
This command toggles between VFO-A and VFO-B |
Split Off |
|
|
|
|
|
This command disables split operation. Use the Read
Transmitter Status command (below) to determine
current split status.
This command returns 00 if previously on, and F0 (HEX) if already off. |
Clarifier Off |
|
|
|
|
|
This command turns the clarifier (a.k.a. RIT) off.
This command returns 00 if previously on, and F0 (HEX) if already off. |
Set PTT Off |
|
|
|
|
|
This command puts the FT-817 into receive mode.
This command returns 00 if the '817 was keyed, and F0 if already unkeyed. |
Turn off FT-817 |
|
|
|
|
|
This command can be used to turn the FT-817 off, but ONLY when the FT-817 is powered from the rear connection and the "on" command (above) was used. Note that approx. 10 mA is consumed when the radio is turned "off" using this command - See notes below. |
Radio Configuration (Undocumented) |
|
|
|
|
|
This command causes a string of several bytes indicating the radio's configuration to be dumped. (See below) |
Unknown Status? (Undocumented) |
|
|
|
|
|
This command causes one byte (usually 00?) to be returned. Its function is unknown (see below) |
Read FT-817 EEPROM Data (Undocumented) |
MSB |
LSB |
|
|
|
This command causes two bytes of EEPROM data to be returned, beginning with the address in data bytes 1 and 2. (Approximately 6.25k of EEPROM data may be accessed - See below) |
Write FT-817 EEPROM Data (Undocumented) |
MSB |
LSB |
|
|
|
This command writes two bytes to the EEPROM at the address in data bytes 1 and 2. (USE WITH CARE - See below) |
Read TX metering (Undocumented) |
|
|
|
|
|
This command returns one byte (00) when in receive. When in transmit, this command returns two bytes (in BCD format) indicating Forward power, VSWR, ALC, and Modulation. (See below) |
Reset FT-817 to factory defaults and blow away all "soft" calibration settings! Use with extreme care! (Undocumented) |
|
|
|
|
|
This command completely resets all
configuration settings and factory calibration
parameters to their factory (pre-alignment)
values as well as erasing all channel memories. Be very careful when using this command! (See below) |
Read Receiver Status |
|
|
|
|
|
This command returns one byte containing receiver status (see below) |
Set Clarifier Frequency |
|
|
|
|
|
This command sets the clarifier (a.k.a. RIT) direction and offset amount (see below) |
Read Transmitter Status |
|
|
|
|
|
This command returns one byte containing transmitter status (see below) |
Set Repeater Offset Amount |
|
|
|
|
|
This command sets the magnitude of the repeater offset. It may range from 0 to 99.99 MHz (see below) |
Note: An asterisk (*) in the Notes column indicates that further study of that particular command is warranted, as its specific format may be unclear and/or it may do more than is immediately apparent.Notes on the above commands:
It is imperative that you record the value of all 76 "factory calibration settings" in the "Soft Calibration" menu before you start sending commands to the FT-817! Because some of the commands below can overwrite or erase these calibration settings, saving this data beforehand will allow you to restore your FT-817 back to proper working order without having to either send it off to be re-aligned or your needing to follow the calibration procedure outlined in the service manual.
You have been warned!
The '817 uses an EEPROM to store nonvolatile data. This means that every time you change a setting or a band, updated information is written to the EEPROM. As it turns out, EEPROMs have a limited number of "write" cycles before they literally "wear out." Typically, the lifetime is 1 million writes. Under "good" conditions, however (i.e. normal room temperature, normal voltage conditions) typical EEPROMs will withstand 10 million or more writes before they start to fail... According to the manufacturer, at least... What does this mean, then? For 1 million writes to occur, you would have to do the same thing to cause a write to the same address, once per second for 11 days: You are likely to wear out the button before you wear out the EEPROM. Since the lifetime of the EEPROM in the typical '817 is likely to be closer to 10 million writes, the actual figure is likely to be more like 4 months of constant rewriting. A computer, however, won't get tired as easily. If your program does 10 writes per second, you may want to reconsider how it operates if you are concerned about the EEPROM's lifetime: Do the math! |
Additional notes:
All of the nonvolatile parameters in the FT-817 are stored in the EEPROM (which is why there is no lithium battery in it). The content of all of the memory locations is yet to be determined (and probably can never be) but a few that are known for certain are listed below. For a list of EEPROM memory locations listed in address order, go to the Memory Map page.
The "factory calibration settings" (i.e. those obtained by pressing the A, B, and C keys while powering up the radio - and these parameters are variously referred to as "soft calibration settings" and the like) are stored in EEPROM. Addresses 7 through 82 correlate with menu items 1 through 76 (i.e. add 6 to the menu item to calculate the EEPROM address.) Most of these parameters range from 0-255 - a parameter which correlates directly with the value stored in memory. A few known exceptions are as follows:
Very important:
Additionally, many of the selectable menu items are stored in EEPROM as well. When these values are written/updated, the change is immediate. These are stored as follows. Note - These locations are believed to be correct, but since there are so many, I may have made a mistake. Please let me know of errors that you may find.
Memory locations for Menu items
(Not it any particular order)
|
Address (HEX) |
used (7-0) |
Remarks (bit status) |
VFO-A/B | 55 | 0 | 0 = VFO-A, 1 = VFO-B |
IPO On/Off | Base address + 2
Refer to VFO Memory record format (farther down the page) |
5 | 0 = IPO off, 1 = IPO on Note: The "Phantom" band is that "extra" HF band that exists to allow tuning outside of amateur bands. Note: IPO, ATT, etc aren't actually available on FM BCB, Air, 2 M, and UHF bands.) |
ATT On/Off | (Same addresses as IPO, except that bit 4 is used) | 4 | 0 = ATT off, 1 = ATT on ("Attenuator") |
Clar On/Off | (Same addresses as IPO, except that bit 6 is used) | 6 | 0 = Clar off, 1 = Clar on ("Clarifier" a.k.a. BFO) |
NB On/Off | 57 | 5 | 0 = NB off, 1 = NB on (Noise Blanker) |
AGC Mode | 57 | 1, 0 | 00 = Auto, 01 = Fast, 10 = Slow, 11 = Off |
TX Power | 79 (All bands) | 1, 0 | 00 = High, 01 = L3, 10 = L2, 11 = L1 |
DW On/Off | 79 | 3 | 0 = Off, 1 = On ("Dual Watch) |
PRI On/Off | 79 | 4 | 0 = PRI off, 1 = PRI on (Priority scan) |
SCN (Scan) Mode | 79 | 6,5 | 00 = No scan, 10 = Scan up, 11 = Scan down |
ART On/Off | 79 | 7 | 0 = Off, 1 = On (Auto-Range Transponder) |
Pwr Meter | 58 | 1, 0 | 00 = PWR, 01 = ALC, 10 = SWR, 11 = MOD |
BK On/Off | 58 | 5 | 0 = BK off, 1 = BK on (Semi Break-In for CW) |
KYR On/Off | 58 | 4 | 0 = KYR off, 1 = KYR on (Keyer) |
VLT On/Off | 58 | 6 | 0 = VLT off, 1 = VLT on (Voltmeter display) |
DSP On/Off | 57 | 2 | 0 = DSP off, 1 = DSP on (Display format) |
CHG On/Off | 7B | 4 | 0 = Off, 1 = On (Charge enable) |
VOX On/Off | 58 | 7 | 0 = VOX off, 1 = VOX on |
NAR On/Off (CW, CWN, DIG Mode) |
Base address + 1
Refer to VFO Memory record format (farther down the page) |
4 |
0 = Off, 1 = On Note: The "Phantom" band is that "extra" HF band that exists to allow tuning outside of amateur bands. Note that bits are allocated for this function even on bands where they are not used. |
NAR On/Off (FM, FMN Mode) |
Same addresses as NAR On/Off - CW Mode (above) | 3 | 0 = Off, 1 = On |
SPL On/Off | 7A | 7 | 0 = Off, 1 = On ("Split" mode) |
RPT Offset | Same addresses as NAR On/Off - CW Mode (above) | 7-6 | 0 = Simplex, 01 = Minus, 10 = Plus, 11 = Nonstandard Split |
Submenu Memory Locations:
(Description) |
Address (HEX) |
used (7-0) |
|
1 - 144 ARS | 5F | 6 | 0 = ARS off, 1 = on (Auto repeater shift) |
2 - 430 ARS | 5F | 5 | 0 = ARS off, 1 = on (Auto repeater shift) |
3 - 9600 Mic (0-100) | 6C | 6-0 | Contains 0-100 (decimal) as displayed |
4 - Disable AM/FM Dial | 63 | 7 | 0 = enable, 1 = disable |
5 - AM Mic (0-100) | 68 | 6-0 | Contains 0-100 (decimal) as displayed |
6 - AM Step | Base address + 3
Refer to VFO Memory record format (farther down the page) |
5-3 | 000 = 2.5 kHz, 001 = 5 kHz, 010 = 9 kHz, 011 = 10 kHz,
100 = 12.5 kHz, 101 = 25 kHz Note: The "Phantom" band is that "extra" HF band that exists to allow tuning outside of amateur bands. Note that bits are allocated for this function even on bands where they are not used. |
7 - Front/Rear Antenna | 7A | 0 - HF 1 - 6m 2 - FM 3 - Air 4 - 2m 5 - UHF |
0 = Front, 1 = Rear antenna
(Note: Different "bands" are stored in different bit locations as noted.) |
8 - APO Time | 65 | 2-0 | 000 = Off, 001 = 1 Hour, 010 = 2 Hours, etc. (i.e.
a 3 bit number from 0 to 6) (Auto power-off) |
9 - ARTS Beep Off/Range/All | 5D | 7-6 | 00 = Off, 01 = Range , 10 = All |
10 - Backlight Off/On/Auto | 5B | 7-6 | 00 = Off, 01 = On, 10 = Auto |
11 - Batt-Chg 6/8/10 Hours | 62 | 7-6 | 00 = 6 Hours, 01 = 8 Hours, 10 = 10 Hours |
12 - Beep Freq 440/880 Hz | 5C | 7 | 0 = 440 Hz, 1 = 880 Hz |
13 - Beep Volume (0-100) | 5C | 6-0 | Contains 0-100 as displayed |
14 - CAT Rate (4800, 9600, 38400) | 64 | 7-6 | 00 = 4800 Baud, 01 = 9600 Baud, 10 = 38400 Baud. Note: If you can read this address, you probably already know what the baud rate is... |
15 - Color Color1/Color2 | 5B | 4 | 0 = Color1 (Blue) 1 = Color2 (Amber) |
16 - Contrast (1-12) | 5B | 3-0 | 0010 = 1 through 1101 = 12 |
17 - CW Delay (10-2500 ms) | 60 | (all) | From 1 to 250 (decimal) with each step representing 10 ms |
18 - CW ID Off/On | 5D | 4 | 0 = Off, 1 = On |
19 - CW Paddle Normal/Reverse | 58 | 2 | 0 = Normal, 1 = Reverse |
20 - CW Pitch (300-1000 Hz) | 5E | 3-0 | From 0 to E (hex) with 0 = 300 Hz and each step representing 50 Hz |
21 - CW Speed (4-60 WPM) | 62 | 5-0 | From 0 to 38 (hex) with 0 = 4 WPM and 38 = 60 WPM (each step = 1 WPM) |
22 - CW Weight (1:2.5 - 1:4.5) | 5F | 4-0 | From 0 to 14 (hex) with 0 = 1:2.5, incrementing in 0.1 weight steps |
23 - DCS Code | Base address + 9
Refer to VFO Memory record format (farther down the page) |
5-0 | From 0 to 67 (hex) with 0 = DCS code 023 and 67 (hex) =
DCS code 754 Note: The "Phantom" band is that "extra" HF band that exists to allow tuning outside of amateur bands. Note that bits are allocated for this function even on bands where they are not used. |
24 - Dig Disp (-3000 to +3000 Hz) | 6F-70 | (all) | 6F is MSB and 70 is LSB with sign in bit 7 of the MSB,
in 10 Hz steps. I.e. 0000 = 0 Hz, 0001 = +10 Hz, FF01 = -10 Hz, 012C = +3000 Hz, FED4 = -3000 Hz |
25 - Dig Mic (0-100) | 6A | 6-0 | Contains 0-100 (decimal) as displayed |
26 - Dig Mode | 65 | 7-5 | 000 = RTTY, 001 = PSK31-L, 010 = PSK31-U, 011 = USER-L, 100 = USER-U |
27 - Dig Shift | 6D-6E | (all) | 6D is MSB, 6E is LSB. Same format as #24 |
28 - Emergency | 64 | 5 | 0 = Off, 1 = On |
29 - FM Mic (0-100) | 69 | 6-0 | Contains 0-100 (decimal) as displayed |
30 - FM Step | Base address + 3
Refer to VFO Memory record format (farther down the page) |
2-0 | 000 = 5 kHz, 001 = 6.25 kHz, 010 = 10 kHz, 011 = 12.5
kHz, 100 = 15 kHz, 101 = 20 kHz, 110 = 25 kHz, 111 = 50
kHz Note: The "Phantom" band is that "extra" HF band that exists to allow tuning outside of amateur bands. |
31 - ID | This value does not appear to be stored in "reachable" EEPROM. | ||
32 - Lock Mode | 5E | 5-4 | 00 = Dial, 01 = Freq, 10 = Panel |
33 - Main Step | 5D | 5 | 0 = Fine, 1 = Coarse |
34 - Mem Group | 65 | 4 | 0 = Off, 1 = On |
35 - Mem Tag | To Be Determined | ||
36 - Mic Key | 68 | 7 | 0 = Off, 1 = On |
37 - Mic Scan | 69 | 7 | 0 = Off, 1 = On |
38 - Op Filter | 5E | 7-6 | 00 = Off, 01 = SSB, 10 = CW |
39 - Pkt Mic (0-100) | 6B | 6-0 | Contains 0-100 (decimal) as displayed |
40 - Pkt Rate | 5D | 2 | 0 = 1200, 1 = 9600 |
41 - Resume | 5D | 1-0 | 00 = Off, 01 = 3 Sec, 10 = 5 Sec, 11 = 10 Sec |
42 - Rpt Shift | Base address + addresses F-11 (HEX)
Refer to VFO Memory record format (farther down the page) |
(all) | A 24 bit number from with each count representing a 10
Hz step (i.e. 10 Hz = 1, 10 kHz = 1000) representing
up to a 99.99 MHz shift. Note: The "Phantom" band is that "extra" HF band that exists to allow tuning outside of amateur bands. Note that bits are allocated for this function even on bands where they are not used. |
43 - Scope | 5D | 3 | 0 = Cont, 1 = Chk |
44 - Sidetone | 61 | 6-0 | Contains 0-100 (decimal) as displayed |
45 - Sql/RF-G | 5F | 7 | 0 = RF-Gain, 1 = Squelch |
46 - SSB Mic | 67 | 6-0 | Contains 0-100 (decimal) as displayed |
47 - SSB Step | Base address + 3
Refer to VFO Memory record format (farther down the page) |
7-6 | 00 = 1 kHz, 01 = 2.5 kHz, 10 = 5 kHz Note that bits are allocated for this function even on bands where they are not used. |
48 - Tone Freq | Base address + 6
Refer to VFO Memory record format (farther down the page) |
4-0 | Contains 0-31 with 0 = 67.0 Hz and 31 = 254.1 Hz
representing each of the standard 32 CTCSS tones. Note: The "Phantom" band is that "extra" HF band that exists to allow tuning outside of amateur bands. Note that bits are allocated for this function even on bands where they are not used. |
49 - TOT Time | 66 | 4-0 | Contains 0-20 (with 0 = TOT Off) |
50 - VOX Delay | 64 | 4-0 | 0 = 100 Ms with each step representing 100 Ms, up to 24 = 2500 Ms |
51 - VOX Gain | 63 | 6-0 | Contains 1-100 (decimal) as displayed |
52 - Extend | 6B | 7 | 0 = Off, 1 = On |
53 - DCS INV | 66 | 7-6 | 00 = Tn-Rn, 01 = Tn-Riv, 10 = Tiv-Rn, 11 = Tiv-Riv |
54 - R LSB Car | 71 | (all) | Each step represents 10 Hz with the MSB indicating a negative value. (From -300 to +300 Hz) |
55 - R USB Car | 72 | (all) | Same format as #54 |
56 - T LSB Car | 73 | (all) | Same format as #54 |
57 - T USB Car | 74 | (all) | Same format as #54 |
Miscellaneous memory locations:
|
Address (HEX) |
Used (7-0) |
|
VFO A/B, HOME, MTUNE, QMB, MTQMB, and memory frequency storage | Base address + addresses A-D (HEX) | (all) | Refer to VFO Memory and Memory record formats (farther down the page) |
VFO A/B, HOME, MTUNE, QMB, MTQMB, and memory mode Storage | Base address + 0 | 2-0 | Refer to VFO Memory and Memory record formats (farther down the page) |
Display menu (toggled using the "F" key) | 76 | 3-0 | 0000 = VFO A/B, A=B, SPL; 0001 = MW, MC, TAG; 0010 = STO, RCL, PMS; 0011 = RPT, REV, TON; 0100 = SCN, PRI, DW; 0101 = SSM, SCH, ART; 0110 = IPO, ATT, NAR; 0111 = NB, AGC; 1000 = PWR, MTR; 1001 = VOX, BK, KYR; 1010 = CHG, VLT, DSP; 1011 = TCH, DCH |
Submenu selection (displayed holding the "F" key) | 75 | 5-0 | Range from 0 to 38 (Hex) for menu items 1-57 |
FST (Fast Tuning) On/Off | 57 | 7 | 0 = On, 1 = Off |
PBT On/Off | 57 | 4 | 0 = Off, 1 = On |
Lock On/Off | 57 | 6 | 0 = On, 1 = Off |
Band Selection - VFO A | 59 | 3-0 | 0000 = 160 M, 0001 = 75 M, 0010 = 40 M, 0011 = 30 M, 0100 = 20 M, 0101 = 17 M, 0110 = 15 M, 0111 = 12 M, 1000 = 10 M, 1001 = 6 M, 1010 = FM BCB, 1011 = Air, 1100 = 2 M, 1101 = UHF, 1110 = (Phantom) |
Band Selection - VFO B | 59 | 7-4 | Same as above |
Mem/VFO status | 55 | 7 | 0 = Memory, 1 = VFO A or B |
Memory/MTUNE | 55 | 5 | 0 = Memory, 1 = MTUNE |
HOME select | 55 | 4 | 0 = (Not home) 1 = HOME memory selected |
QMB Select | 55 | 2 | 0 = (Not QMB) 1 = QMB |
MTQMB Select | 55 | 1 | 0 = (Not MTQMB) 1 = MTQMB |
Voltmeter Calibration Factor | 53 | (all) | This is an "internal" value used to calibrate the voltmeter display. |
"Current" Memory Channel saved in EEPROM. This is the memory channel that will be "remembered" when the radio is powered-up next time - This is not necessarily the current memory. | 44F | (all) | 0 = Memory 1, C7 (HEX) = Memory 200, M-PL = C8, M-PU = C9 |
Radio "version" configuration | 4-5 | (all) | These two bytes contain the configuration of jumpers
J4001-J4009. These bytes do not contain the bits
relating to these jumpers directly, but some sort of
calculated number indicating jumper configuration.
Known configurations are as follows: J4005-J4009 jumpered: 0xD8, 0xBF |
EEPROM integrity "checksums" | 0-3 | (all) | When a "hard reset" is done, these addresses contain something akin to a checksum. If the contents of these addresses is disturbed, the CPU will do a complete initialization of the EEPROM, erasing all configuration, "soft calibration" values, and memories. You have been warned! |
VFO Memory Record Format (Preliminary):
VFO Memory records:
|
from base (HEX) |
Used (7-0) |
|
Mode | 0 | 2-0 | 000 = LSB, 001 = USB, 010 = CW, 011 = CWR, 100 = AM, 101 = FM, 110 = DIG, 111 = PKT (Note: WFM is represented as "FM" when in the FM-BCB range.) |
Unknown | 0 | 7-3 | Unknown - probably unused |
Unknown | 1 | 2-0 | Unknown - probably unused |
Nar On/Off (FM, FMN Mode) | 1 | 3 | 0 = Off, 1 = On |
Nar On/Off (CW, CWN, DIG mode) | 1 | 4 | 0 = Off, 1 = On |
Unknown | 1 | 5 | Unknown - probably unused |
RPT Offset | 1 | 7-6 | 00 = Simplex, 01 = Minus, 10 = Plus, 11 = Nonstandard Split (using separate TX freq) |
Tone/DCS Select | 2 | 1-0 | 00 = Off, 01 = Tone (tx), 10 = Tone + Tone Squelch, 11 =
DCS - Probably incorrect - see offset 4, below |
Unknown | 2 | 3-2 | Unknown |
Att On/Off | 2 | 4 | 0 = Att Off, 1 = Att On |
IPO On/Off | 2 | 5 | 0 = IPO Off, 1 = IPO On |
Unknown | 2 | 7-6 | Unknown - probably unused |
FM Step (Menu # 30) | 3 | 2-0 | 000 = 5 kHz, 001 = 6.25 kHz, 010 = 10 kHz, 011 = 12.5 kHz, 100 = 15 kHz, 101 = 20 kHz, 110 = 25 kHz, 111 = 50 kHz |
AM Step (Menu #6) | 3 | 5-3 | 000 = 2.5 kHz, 001 = 5 kHz, 010 = 9 kHz, 011 = 10 kHz, 100 = 12.5 kHz, 101 = 25 kHz |
SSB Step (Menu # 47) | 3 | 7-6 | 00 = 1 kHz, 01 = 2.5 kHz, 10 = 5 kHz |
Tone/DCS Select | 4 | 1-0 | 00 = Off, 01 = Tone (tx), 10 = Tone + Tone Squelch, 11 = DCS |
Unknown |
4 |
7-2 |
Unknown |
Unknown | 5 | Unknown | |
CTCSS Tone Freq (Menu #48) | 6 | 5-0 | Contains 0-31 with 0 = 67.0 Hz, representing 50 CTCSS tones. |
Unknown | 6 | 7-5 | Unknown |
DCS Code | 7 | 6-0 | Contains 0-67 (HEX) with 0 = DCS Code 023, 67 (HEX) = DCS code 754 |
Unknown | 7 | 7 | Unknown |
RIT Offset | 8-9 | (all) | The RIT offset is stored as a signed number in two bytes ranging from -999 to 999 representing -9.99 to +9.99 kHz offset. The MSB (with the sign) is stored in the lower byte (8) and the LSB is in the upper byte (9.) |
RX Frequency | A-D | (all) | Frequency is stored in a binary format with the MSB in the
lower byte (A) and the LSB in the upper byte (D) Example: A value of 02 97 F2 19 (HEX) translates to 43512345 (decimal) and thus a display frequency of 435.12345 MHz. |
Unknown | E | Unknown - probably unused | |
Repeater offset (Menu #42) | F-11 | (all) | A 24 bit number with each count representing a 10 Hz step (i.e. 10 Hz = 1, 10 kHz = 1000, etc.) representing up to a 99.99 MHz shift. |
Unknown | 12-19 | Unknown - probably unused |
Memory (not VFO) Record Format (Preliminary):
Memory records:
|
from base (HEX) |
Used (7-0) |
|
Mode | 0 | 2-0 | 000 = LSB, 001 = USB, 010 = CW, 011 = CWR, 100 = AM, 101 = FM, 110 = DIG, 111 = PKT (Note: WFM is represented as "FM" when in the FM-BCB range.) |
Unknown | 0 | 4-3 | Unknown |
HF/VHF (?) | 0 | 5 | 0 = 6 Meters and above, 1 = Below 6 meters (Note: Exact purpose of this bit is unknown) |
Unknown | 0 | 6 | Purpose unknown, but occasionally used |
TAG On/Off | 0 | 7 | 0 = Memory frequency displayed, 1 = Memory Tag (Label) Displayed |
Frequency Range | 1 | 2-0 | 000 = HF, 001 = 6 M, 010 = FM BCB, 011 = Air, 100 = 2 Meters, 101 = UHF. Note: These bits must be appropriately set when loading the frequency. |
NAR On/Off (FM, FMN Mode) |
1 | 3 | 0 = Off, 1 = On |
NAR On/Off (CW, CWN, DIG Mode) |
1 | 4 | 0 = Off, 1 = On |
UHF/Not UHF (?) | 1 | 5 | 0 = < UHF, 1 = UHF (Note: Exact purpose of this bit is unknown) |
RPT Offset | 1 | 7-6 | 0 = Simplex, 01 = Minus, 10 = Plus,11 = Nonstandard Split (using separate TX freq) |
Tone/DCS Select | 2 | 1-0 | 00 = Off, 01 = Tone (tx), 10 = Tone + Tone Squelch, 11 =
DCS - Probably incorrect - see offset 4, below. |
Unknown | 2 | 3-2 | Unknown |
ATT On/Off | 2 | 4 | 0 = ATT Off, 1 = ATT On |
IPO On/Off | 2 | 5 | 0 = IPO Off, 1 = IPO On |
Unknown | 2 | 6 | Unknown |
Memory Skip | 2 | 7 | 0 = Memory Active, 1 = Memory Skip |
FM Step | 3 | 2-0 | 000 = 5 kHz, 001 = 6.25 kHz, 010 = 10 kHz, 011 = 12.5 kHz, 100 = 15 kHz, 101 = 20 kHz, 110 = 25 kHz, 111 = 50 kHz |
AM Step | 3 | 5-3 | 000 = 2.5 kHz, 001 = 5 kHz, 010 = 9 kHz, 011 = 10 kHz, 100 = 12.5 kHz, 101 = 25 kHz |
SSB Step | 3 | 7-6 | 00 = 1 kHz, 01 = 2.5 kHz, 10 = 5 kHz |
Tone/DCS Select | 4 | 1-0 | 00 = Off, 01 = Tone (tx), 10 = Tone + Tone Squelch, 11 = DCS |
Unknown |
4 |
7-2 |
Unknown |
Unknown | 5 | Purpose unknown, but occasionally used | |
CTCSS Tone Freq. | 6 | 5-0 | Contains 0-31 with 0 = 67.0 Hz, representing 50 CTCSS tones. |
DCS Code | 7 | 6-0 | Contains 0-67 (HEX) with 0 = DCS Code 023, 67 (HEX) = DCS code 754 |
Unknown | 7 | 7 | Unknown |
RIT Offset | 8-9 | (all) | The RIT offset is stored as a signed number in two bytes ranging from -999 to 999 representing -9.99 to +9.99 kHz offset. The MSB (with the sign) is stored in the lower byte (8) and the LSB is in the upper byte (9.) |
RX Frequency | A-D | (all) | Frequency is stored in a binary format with the MSB in the
lower byte (A) and the LSB in the upper byte (D) Example: A value of 02 97 F2 19 (HEX) translates to 43512345 (decimal) and thus a display frequency of 435.12345 MHz. |
TX Frequency OR Repeater offset | E-11 | (all) | When a nonstandard split is used, these bytes contain the
transmit frequency in the same format as above. When a standard (or no) offset is used, these bytes contain the offset specified in menu item #42 in that same format in bytes F-11 (HEX). (Refer to RPT Offset - bits 7-6 in byte 1 of the memory record) |
Label | 12-19 | (all) | 8 ASCII Character label. Unused memories contain 0xff. |
Notes:For an EEPROM Memory Map of the FT-817, go to the EEPROM Memory Map page. This list shows known EEPROM addresses in ascending order.
- There are a few parameters that aren't used in all instances. Case in point: Memory locations are reserved for AM step size even in the FM BCB, even though AM mode is not possible. Other instances are bits for the setting of IPO and ATT status on bands above 6 meters. These bits have no effect on those band for which they do not apply.
- Various parameters may be stored in several places for different bands and it is believed that most of these parameters are represented.
- Setting values outside the specified ranges may have unpredictable results.
- If you determined that any of the above data is incorrect or incomplete (very likely...) please let me know.
- Those entries marked with an asterisk (*) are suspect in their function - further investigation is warranted.
- Attempts to write frequencies into memory that are invalid will result in that memory's content being set to a default value (e.g. 7.00000 MHz, LSB for HF, etc.)
- All entries in an unused (blank) memory contain FF (HEX)
- Attempts to change to a memory containing no information will result in memory 1 being selected instead.
- Frequency ranges are as follows:
- HF: 33 MHz and below
- 6 M: From 33 MHz to 56 MHz
- FM-BCB: 76-108 MHz
- Air: 108-137 MHz
- 2 M: 137-154 MHz
- UHF: 420-470 MHz
To be included in the future:
Known Issues (as of 28 January, 2002):
Work continues on this page -
please revisit soon!
Note: CAT (in this context) is a trademark of Yaesu/Vertex Standard Co. Ltd.
Notice: The information contained on this and related pages is believed to be accurate, but no guarantees are expressed or implied. The information on this and related pages should be considered to be "as-is" and the user is completely responsible for the way this information is used. If you find information that you believe to be incorrect, or if you discover something new, please report it via email.
Go to The KA7OEI FT-817 "Front Page" - This is, well, the "front" page of the '817 pages here...
Any comments or questions? Send an email!
This page maintained by Clint Turner, KA7OEI and last modified 20181029. (Copyright 2001-2018 by Clint Turner)