Nekaj popravkov, refaktoriranje, cleanup
parent
bf2a878cd5
commit
e9716112b3
20
anim.js
20
anim.js
|
@ -132,9 +132,9 @@ function modulirajParametre() {
|
||||||
drotacijaZ += qWWd.z / 10;
|
drotacijaZ += qWWd.z / 10;
|
||||||
}
|
}
|
||||||
if (keysPressed[0]) {
|
if (keysPressed[0]) {
|
||||||
width *= 1 + (dqY / 3);
|
//width *= 1 + dqX;
|
||||||
barva_mod += (dqX / 30);
|
barva_mod += (dqZ / 100);
|
||||||
obj_limit *= 1 + (dqZ / 3);
|
obj_limit *= 1 + (dqY / 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -364,14 +364,18 @@ var oscCallbacks = {
|
||||||
'/quaternion/': [
|
'/quaternion/': [
|
||||||
function (args) {
|
function (args) {
|
||||||
// Popravimo osi (w x y z po defaultu HMM)
|
// Popravimo osi (w x y z po defaultu HMM)
|
||||||
qWWo = qWW.clone();
|
|
||||||
[qWW.w, qWW.z, qWW.x, qWW.y] = args.map(getVal);
|
[qWW.w, qWW.z, qWW.x, qWW.y] = args.map(getVal);
|
||||||
// Dve sta obratno :)
|
// Dve sta obratno (polozaj senzorja) :)
|
||||||
qWW.x *= -1;
|
qWW.x *= -1;
|
||||||
qWW.z *= -1;
|
qWW.z *= -1;
|
||||||
qWWd = qWW.clone();
|
}
|
||||||
qWWd.conjugate();
|
],
|
||||||
qWWd.multiply(qWWo);
|
'/quaternionDiff/': [
|
||||||
|
function (args) {
|
||||||
|
[qWWd.w, qWWd.z, qWWd.x, qWWd.y] = args.map(getVal);
|
||||||
|
// Dve sta obratno (polozaj senzorja) :)
|
||||||
|
qWWd.x *= -1;
|
||||||
|
qWWd.z *= -1;
|
||||||
|
|
||||||
var euler = eulerFromQuaternion([qWWd.w, qWWd.z, qWWd.x, qWWd.y], 'XYZ');
|
var euler = eulerFromQuaternion([qWWd.w, qWWd.z, qWWd.x, qWWd.y], 'XYZ');
|
||||||
dqX = euler[0];
|
dqX = euler[0];
|
||||||
|
|
41
server.js
41
server.js
|
@ -8,7 +8,11 @@ const fs = require('fs')
|
||||||
const port = 6676
|
const port = 6676
|
||||||
// Vzemi iz argumenta
|
// Vzemi iz argumenta
|
||||||
const tty = process.argv[2]
|
const tty = process.argv[2]
|
||||||
const baudrate = parseInt(process.argv[3]) || 115200
|
|
||||||
|
let baudrate = parseInt(process.argv[3])
|
||||||
|
if (!baudrate) {
|
||||||
|
baudrate = 115200
|
||||||
|
}
|
||||||
|
|
||||||
const include_files = [
|
const include_files = [
|
||||||
'/anim.js',
|
'/anim.js',
|
||||||
|
@ -24,29 +28,13 @@ const include_files = [
|
||||||
const app = express();
|
const app = express();
|
||||||
const server = http.Server(app);
|
const server = http.Server(app);
|
||||||
|
|
||||||
|
const DEBUG = true
|
||||||
|
|
||||||
// Odprti serijski OSC link
|
// Odprti serijski OSC link
|
||||||
let scon = null
|
let scon = null
|
||||||
|
|
||||||
function getArgs(parts) {
|
|
||||||
console.log('split to parts', parts)
|
|
||||||
switch (parts[1]) {
|
|
||||||
case 'quaternion':
|
|
||||||
return parts.splice(2).map((num) => ({
|
|
||||||
type: 'f',
|
|
||||||
value: parseFloat(num)
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Default
|
|
||||||
return []
|
|
||||||
}
|
|
||||||
|
|
||||||
function getMsg(line) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
function openSerial() {
|
function openSerial() {
|
||||||
console.log('opening ', tty)
|
console.log('opening ', tty, baudrate)
|
||||||
|
|
||||||
scon = new osc.SerialPort({
|
scon = new osc.SerialPort({
|
||||||
devicePath: tty,
|
devicePath: tty,
|
||||||
|
@ -55,15 +43,14 @@ function openSerial() {
|
||||||
useSLIP: true
|
useSLIP: true
|
||||||
})
|
})
|
||||||
scon.open()
|
scon.open()
|
||||||
|
|
||||||
scon.on('open', e => {
|
scon.on('open', e => {
|
||||||
console.log('serial connection opened')
|
console.log('serial connection opened')
|
||||||
//console.log(scon)
|
//console.log(scon)
|
||||||
})
|
})
|
||||||
scon.on('error', e => {
|
scon.on('error', e => {
|
||||||
console.error('tty error', e)
|
console.error('tty error', e)
|
||||||
if (e.match(/cannot open/)) {
|
//scon.close()
|
||||||
scon.close()
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
scon.on('close', e => {
|
scon.on('close', e => {
|
||||||
console.warn('serial connection closed, restarting in 1 second')
|
console.warn('serial connection closed, restarting in 1 second')
|
||||||
|
@ -81,6 +68,7 @@ function openSerial() {
|
||||||
|
|
||||||
if (scon._closeCode) {
|
if (scon._closeCode) {
|
||||||
scon = null
|
scon = null
|
||||||
|
console.log('restarting serial connection')
|
||||||
setTimeout(openSerial, 1000)
|
setTimeout(openSerial, 1000)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -128,8 +116,6 @@ sss.on('listening', () => {
|
||||||
sss.bind(6696, '224.0.1.9');
|
sss.bind(6696, '224.0.1.9');
|
||||||
|
|
||||||
const scudp = new osc.UDPPort({
|
const scudp = new osc.UDPPort({
|
||||||
remotePort: 6698,
|
|
||||||
metadata: true,
|
|
||||||
socket: sss
|
socket: sss
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -146,8 +132,13 @@ scudp.on('message', (msg) => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
scudp.on('error', (e) => {
|
||||||
|
console.log('UDP OSC error!', e)
|
||||||
|
})
|
||||||
scudp.open()
|
scudp.open()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const sendAll = (msg, info, oscWS, osclients) => {
|
const sendAll = (msg, info, oscWS, osclients) => {
|
||||||
osclients.forEach( client => {
|
osclients.forEach( client => {
|
||||||
if (client && oscWS != client) {
|
if (client && oscWS != client) {
|
||||||
|
|
Loading…
Reference in New Issue