hardsploit_gui 2.2 → 2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/bin/hardsploit_gui +2 -2
  3. data/lib/{Firmware → Firmwares}/FPGA/I2C/I2C_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_I2C_INTERACT.rpd +0 -0
  4. data/lib/{Firmware/FPGA/SWD/SWD_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SWD_INTERACT.rpd → Firmwares/FPGA/PARALLEL/NO_MUX_PARALLEL_MEMORY/HARDSPLOIT_FIRMWARE_FPGA_NO_MUX_PARALLEL_MEMORY.rpd} +0 -0
  5. data/lib/Firmwares/FPGA/SPI/SPI_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SPI_INTERACT.rpd +0 -0
  6. data/lib/{Firmware/FPGA/SPI/SPI_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SPI_INTERACT.rpd → Firmwares/FPGA/SPI/SPI_SNIFFER/HARDSPLOIT_FIRMWARE_FPGA_SPI_SNIFFER.rpd} +0 -0
  7. data/lib/Firmwares/FPGA/SWD/SWD_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SWD_INTERACT.rpd +0 -0
  8. data/lib/{Firmware → Firmwares}/FPGA/TEST/TEST_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_TEST_INTERACT.rpd +0 -0
  9. data/lib/Firmwares/FPGA/UART/UART_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_UART_INTERACT.rpd +0 -0
  10. data/lib/{Firmware → Firmwares}/FPGA/VersionFPGA.rb +1 -1
  11. data/lib/{Firmware → Firmwares}/UC/HARDSPLOIT_FIRMWARE_UC.bin +0 -0
  12. data/lib/{Firmware → Firmwares}/UC/VersionUC.rb +1 -1
  13. data/lib/HardsploitAPI/Core/HardsploitAPI.rb +210 -0
  14. data/lib/HardsploitAPI/Core/HardsploitAPI_CONSTANT.rb +150 -0
  15. data/lib/HardsploitAPI/Core/HardsploitAPI_ERROR.rb +109 -0
  16. data/lib/HardsploitAPI/Core/HardsploitAPI_FIRMWARE.rb +305 -0
  17. data/lib/HardsploitAPI/{HardsploitAPI_PROGRESS.rb → Core/HardsploitAPI_PROGRESS.rb} +0 -0
  18. data/lib/HardsploitAPI/Core/HardsploitAPI_USB_COMMUNICATION.rb +166 -0
  19. data/lib/HardsploitAPI/Modules/I2C/HardsploitAPI_I2C.rb +356 -0
  20. data/lib/HardsploitAPI/{HardsploitAPI_NO_MUX_PARALLELE_MEMORY.rb → Modules/NO_MUX_PARALLEL_MEMORY/HardsploitAPI_NO_MUX_PARALLEL_MEMORY.rb} +26 -49
  21. data/lib/HardsploitAPI/Modules/NRF24L01/HardsploitAPI_NRF24L01.rb +306 -0
  22. data/lib/HardsploitAPI/Modules/SPI/HardsploitAPI_SPI.rb +340 -0
  23. data/lib/HardsploitAPI/Modules/SPI_SNIFFER/HardsploitAPI_SPI_SNIFFER.rb +83 -0
  24. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD.rb +367 -0
  25. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_DEBUG.rb +89 -0
  26. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_MEM_AP.rb +61 -0
  27. data/lib/HardsploitAPI/{SWD → Modules/SWD}/HardsploitAPI_SWD_STM32.rb +32 -15
  28. data/lib/HardsploitAPI/{HardsploitAPI_TEST_INTERACT.rb → Modules/TEST/HardsploitAPI_TEST_INTERACT.rb} +1 -1
  29. data/lib/HardsploitAPI/Modules/UART/HardsploitAPI_UART.rb +196 -0
  30. data/lib/Hardsploit_gui.rb +96 -0
  31. data/lib/class/Chip_editor.rb +186 -330
  32. data/lib/class/Chip_management.rb +496 -0
  33. data/lib/class/Command_editor.rb +130 -182
  34. data/lib/class/Command_table.rb +16 -22
  35. data/lib/class/Console.rb +0 -2
  36. data/lib/class/ErrorMsg.rb +312 -0
  37. data/lib/class/Export.rb +140 -0
  38. data/lib/class/Export_manager.rb +43 -43
  39. data/lib/class/Firmware.rb +52 -11
  40. data/lib/class/Generic_commands.rb +180 -190
  41. data/lib/class/Import.rb +193 -0
  42. data/lib/class/Progress_bar.rb +1 -0
  43. data/lib/class/Signal_mapper.rb +120 -0
  44. data/lib/class/Wire_helper.rb +132 -148
  45. data/lib/class/{I2C → i2c}/I2c_command.rb +16 -13
  46. data/lib/class/i2c/I2c_export.rb +95 -0
  47. data/lib/class/i2c/I2c_import.rb +117 -0
  48. data/lib/class/i2c/I2c_scanner.rb +114 -0
  49. data/lib/class/i2c/I2c_settings.rb +148 -0
  50. data/lib/class/parallel/Parallel_export.rb +118 -0
  51. data/lib/class/parallel/Parallel_import.rb +113 -0
  52. data/lib/class/parallel/Parallel_settings.rb +81 -0
  53. data/lib/class/spi/Spi_export.rb +108 -0
  54. data/lib/class/spi/Spi_import.rb +159 -0
  55. data/lib/class/spi/Spi_settings.rb +108 -0
  56. data/lib/class/spi/Spi_sniffer.rb +101 -0
  57. data/lib/class/swd/Swd.rb +125 -0
  58. data/lib/class/swd/Swd_scanner.rb +121 -0
  59. data/lib/class/swd/Swd_settings.rb +76 -0
  60. data/lib/class/uart/Uart_baudrate.rb +62 -0
  61. data/lib/class/uart/Uart_console.rb +115 -0
  62. data/lib/class/uart/Uart_settings.rb +102 -0
  63. data/lib/db/associations.rb +42 -29
  64. data/lib/db/database.rb +4 -0
  65. data/lib/db/development.sqlite3 +0 -0
  66. data/lib/db/migrate/004_create_manufacturers.rb +13 -0
  67. data/lib/db/migrate/005_create_packages.rb +13 -0
  68. data/lib/db/migrate/006_create_chip_types.rb +11 -0
  69. data/lib/db/migrate/007_create_buses.rb +11 -0
  70. data/lib/db/migrate/008_create_signals.rb +14 -0
  71. data/lib/db/migrate/009_create_chips.rb +25 -0
  72. data/lib/db/migrate/010_create_commands.rb +21 -0
  73. data/lib/db/migrate/011_create_bytes.rb +19 -0
  74. data/lib/db/migrate/012_create_i2c_settings.rb +21 -0
  75. data/lib/db/migrate/013_create_spi_settings.rb +26 -0
  76. data/lib/db/migrate/014_create_parallel_settings.rb +21 -0
  77. data/lib/db/migrate/015_create_pins.rb +19 -0
  78. data/lib/db/migrate/016_create_uses.rb +17 -0
  79. data/lib/db/migrate/017_create_swd_settings.rb +19 -0
  80. data/lib/db/migrate/018_create_uart_settings.rb +22 -0
  81. data/lib/db/schema.rb +157 -0
  82. data/lib/db/seeds.rb +161 -0
  83. data/lib/gui/gui_chip_editor.rb +23 -22
  84. data/lib/gui/gui_chip_management.rb +43 -38
  85. data/lib/gui/gui_command_editor.rb +2 -1
  86. data/lib/gui/gui_export.rb +132 -0
  87. data/lib/gui/gui_generic_commands.rb +69 -31
  88. data/lib/gui/gui_generic_export.rb +18 -2
  89. data/lib/gui/gui_generic_import.rb +18 -2
  90. data/lib/gui/gui_i2c_command.rb +2 -1
  91. data/lib/gui/gui_i2c_settings.rb +2 -2
  92. data/lib/gui/gui_import.rb +131 -0
  93. data/lib/gui/gui_parallel_settings.rb +2 -1
  94. data/lib/gui/gui_progress_bar.rb +2 -1
  95. data/lib/gui/gui_signal_mapper.rb +121 -0
  96. data/lib/gui/gui_signal_scanner.rb +146 -0
  97. data/lib/gui/gui_spi_settings.rb +6 -2
  98. data/lib/gui/gui_spi_sniffer.rb +112 -0
  99. data/lib/gui/gui_swd_settings.rb +166 -0
  100. data/lib/gui/gui_uart_baudrate.rb +114 -0
  101. data/lib/gui/gui_uart_console.rb +164 -0
  102. data/lib/gui/gui_uart_settings.rb +243 -0
  103. data/lib/gui_designer/gui_chip_editor.ui +9 -6
  104. data/lib/gui_designer/gui_chip_management.ui +79 -35
  105. data/lib/gui_designer/gui_command_editor.ui +3 -0
  106. data/lib/gui_designer/gui_export.ui +171 -0
  107. data/lib/gui_designer/gui_generic_commands.ui +274 -190
  108. data/lib/gui_designer/gui_generic_export.ui +24 -1
  109. data/lib/gui_designer/gui_generic_import.ui +25 -2
  110. data/lib/gui_designer/gui_i2c_command.ui +3 -0
  111. data/lib/gui_designer/gui_i2c_settings.ui +2 -2
  112. data/lib/gui_designer/gui_import.ui +168 -0
  113. data/lib/gui_designer/gui_parallel_settings.ui +4 -1
  114. data/lib/gui_designer/gui_progress_bar.ui +3 -0
  115. data/lib/gui_designer/gui_signal_mapper.ui +179 -0
  116. data/lib/gui_designer/gui_signal_scanner.ui +261 -0
  117. data/lib/gui_designer/gui_spi_settings.ui +15 -2
  118. data/lib/gui_designer/gui_spi_sniffer.ui +156 -0
  119. data/lib/gui_designer/gui_swd_settings.ui +189 -0
  120. data/lib/gui_designer/gui_uart_baudrate.ui +161 -0
  121. data/lib/gui_designer/gui_uart_console.ui +284 -0
  122. data/lib/gui_designer/gui_uart_settings.ui +280 -0
  123. data/lib/logs/error.log +63 -0
  124. data/lib/models/bus.rb +19 -0
  125. data/lib/models/byte.rb +29 -0
  126. data/lib/models/chip.rb +41 -0
  127. data/lib/models/chip_type.rb +14 -0
  128. data/lib/models/command.rb +20 -0
  129. data/lib/models/i2c_setting.rb +41 -0
  130. data/lib/models/manufacturer.rb +14 -0
  131. data/lib/models/package.rb +26 -0
  132. data/lib/models/parallel_setting.rb +37 -0
  133. data/lib/models/pin.rb +14 -0
  134. data/lib/models/signall.rb +20 -0
  135. data/lib/models/spi_setting.rb +67 -0
  136. data/lib/models/swd_setting.rb +25 -0
  137. data/lib/models/uart_setting.rb +52 -0
  138. data/lib/models/use.rb +6 -0
  139. data/lib/startHardsploit.rb +2 -2
  140. metadata +106 -41
  141. data/lib/Firmware/FPGA/PARALLEL/NO_MUX_PARALLEL_MEMORY/HARDSPLOIT_FIRMWARE_FPGA_NO_MUX_PARALLEL_MEMORY.rpd +0 -0
  142. data/lib/HardsploitAPI/HardsploitAPI.rb +0 -133
  143. data/lib/HardsploitAPI/HardsploitAPI_CONSTANT.rb +0 -145
  144. data/lib/HardsploitAPI/HardsploitAPI_ERROR.rb +0 -38
  145. data/lib/HardsploitAPI/HardsploitAPI_FIRMWARE.rb +0 -311
  146. data/lib/HardsploitAPI/HardsploitAPI_I2C.rb +0 -360
  147. data/lib/HardsploitAPI/HardsploitAPI_SPI.rb +0 -369
  148. data/lib/HardsploitAPI/HardsploitAPI_USB_COMMUNICATION.rb +0 -148
  149. data/lib/HardsploitAPI/LICENSE.txt +0 -674
  150. data/lib/HardsploitAPI/README.md +0 -22
  151. data/lib/HardsploitAPI/SWD/HardsploitAPI_SWD.rb +0 -249
  152. data/lib/HardsploitAPI/SWD/HardsploitAPI_SWD_DEBUG.rb +0 -102
  153. data/lib/HardsploitAPI/SWD/HardsploitAPI_SWD_MEM_AP.rb +0 -78
  154. data/lib/HardsploitAPI/TRADEMARK +0 -3
  155. data/lib/class/HardsploitGUI.rb +0 -463
  156. data/lib/class/I2C/I2c_export.rb +0 -118
  157. data/lib/class/I2C/I2c_import.rb +0 -79
  158. data/lib/class/I2C/I2c_settings.rb +0 -129
  159. data/lib/class/PARALLEL/Parallel_export.rb +0 -146
  160. data/lib/class/PARALLEL/Parallel_import.rb +0 -88
  161. data/lib/class/PARALLEL/Parallel_settings.rb +0 -102
  162. data/lib/class/SPI/Spi_export.rb +0 -138
  163. data/lib/class/SPI/Spi_import.rb +0 -113
  164. data/lib/class/SPI/Spi_settings.rb +0 -134
  165. data/lib/db/hs.db +0 -0
  166. data/lib/hardsploit.rb +0 -131
