Model Builder Operation and Key Strokes



Function Keys

[F1]

The [F1] key cycles through various bits of information pertaining to objects in a list. For example: If viewing the Control list pressing [F1] cycles through the object type, the ethernet packet, packet offset, and any controls that are connected to all the objects in that list. Continuing to press [F1] brings you back around to the original screen.

[F2]

Pressing the [F2] key displays the pull-down menu for each of the Controls, Signals, Feeders, Functions and Soundfiles lists. If available, this key option will appear on the lower edge of each window.

The [F2] key is available in many individual objects, as well. For example: When viewing a Control object, pressing [F2] will display the contents of the buffer assigned to that object. This is much more convenient than backing out of the model, and referencing the Host Interface menu for buffer data.

[F3]

The [F3] key freezes the DSP and ethernet card(s). The word "Freeze" will appear in the upper right corner of the screen when in this condition. Pressing [F3] again will release the freeze condition.

While in "Freeze", you may still move through the model and add, delete and/or modify objects. The effects of changing the model will not be evident until the freeze condition is released.

Use the freeze condition if sound suddenly starts blaring out of speakers or headsets.

NOTE: If you are using RMS' virtual screen utility, pressing [F3] locally on the DACS' keyboard will break the ethernet connection to the RMS server; the DACS will not respond to any remote commands until the freeze condition is released by pressing [F3] locally on the DACS' keyboard.

[F4]

The [F4] key marks objects in a list for copying or moving. More than one object can be marked at a time, and the resulting group may be copied, moved or deleted en masse.

[ESC]

Pressing the [ESC] key backs out of an object or list, bringing you to the next higher level in the model heirarchy. Pressing the [ESC] key repeatedly will eventually display the main menu.

[top]



Moving Through Menus

There are two ways to navigate through Model Builder:

  1. Shortcut Keys

    A menu item's shortcut key is denoted by the only capitalized letter in the item itself. For example: From the main menu, pressing [d] displays the "Dis network" submenu. Pressing [s] then displays the "Status" screen, etc.

    Another example: To access a model's "Signals" list from the main menu...

    1. Press the [m] key to access "Models".
    2. In the submenu, press [Enter] to select "model1" (already highlighted).
    3. From the model screen, press [F2] to access the pull-down menu.
    4. Press the [g] key to select the "siGnals" option in that menu. Model Builder will then display the Signals list for that model.
  2. Arrow Keys + [Enter]

    Any menu's items may be selected by using the arrow keys (up, down) to highlight that option and pressing [Enter]. The corresponding submenu or page will then appear.

Once the desired screen or object has been accessed, use the [PageUp] and [PageDown] keys to cycle through the multiple pages of some objects. Multipage objects will display "Page X of Y" on the bottom edge of that window.

Accessing Objects in a List (Controls, Signals, Feeders, etc.)

  1. Navigate to the desired list.
  2. Use the arrow keys to highlight the desired object, and press [Enter].
  3. Use the arrow keys to move among the various fields in that object.
  4. Press [ESC] to move back to the list.

[top]



Connection Types

Model Builder uses the following conventions to denote the type of object that can be connected to a field:

Control Object

	:------------

Signal Object

	;------------

Feeder Object

	^-----------

Function Object

	>F(x)=

Soundfile or Soundfile Library

	"------------

Highlighting any of these fields in an object, and pressing [Enter] will bring up the corresponding list of objects for that object type. More on this topic in the "Connecting Objects within Model Builder" section below.

[top]



Saving Models

NOTE: There is no Auto-save feature in Model Builder.

As with all software development, you are encouraged to save early and save often. The "Save" and "Save As" options are available under the model configuration window. Model names are limited to 8 characters, with no spaces " ". You can use an underscore character "_" instead of a space.

If you save a model without specifying a path, then the it is saved in the current working directory, usually c:\mbuilder\user\models. You may specify a different location in which to save the model simply by typing in the desired path (.e.g, c:\mbuilder\otherdir\mdlname).

If you leave a model without first saving it (by way of loading a new model or quitting Model Builder), then all changes are lost.

This can be Bad

You can lose a lot of work by quitting and not saving first.

This can be Good

You can make a lot of changes for experiment's sake, quit, then reload your original model with no harm done. This is especially helpful if you are examining at a model that someone else created, enabled a lot of things or modified a lot of parameters, and do not want the changes to be permanent.

