Overview
DIPanel is a standalone desktop application that connects to a running CoreEngine and monitors or injects values directly into its DBSim — the ICD-generated shared memory database produced by DBSimGenerator. It attaches over shared memory to a specific CoreEngine instance, selected from a live picker, and works the same whether that instance is running locally or is being mirrored in through the Reflector app.
1. Monitoring & Data Injection
The main panel is a live grid of ICD elements, one row per element, with columns for LRU, Block, Type, position/size, element name, and current value:
| Column | Purpose |
|---|---|
| Edit | Enter edit mode for the row to change its injected value. |
| Inject (Raw / Eng) | Two independent toggles per element — inject the raw wire value, the engineering (scaled/converted) value, or both. |
| LRU / Block / Type | ICD location and data type of the element. |
| Pos / Size | Byte position and size within the block. |
| Element / Value | Element name and its live (or injected) value. |
- Add Elements to DI — pick ICD elements to add to the grid.
- Find in DI — search the current grid for an element by name.
- Clear DI — remove all rows from the grid.
- Drag and drop a saved
.dinjfile onto the panel to load its element list directly. - Save the current element list (and injection settings) to a
.dinjfile, and reload it later.
2. Keyboard & Mouse Shortcuts
The DI grid supports a familiar set of editing shortcuts:
| Shortcut | Action |
|---|---|
Ctrl + F | Open the Find dialog. |
Ctrl + S | Save the current element list to a .dinj file. |
Ctrl + A | Select (mark) all rows. |
Ctrl + D | Deselect all rows. |
Delete | Remove the selected rows from the grid. |
Ctrl + C | Copy the selected rows. |
Ctrl + X | Cut the selected rows. |
Ctrl + V | Paste rows from the clipboard. |
Ctrl + click a row | Toggle that row's selection mark. |
| Drag & drop a file | Load a .dinj element list onto the panel. |
3. Graphs & Images
Any element can be opened in a dedicated Graph window (live time-series plot) or, for image-type elements, an Image window (live rendered view) via the Data Injection menu.
Graph and image window layouts (which elements are shown, window position) can be saved to a .digr file and reloaded later.
4. Recording
The Recording menu controls capturing and replaying simulation data:
| Command | Description |
|---|---|
| Rec | Start/stop recording the current simulation to disk. |
| Select | Open the recording options menu (choose what to record). |
| Play | Play back a recording in the Recording Viewer. |
| Open | Open an existing recording file. |
See the Recording guide for the CoreEngine-side recording configuration.
5. Reports
The Reports window displays the CoreEngine's runtime reports as they're generated — errors, warnings, and info messages — with each category color-coded and independently filterable so you can focus on just the errors, or see everything at once.
6. Profiler
The Profiler window shows live performance metrics for CoreEngine components (models, drivers, tasks):
| Column | Meaning |
|---|---|
| Name | The profiled component or task. |
| Current | Most recent measured duration. |
| Min / Max | Lowest and highest duration observed. |
| Average | Running average duration. |
7. States Status
The States Status window gives a graphical, color-coded view of every state controller's activity, organized into tabs. Each entry is colored by what it represents:
- Switch to — a state transition (green)
- Waiting for — a state waiting on a condition (yellow highlight)
- Warning — a state-reported warning (yellow)
- Error — a state-reported error (red highlight)
- Info — general informational messages (blue)
8. Core States
The Core States window shows the health of the CoreEngine's own Models and Drivers at a glance:
| Models table | Drivers table |
|---|---|
| Model Name, Version, Minor Frame rate, Active, Priority, Cores | Stream Name, Driver Name, Version, Active (OK / Fail), Report (last error message) |
Fail is highlighted in red along with its last reported error, making connectivity
problems with hardware or the driver API layer immediately visible.