Skip to content

Commit d899c5e

Browse files
committed
Prepare Configure method to accept more configurations parameters
1 parent a2d749d commit d899c5e

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

Diff for: main.go

+11-5
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,20 @@ func (d *SerialMonitor) Configure(parameterName string, value string) error {
107107
if !slices.Contains(parameter.Values, value) {
108108
return fmt.Errorf("invalid value for parameter %s: %s", parameterName, value)
109109
}
110+
// Set configuration
110111
oldValue := parameter.Selected
111112
parameter.Selected = value
113+
114+
// Apply configuration to port
115+
var configErr error
112116
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
118124
}
119125
return nil
120126
}

0 commit comments

Comments
 (0)