pnp_feeder_v1

Last Modified: 2024-03-17 07:09:54

Created On: 2023-12-10 15:58:46

Owned By: evezor

Created By: anfro

Contributors: anfro, evezor

Public: True


Executable


        
# --------------------------------------
#   pnp_feeder_v1
#   65f697424ad6244acanv
__canvas_id__ = '65f697424ad6244a'
# __version__ = TODO: add this
# --------------------------------------
def code_block(event, feeder_0, feeder_1, feeder_2, feeder_3, feeder_4, feeder_5, feeder_6, feeder_7):
  feeders = [feeder_0, feeder_1, feeder_2, feeder_3, feeder_4, feeder_5, feeder_6, feeder_7]
  
  feeders[event](True)
  
from floe import FP

from NeoPixel import NeoPixel
from Variable import Variable
from DigitalOutput import DigitalOutput
from SimpleFeeder import SimpleFeeder
from DigitalInput import DigitalInput
from CodeBlock import CodeBlock
from HbtLed import HbtLed
from ESP32Core import ESP32Core
from CANBus import CANBus
def setup(iris):
  CANBus(name="CANBus", pid=6545, rx=2, tx=4, adr=30, bus=0, baud=250000, rx_queue=25, terminal_debug=False, debug=False, active=True, bcast=False, iris=iris)
  CodeBlock(name="code_block", pid=51573, code=code_block, kwargs=[FP(55160), FP(40932), FP(58927), FP(34500), FP(37926), FP(22517), FP(53053), FP(18823)], datatype="None", iris=iris)
  DigitalInput(name="function_button", pid=2276, pin=36, pullup='None', debounce=200, invert=True, initial_value=False, datatype="bool", debug=False, active=True, bcast=True, iris=iris)
  DigitalOutput(name="can_slp", pid=25716, pin=13, invert=False, initial_value=False, datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  ESP32Core(name="ESP32Core", pid=6074, wifi=False, hbt_led=FP(55894), neo_status=FP(47403), function_button=FP(2276), bus=FP(6545), zorg=None, webserver=None, debug=False, active=True, bcast=False, iris=iris)
  HbtLed(name="hbt_led", pid=55894, pin=15, delay=1000, datatype="int", debug=False, active=True, bcast=False, iris=iris)
  NeoPixel(name="neo_status", pid=47403, pin=12, number_of_pixels=1, animation=0, delay=200, animations=None, datatype="rgb", debug=False, active=True, bcast=False, iris=iris)
  SimpleFeeder(name="feeder_0", pid=55160, button_pin=34, button_pullup='None', servo_pin=25, freq=100, duty_retract=FP(23959), duty_feed=FP(21086), len_part=FP(33279), datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  SimpleFeeder(name="feeder_1", pid=40932, button_pin=26, button_pullup='pullup', servo_pin=27, freq=100, duty_retract=FP(23959), duty_feed=FP(21086), len_part=FP(57676), datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  SimpleFeeder(name="feeder_2", pid=58927, button_pin=14, button_pullup='pullup', servo_pin=16, freq=100, duty_retract=FP(23959), duty_feed=FP(21086), len_part=FP(35167), datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  SimpleFeeder(name="feeder_3", pid=34500, button_pin=21, button_pullup='pullup', servo_pin=19, freq=100, duty_retract=FP(23959), duty_feed=FP(21086), len_part=FP(25260), datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  SimpleFeeder(name="feeder_4", pid=37926, button_pin=39, button_pullup='None', servo_pin=32, freq=100, duty_retract=FP(23959), duty_feed=FP(21086), len_part=FP(32411), datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  SimpleFeeder(name="feeder_5", pid=22517, button_pin=35, button_pullup='None', servo_pin=33, freq=100, duty_retract=FP(23959), duty_feed=FP(21086), len_part=FP(19748), datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  SimpleFeeder(name="feeder_6", pid=53053, button_pin=17, button_pullup='pullup', servo_pin=18, freq=100, duty_retract=FP(23959), duty_feed=FP(21086), len_part=FP(41232), datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  SimpleFeeder(name="feeder_7", pid=18823, button_pin=23, button_pullup='pullup', servo_pin=22, freq=100, duty_retract=FP(23959), duty_feed=FP(21086), len_part=FP(27726), datatype="bool", debug=False, active=True, bcast=False, iris=iris)
  Variable(name="duty_feed", pid=21086, state=210, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="duty_retract", pid=23959, state=130, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="feeder_num", pid=46277, state=0, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="num_feeds_1", pid=33279, state=1, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="num_feeds_2", pid=57676, state=1, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="num_feeds_3", pid=35167, state=1, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="num_feeds_4", pid=25260, state=1, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="num_feeds_5", pid=32411, state=1, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="num_feeds_6", pid=19748, state=1, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="num_feeds_7", pid=41232, state=1, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  Variable(name="num_feeds_8", pid=27726, state=1, datatype="int", constant=False, debug=False, active=True, bcast=True, iris=iris)
  iris.add_hots({"51573": [46277]})


      

Canvas View:


Dependencies:


["NeoPixel", "Variable", "DigitalOutput", "DigitalInput", "ESP32Core", "CodeBlock", "HbtLed", "Parameter", "FileReceiver", "SimpleFeeder", "CANBus"]
    

Uppie code:

this code is used as the constructor in this canvas is dropped on a canvas above

{
  "canvas_id": "6593bba333f0c4e9canv",
  "zorg": false,
  "busses": {
    "CANBus": "30"
  },
  "ports": [
    {
      "name": "feeder_0",
      "reference_id": "98b81b1b-9e6b-375a-6d8d-1c7ad184b000",
      "pid": 55160,
      "type": "input",
      "datatype": "bool",
      "parameter_type": "SimpleFeeder"
    },
    {
      "name": "feeder_1",
      "reference_id": "06532e8a-7da1-ee7b-fdf9-2a0bc2989fb7",
      "pid": 40932,
      "type": "input",
      "datatype": "bool",
      "parameter_type": "SimpleFeeder"
    },
    {
      "name": "feeder_2",
      "reference_id": "08e2133d-2014-52dc-39fa-57e66c603a20",
      "pid": 58927,
      "type": "input",
      "datatype": "bool",
      "parameter_type": "SimpleFeeder"
    },
    {
      "name": "feeder_3",
      "reference_id": "8c4b6bf7-c813-b1a6-4837-a9f902850681",
      "pid": 34500,
      "type": "input",
      "datatype": "bool",
      "parameter_type": "SimpleFeeder"
    },
    {
      "name": "feeder_4",
      "reference_id": "ea37ffee-e169-53ec-bcb2-a105c2744060",
      "pid": 37926,
      "type": "input",
      "datatype": "bool",
      "parameter_type": "SimpleFeeder"
    },
    {
      "name": "feeder_5",
      "reference_id": "88376c9b-a836-dd43-3a02-999cfad2bf41",
      "pid": 22517,
      "type": "input",
      "datatype": "bool",
      "parameter_type": "SimpleFeeder"
    },
    {
      "name": "feeder_6",
      "reference_id": "65fee112-f6e0-b9ee-4984-c911838e0bc5",
      "pid": 53053,
      "type": "input",
      "datatype": "bool",
      "parameter_type": "SimpleFeeder"
    },
    {
      "name": "feeder_7",
      "reference_id": "b9d0eba3-3d69-93d6-1b13-2ccec12f5f82",
      "pid": 18823,
      "type": "input",
      "datatype": "bool",
      "parameter_type": "SimpleFeeder"
    },
    {
      "name": "feeder_num",
      "reference_id": "e022a42f-6f21-3b3a-a8d5-0815d775eef9",
      "pid": 46277,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    },
    {
      "name": "num_feeds_1",
      "reference_id": "df7cb953-b7f9-8308-cd32-43a66118b421",
      "pid": 33279,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    },
    {
      "name": "num_feeds_2",
      "reference_id": "98045487-48a5-36dc-2669-18655a266287",
      "pid": 57676,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    },
    {
      "name": "num_feeds_3",
      "reference_id": "40e7a89d-a9c2-1c8e-d231-e766acbc2068",
      "pid": 35167,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    },
    {
      "name": "num_feeds_4",
      "reference_id": "53649e39-3721-a921-0f33-9fb386450b7c",
      "pid": 25260,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    },
    {
      "name": "num_feeds_5",
      "reference_id": "6a7bb615-570f-7d4e-f839-cd299cabe6c2",
      "pid": 32411,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    },
    {
      "name": "num_feeds_6",
      "reference_id": "7ba9d988-4526-e066-19dc-479cc81a8132",
      "pid": 19748,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    },
    {
      "name": "num_feeds_7",
      "reference_id": "79bd022d-134e-fd75-be3d-0320cb910006",
      "pid": 41232,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    },
    {
      "name": "num_feeds_8",
      "reference_id": "6950c74d-7440-b008-2425-ab6ef5d4c343",
      "pid": 27726,
      "type": "both",
      "datatype": "int",
      "parameter_type": "Variable"
    }
  ]
}
    

Uppie subs:


{}
    

Canvas code:


[
  {
    "type": "CanvasID",
    "id": "65f697424ad6244acanv",
    "x": 16,
    "y": 13,
    "selectable": false,
    "draggable": true,
    "text": "CanvasID: 65f697424ad6244acanv",
    "canvas_type": "core"
  },
  {
    "type": "Parameter",
    "name": "ESP32Core",
    "id": "9e65d461-88ea-d923-2508-c70738045031",
    "ParameterType": "ESP32Core",
    "datatype": null,
    "pid": "6074",
    "x": 1370.5833587646484,
    "y": 268.33331298828125,
    "width": 93,
    "height": 112,
    "constants": {
      "wifi": false
    },
    "up_data": {
      "can_go_up": false,
      "up": false
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "function_button",
    "id": "755f08c5-a527-574e-94c4-ec22787d7c83",
    "ParameterType": "DigitalInput",
    "datatype": "bool",
    "pid": 2276,
    "x": 1108.5,
    "y": 294.5,
    "width": 97,
    "height": 55,
    "constants": {
      "pin": "36",
      "pullup": "None",
      "debounce": "200"
    },
    "up_data": {
      "can_go_up": true,
      "type": "output",
      "order": 999,
      "up": false
    },
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Parameter",
    "name": "neo_status",
    "id": "c02b1b9a-83a0-4dc8-6c78-b233f6794e97",
    "ParameterType": "NeoPixel",
    "datatype": "rgb",
    "pid": 47403,
    "x": 1108.5,
    "y": 205.5,
    "width": 73,
    "height": 40,
    "constants": {
      "pin": "12",
      "number_of_pixels": 1
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": false
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "hbt_led",
    "id": "edadcf26-7123-6f65-aacc-531f07f49da0",
    "ParameterType": "HbtLed",
    "datatype": "int",
    "pid": "55894",
    "x": 1112.5,
    "y": 126.33332824707031,
    "width": 69,
    "height": 38,
    "constants": {
      "pin": "15"
    },
    "up_data": {
      "can_go_up": false,
      "up": false
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "CANBus",
    "id": "094dfcb9-7772-56e1-d37f-10f852b3fd3e",
    "ParameterType": "CANBus",
    "datatype": null,
    "pid": 6545,
    "x": 1108.5,
    "y": 399.5,
    "width": 93,
    "height": 42,
    "constants": {
      "rx": "2",
      "tx": "4",
      "adr": "30",
      "bus": "0",
      "baud": 250000,
      "rx_queue": 25
    },
    "up_data": {
      "can_go_up": false,
      "up": false
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "NotePad",
    "id": "d62904e5-41be-2090-31f2-f67f776f676e",
    "x": 1230.933334350586,
    "y": 82.24997997283936,
    "width": 218,
    "height": 25,
    "ports": [],
    "text": "Core Components"
  },
  {
    "type": "Parameter",
    "name": "can_slp",
    "id": "3557fa7e-dd3c-0a70-e7b0-7f82f1a6d57d",
    "ParameterType": "DigitalOutput",
    "datatype": "bool",
    "pid": 25716,
    "x": 1369.5833587646484,
    "y": 169.5,
    "width": 95,
    "height": 50,
    "constants": {
      "pin": "13"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": false
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "feeder_0",
    "id": "98b81b1b-9e6b-375a-6d8d-1c7ad184b000",
    "ParameterType": "SimpleFeeder",
    "datatype": "bool",
    "pid": 55160,
    "x": 678.4549404541016,
    "y": 239.01029999999997,
    "width": 100,
    "height": 55,
    "constants": {
      "button_pin": "34",
      "button_pullup": "None",
      "servo_pin": "25",
      "freq": "100"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": true
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "feeder_1",
    "id": "06532e8a-7da1-ee7b-fdf9-2a0bc2989fb7",
    "ParameterType": "SimpleFeeder",
    "datatype": "bool",
    "pid": 40932,
    "x": 675.4549404541016,
    "y": 364,
    "width": 100,
    "height": 55,
    "constants": {
      "button_pin": "26",
      "button_pullup": "pullup",
      "servo_pin": "27",
      "freq": "100"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": true
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "feeder_2",
    "id": "08e2133d-2014-52dc-39fa-57e66c603a20",
    "ParameterType": "SimpleFeeder",
    "datatype": "bool",
    "pid": 58927,
    "x": 675.4549404541016,
    "y": 489.9583,
    "width": 100,
    "height": 55,
    "constants": {
      "button_pin": "14",
      "button_pullup": "pullup",
      "servo_pin": "16",
      "freq": "100"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": true
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "feeder_3",
    "id": "8c4b6bf7-c813-b1a6-4837-a9f902850681",
    "ParameterType": "SimpleFeeder",
    "datatype": "bool",
    "pid": 34500,
    "x": 678.4549404541016,
    "y": 617.0103152587891,
    "width": 100,
    "height": 55,
    "constants": {
      "button_pin": "21",
      "button_pullup": "pullup",
      "servo_pin": "19",
      "freq": "100"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": true
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "feeder_4",
    "id": "ea37ffee-e169-53ec-bcb2-a105c2744060",
    "ParameterType": "SimpleFeeder",
    "datatype": "bool",
    "pid": 37926,
    "x": 675.4549404541016,
    "y": 761.7603152587891,
    "width": 100,
    "height": 55,
    "constants": {
      "button_pin": "39",
      "button_pullup": "None",
      "servo_pin": "32",
      "freq": "100"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": true
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "feeder_5",
    "id": "88376c9b-a836-dd43-3a02-999cfad2bf41",
    "ParameterType": "SimpleFeeder",
    "datatype": "bool",
    "pid": 22517,
    "x": 675.4549404541016,
    "y": 920.7603152587891,
    "width": 100,
    "height": 55,
    "constants": {
      "button_pin": "35",
      "button_pullup": "None",
      "servo_pin": "33",
      "freq": "100"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": true
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "feeder_6",
    "id": "65fee112-f6e0-b9ee-4984-c911838e0bc5",
    "ParameterType": "SimpleFeeder",
    "datatype": "bool",
    "pid": 53053,
    "x": 675.4549404541016,
    "y": 1079.760315258789,
    "width": 100,
    "height": 55,
    "constants": {
      "button_pin": "17",
      "button_pullup": "pullup",
      "servo_pin": "18",
      "freq": "100"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": true
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Parameter",
    "name": "feeder_7",
    "id": "b9d0eba3-3d69-93d6-1b13-2ccec12f5f82",
    "ParameterType": "SimpleFeeder",
    "datatype": "bool",
    "pid": 18823,
    "x": 675.4549404541016,
    "y": 1225.760315258789,
    "width": 100,
    "height": 55,
    "constants": {
      "button_pin": "23",
      "button_pullup": "pullup",
      "servo_pin": "22",
      "freq": "100"
    },
    "up_data": {
      "can_go_up": true,
      "type": "input",
      "order": 999,
      "up": true
    },
    "debug": false,
    "active": true,
    "broadcast": false
  },
  {
    "type": "Variable",
    "id": "e022a42f-6f21-3b3a-a8d5-0815d775eef9",
    "name": "feeder_num",
    "class": "Int",
    "datatype": "int",
    "state": "0",
    "pid": 46277,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 136.26074045410144,
    "y": 514.280365649414,
    "width": 43,
    "height": 37,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "b4fe25d1-c648-856c-1432-1134134c7fb2",
    "name": "duty_retract",
    "class": "Int",
    "datatype": "int",
    "state": "130",
    "pid": 23959,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": false
    },
    "constant": false,
    "x": 224.69382519531246,
    "y": 192.55200000000002,
    "width": 58,
    "height": 39,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "139605c0-6e8c-4876-646a-fca28cfe5048",
    "name": "duty_feed",
    "class": "Int",
    "datatype": "int",
    "state": "210",
    "pid": 21086,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": false
    },
    "constant": false,
    "x": 224.69382519531246,
    "y": 305.2114,
    "width": 60,
    "height": 37,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "CodeBlock",
    "name": "code_block",
    "pid": 51573,
    "kwargs": [
      "feeder_0",
      "feeder_1",
      "feeder_2",
      "feeder_3",
      "feeder_4",
      "feeder_5",
      "feeder_6",
      "feeder_7"
    ],
    "iris": false,
    "id": "45b82377-1bbb-1388-2859-fcbff4115820",
    "x": 230.1480056137085,
    "y": 596.4579152587891,
    "code": "feeders = [feeder_0, feeder_1, feeder_2, feeder_3, feeder_4, feeder_5, feeder_6, feeder_7]\n\nfeeders[event](True)\n"
  },
  {
    "type": "Variable",
    "id": "df7cb953-b7f9-8308-cd32-43a66118b421",
    "name": "num_feeds_1",
    "class": "Int",
    "datatype": "int",
    "state": "1",
    "pid": 33279,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 516.4139404541015,
    "y": 171.2018,
    "width": 42,
    "height": 36,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "98045487-48a5-36dc-2669-18655a266287",
    "name": "num_feeds_2",
    "class": "Int",
    "datatype": "int",
    "state": "1",
    "pid": 57676,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 517.9139404541015,
    "y": 318.74319898681637,
    "width": 39,
    "height": 38,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "40e7a89d-a9c2-1c8e-d231-e766acbc2068",
    "name": "num_feeds_3",
    "class": "Int",
    "datatype": "int",
    "state": "1",
    "pid": 35167,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 517.9139404541015,
    "y": 443.2018,
    "width": 39,
    "height": 40,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "53649e39-3721-a921-0f33-9fb386450b7c",
    "name": "num_feeds_4",
    "class": "Int",
    "datatype": "int",
    "state": "1",
    "pid": 25260,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 516.9139404541015,
    "y": 570.5391989868164,
    "width": 37,
    "height": 37,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "6a7bb615-570f-7d4e-f839-cd299cabe6c2",
    "name": "num_feeds_5",
    "class": "Int",
    "datatype": "int",
    "state": "1",
    "pid": 32411,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 516.9139404541015,
    "y": 706.4295989868165,
    "width": 37,
    "height": 43,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "7ba9d988-4526-e066-19dc-479cc81a8132",
    "name": "num_feeds_6",
    "class": "Int",
    "datatype": "int",
    "state": "1",
    "pid": 19748,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 516.4139404541015,
    "y": 869.8853152587891,
    "width": 38,
    "height": 40,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "79bd022d-134e-fd75-be3d-0320cb910006",
    "name": "num_feeds_7",
    "class": "Int",
    "datatype": "int",
    "state": "1",
    "pid": 41232,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 517.4139404541015,
    "y": 1034.1735989868164,
    "width": 37,
    "height": 37,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "Variable",
    "id": "6950c74d-7440-b008-2425-ab6ef5d4c343",
    "name": "num_feeds_8",
    "class": "Int",
    "datatype": "int",
    "state": "1",
    "pid": 27726,
    "up_data": {
      "type": "both",
      "order": 999,
      "up": true
    },
    "constant": false,
    "x": 517.9139404541015,
    "y": 1180.766715258789,
    "width": 36,
    "height": 36,
    "debug": false,
    "active": true,
    "broadcast": true
  },
  {
    "type": "HoverConnection",
    "id": "0ac71c9b-4362-8a03-b726-c1d8f8ee72f4",
    "bus": "local",
    "vertex": [
      {
        "x": 558.4139404541015,
        "y": 189.2018
      },
      {
        "x": 586.4075404541016,
        "y": 189.2018
      },
      {
        "x": 586.4075404541016,
        "y": 283.0103
      },
      {
        "x": 678.4549404541016,
        "y": 283.0103
      }
    ],
    "source": {
      "node": "df7cb953-b7f9-8308-cd32-43a66118b421",
      "port": "output0"
    },
    "target": {
      "node": "98b81b1b-9e6b-375a-6d8d-1c7ad184b000",
      "port": "len_part"
    }
  },
  {
    "type": "HoverConnection",
    "id": "abc1037a-ab97-c251-0699-9ad0f38b3267",
    "bus": "local",
    "vertex": [
      {
        "x": 556.9139404541015,
        "y": 337.74319898681637
      },
      {
        "x": 586.7084404541017,
        "y": 337.74319898681637
      },
      {
        "x": 586.7084404541017,
        "y": 408
      },
      {
        "x": 675.4549404541016,
        "y": 408
      }
    ],
    "source": {
      "node": "98045487-48a5-36dc-2669-18655a266287",
      "port": "output0"
    },
    "target": {
      "node": "06532e8a-7da1-ee7b-fdf9-2a0bc2989fb7",
      "port": "len_part"
    }
  },
  {
    "type": "HoverConnection",
    "id": "f08ad069-35d6-aa46-355d-cfa53ec73844",
    "bus": "local",
    "vertex": [
      {
        "x": 553.9139404541015,
        "y": 589.0391989868164
      },
      {
        "x": 585.2092404541017,
        "y": 589.0391989868164
      },
      {
        "x": 585.2092404541017,
        "y": 661.0103152587891
      },
      {
        "x": 678.4549404541016,
        "y": 661.0103152587891
      }
    ],
    "source": {
      "node": "53649e39-3721-a921-0f33-9fb386450b7c",
      "port": "output0"
    },
    "target": {
      "node": "8c4b6bf7-c813-b1a6-4837-a9f902850681",
      "port": "len_part"
    }
  },
  {
    "type": "HoverConnection",
    "id": "a13681bf-28af-4feb-c849-3dcd228acce7",
    "bus": "local",
    "vertex": [
      {
        "x": 179.26074045410144,
        "y": 532.780365649414
      },
      {
        "x": 204.14800561370907,
        "y": 532.780365649414
      },
      {
        "x": 204.14800561370907,
        "y": 648.4579152587891
      },
      {
        "x": 230.1480056137085,
        "y": 648.4579152587891
      }
    ],
    "source": {
      "node": "e022a42f-6f21-3b3a-a8d5-0815d775eef9",
      "port": "output0"
    },
    "target": {
      "node": "45b82377-1bbb-1388-2859-fcbff4115820",
      "port": "input"
    }
  },
  {
    "type": "HoverConnection",
    "id": "bf69322e-ccd2-117c-47df-38b7914330e6",
    "bus": "local",
    "vertex": [
      {
        "x": 554.4139404541015,
        "y": 889.8853152587891
      },
      {
        "x": 582.9600404541019,
        "y": 889.8853152587891
      },
      {
        "x": 582.9600404541019,
        "y": 964.7603152587891
      },
      {
        "x": 675.4549404541016,
        "y": 964.7603152587891
      }
    ],
    "source": {
      "node": "7ba9d988-4526-e066-19dc-479cc81a8132",
      "port": "output0"
    },
    "target": {
      "node": "88376c9b-a836-dd43-3a02-999cfad2bf41",
      "port": "len_part"
    }
  },
  {
    "type": "HoverConnection",
    "id": "c0756d3f-8189-8e73-b113-cc73be068d01",
    "bus": "local",
    "vertex": [
      {
        "x": 553.9139404541015,
        "y": 727.9295989868165
      },
      {
        "x": 582.710040454102,
        "y": 727.9295989868165
      },
      {
        "x": 582.710040454102,
        "y": 805.7603152587891
      },
      {
        "x": 675.4549404541016,
        "y": 805.7603152587891
      }
    ],
    "source": {
      "node": "6a7bb615-570f-7d4e-f839-cd299cabe6c2",
      "port": "output0"
    },
    "target": {
      "node": "ea37ffee-e169-53ec-bcb2-a105c2744060",
      "port": "len_part"
    }
  },
  {
    "type": "HoverConnection",
    "id": "1d9ff05d-f573-7052-ee5a-5acf5e749fdc",
    "bus": "local",
    "vertex": [
      {
        "x": 282.69382519531246,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 1101.760315258789
      },
      {
        "x": 675.4549404541016,
        "y": 1101.760315258789
      }
    ],
    "source": {
      "node": "b4fe25d1-c648-856c-1432-1134134c7fb2",
      "port": "output0"
    },
    "target": {
      "node": "65fee112-f6e0-b9ee-4984-c911838e0bc5",
      "port": "duty_retract"
    }
  },
  {
    "type": "HoverConnection",
    "id": "3697006d-e981-8ce5-046a-d35e3aa459f5",
    "bus": "local",
    "vertex": [
      {
        "x": 282.69382519531246,
        "y": 212.05200000000002
      },
      {
        "x": 403.71858282470686,
        "y": 212.05200000000002
      },
      {
        "x": 403.71858282470686,
        "y": 261.0103
      },
      {
        "x": 678.4549404541016,
        "y": 261.0103
      }
    ],
    "source": {
      "node": "b4fe25d1-c648-856c-1432-1134134c7fb2",
      "port": "output0"
    },
    "target": {
      "node": "98b81b1b-9e6b-375a-6d8d-1c7ad184b000",
      "port": "duty_retract"
    }
  },
  {
    "type": "HoverConnection",
    "id": "065bafb4-b12c-55e9-c294-2c279198c738",
    "bus": "local",
    "vertex": [
      {
        "x": 282.69382519531246,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 783.7603152587891
      },
      {
        "x": 675.4549404541016,
        "y": 783.7603152587891
      }
    ],
    "source": {
      "node": "b4fe25d1-c648-856c-1432-1134134c7fb2",
      "port": "output0"
    },
    "target": {
      "node": "ea37ffee-e169-53ec-bcb2-a105c2744060",
      "port": "duty_retract"
    }
  },
  {
    "type": "HoverConnection",
    "id": "4bf70eee-bd67-7e50-6bea-4a21c828ca88",
    "bus": "local",
    "vertex": [
      {
        "x": 282.69382519531246,
        "y": 212.05200000000002
      },
      {
        "x": 403.71858282470674,
        "y": 212.05200000000002
      },
      {
        "x": 403.71858282470674,
        "y": 639.0103152587891
      },
      {
        "x": 678.4549404541016,
        "y": 639.0103152587891
      }
    ],
    "source": {
      "node": "b4fe25d1-c648-856c-1432-1134134c7fb2",
      "port": "output0"
    },
    "target": {
      "node": "8c4b6bf7-c813-b1a6-4837-a9f902850681",
      "port": "duty_retract"
    }
  },
  {
    "type": "HoverConnection",
    "id": "3ebda8ae-e601-3772-2d72-97bb0fafa502",
    "bus": "local",
    "vertex": [
      {
        "x": 282.69382519531246,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 386
      },
      {
        "x": 675.4549404541016,
        "y": 386
      }
    ],
    "source": {
      "node": "b4fe25d1-c648-856c-1432-1134134c7fb2",
      "port": "output0"
    },
    "target": {
      "node": "06532e8a-7da1-ee7b-fdf9-2a0bc2989fb7",
      "port": "duty_retract"
    }
  },
  {
    "type": "HoverConnection",
    "id": "959e2abb-2861-b3be-692e-d66d31876b81",
    "bus": "local",
    "vertex": [
      {
        "x": 282.69382519531246,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 1247.760315258789
      },
      {
        "x": 675.4549404541016,
        "y": 1247.760315258789
      }
    ],
    "source": {
      "node": "b4fe25d1-c648-856c-1432-1134134c7fb2",
      "port": "output0"
    },
    "target": {
      "node": "b9d0eba3-3d69-93d6-1b13-2ccec12f5f82",
      "port": "duty_retract"
    }
  },
  {
    "type": "HoverConnection",
    "id": "169fe46a-f1ac-769c-9d2b-5a2d9df73fc3",
    "bus": "local",
    "vertex": [
      {
        "x": 282.69382519531246,
        "y": 212.05200000000002
      },
      {
        "x": 403.71858282470674,
        "y": 212.05200000000002
      },
      {
        "x": 403.71858282470674,
        "y": 511.9583
      },
      {
        "x": 675.4549404541016,
        "y": 511.9583
      }
    ],
    "source": {
      "node": "b4fe25d1-c648-856c-1432-1134134c7fb2",
      "port": "output0"
    },
    "target": {
      "node": "08e2133d-2014-52dc-39fa-57e66c603a20",
      "port": "duty_retract"
    }
  },
  {
    "type": "HoverConnection",
    "id": "50ef7d54-10bb-7a58-23d4-ac97f7884970",
    "bus": "local",
    "vertex": [
      {
        "x": 282.69382519531246,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 212.05200000000002
      },
      {
        "x": 403.618582824707,
        "y": 942.7603152587891
      },
      {
        "x": 675.4549404541016,
        "y": 942.7603152587891
      }
    ],
    "source": {
      "node": "b4fe25d1-c648-856c-1432-1134134c7fb2",
      "port": "output0"
    },
    "target": {
      "node": "88376c9b-a836-dd43-3a02-999cfad2bf41",
      "port": "duty_retract"
    }
  },
  {
    "type": "HoverConnection",
    "id": "fa11caf2-11d7-105f-7464-b65ed0ed387d",
    "bus": "local",
    "vertex": [
      {
        "x": 556.9139404541015,
        "y": 463.2018
      },
      {
        "x": 587.2076404541018,
        "y": 463.2018
      },
      {
        "x": 587.2076404541018,
        "y": 533.9583
      },
      {
        "x": 675.4549404541016,
        "y": 533.9583
      }
    ],
    "source": {
      "node": "40e7a89d-a9c2-1c8e-d231-e766acbc2068",
      "port": "output0"
    },
    "target": {
      "node": "08e2133d-2014-52dc-39fa-57e66c603a20",
      "port": "len_part"
    }
  },
  {
    "type": "HoverConnection",
    "id": "2b775f03-5aa3-3fe4-bb75-ac541beaf49c",
    "bus": "local",
    "vertex": [
      {
        "x": 1181.5,
        "y": 232.16666666666666
      },
      {
        "x": 1257.5,
        "y": 232.16666666666666
      },
      {
        "x": 1257.5,
        "y": 300.33331298828125
      },
      {
        "x": 1370.5833587646484,
        "y": 300.33331298828125
      }
    ],
    "source": {
      "node": "c02b1b9a-83a0-4dc8-6c78-b233f6794e97",
      "port": "self"
    },
    "target": {
      "node": "9e65d461-88ea-d923-2508-c70738045031",
      "port": "neo_status"
    }
  },
  {
    "type": "HoverConnection",
    "id": "3f658083-625d-614a-c703-d4270120db8f",
    "bus": "local",
    "vertex": [
      {
        "x": 1201.5,
        "y": 420.5
      },
      {
        "x": 1272,
        "y": 420.5
      },
      {
        "x": 1272,
        "y": 332.33331298828125
      },
      {
        "x": 1370.5833587646484,
        "y": 332.33331298828125
      }
    ],
    "source": {
      "node": "094dfcb9-7772-56e1-d37f-10f852b3fd3e",
      "port": "self"
    },
    "target": {
      "node": "9e65d461-88ea-d923-2508-c70738045031",
      "port": "bus"
    }
  },
  {
    "type": "HoverConnection",
    "id": "81ccaff8-45df-2bae-17f8-729bdb4f03db",
    "bus": "local",
    "vertex": [
      {
        "x": 1181.5,
        "y": 145.3333282470703
      },
      {
        "x": 1282.5,
        "y": 145.3333282470703
      },
      {
        "x": 1282.5,
        "y": 284.33331298828125
      },
      {
        "x": 1370.5833587646484,
        "y": 284.33331298828125
      }
    ],
    "source": {
      "node": "edadcf26-7123-6f65-aacc-531f07f49da0",
      "port": "self"
    },
    "target": {
      "node": "9e65d461-88ea-d923-2508-c70738045031",
      "port": "hbt_led"
    }
  },
  {
    "type": "HoverConnection",
    "id": "888b1da6-521d-41d4-cf21-85be61ee9d65",
    "bus": "local",
    "vertex": [
      {
        "x": 1205.5,
        "y": 312.8333333333333
      },
      {
        "x": 1236.5,
        "y": 312.8333333333333
      },
      {
        "x": 1236.5,
        "y": 316.33331298828125
      },
      {
        "x": 1370.5833587646484,
        "y": 316.33331298828125
      }
    ],
    "source": {
      "node": "755f08c5-a527-574e-94c4-ec22787d7c83",
      "port": "event"
    },
    "target": {
      "node": "9e65d461-88ea-d923-2508-c70738045031",
      "port": "function_button"
    }
  },
  {
    "type": "HoverConnection",
    "id": "b83cb6bc-6e31-b9f3-f608-5028ea1596ab",
    "bus": "local",
    "vertex": [
      {
        "x": 553.9139404541015,
        "y": 1198.766715258789
      },
      {
        "x": 584.7084404541015,
        "y": 1198.766715258789
      },
      {
        "x": 584.7084404541015,
        "y": 1269.760315258789
      },
      {
        "x": 675.4549404541016,
        "y": 1269.760315258789
      }
    ],
    "source": {
      "node": "6950c74d-7440-b008-2425-ab6ef5d4c343",
      "port": "output0"
    },
    "target": {
      "node": "b9d0eba3-3d69-93d6-1b13-2ccec12f5f82",
      "port": "len_part"
    }
  },
  {
    "type": "HoverConnection",
    "id": "47179414-7b84-73e8-35d9-9f711c2f6307",
    "bus": "local",
    "vertex": [
      {
        "x": 284.69382519531246,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 794.7603152587891
      },
      {
        "x": 675.4549404541016,
        "y": 794.7603152587891
      }
    ],
    "source": {
      "node": "139605c0-6e8c-4876-646a-fca28cfe5048",
      "port": "output0"
    },
    "target": {
      "node": "ea37ffee-e169-53ec-bcb2-a105c2744060",
      "port": "duty_feed"
    }
  },
  {
    "type": "HoverConnection",
    "id": "7b96987d-1aa3-4e63-4369-b365a95d3c15",
    "bus": "local",
    "vertex": [
      {
        "x": 284.69382519531246,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 953.7603152587891
      },
      {
        "x": 675.4549404541016,
        "y": 953.7603152587891
      }
    ],
    "source": {
      "node": "139605c0-6e8c-4876-646a-fca28cfe5048",
      "port": "output0"
    },
    "target": {
      "node": "88376c9b-a836-dd43-3a02-999cfad2bf41",
      "port": "duty_feed"
    }
  },
  {
    "type": "HoverConnection",
    "id": "8950a5d3-ee72-13dd-d717-7afee9a1180c",
    "bus": "local",
    "vertex": [
      {
        "x": 284.69382519531246,
        "y": 323.7114
      },
      {
        "x": 440.37508282470696,
        "y": 323.7114
      },
      {
        "x": 440.37508282470696,
        "y": 272.0103
      },
      {
        "x": 678.4549404541016,
        "y": 272.0103
      }
    ],
    "source": {
      "node": "139605c0-6e8c-4876-646a-fca28cfe5048",
      "port": "output0"
    },
    "target": {
      "node": "98b81b1b-9e6b-375a-6d8d-1c7ad184b000",
      "port": "duty_feed"
    }
  },
  {
    "type": "HoverConnection",
    "id": "e0f5b93b-fd08-0b2e-9c2f-3d51b21b42c4",
    "bus": "local",
    "vertex": [
      {
        "x": 284.69382519531246,
        "y": 323.7114
      },
      {
        "x": 440.37508282470696,
        "y": 323.7114
      },
      {
        "x": 440.37508282470696,
        "y": 522.9583
      },
      {
        "x": 675.4549404541016,
        "y": 522.9583
      }
    ],
    "source": {
      "node": "139605c0-6e8c-4876-646a-fca28cfe5048",
      "port": "output0"
    },
    "target": {
      "node": "08e2133d-2014-52dc-39fa-57e66c603a20",
      "port": "duty_feed"
    }
  },
  {
    "type": "HoverConnection",
    "id": "20c9fc0c-0a14-b90b-666b-4611b0816aa7",
    "bus": "local",
    "vertex": [
      {
        "x": 284.69382519531246,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 1258.760315258789
      },
      {
        "x": 675.4549404541016,
        "y": 1258.760315258789
      }
    ],
    "source": {
      "node": "139605c0-6e8c-4876-646a-fca28cfe5048",
      "port": "output0"
    },
    "target": {
      "node": "b9d0eba3-3d69-93d6-1b13-2ccec12f5f82",
      "port": "duty_feed"
    }
  },
  {
    "type": "HoverConnection",
    "id": "89a12215-87c4-f0c7-9e40-7dfa20b6c32c",
    "bus": "local",
    "vertex": [
      {
        "x": 284.69382519531246,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 397
      },
      {
        "x": 675.4549404541016,
        "y": 397
      }
    ],
    "source": {
      "node": "139605c0-6e8c-4876-646a-fca28cfe5048",
      "port": "output0"
    },
    "target": {
      "node": "06532e8a-7da1-ee7b-fdf9-2a0bc2989fb7",
      "port": "duty_feed"
    }
  },
  {
    "type": "HoverConnection",
    "id": "0f816b35-4223-c355-2275-95a50d1ac038",
    "bus": "local",
    "vertex": [
      {
        "x": 284.69382519531246,
        "y": 323.7114
      },
      {
        "x": 440.37508282470696,
        "y": 323.7114
      },
      {
        "x": 440.37508282470696,
        "y": 650.0103152587891
      },
      {
        "x": 678.4549404541016,
        "y": 650.0103152587891
      }
    ],
    "source": {
      "node": "139605c0-6e8c-4876-646a-fca28cfe5048",
      "port": "output0"
    },
    "target": {
      "node": "8c4b6bf7-c813-b1a6-4837-a9f902850681",
      "port": "duty_feed"
    }
  },
  {
    "type": "HoverConnection",
    "id": "642737ed-5df8-a643-f0df-31ddab152ea0",
    "bus": "local",
    "vertex": [
      {
        "x": 284.69382519531246,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 323.7114
      },
      {
        "x": 438.87508282470696,
        "y": 1112.760315258789
      },
      {
        "x": 675.4549404541016,
        "y": 1112.760315258789
      }
    ],
    "source": {
      "node": "139605c0-6e8c-4876-646a-fca28cfe5048",
      "port": "output0"
    },
    "target": {
      "node": "65fee112-f6e0-b9ee-4984-c911838e0bc5",
      "port": "duty_feed"
    }
  },
  {
    "type": "HoverConnection",
    "id": "8a9d90e6-4367-3b33-cda9-f6b74777b8b0",
    "bus": "local",
    "vertex": [
      {
        "x": 554.4139404541015,
        "y": 1052.6735989868164
      },
      {
        "x": 584.9584404541017,
        "y": 1052.6735989868164
      },
      {
        "x": 584.9584404541017,
        "y": 1123.760315258789
      },
      {
        "x": 675.4549404541016,
        "y": 1123.760315258789
      }
    ],
    "source": {
      "node": "79bd022d-134e-fd75-be3d-0320cb910006",
      "port": "output0"
    },
    "target": {
      "node": "65fee112-f6e0-b9ee-4984-c911838e0bc5",
      "port": "len_part"
    }
  }
]