Class: Uart_settings

Inherits:
Qt::Widget
  • Object
show all
Defined in:
lib/class/uart/Uart_settings.rb

Instance Method Summary collapse

Constructor Details

#initialize(chip) ⇒ Uart_settings

Returns a new instance of Uart_settings.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/class/uart/Uart_settings.rb', line 13

def initialize(chip)
  super()
  @view = Ui_Uart_settings.new
  centerWindow(self)
  @view.setupUi(self)
  @view.lbl_chip.setText(chip.reference)
  inputRestrict(@view.lie_baud_rate,     0)
  inputRestrict(@view.lie_idle_line_lvl, 0)
  inputRestrict(@view.lie_parity_bit,    0)
  inputRestrict(@view.lie_parity_type,   0)
  inputRestrict(@view.lie_stop_bits_nbr, 0)
  inputRestrict(@view.lie_word_size,     0)
  @chip = chip
  feed_settings_form unless chip.uart_setting.nil?
end

Instance Method Details

#autodetectObject



97
98
99
100
101
# File 'lib/class/uart/Uart_settings.rb', line 97

def autodetect
  baudUART = Uart_baudrate.new(@view)
  baudUART.setWindowModality(Qt::ApplicationModal)
  baudUART.show
end

#createObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/class/uart/Uart_settings.rb', line 50

def create
  chip_settings = UartSetting.create(
    baud_rate:     @view.lie_baud_rate.text.to_i,
    idle_line:     @view.lie_idle_line_lvl.text.to_i,
    parity_bit:    @view.lie_parity_bit.text.to_i,
    parity_type:   @view.lie_parity_type.text.to_i,
    stop_bits_nbr: @view.lie_stop_bits_nbr.text.to_i,
    word_size:     @view.lie_word_size.text.to_i,
    return_type:   get_return_type,
    chip_id:       @chip.id
  )
  unless check_for_errors(chip_settings)
    Qt::MessageBox.new(
      Qt::MessageBox::Information,
      'Succes',
      'UART settings saved'
    ).exec
    close
  end
end

#feed_settings_formObject



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/class/uart/Uart_settings.rb', line 36

def feed_settings_form
  @view.lie_baud_rate.setText(@chip.uart_setting.baud_rate.to_s)
  @view.lie_idle_line_lvl.setText(@chip.uart_setting.idle_line.to_s)
  @view.lie_parity_bit.setText(@chip.uart_setting.parity_bit.to_s)
  @view.lie_parity_type.setText(@chip.uart_setting.parity_type.to_s)
  @view.lie_stop_bits_nbr.setText(@chip.uart_setting.stop_bits_nbr.to_s)
  @view.lie_word_size.setText(@chip.uart_setting.word_size.to_s)
  @view.rbn_cr.setChecked(true) if @chip.uart_setting.return_type == 0
  @view.rbn_lf.setChecked(true) if @chip.uart_setting.return_type == 1
  @view.rbn_both.setChecked(true) if @chip.uart_setting.return_type == 2
rescue Exception => msg
  ErrorMsg.new.unknown(msg)
end

#get_return_typeObject



91
92
93
94
95
# File 'lib/class/uart/Uart_settings.rb', line 91

def get_return_type
  return 0 if @view.rbn_cr.isChecked
  return 1 if @view.rbn_lf.isChecked
  return 2 if @view.rbn_both.isChecked
end

#save_settingsObject



29
30
31
32
33
34
# File 'lib/class/uart/Uart_settings.rb', line 29

def save_settings
  @chip.uart_setting.nil? ? create : update
  @chip.reload
rescue Exception => msg
  ErrorMsg.new.unknown(msg)
end

#updateObject



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/class/uart/Uart_settings.rb', line 71

def update
  @chip.uart_setting.update(
    baud_rate:     @view.lie_baud_rate.text.to_i,
    idle_line:     @view.lie_idle_line_lvl.text.to_i,
    parity_bit:    @view.lie_parity_bit.text.to_i,
    parity_type:   @view.lie_parity_type.text.to_i,
    stop_bits_nbr: @view.lie_stop_bits_nbr.text.to_i,
    word_size:     @view.lie_word_size.text.to_i,
    return_type:   get_return_type
  )
  unless check_for_errors(@chip.uart_setting)
    Qt::MessageBox.new(
      Qt::MessageBox::Information,
      'Succes',
      'UART settings updated'
    ).exec
    close
  end
end