Class: Spi_settings
- Inherits:
-
Qt::Widget
- Object
- Qt::Widget
- Spi_settings
- Defined in:
- lib/class/SPI/Spi_settings.rb
Instance Method Summary collapse
- #create ⇒ Object
- #feed_settings_form ⇒ Object
-
#initialize(chip) ⇒ Spi_settings
constructor
A new instance of Spi_settings.
- #save_settings ⇒ Object
- #update ⇒ Object
Constructor Details
#initialize(chip) ⇒ Spi_settings
Returns a new instance of Spi_settings.
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/class/SPI/Spi_settings.rb', line 12 def initialize(chip) super() @spi_settings_gui = Ui_Spi_settings.new centerWindow(self) @spi_settings_gui.setupUi(self) @spi_settings_gui.lbl_chip.setText(chip.chip_reference) inputRestrict(@spi_settings_gui.lie_total_size, 0) inputRestrict(@spi_settings_gui.lie_cmd_read, 0) inputRestrict(@spi_settings_gui.lie_page_size, 0) @chip_settings = Spi.find_by(spi_chip: chip.chip_id) @chip = chip feed_settings_form end |
Instance Method Details
#create ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/class/SPI/Spi_settings.rb', line 49 def create @chip_settings = Spi.create( spi_mode: @spi_settings_gui.cbx_mode.currentText, spi_frequency: @spi_settings_gui.cbx_frequency.currentText, spi_command_read: @spi_settings_gui.lie_cmd_read.text, spi_page_size: @spi_settings_gui.lie_page_size.text, spi_total_size: @spi_settings_gui.lie_total_size.text, spi_chip: @chip.chip_id ) Qt::MessageBox.new(Qt::MessageBox::Information, 'Succes', 'SPI 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 SPI parameters. Consult the log for more details').exec end |
#feed_settings_form ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/class/SPI/Spi_settings.rb', line 35 def feed_settings_form unless @chip_settings.nil? @spi_settings_gui.cbx_mode.setCurrentIndex(@spi_settings_gui.cbx_mode.findText(@chip_settings.spi_mode.to_s)) @spi_settings_gui.cbx_frequency.setCurrentIndex(@spi_settings_gui.cbx_frequency.findText(@chip_settings.spi_frequency)) @spi_settings_gui.lie_cmd_read.setText(@chip_settings.spi_command_read.to_s) @spi_settings_gui.lie_page_size.setText(@chip_settings.spi_page_size.to_s) @spi_settings_gui.lie_total_size.setText(@chip_settings.spi_total_size.to_s) 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_settings ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/class/SPI/Spi_settings.rb', line 26 def save_settings if @chip_settings.nil? create else @chip_settings = Spi.find_by(spi_chip: @chip.chip_id) update end end |
#update ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/class/SPI/Spi_settings.rb', line 65 def update if @chip_settings.spi_mode != @spi_settings_gui.cbx_mode.currentText.to_i @chip_settings.update(spi_mode: @spi_settings_gui.cbx_mode.currentText.to_i) end if @chip_settings.spi_frequency != @spi_settings_gui.cbx_frequency.currentText @chip_settings.update(spi_frequency: @spi_settings_gui.cbx_frequency.currentText) end if @chip_settings.spi_command_read != @spi_settings_gui.lie_cmd_read.text if @spi_settings_gui.lie_cmd_read.text.empty? @spi_settings_gui.lie_cmd_read.setText('3') end @chip_settings.update(spi_command_read: @spi_settings_gui.lie_cmd_read.text) end if @chip_settings.spi_page_size != @spi_settings_gui.lie_page_size.text @chip_settings.update(spi_page_size: @spi_settings_gui.lie_page_size.text) end if @chip_settings.spi_total_size != @spi_settings_gui.lie_total_size.text @chip_settings.update(spi_total_size: @spi_settings_gui.lie_total_size.text) end Qt::MessageBox.new(Qt::MessageBox::Information, 'Succes', 'SPI 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 SPI parameters. Consult the log for more details').exec end |