MCPcopy Create free account
hub / github.com/jetkvm/kvm / getSerialSettings

Function getSerialSettings

serial.go:360–473  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

358}
359
360func getSerialSettings() (SerialSettings, error) {
361 switch defaultMode.StopBits {
362 case serial.OneStopBit:
363 serialConfig.StopBits = "1"
364 case serial.OnePointFiveStopBits:
365 serialConfig.StopBits = "1.5"
366 case serial.TwoStopBits:
367 serialConfig.StopBits = "2"
368 }
369
370 switch defaultMode.Parity {
371 case serial.NoParity:
372 serialConfig.Parity = "none"
373 case serial.OddParity:
374 serialConfig.Parity = "odd"
375 case serial.EvenParity:
376 serialConfig.Parity = "even"
377 case serial.MarkParity:
378 serialConfig.Parity = "mark"
379 case serial.SpaceParity:
380 serialConfig.Parity = "space"
381 }
382
383 file, err := os.Open(serialSettingsPath)
384 if err != nil {
385 logger.Info().Msg("SerialSettings file doesn't exist, using default")
386 return serialConfig, err
387 }
388 defer file.Close()
389
390 // load and merge the default config with the user config
391 var loadedConfig SerialSettings
392 if err := json.NewDecoder(file).Decode(&loadedConfig); err != nil {
393 logger.Warn().Err(err).Msg("SerialSettings file JSON parsing failed")
394 return serialConfig, nil
395 }
396
397 serialConfig = loadedConfig // Update global config
398
399 // Apply settings to serial port, when opening the extension
400 var stopBits serial.StopBits
401 switch serialConfig.StopBits {
402 case "1":
403 stopBits = serial.OneStopBit
404 case "1.5":
405 stopBits = serial.OnePointFiveStopBits
406 case "2":
407 stopBits = serial.TwoStopBits
408 }
409
410 var parity serial.Parity
411 switch serialConfig.Parity {
412 case "none":
413 parity = serial.NoParity
414 case "odd":
415 parity = serial.OddParity
416 case "even":
417 parity = serial.EvenParity

Callers 1

rpcGetSerialSettingsFunction · 0.85

Calls 5

InfoMethod · 0.80
WarnMethod · 0.80
SetEchoEnabledMethod · 0.80
SetNormOptionsMethod · 0.80
CloseMethod · 0.45

Tested by

no test coverage detected