hardsploit_gui 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/lib/Hardsploit_gui.rb +4 -5
  3. data/lib/class/Chip_clone.rb +70 -0
  4. data/lib/class/Chip_editor.rb +1 -0
  5. data/lib/class/Chip_management.rb +73 -52
  6. data/lib/class/ErrorMsg.rb +1 -0
  7. data/lib/class/Firmware.rb +1 -1
  8. data/lib/class/Progress_bar.rb +1 -1
  9. data/lib/class/Wire_helper.rb +6 -3
  10. data/lib/class/{I2C → i2c}/I2c_command.rb +0 -0
  11. data/lib/class/{I2C/I2c_export.rb → i2c/I2c_read.rb} +15 -15
  12. data/lib/class/{I2C → i2c}/I2c_scanner.rb +2 -1
  13. data/lib/class/{I2C → i2c}/I2c_settings.rb +1 -0
  14. data/lib/class/{I2C/I2c_import.rb → i2c/I2c_write.rb} +13 -12
  15. data/lib/class/{PARALLEL/Parallel_export.rb → parallel/Parallel_read.rb} +17 -18
  16. data/lib/class/{PARALLEL → parallel}/Parallel_settings.rb +0 -0
  17. data/lib/class/{PARALLEL/Parallel_import.rb → parallel/Parallel_write.rb} +11 -10
  18. data/lib/class/{SPI/Spi_export.rb → spi/Spi_read.rb} +15 -15
  19. data/lib/class/{SPI → spi}/Spi_settings.rb +0 -0
  20. data/lib/class/{SPI → spi}/Spi_sniffer.rb +2 -1
  21. data/lib/class/{SPI/Spi_import.rb → spi/Spi_write.rb} +13 -12
  22. data/lib/class/swd/Swd.rb +10 -10
  23. data/lib/class/swd/Swd_scanner.rb +2 -1
  24. data/lib/class/uart/Uart_baudrate.rb +1 -1
  25. data/lib/class/uart/Uart_console.rb +1 -1
  26. data/lib/class/uart/Uart_settings.rb +1 -0
  27. data/lib/db/development.sqlite3 +0 -0
  28. data/lib/gui/gui_chip_clone.rb +87 -0
  29. data/lib/gui/gui_chip_editor.rb +349 -349
  30. data/lib/gui/gui_chip_management.rb +378 -377
  31. data/lib/gui/gui_command_editor.rb +219 -219
  32. data/lib/gui/gui_export.rb +132 -132
  33. data/lib/gui/gui_export_manager.rb +93 -93
  34. data/lib/gui/gui_generic_commands.rb +202 -202
  35. data/lib/gui/gui_generic_read.rb +185 -0
  36. data/lib/gui/gui_generic_write.rb +142 -0
  37. data/lib/gui/gui_i2c_command.rb +116 -116
  38. data/lib/gui/gui_i2c_settings.rb +242 -230
  39. data/lib/gui/gui_import.rb +131 -131
  40. data/lib/gui/gui_parallel_settings.rb +195 -195
  41. data/lib/gui/gui_progress_bar.rb +85 -85
  42. data/lib/gui/gui_signal_mapper.rb +121 -121
  43. data/lib/gui/gui_signal_scanner.rb +146 -146
  44. data/lib/gui/gui_spi_settings.rb +313 -313
  45. data/lib/gui/gui_spi_sniffer.rb +112 -112
  46. data/lib/gui/gui_swd_settings.rb +166 -166
  47. data/lib/gui/gui_uart_baudrate.rb +114 -114
  48. data/lib/gui/gui_uart_console.rb +164 -164
  49. data/lib/gui/gui_uart_settings.rb +243 -243
  50. data/lib/gui/gui_wire_helper.rb +99 -99
  51. data/lib/gui_designer/compile_to_ruby.sh +14 -0
  52. data/lib/gui_designer/gui_chip_clone.ui +96 -0
  53. data/lib/gui_designer/gui_chip_management.ui +25 -22
  54. data/lib/gui_designer/{gui_generic_export.ui → gui_generic_read.ui} +152 -72
  55. data/lib/gui_designer/{gui_generic_import.ui → gui_generic_write.ui} +47 -47
  56. data/lib/gui_designer/gui_i2c_settings.ui +68 -60
  57. data/lib/hardsploit-api/Examples/swdProgrammer.rb +76 -0
  58. data/lib/hardsploit-api/Examples/testI2C.rb +183 -0
  59. data/lib/hardsploit-api/Examples/testNRF24L01.rb +122 -0
  60. data/lib/hardsploit-api/Examples/testParralel.rb +84 -0
  61. data/lib/hardsploit-api/Examples/testSPI.rb +113 -0
  62. data/lib/hardsploit-api/Examples/testSPISniffer.rb +91 -0
  63. data/lib/hardsploit-api/Examples/testSWD.rb +224 -0
  64. data/lib/hardsploit-api/Examples/testUARTBufferOverflow.rb +113 -0
  65. data/lib/hardsploit-api/Examples/testUARTConsole.rb +74 -0
  66. data/lib/hardsploit-api/Examples/testUARTFuzzer.rb +109 -0
  67. data/lib/{Firmwares → hardsploit-api/Firmwares}/FPGA/I2C/I2C_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_I2C_INTERACT.rpd +0 -0
  68. data/lib/{Firmwares → hardsploit-api/Firmwares}/FPGA/PARALLEL/NO_MUX_PARALLEL_MEMORY/HARDSPLOIT_FIRMWARE_FPGA_NO_MUX_PARALLEL_MEMORY.rpd +0 -0
  69. data/lib/{Firmwares → hardsploit-api/Firmwares}/FPGA/SPI/SPI_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SPI_INTERACT.rpd +0 -0
  70. data/lib/{Firmwares → hardsploit-api/Firmwares}/FPGA/SPI/SPI_SNIFFER/HARDSPLOIT_FIRMWARE_FPGA_SPI_SNIFFER.rpd +0 -0
  71. data/lib/{Firmwares → hardsploit-api/Firmwares}/FPGA/SWD/SWD_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SWD_INTERACT.rpd +0 -0
  72. data/lib/{Firmwares → hardsploit-api/Firmwares}/FPGA/TEST/TEST_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_TEST_INTERACT.rpd +0 -0
  73. data/lib/{Firmwares → hardsploit-api/Firmwares}/FPGA/UART/UART_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_UART_INTERACT.rpd +0 -0
  74. data/lib/{Firmwares → hardsploit-api/Firmwares}/FPGA/VersionFPGA.rb +0 -0
  75. data/lib/{Firmwares → hardsploit-api/Firmwares}/UC/HARDSPLOIT_FIRMWARE_UC.bin +0 -0
  76. data/lib/{Firmwares → hardsploit-api/Firmwares}/UC/VersionUC.rb +0 -0
  77. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Core/HardsploitAPI.rb +0 -0
  78. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Core/HardsploitAPI_CONSTANT.rb +0 -0
  79. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Core/HardsploitAPI_ERROR.rb +0 -0
  80. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Core/HardsploitAPI_FIRMWARE.rb +0 -0
  81. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Core/HardsploitAPI_PROGRESS.rb +0 -0
  82. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Core/HardsploitAPI_USB_COMMUNICATION.rb +0 -0
  83. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/I2C/HardsploitAPI_I2C.rb +0 -0
  84. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/NO_MUX_PARALLEL_MEMORY/HardsploitAPI_NO_MUX_PARALLEL_MEMORY.rb +0 -0
  85. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/NRF24L01/HardsploitAPI_NRF24L01.rb +0 -0
  86. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/SPI/HardsploitAPI_SPI.rb +0 -0
  87. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/SPI_SNIFFER/HardsploitAPI_SPI_SNIFFER.rb +0 -0
  88. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/SWD/HardsploitAPI_SWD.rb +0 -0
  89. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/SWD/HardsploitAPI_SWD_DEBUG.rb +0 -0
  90. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/SWD/HardsploitAPI_SWD_MEM_AP.rb +0 -0
  91. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/SWD/HardsploitAPI_SWD_STM32.rb +0 -0
  92. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/TEST/HardsploitAPI_TEST_INTERACT.rb +0 -0
  93. data/lib/{HardsploitAPI → hardsploit-api/HardsploitAPI}/Modules/UART/HardsploitAPI_UART.rb +0 -0
  94. data/lib/hardsploit-api/LICENSE.txt +674 -0
  95. data/lib/hardsploit-api/README.md +22 -0
  96. data/lib/hardsploit-api/TRADEMARK +3 -0
  97. data/lib/logs/error.log +80 -0
  98. metadata +65 -49
  99. data/lib/gui/gui_generic_export.rb +0 -164
  100. data/lib/gui/gui_generic_import.rb +0 -142
  101. data/lib/gui/gui_spi_import.rb +0 -126