@@ -2,12 +2,15 @@
2
2
  <ui version="4.0">
3
3
  <class>Generic_export</class>
4
4
  <widget class="QWidget" name="Generic_export">
5
+ <property name="windowModality">
6
+ <enum>Qt::ApplicationModal</enum>
7
+ </property>
5
8
  <property name="geometry">
6
9
  <rect>
7
10
  <x>0</x>
8
11
  <y>0</y>
9
12
  <width>254</width>
10
- <height>168</height>
13
+ <height>203</height>
11
14
  </rect>
12
15
  </property>
13
16
  <property name="windowTitle">
@@ -91,6 +94,26 @@
91
94
  </property>
92
95
  </widget>
93
96
  </item>
97
+ <item row="5" column="0">
98
+ <widget class="QLabel" name="lbl_selected">
99
+ <property name="text">
100
+ <string>Selected file:</string>
101
+ </property>
102
+ </widget>
103
+ </item>
104
+ <item row="5" column="1">
105
+ <widget class="QLabel" name="lbl_selected_file">
106
+ <property name="maximumSize">
107
+ <size>
108
+ <width>250</width>
109
+ <height>16777215</height>
110
+ </size>
111
+ </property>
112
+ <property name="text">
113
+ <string>None</string>
114
+ </property>
115
+ </widget>
116
+ </item>
94
117
  </layout>
