# joevonarx/labview-remote-panels architecture

> Architecture diagram of the GitHub repository joevonarx/labview-remote-panels, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/joevonarx/labview-remote-panels
- Repository: https://github.com/joevonarx/labview-remote-panels

## Overview

This is a LabVIEW example of a cRIO-hosted Remote Panel server and a PC client. The documented workflow is for a user to open a cRIO VI’s front panel remotely and interact with the running cRIO application. The tree also contains RT support VIs and state controls, but no source excerpts explain their roles or connections, so they are shown without inferred call relationships. The README documents the client/server interaction; implementation details remain unverified.

Main entry points: [`PC/Main Remote Panel UI.vi`](https://github.com/joevonarx/labview-remote-panels/blob/main/PC/Main%20Remote%20Panel%20UI.vi) (Remote panel client), [`RT/Main RT.vi`](https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Main%20RT.vi) (RT application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["PC client"]
  node_pc_panel["Remote panel client"]
  node_pc_states["Main loop states"]
end

subgraph group_server["cRIO application"]
  node_rt_app["RT application<br/>[Main RT.vi]"]
  node_rt_caveat1["Caveat 1<br/>[Caveat 1.vi]"]
  node_rt_caveat1_states["Caveat 1 states"]
  node_rt_caveat2["Caveat 2<br/>[Caveat 2.vi]"]
  node_rt_example["Example subVI<br/>[Example SubVI.vi]"]
end

node_pc_user(("PC user"))

node_pc_user -->|"uses"| node_pc_panel
node_pc_panel -->|"opens and controls"| node_rt_app

click node_pc_panel "https://github.com/joevonarx/labview-remote-panels/blob/main/PC/Main%20Remote%20Panel%20UI.vi"
click node_pc_states "https://github.com/joevonarx/labview-remote-panels/blob/main/PC/Support/Main%20Loop%20States.ctl"
click node_rt_app "https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Main%20RT.vi"
click node_rt_caveat1 "https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Support/Caveat%201.vi"
click node_rt_caveat1_states "https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Support/Caveat%201%20-%20States.ctl"
click node_rt_caveat2 "https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Support/Caveat%202.vi"
click node_rt_example "https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Support/Example%20SubVI.vi"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_pc_panel,node_pc_states,node_pc_user toneBlue
class node_rt_app,node_rt_caveat1,node_rt_caveat1_states,node_rt_caveat2,node_rt_example toneAmber
```

## Components

### PC client

- [Remote panel client](https://github.com/joevonarx/labview-remote-panels/blob/main/PC/Main%20Remote%20Panel%20UI.vi): `PC/Main Remote Panel UI.vi`
- [Main loop states](https://github.com/joevonarx/labview-remote-panels/blob/main/PC/Support/Main%20Loop%20States.ctl): `PC/Support/Main Loop States.ctl`

### cRIO application

- [RT application](https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Main%20RT.vi): `RT/Main RT.vi`
- [Caveat 1](https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Support/Caveat%201.vi): `RT/Support/Caveat 1.vi`
- [Caveat 1 states](https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Support/Caveat%201%20-%20States.ctl): `RT/Support/Caveat 1 - States.ctl`
- [Caveat 2](https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Support/Caveat%202.vi): `RT/Support/Caveat 2.vi`
- [Example subVI](https://github.com/joevonarx/labview-remote-panels/blob/main/RT/Support/Example%20SubVI.vi): `RT/Support/Example SubVI.vi`

### Other components

- **PC user**

## Connections

- PC user → Remote panel client: uses (evidence: `README.md`)
- Remote panel client → RT application: opens and controls (evidence: `README.md`)