@@ -6,7 +6,7 @@
6
6
  #===================================================
7
7
 
8
8
  require_relative '../../gui/gui_signal_scanner'
9
- require_relative '../../HardsploitAPI/Modules/I2C/HardsploitAPI_I2C'
9
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/I2C/HardsploitAPI_I2C'
10
10
 
11
11
  class I2c_scanner < Qt::Widget
12
12
  slots 'scan()'
@@ -23,6 +23,7 @@ class I2c_scanner < Qt::Widget
23
23
  end
24
24
 
25
25
  def scan
26
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
26
27
  @view.cbx_start.setEnabled(false)
27
28
  @view.cbx_stop.setEnabled(false)
28
29
  @view.btn_scan.setEnabled(false)
@@ -88,6 +88,7 @@ class I2c_settings < Qt::Widget
88
88
  end
89
89
 
90
90
  def bus_scan
91
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
91
92
  @view.tbl_bus_scan.setRowCount(0)
92
93
  Firmware.new('I2C')
93
94
  speed = 0
@@ -5,15 +5,15 @@
5
5
  # License URI: http://www.gnu.org/licenses/gpl.txt
6
6
  #===================================================
7
7
 
8
- require_relative '../../gui/gui_generic_import'
9
- require_relative '../../HardsploitAPI/Modules/I2C/HardsploitAPI_I2C'
10
- class I2c_import < Qt::Widget
11
- slots 'import()'
12
- slots 'select_import_file()'
8
+ require_relative '../../gui/gui_generic_write'
9
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/I2C/HardsploitAPI_I2C'
10
+ class I2c_write < Qt::Widget
11
+ slots 'write()'
12
+ slots 'select_write_file()'
13
13
 