95
118
  </item>
96
119
  <item>
@@ -2,12 +2,15 @@
2
2
  <ui version="4.0">
3
3
  <class>Generic_import</class>
4
4
  <widget class="QWidget" name="Generic_import">
5
+ <property name="windowModality">
6
+ <enum>Qt::ApplicationModal</enum>
7
+ </property>
5
8
  <property name="geometry">
6
9
  <rect>
7
10
  <x>0</x>
8
11
  <y>0</y>
9
- <width>265</width>
10
- <height>137</height>
12
+ <width>317</width>
13
+ <height>155</height>
11
14
  </rect>
12
15
  </property>
13
16
  <property name="windowTitle">
@@ -80,6 +83,26 @@
80
83
  </property>
81
84
  </widget>
82
85
  </item>
86
+ <item row="3" column="0">
87
+ <widget class="QLabel" name="lbl_selected">
88
+ <property name="text">
89
+ <string>Selected file:</string>
90
+ </property>
91
+ </widget>
92
+ </item>
93
+ <item row="3" column="1">
94
+ <widget class="QLabel" name="lbl_selected_file">
95
+ <property name="maximumSize">
96
+ <size>
97
+ <width>250</width>
98
+ <height>16777215</height>
99
+ </size>
100
+ </property>
101
+ <property name="text">
102
+ <string>None</string>
103
+ </property>
104
+ </widget>
105
+ </item>
83
106
  </layout>
