Bluetooth functionality
parent
5c9f3fb79d
commit
1ea764f3f2
8
anim.js
8
anim.js
|
@ -8,7 +8,7 @@ console.log("Hello, Sky!");
|
||||||
var odmik_kamere = 80;
|
var odmik_kamere = 80;
|
||||||
|
|
||||||
// Rotacija kamere
|
// Rotacija kamere
|
||||||
var cam_rot_offset = 1;
|
var cam_rot_offset = 0;
|
||||||
|
|
||||||
// Vidni kot
|
// Vidni kot
|
||||||
var FOV = 90;
|
var FOV = 90;
|
||||||
|
@ -30,9 +30,9 @@ var gostota_obj = 1;
|
||||||
|
|
||||||
|
|
||||||
// Parametri animacije
|
// Parametri animacije
|
||||||
var drotacijaX = 0.006;
|
var drotacijaX = 0.000;
|
||||||
var drotacijaY = 0.001;
|
var drotacijaY = 0.000;
|
||||||
var drotacijaZ = 0.003;
|
var drotacijaZ = 0.000;
|
||||||
|
|
||||||
var rotacijaX = 0;
|
var rotacijaX = 0;
|
||||||
var rotacijaY = 0;
|
var rotacijaY = 0;
|
||||||
|
|
53
server.js
53
server.js
|
@ -8,6 +8,7 @@ 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])
|
||||||
|
|
||||||
const include_files = [
|
const include_files = [
|
||||||
'/anim.js',
|
'/anim.js',
|
||||||
|
@ -26,12 +27,35 @@ const server = http.Server(app);
|
||||||
// Odprti serijski OSC link
|
// Odprti serijski OSC link
|
||||||
let scon = null
|
let scon = null
|
||||||
|
|
||||||
function openSerial() {
|
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(bitrate) {
|
||||||
console.log('opening ', tty)
|
console.log('opening ', tty)
|
||||||
|
if (!bitrate) {
|
||||||
|
bitrate = 115200
|
||||||
|
}
|
||||||
|
|
||||||
scon = new osc.SerialPort({
|
scon = new osc.SerialPort({
|
||||||
devicePath: tty,
|
devicePath: tty,
|
||||||
//bitrate: 115200,
|
bitrate: bitrate,
|
||||||
autoOpen: true
|
autoOpen: true,
|
||||||
|
useSLIP: true
|
||||||
})
|
})
|
||||||
scon.open()
|
scon.open()
|
||||||
scon.on('open', e => {
|
scon.on('open', e => {
|
||||||
|
@ -54,7 +78,8 @@ function openSerial() {
|
||||||
})
|
})
|
||||||
|
|
||||||
// Arduino OSC gre v web
|
// Arduino OSC gre v web
|
||||||
scon.on('osc', msg => {
|
scon.on('message', msg => {
|
||||||
|
console.log('osc msg', msg)
|
||||||
// Debug incoming osc
|
// Debug incoming osc
|
||||||
if (msg.address.indexOf('quaternion') > -1) {
|
if (msg.address.indexOf('quaternion') > -1) {
|
||||||
console.log('tty osc', msg.address, ...msg.args.map(val => Math.round(val * 1000) / 1000))
|
console.log('tty osc', msg.address, ...msg.args.map(val => Math.round(val * 1000) / 1000))
|
||||||
|
@ -75,12 +100,25 @@ function openBT() {
|
||||||
})
|
})
|
||||||
|
|
||||||
rl.on('line', (line) => {
|
rl.on('line', (line) => {
|
||||||
console.log('Got line', line)
|
// Convert line to byte array
|
||||||
|
var enc = new TextEncoder(); // always utf-8
|
||||||
|
const arr = enc.encode(line);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const msg = osc.readMessage(arr)
|
||||||
|
console.log(msg)
|
||||||
|
sendAll(msg, null, null, osclients)
|
||||||
|
} catch (e) {
|
||||||
|
console.warn("msg error", e)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//openSerial()
|
if (baudrate) {
|
||||||
openBT()
|
openSerial(baudrate)
|
||||||
|
} else {
|
||||||
|
openBT()
|
||||||
|
}
|
||||||
|
|
||||||
app.get('/', (req, res) => {
|
app.get('/', (req, res) => {
|
||||||
res.sendFile(__dirname + '/index.html');
|
res.sendFile(__dirname + '/index.html');
|
||||||
|
@ -155,3 +193,4 @@ wss.on('connection', function (ws) {
|
||||||
})
|
})
|
||||||
osclients.push(oscWS)
|
osclients.push(oscWS)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue