# see http://akizukidenshi.com/download/ds/akizuki/ae-l3gd20.pdf
# see http://www.st.com/web/catalog/sense_power/FM89/SC1288/PF252443
@wire = Wire.new(0x0, Wire::DutyCycle_2)
def read_reg(reg_address)
@wire.beginTransmission(0x6a)
@wire.write(reg_address)
@wire.endTransmission
@wire.requestFrom(0x6a, 1)
return @wire.read
end
def write_reg(reg_address, char_value)
@wire.beginTransmission(0x6a)
@wire.write(reg_address)
@wire.write(char_value)
@wire.endTransmission
end
def axis_value(reg_address)
return ((read_reg(reg_address+1) <<24) | read_reg(reg_address) <<16) >> 16
end
#initialization
p read_reg(0xf)
write_reg(0x20, 0xf)
p read_reg(0x20)
while 1 do
a = []
a << axis_value(0x28) #x
a << axis_value(0x2a) #y
a << axis_value(0x2c) #z
p a
sleep(1)
end