Browse Source

Add serial debug panel

pull/44/head
Sacha Weatherstone 4 years ago
parent
commit
4f1d2fd0b6
  1. 8
      package.json
  2. 184
      pnpm-lock.yaml
  3. 2
      src/components/PageComponents/Connect/Serial.tsx
  4. 36
      src/pages/Info.tsx

8
package.json

@ -23,9 +23,9 @@
"@emeraldpay/hashicon-react": "^0.5.2",
"@headlessui/react": "^1.7.3",
"@heroicons/react": "^2.0.12",
"@hookform/resolvers": "^2.9.8",
"@hookform/resolvers": "^2.9.9",
"@meshtastic/eslint-config": "^1.0.8",
"@meshtastic/meshtasticjs": "^0.6.108",
"@meshtastic/meshtasticjs": "^0.6.109",
"@tailwindcss/line-clamp": "^0.4.2",
"@tailwindcss/typography": "^0.5.7",
"base64-js": "^1.5.1",
@ -44,7 +44,7 @@
"react-dom": "^18.2.0",
"react-hook-form": "^7.37.0",
"react-hot-toast": "^2.4.0",
"react-icons": "^4.4.0",
"react-icons": "^4.6.0",
"react-json-pretty": "^2.2.0",
"react-json-tree": "^0.17.0",
"react-map-gl": "^7.0.19",
@ -56,7 +56,7 @@
"@tailwindcss/forms": "^0.5.3",
"@types/chrome": "^0.0.197",
"@types/geodesy": "^2.2.3",
"@types/node": "^18.8.5",
"@types/node": "^18.11.0",
"@types/react": "^18.0.21",
"@types/react-dom": "^18.0.6",
"@types/w3c-web-serial": "^1.0.3",

184
pnpm-lock.yaml

