WIP supercollider port
parent
8f230d152e
commit
5cd54c0abf
|
@ -0,0 +1,65 @@
|
||||||
|
// Namestitev
|
||||||
|
|
||||||
|
// SLIP -> OSC
|
||||||
|
Quarks.install("https://git.kompot.si/g1smo/SLIPDecoder.git");
|
||||||
|
|
||||||
|
// Quaternioni
|
||||||
|
Quarks.install("MathLib");
|
||||||
|
|
||||||
|
// Zlistaj serijske naprave
|
||||||
|
SerialPort.listDevices;
|
||||||
|
|
||||||
|
// Zacni
|
||||||
|
(
|
||||||
|
var receiver;
|
||||||
|
|
||||||
|
OSCFunc.trace(false);
|
||||||
|
~wwS = SLIPDecoder.new("/dev/ttyUSB0", 115200, "/ww/0");
|
||||||
|
~wwS.stop;
|
||||||
|
~wwS.start;
|
||||||
|
|
||||||
|
~eX = 0;
|
||||||
|
~eY = 0;
|
||||||
|
~eZ = 0;
|
||||||
|
|
||||||
|
~refQ = Quaternion.new();
|
||||||
|
~zadnjiQ = Quaternion.new(1, 0, 0, 0);
|
||||||
|
|
||||||
|
~gumbi = Array.fill(4, false);
|
||||||
|
|
||||||
|
// Pucamo star listener
|
||||||
|
thisProcess.removeOSCRecvFunc(~sprejemnik);
|
||||||
|
|
||||||
|
~sprejemnik = {|msg|
|
||||||
|
//msg.postln;
|
||||||
|
msg[0].switch(
|
||||||
|
'/ww/0/quaternion', {
|
||||||
|
var novQ, diffQ, euler;
|
||||||
|
//msg[(1..4)].postln;
|
||||||
|
"novQ!".postln;
|
||||||
|
novQ = Quaternion.new(*msg[(1..4)]);
|
||||||
|
//novQ.postln;
|
||||||
|
|
||||||
|
//(novQ * ~zadnjiQ.conjugate).postln;
|
||||||
|
diffQ = novQ / ~zadnjiQ.conjugate;
|
||||||
|
diffQ.postln;
|
||||||
|
~zadnjiQ = novQ;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
thisProcess.addOSCRecvFunc(~sprejemnik);
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
~a = Quaternion(1, 0.5, 0.5, 0.5);
|
||||||
|
~b = Quaternion(1, 0.4, 0.6, 0.5);
|
||||||
|
(~a / Quaternion.new()).postln;
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ustavi
|
||||||
|
~wwS.stop;
|
||||||
|
|
||||||
|
// Zacni
|
||||||
|
~wwS.start;
|
||||||
|
|
||||||
|
thisProcess.listOscRecvFunc();
|
Loading…
Reference in New Issue