14
14
  def initialize(chip)
15
15
  super()
16
- @view = Ui_Generic_import.new
16
+ @view = Ui_Generic_write.new
17
17
  centerWindow(self)
18
18
  @view.setupUi(self)
19
19
  @view.lbl_chip.setText(chip.reference)
@@ -21,20 +21,21 @@ class I2c_import < Qt::Widget
21
21
  @chip = chip
22
22
  end
23
23
 
24
- def select_import_file
24
+ def select_write_file
25
25
  @filepath = Qt::FileDialog.getOpenFileName(self, tr('Select a file'), '/', tr('*.*'))
26
26
  unless @filepath.nil?
27
- @view.btn_import.setEnabled(true)
27
+ @view.btn_write.setEnabled(true)
28
28
  @view.lbl_selected_file.setText("#{@filepath.split("/").last}")
29
29
  end
30
30
  rescue Exception => msg
31
31
  ErrorMsg.new.unknown(msg)
32
32
  end
33
33
 
34
- def import
35
- return 0 if control_import_settings.zero?
34
+ def write
35
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
36
+ return 0 if control_write_settings.zero?
36
37
  Firmware.new('I2C')
37
- $pgb = Progress_bar.new("I²C: Exporting...")
38
+ $pgb = Progress_bar.new("I²C: Writing...")
38
39
  $pgb.show
39
40
  if [40, 100, 400, 1000].include?(@chip.i2c_setting.frequency)
40
41
  speed = 0 if @chip.i2c_setting.frequency == 100
@@ -61,7 +62,7 @@ class I2c_import < Qt::Widget
61
62
  ErrorMsg.new.unknown(msg)
62
63
  end
63
64
 