@ -4,15 +4,15 @@ specifiers:
'@emeraldpay/hashicon-react': ^0.5.2
'@headlessui/react': ^1.7.3
'@heroicons/react': ^2.0.12
'@hookform/resolvers': ^2.9.8
'@hookform/resolvers': ^2.9.9
'@meshtastic/eslint-config': ^1.0.8
'@meshtastic/meshtasticjs': ^0.6.108
'@meshtastic/meshtasticjs': ^0.6.109
'@tailwindcss/forms': ^0.5.3
'@tailwindcss/line-clamp': ^0.4.2
'@tailwindcss/typography': ^0.5.7
'@types/chrome': ^0.0.197
'@types/geodesy': ^2.2.3
'@types/node': ^18.8.5
'@types/node': ^18.11.0
'@types/react': ^18.0.21
'@types/react-dom': ^18.0.6
'@types/w3c-web-serial': ^1.0.3
@ -39,7 +39,7 @@ specifiers:
react-dom: ^18.2.0
react-hook-form: ^7.37.0
react-hot-toast: ^2.4.0
react-icons: ^4.4.0
react-icons: ^4.6.0
react-json-pretty: ^2.2.0
react-json-tree: ^0.17.0
react-map-gl: ^7.0.19
@ -59,9 +59,9 @@ dependencies:
'@emeraldpay/hashicon-react': 0.5.2
'@headlessui/react': 1.7.3_biqbaboplfbrettd7655fr4n2y
'@heroicons/react': 2.0[email protected]
'@hookform/resolvers': 2.9.8[email protected]
'@hookform/resolvers': 2.9.9[email protected]
'@meshtastic/eslint-config': 1.0.8
'@meshtastic/meshtasticjs': 0.6.108
'@meshtastic/meshtasticjs': 0.6.109
'@tailwindcss/line-clamp': 0.4[email protected]
'@tailwindcss/typography': 0.5[email protected]
base64-js: 1.5.1
@ -80,7 +80,7 @@ dependencies:
react-dom: 18.2[email protected]
react-hook-form: 7.37[email protected]
react-hot-toast: 2.4.0_biqbaboplfbrettd7655fr4n2y
react-icons: 4.4[email protected]
react-icons: 4.6[email protected]
react-json-pretty: 2.2.0_biqbaboplfbrettd7655fr4n2y
react-json-tree: 0.17.0_iapumuv4e6jcjznwuxpf4tt22e
react-map-gl: 7.0.19_6eczaga5xxiwzxtfiyk6fioasq
@ -92,7 +92,7 @@ devDependencies:
'@tailwindcss/forms': 0.5[email protected]
'@types/chrome': 0.0.197
'@types/geodesy': 2.2.3
'@types/node': 18.8.5
'@types/node': 18.11.0
'@types/react': 18.0.21
'@types/react-dom': 18.0.6
'@types/w3c-web-serial': 1.0.3
@ -119,7 +119,7 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/gen-mapping': 0.1.1
'@jridgewell/trace-mapping': 0.3.16
'@jridgewell/trace-mapping': 0.3.17
dev: true
/@babel/code-frame/7.12.11:
@ -410,8 +410,8 @@ packages:
js-sha3: 0.8.0
dev: false
/@esbuild/android-arm/0.15.10:
resolution: {integrity: sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==}
/@esbuild/android-arm/0.15.11:
resolution: {integrity: sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@ -419,8 +419,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-loong64/0.15.10:
resolution: {integrity: sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==}
/@esbuild/linux-loong64/0.15.11:
resolution: {integrity: sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@ -488,8 +488,8 @@ packages:
react: 18.2.0
dev: false
/@hookform/resolvers/2.9.8[email protected]:
resolution: {integrity: sha512-iVVjH0USq+1TqDdGkWe2M1x7Wn5OFPgVRo7CbWFsXTqqXqCaZtZcnzJu+UhljCWbthFWxWGXKLGYUDPZ04oVvQ==}
/@hookform/resolvers/2.9.9[email protected]:
resolution: {integrity: sha512-WMKO5HbNoGMdQNmf6kcjHmBKPd3voKvDdzr+IQGn1Rtb7dIQbTE33zf5dptZnv8dF4K0NvnzpTgz3bLdeAPc9w==}
peerDependencies:
react-hook-form: ^7.0.0
dependencies:
@ -540,7 +540,7 @@ packages:
dependencies:
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.14
'@jridgewell/trace-mapping': 0.3.16
'@jridgewell/trace-mapping': 0.3.17
dev: true
/@jridgewell/resolve-uri/3.1.0:
@ -557,8 +557,8 @@ packages:
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
dev: true
/@jridgewell/trace-mapping/0.3.16:
resolution: {integrity: sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==}
/@jridgewell/trace-mapping/0.3.17:
resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
dependencies:
'@jridgewell/resolve-uri': 3.1.0
'@jridgewell/sourcemap-codec': 1.4.14
@ -636,8 +636,8 @@ packages:
- supports-color
dev: false
/@meshtastic/meshtasticjs/0.6.108:
resolution: {integrity: sha512-RtQaLapwqbxR1rfGiDb+MD0nAfOltKn/pbACk+u/GaFJH/DrFAX5usRb0H8rlXuWRb0l4SXOUSB/dKXPmFW6zg==}
/@meshtastic/meshtasticjs/0.6.109:
resolution: {integrity: sha512-efRzurZC5CasmG7togj09Le4xYgl0oGbDpQoHVqAxQNYId+DGJWAt82Akf0i4S0ukhPorMYjkP/7IlgWt48NqA==}
dependencies:
'@protobuf-ts/runtime': 2.8.1
'@serialport/stream': 10.3.0
@ -883,8 +883,8 @@ packages:
'@types/pbf': 3.0.2
dev: false
/@types/node/18.8.5:
resolution: {integrity: sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==}
/@types/node/18.11.0:
resolution: {integrity: sha512-IOXCvVRToe7e0ny7HpT/X9Rb2RYtElG1a+VshjwT00HxrM2dWBApHQoqsI6WiY7Q03vdf2bCrIGzVrkF/5t10w==}
dev: true
/@types/normalize-package-data/2.4.1:
@ -1281,7 +1281,7 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001419
electron-to-chromium: 1.4.282
electron-to-chromium: 1.4.283
node-releases: 2.0.6
update-browserslist-db: 1.0[email protected]
dev: true
@ -1607,8 +1607,8 @@ packages:
resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
dev: false
/electron-to-chromium/1.4.282:
resolution: {integrity: sha512-Dki0WhHNh/br/Xi1vAkueU5mtIc9XLHcMKB6tNfQKk+kPG0TEUjRh5QEMAUbRp30/rYNMFD1zKKvbVzwq/4wmg==}
/electron-to-chromium/1.4.283:
resolution: {integrity: sha512-g6RQ9zCOV+U5QVHW9OpFR7rdk/V7xfopNXnyAamdpFgCHgZ1sjI8VuR1+zG2YG/TZk+tQ8mpNkug4P8FU0fuOA==}
dev: true
/emoji-regex/8.0.0:
@ -1694,8 +1694,8 @@ packages:
is-date-object: 1.0.5
is-symbol: 1.0.4
/esbuild-android-64/0.15.10:
resolution: {integrity: sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==}
/esbuild-android-64/0.15.11:
resolution: {integrity: sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@ -1703,8 +1703,8 @@ packages:
dev: true
optional: true
/esbuild-android-arm64/0.15.10:
resolution: {integrity: sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==}
/esbuild-android-arm64/0.15.11:
resolution: {integrity: sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@ -1712,8 +1712,8 @@ packages:
dev: true
optional: true
/esbuild-darwin-64/0.15.10:
resolution: {integrity: sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==}
/esbuild-darwin-64/0.15.11:
resolution: {integrity: sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@ -1721,8 +1721,8 @@ packages:
dev: true
optional: true
/esbuild-darwin-arm64/0.15.10:
resolution: {integrity: sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==}
/esbuild-darwin-arm64/0.15.11:
resolution: {integrity: sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@ -1730,8 +1730,8 @@ packages:
dev: true
optional: true
/esbuild-freebsd-64/0.15.10:
resolution: {integrity: sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==}
/esbuild-freebsd-64/0.15.11:
resolution: {integrity: sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@ -1739,8 +1739,8 @@ packages:
dev: true
optional: true
/esbuild-freebsd-arm64/0.15.10:
resolution: {integrity: sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==}
/esbuild-freebsd-arm64/0.15.11:
resolution: {integrity: sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@ -1748,8 +1748,8 @@ packages:
dev: true
optional: true
/esbuild-linux-32/0.15.10:
resolution: {integrity: sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==}
/esbuild-linux-32/0.15.11:
resolution: {integrity: sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@ -1757,8 +1757,8 @@ packages:
dev: true
optional: true
/esbuild-linux-64/0.15.10:
resolution: {integrity: sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==}
/esbuild-linux-64/0.15.11:
resolution: {integrity: sha512-Y2Rh+PcyVhQqXKBTacPCltINN3uIw2xC+dsvLANJ1SpK5NJUtxv8+rqWpjmBgaNWKQT1/uGpMmA9olALy9PLVA==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@ -1766,8 +1766,8 @@ packages:
dev: true
optional: true
/esbuild-linux-arm/0.15.10:
resolution: {integrity: sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==}
/esbuild-linux-arm/0.15.11:
resolution: {integrity: sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@ -1775,8 +1775,8 @@ packages:
dev: true
optional: true
/esbuild-linux-arm64/0.15.10:
resolution: {integrity: sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==}
/esbuild-linux-arm64/0.15.11:
resolution: {integrity: sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@ -1784,8 +1784,8 @@ packages:
dev: true
optional: true
/esbuild-linux-mips64le/0.15.10:
resolution: {integrity: sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==}
/esbuild-linux-mips64le/0.15.11:
resolution: {integrity: sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@ -1793,8 +1793,8 @@ packages:
dev: true
optional: true
/esbuild-linux-ppc64le/0.15.10:
resolution: {integrity: sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==}
/esbuild-linux-ppc64le/0.15.11:
resolution: {integrity: sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@ -1802,8 +1802,8 @@ packages:
dev: true
optional: true
/esbuild-linux-riscv64/0.15.10:
resolution: {integrity: sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==}
/esbuild-linux-riscv64/0.15.11:
resolution: {integrity: sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@ -1811,8 +1811,8 @@ packages:
dev: true
optional: true
/esbuild-linux-s390x/0.15.10:
resolution: {integrity: sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==}
/esbuild-linux-s390x/0.15.11:
resolution: {integrity: sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@ -1820,8 +1820,8 @@ packages:
dev: true
optional: true
/esbuild-netbsd-64/0.15.10:
resolution: {integrity: sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==}
/esbuild-netbsd-64/0.15.11:
resolution: {integrity: sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@ -1829,8 +1829,8 @@ packages:
dev: true
optional: true
/esbuild-openbsd-64/0.15.10:
resolution: {integrity: sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==}
/esbuild-openbsd-64/0.15.11:
resolution: {integrity: sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@ -1838,8 +1838,8 @@ packages:
dev: true
optional: true
/esbuild-sunos-64/0.15.10:
resolution: {integrity: sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==}
/esbuild-sunos-64/0.15.11:
resolution: {integrity: sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@ -1847,8 +1847,8 @@ packages:
dev: true
optional: true
/esbuild-windows-32/0.15.10:
resolution: {integrity: sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==}
/esbuild-windows-32/0.15.11:
resolution: {integrity: sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@ -1856,8 +1856,8 @@ packages:
dev: true
optional: true
/esbuild-windows-64/0.15.10:
resolution: {integrity: sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==}
/esbuild-windows-64/0.15.11:
resolution: {integrity: sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@ -1865,8 +1865,8 @@ packages:
dev: true
optional: true
/esbuild-windows-arm64/0.15.10:
resolution: {integrity: sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==}
/esbuild-windows-arm64/0.15.11:
resolution: {integrity: sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@ -1874,34 +1874,34 @@ packages:
dev: true
optional: true
/esbuild/0.15.10:
resolution: {integrity: sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==}
/esbuild/0.15.11:
resolution: {integrity: sha512-OgHGuhlfZ//mToxjte1D5iiiQgWfJ2GByVMwEC/IuoXsBGkuyK1+KrjYu0laSpnN/L1UmLUCv0s25vObdc1bVg==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
'@esbuild/android-arm': 0.15.10
'@esbuild/linux-loong64': 0.15.10
esbuild-android-64: 0.15.10
esbuild-android-arm64: 0.15.10
esbuild-darwin-64: 0.15.10
esbuild-darwin-arm64: 0.15.10
esbuild-freebsd-64: 0.15.10
esbuild-freebsd-arm64: 0.15.10
esbuild-linux-32: 0.15.10
esbuild-linux-64: 0.15.10
esbuild-linux-arm: 0.15.10
esbuild-linux-arm64: 0.15.10
esbuild-linux-mips64le: 0.15.10
esbuild-linux-ppc64le: 0.15.10
esbuild-linux-riscv64: 0.15.10
esbuild-linux-s390x: 0.15.10
esbuild-netbsd-64: 0.15.10
esbuild-openbsd-64: 0.15.10
esbuild-sunos-64: 0.15.10
esbuild-windows-32: 0.15.10
esbuild-windows-64: 0.15.10
esbuild-windows-arm64: 0.15.10
'@esbuild/android-arm': 0.15.11
'@esbuild/linux-loong64': 0.15.11
esbuild-android-64: 0.15.11
esbuild-android-arm64: 0.15.11
esbuild-darwin-64: 0.15.11
esbuild-darwin-arm64: 0.15.11
esbuild-freebsd-64: 0.15.11
esbuild-freebsd-arm64: 0.15.11
esbuild-linux-32: 0.15.11
esbuild-linux-64: 0.15.11
esbuild-linux-arm: 0.15.11
esbuild-linux-arm64: 0.15.11
esbuild-linux-mips64le: 0.15.11
esbuild-linux-ppc64le: 0.15.11
esbuild-linux-riscv64: 0.15.11
esbuild-linux-s390x: 0.15.11
esbuild-netbsd-64: 0.15.11
esbuild-openbsd-64: 0.15.11
esbuild-sunos-64: 0.15.11
esbuild-windows-32: 0.15.11
esbuild-windows-64: 0.15.11
esbuild-windows-arm64: 0.15.11
dev: true
/escalade/3.1.1:
@ -3469,8 +3469,8 @@ packages:
- csstype
dev: false
/react-icons/4.4[email protected]:
resolution: {integrity: sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg==}
/react-icons/4.6[email protected]:
resolution: {integrity: sha512-rR/L9m9340yO8yv1QT1QurxWQvWpbNHqVX0fzMln2HEb9TEIrQRGsqiNFQfiv9/JEUbyHmHPlNTB2LWm2Ttz0g==}
peerDependencies:
react: '*'
dependencies:
@ -4219,7 +4219,7 @@ packages:
terser:
optional: true
dependencies:
esbuild: 0.15.10
esbuild: 0.15.11
postcss: 8.4.18
resolve: 1.22.1
rollup: 2.78.1

2
src/components/PageComponents/Connect/Serial.tsx

@ -41,6 +41,8 @@ export const Serial = (): JSX.Element => {
const connection = new ISerialConnection(id);
await connection.connect({
port,
baudRate: undefined,
concurrentLogOutput: true,
});
device.addConnection(connection);
subscribeAll(device, connection);

36
src/pages/Info.tsx

@ -1,4 +1,5 @@
import type React from "react";
import { useState } from "react";
import { JSONTree } from "react-json-tree";
@ -10,22 +11,16 @@ import { useDevice } from "@core/providers/useDevice.js";
import { EyeIcon } from "@heroicons/react/24/outline";
export const InfoPage = (): JSX.Element => {
const {
channels,
config,
moduleConfig,
hardware,
nodes,
waypoints,
connection,
} = useDevice();
const { config, moduleConfig, hardware, nodes, waypoints, connection } =
useDevice();
const [serialLogs, setSerialLogs] = useState<string>("");
connection?.onDeviceDebugLog.subscribe((packet) => {
setSerialLogs(serialLogs + new TextDecoder().decode(packet));
});
const tabs: TabType[] = [
{
name: "Channels",
icon: <EyeIcon className="h-4" />,
element: () => <JSONTree theme="monokai" data={channels} />,
},
{
name: "Config",
icon: <EyeIcon className="h-4" />,
@ -56,6 +51,19 @@ export const InfoPage = (): JSX.Element => {
icon: <EyeIcon className="h-4" />,
element: () => <JSONTree theme="monokai" data={connection} />,
},
{
name: "Serial Logs",
icon: <EyeIcon className="h-4" />,
element: () => (
<div>
{serialLogs.split("\n").map((line, index) => (
<div key={index} className="text-sm">
{line}
</div>
))}
</div>
),
},
];
return <TabbedContent tabs={tabs} />;

Loading…
Cancel
Save