From 98b73e633696ee53539ec8da68f70397129a5fc9 Mon Sep 17 00:00:00 2001
From: Jake Read <jake.read@cba.mit.edu>
Date: Thu, 17 Oct 2019 10:26:47 -0400
Subject: [PATCH] complete dex controller

---
 save/{systems => old-systems}/dex-basics.json |    0
 .../dex-boot-steproute.json                   |    0
 .../dex-machine-00.json                       |    0
 .../dex-machine-01.json                       |    0
 .../dex-machine-02.json                       |    0
 .../dex-machine-03.json                       |    0
 .../dex-test-awaitingflow.json                |    0
 save/systems/dex-testmachine-v01.json         | 1253 +++++++++++++++++
 8 files changed, 1253 insertions(+)
 rename save/{systems => old-systems}/dex-basics.json (100%)
 rename save/{systems => old-systems}/dex-boot-steproute.json (100%)
 rename save/{systems => old-systems}/dex-machine-00.json (100%)
 rename save/{systems => old-systems}/dex-machine-01.json (100%)
 rename save/{systems => old-systems}/dex-machine-02.json (100%)
 rename save/{systems => old-systems}/dex-machine-03.json (100%)
 rename save/{systems => old-systems}/dex-test-awaitingflow.json (100%)
 create mode 100644 save/systems/dex-testmachine-v01.json

