{
  "Config": {
    "Build": {
      "Board": "esp32:esp32:esp32s3:UploadSpeed=921600,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=240,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default"
    }
  },
  "Version": "2",
  "Product": "Visuino Pro - Visual Arduino Programming",
  "Content": "OpenWire Diagram",
  "Units": [
    {
      "Name": "__OpenWireRootUnit__",
      "*": [
        {
          "X": 1728,
          "Name": "Arduino",
          "Instance": {
            "I2SChannels": {
              "*": [
                {
                  "+": "TArduino_ESP32_I2SPDM"
                },
                {
                  "+": "TArduino_ESP32_I2SPDM"
                }
              ]
            },
            "Serial": {
              "*": [
                {
                  "+": "TArduinoEssentialESP32_S3_USBSerial"
                },
                {
                  "+": "TArduinoHardwareSerialESP32_S3_Serial"
                },
                {
                  "+": "TArduinoHardwareSerialESP32_S3_Serial1"
                },
                {
                  "+": "TArduinoHardwareSerialESP32_S3_Serial2"
                }
              ]
            },
            "+": "TArduinoBoard",
            "Modules": {
              "*": [
                {
                  "ESPNow": {
                    "PrimaryKey": {
                      "_Data": ""
                    }
                  },
                  "+": "TArduinoESP32WiFiModule"
                },
                {
                  "+": "TArduinoEEPROMModule"
                },
                {
                  "+": "TArduinoESP32ProcessorModule"
                },
                {
                  "+": "TArduinoESP32BluetoothLEModule"
                },
                {
                  "+": "TArduinoESP32_S3_MouseModule"
                },
                {
                  "+": "TArduinoESP32_S3_KeyboardModule"
                },
                {
                  "Channels": {
                    "*": [
                      {
                        "+": "TArduinoNanoESP32_Board_LED_RGB_Red"
                      },
                      {
                        "+": "TArduinoNanoESP32_Board_LED_RGB_Green"
                      },
                      {
                        "+": "TArduinoNanoESP32_Board_LED_RGB_Blue"
                      }
                    ]
                  },
                  "+": "TArduinoNanoESP32_Board_LED_RGB"
                }
              ]
            },
            "I2CChannels": {
              "*": [
                {
                  "+": "TArduinoNanoESP32_Board_I2C"
                },
                {
                  "+": "TArduinoESP32_Generic_I2C_2"
                }
              ]
            },
            "Digital": {
              "*": [
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "OutputPin": {
                    "SinkPins": [
                      {
                        "ID": "__OpenWireRootUnit__.Button1.InputPin"
                      }
                    ]
                  },
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "DigitalInputPin": {
                    "SourcePin": {
                      "ID": "__OpenWireRootUnit__.Inverter1.OutputPin"
                    }
                  },
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "DigitalInputPin": {
                    "SourcePin": {
                      "Name": "__OpenWireRootUnit__.DigitalMultiSource1.OutputPins.Pin [1]",
                      "ID": "__OpenWireRootUnit__.DigitalMultiSource1.OutputPins._Pin1"
                    }
                  },
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "DigitalInputPin": {
                    "SourcePin": {
                      "ID": "__OpenWireRootUnit__.LedController1.ChipSelectOutputPin"
                    }
                  },
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedTouchPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownDigitalInterruptChannel"
                }
              ]
            },
            "SPIChannels": {
              "*": [
                {
                  "InputPin": {
                    "SourcePins": [
                      {
                        "ID": "__OpenWireRootUnit__.LedController1.OutputPin"
                      }
                    ]
                  },
                  "+": "TArduinoNanoESP32_Board_SPI"
                },
                {
                  "+": "TArduinoESP32_Generic_SPI1"
                },
                {
                  "+": "TArduinoESP32_Generic_SPI2"
                },
                {
                  "+": "TArduinoESP32_Generic_SPI3"
                }
              ]
            },
            "BoardType": "Arduino Nano ESP32"
          },
          "Type": "Component",
          "Y": 256
        },
        {
          "X": 1360,
          "Name": "LedController1",
          "Instance": {
            "PixelGroups": {
              "*": [
                {
                  "Name": "2D Graphics1",
                  "MirrorHorizontal": true,
                  "+": "TArduinoMaximLedGraphics2DPixelGroup",
                  "ReverseHorizontal": true,
                  "Elements": {
                    "*": [
                      {
                        "ClockInputPin": {
                          "SourcePins": [
                            {
                              "Name": "__OpenWireRootUnit__.IntegerMultiSource1.OutputPins.Pin [0]",
                              "ID": "__OpenWireRootUnit__.IntegerMultiSource1.OutputPins._Pin0"
                            }
                          ]
                        },
                        "Name": "Fill Screen1",
                        "+": "TArduinoMonochromeGraphicsElementFillScreen"
                      },
                      {
                        "ClockInputPin": {
                          "SourcePins": [
                            {
                              "Name": "__OpenWireRootUnit__.IntegerMultiSource1.OutputPins.Pin [2]",
                              "ID": "__OpenWireRootUnit__.IntegerMultiSource1.OutputPins._Pin2"
                            }
                          ]
                        },
                        "InputPin": {
                          "SourcePin": {
                            "Name": "__OpenWireRootUnit__.IntegerMultiSource1.OutputPins.Pin [1]",
                            "ID": "__OpenWireRootUnit__.IntegerMultiSource1.OutputPins._Pin1"
                          }
                        },
                        "+": "TArduinoMonochromeGraphicsElementTextFeld",
                        "Wrap": false,
                        "UseCodePage437Symbols": true,
                        "Name": "Text Field1",
                        "InitialValue": "1"
                      }
                    ]
                  }
                }
              ]
            },
            "OutputPin": {
              "SinkPins": [
                {
                  "Name": "__OpenWireRootUnit__.Arduino.SPIChannels.Item[ 0 ].InputPin",
                  "ID": "__OpenWireRootUnit__.Arduino.SPIChannels._Item0.InputPin"
                }
              ]
            },
            "+": "TArduinoMaximLedController",
            "Intensity": 0.100000001490116,
            "ChipSelectOutputPin": {
              "SinkPins": [
                {
                  "Name": "__OpenWireRootUnit__.Arduino.Digital[10].DigitalInputPin",
                  "ID": "__OpenWireRootUnit__.Arduino.Digital._Item10.DigitalInputPin"
                }
              ]
            }
          },
          "Type": "Component",
          "Y": 1888
        },
        {
          "X": 1072,
          "Name": "IntegerMultiSource1",
          "Instance": {
            "OutputPins": {
              "Count": 3,
              "Form": "__OpenWireRootUnit__",
              "Pins": [
                {
                  "Type": "ptSource",
                  "SinkPins": [
                    {
                      "Name": "__OpenWireRootUnit__.LedController1.PixelGroups.2D Graphics1.Elements.Fill Screen.ClockInputPin",
                      "ID": "__OpenWireRootUnit__.LedController1.PixelGroups._Item0.Elements._Item0.ClockInputPin"
                    }
                  ]
                },
                {
                  "Type": "ptSource",
                  "SinkPins": [
                    {
                      "Name": "__OpenWireRootUnit__.LedController1.PixelGroups.2D Graphics1.Elements.Text Field.InputPin",
                      "ID": "__OpenWireRootUnit__.LedController1.PixelGroups._Item0.Elements._Item1.InputPin"
                    }
                  ]
                },
                {
                  "Type": "ptSource",
                  "SinkPins": [
                    {
                      "Name": "__OpenWireRootUnit__.LedController1.PixelGroups.2D Graphics1.Elements.Text Field.ClockInputPin",
                      "ID": "__OpenWireRootUnit__.LedController1.PixelGroups._Item0.Elements._Item1.ClockInputPin"
                    }
                  ]
                }
              ]
            },
            "InputPin": {
              "SourcePin": {
                "ID": "__OpenWireRootUnit__.UpDownCounter1.OutputPin"
              }
            },
            "+": "TArduinoIntegerMultiSource"
          },
          "Type": "Component",
          "Y": 2048
        },
        {
          "X": 672,
          "Name": "PulseGenerator1",
          "Instance": {
            "OutputPin": {
              "SinkPins": [
                {
                  "ID": "__OpenWireRootUnit__.UpDownCounter1.DownInputPin"
                }
              ]
            },
            "@": [
              {
                "PinName": "Enabled",
                "@": "Enabled",
                "+": "TOWBooleanSinkPinBinding",
                "SourcePin": {
                  "ID": "__OpenWireRootUnit__.TFlipFlop1.OutputPin"
                },
                "Component": "PulseGenerator1"
              }
            ],
            "+": "TArduinoPulseGenerator",
            "Enabled": false
          },
          "Type": "Component",
          "Y": 1936
        },
        {
          "X": 256,
          "Name": "Button1",
          "Instance": {
            "OutputPin": {
              "SinkPins": [
                {
                  "ID": "__OpenWireRootUnit__.UpDownCounter1.ResetInputPin"
                },
                {
                  "ID": "__OpenWireRootUnit__.TFlipFlop1.SetInputPin"
                }
              ]
            },
            "InputPin": {
              "SourcePin": {
                "Name": "__OpenWireRootUnit__.Arduino.Digital.Item[ 2 ].OutputPin",
                "ID": "__OpenWireRootUnit__.Arduino.Digital._Item2.OutputPin"
              }
            },
            "+": "TArduinoButton"
          },
          "Type": "Component",
          "Y": 1936
        },
        {
          "X": 896,
          "Name": "UpDownCounter1",
          "Instance": {
            "Max": {
              "Value": 9,
              "RollOver": false
            },
            "Min": {
              "Value": 0,
              "ReachedOutputPin": {
                "SinkPins": [
                  {
                    "ID": "__OpenWireRootUnit__.DigitalMultiSource1.InputPin"
                  }
                ]
              },
              "RollOver": false
            },
            "OutputPin": {
              "SinkPins": [
                {
                  "ID": "__OpenWireRootUnit__.IntegerMultiSource1.InputPin"
                }
              ]
            },
            "+": "TArduinoUpDownCounter",
            "ResetInputPin": {
              "SourcePins": [
                {
                  "ID": "__OpenWireRootUnit__.Button1.OutputPin"
                }
              ]
            },
            "DownInputPin": {
              "SourcePins": [
                {
                  "ID": "__OpenWireRootUnit__.PulseGenerator1.OutputPin"
                }
              ]
            },
            "InitialValue": 9
          },
          "Type": "Component",
          "Y": 1936
        },
        {
          "X": 432,
          "Name": "TFlipFlop1",
          "Instance": {
            "OutputPin": {
              "SinkPins": [
                {
                  "Name": "__OpenWireRootUnit__.PulseGenerator1.Enabled",
                  "ID": "__OpenWireRootUnit__.PulseGenerator1.EnabledInputPin"
                }
              ]
            },
            "+": "TArduinoTFlipFlop",
            "SetInputPin": {
              "SourcePins": [
                {
                  "ID": "__OpenWireRootUnit__.Button1.OutputPin"
                }
              ]
            },
            "ResetInputPin": {
              "SourcePins": [
                {
                  "Name": "__OpenWireRootUnit__.DigitalMultiSource1.OutputPins.Pin [0]",
                  "ID": "__OpenWireRootUnit__.DigitalMultiSource1.OutputPins._Pin0"
                }
              ]
            }
          },
          "Type": "Component",
          "Y": 1920
        },
        {
          "X": 1264,
          "Name": "Inverter1",
          "Instance": {
            "OutputPin": {
              "SinkPins": [
                {
                  "Name": "__OpenWireRootUnit__.Arduino.Digital.Item[ 6 ].DigitalInputPin",
                  "ID": "__OpenWireRootUnit__.Arduino.Digital._Item6.DigitalInputPin"
                }
              ]
            },
            "InputPin": {
              "SourcePin": {
                "Name": "__OpenWireRootUnit__.DigitalMultiSource1.OutputPins.Pin [2]",
                "ID": "__OpenWireRootUnit__.DigitalMultiSource1.OutputPins._Pin2"
              }
            },
            "+": "TArduinoBooleanInverter"
          },
          "Type": "Component",
          "Y": 1824
        },
        {
          "X": 1088,
          "Name": "DigitalMultiSource1",
          "Instance": {
            "OutputPins": {
              "Count": 3,
              "Form": "__OpenWireRootUnit__",
              "Pins": [
                {
                  "Type": "ptSource",
                  "SinkPins": [
                    {
                      "ID": "__OpenWireRootUnit__.TFlipFlop1.ResetInputPin"
                    }
                  ]
                },
                {
                  "Type": "ptSource",
                  "SinkPins": [
                    {
                      "Name": "__OpenWireRootUnit__.Arduino.Digital.Item[ 7 ].DigitalInputPin",
                      "ID": "__OpenWireRootUnit__.Arduino.Digital._Item7.DigitalInputPin"
                    }
                  ]
                },
                {
                  "Type": "ptSource",
                  "SinkPins": [
                    {
                      "ID": "__OpenWireRootUnit__.Inverter1.InputPin"
                    }
                  ]
                }
              ]
            },
            "InputPin": {
              "SourcePin": {
                "ID": "__OpenWireRootUnit__.UpDownCounter1.Min.ReachedOutputPin"
              }
            },
            "+": "TArduinoDigitalMultiSource"
          },
          "Type": "Component",
          "Y": 1776
        }
      ],
      "Type": "Diagram",
      "Selection": [
        "IntegerMultiSource1"
      ]
    }
  ]
}
