McuStudioMcuStudio
指南
开发者
组件
API
  • 团队
  • 版本发布
合作伙伴
指南
开发者
组件
API
  • 团队
  • 版本发布
合作伙伴
    • 组件
    • 模板
    • 基础组件
    • 容器组件
    • 芯片组件
    • 时钟树组件

芯片组件

芯片引脚

芯片引脚

  • 引脚数据结构
module.exports = {
  "packtype": "QFN",
  "pintype": "QFP",
  "pinsize": "20",
  "pins": [
    {
      "dir": "left",
      "num": 1,
      "name": "PB0",
      "port": "GPIOB",
      "pin": "GPIO_PIN_0",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI0",
          "value": "GPIO_EXTI0"
        },
        {
          "name": "NRST",
          "value": "NRST"
        }
      ]
    },
    {
      "dir": "left",
      "num": 2,
      "name": "PA1",
      "port": "GPIOA",
      "pin": "GPIO_PIN_1",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI1",
          "value": "GPIO_EXTI1"
        },
        {
          "name": "ADC_IN1",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "left",
      "num": 3,
      "name": "PA2",
      "port": "GPIOA",
      "pin": "GPIO_PIN_2",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI2",
          "value": "GPIO_EXTI2"
        },
        {
          "name": "ADC_IN0",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "left",
      "num": 4,
      "name": "VSS",
      "port": "",
      "pin": ""
    },
    {
      "dir": "left",
      "num": 5,
      "name": "PB1",
      "port": "GPIOB",
      "pin": "GPIO_PIN_1",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI1",
          "value": "GPIO_EXTI1"
        },
        {
          "name": "UART1_TX",
          "value": "AFIO_AF_1"
        }
      ]
    },
    {
      "dir": "down",
      "num": 6,
      "name": "VDD",
      "port": "",
      "pin": ""
    },
    {
      "dir": "down",
      "num": 7,
      "name": "PA3",
      "port": "GPIOA",
      "pin": "GPIO_PIN_3",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI3",
          "value": "GPIO_EXTI3"
        },
        {
          "name": "SPI_CS",
          "value": "AFIO_AF_1"
        },
        {
          "name": "TIM1_CH2N",
          "value": "AFIO_AF_2"
        },
        {
          "name": "ADC_IN11",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "down",
      "num": 8,
      "name": "PB5",
      "port": "GPIOB",
      "pin": "GPIO_PIN_5",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI5",
          "value": "GPIO_EXTI5"
        },
        {
          "name": "I2C_SDA",
          "value": "AFIO_AF_0"
        },
        {
          "name": "TIM1_BKIN",
          "value": "AFIO_AF_1"
        }
      ]
    },
    {
      "dir": "down",
      "num": 9,
      "name": "PB4",
      "port": "GPIOB",
      "pin": "GPIO_PIN_4",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI4",
          "value": "GPIO_EXTI4"
        },
        {
          "name": "I2C_SCL",
          "value": "AFIO_AF_0"
        },
        {
          "name": "TIM1_CH3N",
          "value": "AFIO_AF_2"
        }
      ]
    },
    {
      "dir": "down",
      "num": 10,
      "name": "PC3",
      "port": "GPIOC",
      "pin": "GPIO_PIN_3",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI3",
          "value": "GPIO_EXTI3"
        },
        {
          "name": "TIM1_CH1N",
          "value": "AFIO_AF_1"
        },
        {
          "name": "TIM1_CH3",
          "value": "AFIO_AF_2"
        },
        {
          "name": "ADC_IN10",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "right",
      "num": 11,
      "name": "PC4",
      "port": "GPIOC",
      "pin": "GPIO_PIN_4",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI11",
          "value": "GPIO_EXTI11"
        },
        {
          "name": "MCO",
          "value": "AFIO_AF_0"
        },
        {
          "name": "TIM1_CH2N",
          "value": "AFIO_AF_1"
        },
        {
          "name": "TIM1_CH4",
          "value": "AFIO_AF_2"
        },
        {
          "name": "ADC_IN7",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "right",
      "num": 12,
      "name": "PC5",
      "port": "GPIOC",
      "pin": "GPIO_PIN_5",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI5",
          "value": "GPIO_EXTI5"
        },
        {
          "name": "SPI_SCK",
          "value": "AFIO_AF_1"
        },
        {
          "name": "TIM1_CH2",
          "value": "AFIO_AF_2"
        },
        {
          "name": "ADC_IN9",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "right",
      "num": 13,
      "name": "PC6",
      "port": "GPIOC",
      "pin": "GPIO_PIN_6",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI6",
          "value": "GPIO_EXTI6"
        },
        {
          "name": "SPI_MOSI",
          "value": "AFIO_AF_1"
        },
        {
          "name": "TIM1_CH1",
          "value": "AFIO_AF_2"
        },
        {
          "name": "ADC_IN8",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "right",
      "num": 14,
      "name": "PC7",
      "port": "GPIOC",
      "pin": "GPIO_PIN_7",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI7",
          "value": "GPIO_EXTI7"
        },
        {
          "name": "SWDIO",
          "value": "AFIO_AF_0"
        },
        {
          "name": "SPI_MISO",
          "value": "AFIO_AF_1"
        },
        {
          "name": "UART1_TX",
          "value": "AFIO_AF_2"
        }
      ]
    },
    {
      "dir": "right",
      "num": 15,
      "name": "PD1",
      "port": "GPIOD",
      "pin": "GPIO_PIN_1",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI1",
          "value": "GPIO_EXTI1"
        },
        {
          "name": "SWCLK",
          "value": "AFIO_AF_0"
        },
        {
          "name": "UART1_RX",
          "value": "AFIO_AF_1"
        }
      ]
    },
    {
      "dir": "up",
      "num": 16,
      "name": "PD2",
      "port": "GPIOD",
      "pin": "GPIO_PIN_2",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI2",
          "value": "GPIO_EXTI2"
        },
        {
          "name": "TIM1_CH3N",
          "value": "AFIO_AF_1"
        },
        {
          "name": "ADC_IN6",
          "value": "GPIO_AF_Analog"
        },
      ]
    },
    {
      "dir": "up",
      "num": 17,
      "name": "PD3",
      "port": "GPIOD",
      "pin": "GPIO_PIN_3",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI3",
          "value": "GPIO_EXTI3"
        },
        {
          "name": "TIM1_CH4N",
          "value": "AFIO_AF_1"
        },
        {
          "name": "ADC_IN5",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "up",
      "num": 18,
      "name": "PD4",
      "port": "GPIOD",
      "pin": "GPIO_PIN_4",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI4",
          "value": "GPIO_EXTI4"
        },
        {
          "name": "TIM1_CH1N",
          "value": "AFIO_AF_1"
        },
        {
          "name": "ADC_IN4",
          "value": "GPIO_AF_Analog"
        },
        {
          "name": "ADC_BGN",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "up",
      "num": 19,
      "name": "PD5",
      "port": "GPIOD",
      "pin": "GPIO_PIN_5",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI5",
          "value": "GPIO_EXTI5"
        },
        {
          "name": "UART0_TX",
          "value": "AFIO_AF_0"
        },
        {
          "name": "ADC_IN3",
          "value": "GPIO_AF_Analog"
        },
        {
          "name": "ADC_INN",
          "value": "GPIO_AF_Analog"
        }
      ]
    },
    {
      "dir": "up",
      "num": 20,
      "name": "PD6",
      "port": "GPIOD",
      "pin": "GPIO_PIN_6",
      "af": [
        {
          "name": "Reset_State",
          "value": "-1"
        },
        {
          "name": "GPIO_Input",
          "value": "GPIO_Input"
        },
        {
          "name": "GPIO_Output",
          "value": "GPIO_Output"
        },
        {
          "name": "GPIO_Analog",
          "value": "GPIO_Analog"
        },
        {
          "name": "GPIO_EXTI6",
          "value": "GPIO_EXTI6"
        },
        {
          "name": "UART0_RX",
          "value": "AFIO_AF_0"
        },
        {
          "name": "ADC_IN2",
          "value": "GPIO_AF_Analog"
        },
        {
          "name": "ADC_BGO",
          "value": "GPIO_AF_Analog"
        },
        {
          "name": "VREF+",
          "value": "GPIO_AF_Analog"
        }
      ]
    }
  ]
};
  • 属性
