File tree 1 file changed +11
-5
lines changed
1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -107,14 +107,20 @@ func (d *SerialMonitor) Configure(parameterName string, value string) error {
107
107
if ! slices .Contains (parameter .Values , value ) {
108
108
return fmt .Errorf ("invalid value for parameter %s: %s" , parameterName , value )
109
109
}
110
+ // Set configuration
110
111
oldValue := parameter .Selected
111
112
parameter .Selected = value
113
+
114
+ // Apply configuration to port
115
+ var configErr error
112
116
if d .openedPort {
113
- err := d .serialPort .SetMode (d .getMode ())
114
- if err != nil {
115
- parameter .Selected = oldValue
116
- return errors .New (err .Error ())
117
- }
117
+ configErr = d .serialPort .SetMode (d .getMode ())
118
+ }
119
+
120
+ // If configuration failed, rollback settings
121
+ if configErr != nil {
122
+ parameter .Selected = oldValue
123
+ return configErr
118
124
}
119
125
return nil
120
126
}
You can’t perform that action at this time.
0 commit comments