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
25
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 12

def initialize(chip)
  super()
  @parallel_settings_gui = Ui_Parallel_settings.new
  centerWindow(self)
  @parallel_settings_gui.setupUi(self)
  @parallel_settings_gui.lbl_chip.setText(chip.chip_reference)
  inputRestrict(@parallel_settings_gui.lie_total_size, 0)
  inputRestrict(@parallel_settings_gui.lie_write_latency, 0)
  inputRestrict(@parallel_settings_gui.lie_read_latency, 0)
  inputRestrict(@parallel_settings_gui.lie_page_size, 0)
  @chip_settings = Parallel.find_by(parallel_chip: chip.chip_id)
  @chip = chip
  feed_settings_form
end

Instance Method Details

#createObject



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 54

def create
  if @parallel_settings_gui.rbn_8b.isChecked
    word_size = 0
  else
    word_size = 1
  end
  @chip_settings = Parallel.create(
    parallel_word_size: word_size,
    parallel_write_latency: @parallel_settings_gui.lie_write_latency,
    parallel_read_latency: @parallel_settings_gui.lie_read_latency.text,
    parallel_page_size: @parallel_settings_gui.lie_page_size.text,
    parallel_total_size: @parallel_settings_gui.lie_total_size.text,
    parallel_chip: @chip.chip_id
  )
  Qt::MessageBox.new(Qt::MessageBox::Information, 'Succes', 'Parallel parameters created successfully').exec
rescue Exception => msg
  logger = Logger.new($logFilePath)
  logger.error msg
  Qt::MessageBox.new(Qt::MessageBox::Critical, 'Critical error', 'Error occured when saving the parallel parameters. Consult the log for more details').exec
end

#feed_settings_formObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 36

def feed_settings_form
  unless @chip_settings.nil?
    @parallel_settings_gui.lie_read_latency.setText(@chip_settings.parallel_read_latency.to_s)
    @parallel_settings_gui.lie_write_latency.setText(@chip_settings.parallel_write_latency.to_s)
    @parallel_settings_gui.lie_page_size.setText(@chip_settings.parallel_page_size.to_s)
    @parallel_settings_gui.lie_total_size.setText(@chip_settings.parallel_total_size.to_s)
    if @chip_settings.parallel_word_size.zero?
      @parallel_settings_gui.rbn_8b.setChecked(true)
    else
      @parallel_settings_gui.rbn_16b.setChecked(true)
    end
  end
rescue Exception => msg
  logger = Logger.new($logFilePath)
  logger.error msg
  Qt::MessageBox.new(Qt::MessageBox::Critical, 'Critical error', 'Error while loading the form. Consult the log for more details').exec
end

#save_settingsObject



27
28
29
30
31
32
33
34
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 27

def save_settings
  if @chip_settings.nil?
    create
  else
    @chip_settings = Parallel.find_by(parallel_chip: @chip.chip_id)
    update
  end
end

#updateObject



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/class/PARALLEL/Parallel_settings.rb', line 75

def update
  if @parallel_settings_gui.rbn_8b.isChecked
    word_size = 0
  else
    word_size = 1
  end
  if @chip_settings.parallel_page_size != @parallel_settings_gui.lie_page_size
    @chip_settings.update(parallel_page_size: @parallel_settings_gui.lie_page_size.text)
  end
  if @chip_settings.parallel_total_size != @parallel_settings_gui.lie_total_size
    @chip_settings.update(parallel_total_size: @parallel_settings_gui.lie_total_size.text)
  end
  if @chip_settings.parallel_read_latency != @parallel_settings_gui.lie_read_latency
    @chip_settings.update(parallel_read_latency: @parallel_settings_gui.lie_read_latency.text)
  end
  if @chip_settings.parallel_write_latency != @parallel_settings_gui.lie_write_latency
    @chip_settings.update(parallel_write_latency: @parallel_settings_gui.lie_write_latency.text)
  end
  if @chip_settings.parallel_word_size != word_size
    @chip_settings.update(parallel_word_size: word_size)
  end
  Qt::MessageBox.new(Qt::MessageBox::Information, 'Succes', 'Parallel parameters saved successfully').exec
rescue Exception => msg
  logger = Logger.new($logFilePath)
  logger.error msg
  Qt::MessageBox.new(Qt::MessageBox::Critical, 'Critical error', 'Error occured when saving the parallel parameters. Consult the log for more details').exec
end