diff --git a/save/systems/dex-basics.json b/save/old-systems/dex-basics.json
similarity index 100%
rename from save/systems/dex-basics.json
rename to save/old-systems/dex-basics.json
diff --git a/save/systems/dex-boot-steproute.json b/save/old-systems/dex-boot-steproute.json
similarity index 100%
rename from save/systems/dex-boot-steproute.json
rename to save/old-systems/dex-boot-steproute.json
diff --git a/save/systems/dex-machine-00.json b/save/old-systems/dex-machine-00.json
similarity index 100%
rename from save/systems/dex-machine-00.json
rename to save/old-systems/dex-machine-00.json
diff --git a/save/systems/dex-machine-01.json b/save/old-systems/dex-machine-01.json
similarity index 100%
rename from save/systems/dex-machine-01.json
rename to save/old-systems/dex-machine-01.json
diff --git a/save/systems/dex-machine-02.json b/save/old-systems/dex-machine-02.json
similarity index 100%
rename from save/systems/dex-machine-02.json
rename to save/old-systems/dex-machine-02.json
diff --git a/save/systems/dex-machine-03.json b/save/old-systems/dex-machine-03.json
similarity index 100%
rename from save/systems/dex-machine-03.json
rename to save/old-systems/dex-machine-03.json
diff --git a/save/systems/dex-test-awaitingflow.json b/save/old-systems/dex-test-awaitingflow.json
similarity index 100%
rename from save/systems/dex-test-awaitingflow.json
rename to save/old-systems/dex-test-awaitingflow.json
diff --git a/save/systems/dex-testmachine-v01.json b/save/systems/dex-testmachine-v01.json
new file mode 100644
index 0000000..7dc2096
--- /dev/null
+++ b/save/systems/dex-testmachine-v01.json
@@ -0,0 +1,1253 @@
+{
+  "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": "pipes/vfptc",
+      "name": "pipes/vfptc_2",
+      "inputs": [
+        {
+          "name": "data",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "data",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": "3",
+              "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": "link",
+      "name": "link_3",
+      "inputs": [
+        {
+          "name": "data",
+          "type": "byteArray"
+        },
+        {
+          "name": "mgrMsgs",
+          "type": "byteArray"
+        },
+        {
+          "name": "auto_5_2",
+          "type": "byteArray"
+        },
+        {
+          "name": "auto_150_3",
+          "type": "byteArray"
+        },
+        {
+          "name": "inc",
+          "type": "int32"
+        },
+        {
+          "name": "auto_154_4",
+          "type": "boolean"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "data",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": "2",
+              "inHunkInput": "0"
+            }
+          ]
+        },
+        {
+          "name": "mgrMsgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": "4",
+              "inHunkInput": "0"
+            }
+          ]
+        },
+        {
+          "name": "auto_164_3",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": "5",
+              "inHunkInput": "0"
+            }
+          ]
+        },
+        {
+          "name": "auto_181_4",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": "6",
+              "inHunkInput": "0"
+            }
+          ]
+        },
+        {
+          "name": "auto_73_3",
+          "type": "int32",
+          "connections": [
+            {
+              "inHunkIndex": "7",
+              "inHunkInput": "0"
+            },
+            {
+              "inHunkIndex": "15",
+              "inHunkInput": "0"
+            }
+          ]
+        },
+        {
+          "name": "auto_194_3",
+          "type": "int32",
+          "connections": [
+            {
+              "inHunkIndex": "9",
+              "inHunkInput": "0"
+            },
+            {
+              "inHunkIndex": "14",
+              "inHunkInput": "1"
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "isActive",
+          "type": "boolean",
+          "value": "true"
+        },
+        {
+          "name": "otherLink",
+          "type": "uint16",
+          "value": "1"
+        },
+        {
+          "name": "inputList",
+          "type": "string",
+          "value": "mgrMsgs (byteArray), auto_5_2 (byteArray), auto_150_3 (byteArray), inc (int32), auto_154_4 (boolean)"
+        },
+        {
+          "name": "outputList",
+          "type": "string",
+          "value": "mgrMsgs (byteArray), auto_164_3 (byteArray), auto_181_4 (byteArray), auto_73_3 (int32), auto_194_3 (int32)"
+        }
+      ],
+      "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": "auto_168_3_512",
+                "type": "byteArray"
+              },
+              {
+                "name": "auto_206_4_512",
+                "type": "byteArray"
+              },
+              {
+                "name": "auto_189_6",
+                "type": "int32"
+              },
+              {
+                "name": "auto_226_6",
+                "type": "int32"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "2",
+                    "inHunkInput": "0"
+                  }
+                ]
+              },
+              {
+                "name": "mgrMsgs_1024",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "0",
+                    "inHunkInput": "0"
+                  }
+                ]
+              },
+              {
+                "name": "auto_8_2_512",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "3",
+                    "inHunkInput": "1"
+                  }
+                ]
+              },
+              {
+                "name": "auto_171_3_512",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "6",
+                    "inHunkInput": "1"
+                  }
+                ]
+              },
+              {
+                "name": "inc",
+                "type": "int32",
+                "connections": [
+                  {
+                    "inHunkIndex": "6",
+                    "inHunkInput": "2"
+                  }
+                ]
+              },
+              {
+                "name": "auto_39_5",
+                "type": "boolean",
+                "connections": [
+                  {
+                    "inHunkIndex": "3",
+                    "inHunkInput": "2"
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "isActive",
+                "type": "boolean",
+                "value": "true"
+              },
+              {
+                "name": "otherLink",
+                "type": "uint16",
+                "value": "3"
+              },
+              {
+                "name": "inputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_168_3 (byteArray), auto_206_4 (byteArray), auto_189_6 (int32), auto_226_6 (int32)"
+              },
+              {
+                "name": "outputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_8_2 (byteArray), auto_171_3 (byteArray), inc (int32), auto_39_5 (boolean)"
+              }
+            ]
+          },
+          {
+            "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": "link",
+            "name": "link_3",
+            "inputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray"
+              },
+              {
+                "name": "mgrMsgs_512",
+                "type": "byteArray"
+              },
+              {
+                "name": "auto_214_2",
+                "type": "boolean"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "4",
+                    "inHunkInput": "0"
+                  }
+                ]
+              },
+              {
+                "name": "mgrMsgs_512",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "1",
+                    "inHunkInput": "2"
+                  }
+                ]
+              },
+              {
+                "name": "auto_47_2",
+                "type": "int32",
+                "connections": [
+                  {
+                    "inHunkIndex": "1",
+                    "inHunkInput": "4"
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "isActive",
+                "type": "boolean",
+                "value": "true"
+              },
+              {
+                "name": "otherLink",
+                "type": "uint16",
+                "value": "1"
+              },
+              {
+                "name": "inputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_214_2 (boolean)"
+              },
+              {
+                "name": "outputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_47_2 (int32)"
+              }
+            ],
+            "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": "auto_62_3",
+                      "type": "int32"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": "2",
+                          "inHunkInput": "0"
+                        }
+                      ]
+                    },
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": "0",
+                          "inHunkInput": "0"
+                        }
+                      ]
+                    },
+                    {
+                      "name": "auto_246_4",
+                      "type": "boolean",
+                      "connections": [
+                        {
+                          "inHunkIndex": "3",
+                          "inHunkInput": "0"
+                        }
+                      ]
+                    }
+                  ],
+                  "states": [
+                    {
+                      "name": "isActive",
+                      "type": "boolean",
+                      "value": "true"
+                    },
+                    {
+                      "name": "otherLink",
+                      "type": "uint16",
+                      "value": "3"
+                    },
+                    {
+                      "name": "inputList",
+                      "type": "string",
+                      "value": "mgrMsgs (byteArray), auto_62_3 (int32)"
+                    },
+                    {
+                      "name": "outputList",
+                      "type": "string",
+                      "value": "mgrMsgs (byteArray), auto_246_4 (boolean)"
+                    }
+                  ]
+                },
+                {
+                  "type": "comm/COBSerialRJ45_A",
+                  "name": "comm/COBSerialRJ45_A_2",
+                  "inputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": "1",
+                          "inHunkInput": "0"
+                        }
+                      ]
+                    }
+                  ]
+                },
+                {
+                  "type": "loadcell",
+                  "name": "loadcell_3",
+                  "inputs": [
+                    {
+                      "name": "read",
+                      "type": "boolean"
+                    },
+                    {
+                      "name": "tare",
+                      "type": "boolean"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "24bit",
+                      "type": "int32",
+                      "connections": [
+                        {
+                          "inHunkIndex": "1",
+                          "inHunkInput": "2"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ]
+            }
+          },
+          {
+            "type": "comm/COBSerialRJ45_E",
+            "name": "comm/COBSerialRJ45_E_4",
+            "inputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "3",
+                    "inHunkInput": "0"
+                  }
+                ]
+              }
+            ]
+          },
+          {
+            "type": "comm/COBSerialRJ45_A",
+            "name": "comm/COBSerialRJ45_A_5",
+            "inputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "6",
+                    "inHunkInput": "0"
+                  }
+                ]
+              }
+            ]
+          },
+          {
+            "type": "link",
+            "name": "link_6",
+            "inputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray"
+              },
+              {
+                "name": "mgrMsgs_512",
+                "type": "byteArray"
+              },
+              {
+                "name": "inc",
+                "type": "int32"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data_1024",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "5",
+                    "inHunkInput": "0"
+                  }
+                ]
+              },
+              {
+                "name": "mgrMsgs_512",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": "1",
+                    "inHunkInput": "3"
+                  }
+                ]
+              },
+              {
+                "name": "auto_171_2",
+                "type": "int32",
+                "connections": [
+                  {
+                    "inHunkIndex": "1",
+                    "inHunkInput": "5"
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "isActive",
+                "type": "boolean",
+                "value": "true"
+              },
+              {
+                "name": "otherLink",
+                "type": "uint16",
+                "value": "1"
+              },
+              {
+                "name": "inputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), inc (int32)"
+              },
+              {
+                "name": "outputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_171_2 (int32)"
+              }
+            ],
+            "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": "auto_4_3",
+                      "type": "int32"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": "2",
+                          "inHunkInput": "0"
+                        }
+                      ]
+                    },
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": "0",
+                          "inHunkInput": "0"
+                        }
+                      ]
+                    },
+                    {
+                      "name": "inc",
+                      "type": "int32",
+                      "connections": [
+                        {
+                          "inHunkIndex": "3",
+                          "inHunkInput": "0"
+                        }
+                      ]
+                    }
+                  ],
+                  "states": [
+                    {
+                      "name": "isActive",
+                      "type": "boolean",
+                      "value": "true"
+                    },
+                    {
+                      "name": "otherLink",
+                      "type": "uint16",
+                      "value": "6"
+                    },
+                    {
+                      "name": "inputList",
+                      "type": "string",
+                      "value": "mgrMsgs (byteArray), auto_4_3 (int32)"
+                    },
+                    {
+                      "name": "outputList",
+                      "type": "string",
+                      "value": "mgrMsgs (byteArray), inc (int32)"
+                    }
+                  ]
+                },
+                {
+                  "type": "comm/COBSerialRJ45_A",
+                  "name": "comm/COBSerialRJ45_A_2",
+                  "inputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": "1",
+                          "inHunkInput": "0"
+                        }
+                      ]
+                    }
+                  ]
+                },
+                {
+                  "type": "stepper",
+                  "name": "step_driver",
+                  "inputs": [
+                    {
+                      "name": "increment",
+                      "type": "int32"
+                    },
+                    {
+                      "name": "enable",
+                      "type": "boolean"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "increment",
+                      "type": "int32",
+                      "connections": [
+                        {
+                          "inHunkIndex": "1",
+                          "inHunkInput": "2"
+                        }
+                      ]
+                    },
+                    {
+                      "name": "stallGuard",
+                      "type": "uint32"
+                    }
+                  ],
+                  "states": [
+                    {
+                      "name": "current (6-24)",
+                      "type": "uint16",
+                      "value": "16"
+                    },
+                    {
+                      "name": "enable",
+                      "type": "boolean",
+                      "value": "false"
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        ]
+      }
+    },
+    {
+      "type": "view",
+      "name": "view_4",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": "3",
+              "inHunkInput": "1"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "type": "view",
+      "name": "view_5",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": "3",
+              "inHunkInput": "2"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "type": "view",
+      "name": "view_6",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": "3",
+              "inHunkInput": "3"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "type": "calibrations/lsq",
+      "name": "calibrations/lsq_8",
+      "inputs": [
+        {
+          "name": "reading",
+          "type": "number"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "prediction",
+          "type": "number",
+          "connections": [
+            {
+              "inHunkIndex": "8",
+              "inHunkInput": "0"
+            },
+            {
+              "inHunkIndex": "11",
+              "inHunkInput": "2"
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "csv: readings: x",
+          "type": "string",
+          "value": "25, 14854, 29649, 44453, 74061, 103695"
+        },
+        {
+          "name": "csv: readings: y",
+          "type": "string",
+          "value": "0, -100, -200, -300, -500, -700"
+        },
+        {
+          "name": "calibration result",
+          "type": "string",
+          "value": "-6.75e-3 x + 2.18e-1"
+        }
+      ]
+    },
+    {
+      "type": "data/log_numbers",
+      "name": "data/log_numbers_9",
+      "inputs": [
+        {
+          "name": "tolog",
+          "type": "number"
+        }
+      ],
+      "states": [
+        {
+          "name": "console",
+          "type": "boolean",
+          "value": "true"
+        }
+      ]
+    },
+    {
+      "type": "data/log_numbers",
+      "name": "data/log_numbers_10",
+      "inputs": [
+        {
+          "name": "tolog",
+          "type": "number"
+        }
+      ],
+      "states": [
+        {
+          "name": "console",
+          "type": "boolean",
+          "value": "false"
+        }
+      ]
+    },
+    {
+      "type": "math/discreteconverter",
+      "name": "math/discreteconverter_12",
+      "inputs": [
+        {
+          "name": "integer",
+          "type": "number"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "value",
+          "type": "number",
+          "connections": [
+            {
+              "inHunkIndex": "11",
+              "inHunkInput": "1"
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "units per increment",
+          "type": "number",
+          "value": "4.23387"
+        }
+      ]
+    },
+    {
+      "type": "data/accumulator",
+      "name": "data/accumulator_13",
+      "inputs": [
+        {
+          "name": "reset",
+          "type": "boolean"
+        },
+        {
+          "name": "x",
+          "type": "number"
+        },
+        {
+          "name": "y",
+          "type": "number"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "accumulated",
+          "type": "reference",
+          "connections": [
+            {
+              "inHunkIndex": "12",
+              "inHunkInput": "0"
+            },
+            {
+              "inHunkIndex": "16",
+              "inHunkInput": "0"
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "reset",
+          "type": "boolean",
+          "value": "false"
+        }
+      ]
+    },
+    {
+      "type": "data/linechart",
+      "name": "data/linechart_14",
+      "inputs": [
+        {
+          "name": "array",
+          "type": "reference"
+        }
+      ],
+      "states": [
+        {
+          "name": "displayCount",
+          "type": "number",
+          "value": "50"
+        }
+      ]
+    },
+    {
+      "type": "interface/button",
+      "name": "interface/button_15",
+      "outputs": [
+        {
+          "name": "onclick",
+          "type": "boolean",
+          "connections": [
+            {
+              "inHunkIndex": "11",
+              "inHunkInput": "0"
+            },
+            {
+              "inHunkIndex": "14",
+              "inHunkInput": "0"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "type": "math/plusequals",
+      "name": "math/plusequals_16",
+      "inputs": [
+        {
+          "name": "reset",
+          "type": "boolean"
+        },
+        {
+          "name": "plus",
+          "type": "number"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "equals",
+          "type": "number",
+          "connections": [
+            {
+              "inHunkIndex": "10",
+              "inHunkInput": "0"
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "reset",
+          "type": "boolean",
+          "value": "false"
+        }
+      ]
+    },
+    {
+      "type": "flowcontrol/syncawait",
+      "name": "flowcontrol/syncawait_16",
+      "inputs": [
+        {
+          "name": "await",
+          "type": "number"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "boolean",
+          "type": "boolean",
+          "connections": [
+            {
+              "inHunkIndex": "3",
+              "inHunkInput": "5"
+            }
+          ]
+        },
+        {
+          "name": "number",
+          "type": "number",
+          "connections": [
+            {
+              "inHunkIndex": "3",
+              "inHunkInput": "4"
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "run",
+          "type": "boolean",
+          "value": "false"
+        },
+        {
+          "name": "status",
+          "type": "string",
+          "value": "type, value sets OK"
+        },
+        {
+          "name": "await",
+          "type": "string",
+          "value": "number"
+        },
+        {
+          "name": "types",
+          "type": "string",
+          "value": "boolean, number"
+        },
+        {
+          "name": "values",
+          "type": "string",
+          "value": "true, 4"
+        }
+      ]
+    },
+    {
+      "type": "data/save",
+      "name": "data/save_16",
+      "inputs": [
+        {
+          "name": "object",
+          "type": "reference"
+        },
+        {
+          "name": "trigger",
+          "type": "boolean"
+        }
+      ],
+      "states": [
+        {
+          "name": "name",
+          "type": "string",
+          "value": "dex-test"
+        },
+        {
+          "name": "save",
+          "type": "boolean",
+          "value": "false"
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
-- 
GitLab