General Simulator 1000 PFC Configuration

These instructions are for configuring General Simulator 1000 (GS1000) panels running PFC protocol firmware.

Unlike PFC-produced devices, the General Simulator products do not use PFCHardwareCalibration to configure. Instead, you must transmit specially crafted messages via the Test GUI or Test Console. This document explains how.

Step 1.

Plug a GS1000 panel into USB and +12v. It should enumerate normally as one or more USB devices. Note that the video connector is irrelevant for this exercise.

Because the hardware includes a pair of SD card readers, depending on what other software or drivers are installed on your PC, you may see one or more warning dialogs if the slots are empty. Click through the dialogs (choose Cancel or Continue).

Step 2.

Run PFCTestGUI or C2ProTestCon. If using the Test GUI, you will need version 4.7.0.211 (12 Apr 2014) or later. You can download the latest test and calibration utilities from this page. If you are running the Test GUI, all commands will be typed or pasted into the "Commands" window of the Protocol Data tab. If running the Test Console, all commands and responses will be in the only available window. Please note that the Test GUI is slightly easier to paste text into.

Screenshot of Test GUI "Protocol Data" tab

Screenshot of Test Console

Note that the Test GUI may show the PFC 1000 Audio Panel and/or the Copilot Standby Instrument Console tabs even if neither is present. These may be safely ignored.

Multiple Panels

It is possible to configure these panels while one or more other PFC panels are present; however, for simplicity's sake, we recommend doing this with only the target panel plugged in. Especially when there are multiple General Simulator G1000 panels present, it may be difficult to know which one you are programming. However, other non-G1000 panels present will not obfuscate the matter as badly, as long as you take note of the Index. You will need to use the panel's Index to correctly send the configuration commands. When there is only one PFC panel present, it will always be Index 0. When other panels are plugged in, Index values may change, as shown below:

Screenshot of Test Console, multiple devices

In the case above, the index for the PFC 1000 is 1, not 0. We will be using Index 0 in all our examples; this makes them easy to copy/paste. But if your panel uses a different index, it means you'll have to type the commands in by hand. So we recommend only plugging in the General Simulator 1000 panel you want to program, and no other PFC or General Simulator panels, at a time.

If you do not see the Device List, you may enter the "L" command (case-insensitive) to show it.

Pasting Commands

Test GUI

Once text is copied onto your PC's clipboard, you can easily paste it into the Test GUI. First, make sure you select the Protocol Data tab; then select the Commands window by left-clicking on it with the mouse. To paste whatever text is in the clipboard, do either one of two things:

Once the text is pasted, it will probably be necessary to hit Enter to send the command.

Test Console

Once text is copied onto your PC's clipboard, you can paste it into the Test Console by following these steps:

  1. In the Windows frame, using your mouse's left button, click on the small icon at the left end of the Title Bar (top left). This will bring up a menu.
  2. Click on Edit.
  3. Click on Paste.
  4. Hit the Enter key to send the command.

Pasting: click on Windows frame top left Pasting: click on Edit, then Paste

Step 3.

Configure the panel type: PFD, MFD, or PFD2. (These will be reported as Device Selector 0, 1, or 2, respectively, in the Device Info window.) Enter one of the following commands into the Commands window:

Type Command Device Selector
PFD
cmd 0 0x57 0x57 0x43 0x48 0x47 0x00 0x00 0x00 0x47 0x00
0
MFD
cmd 0 0x57 0x57 0x43 0x48 0x47 0x00 0x00 0x00 0x47 0x01
1
PFD2
cmd 0 0x57 0x57 0x43 0x48 0x47 0x00 0x00 0x00 0x47 0x02
2

Note that the "0" after "cmd" is the Index for this panel. If your panel's Index is 1 (see "Multiple Panels"), then to turn it to an MFD, you would enter:

cmd 1 0x57 0x57 0x43 0x48 0x47 0x00 0x00 0x00 0x47 0x01

Also note that "hidcmd" can be used in place of "cmd".

When you enter the command into the Commands window, it will be echoed in the Responses window; the panel will not send back a response. However, if you send a command that changes the panel, the panel will reboot immediately. If the panel was already set to the value you tried to set, it will do nothing. In the example above, the panel was already set to MFD, so sending the command to change it to MFD had no effect. Note that the Device Info window (bottom left) reports "Device Selector: 1" for an MFD.

Step 4.

Set the autopilot layout:

GDU Command
1040
cmd 0 0x57 0x57 0x43 0x43 0x00 0x00 0x00 0x10 0x40 0x00
1042
cmd 0 0x57 0x57 0x43 0x43 0x00 0x00 0x00 0x10 0x42 0x00
1043
cmd 0 0x57 0x57 0x43 0x43 0x00 0x00 0x00 0x10 0x43 0x00
1044
cmd 0 0x57 0x57 0x43 0x43 0x00 0x00 0x00 0x10 0x44 0x00
1044B
cmd 0 0x57 0x57 0x43 0x43 0x00 0x00 0x00 0x10 0x44 0x0B
1045
cmd 0 0x57 0x57 0x43 0x43 0x00 0x00 0x00 0x10 0x45 0x00

As before, the "0" after "cmd" is the Index for this panel and should be changed if the panel has a different Index assigned (see "Multiple Panels").

