Skip to content

Commit 71af48d

Browse files
author
jack_yang
committed
第一个提交,
madgwick_filter 100%OK mahony_filter 100%ok ekf_filter 疑似坐标系标定错误待 查看
0 parents  commit 71af48d

7 files changed

+716
-0
lines changed

__init__.py

Whitespace-only changes.

com_d.py

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#! /usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
4+
import serial
5+
import time
6+
import numpy as np
7+
def hexShow(argv):
8+
result = ''
9+
hLen = len(argv)
10+
for i in xrange(hLen):
11+
hvol = ord(argv[i])
12+
hhex = '%02x'%hvol
13+
result += hhex+' '
14+
print ':',result
15+
16+
17+
def com_init():
18+
com= serial.Serial('COM3',115200,timeout=0)
19+
return com
20+
21+
22+
def get_num(input):
23+
val=0
24+
if(input> 0x7fff):
25+
val = -((~input)&0x7fff -1) ## 获取负数补码
26+
else:
27+
val=input
28+
return val
29+
30+
def decode_erula(data_src):
31+
off_set=29
32+
raw_data= data_src[off_set:]
33+
data=[]
34+
for x in xrange(0,7):
35+
data.append(ord(raw_data[x]))
36+
if(data[0]==0xd0):
37+
erual_x=(data[1]+data[2]*256)
38+
erual_y=(data[3]+data[4]*256)
39+
erual_z=(data[5]+data[6]*256)
40+
return np.array([get_num(erual_x)/100.0,get_num(erual_y)/100.0,get_num(erual_z)/10.0])
41+
42+
43+
44+
def decode_acc(data_src):
45+
off_set = 8
46+
raw_data= data_src[off_set:]
47+
data=[]
48+
for x in xrange(0,7):
49+
data.append(ord(raw_data[x]))
50+
if(data[0]==0xa0):
51+
data_x=(data[1]+data[2]*256)
52+
data_y=(data[3]+data[4]*256)
53+
data_z=(data[5]+data[6]*256)
54+
else:
55+
data_x=0
56+
data_y=0
57+
data_z=0
58+
return np.array([get_num(data_x),get_num(data_y),get_num(data_z)])
59+
60+
def decode_gyro(data_src):
61+
off_set =15
62+
raw_data= data_src[off_set:]
63+
data=[]
64+
for x in xrange(0,7):
65+
data.append(ord(raw_data[x]))
66+
if(data[0]==0xb0):
67+
data_x=(data[1]+data[2]*256)
68+
data_y=(data[3]+data[4]*256)
69+
data_z=(data[5]+data[6]*256)
70+
else:
71+
data_x=0
72+
data_y=0
73+
data_z=0
74+
return np.array([get_num(data_x),get_num(data_y),get_num(data_z)])
75+
76+
77+
def get_data(com):
78+
while(com.inWaiting()<36):
79+
time.sleep(0.0005)
80+
# time.sleep(0.001)
81+
data = com.readall()
82+
#return
83+
#return hexShow(data)
84+
return np.append(decode_acc(data),[decode_gyro(data),decode_erula(data)])
85+
# print str
86+
if __name__ == '__main__':
87+
comp=com_init()
88+
import time as tm
89+
time_str = tm.strftime('%Y-%m-%d-%H-%M-%S',tm.localtime(tm.time()))
90+
file_name='arhs-'+time_str+'.txt'
91+
# fo = open(file_name, "wb")
92+
np.set_printoptions(precision=6,suppress=True)
93+
while 1:
94+
data= get_data(comp)
95+
stra=str(data)+'\n'
96+
print stra
97+
# get_data(comp)
98+
#fo.write(stra);

0 commit comments

Comments
 (0)