← Back to ratslair.com
aboutsummaryrefslogtreecommitdiff
path: root/DWM.py
blob: 9c423034e051dc9903e8d2bc4d1e145d5742d2ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import serial
from time import sleep
from filterpy.kalman import KalmanFilter

x_mu = -0.02163601775523146
x_std = 0.07074315964054628
y_mu = 0.02645106742760512
y_std = 0.07415316805017082

kf = KalmanFilter(dim_x=2, dim_z=2)

# Initial position
kf.x = np.array([0.],
                [0.])

# State transition matrix
kf.F = np.array([1., 0.],
                [0., 1.])

# Measurement function
kf.H = np.array([1., 0.],
                [0., 1.])

# Covariance matrix
kf.P = np.array([x_std**2, 0.],
                [0., y_std**2])

kf.R = np.array([x_mu, 0.],
                [0., y_mu])

updRate = "10 10" # Active Idle

with serial.Serial('/dev/ttyACM0', 115200, timeout = 1) as s:

    # print(f"Opened serial port {s.name}")

    sleep(1)
    s.write(b"\r")
    sleep(0.1)
    s.write(b"\r")

    s.write(b'nis ')
    sleep(0.1)
    s.write(b'0x1234')
    sleep(0.1)
    s.write(b'\r')
    # print(f"Set PAN ID to 0x1234")

    sleep(1)
    
    s.write(b'nmt')
    sleep(0.1)
    s.write(b'\r')
    # print("Configured node as tag")

    sleep(1)

    s.write(b"\r")
    sleep(0.1)
    s.write(b"\r")

    sleep(2)

    s.write(b"aurs ")
    sleep(0.1)
    s.write(updRate.encode())
    sleep(0.1)
    s.write(b'\r')
    # print("Set update rate to " + updRate)

    sleep(0.1)
    s.write(b"lep")
    sleep(0.1)
    s.write(b"\r")
    sleep(0.1)

    while True:
        str = s.readline().decode('utf-8').strip('\n')

        if "POS," in str:
            str = str.replace("POS,", "")
            print(str)
            with open("position.txt", "w") as f:
                f.write(str + '\n')
                f.close()

print("Shutting down serial communication")