I'm trying to get data through my serial port from a CMUcam. This gizmo tracks a color and returns a packet of data. The packet has nine data points (well, really eight since the first point is just a packet header) separated by spaces as follows: M xxx xxx xxx xxx xxx xxx xxx xxx
Here is the code I am using (python v24): import serial ser=serial.Serial('com1',baudrate=115200, bytesize=8, parity='N', stopbits=1,xonxoff=0, timeout=1) ser.write("PM 1") #This sets the CMUcam to poll mode for i in range(0,100,1): ser.write("TC 016 240 100 240 016 240\r\n") reading = ser.read(40) print reading components = reading.split() print components ser.close Here is an example output: M 37 79 3 4 59 124 86 25 ['59', '123', '87', '25', 'M', '37', '79', '3', '4', '59', '124', '86', '25', 'M '] M 38 77 3 2 59 124 86 25 ['39', '85', '26', 'M', '38', '77', '3', '2', '59', '124', '86', '25', 'M', '38' , '7'] My problem is that I am trying to get each data point of the packet into a separate variable. Ordinarily, this would be easy, as I would just parse the packet, read the array and assign each element to a variable eg. mx = components[1]. However, that doesn't work here because the original packet and the array that I got from using the split() method are different. If I were to try read the array created in the first example output, mx would be 123 instead of 37 like it is in the packet. In the second example, the array is 85 while the packet is 38. As near as I can figure out, pyserial is reading a stream of data and helpfully rearranging it so that it fits the original packet format M xxx xxx xxx xxx xxx xxx xxx xxx. I would have thought the split() method that I used on original packet (ie the "reading" variable) would have just returned an array with nine elements like the packet has. This is not the case, and I am at a loss about how to fix this. I've searched the archive here and elsewhere with no luck. Any help REALLY appreciated! Wolf :) ________________________________________________ Get your own "800" number Voicemail, fax, email, and a lot more http://www.ureach.com/reg/tag -- http://mail.python.org/mailman/listinfo/python-list