Class: Parallel_settings

Inherits:
Qt::Widget
  • Object
show all
Defined in:
lib/class/PARALLEL/Parallel_settings.rb

Instance Method Summary collapse

Constructor Details

#initialize(chip) ⇒ Parallel_settings

Returns a new instance of Parallel_settings.



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 12

def initialize(chip)
  super()
  @view = Ui_Parallel_settings.new
  centerWindow(self)
  @view.setupUi(self)
  @view.lbl_chip.setText(chip.reference)
  inputRestrict(@view.lie_total_size,     0)
  inputRestrict(@view.lie_write_latency,  0)
  inputRestrict(@view.lie_read_latency,   0)
  inputRestrict(@view.lie_page_size,      0)
  @chip = chip
  feed_settings_form unless @chip.parallel_setting.nil?
end

Instance Method Details

#createObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 39

def create
  @view.rbn_8b.isChecked ? word_size = 0 : word_size = 1
  chip_setting = ParallelSetting.create(
    total_size:     @view.lie_total_size.text,
    page_size:      @view.lie_page_size.text,
    word_size:      word_size,
    read_latency:   @view.lie_read_latency.text,
    write_latency:  @view.lie_write_latency.text,
    chip_id:        @chip.id
  )
  unless check_for_errors(chip_setting)
    Qt::MessageBox.new(
      Qt::MessageBox::Information,
      'Succes',
      'Parallel settings saved'
    ).exec
    close
  end
rescue Exception => msg
  ErrorMsg.new.unknown(msg)
end

#feed_settings_formObject



31
32
33
34
35
36
37
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 31

def feed_settings_form
  @view.lie_read_latency.setText(@chip.parallel_setting.read_latency.to_s)
  @view.lie_write_latency.setText(@chip.parallel_setting.write_latency.to_s)
  @view.lie_page_size.setText(@chip.parallel_setting.page_size.to_s)
  @view.lie_total_size.setText(@chip.parallel_setting.total_size.to_s)
  @view.rbn_16b.setChecked(true) unless @chip.parallel_setting.word_size.zero?
end

#save_settingsObject



26
27
28
29
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 26

def save_settings
  @chip.parallel_setting.nil? ? create : update
  @chip.reload
end

#updateObject



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 61

def update
  @view.rbn_8b.isChecked ? word_size = 0 : word_size = 1
  @chip.parallel_setting.update(
  total_size:     @view.lie_total_size.text,
  page_size:      @view.lie_page_size.text,
  word_size:      word_size,
  read_latency:   @view.lie_read_latency.text,
  write_latency:  @view.lie_write_latency.text
  )
  unless check_for_errors(@chip.parallel_setting)
    Qt::MessageBox.new(
      Qt::MessageBox::Information,
      'Succes',
      'Parallel settings updated'
    ).exec
    close
  end
rescue Exception => msg
  ErrorMsg.new.unknown(msg)
end