Skip to content

Commit

Permalink
Updates for new protos
Browse files Browse the repository at this point in the history
  • Loading branch information
garthvh committed Oct 10, 2024
1 parent 4b44224 commit fa4e000
Show file tree
Hide file tree
Showing 13 changed files with 646 additions and 68 deletions.
68 changes: 37 additions & 31 deletions Localizable.xcstrings
Original file line number Diff line number Diff line change
Expand Up @@ -469,9 +469,6 @@
},
"Admin & Direct Message Keys" : {

},
"Admin Key" : {

},
"admin.log" : {
"extractionState" : "manual",
Expand Down Expand Up @@ -1534,13 +1531,13 @@
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "尝试连接%@失败,你可能需要在系统设置的蓝牙选项中忽略该电台。"
"value" : "尝试连接%d失败,你可能需要在系统设置的蓝牙选项中忽略该电台。"
}
},
"zh-Hant-TW" : {
"stringUnit" : {
"state" : "translated",
"value" : "嘗試連接%@失敗,你可能需要在系统設定的藍芽選項中忽略該電台。"
"value" : "嘗試連接%d失敗,你可能需要在系统設定的藍芽選項中忽略該電台。"
}
}
}
Expand Down Expand Up @@ -5198,9 +5195,6 @@
},
"Detection sensor messages are received as text messages. If you enable notifications you will recieve a notification for each detection message received and a corresponding unread message badge." : {

},
"Detection trigger High" : {

},
"detection.sensor" : {
"localizations" : {
Expand Down Expand Up @@ -5877,55 +5871,55 @@
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Repeater - Mesh packets will prefer to be routed over this node. This role eliminates unnecessary overhead such as NodeInfo, DeviceTelemetry, and any other mesh packet, resulting in the device not appearing as part of the network. Please see Rebroadcast Mode for additional settings specific to this role."
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Infrastructure node for extending network coverage by relaying messages with minimal overhead. Not visible in Nodes list."
"value" : "Infrastructure node on a tower or mountain top only. Not to be used for roofs or mobile nodes. Relays messages with minimal overhead. Not visible in Nodes list."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Noeud d'infrastructure qui étend la couverture du réseau en relayant les messages avec un minimum de surcharge. Invisible dans la liste des noeuds."
}
},
"he" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "מכשיר תשתית להרחבת המש על ידי העברת הודעות עם דאטה נוסף מינימלי."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Przekaźnik - Pakiety siatki będą preferować trasowanie przez ten węzeł. Ta rola eliminuje niepotrzebny nadmiar, taki jak NodeInfo, DeviceTelemetry i inne pakiety siatki, skutkując tym, że urządzenie nie będzie widoczne jako część sieci. Proszę zobaczyć tryb Rebroadcast dla dodatkowych ustawień specyficznych dla tej roli."
}
},
"pt-PT" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Nó de infraestrutura para ampliar a cobertura da rede transmitindo mensagens com sobrecarga mínima. Não visível na lista de Nós."
}
},
"se" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Infrastrukturnod för att utöka nätverkstäckningen genom att vidarebefordra meddelanden med minimal overhead. Syns inte i Noder-listan."
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "中继模式 - Mesh 网络数据包将优先通过此节点路由。此模式可消除不必要的开销,如节点信息、设备遥测和任何其他 Mesh 数据包,从而使设备不显示为 Mesh 网络的一部分。有关此角色的其他特定设置,请参阅转播模式。"
}
},
"zh-Hant-TW" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "中繼模式 - Mesh 網路數據包將優先通過此中繼點路由。此模式可消除不必要的開銷,如 NodeInfo、DeviceTelemetry 和任何其他 Mesh 數據包,從而使設備不顯示為 Mesh 網路的一部分。有關此角色的其他特定設置,請參閱轉播模式。"
}
}
Expand All @@ -5936,55 +5930,55 @@
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Router - Mesh Pakete werden bevorzugt über diesen Node gerouted. Dieser Node wird nicht von einer Client App benutzt. WLAN, Bluetooth und Display sind aus."
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Infrastructure node for extending network coverage by relaying messages. Visible in Nodes list."
"value" : "Infrastructure node on a tower or mountain top only. Not to be used for roofs or mobile nodes. Needs exceptional coverage. Visible in Nodes list."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Noeud d'infrastructure qui étend la couverture du réseau en relayant les messages. Visible dans la liste des noeuds."
}
},
"he" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "מכשיר תשתית להרחבת המש על ידי העברת הודעות. מופיע ברשימת מכשירים."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Router - Pakiety siatki będą preferować trasowanie przez ten węzeł. Zakłada, że urządzenie będzie działać samodzielnie, umieszczone w miejscu z przewagą zasięgu. UWAGA: Radia BLE/Wi-Fi i ekran OLED zostaną uśpione."
}
},
"pt-PT" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Nó de infraestrutura para ampliar a cobertura da rede transmitindo mensagens. Visível na lista de Nós."
}
},
"se" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "Infrastrukturnod för att utöka nätverkstäckningen genom att vidarebefordra meddelanden. Synlig i Noder-listan."
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "纯路由模式 - 自动转发 Mesh 网络中其他节点的消息,中继模式下屏幕会熄灭,Wi-Fi 和蓝牙将会进入睡眠模式,App 将无法连接到电台进行收发操作。"
}
},
"zh-Hant-TW" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "纯路由模式 - 自動轉發 Mesh 網路中其他中繼點的消息,中繼模式下螢幕會熄滅,Wi-Fi 和藍芽將會進入睡眠模式,App 將無法連接到電台進行收發操作。"
}
}
Expand All @@ -6002,7 +5996,7 @@
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Combination of both ROUTER and CLIENT. Not for mobile devices. Deprecated"
"value" : "Deprecated role use client."
}
},
"fr" : {
Expand Down Expand Up @@ -16683,6 +16677,9 @@
},
"Primary" : {

},
"Primary Admin Key" : {

},
"Primary GPIO" : {

Expand Down Expand Up @@ -18913,6 +18910,9 @@
},
"Secondary" : {

},
"Secondary Admin Key" : {

},
"Security" : {

Expand Down Expand Up @@ -21031,6 +21031,9 @@
},
"Ten Minutes" : {

},
"Tertiary Admin Key" : {

},
"The amount of time to wait before we consider your packet as done." : {

Expand Down Expand Up @@ -21062,7 +21065,7 @@
"The most recent public key for this node does not match the previously recorded key. You can delete the node and let it exchange keys again, but this also may indicate a more serious security problem. Contact the user through another trusted channel to determine if the key change was due to a factory reset or other intentional action." : {

},
"The public key authorized to send admin messages to this node." : {
"The primary public key authorized to send admin messages to this node." : {

},
"The public key does not match the recorded key. You may delete the node and let it exchange keys again, but this may indicate a more serious security problem. Contact the user through another trusted channel, to determine if the key change was due to a factory reset or other intentional action." : {
Expand All @@ -21073,9 +21076,15 @@
},
"The root topic to use for MQTT." : {

},
"The secondary public key authorized to send admin messages to this node." : {

},
"The state of the LED (on/off)" : {

},
"The tertiarypublic key authorized to send admin messages to this node." : {

},
"There has been no response to a request for device metadata over the admin channel for this node." : {

Expand Down Expand Up @@ -22607,9 +22616,6 @@
},
"When using in GPIO mode, keep the output on for this long. " : {

},
"Whether or not the GPIO pin state detection is triggered on HIGH (1) or LOW (0)" : {

},
"WiFi Options" : {

Expand Down
4 changes: 3 additions & 1 deletion Meshtastic.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@
DD007BAD2AA4E91200F5FA12 /* MyInfoEntityExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyInfoEntityExtension.swift; sourceTree = "<group>"; };
DD007BAF2AA5981000F5FA12 /* NodeInfoEntityExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NodeInfoEntityExtension.swift; sourceTree = "<group>"; };
DD05296F2B77F454008E44CD /* MeshtasticDataModelV 26.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MeshtasticDataModelV 26.xcdatamodel"; sourceTree = "<group>"; };
DD0BE30C2CB785D8000BA445 /* MeshtasticDataModelV 46.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MeshtasticDataModelV 46.xcdatamodel"; sourceTree = "<group>"; };
DD0E20FF2B892E1300F2D100 /* MeshtasticDataModelV 28.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MeshtasticDataModelV 28.xcdatamodel"; sourceTree = "<group>"; };
DD0E21002B8A6BC500F2D100 /* DeviceHardware.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = DeviceHardware.json; sourceTree = "<group>"; };
DD0E9C222A30CE3A00580CBB /* MeshtasticDataModelV14.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = MeshtasticDataModelV14.xcdatamodel; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1910,6 +1911,7 @@
DD3CC6BA28E366DF00FA9159 /* Meshtastic.xcdatamodeld */ = {
isa = XCVersionGroup;
children = (
DD0BE30C2CB785D8000BA445 /* MeshtasticDataModelV 46.xcdatamodel */,
DD6D5A342CA13BA600ED3032 /* MeshtasticDataModelV 45.xcdatamodel */,
DD7CF8DA2C93663C008BD10E /* MeshtasticDataModelV 44.xcdatamodel */,
DD7E235F2C7AA3E50078ACDF /* MeshtasticDataModelV 43.xcdatamodel */,
Expand Down Expand Up @@ -1956,7 +1958,7 @@
DD5D0A9A2931AD6B00F7EA61 /* MeshtasticDataModelV2.xcdatamodel */,
DD3CC6BB28E366DF00FA9159 /* MeshtasticDataModel.xcdatamodel */,
);
currentVersion = DD6D5A342CA13BA600ED3032 /* MeshtasticDataModelV 45.xcdatamodel */;
currentVersion = DD0BE30C2CB785D8000BA445 /* MeshtasticDataModelV 46.xcdatamodel */;
name = Meshtastic.xcdatamodeld;
path = Meshtastic/Meshtastic.xcdatamodeld;
sourceTree = "<group>";
Expand Down
57 changes: 42 additions & 15 deletions Meshtastic/Enums/LoraConfigEnums.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,12 @@ enum RegionCodes: Int, CaseIterable, Identifiable {
case th = 12
case ua433 = 14
case ua868 = 15
case my_433 = 16
case my_919 = 17
case sg_923 = 18
case my433 = 16
case my919 = 17
case sg923 = 18
case ph433 = 19
case ph868 = 20
case ph915 = 21
case lora24 = 13
var topic: String {
switch self {
Expand Down Expand Up @@ -61,12 +64,18 @@ enum RegionCodes: Int, CaseIterable, Identifiable {
"UA_433"
case .ua868:
"UA_868"
case .my_433:
case .my433:
"MY_433"
case .my_919:
case .my919:
"MY_919"
case .sg_923:
case .sg923:
"SG_923"
case .ph433:
"ph_433"
case .ph868:
"ph_868"
case .ph915:
"ph_915"
case .lora24:
"LORA_24"
} }
Expand Down Expand Up @@ -105,12 +114,18 @@ enum RegionCodes: Int, CaseIterable, Identifiable {
return "Ukraine 868mhz"
case .lora24:
return "2.4 GHZ"
case .my_433:
case .my433:
return "Malaysia 433mhz"
case .my_919:
case .my919:
return "Malaysia 919mhz"
case .sg_923:
case .sg923:
return "Singapore 923mhz"
case .ph433:
return "Philippines 433mhz"
case .ph868:
return "Philippines 868mhz"
case .ph915:
return "Philippines 915mhz"
}
}
var dutyCycle: Int {
Expand Down Expand Up @@ -147,11 +162,17 @@ enum RegionCodes: Int, CaseIterable, Identifiable {
return 10
case .lora24:
return 100
case .my_433:
case .my433:
return 100
case .my_919:
case .my919:
return 100
case .sg_923:
case .sg923:
return 100
case .ph433:
return 100
case .ph868:
return 100
case .ph915:
return 100
}
}
Expand Down Expand Up @@ -190,12 +211,18 @@ enum RegionCodes: Int, CaseIterable, Identifiable {
return Config.LoRaConfig.RegionCode.ua868
case .lora24:
return Config.LoRaConfig.RegionCode.lora24
case .my_433:
case .my433:
return Config.LoRaConfig.RegionCode.my433
case .my_919:
case .my919:
return Config.LoRaConfig.RegionCode.my919
case .sg_923:
case .sg923:
return Config.LoRaConfig.RegionCode.sg923
case .ph433:
return Config.LoRaConfig.RegionCode.ph433
case .ph868:
return Config.LoRaConfig.RegionCode.ph868
case .ph915:
return Config.LoRaConfig.RegionCode.ph915
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions Meshtastic/Helpers/MeshPackets.swift
Original file line number Diff line number Diff line change
Expand Up @@ -780,6 +780,9 @@ func telemetryPacket(packet: MeshPacket, connectedNode: Int64, context: NSManage
sentPackets: UInt32(telemetry.numPacketsTx),
receivedPackets: UInt32(telemetry.numPacketsRx),
badReceivedPackets: UInt32(telemetry.numPacketsRxBad),
dupeReceivedPackets: UInt32(telemetry.numRxDupe),
packetsSentRelay: UInt32(telemetry.numTxRelay),
packetsCanceledRelay: UInt32(telemetry.numTxRelayCanceled),
nodesOnline: UInt32(telemetry.numOnlineNodes),
totalNodes: UInt32(telemetry.numTotalNodes),
timerRange: date)
Expand Down
2 changes: 1 addition & 1 deletion Meshtastic/Meshtastic.xcdatamodeld/.xccurrentversion
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
<plist version="1.0">
<dict>
<key>_XCCurrentVersionName</key>
<string>MeshtasticDataModelV 45.xcdatamodel</string>
<string>MeshtasticDataModelV 46.xcdatamodel</string>
</dict>
</plist>
Loading

0 comments on commit fa4e000

Please sign in to comment.