属性名说明类型默认值选项
packtype封装类型string""
pintype显示类型string"QFP""QFP","BGA"
pinsize引脚数string,number""
pins引脚数据array[]

提示

pintype字段支持两种:QFP和BGA,

  • QFP: 该类型芯片引脚在四周排布
  • BGA: 该类型芯片引脚在底部矩阵排列

packtype为封装类型,为芯片的实际封装类型

pintype和packtype是不一样的

  • pins数据结构
{
    "dir": "left",
    "num": 1,
    "name": "PB0",
    "port": "GPIOB",
    "pin": "GPIO_PIN_0",
    "af": [
    {
        "name": "Reset_State",
        "value": "-1"
    },
    {
        "name": "GPIO_Input",
        "value": "GPIO_Input"
    },
    {
        "name": "GPIO_Output",
        "value": "GPIO_Output"
    },
    {
        "name": "GPIO_Analog",
        "value": "GPIO_Analog"
    },
    {
        "name": "GPIO_EXTI0",
        "value": "GPIO_EXTI0"
    },
    {
        "name": "NRST",
        "value": "NRST"
    }
    ]
}
属性名说明类型默认值选项
dir方向string"""up","down","left","right"
num引脚编号number""
name引脚名称string""
port引脚端口定义string""
pin引脚定义string""
af引脚功能定义array[]

提示

dir和num的定义和pintype的值有关系,

  • pintype为QFP:dir的值为:"up","down","left","right",num的值为引脚编号(从芯片的左上角,逆时针顺序递增)
  • pintype为BGA:dir的行标识,num的列标识,比如A1引脚,其dir为A,num为1
  • af数据结构
{
    "name": "GPIO_Input",
    "value": "GPIO_Input"
}
属性名说明类型默认值选项
name功能名称string""
value功能对应的值string""

外设树

外设树

  • 外设树数据结构
module.exports = {
  System: {
    RCC: {
      peripheral_type: 'RCC',
      version: '1.0'
    },
    GPIO: {
      peripheral_type: 'GPIO',
      version: '1.0'
    },
    NVIC: {
      peripheral_type: 'NVIC',
      version: '1.0'
    },
    CRC: {
      peripheral_instance: 'CRC',
      peripheral_type: 'CRC',
      version: '1.0'
    }
  },
  Communication: {
    I2C: {
      peripheral_type: 'I2C',
      version: '1.0',
      config: {
        parameter: {
          DataHoldTimeSel: {
            $exist: "false",
          },
          OwnAddress2Masks: {
            $exist: "false",
          }
        }
      }
    },
    SPI: {
      peripheral_type: 'SPI',
      version: '1.0'
    },
    UART0: {
      peripheral_type: 'UART',
      version: '1.0'
    },
    UART1: {
      peripheral_type: 'UART',
      version: '1.0'
    }
  },
  Timers: {
    TIM1: {
      peripheral_type: 'TIM1',
      version: '1.0'
    },
    TIM2: {
      peripheral_type: 'TIM2',
      version: '1.0'
    },
    TIM3: {
      peripheral_type: 'TIM2',
      version: '1.0'
    },
    TIM4: {
      peripheral_type: 'TIM2',
      version: '1.0'
    },
    IWDG: {
      peripheral_type: 'IWDG',
      version: '1.0'
    }
  },
  Analog: {
    ADC: {
      peripheral_type: 'ADC',
      version: '1.0'
    }
  }

}

时钟树

时钟树

  • 时钟树数据结构
module.exports = {
  cells: [
    {
      position: {
        x: 210,
        y: 230,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '30cdf6c5-ee81-4192-a770-5339e9b4e8b7',
          },
          {
            group: 'right',
            id: '4dabb223-cddd-4e61-b69f-f456f23780e3',
          },
        ],
      },
      id: '7e2352a0-14dc-4fa9-a37b-0d322a5d0845',
      zIndex: 1,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'HSI',
        label: 'HSI',
        labelPosition: 'left',
        type: 'text',
        disabled: true,
        value: 64000000,
        // input_clk: '64000000',
        // output_clk: '64000000',
        style: {
          background: '#FFFFFF',
          color: '#333333',
          textAlign: 'left',
        },
        shape: 'text',
      },
    },
    {
      position: {
        x: 210,
        y: 450,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: 'a8bb9ab5-4250-4ad3-98fd-0c6ade3ef325',
          },
          {
            group: 'right',
            id: 'bd2022b4-28dc-40b6-ae73-efd514eb6b98',
          },
        ],
      },
      id: '9057aa24-6831-441f-bdfe-3d5014e3e1f5',
      zIndex: 2,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'LSI',
        label: 'LSI',
        labelPosition: 'left',
        type: 'text',
        disabled: true,
        value: '32000',
        // output_clk: '@COMPUTED_GET: $parent.value',
        // input_clk: '32000',
        style: {
          background: '#FFFFFF',
          color: '#333333',
          textAlign: 'left',
        },
        shape: 'text',
      },
    },
    {
      position: {
        x: 520,
        y: 230,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '1d924fa0-fe0a-4132-92d7-be43f177cd6e',
          },
          {
            group: 'right',
            id: '4b37620c-7a58-4083-a333-2689fa8bab75',
          },
        ],
      },
      id: 'd3450b69-9d9e-4f6b-8731-3fbbc30b47e2',
      zIndex: 3,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'AHBPrescaler',
        label: 'AHBPrescaler',
        labelPosition: 'top',
        type: 'select',
        disabled: '',
        value: "0",
        output_clk: '@COMPUTED_GET: $parent.input_clk/(parseInt($parent.value) + 1)',
        input_clk: '@COMPUTED_GET: $clock.HSI.output_clk',
        inmin: '0',
        inmax: '64000000',
        options: [
          { label: '/1', value: '0' },
          { label: '/2', value: '1' },
          { label: '/3', value: '2' },
          { label: '/4', value: '3' },
          { label: '/5', value: '4' },
          { label: '/6', value: '5' },
          { label: '/7', value: '6' },
          { label: '/8', value: '7' },
          { label: '/9', value: '8' },
          { label: '/10', value: '9' },
          { label: '/11', value: '10' },
          { label: '/12', value: '11' },
          { label: '/13', value: '12' },
          { label: '/14', value: '13' },
          { label: '/15', value: '14' },
          { label: '/16', value: '15' },
          { label: '/17', value: '16' },
          { label: '/18', value: '17' },
          { label: '/19', value: '18' },
          { label: '/20', value: '19' },
          { label: '/21', value: '20' },
          { label: '/22', value: '21' },
          { label: '/23', value: '22' },
          { label: '/24', value: '23' },
          { label: '/25', value: '24' },
          { label: '/26', value: '25' },
          { label: '/27', value: '26' },
          { label: '/28', value: '27' },
          { label: '/29', value: '28' },
          { label: '/30', value: '29' },
          { label: '/31', value: '30' },
          { label: '/32', value: '31' }
        ],
        style: {
          background: '#FFFFFF',
          color: '#333333',
        },
      },
    },
    {
      shape: 'edge',
      id: '38dd344e-0438-4100-86c2-fec8c8f5866b',
      zIndex: 6,
      labels: [],
      source: {
        cell: '7e2352a0-14dc-4fa9-a37b-0d322a5d0845',
        port: '4dabb223-cddd-4e61-b69f-f456f23780e3',
      },
      target: {
        cell: 'd3450b69-9d9e-4f6b-8731-3fbbc30b47e2',
        port: '1d924fa0-fe0a-4132-92d7-be43f177cd6e',
      },
      tools: {
        items: [],
        name: null,
      },
    },
    {
      position: {
        x: 740,
        y: 343,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '3b13da7d-8a64-4c54-a47f-da9ab2c5aada',
          },
          {
            group: 'right',
            id: 'dc0c1651-f46e-4368-939e-ffec6a862576',
          },
        ],
      },
      id: '76534430-7707-4605-a1c1-5b34731385f5',
      zIndex: 7,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'ApbPrescaler',
        label: 'ApbPrescaler',
        labelPosition: 'top',
        type: 'select',
        disabled: '',
        value: "0",
        output_clk: "@COMPUTED_GET: $parent.input_clk/(parseInt($parent.value) + 1)",
        input_clk: '@COMPUTED_GET:$clock.AHBPrescaler.output_clk',
        inmin: '0',
        inmax: '64000000',
        options: [
          { label: '/1', value: '0' },
          { label: '/2', value: '1' },
          { label: '/3', value: '2' },
          { label: '/4', value: '3' },
          { label: '/5', value: '4' },
          { label: '/6', value: '5' },
          { label: '/7', value: '6' },
          { label: '/8', value: '7' },
          { label: '/9', value: '8' },
          { label: '/10', value: '9' },
          { label: '/11', value: '10' },
          { label: '/12', value: '11' },
          { label: '/13', value: '12' },
          { label: '/14', value: '13' },
          { label: '/15', value: '14' },
          { label: '/16', value: '15' },
          { label: '/17', value: '16' },
          { label: '/18', value: '17' },
          { label: '/19', value: '18' },
          { label: '/20', value: '19' },
          { label: '/21', value: '20' },
          { label: '/22', value: '21' },
          { label: '/23', value: '22' },
          { label: '/24', value: '23' },
          { label: '/25', value: '24' },
          { label: '/26', value: '25' },
          { label: '/27', value: '26' },
          { label: '/28', value: '27' },
          { label: '/29', value: '28' },
          { label: '/30', value: '29' },
          { label: '/31', value: '30' },
          { label: '/32', value: '31' }
        ],
        style: {
          background: '#FFFFFF',
          color: '#333333',
        },
        shape: 'div',
      },
    },
    {
      shape: 'edge',
      id: '9b69b0b8-4590-4c8b-9ea4-db656b3c1297',
      zIndex: 8,
      labels: [],
      source: {
        cell: 'd3450b69-9d9e-4f6b-8731-3fbbc30b47e2',
        port: '4b37620c-7a58-4083-a333-2689fa8bab75',
      },
      target: {
        cell: '76534430-7707-4605-a1c1-5b34731385f5',
        port: '3b13da7d-8a64-4c54-a47f-da9ab2c5aada',
      },
      tools: {
        items: [],
        name: null,
      },
      vertices: [
        {
          x: 700,
          y: 250,
        },
        {
          x: 700,
          y: 363,
        },
      ],
    },
    {
      position: {
        x: 1020,
        y: 150,
      },
      size: {
        width: 40,
        height: 140,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: 'd438716c-e65c-492c-961f-cc1e2d3ba107',
          },
          {
            group: 'right',
            id: '633bf8b1-baa0-4e49-9ac3-f7acc2511f55',
          },
          {
            group: 'left',
            id: 'fe2e8ce5-e128-445f-8ae0-8e81606e78ae',
          },
        ],
      },
      id: 'f03668b7-1145-44ff-b0dc-9b2f1cd96eba',
      zIndex: 9,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'Tim1ClkSel',
        label: 'Tim1ClkSel',
        labelPosition: 'top',
        type: 'mux',
        disabled: '@COMPUTED_GET: !TIM1.enable',
        value: "HSI",
        output_clk: '@COMPUTED_GET: $clock.Tim1ClkSel.options.find(o => o.value === $parent.value).input_clk',
        options: [
          {
            label: 'HSI',
            value: 'HSI',
            input_clk: '@COMPUTED_GET: $clock.HSI.output_clk',
            disabled: '',
            visible: '',
          },
          {
            label: 'PCLK',
            value: 'PCLK',
            input_clk: '@COMPUTED_GET: $clock.ApbPrescaler.output_clk',
            disabled: '',
            visible: '',
          },
        ],
        style: {
          background: '#FFFFFF',
          color: '#999999',
          activeColor: '#333333',
          direction: 'left',
        },
        shape: 'mux',
      },
    },
    {
      shape: 'edge',
      id: '7ff5cd98-aaab-4cca-acbf-278fa0a3a077',
      zIndex: 10,
      labels: [],
      source: {
        cell: '7e2352a0-14dc-4fa9-a37b-0d322a5d0845',
        port: '4dabb223-cddd-4e61-b69f-f456f23780e3',
      },
      target: {
        cell: 'f03668b7-1145-44ff-b0dc-9b2f1cd96eba',
        port: 'd438716c-e65c-492c-961f-cc1e2d3ba107',
      },
      tools: {
        items: [],
        name: null,
      },
      vertices: [
        {
          x: 440,
          y: 250,
        },
        {
          x: 440,
          y: 185,
        },
      ],
    },
    {
      shape: 'edge',
      id: 'c1833dd3-9242-4691-8c56-7dd36007088d',
      zIndex: 11,
      labels: [],
      source: {
        cell: '76534430-7707-4605-a1c1-5b34731385f5',
        port: 'dc0c1651-f46e-4368-939e-ffec6a862576',
      },
      target: {
        cell: 'f03668b7-1145-44ff-b0dc-9b2f1cd96eba',
        port: 'fe2e8ce5-e128-445f-8ae0-8e81606e78ae',
      },
      tools: {
        items: [],
        name: null,
      },
      vertices: [
        {
          x: 900,
          y: 363,
        },
        {
          x: 900,
          y: 255,
        },
      ],
    },
    {
      position: {
        x: 1237,
        y: 200,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: 'aa01e7de-6d69-4cac-852f-419e7584c8f8',
          },
          {
            group: 'right',
            id: '4a5aa9b3-9eec-4dd0-afe5-ee6ed9611eea',
          },
        ],
      },
      id: '0a85cfbc-24ca-4ab9-bf77-dc36f6b36062',
      zIndex: 12,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'TIM1CLK',
        label: 'TIM1CLK',
        labelPosition: 'right',
        type: 'tag',
        disabled: '',
        value: 'tag',
        // output_clk: "@COMPUTED_GET: $parent.input_clk",
        input_clk: '@COMPUTED_GET: $clock.Tim1ClkSel.output_clk',
        style: {
          background: '#EEEEEE',
          color: '#999999',
          textAlign: 'left',
        },
        change: '',
        shape: 'tag',
      },
    },
    {
      shape: 'edge',
      id: '34703a34-885d-4b3e-9ee8-335750edea9a',
      zIndex: 13,
      labels: [],
      source: {
        cell: 'f03668b7-1145-44ff-b0dc-9b2f1cd96eba',
        port: '633bf8b1-baa0-4e49-9ac3-f7acc2511f55',
      },
      target: {
        cell: '0a85cfbc-24ca-4ab9-bf77-dc36f6b36062',
        port: 'aa01e7de-6d69-4cac-852f-419e7584c8f8',
      },
      tools: {
        items: [],
        name: null,
      },
    },
    {
      position: {
        x: 484,
        y: 450,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '4a579ef6-3ac6-4b98-bbbe-8f852309947f',
          },
          {
            group: 'right',
            id: 'dd73cc0d-96b5-4cbb-a548-d1e762703939',
          },
        ],
      },
      id: '5e0e3d1d-2329-41d1-9de0-8bd8889fa50d',
      zIndex: 15,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'TIM4',
        label: 'TIM4',
        labelPosition: 'right',
        type: 'tag',
        disabled: '',
        value: 'tag',
        // output_clk: '@COMPUTED_GET: $parent.input_clk',
        input_clk: '@COMPUTED_GET: $clock.LSI.output_clk',
        style: {
          background: '#EEEEEE',
          color: '#999999',
          textAlign: 'left',
        },
        change: '',
        shape: 'tag',
      },
    },
    {
      shape: 'edge',
      id: 'bf2ab9ae-4a63-4d60-b47d-f1a2ff45c5e1',
      zIndex: 16,
      labels: [],
      source: {
        cell: '9057aa24-6831-441f-bdfe-3d5014e3e1f5',
        port: 'bd2022b4-28dc-40b6-ae73-efd514eb6b98',
      },
      target: {
        cell: '5e0e3d1d-2329-41d1-9de0-8bd8889fa50d',
        port: '4a579ef6-3ac6-4b98-bbbe-8f852309947f',
      },
      tools: {
        items: [],
        name: null,
      },
    },
    {
      position: {
        x: 484,
        y: 551,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '3e3069f3-f635-4d9c-98c7-88b335ccbcbc',
          },
          {
            group: 'right',
            id: '7387b1f7-8755-4e2c-817c-5a2897081985',
          },
        ],
      },
      id: '24406010-8785-4e29-949b-8449723598e8',
      zIndex: 17,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'IWDG',
        label: 'IWDG',
        labelPosition: 'right',
        type: 'tag',
        disabled: '',
        value: 'tag',
        input_clk: '@COMPUTED_GET: $clock.LSI.output_clk',
        style: {
          background: '#EEEEEE',
          color: '#999999',
          textAlign: 'left',
        },
      },
    },
    {
      shape: 'edge',
      id: '896bdb3a-af36-4917-94c0-f99e1903567b',
      zIndex: 18,
      labels: [],
      source: {
        cell: '9057aa24-6831-441f-bdfe-3d5014e3e1f5',
        port: 'bd2022b4-28dc-40b6-ae73-efd514eb6b98',
      },
      target: {
        cell: '24406010-8785-4e29-949b-8449723598e8',
        port: '3e3069f3-f635-4d9c-98c7-88b335ccbcbc',
      },
      tools: {
        items: [],
        name: null,
      },
      vertices: [
        {
          x: 390,
          y: 470,
        },
        {
          x: 390,
          y: 571,
        },
      ],
    },

    {
      position: {
        x: 1237,
        y: 343,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '66d5e90f-17d9-46d2-bef5-f9943ff111ac',
          },
          {
            group: 'right',
            id: 'f29b7c45-b93f-4568-ae19-a3b193369216',
          },
        ],
      },
      id: '66c0cfbd-f909-4a63-9100-a9eda3bf4b2f',
      zIndex: 21,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'PCLK',
        label: 'PCLK',
        labelPosition: 'right',
        type: 'tag',
        disabled: '',
        value: 'tag',
        // output_clk: '@COMPUTED_GET: $parent.input_clk',
        input_clk: '@COMPUTED_GET: $clock.ApbPrescaler.output_clk',
        style: {
          background: '#EEEEEE',
          color: '#999999',
          textAlign: 'left',
        },
      },
    },
    {
      shape: 'edge',
      id: '8e88d6d3-bde5-4ac8-b273-a97fe0459f46',
      zIndex: 22,
      labels: [],
      source: {
        cell: '76534430-7707-4605-a1c1-5b34731385f5',
        port: 'dc0c1651-f46e-4368-939e-ffec6a862576',
      },
      target: {
        cell: '66c0cfbd-f909-4a63-9100-a9eda3bf4b2f',
        port: '66d5e90f-17d9-46d2-bef5-f9943ff111ac',
      },
      tools: {
        items: [],
        name: null,
      },
    },
    {
      position: {
        x: 1237,
        y: 420,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '4eb7ede0-80e4-4d96-bdbc-64608b028002',
          },
          {
            group: 'right',
            id: '09ae19e1-3db0-422d-9a7e-047424de4c00',
          },
        ],
      },
      id: 'f22004e2-b695-4c52-a309-eebf0be697f5',
      zIndex: 23,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'TIM2',
        label: 'TIM2',
        labelPosition: 'right',
        type: 'tag',
        disabled: '',
        value: 'tag',
        // output_clk: '@COMPUTED_GET: $parent.input_clk',
        input_clk: '@COMPUTED_GET: $clock.ApbPrescaler.output_clk',
        style: {
          background: '#EEEEEE',
          color: '#999999',
          textAlign: 'left',
        },
        change: '',
        shape: 'tag',
      },
    },
    {
      position: {
        x: 1237,
        y: 510,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '49f8225b-8973-4ee9-8a0e-9b47b7efb4ab',
          },
          {
            group: 'right',
            id: '8d7cad35-696b-498b-92e7-78789be10c3b',
          },
        ],
      },
      id: '17224dd0-bc64-4990-b353-1242b9d04667',
      zIndex: 24,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'TIM3',
        label: 'TIM3',
        labelPosition: 'right',
        type: 'tag',
        disabled: '',
        value: 'tag',
        // output_clk: '@COMPUTED_GET: $parent.input_clk',
        input_clk: '@COMPUTED_GET: $clock.ApbPrescaler.output_clk',
        style: {
          background: '#EEEEEE',
          color: '#999999',
          textAlign: 'left',
        },
        change: '',
        shape: 'tag',
      },
    },
    {
      position: {
        x: 1237,
        y: 601,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: 'aa3ab4ae-3c05-4bc6-a6c1-dee4ee0777fe',
          },
          {
            group: 'right',
            id: '1b7cdcc4-3ce6-498c-b51a-33f4421afa7c',
          },
        ],
      },
      id: 'c9216972-cbaf-45a0-941d-a360a7f4068a',
      zIndex: 25,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'ADC',
        label: 'ADC',
        labelPosition: 'right',
        type: 'tag',
        disabled: '',
        value: 'tag',
        // output_clk: '@COMPUTED_GET: $parent.input_clk',
        input_clk: '@COMPUTED_GET: $clock.ApbPrescaler.output_clk',
        style: {
          background: '#EEEEEE',
          color: '#999999',
          textAlign: 'left',
        },
        change: '',
        shape: 'tag',
      },
    },
    {
      shape: 'edge',
      id: '55cfb0e7-118e-4ce8-8cd1-b7dbce5b6e80',
      zIndex: 26,
      labels: [],
      source: {
        cell: '76534430-7707-4605-a1c1-5b34731385f5',
        port: 'dc0c1651-f46e-4368-939e-ffec6a862576',
      },
      target: {
        cell: 'f22004e2-b695-4c52-a309-eebf0be697f5',
        port: '4eb7ede0-80e4-4d96-bdbc-64608b028002',
      },
      tools: {
        items: [],
        name: null,
      },
      vertices: [
        {
          x: 900,
          y: 363,
        },
        {
          x: 900,
          y: 440,
        },
      ],
    },
    {
      shape: 'edge',
      id: 'e246aab1-771f-4428-a35f-08ff294ef575',
      zIndex: 27,
      labels: [],
      source: {
        cell: '76534430-7707-4605-a1c1-5b34731385f5',
        port: 'dc0c1651-f46e-4368-939e-ffec6a862576',
      },
      target: {
        cell: '17224dd0-bc64-4990-b353-1242b9d04667',
        port: '49f8225b-8973-4ee9-8a0e-9b47b7efb4ab',
      },
      tools: {
        items: [],
        name: null,
      },
      vertices: [
        {
          x: 900,
          y: 363,
        },
        {
          x: 900,
          y: 530,
        },
      ],
    },
    {
      shape: 'edge',
      id: 'f4f237f7-2fc2-4c08-9df9-68a8a2d91861',
      zIndex: 32,
      labels: [],
      source: {
        cell: '76534430-7707-4605-a1c1-5b34731385f5',
        port: 'dc0c1651-f46e-4368-939e-ffec6a862576',
      },
      target: {
        cell: 'c9216972-cbaf-45a0-941d-a360a7f4068a',
        port: 'aa3ab4ae-3c05-4bc6-a6c1-dee4ee0777fe',
      },
      tools: {
        items: [],
        name: null,
      },
      vertices: [
        {
          x: 900,
          y: 363,
        },
        {
          x: 900,
          y: 621,
        },
      ],
    },
    {
      position: {
        x: 604,
        y: 720,
      },
      size: {
        width: 40,
        height: 140,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'right',
            id: 'aac792ce-790e-43e0-bed7-f321778a44a7',
          },
          {
            group: 'left',
            id: '031fa938-4f80-45c7-8f4e-ff355660f907',
          },
        ],
      },
      id: 'dc270908-2de9-471b-aee2-5f5f1c87a38a',
      zIndex: 36,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'MCOSEL',
        label: 'MCOSEL',
        labelPosition: 'top',
        type: 'mux',
        disabled: '@COMPUTED_GET: !RCC.McoEnable.value',
        value: "LSI",
        output_clk: '@COMPUTED_GET: $parent.options.find(item => item.value === $parent.value).input_clk',
        options: [
          {
            label: 'LSI',
            value: 'LSI',
            input_clk: '@COMPUTED_GET: $clock.LSI.output_clk',
            disabled: '',
            visible: '',
          },
          {
            label: 'SYS_CLK',
            value: 'SYS_CLK',
            input_clk: '@COMPUTED_GET: $clock.HSI.output_clk',
            disabled: '',
            visible: '',
          },
        ],
        style: {
          background: '#FFFFFF',
          color: '#999999',
          activeColor: '#333333',
          direction: 'right',
        },
        shape: 'mux',
      },
    },
    {
      position: {
        x: 384,
        y: 770,
      },
      size: {
        width: 120,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '94ce7baa-e7af-4238-86ce-bf178a8b6c0e',
          },
          {
            group: 'right',
            id: '90cdc0bd-963c-49b1-96ab-9dace736ad18',
          },
        ],
      },
      id: '1add6335-8b8c-481f-9d55-9eb9a5378275',
      zIndex: 37,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'MCOPRE',
        label: 'MCOPRE',
        labelPosition: 'top',
        type: 'select',
        disabled: '@COMPUTED_GET: !RCC.McoEnable.value',
        value: "0",
        output_clk: '@COMPUTED_GET: $parent.input_clk/parseInt($parent.options.find(item => item.value === $parent.value).label.replace("/","")||1)',
        input_clk: '@COMPUTED_GET: $clock.MCOSEL.output_clk',
        inmin: '0',
        inmax: '64000000',
        options: [
          {
            label: '/1',
            value: '0',
            disabled: '',
            visible: '',
          },
          {
            label: '/2',
            value: '1',
            disabled: '',
            visible: '',
          },
          {
            label: '/4',
            value: '2',
            disabled: '',
            visible: '',
          },
          {
            label: '/8',
            value: '3',
            disabled: '',
            visible: '',
          },
          {
            label: '/16',
            value: '4',
            disabled: '',
            visible: '',
          },
        ],
        style: {
          background: '#FFFFFF',
          color: '#333333',
        },
        change: 'const select_node = that.options.find((item)=>{return item.value == that.value})\n      if(select_node){\n        const div = select_node.label.includes("不分频")?1:parseFloat(select_node.label.replace("/",""))\n        that.clk = that.inclk/div\n      }',
        shape: 'div',
      },
    },
    {
      shape: 'edge',
      id: '0771be1c-bb40-4197-adc6-72406da83557',
      zIndex: 38,
      labels: [],
      source: {
        cell: 'dc270908-2de9-471b-aee2-5f5f1c87a38a',
        port: '031fa938-4f80-45c7-8f4e-ff355660f907',
      },
      target: {
        cell: '1add6335-8b8c-481f-9d55-9eb9a5378275',
        port: '90cdc0bd-963c-49b1-96ab-9dace736ad18',
      },
      tools: {
        items: [],
        name: null,
      },
    },
    {
      position: {
        x: 254,
        y: 770,
      },
      size: {
        width: 60,
        height: 40,
      },
      view: 'vue-shape-view',
      shape: 'vue-shape',
      ports: {
        groups: {
          top: {
            position: 'top',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          bottom: {
            position: 'bottom',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          left: {
            position: 'left',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
          right: {
            position: 'right',
            attrs: {
              circle: {
                visibility: 'hidden',
                r: 5,
                magnet: true,
                stroke: '#5F95FF',
                strokeWidth: 1,
                fill: '#fff',
              },
            },
          },
        },
        items: [
          {
            group: 'left',
            id: '78bd7a86-ac6e-4eb6-b66f-5ca607683740',
          },
          {
            group: 'right',
            id: '353fbec4-c719-4206-b7f5-f7f0e52722cb',
          },
        ],
      },
      id: '09c5bebe-d740-44ff-ad00-5bf0f9e5cb92',
      zIndex: 39,
      tools: {
        items: [],
        name: null,
      },
      _data: {
        id: 'MCOCLK',
        label: 'MCOCLK',
        labelPosition: 'left',
        type: 'tag',
        disabled: '@COMPUTED_GET: !RCC.McoEnable.value',
        value: 'tag',
        // output_clk: '@COMPUTED_GET: $parent.input_clk',
        input_clk: '@COMPUTED_GET: $clock.MCOPRE.output_clk',
        style: {
          background: '#EEEEEE',
          color: '#999999',
          textAlign: 'left',
        },
        change: '',
        shape: 'tag',
      },
    },
    {
      shape: 'edge',
      id: '3e1c5749-8d57-4a29-9aea-01da73afac57',
      zIndex: 40,
      labels: [],
      source: {
        cell: '1add6335-8b8c-481f-9d55-9eb9a5378275',
        port: '94ce7baa-e7af-4238-86ce-bf178a8b6c0e',
      },
      target: {
        cell: '09c5bebe-d740-44ff-ad00-5bf0f9e5cb92',
        port: '353fbec4-c719-4206-b7f5-f7f0e52722cb',
      },
      tools: {
        items: [],
        name: null,
      },
    },
  ],
  version: 4
}
Prev
容器组件
Next
时钟树组件