Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:访问一个接一个发送的数据包_Python_Python 2.7 - Fatal编程技术网

Python:访问一个接一个发送的数据包

Python:访问一个接一个发送的数据包,python,python-2.7,Python,Python 2.7,我正在使用MPU-9150。它一次发送一个加速计数据、陀螺仪数据、旋转数据等数据包。为了访问不同的数据包,我使用if语句if self.type==0表示加速计和if self.type==5表示旋转 现在我的问题是如何获得这两个数据包,因为后续的计算要求这两个数据包都可用 self.readings = [0,0,0,0,0,0,0,0,0,0,0,0] #if (self.type == 0) and (self.type == 5): # print "B

我正在使用MPU-9150。它一次发送一个加速计数据、陀螺仪数据、旋转数据等数据包。为了访问不同的数据包,我使用if语句
if self.type==0表示加速计
if self.type==5表示旋转

现在我的问题是如何获得这两个数据包,因为后续的计算要求这两个数据包都可用

    self.readings = [0,0,0,0,0,0,0,0,0,0,0,0]

    #if (self.type == 0) and (self.type == 5):

    #    print "Both data is available"
    counter = 0

    while counter < 1:

        if self.type == 0:
            print "TESTING FOR ACCELERATION"
            self.readings[0] = self.data[0]
            self.readings[1] = self.data[1]
            self.readings[2] = self.data[2]

        elif self.type == 5:
            print "TESTING FOR ROTATION MATRIX"
            self.readings[3] = self.data[0]
            self.readings[4] = self.data[1]
            self.readings[5] = self.data[2]
            self.readings[6] = self.data[3]
            self.readings[7] = self.data[4]
            self.readings[8] = self.data[5]
            self.readings[9] = self.data[6]
            self.readings[10] = self.data[7]
            self.readings[11] = self.data[8]

        else:
            print "None of the Conditions are True!"
            pass

        counter += 1

    aX = self.readings[0]
    aY = self.readings[1]
    aZ = self.readings[2]

    print 'Acc in X = ', aX
    print 'Acc in Y = ', aY
    print 'Acc in Z = ', aZ

    r1 = self.readings[3]
    r2 = self.readings[4]
    r3 = self.readings[5]
    r4 = self.readings[6]
    r5 = self.readings[7]
    r6 = self.readings[8]
    r7 = self.readings[9]
    r8 = self.readings[10]
    r9 = self.readings[11]

    print 'rotation matrix: \n%7.3f %7.3f %7.3f\n%7.3f %7.3f %7.3f\n%7.3f %7.3f %7.3f' % \
          (r1, r2, r3, \
           r4, r5, r6, \
           r7, r8, r9)

edit
按钮用于更改原始问题,而不必添加注释。请注意这里的
self
指的是什么?看起来您试图将代码放入一个不属于该类的对象/类型中。Self在类的构造函数中声明(在我没有发布的代码中),它指的是上述方法所属的类的实例化对象。好的,我知道面向对象在Python中是如何工作的,我的意思是这里所指的
self
是什么,它是哪种类型的,这个类型应该在您的程序中表示什么。看起来它代表一条消息,但您试图在该消息类型的方法中处理多条消息,这在概念上是错误的。