Step 5.

Set the backlight selector(s). This can be tricky to explain, but the short version is that the "selector" controls how the panel's backlighting is controlled (dimmed). The selector is simply a number for selecting a control type. Think of it as a channel selection.

The channels that are usually used for the G1000 are:

    0.    General, or "universal". Most panels use this. It's not an official G1000 backlight channel, but if a simulator only has a single backlight dimming control (such as on the DCX), it makes sense to set the G1000 to use it.
    4.    Avionics control. A knob or dimming control assigned to the job of controlling Avionics backlights. This is a special case for use on the GTX Cessna.
    6.    G1000 external control. A knob or dimming control assigned to the job of controlling the G1000 backlights.
    7.    G1000 internal control (panel and button backlights). A real G1000 controls its own lighting; the simulated one has this channel available for the software to control the panel's backlights.
    8.    G1000 internal control (monitor). Similar to the above, but it controls the monitor backlight, rather than the panel and button backlights.

The General Simulator G1000 can be set to any channels, and can have multiple channels set (up to 4). It cannot control its own monitor backlight, however, so the channels only work for the panel and button backlights.

Command Description
cmd 0 0x57 0x57 0x43 0x46 0x00 0x00 0x00 0x00 0x00 0x00
Clear all selectors
cmd 0 0x57 0x57 0x43 0x46 0x01 0x00 0x00 0x00 0x00 0x00
Set to default (selector 0 only)
cmd 0 0x57 0x57 0x43 0x46 0x02 0x00 0x00 0x00 0x00 0x00
Save current settings temporarily for testing; do not write to flash (changes will be lost if powered down)
cmd 0 0x57 0x57 0x43 0x46 0x03 0x00 0x00 0x00 0x00 0x00
Save current settings to flash
cmd 0 0x57 0x57 0x43 0x46 0x04 0xnn 0xs1 0xs2 0xs3 0xs4
Add selectors: nn is the how many, s1 through s4 are the selector (channel) numbers
cmd 0 0x57 0x57 0x43 0x46 0x05 0xnn 0xs1 0xs2 0xs3 0xs4
Delete selectors

I'm a little confused how the "delete selectors" works, but instead of fiddling with adding and deleting onesie-twosies I recommend the following sequence:

  1. Clear all selectors (0x00);
  2. Add all the selectors you need (0x04). If you have more than one, you can add them one at a time with multiple Add messages if you prefer, or all at once in a single message;
  3. Save temporarily (0x02);
  4. Test as desired;
  5. Once satisfied, save to flash (0x03).

So to set a panel to use the external G1000 control, clear the list and set it to selector channel 6 (G1000 external control) (note: #5 is the command, #6 is nn, #7 is s1):

       #1   #2   #3   #4   #5   #6   #7   #8   #9  #10
cmd 0 0x57 0x57 0x43 0x46 0x00 0x00 0x00 0x00 0x00 0x00 (clear all)
cmd 0 0x57 0x57 0x43 0x46 0x04 0x01 0x06 0x00 0x00 0x00 (set selector 6)
cmd 0 0x57 0x57 0x43 0x46 0x02 0x00 0x00 0x00 0x00 0x00 (save for testing)
			(do your testing now)
cmd 0 0x57 0x57 0x43 0x46 0x03 0x00 0x00 0x00 0x00 0x00 (save to flash)

To set a panel to use selector channel 0 (General) you would usually use command 0x01. But to do it by hand, do this:

       #1   #2   #3   #4   #5   #6   #7   #8   #9  #10
cmd 0 0x57 0x57 0x43 0x46 0x00 0x00 0x00 0x00 0x00 0x00 (clear all)
cmd 0 0x57 0x57 0x43 0x46 0x04 0x01 0x00 0x00 0x00 0x00 (set selector 1)
cmd 0 0x57 0x57 0x43 0x46 0x02 0x00 0x00 0x00 0x00 0x00 (save for testing)
			(do your testing now)
cmd 0 0x57 0x57 0x43 0x46 0x03 0x00 0x00 0x00 0x00 0x00 (save to flash)

What if you want it to work with either one? Try this (note: #5 is the command, #6 is nn, #7 is s1, #8 is s2):

       #1   #2   #3   #4   #5   #6   #7   #8   #9  #10
cmd 0 0x57 0x57 0x43 0x46 0x00 0x00 0x00 0x00 0x00 0x00 (clear all)
cmd 0 0x57 0x57 0x43 0x46 0x04 0x02 0x00 0x06 0x00 0x00 (set selectors 0 and 6)
cmd 0 0x57 0x57 0x43 0x46 0x02 0x00 0x00 0x00 0x00 0x00 (save for testing)
			(do your testing now)
cmd 0 0x57 0x57 0x43 0x46 0x03 0x00 0x00 0x00 0x00 0x00 (save to flash)

Note: if you do not plan to test, you can save the step "save for testing" (command 0x02) and go directly to "save to flash" (command 0x03).

Here are recommended settings for a few simulators:

Step 6.

Calibrate the backlight brightness. This is not the same as setting the current brightness value; it provides a way to set the highest brightness. The dimmer control then sets the brightness level between 0 (off) and this value.

Unusually, this can be set using the PFC Hardware Calibration utility. We recommend calibrating this value to 48.