No, nothing generated by AI. Started this code a few years ago for another project, added and rearranged for various projects over the years. Last version ran on Windows, this one is moved to a Raspberry PI to avoid code bloat but is not fully functional yet. That is why there are so many odd nodes that are part of it, not just my code but various examples I've imported to copy.
You can see on Flow 1 a dashboard 2 ui node that worked when I first installed it this node-red stub. After importing the partially coded project it doesn't work. I wouldn't be surprised to find it is the xterm node that is messing us up, that one is quite invasive. And I don't really need it.
[
{
"id": "3225eef1a9099f8f",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "3415502837f22417",
"type": "tab",
"label": "Controls",
"disabled": false,
"info": "",
"env": []
},
{
"id": "0a73c3f3d67e711e",
"type": "tab",
"label": "Programmer",
"disabled": false,
"info": "Using exec node to program chips\r\nChanges when platform is Windows\r\nRelies on box64 to be able to use\r\nSTM32Cube CLI on arch64 ARM devices\r\nSend msg.path to set path to code\r\nSend msg.STLink_SN to set serial number",
"env": []
},
{
"id": "0229b761f4bb7f20",
"type": "tab",
"label": "Database",
"disabled": false,
"info": "Using MariaDB. A server must exist at port 3306\r\nuser testset pwd testset\r\nInstalled using instructions here:\r\nhttps://raspberrytips.com/install-mariadb-raspberry-pi/",
"env": []
},
{
"id": "6810e17f724223cf",
"type": "tab",
"label": "Testset",
"disabled": false,
"info": "Pico processor for added serial ports\r\nand Sensor/Hub control\r\nSerial interface to power supply\r\nSerial interfaces to sensor and Hub\r\nls -l /dev/serial/by-id\r\ntotal 0\r\nlrwxrwxrwx 1 root root 13 Jul 10 09:54 usb-MicroPython_Board_in_FS_mode_e66180109f793b21-if00 -> ../../ttyACM1\r\nlrwxrwxrwx 1 root root 13 Jul 10 09:54 usb-Nuvoton_USB_Virtual_COM_00321AB40454-if00 -> ../../ttyACM0\r\nlrwxrwxrwx 1 root root 13 Jul 10 09:54 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB0\r\nlrwxrwxrwx 1 root root 13 Jul 10 09:54 usb-STMicroelectronics_STLINK-V3_001F00233133510837363734-if01 -> ../../ttyACM2\r\nlrwxrwxrwx 1 root root 13 Jul 10 09:54 usb-STMicroelectronics_STLINK-V3_004C002E3033511735393935-if01 -> ../../ttyACM3\r\nInterpreted:\r\nPico ttyACM1\r\nPower supply ttyACM0\r\nCAN ttyUSB0\r\nSTLink Sensor ttyACM2\r\nSTLink Hub ttyACM3",
"env": []
},
{
"id": "41ddc2224951a39f",
"type": "tab",
"label": "CAN",
"disabled": false,
"info": "",
"env": []
},
{
"id": "155c1f3020b36499",
"type": "ui-base",
"name": "My Dashboard",
"path": "/dashboard",
"appIcon": "",
"includeClientData": true,
"acceptsClientConfig": [
"ui-notification",
"ui-control"
],
"showPathInSidebar": false,
"headerContent": "page",
"navigationStyle": "default",
"titleBarStyle": "default",
"showReconnectNotification": true,
"notificationDisplayTime": 1,
"showDisconnectNotification": true,
"allowInstall": false
},
{
"id": "6e3d65ac3e7797b6",
"type": "ui-theme",
"name": "Default Theme",
"colors": {
"surface": "#ffffff",
"primary": "#0094CE",
"bgPage": "#eeeeee",
"groupBg": "#ffffff",
"groupOutline": "#cccccc"
},
"sizes": {
"density": "default",
"pagePadding": "12px",
"groupGap": "12px",
"groupBorderRadius": "4px",
"widgetGap": "12px"
}
},
{
"id": "8b9e9735f57c0821",
"type": "ui-page",
"name": "Test",
"ui": "155c1f3020b36499",
"path": "/page1",
"icon": "home",
"layout": "grid",
"theme": "6e3d65ac3e7797b6",
"breakpoints": [
{
"name": "Default",
"px": "0",
"cols": "3"
},
{
"name": "Tablet",
"px": "576",
"cols": "6"
},
{
"name": "Small Desktop",
"px": "768",
"cols": "9"
},
{
"name": "Desktop",
"px": "1024",
"cols": "12"
}
],
"order": 1,
"className": "",
"visible": "true",
"disabled": "false"
},
{
"id": "d18dbf161d2ab1a3",
"type": "ui-group",
"name": "Test",
"page": "8b9e9735f57c0821",
"width": 6,
"height": 1,
"order": 1,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "c633a38ab96a4008",
"type": "ui-theme",
"name": "Default Theme",
"colors": {
"surface": "#ffffff",
"primary": "#0094CE",
"bgPage": "#eeeeee",
"groupBg": "#ffffff",
"groupOutline": "#cccccc"
},
"sizes": {
"density": "default",
"pagePadding": "12px",
"groupGap": "12px",
"groupBorderRadius": "4px",
"widgetGap": "12px"
}
},
{
"id": "129e99574def90a3",
"type": "ui-theme",
"name": "Another Theme",
"colors": {
"surface": "#000000",
"primary": "#ffd500",
"bgPage": "#a1a1a1",
"groupBg": "#b3b3b3",
"groupOutline": "#ffffff"
},
"sizes": {
"pagePadding": "9px",
"groupGap": "12px",
"groupBorderRadius": "9px",
"widgetGap": "6px",
"density": "default"
}
},
{
"id": "f1344150b4727bab",
"type": "ui-page",
"name": "Vermeer Test Set",
"ui": "155c1f3020b36499",
"path": "/page1",
"icon": "home",
"layout": "grid",
"theme": "c633a38ab96a4008",
"breakpoints": [
{
"name": "Default",
"px": "0",
"cols": "3"
},
{
"name": "Tablet",
"px": "576",
"cols": "6"
},
{
"name": "Small Desktop",
"px": "768",
"cols": "9"
},
{
"name": "Desktop",
"px": "1024",
"cols": "12"
}
],
"order": 2,
"className": "",
"visible": true,
"disabled": false
},
{
"id": "c29f562cf6149454",
"type": "ui-page",
"name": "Utilities",
"ui": "155c1f3020b36499",
"path": "/page2",
"icon": "home",
"layout": "grid",
"theme": "c633a38ab96a4008",
"breakpoints": [
{
"name": "Default",
"px": "0",
"cols": "3"
},
{
"name": "Tablet",
"px": "576",
"cols": "6"
},
{
"name": "Small Desktop",
"px": "768",
"cols": "9"
},
{
"name": "Desktop",
"px": "1024",
"cols": "12"
}
],
"order": 3,
"className": "",
"visible": true,
"disabled": false
},
{
"id": "0ae382e54a0dea68",
"type": "ui-group",
"name": "Controls",
"page": "f1344150b4727bab",
"width": "3",
"height": "3",
"order": 1,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "634787e0020596b1",
"type": "ui-group",
"name": "Results",
"page": "f1344150b4727bab",
"width": "6",
"height": 1,
"order": 2,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "eebe135f84b3df63",
"type": "ui-group",
"name": "Controls",
"page": "c29f562cf6149454",
"width": "4",
"height": 1,
"order": 1,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "9d8584ccc68e1b95",
"type": "ui-page",
"name": "Page Name",
"ui": "155c1f3020b36499",
"path": "/page3",
"icon": "home",
"layout": "grid",
"theme": "c633a38ab96a4008",
"breakpoints": [
{
"name": "Default",
"px": "0",
"cols": "3"
},
{
"name": "Tablet",
"px": "576",
"cols": "6"
},
{
"name": "Small Desktop",
"px": "768",
"cols": "9"
},
{
"name": "Desktop",
"px": "1024",
"cols": "12"
}
],
"order": 4,
"className": "",
"visible": "true",
"disabled": "false"
},
{
"id": "b933814f3792f46b",
"type": "ui-group",
"name": "Page Name",
"page": "9d8584ccc68e1b95",
"width": 6,
"height": 1,
"order": 1,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "c1b8ecfb77d870c4",
"type": "serial-port",
"name": "Pico",
"serialport": "/dev/ttyACM1",
"serialbaud": "115200",
"databits": "8",
"parity": "none",
"stopbits": "1",
"waitfor": "",
"dtr": "none",
"rts": "none",
"cts": "none",
"dsr": "none",
"newline": "\\n",
"bin": "false",
"out": "char",
"addchar": "\\r",
"responsetimeout": "10000"
},
{
"id": "f67a1483e12098bf",
"type": "serial-port",
"name": "",
"serialport": "/dev/ttyACM0",
"serialbaud": "115200",
"databits": "8",
"parity": "none",
"stopbits": "1",
"waitfor": "",
"dtr": "none",
"rts": "none",
"cts": "none",
"dsr": "none",
"newline": "30",
"bin": "false",
"out": "time",
"addchar": "",
"responsetimeout": "10000"
},
{
"id": "b04b164ff1130859",
"type": "xterm_config",
"rows": 60,
"columns": 120,
"cursorStyle": "bar",
"fastScrollModifier": "alt",
"scrollSensitivity": 1,
"fastScrollSensitivity": 1,
"scrollback": 1000,
"backgroundColor": "#000000",
"foregroundColor": "#ffffff",
"fontSize": 14,
"cursorBlink": true,
"drawBoldTextInBrightColors": true,
"loggingEnabled": false,
"name": "Page Name"
},
{
"id": "2236dfd1.c909e",
"type": "MySQLdatabase",
"name": "",
"host": "127.0.0.1",
"port": "3306",
"db": "VMTest",
"tz": "",
"charset": ""
},
{
"id": "a7490b12c7168fb0",
"type": "ui-button",
"z": "3225eef1a9099f8f",
"group": "d18dbf161d2ab1a3",
"name": "",
"label": "button",
"order": 1,
"width": 0,
"height": 0,
"emulateClick": false,
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"iconPosition": "left",
"payload": "",
"payloadType": "str",
"topic": "topic",
"topicType": "msg",
"buttonColor": "",
"textColor": "",
"iconColor": "",
"enableClick": true,
"enablePointerdown": false,
"pointerdownPayload": "",
"pointerdownPayloadType": "str",
"enablePointerup": false,
"pointerupPayload": "",
"pointerupPayloadType": "str",
"x": 390,
"y": 400,
"wires": [
[]
]
},
{
"id": "0db4a8059f5a5f82",
"type": "ui-table",
"z": "0229b761f4bb7f20",
"group": "b933814f3792f46b",
"name": "Database",
"label": "Database",
"order": 1,
"width": 0,
"height": 0,
"maxrows": 0,
"passthru": false,
"autocols": true,
"showSearch": true,
"deselect": true,
"selectionType": "none",
"columns": [],
"mobileBreakpoint": "sm",
"mobileBreakpointType": "defaults",
"action": "append",
"className": "",
"x": 920,
"y": 440,
"wires": [
[]
]
},
{
"id": "6c65be3fa48b8ae3",
"type": "global-config",
"env": [],
"modules": {
"@flowfuse/node-red-dashboard": "1.30.2",
"node-red-node-serialport": "2.0.3",
"node-red-contrib-xterm": "1.0.1",
"node-red-node-mysql": "3.0.0"
}
}
]