84
107
  </item>
85
108
  <item>
@@ -2,6 +2,9 @@
2
2
  <ui version="4.0">
3
3
  <class>I2c_command</class>
4
4
  <widget class="QWidget" name="I2c_command">
5
+ <property name="windowModality">
6
+ <enum>Qt::ApplicationModal</enum>
7
+ </property>
5
8
  <property name="geometry">
6
9
  <rect>
7
10
  <x>0</x>
@@ -119,7 +119,7 @@
119
119
  <item row="6" column="1">
120
120
  <widget class="QLineEdit" name="lie_total_size">
121
121
  <property name="placeholderText">
122
- <string>in octet, to a maximum of 4Go</string>
122
+ <string>in byte, to a maximum of 4Go</string>
123
123
  </property>
124
124
  </widget>
125
125
  </item>
@@ -143,7 +143,7 @@
143
143
  <string/>
144
144
  </property>
145
145
  <property name="placeholderText">
146
- <string>in octet</string>
146
+ <string>in byte</string>
147
147
  </property>
148
148
  </widget>
149
149
  </item>
@@ -0,0 +1,168 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Import</class>
4
+ <widget class="QWidget" name="Import">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>304</width>
10
+ <height>120</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Import</string>
15
+ </property>
16
+ <layout class="QGridLayout" name="gridLayout">
17
+ <item row="1" column="0">
18
+ <layout class="QVBoxLayout" name="verticalLayout">
19
+ <item>
20
+ <widget class="QLabel" name="lbl_import">
21
+ <property name="text">
22
+ <string>Importing:</string>
23
+ </property>
24
+ </widget>
25
+ </item>
26
+ <item>
27
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
28
+ <item>
29
+ <widget class="QRadioButton" name="rbn_comp">
30
+ <property name="text">
31
+ <string>Component</string>
32
+ </property>
33
+ <property name="checked">
34
+ <bool>true</bool>
35
+ </property>
36
+ </widget>
37
+ </item>
38
+ <item>
39
+ <widget class="QRadioButton" name="rbn_cmds">
40
+ <property name="text">
41
+ <string>Commands</string>
42
+ </property>
43
+ </widget>
44
+ </item>
45
+ <item>
46
+ <widget class="QRadioButton" name="rbn_both">
47
+ <property name="text">
48
+ <string>Both</string>
49
+ </property>
50
+ </widget>
51
+ </item>
52
+ </layout>
53
+ </item>
54
+ <item>
55
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
56
+ <item>
57
+ <widget class="QPushButton" name="btn_file">
58
+ <property name="text">
59
+ <string>File...</string>
60
+ </property>
61
+ </widget>
62
+ </item>
63
+ <item>
64
+ <spacer name="horizontalSpacer_2">
65
+ <property name="orientation">
66
+ <enum>Qt::Horizontal</enum>
67
+ </property>
68
+ <property name="sizeHint" stdset="0">
69
+ <size>
70
+ <width>40</width>
71
+ <height>20</height>
72
+ </size>
73
+ </property>
74
+ </spacer>
75
+ </item>
76
+ </layout>
77
+ </item>
78
+ <item>
79
+ <layout class="QHBoxLayout" name="horizontalLayout">
80
+ <item>
81
+ <spacer name="horizontalSpacer">
82
+ <property name="orientation">
83
+ <enum>Qt::Horizontal</enum>
84
+ </property>
85
+ <property name="sizeHint" stdset="0">
86
+ <size>
87
+ <width>40</width>
88
+ <height>20</height>
89
+ </size>
90
+ </property>
91
+ </spacer>
92
+ </item>
93
+ <item>
94
+ <widget class="QPushButton" name="btn_cancel">
95
+ <property name="text">
96
+ <string>Cancel</string>
97
+ </property>
98
+ </widget>
99
+ </item>
100
+ <item>
101
+ <widget class="QPushButton" name="btn_import">
102
+ <property name="text">
103
+ <string>Import</string>
104
+ </property>
105
+ </widget>
106
+ </item>
107
+ </layout>
108
+ </item>
109
+ </layout>
110
+ </item>
111
+ </layout>
112
+ </widget>
113
+ <resources/>
114
+ <connections>
115
+ <connection>
116
+ <sender>btn_cancel</sender>
117
+ <signal>clicked()</signal>
118
+ <receiver>Import</receiver>
119
+ <slot>close()</slot>
120
+ <hints>
121
+ <hint type="sourcelabel">
122
+ <x>144</x>
123
+ <y>98</y>
124
+ </hint>
125
+ <hint type="destinationlabel">
126
+ <x>7</x>
127
+ <y>91</y>
128
+ </hint>
129
+ </hints>
130
+ </connection>
131
+ <connection>
132
+ <sender>btn_import</sender>
133
+ <signal>clicked()</signal>
134
+ <receiver>Import</receiver>
135
+ <slot>import()</slot>
136
+ <hints>
137
+ <hint type="sourcelabel">
138
+ <x>285</x>
139
+ <y>95</y>
140
+ </hint>
141
+ <hint type="destinationlabel">
142
+ <x>304</x>
143
+ <y>98</y>
144
+ </hint>
145
+ </hints>
146
+ </connection>
147
+ <connection>
148
+ <sender>btn_file</sender>
149
+ <signal>clicked()</signal>
150
+ <receiver>Import</receiver>
151
+ <slot>import_file()</slot>
152
+ <hints>
153
+ <hint type="sourcelabel">
154
+ <x>14</x>
155
+ <y>65</y>
156
+ </hint>
157
+ <hint type="destinationlabel">
158
+ <x>3</x>
159
+ <y>65</y>
160
+ </hint>
161
+ </hints>
162
+ </connection>
163
+ </connections>
164
+ <slots>
165
+ <slot>import()</slot>
166
+ <slot>import_file()</slot>
167
+ </slots>
168
+ </ui>
@@ -99,7 +99,7 @@
99
99
  <string/>
