diff --git a/lights.js b/lights.js index 871fbf4..50bf9a2 100644 --- a/lights.js +++ b/lights.js @@ -33,8 +33,8 @@ ws281x.configure({ }); export function set_pattern(pat) { + pattern = pat log.debug("pattern set"); - pattern = pat; } export const functions = { diff --git a/parse.js b/parse.js new file mode 100644 index 0000000..53d3516 --- /dev/null +++ b/parse.js @@ -0,0 +1,5 @@ +export default function parse(data) { + return { + errors: ["not yet implemented"] + } +} \ No newline at end of file diff --git a/server.js b/server.js index 22d6673..c14c13e 100644 --- a/server.js +++ b/server.js @@ -1,7 +1,7 @@ import * as net from 'net'; import * as fs from 'fs'; -import { functions, reqs } from './lights.js' import Logger, { levels } from './logger.js'; +import parse from './parse.js' const cfg = JSON.parse(fs.readFileSync('./config.json')); const log = new Logger("server", cfg.log_level ? levels[cfg.log_level] : levels.INFO); @@ -16,18 +16,27 @@ export function recv(callback, errorCallback) { server.on('connection', (con) => { console.log('connection recieved: ' + con.remoteAddress + ":" + con.remotePort); - let data = []; - for (let key of Object.keys(functions)) { - data.push({ - n: key.toUpperCase(), - a: reqs[key.toLowerCase()] != undefined ? reqs[key.toLowerCase()] : true - }); - } - let functions_str = JSON.stringify(data); - con.write(functions_str); - log.debug(`sending ${functions_str}`); + // let data = []; + // for (let key of Object.keys(functions)) { + // data.push({ + // n: key.toUpperCase(), + // a: reqs[key.toLowerCase()] != undefined ? reqs[key.toLowerCase()] : true + // }); + // } + // let functions_str = JSON.stringify(data); + // con.write(functions_str); + // log.debug(`sending ${functions_str}`); con.on('data', (data) => { - callback(data); + let parsed_data = parse(data); + + if (parsed_data.errors) { + con.write(JSON.stringify(parsed_data.errors)); + errorCallback(parsed_data); + } + else { + con.write("success"); + callback(data); + } }); con.on('close', () => { console.log('recieved close for ' +