# L3GD20
# initialization, depends on the target device.
@spi = SPI.new(SPI::LSBFIRST, SPI::MODE2, SPI::CLOCK_DIV4)
def read(address)
digitalWrite(D10, 0)
#read a byte
result = @spi.transfer(address|0x80)
# ends transmission as master ss high
digitalWrite(D10, 1)
return result
end
def write(address,char_value)
digitalWrite(D10, 0)
#read a byte
result = @spi.transfer(address)
result = @spi.transfer(char_value)
# ends transmission as master ss high
digitalWrite(D10, 1)
return result
end
p read(0xf)
write(0x20, 0xf)
p read(0x20)
while 1 do
v = []
v << ((read(0x29)<<24 | read(0x28)<<16)>>16)
v << ((read(0x2b)<<24 | read(0x2a)<<16)>>16)
v << ((read(0x2d)<<24 | read(0x2c)<<16)>>16)
p v
sleep(1)
end