Method: HardsploitAPI_SPI#spi_Interact
- Defined in:
- lib/hardsploit-api/HardsploitAPI/Modules/SPI/HardsploitAPI_SPI.rb
#spi_Interact(payload:) ⇒ Object
SPI interact
payload-
Byte array want to send
-
Return SPI data received
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/hardsploit-api/HardsploitAPI/Modules/SPI/HardsploitAPI_SPI.rb', line 79 def spi_Interact(payload:) if ( payload.size > 4000 ) then raise SPIWrongPayloadSize end packet = Array.new packet.push 0 #low byte of lenght of trame refresh automaticly before send by usb packet.push 0 #high byte of lenght of trame refresh automaticly before send by usb packet.push HardsploitAPI.lowByte(word:HardsploitAPI::USB_COMMAND::FPGA_COMMAND) packet.push HardsploitAPI.highByte(word:HardsploitAPI::USB_COMMAND::FPGA_COMMAND) packet.push 0x50 #Command RAW COMMUNICATION TO FPGA FIFO packet.push (( @pulse & 1 ) << 2 ) || ( @mode & 3 ) #Add mode and the value of pin pulse packet.push @speed #Add speed packet.concat payload #Add data #puts "Payload : #{payload}" #remove header (4 bytes 2 for size 2 for type of command) return HardsploitAPI.instance.sendAndReceiveDATA(packet, 1000).drop(4) end |