blob: 32aefa96b93ac69ff9aed6de728932c973df5e42 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
require_relative './micronucleus'
if ARGV[0]
if ARGV[0].end_with? '.hex'
puts "parsing input file as intel hex"
test_data = HexProgram.new(open ARGV[0]).binary
else
puts "parsing input file as raw binary"
test_data = open(ARGV[0]).read
end
else
raise "Pass intel hex or raw binary as argument to script"
end
#test_data += ("\xFF" * 64)
puts "Plug in programmable device now: (waiting)"
sleep 0.25 while Micronucleus.all.length == 0
nucleus = Micronucleus.all.first
puts "Attached to device: #{nucleus.inspect}"
#puts "Attempting to write '#{test_data.inspect}' to first thinklet's program memory"
#puts "Bytes: #{test_data.bytes.to_a.inspect}"
sleep(0.25) # some time to think?
puts "Attempting to write supplied program in to device's memory"
nucleus.program = test_data
puts "Great! Starting program..."
nucleus.finished # let thinklet know it can go do other things now if it likes
puts "All done!"
|