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
@@ -0,0 +1,4 @@
1
+ ActiveRecord::Base.establish_connection(
2
+ :adapter => 'sqlite3',
3
+ :database => File.expand_path(File.dirname(__FILE__)) + '/development.sqlite3'
4
+ )
Binary file
@@ -0,0 +1,13 @@
1
+ class CreateManufacturers < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "manufacturers", force: :cascade do |t|
4
+ t.string "name", limit: 25, null: false
5
+ end
6
+
7
+ add_index "manufacturers", ["name"], name: "index_manufacturers_on_name", unique: true, using: :btree
8
+ end
9
+
10
+ def self.down
11
+ drop_table :manufacturers
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class CreatePackages < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "packages", force: :cascade do |t|
4
+ t.string "name", limit: 25, null: false
5
+ t.integer "pin_number", null: false
6
+ t.integer "shape", null: false
7
+ end
8
+ end
9
+
10
+ def self.down
11
+ drop_table :packages
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ class CreateChipTypes < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "chip_types", force: :cascade do |t|
4
+ t.string "name", limit: 25, null: false
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :chip_types
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class CreateBuses < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "buses", force: :cascade do |t|
4
+ t.string "name", limit: 25, null: false
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :buses
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ class CreateSignals < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "signals", force: :cascade do |t|
4
+ t.string "name", null: false
5
+ t.string "pin", null: false
6
+ end
7
+
8
+ add_index "signals", ["name"], name: "index_signals_on_name", unique: true, using: :btree
9
+ end
10
+
11
+ def self.down
12
+ drop_table :signals
13
+ end
14
+ end
@@ -0,0 +1,25 @@
1
+ class CreateChips < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "chips", force: :cascade do |t|
4
+ t.string "reference", limit: 25, null: false
5
+ t.text "description"
6
+ t.integer "voltage", null: false
7
+ t.integer "manufacturer_id", limit: 4, null: false
8
+ t.integer "package_id", limit: 4, null: false
9
+ t.integer "chip_type_id", limit: 4, null: false
10
+ end
11
+
12
+ add_index "chips", ["reference"], name: "index_chips_on_reference", unique: true, using: :btree
13
+ add_index "chips", ["manufacturer_id"], name: "index_chips_on_manufacturer_id", using: :btree
14
+ add_index "chips", ["package_id"], name: "index_chips_on_package_id", using: :btree
15
+ add_index "chips", ["chip_type_id"], name: "index_chips_on_chip_type_id", using: :btree
16
+
17
+ add_foreign_key "chips", "manufacturers"
18
+ add_foreign_key "chips", "packages"
19
+ add_foreign_key "chips", "chip_types"
20
+ end
21
+
22
+ def self.down
23
+ drop_table :chips
24
+ end
25
+ end
@@ -0,0 +1,21 @@
1
+ class CreateCommands < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "commands", force: :cascade do |t|
4
+ t.string "name", limit: 25, null: false
5
+ t.text "description"
6
+ t.integer "bus_id", limit: 4, null: false
7
+ t.integer "chip_id", limit: 4, null: false
8
+ end
9
+
10
+ add_index "commands", ["bus_id"], name: "index_commands_on_bus_id", using: :btree
11
+ add_index "commands", ["chip_id"], name: "index_commands_on_chip_id", using: :btree
12
+
13
+ add_foreign_key "commands", "buses"
14
+ add_foreign_key "commands", "chips"
15
+
16
+ end
17
+
18
+ def self.down
19
+ drop_table :commands
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ class CreateBytes < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "bytes", force: :cascade do |t|
4
+ t.integer "index", null: false
5
+ t.text "value", null: false
6
+ t.text "description"
7
+ t.integer "iteration"
8
+ t.integer "command_id", limit: 4, null: false
9
+ end
10
+
11
+ add_index "bytes", ["command_id"], name: "index_bytes_on_command_id", using: :btree
12
+
13
+ add_foreign_key "bytes", "commands"
14
+ end
15
+
16
+ def self.down
17
+ drop_table :bytes
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ class CreateI2cSettings < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "i2c_settings", force: :cascade do |t|
4
+ t.text "address_w"
5
+ t.text "address_r"
6
+ t.integer "frequency"
7
+ t.integer "write_page_latency"
8
+ t.integer "page_size"
9
+ t.integer "total_size"
10
+ t.integer "chip_id", limit: 4, null: false
11
+ end
12
+
13
+ add_index "i2c_settings", ["chip_id"], name: "index_i2c_settings_on_chip_id", unique: true, using: :btree
14
+
15
+ add_foreign_key "i2c_settings", "chips"
16
+ end
17
+
18
+ def self.down
19
+ drop_table :i2c_settings
20
+ end
21
+ end
@@ -0,0 +1,26 @@
1
+ class CreateSpiSettings < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "spi_settings", force: :cascade do |t|
4
+ t.integer "mode"
5
+ t.text "frequency"
6
+ t.integer "write_page_latency"
7
+ t.integer "command_read"
8
+ t.integer "command_write"
9
+ t.integer "command_write_enable"
10
+ t.integer "command_erase"
11
+ t.integer "erase_time"
12
+ t.integer "page_size"
13
+ t.integer "total_size"
14
+ t.integer "is_flash"
15
+ t.integer "chip_id", limit: 4, null: false
16
+ end
17
+
18
+ add_index "spi_settings", ["chip_id"], name: "index_spi_settings_on_chip_id", unique: true, using: :btree
19
+
20
+ add_foreign_key "spi_settings", "chips"
21
+ end
22
+
23
+ def self.down
24
+ drop_table :spi_settings
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ class CreateParallelSettings < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "parallel_settings", force: :cascade do |t|
4
+ t.integer "total_size"
5
+ t.text "total_size_unit"
6
+ t.integer "page_size"
7
+ t.integer "word_size"
8
+ t.integer "read_latency"
9
+ t.integer "write_latency"
10
+ t.integer "chip_id", limit: 4, null: false
11
+ end
12
+
13
+ add_index "parallel_settings", ["chip_id"], name: "index_parallel_settings_on_chip_id", unique: true, using: :btree
14
+
15
+ add_foreign_key "parallel_settings", "chips"
16
+ end
17
+
18
+ def self.down
19
+ drop_table :parallel_settings
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ class CreatePins < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "pins", force: :cascade do |t|
4
+ t.integer "number", null: false
5
+ t.integer "chip_id", limit: 4, null: false
6
+ t.integer "signal_id", limit: 4, default: 1, null: false
7
+ end
8
+
9
+ add_index "pins", ["chip_id"], name: "index_pins_on_chip_id", using: :btree
10
+ add_index "pins", ["signal_id"], name: "index_pins_on_signal_id", using: :btree
11
+
12
+ add_foreign_key "pins", "chips"
13
+ add_foreign_key "pins", "signals"
14
+ end
15
+
16
+ def self.down
17
+ drop_table :pins
18
+ end
19
+ end
@@ -0,0 +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
@@ -0,0 +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
@@ -0,0 +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
data/lib/db/schema.rb ADDED
@@ -0,0 +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