hardsploit_gui 2.2 → 2.3

Sign up to get free protection for your applications and to get access to all the features.
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