64
- def control_import_settings
65
+ def control_write_settings
65
66
  if @chip.i2c_setting.nil?
66
67
  Qt::MessageBox.new(
67
68
  Qt::MessageBox::Warning,
@@ -5,16 +5,16 @@
5
5
  # License URI: http://www.gnu.org/licenses/gpl.txt
6
6
  #===================================================
7
7
 
8
- require_relative '../../gui/gui_generic_export'
9
- require_relative '../../HardsploitAPI/Modules/NO_MUX_PARALLEL_MEMORY/HardsploitAPI_NO_MUX_PARALLEL_MEMORY'
8
+ require_relative '../../gui/gui_generic_read'
9
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/NO_MUX_PARALLEL_MEMORY/HardsploitAPI_NO_MUX_PARALLEL_MEMORY'
10
10
 
11
- class Parallel_export < Qt::Widget
12
- slots 'export()'
13
- slots 'select_export_file()'
11
+ class Parallel_read < Qt::Widget
12
+ slots 'read()'
13
+ slots 'select_read_file()'
14
14
 
15
15
  def initialize(chip)
16
16
  super()
17
- @view = Ui_Generic_export.new
17
+ @view = Ui_Generic_read.new
18
18
  centerWindow(self)
19
19
  @view.setupUi(self)
20
20
  @view.lbl_chip.setText(chip.reference)
@@ -23,23 +23,23 @@ class Parallel_export < Qt::Widget
23
23
  @chip = chip
24
24
  end
25
25
 
26
- def select_export_file
26
+ def select_read_file
27
27
  @filepath = Qt::FileDialog.getSaveFileName(self, tr('Select a file'), '/', tr('Bin file (*.bin)'))
28
28
  unless @filepath.nil?
29
- @view.btn_export.setEnabled(true)
30
- @view.btn_full_export.setEnabled(true)
29
+ @view.btn_read.setEnabled(true)
31
30
  end
32
31
  rescue Exception => msg
33
32
  ErrorMsg.new.unknown(msg)
34
33
  end
35
34
 
36
- def export
37
- if sender.objectName == 'btn_full_export'
38
- return false unless control_export_settings('full')
35
+ def read
36
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
37
+ if @view.rbn_full.isChecked
38
+ return false unless control_read_settings('full')
39
39
  start = 0
40
40
  stop = @chip.parallel_setting.total_size - 1
41
41
  else
42
- return false unless control_export_settings('partial')
42
+ return false unless control_read_settings('partial')
43
43
  start = @view.lie_start.text.to_i
44
44
  stop = @view.lie_stop.text.to_i
45
45
  end
@@ -56,9 +56,8 @@ class Parallel_export < Qt::Widget
56
56
  latency: @chip.parallel_setting.read_latency
57
57
  )
58
58
 
59
- control_export_result(stop, time)
60
- @view.btn_export.setEnabled(false)
61
- @view.btn_full_export.setEnabled(false)
59
+ control_read_result(stop, time)
60
+ @view.btn_read.setEnabled(false)
62
61
  @filepath = nil
63
62
  rescue HardsploitAPI::ERROR::HARDSPLOIT_NOT_FOUND
64
63
  ErrorMsg.new.hardsploit_not_found
@@ -68,7 +67,7 @@ class Parallel_export < Qt::Widget
68
67
  ErrorMsg.new.unknown(msg)
69
68
  end
70
69
 
71
- def control_export_result(stop, time)
70
+ def control_read_result(stop, time)
72
71
  time = Time.new - time
73
72
  file_size = File.size("#{@filepath}")
74
73
  # 8 bits test
@@ -96,7 +95,7 @@ class Parallel_export < Qt::Widget
96
95
  p "DUMP #{((file_size/time)).round(2)}Bytes/s (#{(file_size)}Bytes in #{time.round(4)} s)"
97
96
  end
98
97
 
99
- def control_export_settings(type)
98
+ def control_read_settings(type)
100
99
  return ErrorMsg.new.settings_missing if @chip.parallel_setting.nil?
101
100
  return ErrorMsg.new.para_read_latency if @chip.parallel_setting.read_latency.nil?
