hardsploit_gui 2.3 → 2.4.0

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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +22 -22
  3. data/Rakefile +1 -1
  4. data/bin/hardsploit_gui +3 -3
  5. data/lib/Firmwares/FPGA/I2C/I2C_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_I2C_INTERACT.rpd +0 -0
  6. data/lib/Firmwares/FPGA/PARALLEL/NO_MUX_PARALLEL_MEMORY/HARDSPLOIT_FIRMWARE_FPGA_NO_MUX_PARALLEL_MEMORY.rpd +0 -0
  7. data/lib/Firmwares/FPGA/SPI/SPI_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SPI_INTERACT.rpd +0 -0
  8. data/lib/Firmwares/FPGA/SPI/SPI_SNIFFER/HARDSPLOIT_FIRMWARE_FPGA_SPI_SNIFFER.rpd +0 -0
  9. data/lib/Firmwares/FPGA/SWD/SWD_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SWD_INTERACT.rpd +0 -0
  10. data/lib/Firmwares/FPGA/UART/UART_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_UART_INTERACT.rpd +0 -0
  11. data/lib/Firmwares/FPGA/VersionFPGA.rb +5 -5
  12. data/lib/Firmwares/UC/VersionUC.rb +12 -12
  13. data/lib/HardsploitAPI/Core/HardsploitAPI.rb +210 -210
  14. data/lib/HardsploitAPI/Core/HardsploitAPI_CONSTANT.rb +150 -150
  15. data/lib/HardsploitAPI/Core/HardsploitAPI_ERROR.rb +109 -109
  16. data/lib/HardsploitAPI/Core/HardsploitAPI_FIRMWARE.rb +305 -305
  17. data/lib/HardsploitAPI/Core/HardsploitAPI_PROGRESS.rb +28 -28
  18. data/lib/HardsploitAPI/Core/HardsploitAPI_USB_COMMUNICATION.rb +166 -166
  19. data/lib/HardsploitAPI/Modules/I2C/HardsploitAPI_I2C.rb +356 -356
  20. data/lib/HardsploitAPI/Modules/NO_MUX_PARALLEL_MEMORY/HardsploitAPI_NO_MUX_PARALLEL_MEMORY.rb +206 -206
  21. data/lib/HardsploitAPI/Modules/NRF24L01/HardsploitAPI_NRF24L01.rb +306 -306
  22. data/lib/HardsploitAPI/Modules/SPI/HardsploitAPI_SPI.rb +340 -340
  23. data/lib/HardsploitAPI/Modules/SPI_SNIFFER/HardsploitAPI_SPI_SNIFFER.rb +83 -83
  24. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD.rb +367 -367
  25. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_DEBUG.rb +89 -89
  26. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_MEM_AP.rb +61 -61
  27. data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_STM32.rb +121 -121
  28. data/lib/HardsploitAPI/Modules/TEST/HardsploitAPI_TEST_INTERACT.rb +98 -98
  29. data/lib/HardsploitAPI/Modules/UART/HardsploitAPI_UART.rb +196 -196
  30. data/lib/Hardsploit_gui.rb +96 -96
  31. data/lib/LICENSE.txt +674 -674
  32. data/lib/README.md +22 -22
  33. data/lib/TRADEMARK +2 -2
  34. data/lib/class/Chip_editor.rb +304 -304
  35. data/lib/class/Chip_management.rb +496 -496
  36. data/lib/class/Command_editor.rb +216 -216
  37. data/lib/class/Command_table.rb +233 -233
  38. data/lib/class/Console.rb +26 -26
  39. data/lib/class/ErrorMsg.rb +312 -312
  40. data/lib/class/Export.rb +140 -140
  41. data/lib/class/Export_manager.rb +124 -124
  42. data/lib/class/Firmware.rb +70 -70
  43. data/lib/class/Generic_commands.rb +260 -260
  44. data/lib/class/{i2c → I2C}/I2c_command.rb +51 -51
  45. data/lib/class/{i2c → I2C}/I2c_export.rb +95 -95
  46. data/lib/class/{i2c → I2C}/I2c_import.rb +117 -117
  47. data/lib/class/{i2c → I2C}/I2c_scanner.rb +114 -114
  48. data/lib/class/{i2c → I2C}/I2c_settings.rb +148 -148
  49. data/lib/class/Import.rb +193 -193
  50. data/lib/class/{parallel → PARALLEL}/Parallel_export.rb +118 -118
  51. data/lib/class/{parallel → PARALLEL}/Parallel_import.rb +113 -113
  52. data/lib/class/{parallel → PARALLEL}/Parallel_settings.rb +81 -81
  53. data/lib/class/Progress_bar.rb +32 -32
  54. data/lib/class/{spi → SPI}/Spi_export.rb +108 -108
  55. data/lib/class/{spi → SPI}/Spi_import.rb +159 -159
  56. data/lib/class/{spi → SPI}/Spi_settings.rb +108 -108
  57. data/lib/class/{spi → SPI}/Spi_sniffer.rb +101 -101
  58. data/lib/class/Signal_mapper.rb +120 -120
  59. data/lib/class/Wire_helper.rb +230 -230
  60. data/lib/class/swd/Swd.rb +125 -125
  61. data/lib/class/swd/Swd_scanner.rb +121 -121
  62. data/lib/class/swd/Swd_settings.rb +76 -76
  63. data/lib/class/uart/Uart_baudrate.rb +62 -62
  64. data/lib/class/uart/Uart_console.rb +115 -115
  65. data/lib/class/uart/Uart_settings.rb +102 -102
  66. data/lib/db/associations.rb +138 -138
  67. data/lib/db/database.rb +4 -4
  68. data/lib/db/development.sqlite3 +0 -0
  69. data/lib/db/migrate/004_create_manufacturers.rb +13 -13
  70. data/lib/db/migrate/005_create_packages.rb +13 -13
  71. data/lib/db/migrate/006_create_chip_types.rb +11 -11
  72. data/lib/db/migrate/007_create_buses.rb +11 -11
  73. data/lib/db/migrate/008_create_signals.rb +14 -14
  74. data/lib/db/migrate/009_create_chips.rb +25 -25
  75. data/lib/db/migrate/010_create_commands.rb +21 -21
  76. data/lib/db/migrate/011_create_bytes.rb +19 -19
  77. data/lib/db/migrate/012_create_i2c_settings.rb +21 -21
  78. data/lib/db/migrate/013_create_spi_settings.rb +26 -26
  79. data/lib/db/migrate/014_create_parallel_settings.rb +21 -21
  80. data/lib/db/migrate/015_create_pins.rb +19 -19
  81. data/lib/db/migrate/016_create_uses.rb +17 -17
  82. data/lib/db/migrate/017_create_swd_settings.rb +19 -19
  83. data/lib/db/migrate/018_create_uart_settings.rb +22 -22
  84. data/lib/db/schema.rb +157 -157
  85. data/lib/db/seeds.rb +161 -161
  86. data/lib/gui/gui_chip_editor.rb +349 -349
  87. data/lib/gui/gui_chip_management.rb +377 -377
  88. data/lib/gui/gui_command_editor.rb +219 -219
  89. data/lib/gui/gui_export.rb +132 -132
  90. data/lib/gui/gui_export_manager.rb +93 -93
  91. data/lib/gui/gui_generic_commands.rb +202 -202
  92. data/lib/gui/gui_generic_export.rb +164 -164
  93. data/lib/gui/gui_generic_import.rb +142 -142
  94. data/lib/gui/gui_i2c_command.rb +116 -116
  95. data/lib/gui/gui_i2c_settings.rb +230 -230
  96. data/lib/gui/gui_import.rb +131 -131
  97. data/lib/gui/gui_parallel_settings.rb +195 -195
  98. data/lib/gui/gui_progress_bar.rb +85 -85
  99. data/lib/gui/gui_signal_mapper.rb +121 -121
  100. data/lib/gui/gui_signal_scanner.rb +146 -146
  101. data/lib/gui/gui_spi_import.rb +126 -126
  102. data/lib/gui/gui_spi_settings.rb +313 -313
  103. data/lib/gui/gui_spi_sniffer.rb +112 -112
  104. data/lib/gui/gui_swd_settings.rb +166 -166
  105. data/lib/gui/gui_uart_baudrate.rb +114 -114
  106. data/lib/gui/gui_uart_console.rb +164 -164
  107. data/lib/gui/gui_uart_settings.rb +243 -243
  108. data/lib/gui/gui_wire_helper.rb +99 -99
  109. data/lib/gui_designer/gui_chip_editor.ui +549 -549
  110. data/lib/gui_designer/gui_chip_management.ui +886 -886
  111. data/lib/gui_designer/gui_command_editor.ui +350 -350
  112. data/lib/gui_designer/gui_export.ui +171 -171
  113. data/lib/gui_designer/gui_export_manager.ui +115 -115
  114. data/lib/gui_designer/gui_generic_commands.ui +342 -342
  115. data/lib/gui_designer/gui_generic_export.ui +202 -202
  116. data/lib/gui_designer/gui_generic_import.ui +165 -165
  117. data/lib/gui_designer/gui_i2c_command.ui +148 -148
  118. data/lib/gui_designer/gui_i2c_settings.ui +292 -292
  119. data/lib/gui_designer/gui_import.ui +168 -168
  120. data/lib/gui_designer/gui_parallel_settings.ui +247 -247
  121. data/lib/gui_designer/gui_progress_bar.ui +86 -86
  122. data/lib/gui_designer/gui_signal_mapper.ui +179 -179
  123. data/lib/gui_designer/gui_signal_scanner.ui +261 -261
  124. data/lib/gui_designer/gui_spi_settings.ui +446 -446
  125. data/lib/gui_designer/gui_spi_sniffer.ui +156 -156
  126. data/lib/gui_designer/gui_swd_settings.ui +189 -189
  127. data/lib/gui_designer/gui_uart_baudrate.ui +161 -161
  128. data/lib/gui_designer/gui_uart_console.ui +284 -284
  129. data/lib/gui_designer/gui_uart_settings.ui +280 -280
  130. data/lib/gui_designer/gui_wire_helper.ui +117 -117
  131. data/lib/images/search.png +0 -0
  132. data/lib/logs/error.log +0 -63
  133. data/lib/models/bus.rb +19 -19
  134. data/lib/models/byte.rb +29 -29
  135. data/lib/models/chip.rb +41 -41
  136. data/lib/models/chip_type.rb +14 -14
  137. data/lib/models/command.rb +20 -20
  138. data/lib/models/i2c_setting.rb +41 -41
  139. data/lib/models/manufacturer.rb +14 -14
  140. data/lib/models/package.rb +26 -26
  141. data/lib/models/parallel_setting.rb +37 -37
  142. data/lib/models/pin.rb +14 -14
  143. data/lib/models/signall.rb +20 -20
  144. data/lib/models/spi_setting.rb +67 -67
  145. data/lib/models/swd_setting.rb +25 -25
  146. data/lib/models/uart_setting.rb +52 -52
  147. data/lib/models/use.rb +6 -6
  148. data/lib/startHardsploit.rb +10 -10
  149. metadata +14 -14
