From 8e27d9ad74176c2283ff31e4691f86bd245c04dd Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Sun, 21 Dec 2025 09:24:50 -0800 Subject: [PATCH] Add new device images --- .../HELTECV4.imageset/Contents.json | 12 +++ .../HELTECV4.imageset/heltec_v4.svg | 1 + .../THINKNODEM3.imageset/Contents.json | 12 +++ .../THINKNODEM3.imageset/thinknode_m3.svg | 1 + .../THINKNODEM4.imageset/Contents.json | 12 +++ .../THINKNODEM4.imageset/thinknode_m4.svg | 1 + .../CoreData/UserEntityExtension.swift | 11 +++ Meshtastic/Resources/DeviceHardware.json | 96 ++++++++++++++++++- 8 files changed, 142 insertions(+), 4 deletions(-) create mode 100644 Meshtastic/Assets.xcassets/HELTECV4.imageset/Contents.json create mode 100644 Meshtastic/Assets.xcassets/HELTECV4.imageset/heltec_v4.svg create mode 100644 Meshtastic/Assets.xcassets/THINKNODEM3.imageset/Contents.json create mode 100644 Meshtastic/Assets.xcassets/THINKNODEM3.imageset/thinknode_m3.svg create mode 100644 Meshtastic/Assets.xcassets/THINKNODEM4.imageset/Contents.json create mode 100644 Meshtastic/Assets.xcassets/THINKNODEM4.imageset/thinknode_m4.svg diff --git a/Meshtastic/Assets.xcassets/HELTECV4.imageset/Contents.json b/Meshtastic/Assets.xcassets/HELTECV4.imageset/Contents.json new file mode 100644 index 00000000..a90a896f --- /dev/null +++ b/Meshtastic/Assets.xcassets/HELTECV4.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "heltec_v4.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Meshtastic/Assets.xcassets/HELTECV4.imageset/heltec_v4.svg b/Meshtastic/Assets.xcassets/HELTECV4.imageset/heltec_v4.svg new file mode 100644 index 00000000..849d056f --- /dev/null +++ b/Meshtastic/Assets.xcassets/HELTECV4.imageset/heltec_v4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Meshtastic/Assets.xcassets/THINKNODEM3.imageset/Contents.json b/Meshtastic/Assets.xcassets/THINKNODEM3.imageset/Contents.json new file mode 100644 index 00000000..625b6450 --- /dev/null +++ b/Meshtastic/Assets.xcassets/THINKNODEM3.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "thinknode_m3.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Meshtastic/Assets.xcassets/THINKNODEM3.imageset/thinknode_m3.svg b/Meshtastic/Assets.xcassets/THINKNODEM3.imageset/thinknode_m3.svg new file mode 100644 index 00000000..ce5ce6fc --- /dev/null +++ b/Meshtastic/Assets.xcassets/THINKNODEM3.imageset/thinknode_m3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Meshtastic/Assets.xcassets/THINKNODEM4.imageset/Contents.json b/Meshtastic/Assets.xcassets/THINKNODEM4.imageset/Contents.json new file mode 100644 index 00000000..2c2709dc --- /dev/null +++ b/Meshtastic/Assets.xcassets/THINKNODEM4.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "thinknode_m4.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Meshtastic/Assets.xcassets/THINKNODEM4.imageset/thinknode_m4.svg b/Meshtastic/Assets.xcassets/THINKNODEM4.imageset/thinknode_m4.svg new file mode 100644 index 00000000..a5050859 --- /dev/null +++ b/Meshtastic/Assets.xcassets/THINKNODEM4.imageset/thinknode_m4.svg @@ -0,0 +1 @@ +T&HStatusFunction \ No newline at end of file diff --git a/Meshtastic/Extensions/CoreData/UserEntityExtension.swift b/Meshtastic/Extensions/CoreData/UserEntityExtension.swift index fbf55f5a..c5c3112c 100644 --- a/Meshtastic/Extensions/CoreData/UserEntityExtension.swift +++ b/Meshtastic/Extensions/CoreData/UserEntityExtension.swift @@ -76,6 +76,8 @@ extension UserEntity { return "HELTECMESHNODET114" case "HELTECV3": return "HELTECV3" + case "HELTECV4": + return "HELTECV4" case "HELTECMESHPOCKET": return "HELTECMESHPOCKET" case "HELTECVISIONMASTERE213": @@ -139,6 +141,15 @@ extension UserEntity { return "MUZIR1NEO" case "STATIONG2": return "STATIONG2" + /// Elecrow + case "THINKNODEM1": + return "THINKNODEM1" + case "THINKNODEM2": + return "THINKNODEM2" + case "THINKNODEM3": + return "THINKNODEM3" + case "THINKNODEM3": + return "THINKNODEM4" /// DIY Devices case "RPIPICO": return "RPIPICO" diff --git a/Meshtastic/Resources/DeviceHardware.json b/Meshtastic/Resources/DeviceHardware.json index a49e973e..3db1437d 100644 --- a/Meshtastic/Resources/DeviceHardware.json +++ b/Meshtastic/Resources/DeviceHardware.json @@ -908,6 +908,22 @@ "thinknode_m2.svg" ] }, + { + "hwModel": 93, + "hwModelSlug": "MUZI_BASE", + "platformioTarget": "muzi-base", + "architecture": "nrf52840", + "activelySupported": false, + "supportLevel": 1, + "displayName": "muzi base", + "tags": [ + "muzi" + ], + "requiresDfu": true, + "images": [ + "muzi_base.svg" + ] + }, { "hwModel": 94, "hwModelSlug": "HELTEC_MESH_POCKET", @@ -923,7 +939,28 @@ "heltec_mesh_pocket.svg" ], "requiresDfu": true, - "hasInkHud": true + "hasInkHud": true, + "key": "HELTEC_MESH_POCKET", + "variant": "10000mAh" + }, + { + "hwModel": 94, + "hwModelSlug": "HELTEC_MESH_POCKET", + "platformioTarget": "heltec-mesh-pocket-5000", + "architecture": "nrf52840", + "activelySupported": true, + "supportLevel": 1, + "displayName": "Heltec MeshPocket", + "tags": [ + "Heltec" + ], + "images": [ + "heltec_mesh_pocket.svg" + ], + "requiresDfu": true, + "hasInkHud": true, + "key": "HELTEC_MESH_POCKET", + "variant": "5000mAh" }, { "hwModel": 95, @@ -1187,13 +1224,64 @@ "hwModelSlug": "THINKNODE_M3", "platformioTarget": "thinknode_m3", "architecture": "nrf52840", - "activelySupported": false, + "activelySupported": true, "supportLevel": 1, "displayName": "ThinkNode M3", "tags": [ "Elecrow" ], - "requiresDfu": true + "requiresDfu": true, + "images": [ + "thinknode_m3.svg" + ] + }, + { + "hwModel": 116, + "hwModelSlug": "WISMESH_TAP_V2", + "platformioTarget": "rak_wismesh_tap_v2", + "architecture": "esp32-s3", + "activelySupported": false, + "supportLevel": 1, + "displayName": "RAK WisMesh Tap V2", + "tags": [ + "RAK" + ], + "hasMui": true, + "partitionScheme": "8MB", + "images": [ + "rak-wismesh-tap-v2.svg" + ] + }, + { + "hwModel": 119, + "hwModelSlug": "THINKNODE_M4", + "platformioTarget": "thinknode_m4", + "architecture": "nrf52840", + "activelySupported": false, + "supportLevel": 1, + "displayName": "ThinkNode M4", + "tags": [ + "Elecrow" + ], + "requiresDfu": true, + "images": [ + "thinknode_m4.svg" + ] + }, + { + "hwModel": 120, + "hwModelSlug": "THINKNODE_M6", + "platformioTarget": "thinknode_m6", + "architecture": "nrf52840", + "activelySupported": false, + "supportLevel": 1, + "displayName": "ThinkNode M6", + "tags": [ + "Elecrow" + ], + "requiresDfu": true, + "images": [ + "thinknode_m6.svg" + ] } ] -