102
101
  return ErrorMsg.new.para_word_size if @chip.parallel_setting.word_size.nil?
@@ -5,26 +5,26 @@
5
5
  # License URI: http://www.gnu.org/licenses/gpl.txt
6
6
  #===================================================
7
7
 
8
- require_relative '../../gui/gui_generic_import'
8
+ require_relative '../../gui/gui_generic_write'
9
9
 
10
- class Parallel_import < Qt::Widget
11
- slots 'import()'
12
- slots 'select_import_file()'
10
+ class Parallel_write < Qt::Widget
11
+ slots 'write()'
12
+ slots 'select_write_file()'
13
13
 
14
14
  def initialize(chip)
15
15
  super()
16
- @view = Ui_Generic_import.new
16
+ @view = Ui_Generic_write.new
17
17
  centerWindow(self)
18
18
  @view.setupUi(self)
19
19
  @view.lbl_chip.setText(chip.reference)
20
20
  inputRestrict(@view.lie_start, 0)
21
21
  end
22
22
 
23
- def select_import_file
23
+ def select_write_file
24
24
  @filepath = Qt::FileDialog.getOpenFileName(self, tr('Select a file'), '/', tr('Bin file (*.bin)'))
25
25
  unless @filepath.nil?
26
26
  $file = File.open("#{@filepath}", 'w')
27
- @view.btn_import.setEnabled(true)
27
+ @view.btn_write.setEnabled(true)
28
28
  end
29
29
  rescue Exception => msg
30
30
  ErrorMsg.new.unknow(msg)
@@ -38,8 +38,9 @@ class Parallel_import < Qt::Widget
38
38
  ErrorMsg.new.unknow(msg)
39
39
  end
40
40
 
41
- def import
42
- return 0 if control_import_settings.zero?
41
+ def write
42
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
43
+ return 0 if control_write_settings.zero?
43
44
  start = @view.lie_start.text.to_i
44
45
  Firmware.new('PARALLEL')
45
46
  time = Time.new
@@ -58,7 +59,7 @@ class Parallel_import < Qt::Widget
58
59
  return false
59
60
  end
60
61
 
61
- def control_import_settings
62
+ def control_write_settings
62
63
  file_size = File.size("#{@filepath}")
63
64
  if @chip.parallel_setting.nil?
64
65
  Qt::MessageBox.new(
@@ -5,16 +5,16 @@
5
5
  # License URI: http://www.gnu.org/licenses/gpl.txt
6
6
  #===================================================
7
7
 
8
- require_relative '../../gui/gui_generic_export'
9
- require_relative '../../HardsploitAPI/Modules/SPI/HardsploitAPI_SPI'
8
+ require_relative '../../gui/gui_generic_read'
9
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/SPI/HardsploitAPI_SPI'
10
10
 
11
- class Spi_export < Qt::Widget
12
- slots 'export()'
13
- slots 'select_export_file()'
11
+ class Spi_read < Qt::Widget
12
+ slots 'read()'
13
+ slots 'select_read_file()'
14
14
 
15
15
  def initialize(chip)
16
16
  super()
17
- @view = Ui_Generic_export.new
17
+ @view = Ui_Generic_read.new
18
18
  centerWindow(self)
19
19
  @view.setupUi(self)
20
20
  @view.lbl_chip.setText(chip.reference)
@@ -39,32 +39,32 @@ class Spi_export < Qt::Widget
39
39
  }
40
40
  end
41
41
 
42
- def select_export_file
42
+ def select_read_file
43
43
  @filepath = Qt::FileDialog.getSaveFileName(self, tr('Select a file'), '/', tr('*.*'))
44
44
  unless @filepath.nil?
45
- @view.btn_export.setEnabled(true)
46
- @view.btn_full_export.setEnabled(true)
45
+ @view.btn_read.setEnabled(true)
47
46
  @view.lbl_selected_file.setText("#{@filepath.split("/").last}")
48
47
  end
49
48
  rescue Exception => msg
50
49
  ErrorMsg.new.unknown(msg)
51
50
  end
52
51
 
53
- def export
52
+ def read
53
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
54
54
  $file = File.open("#{@filepath}", 'w') unless @filepath.nil?
