Слияние кода завершено, страница обновится автоматически
#!/usr/bin/env python
import math
import time
from ctypes import *
#cdll.LoadLibrary("./bcm2835.so")
sensor = CDLL("./sensor.so")
class MMA8491Q_DATA(Structure):
_fields_ = [("Xout", c_int16),
("Yout", c_int16),
("Zout", c_int16)]
class mma8491q:
def __init__(self):
if (0 == sensor.bcm2835_init()):
print "bcm3835 driver init failed."
return
def init(self):
sensor.MMA8491Q_Init()
def enable(self):
sensor.MMA8491Q_Enable()
def disEnable(self):
sensor.MMA8491Q_DisEnable()
def writeRegister(self, register, value):
sensor.MMA8491Q_WRITE_REGISTER()
def readRegister(self, register):
return sensor.MMA8491Q_READ_REGISTER()
def read(self, data):
sensor.MMA8491_Read(data)
def getAccelerometer(self):
data = MMA8491Q_DATA()
pdata = pointer(data)
self.read(pdata)
return (data.Xout, data.Yout, data.Zout);
def __str__(self):
ret_str = ""
(x, y, z) = self.getAccelerometer()
ret_str += "X: "+str(x) + " "
ret_str += "Y: "+str(y) + " "
ret_str += "Z: "+str(z)
return ret_str
def twosToInt(self, val, len):
# Convert twos compliment to integer
if(val & (1 << len - 1)):
val = val - (1<<len)
return val
mma = mma8491q()
mma.init()
mma.enable()
while 1:
(x, y, z) = mma.getAccelerometer()
print "MMA8491Q:\tX.", x, "mg", "\tY.", y, "mg", "\tZ.", z, "mg"
mma.enable()
time.sleep(0.5)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )