FD2 Test Utility
Use this utility to act like a POS, send test commands to FD2, and inspect the exact response.
Main feedback: the utility shows what it sent, what FD2 returned, and whether the controller acknowledged the command.
1. Connect
Choose the protocol FD2 expects. For most dispenser testing, use PCC. Use FD Socket only when testing the FD socket text interface.
When in doubt, start with PCC. The main price and authorization examples are PCC-shaped.
- Ethernet: enter the controller IP and TCP port.
- Serial: enter the COM port and serial settings.
For Ethernet, enter the FD2/controller IP and port. The common test port is 9200.
For Serial, enter the COM port and matching baud/parity/data/stop settings.
After a successful connection, the utility shows CONNECTED. If it does not, check protocol, address, port, cabling, and whether FD2 is listening.
Set Price, Amount, and Volume decimals to match the controller or dispenser setup. Common values are price 3, amount 2, and volume 3.
2. Pick a Dispenser
Most actions target one fueling position. Select it before sending price, authorize, stop, resume, totals, or transaction commands.
Pick the dispenser number, such as 01 or 02. The Selected: XX label confirms the active target.
3. Send a Price
Use this to verify that FD2 accepts a price write for the selected dispenser and hose.
Choose Selected Hose in the price bar.
Click Send Price. The utility builds the command from the selected protocol, dispenser, hose, and decimal settings.
Click Custom Price when you need to enter specific credit and cash prices instead of using the utility's generated test prices. The dialog validates the values before sending.
Click All Hoses to send prices for the hose range up to the selected hose.
If FD2 NAKs the command, check that the hose exists and that the price decimal format matches the controller setup.
Click Remove/Disable to send the utility's price-clear style command for the selected hose.
4. Authorize Fueling
Authorization tells FD2 to allow fueling for the selected dispenser, usually with a money preset, volume preset, or fillup.
Click Authorize. The dialog opens with the current dispenser already selected.
- Dollar preset: enter a money amount.
- Volume preset: enter a volume amount.
- Fillup: authorize without a normal preset limit.
Select Credit (1) or Cash (2). The utility uses that choice when building the PCC authorization flag.
Use Hose to allow one hose. Use Multi to allow a selected group of hoses. Leave it on None for no hose lock.
Click OK. The utility sends the command and updates the TX/RX panel. While the command is in progress, the Authorize button is disabled to prevent duplicate sends.
A dollar preset in PCC normally builds an A command with a money flag and a scaled money value.
When Fillup is selected, choose the fillup type that matches the test:
- Legacy (4): legacy fillup authorization.
- Cash (5): cash fillup authorization.
- Credit (6): credit fillup authorization.
5. Read TX/RX Feedback
The TX/RX panel is the main source of truth for what the utility sent and what FD2 returned.
Shows the command payload sent by the utility. For PCC, the utility frames it internally, but this box shows the command in a readable form.
Shows the controller response with control bytes expanded:
ACKmeans FD2 accepted the command.NAKmeans FD2 rejected the command.STXandETXmark framed PCC payload boundaries.
[no response] means the utility did not receive data before the receive timeout. Check the connection, command format, and whether the remote side closed the socket.
OmegaJr DiagPort
OmegaJr DiagPort mode connects directly to the diagnostic USB serial port and exposes the firmware's compatible legacy PCC pump controls. It does not connect to the normal FD2 TCP service.
- Use OmegaJr firmware
030.001.033or newer and connect its diagnostic USB port to the computer. - Select OmegaJr DiagPort. The utility forces Serial mode and lists the available COM ports.
- Select the diagnostic COM port. Use Refresh if it was connected after the utility started.
- Click Connect. The serial settings are fixed at
57600baud, 8 data bits, no parity, and 1 stop bit.
The utility sends a dedicated FD2TestUtility/OmegaJr negotiation frame that cannot be produced by clicking an ordinary diagnostic-menu option. It requires the firmware's unique negotiation acknowledgment, PCC-ready response, and framed OmegaJr identity before enabling controls. No terminal work or security-code typing is required.
The same handshake runs immediately before every OmegaJr PCC command. If firmware inactivity returned the port to its default menu, the handshake safely re-enters PCC first. If the firmware state cannot be verified, the selected command is not sent and the utility closes the connection rather than retrying against an uncertain mode.
If connection fails, confirm the firmware version, choose the correct diagnostic COM port, and make sure another program does not have the port open.
Click OmegaJr Diagnostics to open the same public firmware menu shown to a normal terminal connection. The handshake does not grant diagnostic privilege. The utility turns every option in the current firmware menu into a labeled button.
Select Security code and submit the numeric response to enter privileged mode through the normal firmware menu flow. Only then do dispenser configuration, reset, log tests and maintenance, UID, and memory-dump options appear. Nested menus and predefined dispenser-brand controls also appear as buttons. Use Back / ESC to move up a menu. Closing the window resumes PCC service automatically and clears diagnostic privilege.
Commands are accepted only in their matching connection state. Buttons from an earlier screen are invalidated as soon as an option is selected, connection-management keys are withheld from the diagnostics window, and modifying actions require a second confirmation click.
Free-form terminal input is not available. The only typed field is the memory-dump address, and it accepts at most eight hexadecimal digits after being explicitly enabled.
After identity verification, the utility enables the applicable main-window actions for price writes, authorization, stop, resume, payout/sale data, totals, status, system version, and compatible custom PCC commands.
| Command family | Accepted OmegaJr form |
|---|---|
| Identity/status/reset | K, F1, FE, and G |
| Pump control | Two-digit dispenser C stop and D resume commands |
| Authorization | Legacy 17-character numeric A commands using flags 0, 1, 2, 3, 4, or 9 |
| Sale data | BddR read or BddC payout/clear, where dd is the dispenser |
| Totals/blend/price | Legacy I totals, H blend, and J read/write/enable/disable forms |
| Error queue | EC, ER, EW, EE, and ES |
Unsupported commands are blocked locally and shown in TX/RX instead of being sent. Extended ! commands, deauthorize, license/files, reader/other-device actions, IFSF commands, and price-sign commands are unavailable in this mode.
Disconnect, changing away from OmegaJr mode, or closing the utility safely ends the diagnostic session and closes the COM port.
PCC Price Sign Commands
Select PCC, connect to FD2, and click Price Sign Test. These commands target a configured FD2 PRICESIGN channel, not the selected fuel dispenser.
Enter the two-digit channel, sign line/level, PPU decimal count, and human-readable price. The dialog scales and rounds the price to an eight-digit integer, then sends:
*Hccldpppppppp
cc: configured price-sign channel, 01-99.l: line or level, 1-8.d: decimal places, 0-5.pppppppp: zero-padded scaled price.
For example, channel 01, line 1, three decimals, and price 3.499 produces *H011300003499. An ACK means FD2 accepted and queued the value; the configured driver still performs its own line range, scaling, delivery, and read-back checks.
Choose Manual or Automatic and enter an intensity from 0 through 100. The command is *Iccmiii, where m is M or A and iii is the zero-padded intensity. Example: *I01M050.
Display control is currently supported by the Generic and Daktronics drivers. Other configured sign drivers reject *I with NAK.
*Jcc returns an eight-character framed status payload. The dialog decodes it into channel, communication, price delivery, dim mode, and intensity.
| Field | Values |
|---|---|
| Communication | 1 = OK; 2 = down |
| Price delivery | 0 = not sent; 1 = current; 2 = in progress; 3 = failed |
| Dim mode | M = manual; A = automatic; ? = unavailable/other |
| Intensity | Three-digit value from 000 through 100 |
Use status after a set command to distinguish acceptance by FD2 from successful delivery to the physical sign.
The dialog offers the PCC-wide range of lines 1-8 and decimals 0-5. The configured driver may support a smaller line range or a fixed wire precision, so a syntactically valid command can still receive NAK. Current drivers include Bever, Daktronics, Everbrite, Generic, Novyc, Passport-compatible, PWM, Skyline, and VeriFone-compatible.
Close closes the Price Sign Test window without disconnecting the main utility.
Action Reference
This list covers the visible action buttons on the main window. If a button is currently a placeholder, the help says so directly.
| Button | What it does |
|---|---|
| Authorize | Opens the Authorize dialog and sends a PCC or FD socket authorization. The button is disabled while the send is in progress. |
| Deauthorize | Removes authorization for the selected dispenser. PCC sends an N command; FD socket sends DEAUTHORIZE. |
| Stop | Sends a stop command for the selected dispenser. PCC sends C; FD socket sends STOP. |
| Resume | Sends a resume command for the selected dispenser. PCC sends D; FD socket sends RESUME. |
| Payout | Requests payout behavior. PCC sends a B payout-style command; FD socket currently sends a fillup-style authorization request. |
| Get Totals | Requests totals/meters for the selected dispenser and selected hose. |
| Get Trans. Data | Requests current sale/transaction data for the selected dispenser. |
| Assign Grade Map | Placeholder in this utility. It currently reports that the feature is not implemented. |
| Release Reservation | Placeholder in this utility. It currently reports that the feature is not implemented. |
| Reserve | Placeholder in this utility. It currently reports that the feature is not implemented. |
| Reader Commands | Placeholder in this utility. It currently reports that the feature is not implemented. |
| Other Devices | Placeholder in this utility. It currently reports that the feature is not implemented. |
| Read Tank Configuration | Placeholder in this utility. It currently reports that the feature is not implemented. |
| Write Tank Configuration | Placeholder in this utility. It currently reports that the feature is not implemented. |
| Read Grade Unit Price | Placeholder in this utility. It currently reports that the feature is not implemented. |
The utility serializes command sends through the shared transport so two commands do not write/read over the same socket at the same time. Reconnects close the previous socket before opening a new one.
6. Read FD2 Files
Use Read Files to request configuration, logs, JSON, database, reader, license, or PIE data files.
Click Read Files.
Choose where downloaded files should be saved. If no folder is selected, the utility may prompt later.
- Read config.xml (*CR): request controller configuration.
- Logs dir (*VL): request logs.
- JSON dir (*VJ): request JSON files.
- DB dir (*VD): request database files.
- Reader dir (*VR): request reader files.
- License dir (*VC): request license files.
- PIE data dir (*VP): request PIE data files.
The window shows the response, and Copy to main TX/RX can copy the result into the main panel.
Clear empties the response box in the Read Files window. Close closes the window without changing the main connection.
7. Send a Custom Command
Use Custom Command when no dedicated button exists for the test you need.
Select a message template and click Apply, or type a command manually.
A010000100000000- PCC-style authorization example.*VL- log-file request example.
Use Show raw when you need visible control bytes. Use Copy to main TX/RX when you want the main window to show the same exchange.
Click Send and read the response before sending another command.
Close closes the Custom Command window. It does not disconnect the main utility.