The Profile Manager is a Windows application, written in Delphi XE7 that creates profile files automatically from information provided by the user. It lets the user design a physical layout for his controller and then allocate logical controls and functions to the physical controls. It also lets the user set up the controller characteristics such as number of controls, names, value limits and so on.
Once the user has finished designing his controller, the Profile Manager creates the profile file. This can conveniently be created directly in the controller's own profile folder, making it instantly available to the controller for testing. For any given physical controller layout there can be any number of profiles defining any logical layout the user may require.
The Profile Manager uses the profile file as its own input, thereby completing the design loop.
Starting Profile ManagerWhen profile Manager is run you will see a screen like this:
By clicking on Open profile... you can load the profile you wish to edit:
This screen shows the layout of the various physical controls on your controller. By holding down the Ctrl key and left clicking/dragging, you can move the physical control around on the panel. You can resize the panel as required. This is a great way of experimenting with different physical layouts.
You can also mouse over any control to see what its current logical configuration is:
Editing control functionsBy right clicking on a control you can edit the logical function(s) that this control performs:
A form pops up with drop-down menus offering all the options available for the control. This is the key function of the profile: mapping logical control functions to physical controls.
ConfigurationEach of the controls has configuration options that will be specific to this controller. Clicking on the Configuration button opens up a whole new world of things to play with!
The switch configuration tab defines what switches exist on this controller and what sort of switch each is. There are two types: Switch and Encoder. The encoder switch type is for encoders with a built in push-switch. This type is dealt with slightly differently in the controller software.
The Encoders/LCD tab defines what encoders are present, whether they have the push-button switch mentioned above and if so what physical switch number it is. You can also define whether this controller has an LCD display.
The Slices/VFOs tab has many important options. Firstly it permits definition of the slices that are available and those that are used by this particular controller. For example, a Flex 6500 has four slices but only two of them are used by the controller.
Two physical VFOs are defined, 0 and 1. The A/B drop-down is used to map the logical VFO, A or B, to the physical VFO. The Exists checkbox lets us define whether this physical VFO exists on the controller. Note particularly that a VFO can exist but not have its own unique physical encoder. This is the equivalent of a single VFO knob radio that has two VFOs. The Own Encoder checkbox for the second VFO is left unchecked in this case. Next we define the slice that this VFO controls and give it a name and colour that is used for text and graphics associated with that VFO. The Tune rate drop-down lets you set the encoder step division ratio and is used to set the initial VFO tuning rate.
Finally we come to the encoder control functions. There are some 45 control functions that can have a controller associated with them No controller will ever need all of them! Here you can edit existing controls, define new ones and delete any that are no longer required. Just because a control is defined does not mean that it is used, or that it has to be used.
A list of existing controls is shown on the left. By clicking on a control, its parameters are shown on the right and you can edit them as required.
- Name is any convenient short descriptive text that describes what the control does. Spaces are not permitted in this name.
- The Function drop-down permits this control to be mapped to one of the Flex Radio's control functions. Not all Flex functions are implemented - if it's not in the list it's not been implemented yet.
- The VFO drop-down identifies the VFO with which this control is associated, if any. Some controls, e.g. TX power, are not VFO specific. Select N/A. Other controls may be shared between the VFOs, selected by the swSelectVFOControl switch function. In this case, use the Selected VFO setting.
- Step, Max value and Min value let you set the range of the control and how much it changes for each step of the encoder.
- Units is a short text field that will be appended to the control's status messages when changed.