100
100
  </property>
101
101
  <property name="placeholderText">
102
- <string>in nanosecondes</string>
102
+ <string>in nanosecondes (7 to 1965)</string>
103
103
  </property>
104
104
  </widget>
105
105
  </item>
@@ -127,6 +127,9 @@
127
127
  <property name="text">
128
128
  <string>8 bits</string>
129
129
  </property>
130
+ <property name="checked">
131
+ <bool>true</bool>
132
+ </property>
130
133
  </widget>
131
134
  <widget class="QRadioButton" name="rbn_16b">
132
135
  <property name="geometry">
@@ -2,6 +2,9 @@
2
2
  <ui version="4.0">
3
3
  <class>Progress_bar</class>
4
4
  <widget class="QWidget" name="Progress_bar">
5
+ <property name="windowModality">
6
+ <enum>Qt::ApplicationModal</enum>
7
+ </property>
5
8
  <property name="geometry">
6
9
  <rect>
7
10
  <x>0</x>
@@ -0,0 +1,179 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Signal_mapper</class>
4
+ <widget class="QWidget" name="Signal_mapper">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>268</width>
10
+ <height>411</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Signal mapper</string>
15
+ </property>
16
+ <layout class="QGridLayout" name="gridLayout">
17
+ <item row="0" column="0">
18
+ <layout class="QVBoxLayout" name="vl">
19
+ <item>
20
+ <layout class="QHBoxLayout" name="hl">
21
+ <item>
22
+ <widget class="QLabel" name="lbl_bus">
23
+ <property name="text">
24
+ <string>Select a bus</string>
25
+ </property>
26
+ </widget>
27
+ </item>
28
+ <item>
29
+ <widget class="QComboBox" name="cbx_bus">
30
+ <item>
31
+ <property name="text">
32
+ <string>Bus...</string>
33
+ </property>
34
+ </item>
35
+ </widget>
36
+ </item>
37
+ <item>
38
+ <spacer name="hs">
39
+ <property name="orientation">
40
+ <enum>Qt::Horizontal</enum>
41
+ </property>
42
+ <property name="sizeHint" stdset="0">
43
+ <size>
44
+ <width>40</width>
45
+ <height>20</height>
46
+ </size>
47
+ </property>
48
+ </spacer>
49
+ </item>
50
+ </layout>
51
+ </item>
52
+ <item>
53
+ <widget class="QTableWidget" name="map_table">
54
+ <attribute name="horizontalHeaderStretchLastSection">
55
+ <bool>true</bool>
56
+ </attribute>
57
+ <attribute name="verticalHeaderVisible">
58
+ <bool>false</bool>
59
+ </attribute>
60
+ <column>
61
+ <property name="text">
62
+ <string>Signal Name</string>
63
+ </property>
64
+ </column>
65
+ <column>
66
+ <property name="text">
67
+ <string>Associated Pin</string>
68
+ </property>
69
+ </column>
70
+ </widget>
71
+ </item>
72
+ <item>
73
+ <layout class="QHBoxLayout" name="hl2">
74
+ <item>
75
+ <spacer name="hs2">
76
+ <property name="orientation">
77
+ <enum>Qt::Horizontal</enum>
78
+ </property>
79
+ <property name="sizeHint" stdset="0">
80
+ <size>
81
+ <width>40</width>
82
+ <height>20</height>
83
+ </size>
84
+ </property>
85
+ </spacer>
86
+ </item>
87
+ <item>
88
+ <widget class="QPushButton" name="btn_cancel">
89
+ <property name="text">
90
+ <string>Close</string>
91
+ </property>
92
+ </widget>
93
+ </item>
94
+ <item>
95
+ <widget class="QPushButton" name="btn_save">
96
+ <property name="text">
97
+ <string>Save</string>
98
+ </property>
99
+ </widget>
100
+ </item>
101
+ </layout>
102
+ </item>
103
+ </layout>
104
+ </item>
105
+ </layout>
106
+ </widget>
107
+ <resources/>
108
+ <connections>
109
+ <connection>
110
+ <sender>btn_cancel</sender>
111
+ <signal>clicked()</signal>
112
+ <receiver>Signal_mapper</receiver>
113
+ <slot>close()</slot>
114
+ <hints>
115
+ <hint type="sourcelabel">
116
+ <x>160</x>
117
+ <y>576</y>
118
+ </hint>
119
+ <hint type="destinationlabel">
120
+ <x>5</x>
121
+ <y>372</y>
122
+ </hint>
123
+ </hints>
124
+ </connection>
125
+ <connection>
126
+ <sender>btn_save</sender>
127
+ <signal>clicked()</signal>
128
+ <receiver>Signal_mapper</receiver>
129
+ <slot>save_signal_mapping()</slot>
130
+ <hints>
131
+ <hint type="sourcelabel">
132
+ <x>241</x>
133
+ <y>576</y>
134
+ </hint>
135
+ <hint type="destinationlabel">
136
+ <x>253</x>
137
+ <y>364</y>
138
+ </hint>
139
+ </hints>
140
+ </connection>
141
+ <connection>
142
+ <sender>cbx_bus</sender>
143
+ <signal>currentIndexChanged(QString)</signal>
144
+ <receiver>Signal_mapper</receiver>
145
+ <slot>update_map_table(QString)</slot>
146
+ <hints>
147
+ <hint type="sourcelabel">
148
+ <x>128</x>
149
+ <y>30</y>
150
+ </hint>
151
+ <hint type="destinationlabel">
152
+ <x>253</x>
153
+ <y>16</y>
154
+ </hint>
155
+ </hints>
156
+ </connection>
157
+ <connection>
158
+ <sender>map_table</sender>
159
+ <signal>itemChanged(QTableWidgetItem*)</signal>
160
+ <receiver>Signal_mapper</receiver>
161
+ <slot>check_mapping_value(QTableWidgetItem*)</slot>
162
+ <hints>
163
+ <hint type="sourcelabel">
164
+ <x>235</x>
165
+ <y>189</y>
166
+ </hint>
167
+ <hint type="destinationlabel">
168
+ <x>253</x>
169
+ <y>191</y>
170
+ </hint>
171
+ </hints>
172
+ </connection>
173
+ </connections>
174
+ <slots>
175
+ <slot>save_signal_mapping()</slot>
176
+ <slot>update_map_table(QString)</slot>
177
+ <slot>check_mapping_value(QTableWidgetItem*)</slot>
178
+ </slots>
179
+ </ui>