Class: I2c_import
- Inherits:
-
Qt::Widget
- Object
- Qt::Widget
- I2c_import
- Defined in:
- lib/class/I2C/I2c_import.rb
Instance Method Summary collapse
- #control_import_settings ⇒ Object
- #import ⇒ Object
-
#initialize(api, chip) ⇒ I2c_import
constructor
A new instance of I2c_import.
- #select_import_file ⇒ Object
Constructor Details
#initialize(api, chip) ⇒ I2c_import
Returns a new instance of I2c_import.
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/class/I2C/I2c_import.rb', line 15 def initialize(api, chip) super() @i2c_import_gui = Ui_Generic_import.new centerWindow(self) @i2c_import_gui.setupUi(self) @i2c_import_gui.lbl_chip.setText(chip.chip_reference) inputRestrict(@i2c_import_gui.lie_start, 0) @api = api @chip = chip @chip_settings = I2C.find_by(i2c_chip: chip.chip_id) end |
Instance Method Details
#control_import_settings ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/class/I2C/I2c_import.rb', line 51 def control_import_settings @chip_settings = I2C.find_by(i2c_chip: @chip.chip_id) if @chip_settings.nil? Qt::MessageBox.new(Qt::MessageBox::Warning, 'Missing I2C setting', 'No settings saved for this chip').exec return 0 end if @chip_settings.i2c_total_size.nil? Qt::MessageBox.new(Qt::MessageBox::Warning, 'Missing I2C setting', 'Total size setting missing').exec return 0 end if @chip_settings.i2c_page_size.nil? Qt::MessageBox.new(Qt::MessageBox::Warning, 'Missing I2C setting', 'Page size setting missing').exec return 0 end if @chip_settings.i2c_write_page_latency.nil? Qt::MessageBox.new(Qt::MessageBox::Warning, 'Missing I2C setting', 'Write page latency setting missing').exec return 0 end if @chip_settings.i2c_frequency.nil? || @chip_settings.i2c_address_w.nil? Qt::MessageBox.new(Qt::MessageBox::Warning, 'Missing I2C setting', 'Write base address or frequency settings missing').exec return 0 end if @i2c_import_gui.lie_start.text.empty? Qt::MessageBox.new(Qt::MessageBox::Warning, 'Missing start address', 'Please fill the Start address field').exec return 0 end return 1 end |
#import ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/class/I2C/I2c_import.rb', line 38 def import return 0 if control_import_settings.zero? start = @i2c_import_gui.lie_start.text.to_i Firmware.new(@api, 'I2C') $pgb = .new("I2C: Importing...") $pgb.show @api.i2c_Generic_Import(@chip_settings.i2c_frequency, @chip_settings.i2c_address_w.to_i(16), start, @chip_settings.i2c_page_size, @chip_settings.i2c_total_size, @filepath, @chip_settings.i2c_write_page_latency/1000.0) rescue Exception => msg logger = Logger.new($logFilePath) logger.error msg Qt::MessageBox.new(Qt::MessageBox::Critical, 'Critical error', 'Error occured while partial import operation. Consult the logs for more details').exec end |
#select_import_file ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/class/I2C/I2c_import.rb', line 27 def select_import_file @filepath = Qt::FileDialog.getOpenFileName(self, tr('Select a file'), '/', tr('Bin file (*.bin)')) unless @filepath.nil? @i2c_import_gui.btn_import.setEnabled(true) end rescue Exception => msg logger = Logger.new($logFilePath) logger.error msg Qt::MessageBox.new(Qt::MessageBox::Critical, 'Critical error', 'Error occured while openning the export file. Consult the logs for more details').exec end |