forked from marierm/mmExtensions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserialSpongeSLIP.pd
96 lines (96 loc) · 2.73 KB
/
serialSpongeSLIP.pd
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
88
89
90
91
92
93
94
95
96
#N canvas 2 47 1362 700 10;
#X obj 145 187 comport;
#X obj 145 358 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 145 162 receive comport;
#X obj 159 303 receive udpsend;
#X obj 296 66 loadbang;
#X msg 145 258 sendtyped /sponge iiiiiiiii \$1 \$2 \$3 \$4 \$5 \$6
\$7 \$8 \$9;
#N canvas 2 47 1362 700 parse-sponge-bytes 1;
#X obj 207 88 unpack f f f f f f f f f f f f f f f f f f;
#X obj 207 114 << 8;
#X obj 236 114 << 8;
#X obj 236 137 +;
#X obj 265 114 << 8;
#X obj 265 137 +;
#X obj 294 114 << 8;
#X obj 294 137 +;
#X obj 324 114 << 8;
#X obj 324 137 +;
#X obj 353 114 << 8;
#X obj 353 137 +;
#X obj 382 114 << 8;
#X obj 382 137 +;
#X obj 412 114 << 8;
#X obj 412 137 +;
#X obj 441 114 << 8;
#X obj 441 137 +;
#X obj 207 234 outlet;
#X obj 207 64 inlet;
#X obj 207 207 pack f f f f f f f f f;
#X text 586 43 SPONGE BYTE PARSING ====================== Each sensor
is 10 bits. 10 bit values are encoded on 3 bytes. First byte is status
byte : 00000xxx where xxx is the input sensor id. The second and third
bytes are data bytes : 1xxxxxxx and 10000xxx The first one contains
the 7 MSB bits. The second one contains the 3 LSB bits. The first 8
status bytes (00000000 through 00000111) are for the 8 analog sensors
of the sponge. The last status byte (00001000) is for the 10 buttons.
Status bytes in a nutchell: 0 | Accelerometer 1x 1 | Accelerometer
1y 10 | Accelerometer 1z 11 | Accelerometer 2x 100 | Accelerometer
2y 101 | Accelerometer 2z 110 | Pressure sensor 1 111 | Pressure sensor
2 1000 | The 10 buttons (1 bit per button);
#X obj 207 137 +;
#X connect 0 0 1 0;
#X connect 0 1 22 1;
#X connect 0 2 2 0;
#X connect 0 3 3 1;
#X connect 0 4 4 0;
#X connect 0 5 5 1;
#X connect 0 6 6 0;
#X connect 0 7 7 1;
#X connect 0 8 8 0;
#X connect 0 9 9 1;
#X connect 0 10 10 0;
#X connect 0 11 11 1;
#X connect 0 12 12 0;
#X connect 0 13 13 1;
#X connect 0 14 14 0;
#X connect 0 15 15 1;
#X connect 0 16 16 0;
#X connect 0 17 17 1;
#X connect 1 0 22 0;
#X connect 2 0 3 0;
#X connect 3 0 20 1;
#X connect 4 0 5 0;
#X connect 5 0 20 2;
#X connect 6 0 7 0;
#X connect 7 0 20 3;
#X connect 8 0 9 0;
#X connect 9 0 20 4;
#X connect 10 0 11 0;
#X connect 11 0 20 5;
#X connect 12 0 13 0;
#X connect 13 0 20 6;
#X connect 14 0 15 0;
#X connect 15 0 20 7;
#X connect 16 0 17 0;
#X connect 17 0 20 8;
#X connect 19 0 0 0;
#X connect 20 0 18 0;
#X connect 22 0 20 0;
#X restore 145 236 pd parse-sponge-bytes;
#X msg 296 92 \; comport devicename /dev/ttyUSB0 \; comport baud 115200
\; udpsend connect 127.0.0.1 57120;
#X obj 145 213 mrpeach/slipdec;
#X obj 145 280 mrpeach/packOSC;
#X obj 145 329 mrpeach/udpsend;
#X connect 0 0 8 0;
#X connect 2 0 0 0;
#X connect 3 0 10 0;
#X connect 4 0 7 0;
#X connect 5 0 9 0;
#X connect 6 0 5 0;
#X connect 8 0 6 0;
#X connect 9 0 10 0;
#X connect 10 0 1 0;