NOTE: Simply typing the name of your model in the "Filename" field will not save your model. This will, in fact, cause Model Builder to attempt to load a file of that name. If the model does not already exist, then a model load error will return, and the current model will stop running.

[top]



Loading Models

Loading Models using the Configuration File The easiest and most common way to load models is to use the configuration file. Model Builder will start and load the "default.cfg" file automatically. The command placed in "default.cfg" for loading models is:

model1=xxxxxxxx.mdl
model2=yyyyyyyy.mdl
model3=zzzzzzzz.mdl

... where "xxxxxxxx" et al are the names of the models you wish to load.

If no path is specified, then the model is loaded from the current working directory (usually c:\mbuilder\user\models). The user may specify a path either on the local drive (e.g., c:\otherdir\model) or the floppy drive (e.g., a:\flopdir\model), if required.

Loading Models Directly

  1. From the main menu, select "Models" and choose either "model1", "model2" or "model3".
  2. In the "Filename" field at the top of the page, either "untitled.mdl" or some other model name will be displayed.

    If not already highlighted, use the arrow keys and highlight this field.

  3. Press [Enter] and the field's color changes from blue to red.

    You have two options at this point:

    1. Type the path and name of the model you want to load and press [Enter].

      For instance, type c:\mbuilder\user\models\xxxxxxxx.mdl where "xxxxxxxx" is the model's name and press [Enter].

      Model Builder will then ask if you want to load the model. Press the [y] key to answer yes, and the model will load.

    2. -- OR --

    3. Press the [DEL] or [Delete] key followed by [Enter].

      Model Builder will then display the DOS directory tree, starting in the current working directory. Use the arrow keys to move up and down the list of available models. Directories will be indicated by the <DIR> marker. Highlight any entry with the <DIR> marker and press [Enter] to view the contents of that subdirectory. Use the special .. <DIR> directory near the top of every tree view to move up one level in the file system.

      Once the desired model is highlighted, press [Enter].

      Model Builder will then ask if you want to load the model. Press the [y] key to answer yes, and the model will load.

[top]



Restoring Models

If you've made changes to the current model that aren't to your liking, you can revert to the last saved version of that model by restoring it.

Restoring Models from the Menu

  1. Go to the model configuration window of the model you wish to restore.
  2. Press [F2] to access its menu.
  3. Select the "Restore" option by highlight/[Enter] or shortcut [r] key.
  4. When asked, press the [y] key to answer yes and load the model.

Restoring Models from the "Filename" Field

  1. Go to the model configuration window of the model you wish to restore.
  2. Highlight the model name in the "Filename" field.
  3. Press [Enter] twice.
  4. When asked, press the [y] key to answer yes and load the model.

[top]



Adding Objects

Adding an Object: Menu-Driven

  1. Move to the desired list (Controls, Signals, Feeders, etc.).
  2. Press [F2] to access the pull-down menu.
  3. Select "Insert", and a list of available objects appears.
  4. Use the arrow keys to highlight the desired object or submenu and press [Enter].
  5. The chosen object is inserted in the model, and the object page is displayed.

    If you selected a submenu, then the list of available objects is shown. Highlight the desired submenu object and press [Enter]. The chosen object is inserted in the model, and the object page is displayed.

  6. Edit the fields of the new object, or press [ESC] to return to the list of objects.

Adding an Object: Shortcut Keys

  1. Move to the desired list (Controls, Signals, Feeders, etc.).
  2. Press the [INS] or [Insert] key, and a list of available objects appears.
  3. Press the shortcut key corresponding to the object or submenu.

    If you chose an object you are now inside the object and may start editing it.

    If you chose a sub-menu, you are now in the submenu and can press the shortcut key for the object you wish to insert.

Example

  1. From the model configuration window, press [F2], the press [g] for "siGnals".
  2. Press the [Insert] key.
  3. Press [r] for "Receivers".
  4. Press [r] for "Radio".
  5. A radio is added to the model.
  6. Press the [ESC] key to return to the Signals list, or edit the new radio object.

Adding an Object from within Another Object

Model Builder allows the user to navigate throughout the model, adding and changing objects on-the-fly... without requiring the user to access the object list directly. This feature is designed to save time during model development, but may be confusing to novice users.

For example: The user creates a new "Vox" object in the "Signals" list. When presented with the "Vox" object's window, the "Vox Threshold" connection field is visible. This connection requires a Control object, as evidenced by its format:

	:----------------

