[
        {
                "id": "setuptab1",
                "type": "tab",
                "label": "ABB-GoFa-12 One-Click Setup",
                "disabled": false,
                "info": "See the \"PREREQUISITES\" comment node on the canvas before running this — a RobotStudio-side one-time step (create a Remote Start/Stop user) and the controller being in Auto mode are both required and neither can be automated from here. Once those are done: open the gofa-robot config node, enter username/password and click Discover (or type the robot's IP), Deploy, then hit the inject. The setup node uploads the bundled RAPID module, loads it, resets the program pointer, turns motors on, starts RAPID, and confirms the socket server answers — the full per-step report lands in the debug sidebar."
        },
        {
                "id": "setupnote1",
                "type": "comment",
                "z": "setuptab1",
                "name": "PREREQUISITES — do this before running",
                "info": "1. RobotStudio (one-time, not automatable): create a user with Remote Start + Remote Stop grants. Controller tab -> Authenticate as admin -> Edit User Accounts -> Role tab -> Add Role -> enable Remote Start + Remote Stop -> User tab -> assign that role to a user (new or existing). The built-in Admin account cannot start/stop RAPID remotely, so gofa-setup will fail without this. Full walkthrough: README.md section 2.\n\n2. Controller must be in Auto mode on the FlexPendant before you run this flow. RWS cannot switch operating modes -- gofa-setup fails fast at its 'preflight' step if it isn't.\n\n3. Config node (below): enter the username/password from step 1, then click Discover (or type the robot's IP directly) and Deploy.\n\n4. Optional: the gofa-setup node's Module field defaults to MainModule -- change it to MainModuleEGM if you want EGM (Externally Guided Motion) support instead.\n\nOnce all four are done, hit the inject.",
                "x": 190,
                "y": 40,
                "wires": []
        },
        {
                "id": "setupcfg1",
                "type": "gofa-robot",
                "name": "ABB-GoFa-12",
                "ip": "192.168.125.1",
                "rwsPort": "443",
                "socketPort": "1025",
                "username": "Default User",
                "remotePointsPath": "$HOME/Programs/gofa_points.json",
                "backgroundPort": "1026",
                "jointLimits": "",
                "allowInsecureLiveControl": false
        },
        {
                "id": "setupinj1",
                "type": "inject",
                "z": "setuptab1",
                "name": "Run One-Click Setup",
                "props": [
                        {
                                "p": "payload"
                        }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "",
                "payloadType": "date",
                "x": 160,
                "y": 120,
                "wires": [
                        [
                                "setupnode1"
                        ]
                ]
        },
        {
                "id": "setupnode1",
                "type": "gofa-setup",
                "z": "setuptab1",
                "outputPayload": true,
                "name": "",
                "robot": "setupcfg1",
                "module": "MainModule",
                "task": "T_ROB1",
                "x": 400,
                "y": 120,
                "wires": [
                        [
                                "setupdbg1"
                        ]
                ]
        },
        {
                "id": "setupdbg1",
                "type": "debug",
                "z": "setuptab1",
                "name": "Setup Report",
                "active": true,
                "tosidebar": true,
                "console": false,
                "tostatus": false,
                "complete": "payload",
                "targetType": "msg",
                "x": 620,
                "y": 120,
                "wires": []
        }
]