55
- if sender.objectName == 'btn_full_export'
56
- return false unless control_export_settings('full')
55
+ if @view.rbn_full.isChecked
56
+ return false unless control_read_settings('full')
57
57
  start = 0
58
58
  stop = @chip.spi_setting.total_size - 1
59
59
  control = @chip.spi_setting.total_size
60
60
  else
61
- return false unless control_export_settings('partial')
61
+ return false unless control_read_settings('partial')
62
62
  start = @view.lie_start.text.to_i
63
63
  stop = @view.lie_stop.text.to_i
64
64
  control = (stop - start) + 1
65
65
  end
66
66
  Firmware.new('SPI')
67
- $pgb = Progress_bar.new("SPI: Exporting...")
67
+ $pgb = Progress_bar.new("SPI: Reading...")
68
68
  $pgb.show
69
69
  spi = HardsploitAPI_SPI.new(
70
70
  speed: @speeds[@chip.spi_setting.frequency],
@@ -86,7 +86,7 @@ class Spi_export < Qt::Widget
86
86
  ErrorMsg.new.unknown(msg)
87
87
  end
88
88
 
89
- def control_export_settings(type)
89
+ def control_read_settings(type)
90
90
  return ErrorMsg.new.settings_missing if @chip.spi_setting.nil?
91
91
  return ErrorMsg.new.frequency_missing if @chip.spi_setting.frequency.nil?
92
92
  return ErrorMsg.new.mode_missing if @chip.spi_setting.command_read.nil?
File without changes
@@ -6,7 +6,7 @@
6
6
  #===================================================
7
7
 
8
8
  require_relative '../../gui/gui_spi_sniffer'
9
- require_relative '../../HardsploitAPI/Modules/SPI_SNIFFER/HardsploitAPI_SPI_SNIFFER'
9
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/SPI_SNIFFER/HardsploitAPI_SPI_SNIFFER'
10
10
 
11
11
  class Spi_sniffer < Qt::Widget
12
12
  slots 'start()'
@@ -23,6 +23,7 @@ class Spi_sniffer < Qt::Widget
23
23
  end
24
24
 
25
25
  def start
26
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
26
27
  @view.btn_stop.setEnabled(true)
27
28
  @view.btn_start.setEnabled(false)
28
29
  @view.cbx_type.setEnabled(false)
@@ -5,16 +5,16 @@
5
5
  # License URI: http://www.gnu.org/licenses/gpl.txt
6
6
  #===================================================
7
7
 
8
- require_relative '../../gui/gui_generic_import'
9
- require_relative '../../HardsploitAPI/Modules/SPI/HardsploitAPI_SPI'
8
+ require_relative '../../gui/gui_generic_write'
9
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/SPI/HardsploitAPI_SPI'
10
10
 
11
- class Spi_import < Qt::Widget
12
- slots 'import()'
13
- slots 'select_import_file()'
11
+ class Spi_write < Qt::Widget
12
+ slots 'write()'
13
+ slots 'select_write_file()'
14
14
 
15
15
  def initialize(chip)
16
16
  super()
17
- @view = Ui_Generic_import.new
17
+ @view = Ui_Generic_write.new
18
18
  centerWindow(self)
19
19
  @view.setupUi(self)
20
20
  @view.lbl_chip.setText(chip.reference)
@@ -38,24 +38,25 @@ class Spi_import < Qt::Widget
38
38
  }
39
39
  end
40
40
 
41
- def select_import_file
41
+ def select_write_file
42
42
  @filepath = Qt::FileDialog.getOpenFileName(self, tr('Select a file'), '/', tr('*.*'))
43
43
  unless @filepath.nil?
44
- @view.btn_import.setEnabled(true)
44
+ @view.btn_write.setEnabled(true)
45
45
  @view.lbl_selected_file.setText("#{@filepath.split("/").last}")
46
46
  end
47
47
  rescue Exception => msg
48
48
  ErrorMsg.new.unknown(msg)
49
49
  end
50
50
 
