Changes made for Pathfinder V5 PC's.
In Pathfinder there is a section under Diagnostics/Input and Output Status that shows the labels for what and where the I/O is on the selected machine. This information does not show up unless a blackbox controller is communicating with Pathfinder. This is unnecessary since Pathfinder is the one with the I/O information. The fix was to make sure the labels are shown regardless if a controller is connected or not. Also, a change was made to not show I/O past 24 if they don't exist on that machine.
Root Cause: MachineCommunicationManager.cs:1809 — GetInputFunctions() and GetOutputFunctions() use .Take(BlackBoxCount * 24) to limit results. BlackBoxCount is only set when the controller responds to a UART version request. When offline, it stays at 0, so .Take(0) returns empty dictionaries and no labels are displayed.
Fix: When BlackBoxCount is 0 (no controller connected yet), skip the .Take() limit entirely and show all enabled I/O labels from the machine configuration. When connected, the limit is still applied as before to match the actual number of physical I/O pins on the controller(s).
IOStatus.cs — In UpdateFunctionAssignments(), after receiving the input/output dictionaries from the configuration, it now checks the max pin ID. If no I/O goes beyond pin 24, it removes rows 25–48 from the DataTable and updates numberOfPorts to 24. This means UpdateActiveInputs/UpdateActiveOutputs will also only iterate over 24 rows. Machines with 2 controllers (pins > 24) still get the full 48 rows.
| Model | Version | Released |
|---|---|---|
| Pathfinder PC | 5.01.42.3681 | 2/27/2026 |