All the module configs are complete

This commit is contained in:
Garth Vander Houwen 2022-07-02 13:43:13 -07:00
parent b342002868
commit 78ce0ff20e
3 changed files with 140 additions and 8 deletions

View file

@ -291,7 +291,7 @@ struct SerialConfig: View {
"Are you sure?",
isPresented: $isPresentingSaveConfirm
) {
Button("Save Range Test Module Config to \(bleManager.connectedPeripheral != nil ? bleManager.connectedPeripheral.longName : "Unknown")?") {
Button("Save Serial Module Config to \(bleManager.connectedPeripheral != nil ? bleManager.connectedPeripheral.longName : "Unknown")?") {
var sc = ModuleConfig.SerialConfig()
sc.enabled = enabled
@ -302,7 +302,9 @@ struct SerialConfig: View {
sc.timeout = UInt32(timeout)
sc.mode = SerialModeTypes(rawValue: mode)!.protoEnumValue()
if bleManager.saveSerialModuleConfig(config: sc, destNum: bleManager.connectedPeripheral.num, wantResponse: false) {
let adminMessageId = bleManager.saveSerialModuleConfig(config: sc, fromUser: node.user!, toUser: node.user!, wantResponse: true)
if adminMessageId > 0 {
// Should show a saved successfully alert once I know that to be true
// for now just disable the button after a successful save

View file

@ -332,7 +332,54 @@ struct TelemetryConfig: View {
})
.onAppear {
self.bleManager.context = context
if self.initialLoad{
self.bleManager.context = context
self.deviceUpdateInterval = Int(node.telemetryConfig?.deviceUpdateInterval ?? 0)
self.environmentUpdateInterval = Int(node.telemetryConfig?.environmentUpdateInterval ?? 0)
self.environmentMeasurementEnabled = node.telemetryConfig?.environmentMeasurementEnabled ?? false
self.environmentSensorType = Int(node.telemetryConfig?.environmentSensorType ?? 0)
self.environmentScreenEnabled = node.telemetryConfig?.environmentScreenEnabled ?? false
self.environmentDisplayFahrenheit = node.telemetryConfig?.environmentDisplayFahrenheit ?? false
self.environmentRecoveryInterval = Int(node.telemetryConfig?.environmentRecoveryInterval ?? 0)
self.environmentReadErrorCountThreshold = Int(node.telemetryConfig?.environmentReadErrorCountThreshold ?? 0)
self.hasChanges = false
self.initialLoad = false
}
}
.onChange(of: deviceUpdateInterval) { newDeviceInterval in
if newDeviceInterval != node.telemetryConfig!.deviceUpdateInterval { hasChanges = true }
}
.onChange(of: environmentUpdateInterval) { newEnvInterval in
if newEnvInterval != node.telemetryConfig!.environmentUpdateInterval { hasChanges = true }
}
.onChange(of: environmentMeasurementEnabled) { newEnvEnabled in
if newEnvEnabled != node.telemetryConfig!.environmentMeasurementEnabled { hasChanges = true }
}
.onChange(of: environmentSensorType) { newEnvSensorType in
if newEnvSensorType != node.telemetryConfig!.environmentSensorType { hasChanges = true }
}
.onChange(of: environmentScreenEnabled) { newEnvScreenEnabled in
if newEnvScreenEnabled != node.telemetryConfig!.environmentScreenEnabled { hasChanges = true }
}
.onChange(of: environmentDisplayFahrenheit) { newEnvDisplayF in
if newEnvDisplayF != node.telemetryConfig!.environmentDisplayFahrenheit { hasChanges = true }
}
.onChange(of: environmentRecoveryInterval) { newEnvRecoveryInterval in
if newEnvRecoveryInterval != node.telemetryConfig!.environmentRecoveryInterval { hasChanges = true }
}
.onChange(of: environmentReadErrorCountThreshold) { newEnvReadErrorCountThreshold in
if newEnvReadErrorCountThreshold != node.telemetryConfig!.environmentReadErrorCountThreshold { hasChanges = true }
}
.navigationViewStyle(StackNavigationViewStyle())
}