@@ -1,17 +1,17 @@
1
- class CreateUses < ActiveRecord::Migration
2
- def self.up
3
- create_table "uses", id: false, force: :cascade do |t|
4
- t.integer "signal_id"
5
- t.integer "bus_id"
6
- end
7
-
8
- add_index "uses", ["signal_id", "bus_id"], name: "index_uses_on_signal_id_and_bus_id", unique: true, using: :btree
9
-
10
- add_foreign_key "uses", "signals"
11
- add_foreign_key "uses", "buses"
12
- end
13
-
14
- def self.down
15
- drop_table :uses
16
- end
17
- end
1
+ class CreateUses < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "uses", id: false, force: :cascade do |t|
4
+ t.integer "signal_id"
5
+ t.integer "bus_id"
6
+ end
7
+
8
+ add_index "uses", ["signal_id", "bus_id"], name: "index_uses_on_signal_id_and_bus_id", unique: true, using: :btree
9
+
10
+ add_foreign_key "uses", "signals"
11
+ add_foreign_key "uses", "buses"
12
+ end
13
+
14
+ def self.down
15
+ drop_table :uses
16
+ end
17
+ end
@@ -1,19 +1,19 @@
1
- class CreateSwdSettings < ActiveRecord::Migration
2
- def self.up
3
- create_table "swd_settings", force: :cascade do |t|
4
- t.string "cpu_id_address", limit: 8
5
- t.string "device_id_address", limit: 8
6
- t.string "memory_size_address", limit: 8
7
- t.string "memory_start_address", limit: 8
8
- t.integer "chip_id", limit: 4, null: false
9
- end
10
-
11
- add_index "swd_settings", ["chip_id"], name: "index_swd_settings_on_chip_id", unique: true
12
-
13
- add_foreign_key "swd_settings", "chips"
14
- end
15
-
16
- def self.down
17
- drop_table :swd_settings
18
- end
19
- end
1
+ class CreateSwdSettings < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "swd_settings", force: :cascade do |t|
4
+ t.string "cpu_id_address", limit: 8
5
+ t.string "device_id_address", limit: 8
6
+ t.string "memory_size_address", limit: 8
7
+ t.string "memory_start_address", limit: 8
8
+ t.integer "chip_id", limit: 4, null: false
9
+ end
10
+
11
+ add_index "swd_settings", ["chip_id"], name: "index_swd_settings_on_chip_id", unique: true
12
+
13
+ add_foreign_key "swd_settings", "chips"
14
+ end
15
+
16
+ def self.down
17
+ drop_table :swd_settings
18
+ end
19
+ end
@@ -1,22 +1,22 @@
1
- class CreateUartSettings < ActiveRecord::Migration
2
- def self.up
3
- create_table "uart_settings", force: :cascade do |t|
4
- t.integer "baud_rate", limit: 8
5
- t.integer "idle_line", limit: 8
6
- t.integer "parity_bit", limit: 8
7
- t.integer "parity_type", limit: 8
8
- t.integer "stop_bits_nbr", limit: 8
9
- t.integer "word_size", limit: 8
10
- t.integer "return_type", limit: 1
11
- t.integer "chip_id", limit: 4, null: false
12
- end
13
-
14
- add_index "uart_settings", ["chip_id"], name: "index_uart_settings_on_chip_id", unique: true
15
-
16
- add_foreign_key "uart_settings", "chips"
17
- end
18
-
19
- def self.down
20
- drop_table :uart_settings
21
- end
22
- end
1
+ class CreateUartSettings < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "uart_settings", force: :cascade do |t|
4
+ t.integer "baud_rate", limit: 8
5
+ t.integer "idle_line", limit: 8
6
+ t.integer "parity_bit", limit: 8
7
+ t.integer "parity_type", limit: 8
8
+ t.integer "stop_bits_nbr", limit: 8
9
+ t.integer "word_size", limit: 8
10
+ t.integer "return_type", limit: 1
11
+ t.integer "chip_id", limit: 4, null: false
12
+ end
13
+
14
+ add_index "uart_settings", ["chip_id"], name: "index_uart_settings_on_chip_id", unique: true
15
+
16
+ add_foreign_key "uart_settings", "chips"
17
+ end
18
+
19
+ def self.down
20
+ drop_table :uart_settings
21
+ end
22
+ end
data/lib/db/schema.rb CHANGED
@@ -1,157 +1,157 @@
1
- # encoding: UTF-8
2
- # This file is auto-generated from the current state of the database. Instead
3
- # of editing this file, please use the migrations feature of Active Record to
4
- # incrementally modify your database, and then regenerate this schema definition.
5
- #
6
- # Note that this schema.rb definition is the authoritative source for your
7
- # database schema. If you need to create the application database on another
8
- # system, you should be using db:schema:load, not running all the migrations
9
- # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
- # you'll amass, the slower it'll run and the greater likelihood for issues).
11
- #
12
- # It's strongly recommended that you check this file into your version control system.
13
-
14
- ActiveRecord::Schema.define(version: 18) do
15
-
16
- create_table "buses", force: :cascade do |t|
17
- t.string "name", limit: 25, null: false
18
- end
19
-
20
- create_table "bytes", force: :cascade do |t|
21
- t.integer "index", null: false
22
- t.text "value", null: false
23
- t.text "description"
24
- t.integer "iteration"
25
- t.integer "command_id", limit: 4, null: false
26
- end
27
-
28
- add_index "bytes", ["command_id"], name: "index_bytes_on_command_id"
29
-
30
- create_table "chip_types", force: :cascade do |t|
31
- t.string "name", limit: 25, null: false
32
- end
33
-
34
- create_table "chips", force: :cascade do |t|
35
- t.string "reference", limit: 25, null: false
36
- t.text "description"
37
- t.integer "voltage", null: false
38
- t.integer "manufacturer_id", limit: 4, null: false
39
- t.integer "package_id", limit: 4, null: false
40
- t.integer "chip_type_id", limit: 4, null: false
41
- end
42
-
43
- add_index "chips", ["chip_type_id"], name: "index_chips_on_chip_type_id"
44
- add_index "chips", ["manufacturer_id"], name: "index_chips_on_manufacturer_id"
45
- add_index "chips", ["package_id"], name: "index_chips_on_package_id"
46
- add_index "chips", ["reference"], name: "index_chips_on_reference", unique: true
47
-
48
- create_table "commands", force: :cascade do |t|
49
- t.string "name", limit: 25, null: false
50
- t.text "description"
51
- t.integer "bus_id", limit: 4, null: false
52
- t.integer "chip_id", limit: 4, null: false
53
- end
54
-
55
- add_index "commands", ["bus_id"], name: "index_commands_on_bus_id"
56
- add_index "commands", ["chip_id"], name: "index_commands_on_chip_id"
57
-
58
- create_table "i2c_settings", force: :cascade do |t|
59
- t.text "address_w"
60
- t.text "address_r"
61
- t.integer "frequency"
62
- t.integer "write_page_latency"
63
- t.integer "page_size"
64
- t.integer "total_size"
65
- t.integer "chip_id", limit: 4, null: false
66
- end
67
-
68
- add_index "i2c_settings", ["chip_id"], name: "index_i2c_settings_on_chip_id", unique: true
69
-
70
- create_table "manufacturers", force: :cascade do |t|
71
- t.string "name", limit: 25, null: false
72
- end
73
-
74
- add_index "manufacturers", ["name"], name: "index_manufacturers_on_name", unique: true
75
-
76
- create_table "packages", force: :cascade do |t|
77
- t.string "name", limit: 25, null: false
78
- t.integer "pin_number", null: false
79
- t.integer "shape", null: false
80
- end
81
-
82
- create_table "parallel_settings", force: :cascade do |t|
83
- t.integer "total_size"
84
- t.text "total_size_unit"
85
- t.integer "page_size"
86
- t.integer "word_size"
87
- t.integer "read_latency"
88
- t.integer "write_latency"
89
- t.integer "chip_id", limit: 4, null: false
90
- end
91
-
92
- add_index "parallel_settings", ["chip_id"], name: "index_parallel_settings_on_chip_id", unique: true
93
-
94
- create_table "pins", force: :cascade do |t|
95
- t.integer "number", null: false
96
- t.integer "chip_id", limit: 4, null: false
97
- t.integer "signal_id", limit: 4, default: 1, null: false
98
- end
99
-
100
- add_index "pins", ["chip_id"], name: "index_pins_on_chip_id"
101
- add_index "pins", ["signal_id"], name: "index_pins_on_signal_id"
102
-
103
- create_table "signals", force: :cascade do |t|
104
- t.string "name", null: false
105
- t.string "pin", null: false
106
- end
107
-
108
- add_index "signals", ["name"], name: "index_signals_on_name", unique: true
109
-
110
- create_table "spi_settings", force: :cascade do |t|
111
- t.integer "mode"
112
- t.text "frequency"
113
- t.integer "write_page_latency"
114
- t.integer "command_read"
115
- t.integer "command_write"
116
- t.integer "command_write_enable"
117
- t.integer "command_erase"
118
- t.integer "erase_time"
119
- t.integer "page_size"
120
- t.integer "total_size"
121
- t.integer "is_flash"
122
- t.integer "chip_id", limit: 4, null: false
123
- end
124
-
125
- add_index "spi_settings", ["chip_id"], name: "index_spi_settings_on_chip_id", unique: true
126
-
127
- create_table "swd_settings", force: :cascade do |t|
128
- t.string "cpu_id_address", limit: 8
129
- t.string "device_id_address", limit: 8
130
- t.string "memory_size_address", limit: 8
131
- t.string "memory_start_address", limit: 8
132
- t.integer "chip_id", limit: 4, null: false
133
- end
134
-
135
- add_index "swd_settings", ["chip_id"], name: "index_swd_settings_on_chip_id", unique: true
136
-
137
- create_table "uart_settings", force: :cascade do |t|
138
- t.integer "baud_rate", limit: 8
139
- t.integer "idle_line", limit: 8
140
- t.integer "parity_bit", limit: 8
141
- t.integer "parity_type", limit: 8
142
- t.integer "stop_bits_nbr", limit: 8
143
- t.integer "word_size", limit: 8
144
- t.integer "return_type", limit: 1
145
- t.integer "chip_id", limit: 4, null: false
146
- end
147
-
148
- add_index "uart_settings", ["chip_id"], name: "index_uart_settings_on_chip_id", unique: true
149
-
150
- create_table "uses", id: false, force: :cascade do |t|
151
- t.integer "signal_id"
152
- t.integer "bus_id"
153
- end
154
-
155
- add_index "uses", ["signal_id", "bus_id"], name: "index_uses_on_signal_id_and_bus_id", unique: true
156
-
157
- end
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended that you check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(version: 18) do
15
+
16
+ create_table "buses", force: :cascade do |t|
17
+ t.string "name", limit: 25, null: false
18
+ end
19
+
20
+ create_table "bytes", force: :cascade do |t|
21
+ t.integer "index", null: false
22
+ t.text "value", null: false
23
+ t.text "description"
24
+ t.integer "iteration"
25
+ t.integer "command_id", limit: 4, null: false
26
+ end
27
+
28
+ add_index "bytes", ["command_id"], name: "index_bytes_on_command_id"
29
+
30
+ create_table "chip_types", force: :cascade do |t|
31
+ t.string "name", limit: 25, null: false
32
+ end
33
+
34
+ create_table "chips", force: :cascade do |t|
35
+ t.string "reference", limit: 25, null: false
36
+ t.text "description"
37
+ t.integer "voltage", null: false
38
+ t.integer "manufacturer_id", limit: 4, null: false
39
+ t.integer "package_id", limit: 4, null: false
40
+ t.integer "chip_type_id", limit: 4, null: false
41
+ end
42
+
43
+ add_index "chips", ["chip_type_id"], name: "index_chips_on_chip_type_id"
44
+ add_index "chips", ["manufacturer_id"], name: "index_chips_on_manufacturer_id"
45
+ add_index "chips", ["package_id"], name: "index_chips_on_package_id"
46
+ add_index "chips", ["reference"], name: "index_chips_on_reference", unique: true
47
+
48
+ create_table "commands", force: :cascade do |t|
49
+ t.string "name", limit: 25, null: false
50
+ t.text "description"
51
+ t.integer "bus_id", limit: 4, null: false
52
+ t.integer "chip_id", limit: 4, null: false
53
+ end
54
+
55
+ add_index "commands", ["bus_id"], name: "index_commands_on_bus_id"
56
+ add_index "commands", ["chip_id"], name: "index_commands_on_chip_id"
57
+
58
+ create_table "i2c_settings", force: :cascade do |t|
59
+ t.text "address_w"
60
+ t.text "address_r"
61
+ t.integer "frequency"
62
+ t.integer "write_page_latency"
63
+ t.integer "page_size"
64
+ t.integer "total_size"
65
+ t.integer "chip_id", limit: 4, null: false
66
+ end
67
+
68
+ add_index "i2c_settings", ["chip_id"], name: "index_i2c_settings_on_chip_id", unique: true
69
+
70
+ create_table "manufacturers", force: :cascade do |t|
71
+ t.string "name", limit: 25, null: false
72
+ end
73
+
74
+ add_index "manufacturers", ["name"], name: "index_manufacturers_on_name", unique: true
75
+
76
+ create_table "packages", force: :cascade do |t|
77
+ t.string "name", limit: 25, null: false
78
+ t.integer "pin_number", null: false
79
+ t.integer "shape", null: false
80
+ end
81
+
82
+ create_table "parallel_settings", force: :cascade do |t|
83
+ t.integer "total_size"
84
+ t.text "total_size_unit"
85
+ t.integer "page_size"
86
+ t.integer "word_size"
87
+ t.integer "read_latency"
88
+ t.integer "write_latency"
89
+ t.integer "chip_id", limit: 4, null: false
90
+ end
91
+
92
+ add_index "parallel_settings", ["chip_id"], name: "index_parallel_settings_on_chip_id", unique: true
93
+
94
+ create_table "pins", force: :cascade do |t|
95
+ t.integer "number", null: false
96
+ t.integer "chip_id", limit: 4, null: false
97
+ t.integer "signal_id", limit: 4, default: 1, null: false
98
+ end
99
+
100
+ add_index "pins", ["chip_id"], name: "index_pins_on_chip_id"
101
+ add_index "pins", ["signal_id"], name: "index_pins_on_signal_id"
102
+
103
+ create_table "signals", force: :cascade do |t|
104
+ t.string "name", null: false
105
+ t.string "pin", null: false
106
+ end
107
+
108
+ add_index "signals", ["name"], name: "index_signals_on_name", unique: true
109
+
110
+ create_table "spi_settings", force: :cascade do |t|
111
+ t.integer "mode"
112
+ t.text "frequency"
113
+ t.integer "write_page_latency"
114
+ t.integer "command_read"
115
+ t.integer "command_write"
116
+ t.integer "command_write_enable"
117
+ t.integer "command_erase"
118
+ t.integer "erase_time"
119
+ t.integer "page_size"
120
+ t.integer "total_size"
121
+ t.integer "is_flash"
122
+ t.integer "chip_id", limit: 4, null: false
123
+ end
124
+
125
+ add_index "spi_settings", ["chip_id"], name: "index_spi_settings_on_chip_id", unique: true
126
+
127
+ create_table "swd_settings", force: :cascade do |t|
128
+ t.string "cpu_id_address", limit: 8
129
+ t.string "device_id_address", limit: 8
130
+ t.string "memory_size_address", limit: 8
131
+ t.string "memory_start_address", limit: 8
132
+ t.integer "chip_id", limit: 4, null: false
133
+ end
134
+
135
+ add_index "swd_settings", ["chip_id"], name: "index_swd_settings_on_chip_id", unique: true
136
+
137
+ create_table "uart_settings", force: :cascade do |t|
138
+ t.integer "baud_rate", limit: 8
139
+ t.integer "idle_line", limit: 8
140
+ t.integer "parity_bit", limit: 8
141
+ t.integer "parity_type", limit: 8
142
+ t.integer "stop_bits_nbr", limit: 8
143
+ t.integer "word_size", limit: 8
144
+ t.integer "return_type", limit: 1
145
+ t.integer "chip_id", limit: 4, null: false
146
+ end
147
+
148
+ add_index "uart_settings", ["chip_id"], name: "index_uart_settings_on_chip_id", unique: true
149
+
150
+ create_table "uses", id: false, force: :cascade do |t|
151
+ t.integer "signal_id"
152
+ t.integer "bus_id"
153
+ end
154
+
155
+ add_index "uses", ["signal_id", "bus_id"], name: "index_uses_on_signal_id_and_bus_id", unique: true
156
+
157
+ end
data/lib/db/seeds.rb CHANGED
@@ -1,161 +1,161 @@
1
- # This file should contain all the record creation needed to seed the database with its default values.
2
- # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
3
- #
4
- # Examples:
5
- #
6
- # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
7
- # Mayor.create(name: 'Emanuel', city: cities.first)
8
-
9
- Bus.create([
10
- { name: 'NA' },
11
- { name: 'PARALLEL' },
12
- { name: 'I2C' },
13
- { name: 'SPI' },
14
- { name: 'UART' },
15
- { name: 'SWD' }
16
- ])
17
-
18
- ChipType.create([
19
- { name: 'MEMORY' },
20
- { name: 'MICROCONTROLER' }
21
- ])
22
-
23
- Signall.create([
24
- {name: 'NA', pin: 'A0' },
25
- {name: 'A0', pin: 'A0' },
26
- {name: 'A1', pin: 'A1' },
27
- {name: 'A2', pin: 'A2' },
28
- {name: 'A3', pin: 'A3' },
29
- {name: 'A4', pin: 'A4' },
30
- {name: 'A5', pin: 'A5' },
31
- {name: 'A6', pin: 'A6' },
32
- {name: 'A7', pin: 'A7' },
33
- {name: 'A8', pin: 'B0' },
34
- {name: 'A9', pin: 'B1' },
35
- {name: 'A10', pin: 'B2' },
36
- {name: 'A11', pin: 'B3' },
37
- {name: 'A12', pin: 'B4' },
38
- {name: 'A13', pin: 'B5' },
39
- {name: 'A14', pin: 'B6' },
40
- {name: 'A15', pin: 'B7' },
41
- {name: 'A16', pin: 'C0' },
42
- {name: 'A17', pin: 'C1' },
43
- {name: 'A18', pin: 'C2' },
44
- {name: 'A19', pin: 'C3' },
45
- {name: 'A20', pin: 'C4' },
46
- {name: 'A21', pin: 'C5' },
47
- {name: 'A22', pin: 'C6' },
48
- {name: 'A23', pin: 'C7' },
49
- {name: 'A24', pin: 'E0' },
50
- {name: 'A25', pin: 'E1' },
51
- {name: 'A26', pin: 'E2' },
52
- {name: 'A27', pin: 'E3' },
53
- {name: 'A28', pin: 'E4' },
54
- {name: 'A29', pin: 'E5' },
55
- {name: 'A30', pin: 'E6' },
56
- {name: 'A31', pin: 'E7' },
57
- {name: 'D0', pin: 'F0' },
58
- {name: 'D1', pin: 'F1' },
59
- {name: 'D2', pin: 'F2' },
60
- {name: 'D3', pin: 'F3' },
61
- {name: 'D4', pin: 'F4' },
62
- {name: 'D5', pin: 'F5' },
63
- {name: 'D6', pin: 'F6' },
64
- {name: 'D7', pin: 'F7' },
65
- {name: 'D8', pin: 'G0' },
66
- {name: 'D9', pin: 'G1' },
67
- {name: 'D10', pin: 'G2' },
68
- {name: 'D11', pin: 'G3' },
69
- {name: 'D12', pin: 'G4' },
70
- {name: 'D13', pin: 'G5' },
71
- {name: 'D14', pin: 'G6' },
72
- {name: 'D15', pin: 'G7' },
73
- {name: 'RST', pin: 'H0' },
74
- {name: 'CE', pin: 'H1' },
75
- {name: 'OE', pin: 'H2' },
76
- {name: 'WE', pin: 'H3' },
77
- {name: 'WP', pin: 'H5' },
78
- {name: 'ADV', pin: 'H6' },
79
- {name: 'PARA_CLK', pin: 'H4' },
80
- {name: 'SDA', pin: 'A1' },
81
- {name: 'I2C_CLK', pin: 'A0' },
82
- {name: 'CS', pin: 'A0' },
83
- {name: 'MOSI', pin: 'A2' },
84
- {name: 'MISO', pin: 'A3' },
85
- {name: 'SPI_CLK', pin: 'A1' },
86
- {name: 'PULSE', pin: 'A4' },
87
- {name: 'TX', pin: 'A0' },
88
- {name: 'RX', pin: 'A1' },
89
- {name: 'SWD_CLK', pin: 'A0' },
90
- {name: 'SWD_IO', pin: 'A1' }
91
- ])
92
-
93
- Use.create([
94
- {bus_id: 1, signal_id: 1},
95
- {bus_id: 2, signal_id: 2},
96
- {bus_id: 2, signal_id: 3},
97
- {bus_id: 2, signal_id: 4},
98
- {bus_id: 2, signal_id: 5},
99
- {bus_id: 2, signal_id: 6},
100
- {bus_id: 2, signal_id: 7},
101
- {bus_id: 2, signal_id: 8},
102
- {bus_id: 2, signal_id: 9},
103
- {bus_id: 2, signal_id: 10},
104
- {bus_id: 2, signal_id: 11},
105
- {bus_id: 2, signal_id: 12},
106
- {bus_id: 2, signal_id: 13},
107
- {bus_id: 2, signal_id: 14},
108
- {bus_id: 2, signal_id: 15},
109
- {bus_id: 2, signal_id: 16},
110
- {bus_id: 2, signal_id: 17},
111
- {bus_id: 2, signal_id: 18},
112
- {bus_id: 2, signal_id: 19},
113
- {bus_id: 2, signal_id: 20},
114
- {bus_id: 2, signal_id: 21},
115
- {bus_id: 2, signal_id: 22},
116
- {bus_id: 2, signal_id: 23},
117
- {bus_id: 2, signal_id: 24},
118
- {bus_id: 2, signal_id: 25},
119
- {bus_id: 2, signal_id: 26},
120
- {bus_id: 2, signal_id: 27},
121
- {bus_id: 2, signal_id: 28},
122
- {bus_id: 2, signal_id: 29},
123
- {bus_id: 2, signal_id: 30},
124
- {bus_id: 2, signal_id: 31},
125
- {bus_id: 2, signal_id: 32},
126
- {bus_id: 2, signal_id: 33},
127
- {bus_id: 2, signal_id: 34},
128
- {bus_id: 2, signal_id: 35},
129
- {bus_id: 2, signal_id: 36},
130
- {bus_id: 2, signal_id: 37},
131
- {bus_id: 2, signal_id: 38},
132
- {bus_id: 2, signal_id: 39},
133
- {bus_id: 2, signal_id: 40},
134
- {bus_id: 2, signal_id: 41},
135
- {bus_id: 2, signal_id: 42},
136
- {bus_id: 2, signal_id: 43},
137
- {bus_id: 2, signal_id: 44},
138
- {bus_id: 2, signal_id: 45},
139
- {bus_id: 2, signal_id: 46},
140
- {bus_id: 2, signal_id: 47},
141
- {bus_id: 2, signal_id: 48},
142
- {bus_id: 2, signal_id: 49},
143
- {bus_id: 2, signal_id: 50},
144
- {bus_id: 2, signal_id: 51},
145
- {bus_id: 2, signal_id: 52},
146
- {bus_id: 2, signal_id: 53},
147
- {bus_id: 2, signal_id: 54},
148
- {bus_id: 2, signal_id: 55},
149
- {bus_id: 2, signal_id: 56},
150
- {bus_id: 3, signal_id: 57},
151
- {bus_id: 3, signal_id: 58},
152
- {bus_id: 4, signal_id: 59},
153
- {bus_id: 4, signal_id: 60},
154
- {bus_id: 4, signal_id: 61},
155
- {bus_id: 4, signal_id: 62},
156
- {bus_id: 4, signal_id: 63},
157
- {bus_id: 5, signal_id: 64},
158
- {bus_id: 5, signal_id: 65},
159
- {bus_id: 6, signal_id: 66},
160
- {bus_id: 6, signal_id: 67}
161
- ])
1
+ # This file should contain all the record creation needed to seed the database with its default values.
2
+ # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
3
+ #
4
+ # Examples:
5
+ #
6
+ # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
7
+ # Mayor.create(name: 'Emanuel', city: cities.first)
8
+
9
+ Bus.create([
10
+ { name: 'NA' },
11
+ { name: 'PARALLEL' },
12
+ { name: 'I2C' },
13
+ { name: 'SPI' },
14
+ { name: 'UART' },
15
+ { name: 'SWD' }
16
+ ])
17
+
18
+ ChipType.create([
19
+ { name: 'MEMORY' },
20
+ { name: 'MICROCONTROLER' }
21
+ ])
22
+
23
+ Signall.create([
24
+ {name: 'NA', pin: 'A0' },
25
+ {name: 'A0', pin: 'A0' },
26
+ {name: 'A1', pin: 'A1' },
27
+ {name: 'A2', pin: 'A2' },
28
+ {name: 'A3', pin: 'A3' },
29
+ {name: 'A4', pin: 'A4' },
30
+ {name: 'A5', pin: 'A5' },
31
+ {name: 'A6', pin: 'A6' },
32
+ {name: 'A7', pin: 'A7' },
33
+ {name: 'A8', pin: 'B0' },
34
+ {name: 'A9', pin: 'B1' },
35
+ {name: 'A10', pin: 'B2' },
36
+ {name: 'A11', pin: 'B3' },
37
+ {name: 'A12', pin: 'B4' },
38
+ {name: 'A13', pin: 'B5' },
39
+ {name: 'A14', pin: 'B6' },
40
+ {name: 'A15', pin: 'B7' },
41
+ {name: 'A16', pin: 'C0' },
42
+ {name: 'A17', pin: 'C1' },
43
+ {name: 'A18', pin: 'C2' },
44
+ {name: 'A19', pin: 'C3' },
45
+ {name: 'A20', pin: 'C4' },
46
+ {name: 'A21', pin: 'C5' },
47
+ {name: 'A22', pin: 'C6' },
48
+ {name: 'A23', pin: 'C7' },
49
+ {name: 'A24', pin: 'E0' },
50
+ {name: 'A25', pin: 'E1' },
51
+ {name: 'A26', pin: 'E2' },
52
+ {name: 'A27', pin: 'E3' },
53
+ {name: 'A28', pin: 'E4' },
54
+ {name: 'A29', pin: 'E5' },
55
+ {name: 'A30', pin: 'E6' },
56
+ {name: 'A31', pin: 'E7' },
57
+ {name: 'D0', pin: 'F0' },
58
+ {name: 'D1', pin: 'F1' },
59
+ {name: 'D2', pin: 'F2' },
60
+ {name: 'D3', pin: 'F3' },
61
+ {name: 'D4', pin: 'F4' },
62
+ {name: 'D5', pin: 'F5' },
63
+ {name: 'D6', pin: 'F6' },
64
+ {name: 'D7', pin: 'F7' },
65
+ {name: 'D8', pin: 'G0' },
66
+ {name: 'D9', pin: 'G1' },
67
+ {name: 'D10', pin: 'G2' },
68
+ {name: 'D11', pin: 'G3' },
69
+ {name: 'D12', pin: 'G4' },
70
+ {name: 'D13', pin: 'G5' },
71
+ {name: 'D14', pin: 'G6' },
72
+ {name: 'D15', pin: 'G7' },
73
+ {name: 'RST', pin: 'H0' },
74
+ {name: 'CE', pin: 'H1' },
75
+ {name: 'OE', pin: 'H2' },
76
+ {name: 'WE', pin: 'H3' },
77
+ {name: 'WP', pin: 'H5' },
78
+ {name: 'ADV', pin: 'H6' },
79
+ {name: 'PARA_CLK', pin: 'H4' },
80
+ {name: 'SDA', pin: 'A1' },
81
+ {name: 'I2C_CLK', pin: 'A0' },
82
+ {name: 'CS', pin: 'A0' },
83
+ {name: 'MOSI', pin: 'A2' },
84
+ {name: 'MISO', pin: 'A3' },
85
+ {name: 'SPI_CLK', pin: 'A1' },
86
+ {name: 'PULSE', pin: 'A4' },
87
+ {name: 'TX', pin: 'A0' },
88
+ {name: 'RX', pin: 'A1' },
89
+ {name: 'SWD_CLK', pin: 'A0' },
90
+ {name: 'SWD_IO', pin: 'A1' }
91
+ ])
92
+
93
+ Use.create([
94
+ {bus_id: 1, signal_id: 1},
95
+ {bus_id: 2, signal_id: 2},
96
+ {bus_id: 2, signal_id: 3},
97
+ {bus_id: 2, signal_id: 4},
98
+ {bus_id: 2, signal_id: 5},
99
+ {bus_id: 2, signal_id: 6},
100
+ {bus_id: 2, signal_id: 7},
101
+ {bus_id: 2, signal_id: 8},
102
+ {bus_id: 2, signal_id: 9},
103
+ {bus_id: 2, signal_id: 10},
104
+ {bus_id: 2, signal_id: 11},
105
+ {bus_id: 2, signal_id: 12},
106
+ {bus_id: 2, signal_id: 13},
107
+ {bus_id: 2, signal_id: 14},
108
+ {bus_id: 2, signal_id: 15},
109
+ {bus_id: 2, signal_id: 16},
110
+ {bus_id: 2, signal_id: 17},
111
+ {bus_id: 2, signal_id: 18},
112
+ {bus_id: 2, signal_id: 19},
113
+ {bus_id: 2, signal_id: 20},
114
+ {bus_id: 2, signal_id: 21},
115
+ {bus_id: 2, signal_id: 22},
116
+ {bus_id: 2, signal_id: 23},
117
+ {bus_id: 2, signal_id: 24},
118
+ {bus_id: 2, signal_id: 25},
119
+ {bus_id: 2, signal_id: 26},
120
+ {bus_id: 2, signal_id: 27},
121
+ {bus_id: 2, signal_id: 28},
122
+ {bus_id: 2, signal_id: 29},
123
+ {bus_id: 2, signal_id: 30},
124
+ {bus_id: 2, signal_id: 31},
125
+ {bus_id: 2, signal_id: 32},
126
+ {bus_id: 2, signal_id: 33},
127
+ {bus_id: 2, signal_id: 34},
128
+ {bus_id: 2, signal_id: 35},
129
+ {bus_id: 2, signal_id: 36},
130
+ {bus_id: 2, signal_id: 37},
131
+ {bus_id: 2, signal_id: 38},
132
+ {bus_id: 2, signal_id: 39},
133
+ {bus_id: 2, signal_id: 40},
134
+ {bus_id: 2, signal_id: 41},
135
+ {bus_id: 2, signal_id: 42},
136
+ {bus_id: 2, signal_id: 43},
137
+ {bus_id: 2, signal_id: 44},
138
+ {bus_id: 2, signal_id: 45},
139
+ {bus_id: 2, signal_id: 46},
140
+ {bus_id: 2, signal_id: 47},
141
+ {bus_id: 2, signal_id: 48},
142
+ {bus_id: 2, signal_id: 49},
143
+ {bus_id: 2, signal_id: 50},
144
+ {bus_id: 2, signal_id: 51},
145
+ {bus_id: 2, signal_id: 52},
146
+ {bus_id: 2, signal_id: 53},
147
+ {bus_id: 2, signal_id: 54},
148
+ {bus_id: 2, signal_id: 55},
149
+ {bus_id: 2, signal_id: 56},
150
+ {bus_id: 3, signal_id: 57},
151
+ {bus_id: 3, signal_id: 58},
152
+ {bus_id: 4, signal_id: 59},
153
+ {bus_id: 4, signal_id: 60},
154
+ {bus_id: 4, signal_id: 61},
155
+ {bus_id: 4, signal_id: 62},
156
+ {bus_id: 4, signal_id: 63},
157
+ {bus_id: 5, signal_id: 64},
158
+ {bus_id: 5, signal_id: 65},
159
+ {bus_id: 6, signal_id: 66},
160
+ {bus_id: 6, signal_id: 67}
161
+ ])