Interactive Hardware Documentation

The miniHIL hardware documentation features an interactive interface, automatically generated using miniHilLib, to help you configure and utilize the hardware. This interface allows for easy configuration and monitoring of your miniHIL hardware setup, ensuring that all pin connections and signal assignments are clearly visualized and managed effectively.

In a typical miniHIL project, the interactive hardware documentation is already included in the project itself, usually as Documentation/HwDocumentation.html. The miniHIL template project contains this file.

Software Adapter Configuration

  • Selecting a Pin: When you select a pin in this section, it will be highlighted with a yellow circle on the interface.

  • Pin Conflict Warning: If there is a conflict with the selected pin (e.g., if another pin uses the same configuration), the conflicting pin names in the list will turn yellow.

PotentialPinConflict
  • If you proceed to select the conflicting pin, both pins will turn red, indicating a pin configuration conflict that needs to be resolved.

PinConflict

Hardware Adapter & Hardware Extensions

  • Interactive Pop-out: Clicking on either board will make it pop out in the main board display area, allowing you to view and interact with its specific configurations and settings.

  • You can also remove or edit any boards added to this menu using the delete and edit icons.

  • Boards Available: PROTOS FPGA Extension board, Nucleo F303RE, Small Digital IO Extender

HWadapterExtensions
  • Adding a new adapter: You can add a new hardware adapter or extension by clicking the "Add Hardware Adapter" plus icon in the upper left corner. This will prompt you to select an image for your board (keep this as small as possible << 10MB).

AddAdapter
  • After selecting a valid image, a menu to configure your hardware adapter will appear on the left side.

  • You can adjust the position and size of the board image, change the adapter’s name and add pins to the board using this menu.

  • Values can also be changed by scrolling on the inputs for quicker adjustment.

HWConfigurationMenu
  • Clicking the "+ Add Pins" button will add a group of pins and extend the menu with inputs to configure the pins on your board.

  • You can adjust the position, spacing between the pins, the number of rows and columns of pins and the individual pin names.

PinConfigurationMenu

Pin Connections

  • Adding a New Signal: You can add a new signal by providing a name and a comment for better identification and documentation purposes.

  • From and To Sections: In these sections, you will define the source (From) and destination (To) pins for your signal. Selected pins in these sections will turn blue, indicating that they are active and selected. To assign a pin, click on the desired pin on the board.

PinAssignment
  • You can use the search bar to find a specific pin. Once found, the pin will be marked with a green circle for easy identification.

SearchBar

Auto Scroll

  • You can activate/deactivate auto-scrolling by clicking the icon to the left of the PROTOS logo. This feature allows the interface to automatically scroll and hover over the corresponding element in the left bar when you point out a software adapter or a pin connection.

AutoScrolling

Configuration Saving

  • On the upper left side of the screen, click the "Save config" icon to save your configurations as a JSON file.

Buttons

Configuration Loading

  • To the right of the "Save config" icon, there is a "Load config" icon that allows you to load configurations from a previously saved JSON file.

How to Generate Permanent Hardware Configurations

  • After saving your configurations as a JSON file, you need to copy it to your corresponding project directory.

  • In the project directory, open a command line or terminal and run the following command:

./gradlew.bat generateHWDocu
PermanentConfig
Warning If you do not provide any saved configurations (.json file), a warning will indicate that no file was found. However, an empty template will still be generated.
  • Once the command has been executed, navigate to the Documentation folder within your project directory. Inside, you’ll find the HwDocumentation.html file, which you can open to view the configuration of your project.