- FANticipator v2.3, updated 2022-12-11
- Key Features
- Fan Control Assumptions
- Enhanced Fan Control Explanations
- Release Notes
- Explanation of fanticipator.xml Fields
- WakeOnLAN option – Autostart the KPA1500
- Explanation of Fan Control Options
- Remote Operation – Beyond the Local Area Network
FANticipator v2.3, updated 2022-12-11
FANticipator is a free software program that
- Displays a graphical image of the KPA1500 amplifier’s key operating parameters
- Enables local or remote control of the amplifier’s common functions
- Intelligently manipulates the amplifier’s fan speeds
Written by K8UT, FANticipator runs on the Windows operating system. Developed in Visual Studio C++. Source code is available by request.
- Runs on Windows 7 and newer (and likely on Linux emulators WINE & VirtualBox)
- Requires no modifications to the KPA1500
- No additional hardware needed – this is a software solution
- Connects to the KPA1500 using TCP packets over ethernet / WiFi (no messy serial port splitters required)
- Local or remote control of the amplifier’s common front-panel functions, including turning the amp On and Off
- Operates in parallel with traditional logging software CAT applications that use serial ports
- Lightweight, minimal Windows CPU load
Fan Control Assumptions
- You prefer to have the fans shut off completely when the amp nears ambient temperature
- You prefer hearing the fans when transmitting rather than when receiving
- You prefer listening to more time with the fans running at speeds #1 and #2 rather than less time at speeds #3, #4, #5
Enhanced Fan Control Explanations
- During Tx, override the fan menu settings and run at settings +1
With this option checked, the fan will always run when you are transmitting. This transmit-only feature encourages low fan speeds and discourages the amp from reaching higher temperatures. Whereas normally the fan might be off until the fan reaches 60c, this option – when transmitting – will run the fan at setting #1 until the KPA1500 reaches 50c; at #2 between 50 and 70, and #3 between 71 and 80.
- After Tx, override fan settings and run at #2 until temp is below nn
With this option checked, the fan will continue running in Receive at fan setting #2 until the KPA1500 temperature is below a user-defined threshold (in this screenshot example, 45c). This receive-only option favors the Search & Pounce operator by rapidly cooling the amplifier during receive intervals.
- After Tx, override fan settings and run at #1 until temp is below nn
With this option checked, the fan will continue running in Receive at the lowest active fan setting (#1) until the KPA1500 temperature is below a user-defined threshold (in this screenshot example, 35c). This receive-only option favors the Search & Pounce operator by rapidly cooling the amplifier during receive intervals. This option also sets the KPA1500 Fan menu option to “MIN = 0,” which turns off the fan when the threshold temperature is reached. (quiet shack!)
2018-09-01 – Production release version 1.0
2018-10-04 – Update release v1.1: Contains new routine for fan hysteresis as temperature passes #1 and #2 trigger points, and for ignoring readings due to KPA1500 “erratic temperature” bug
2018-10-05 – Update release v1.1a – improves the <Retry/Cancel> dialog interface when the amplifier is turned off
2018-11-05 – Update release v1.1b more improvements to <Retry/Cancel> dialog. Corrected screen position/size settings when form is minimized and then closed from the taskbar. Added: config button, help button, packet progress bar
2018-11-06 – Bug fix v1.1c – minor bug, failed to increase fan speed During Tx when the temperature crossed the Fan1 and Fan 2 thresholds
2018-12-04 – Update release v1.1d – minor cosmetic changes. Color Power and SWR status bars (Rx = gray, Tx = green, yellow, red). Power and SWR status bars are now persistent in Rx and indicate the previous Tx Power and SWR readings
2018-12-23 – Update release v1.2 – Without changing dimensions of the FANticipator dialog window, the fields have been re-arranged to accommodate a Reflected Power reading from the amplifier and a calculated Amplifier Efficiency field. The DC Power, RF In, RF Out, SWR, RF Reflected, and RF Efficiency fields are persistent (in a greyed-out color) to indicate the previous Tx event readings.
2019-02-18 – Update release v2.0 – minor cosmetic changes. Added support for WakeOnLAN (WOL) packets. KPA1500 can now be turned on when FANticipator launches and turned off when FANticipator closes
2019-03-23 – Update release v2.1 – adjusted Mortty fan trigger points to correspond with Elecraft KPA1500 firmware version 2.09, which assigns lower fan start/stop temperatures and also differentiates HF band start/stop points from those on 6 meters
2022-12-04 – Update release v2.2 – KPA1500 Wake-on-LAN (WoL) feature fixed The KPA1500 will autostart when you launch FANticipator, provided that you have entered the amp’s IP and MAC addresses in the configuration file
2022-12-11 – Update release v2.3 – Added <PromptAtShutDown> configuration option for Wake On LAN (WoL) operation. Fixed config file path error when installing to a user-selected directory. Corrected the confusing program shutdown dialog messages.
- Connect your KPA1500 to your local area network by inserting an ethernet cable into its RJ-45 jack
- Configure your KPA1500 for ethernet operation by enabling the menu option TECH MODE
- Check your KPA1500 network settings by reading the menu option NET IP ADDRESS (write it down)
- FANticipator setup software can be found on the Downloads page HERE
- Run the FANticipator-SETUP.EXE install file. Recommend installing a desktop shortcut
- Launch FANticipator from the desktop shortcut or the Windows File Explorer
The first time you run FANticipator, a warning dialog box will appear advising you that there is no fanticipator.xml configuration file.
The program will open a Windows NOTEPAD edit screen containing the fanticipator.xml configuration file
- Enter your KPA1500’s IP Address in the XML tag (IP ADDRESS recorded earlier)
- For right now, leaving everything else unchanged
- Save fanticipator.xml and exit Notepad
- Re-start FANticipator
Explanation of fanticipator.xml Fields
Upon launch, FANticipator reads fanticipator.xml and configures itself accordingly. During operation, on-screen settings and changes are stored in memory until you exit the program, at which time the values are saved back to fanticipator.xml. IMPORTANT: if you manually edit the fanticipator.xml file while FANticipator is running, and then close the program, the edit changes you made will be overwritten You should only edit fanticipator.xml when FANticipator is not running.
The <FORM> stanza settings are automatically saved when you exit the program. Under normal circumstances, you do not need to edit these manually. <FORM> stores the location and size of the window so that it can be returned to the same screen <Location> and <Size> when you open the program again.
The <KPAconfig> stanza settings can only be changed by editing the fanticipator.xml “manually” using Notepad or your favorite text editor. <KPAconfig> contains:
- IP <Address> of the KPA1500 amplifier>
- IP <Port> of the KPA1500 amplifier. The default port of the KPA1500 amplifier is 1500
- Hardware <MACAddress> of the KPA1500 amplifier enables WakeOnLan (WoL) to automatically turn on the amplifier. If left at “00:00:00:00:00:00” the program will not send a WoL packet. See section below for more WoL detail
- Default <PollInterval> will query the amplifier every 500 milliseconds (twice per second). You can adjust the interval between 100 and 5000 milliseconds
- On program exit <PromptAtShutDown> controls the amplifier state when FANticipator closes. If “YES” you will be prompted to turn the amplifier on or off. If “NO” you will not be prompted and the amplifier will be turned off. If “KEEP” you will not be prompted and the amplifier will be left running when FANticipator closes.
The <KPAsettings> stanza settings are automatically saved when you exit the program. Under normal circumstances, you do not need to edit these manually. <KPAsettings> contains parameters for controlling the fans of the KPA1500:
- <FanMinimum> is the same as the amplifier’s >Menu >FAN SPEED >MIN setting. This must be set = 0 for FANticipator to operate
- <FanTxRun> tells the fans to run at an advanced speed During Transmit. The valid entries are ON and OFF
- <Fan1RxRun> tells the fans to run at setting #1 After Transmit. The valid entries are ON and OFF
- <Fan1RxRunUntil> defines the Celsius temperature at which the setting #1 fans should turn off. The valid entries are between 30 and 40
- <Fan2RxRun> tells the fans to run at setting #2 After Transmit. The valid entries are ON and OFF
- <Fan2RxRunUntil> defines the Celsius temperature at which the setting #2 fans should turn off. The valid entries are between 30 and 55
WakeOnLAN option – Autostart the KPA1500
A WakeOnLAN (WOL) feature was added to FANticipator version 2. WOL will automatically Turn On your amplifier when you launch FANticipator.
To enable WakeOnLAN operation with the KPA1500:
From the amplifier’s menu system:
- Select >NET WAKE on LAN = Enabled
- Determine the >NET MAC address (write it down!)
- Turn 0ff and re-start the KPA1500
From the FANticipator >Settings Icon:
- Click >Settings to open the fanticipator.xml file
- Enter the KPAconfig <MACAddress> in the format nn:nn:nn:nn:nn:nn
- Save the file, close and restart FANticipator
To disable WakeOnLAN operation with the KPA1500:
From the FANticipator >Settings Icon:
- Click >Settings to open the fanticipator.xml file
- Enter a null KPAconfig <MACAddress> with all zeroes, exactly like this 00:00:00:00:00:00
- Save the file, close and restart FANticipator
- Launch the fanticipator.exe application from the shortcut (did you make a desktop shortcut during install?) or Windows File Explorer
- If your configuration is correct, the status fields in FANticipator should immediately reflect readings taken from the KPA1500
- When you close FANticipator (the X in the corner) the settings and screen position will be saved to the fanticipator.xml configuration file
- The FANticipator Console enables the fan speed controls During Tx, AfterTx Setting #1, AfterTx Setting#2 and the KPA1500 settings for Operate/Standby, Antenna1/Antenna2, ATU In/Bypass/Tune
- When used with KPA1500 firmware release 01.72 or later, a Fault condition can be cleared by pressing the Operate/Standby button
Explanation of Fan Control Options
During Tx, override fan menu settings and run at settings +1
K8UT thinks that fan noise is more tolerable when transmitting – especially in CW and digital modes. With this option enabled, the fans will always run when the amplifier is in Transmit mode. The fan settings will always be one stage faster than the default. Thus, when the fans should be off they will be at setting #1; when they should be at setting #1 they will be at setting #2, and so on.
After Tx, continue to run at setting #2 until below nn degrees C
K8UT thinks that running the fans at low speeds for longer periods of time will avoid the fans ever reaching their very loud settings. With this option enabled, the fans will run in receive at their setting #2 level (which is somewhat loud but not awful) until the amplifier temperature has dropped below the indicated temperature.
After Tx, continue to run at setting #1 until below nn degrees C
K8UT thinks that running the fans at low speeds for longer periods of time will avoid the fans ever reaching their very loud settings. With this option enabled, the fans will run in receive at their setting #1 level until the amplifier temperature has dropped below the indicated temperature. At that time the fans will turn off (setting #0).
FANticipator Sample Screenshot Description
Refer to the image above when reading this description:
The amplifier is in transmit mode (red Tx) on 15 meters (21 MHz), with an input of 24 watts producing an output of 1125 watts into an antenna with a 1.2:1 SWR. With reflected power of 31 watts, the amplifier is operating at 53% efficiency. The amplifier temperature is 30 degrees, and the fans are not running at this temperature.
Remote Operation – Beyond the Local Area Network
The KPA1500 amplifier can essentially be located anywhere that the Internet reaches. For security reasons, we strongly recommend that you establish a Virtual Private Network (VPN) between your logging computer and the remote KPA1500 amplifier. Depending on the quality of your connection, you might want to adjust <PollInterval> in fanticipator.xml. The default value is 500ms… start with 1000ms (1 second) and see how that works.
NOTE 1: If you expose your amp to the big bad Internet, do not leave the default port at 1500. Most spiders and bots target ports lower than 2000 and work down – they’ll find your unprotected KPA1500. Assign something higher than 30,000.
NOTE 2: Wake On LAN’s UDP broadcast packets will not traverse across the wide area network. A VPN is required.
- If you are concerned about whether the amplifier fans and FANticipator are performing properly, new versions of Elecraft KPA1500 microcode support a macro to simulate temperatures without actually getting the amplifier hot. Use the KPA1500 Utility >Command Tester to create macros with the ^TMnnn; macro. For example, ^TM070; will simulate the amp at 70 degrees C. IMPORTANT: To disable the simulated temperature and turn the fans off, use ^TM000;
- If FANticipator complains about not connecting to the amplifier
- Check the KPA1500’s menu choice for TECH MODE and ensure it is enabled.
- Use the KPA1500’s menu to display the NET IP ADDRESS of the amplifier. If you are using DHCP the router may have changed its address assignment
- Open a DOS or PowerShell window and run the PING command to see if your KPA1500 NET IP ADDRESS is correct. For example: PING 192.168.1.123 <return>
- If FANticipator immediately closes (never opens its window), there is probably something wrong with the fanticipator.xml config file. Delete the fanticipator.xml file and re-launch the program. A replacement XML file will be created automatically. Edit that file with a text editor (notepad.exe?) and insert the correct IP address.
If you have problems installing or operating FANticipator, look for answers on the FANticipator groups.io reflector. You do not need to login, or have a groups.io account to search for a solution to your problem (although you will need an account to respond or post new questions).
Fanticipator on groups.io can be found HERE.
Larry K8UT, FANticipator developer