51
- def import
52
- return 0 if control_import_settings.zero?
51
+ def write
52
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
53
+ return 0 if control_write_settings.zero?
53
54
  spi = HardsploitAPI_SPI.new(
54
55
  speed: @speeds[@chip.spi_setting.frequency],
55
56
  mode: @chip.spi_setting.mode
56
57
  )
57
58
  Firmware.new('SPI')
58
- $pgb = Progress_bar.new("SPI: Importing...")
59
+ $pgb = Progress_bar.new("SPI: Writing...")
59
60
  $pgb.show
60
61
  @chip.spi_setting.is_flash.zero? ? flash = false : flash = true
61
62
  spi.spi_Generic_Import(
@@ -78,7 +79,7 @@ class Spi_import < Qt::Widget
78
79
  ErrorMsg.new.unknown(msg)
79
80
  end
80
81
 
81
- def control_import_settings
82
+ def control_write_settings
82
83
  if @chip.spi_setting.nil?
83
84
  Qt::MessageBox.new(
84
85
  Qt::MessageBox::Warning,
@@ -5,7 +5,7 @@
5
5
  # License URI: http://www.gnu.org/licenses/gpl.txt
6
6
  #===================================================
7
7
 
8
- require_relative '../../HardsploitAPI/Modules/SWD/HardsploitAPI_SWD'
8
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD'
9
9
 
10
10
  class Swd
11
11
 
@@ -43,11 +43,11 @@ class Swd
43
43
  case action
44
44
  when 'detect'
45
45
  return api.obtainCodes
46
- when 'export'
46
+ when 'read'
47
47
  $pgb = Progress_bar.new("SWD: #{action}...")
48
48
  $pgb.show
49
49
  api.dumpFlash(option)
50
- when 'import'
50
+ when 'write'
51
51
  $pgb = Progress_bar.new("SWD: #{action}...")
52
52
  $pgb.show
53
53
  api.writeFlash(option)
@@ -83,23 +83,23 @@ class Swd
83
83
  end
84
84
  end
85
85
 
86
- def export(filepath)
87
- unless do_swd_action('export', filepath) == false
86
+ def read(filepath)
87
+ unless do_swd_action('read', filepath) == false
88
88
  Qt::MessageBox.new(
89
89
  Qt::MessageBox::Information,
90
- "SWD Export Action",
90
+ "SWD Read action",
91
91
  "Dump finished"
92
92
  ).exec
93
93
  $pgb.close
94
94
  end
95
95
  end
96
96
 
97
- def import(filepath)
98
- unless do_swd_action('import', filepath) == false
97
+ def write(filepath)
98
+ unless do_swd_action('write', filepath) == false
99
99
  Qt::MessageBox.new(
100
100
  Qt::MessageBox::Information,
101
- "SWD Import Action",
102
- "Import finished"
101
+ "SWD Write Action",
102
+ "Write finished"
103
103
  ).exec
104
104
  $pgb.close
105
105
  end
@@ -6,7 +6,7 @@
6
6
  #===================================================
7
7
 
8
8
  require_relative '../../gui/gui_signal_scanner'
9
- require_relative '../../HardsploitAPI/Modules/SWD/HardsploitAPI_SWD'
9
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD'
10
10
 
11
11
  class Swd_scanner < Qt::Widget
12
12
  slots 'scan()'
@@ -23,6 +23,7 @@ class Swd_scanner < Qt::Widget
23
23
  end
24
24
 
25
25
  def scan
26
+ return ErrorMsg.new.hardsploit_not_found unless HardsploitAPI.getNumberOfBoardAvailable > 0
26
27
  @view.cbx_start.setEnabled(false)
27
28
  @view.cbx_stop.setEnabled(false)
28
29
  @view.btn_scan.setEnabled(false)
@@ -6,7 +6,7 @@
6
6
  #===================================================
7
7
 
8
8
  require_relative '../../gui/gui_uart_baudrate'
9
- require_relative '../../HardsploitAPI/Modules/UART/HardsploitAPI_UART'
9
+ require_relative '../../hardsploit-api/HardsploitAPI/Modules/UART/HardsploitAPI_UART'
10
10
 
11
11
  class Uart_baudrate < Qt::Widget
12
12
  slots 'start_detect()'