From e94457c98c3e3c666cdd1b6e92d9b38623425bfe Mon Sep 17 00:00:00 2001 From: Jake Read <jake.read@cba.mit.edu> Date: Tue, 22 Oct 2019 20:11:55 -0400 Subject: [PATCH] minors on object logging, copy bytearrays to references --- hunks/data/log_objects.js | 15 +- save/systems/vfpt-l1-byte-tester.json | 387 ++++++++++++++++++++++++++ typeset.js | 7 + 3 files changed, 402 insertions(+), 7 deletions(-) create mode 100644 save/systems/vfpt-l1-byte-tester.json diff --git a/hunks/data/log_objects.js b/hunks/data/log_objects.js index 3a349bf..a61b01b 100644 --- a/hunks/data/log_objects.js +++ b/hunks/data/log_objects.js @@ -34,15 +34,16 @@ export default function ObjectLogger() { // typically we check flow control first if (tolog.io()) { // an input is occupied, and the exit path is empty - let val = tolog.get() - if (Array.isArray(val)) { - val = val.join(', ') - } else if (typeof val === "boolean") { - val = val.toString() + let raw = tolog.get() + let stringRep + if (Array.isArray(raw)) { + stringRep = raw.join(', ') + } else if (typeof raw === "boolean") { + stringRep = raw.toString() } - $(this.dom).children('.txt').html(val) + $(this.dom).children('.txt').html(stringRep) if (logToConsole.value === true) { - console.log(this.ind, prefix.value, val) + console.log(this.ind, prefix.value, raw) } } } diff --git a/save/systems/vfpt-l1-byte-tester.json b/save/systems/vfpt-l1-byte-tester.json new file mode 100644 index 0000000..78b4112 --- /dev/null +++ b/save/systems/vfpt-l1-byte-tester.json @@ -0,0 +1,387 @@ +{ + "interpreterName": "cuttlefish", + "interpreterVersion": "v0.1", + "hunks": [ + { + "type": "manager", + "name": "nrol", + "inputs": [ + { + "name": "msgs", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "msgs", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "1", + "inHunkInput": "0" + } + ] + } + ] + }, + { + "type": "view", + "name": "tlview", + "inputs": [ + { + "name": "msgs", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "msgs", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "0", + "inHunkInput": "0" + } + ] + } + ] + }, + { + "type": "link", + "name": "link_2", + "inputs": [ + { + "name": "data", + "type": "byteArray" + }, + { + "name": "mgrMsgs", + "type": "byteArray" + }, + { + "name": "auto_207_2", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "data", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "3", + "inHunkInput": "0" + } + ] + }, + { + "name": "mgrMsgs", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "4", + "inHunkInput": "0" + } + ] + }, + { + "name": "atout", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "6", + "inHunkInput": "0" + } + ] + } + ], + "states": [ + { + "name": "isActive", + "type": "boolean", + "value": "true" + }, + { + "name": "otherLink", + "type": "uint16", + "value": "1" + }, + { + "name": "inputList", + "type": "string", + "value": "mgrMsgs (byteArray), auto_207_2 (byteArray)" + }, + { + "name": "outputList", + "type": "string", + "value": "mgrMsgs (byteArray), atout (byteArray)" + } + ], + "contains": { + "interpreterName": "ponyo", + "interpreterVersion": "v0.1", + "hunks": [ + { + "type": "manager", + "name": "ponyo_one", + "inputs": [ + { + "name": "mgrMsgs_1024", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "mgrMsgs_1024", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "1", + "inHunkInput": "1" + } + ] + } + ] + }, + { + "type": "link", + "name": "link_1", + "inputs": [ + { + "name": "data_1024", + "type": "byteArray" + }, + { + "name": "mgrMsgs_1024", + "type": "byteArray" + }, + { + "name": "atout_512", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "data_1024", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "2", + "inHunkInput": "0" + } + ] + }, + { + "name": "mgrMsgs_1024", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "0", + "inHunkInput": "0" + } + ] + }, + { + "name": "auto_184_2_512", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "3", + "inHunkInput": "0" + } + ] + } + ], + "states": [ + { + "name": "isActive", + "type": "boolean", + "value": "true" + }, + { + "name": "otherLink", + "type": "uint16", + "value": "2" + }, + { + "name": "inputList", + "type": "string", + "value": "mgrMsgs (byteArray), atout (byteArray)" + }, + { + "name": "outputList", + "type": "string", + "value": "mgrMsgs (byteArray), auto_184_2 (byteArray)" + } + ] + }, + { + "type": "comm/COBSerialUSB", + "name": "comm/COBSerialUSB_2", + "inputs": [ + { + "name": "data_1024", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "data_1024", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "1", + "inHunkInput": "0" + } + ] + } + ] + }, + { + "type": "comm/COBSerialRJ45_A", + "name": "comm/COBSerialRJ45_A_4", + "inputs": [ + { + "name": "data_1024", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "data_1024", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "1", + "inHunkInput": "2" + } + ] + } + ] + } + ] + } + }, + { + "type": "pipes/vfptc", + "name": "pipes/vfptc_3", + "inputs": [ + { + "name": "data", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "data", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "2", + "inHunkInput": "0" + } + ] + } + ], + "states": [ + { + "name": "pipe status", + "type": "string", + "value": "open" + }, + { + "name": "websocket port", + "type": "string", + "value": "2042" + }, + { + "name": "usb product id", + "type": "string", + "value": "8022" + }, + { + "name": "pipe reset", + "type": "boolean", + "value": "false" + }, + { + "name": "serialport status", + "type": "string", + "value": "open" + } + ] + }, + { + "type": "view", + "name": "view_4", + "inputs": [ + { + "name": "msgs", + "type": "byteArray" + } + ], + "outputs": [ + { + "name": "msgs", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "2", + "inHunkInput": "1" + } + ] + } + ] + }, + { + "type": "debug/bytearrayoutput", + "name": "debug/bytearrayoutput_5", + "outputs": [ + { + "name": "source", + "type": "byteArray", + "connections": [ + { + "inHunkIndex": "2", + "inHunkInput": "2" + } + ] + } + ], + "states": [ + { + "name": "gobutton", + "type": "boolean", + "value": "false" + }, + { + "name": "prefix", + "type": "string", + "value": "85, 86, 87, 88" + } + ] + }, + { + "type": "data/log_objects", + "name": "data/log_objects_7", + "inputs": [ + { + "name": "tolog", + "type": "reference" + } + ], + "states": [ + { + "name": "prefix", + "type": "string", + "value": "LOG:" + }, + { + "name": "console", + "type": "boolean", + "value": "true" + } + ] + } + ] +} \ No newline at end of file diff --git a/typeset.js b/typeset.js index b06caec..5db3352 100644 --- a/typeset.js +++ b/typeset.js @@ -175,6 +175,13 @@ const TSET = [ ret[item] = arr[item] } return ret + }, + reference: function(arr){ + let ret = new Array(arr.length) + for (let item in arr) { + ret[item] = arr[item] + } + return ret } } }, { // char 36, string 37, -- GitLab