Highlighting this field and pressing [Enter] then displays the list of Control objects, but is labelled "Controls Selection List". Pressing the [Insert] key here allows the user to create and edit a new Control object. Additionally, using the arrow keys to select an object in the Controls list, and pressing [Enter] will open that object for examination or editing.

Because this "Controls Selection List" is not the "Controls List" proper, the user cannot delete objects from the list; that can only be done from the "Controls List" proper, not a "Selection List". Further highlighting objects-in-lists or fields-in-objects and pressing [Enter] will proceed linearly as far into the model as the user requires. Pressing the [ESC] key will reverse the navigation.

NOTE: Pressing [Enter] in a "Selection List" will NOT connect the highlighted object to the object-field from whence you came, it will simply open the highlighted object for inspection. Connect objects using the [TAB] key, as outlined later.

Example

  1. Navigate to and open an existing Sine wave object in the "Signals List".
  2. Highlight the "Feeders" (^--------) field, and press [Enter].

    The "Feeders Selection List" appears.

  3. [Insert] creates and opens a new feeder object, whereas selecting an existing feeder object and pressing [Enter] opens it for editing.
  4. While inside that feeder object, highlighting a Control field (:--------) and pressing [Enter] will display the "Controls Selection List".
  5. [Insert] creates and opens a new control object, whereas selecting and existing control object and pressing [Enter] opens it for editing.

... and so on.

This functionality provides a quick method for accessing selection lists, allowing the user to create new objects or make connections between existing objects. With out it, the user would have to back out of the model and access the "master" list every time object creation or editing was needed.

In the above discussion, the [Insert] key was used to create new objects. Note that this will place the new object at the highlighted position in the object list, and existing objects will move to positions below the new one. Using "aPpend" from the list's [F2] menu (shortcut [p]) will create the desired object at the bottom of the list.

[top]



Copying and Moving Objects

Copying a Single Object

  1. In the object list, highlight the desired object and press [F4] to mark it. The selected object changes color from blue to red.
  2. Using the arrow keys, highlight the desired position for the copy of the marked object.
  3. Hold down the [CTRL] key and press [F4] to add a copy of the marked object in that position.
  4. Highlight the marked object and press [F4] to unmark it.

Copying a Block of Objects

  1. Highlight the first object in the group and press [F4] to mark it.
  2. Use the arrow keys to move up or down to the last object in the group, and press [F4] again. The group of marked objects changes color from blue to red.
  3. Using the arrow keys, highlight the desired position for the copy of the marked group.
  4. Hold down the [CTRL] key and press [F4] to add a copy of the marked group in that position.
  5. Using the arrow keys, position the highlight bar anywhere in the marked group and press [F4] to unmark the whole group.

Moving a Single Object

  1. In the object list, highlight the desired object and press [F4] to mark it. The selected object changes color from blue to red.
  2. Using the arrow keys, highlight the row immediately below the new position for the marked object.
  3. Hold down the [Shift] key and press [F4] to move the marked object into position directly above that which is highlighted.
  4. Highlight the marked object and press [F4] to unmark it.

Moving a Block of Objects

  1. Highlight the first object in the group and press [F4] to mark it.
  2. Use the arrow keys to move up or down to the last object in the group, and press [F4] again. The group of marked objects changes color from blue to red.
  3. Using the arrow keys, highlight the row immediately below the new position for the marked group.
  4. Hold down the [Shift] key and press [F4] to move the marked group into position directly above that which is highlighted.
  5. Using the arrow keys, position the highlight bar anywhere in the marked group and press [F4] to unmark the whole group.

[top]



Deleting Objects

To delete any object, you must be in the "master" list for that object, not a "Selection List". To delete a control object, you must be in the "Controls List"; to delete a signal object, you must be in the "Signals List",etc.

Deleting a Single Object

  1. Highlight the desired object and press the [DEL] or [Delete] key.
  2. Model Builder will ask you to confirm the action.

    • Press the [y] key to answer yes and delete the object from the list.
    • Press the [n] key to answer no, aborting the deletion request.

Deleting a Block of Objects

  1. Highlight the first object in the group and press [F4] to mark it.
  2. Use the arrow keys to move up or down to the last object in the group, and press [F4] again. The group of marked objects changes color from blue to red.
  3. Model Builder will ask you to confirm the action.

    • Press the [y] key to answer yes and delete the group from the list.
    • Press the [n] key to answer no, aborting the deletion request.

