Small changes to BLE Manager

This commit is contained in:
Garth Vander Houwen 2021-12-19 17:57:04 -08:00
parent d950dcf1c5
commit 62d28b7a1d
3 changed files with 24 additions and 8 deletions

View file

@ -80,5 +80,21 @@
landmarkType = "24">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "384A95D5-E5B6-46C8-94DA-506E31489BA6"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "MeshtasticClient/Helpers/BLEManager.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "520"
endingLineNumber = "520"
landmarkName = "peripheral(_:didUpdateValueFor:error:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View file

@ -36,7 +36,7 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
var timeoutTimer: Timer?
var timeoutTimerCount = 0
private var broadcastNodeId: UInt32 = 4294967295
var broadcastNodeNum: UInt32 = 4294967295
var nextSentMessageId: Int64 = 1
/* Meshtastic Service Details */
@ -610,7 +610,7 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
newMessage.direction = "IN"
newMessage.toUser = Int64(decodedInfo.packet.to)
if decodedInfo.packet.to == broadcastNodeId && fetchedUsers.count == 1 {
if decodedInfo.packet.to == broadcastNodeNum && fetchedUsers.count == 1 {
//let bcu: UserEntity = UserEntity(context: context!)
//bcu.shortName = "BC"
@ -713,7 +713,7 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
if fetchedNode.count == 1 {
fetchedNode[0].id = Int64(decodedInfo.packet.from)
fetchedNode[0].num = Int64(decodedInfo.packet.from)
fetchedNode[0].lastHeard = Date()// Date(timeIntervalSince1970: TimeInterval(Int64(decodedInfo.packet.rxTime)))
fetchedNode[0].lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(decodedInfo.packet.rxTime)))
fetchedNode[0].snr = decodedInfo.packet.rxSnr
}
else {
@ -778,7 +778,7 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
}
// Send Broadcast Message
public func sendMessage(message: String) -> Bool {
public func sendMessage(message: String, toUserNum: Int64) -> Bool {
var success = false
// Return false if we are not properly connected to a device, handle retry logic in the view for now
@ -825,7 +825,7 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
newMessage.messageTimestamp = Int32(Date().timeIntervalSince1970)
newMessage.receivedACK = false
newMessage.direction = "IN"
newMessage.toUser = Int64(broadcastNodeId)
newMessage.toUser = Int64(broadcastNodeNum)
newMessage.fromUser = fetchedUser[0]
newMessage.messagePayload = message
@ -838,7 +838,7 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
dataMessage.portnum = dataType
var meshPacket = MeshPacket()
meshPacket.to = broadcastNodeId
meshPacket.to = broadcastNodeNum
meshPacket.decoded = dataMessage
meshPacket.wantAck = true

View file

@ -181,14 +181,14 @@ struct Messages: View {
.padding(.bottom, 15)
Button(action: {
if bleManager.sendMessage(message: typingMessage) {
if bleManager.sendMessage(message: typingMessage, toUserNum: Int64(self.bleManager.broadcastNodeNum)) {
typingMessage = ""
focusedField = nil
} else {
_ = Timer.scheduledTimer(withTimeInterval: 3.0, repeats: false) { (_) in
if bleManager.sendMessage(message: typingMessage) {
if bleManager.sendMessage(message: typingMessage, toUserNum: Int64(self.bleManager.broadcastNodeNum)) {
typingMessage = ""
}
}