ControlDeck Manager

This application provides easy generation of control deck setup files using a drag-and-drop interface. ControlDeck Manager generates a hierarchical list of modules that can be added to the control deck that is being edited by reading all of the ControlDeck libraries on your computer. It will display all the variables being created and used by the modules within the control deck, allowing you to ensure that all require data is being provided. This avoids bug created by errors typing module names into text files by hand.

In order for ControlDeck Manager to display the information a user needs, you need to take the following steps when writing your modules.

  1. Keep all of your request_data() calls in the initialize_data_requests() function. This enables the Manager to make a list of all the required data for the GUI.
  2. Add useful descriptions and units to your requests. The GUI can compare units for variables you are trying to connect and the descriptions will make your library more usable.
  3. Add descriptions for supported commands using describe_setup() and describe_setup_command(). GUI users can instantiate any number of these and order them. When the deck runs they are send to the module one after the other. Double check command name spellings - errors only detected at run time.
  4. Add the manifest file to your library, as described on the Library Manifest Generation page. This is what the GUI uses to create the list of modules; modules that are not in the manifest will not be displayed!
  5. Add the following script to the build phase of your project
  /Library/Frameworks/ControlDeck2.framework/Resources/ControlDeckManifestBuilder "$INSTALL_PATH/$FULL_PRODUCT_NAME" want_debug_messages

Now, when you build your library, you will get a message in the build results indicating the ControlDeckManifestBuilder loaded every module listed in your manifest. The messages look like:

  Construct manifest for /Library/Application Support/VisualCommander/Model Libraries/MyCD.bundle
  Load "/Library/Application Support/VisualCommander/Model Libraries/MyCD.bundle"
  [DECK] Constructing control deck with setup file: (null)
  [ :Telemetry] my_telemetry
  [ :Time] my_time