Deleting Objects or Groups that have Connected Objects

If there are any objects or functions connected to the deleted item(s), those connected objects or functions are not removed. For example: Deleting a radio object that has connections for mode, frequency, squelch, power and world position will delete that radio object from the "Signals List" only. The mode, frequency, squelch, power and world position objects will still exist on the "Controls List".

Deleted Objects by Accident? Catch-22

If any objects are deleted by accident, they can be recovered as long as the model is not saved. Use the procedure "Restoring Models" outlined above to load the last-saved version of the model. All "non-accidental" work performed since the last save will be lost, but the accidentally-deleted objects will be recovered.

[top]



Changing Values in Objects

After an object has been created, you can change its values by highlighting it in the appropriate object list and pressing [Enter]. Use the arrow keys to highlight the desired field, and do one of the following:

  1. Use the [Enter] key:

    When an input field is highlighted, pressing this key toggles between selection mode (blue) and edit mode (red). Values can be typed from the keyboard only when in edit mode. This applies to characters and text, as well as numerical values.

  2. Use the [+] key:

    This increments integer fields by a factor of 1, or increments float fields by 5%. It is also used to toggle Boolean values between ON and OFF. A floating-point value can only be changed with the [+] key if its value is non-zero.

  3. Use the [-] key:

    This decrements integer fields by a factor of 1, or decrements float fields by 5%. It is also used to toggle Boolean values between ON and OFF. A floating-point value can only be changed with the [+] key if its value is non-zero.

  4. Use the [Delete] key:

    The [Delete] key returns a field to 0, or some initial default value.

[top]



Connecting Objects Together within a Model

For this example, assume:

  • Signals List
    • Sine wave object (generates a tone)
  • Controls List
    • Gain object (to change Sine volume)
    • Frequency object (to change Sine pitch)
  • Feeders List
    • Buffer object (to direct sound)
    • Output object (required)
  1. Move to the "Signals List", highlight the Sine wave object, and press [Enter].
  2. Use the arrow keys to move to the "Frequency" field, and press [Enter].
    The "Controls Selection List" appears.
  3. Use the arrow keys to highlight the Frequency control object.
  4. Press the [TAB] key to connect the highlighted Frequency control object to the "Frequency" field of the Sine wave object. The "Controls Selection List" disappears, and the Sine wave object is presented.
  5. Use the arrow keys to highlight the "Gain" field of the Sine wave, and press [Enter].
    The "Controls Selection List" list appears again.
  6. Use the arrow keys to highlight the Gain control object.
  7. Press the [TAB] key to connect the highlighted Gain control object to the "Gain" field of the Sine wave object. The "Controls Selection List" disappears, and the Sine wave object is presented again.
  8. Use the arrow keys to highlight the "Feeder" field of the Sine wave, and press [Enter].
    The "Feeders Selection List" list appears.
  9. Use the arrow keys to highlight the Buffer feeder object.
  10. Press the [TAB] key to connect the highlighted Buffer feeder object to the "Feeder" field of the Sine wave object. The "Feeders Selection List" disappears, and the Sine wave object is presented again.

The resulting model consists of a sine wave object that is being driven by both frequency and gain objects from the controls list. The sound from this object is directed out to the highway specified by the buffer.

The Big Picture

When inside an object, make a connection by simply highlighting the field, pressing [Enter], choosing the desired connection object from the list, and pressing [TAB].

Replacing or Removing a Connection

If a connection was made in error, there are two ways to correct it:

  1. The first is to simply highlight the field that has the incorrect connection, and press the [Delete] key. The offending connection is now cut. Press [Enter] to select a new object for connection in that field.
  2. The second is to lay another object over the incorrect one. Use the same procedure as if no connection had ever been made: Highlight, [Enter], highlight correct connection, [TAB]. The correct connection takes the place of the offending connection.

[top]



Logic Tables

Logical Conjunction (A AND B)

A B Result
0 0 0
0 1 0
1 0 0
1 1 1

Logical Conjunction (A OR B)

A B Result
0 0 0
0 1 1
1 0 1
1 1 1

Logical Conjunction (A XOR B)

A B Result
0 0 0
0 1 1
1 0 1
1 1 0

[top]