Class: Swd_settings

Inherits:
Qt::Widget
  • Object
show all
Defined in:
lib/class/swd/Swd_settings.rb

Instance Method Summary collapse

Constructor Details

#initialize(chip) ⇒ Swd_settings

Returns a new instance of Swd_settings.



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

def initialize(chip)
  super()
  @view = Ui_Swd_settings.new
  centerWindow(self)
  @view.setupUi(self)
  @view.lbl_chip.setText(chip.reference)
  inputRestrict(@view.lie_cpu_id_address,     4)
  inputRestrict(@view.lie_device_id_address,  4)
  inputRestrict(@view.lie_size_address,       4)
  inputRestrict(@view.lie_start_address,      4)
  @chip = chip
  feed_settings_form unless chip.swd_setting.nil?
end

Instance Method Details

#createObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/class/swd/Swd_settings.rb', line 42

def create
  chip_settings = SwdSetting.create(
    cpu_id_address:       @view.lie_cpu_id_address.text,
    device_id_address:    @view.lie_device_id_address.text,
    memory_size_address:  @view.lie_size_address.text,
    memory_start_address: @view.lie_start_address.text,
    chip_id:              @chip.id
  )
  unless check_for_errors(chip_settings)
    Qt::MessageBox.new(
      Qt::MessageBox::Information,
      'Succes',
      'SWD settings saved'
    ).exec
    close
  end
end

#feed_settings_formObject



33
34
35
36
37
38
39
40
# File 'lib/class/swd/Swd_settings.rb', line 33

def feed_settings_form
  @view.lie_cpu_id_address.setText(@chip.swd_setting.cpu_id_address)
  @view.lie_device_id_address.setText(@chip.swd_setting.device_id_address)
  @view.lie_size_address.setText(@chip.swd_setting.memory_size_address)
  @view.lie_start_address.setText(@chip.swd_setting.memory_start_address)
rescue Exception => msg
  ErrorMsg.new.unknown(msg)
end

#save_settingsObject



26
27
28
29
30
31
# File 'lib/class/swd/Swd_settings.rb', line 26

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

#updateObject



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/class/swd/Swd_settings.rb', line 60

def update
  @chip.swd_setting.update(
    cpu_id_address:       @view.lie_cpu_id_address.text,
    device_id_address:    @view.lie_device_id_address.text,
    memory_size_address:  @view.lie_size_address.text,
    memory_start_address: @view.lie_start_address.text,
  )
  unless check_for_errors(@chip.swd_setting)
    Qt::MessageBox.new(
      Qt::MessageBox::Information,
      'Succes',
      'SWD settings updated'
    ).exec
    close
  end
end