{"id":659,"date":"2023-11-04T17:59:19","date_gmt":"2023-11-04T17:59:19","guid":{"rendered":"https:\/\/simulide.live\/p\/?page_id=659"},"modified":"2024-03-11T01:08:56","modified_gmt":"2024-03-11T01:08:56","slug":"modular","status":"publish","type":"page","link":"https:\/\/simulide.com\/p\/modular\/","title":{"rendered":"Modular"},"content":{"rendered":"<style>.kb-row-layout-id659_776c0d-9b > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id659_776c0d-9b > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id659_776c0d-9b > .kt-row-column-wrap{column-gap:var(--global-kb-gap-none, 0rem );row-gap:var(--global-kb-gap-none, 0rem );padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;grid-template-columns:minmax(0, calc(20% - ((var(--global-kb-gap-none, 0rem ) * 1 )\/2)))minmax(0, calc(80% - ((var(--global-kb-gap-none, 0rem ) * 1 )\/2)));}.kb-row-layout-id659_776c0d-9b > .kt-row-layout-overlay{opacity:0.30;background-color:var(--global-palette9, #ffffff);}@media all and (max-width: 1024px){.kb-row-layout-id659_776c0d-9b > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr);}}@media all and (max-width: 767px){.kb-row-layout-id659_776c0d-9b > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id659_776c0d-9b alignnone kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-layout-overlay kt-row-overlay-normal\"><\/div><div class=\"kt-row-column-wrap kt-has-2-columns kt-row-layout-right-golden kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>#wrapper.site{overflow:clip;}.kadence-column659_7ddec2-ec{--kb-section-setting-offset:50px;}.kadence-column659_7ddec2-ec > .kt-inside-inner-col,.kadence-column659_7ddec2-ec > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column659_7ddec2-ec > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column659_7ddec2-ec > .kt-inside-inner-col{flex-direction:column;}.kadence-column659_7ddec2-ec > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column659_7ddec2-ec > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column659_7ddec2-ec{position:relative;}@media all and (max-width: 1024px){.kadence-column659_7ddec2-ec > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column659_7ddec2-ec > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column659_7ddec2-ec kb-section-is-sticky\"><div class=\"kt-inside-inner-col\">\n<p class=\"has-medium-font-size\"><a href=\"https:\/\/simulide.com\/p\/simulidekb\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/simulidekb\/\"><strong>Index<\/strong><\/a><\/p>\n\n\n<style>.kt-accordion-id534_f8b077-cf .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:0px;}.kt-accordion-id534_f8b077-cf .kt-accordion-panel-inner{border-top:0px solid transparent;border-right:0px solid transparent;border-bottom:0px solid transparent;border-left:0px solid transparent;background:#ffffff;padding-top:0px;padding-right:0px;padding-bottom:var(--global-kb-spacing-xxs, 0.5rem);padding-left:0px;}.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:0px solid #f2f2f2;border-right:0px solid #f2f2f2;border-bottom:0px solid #f2f2f2;border-left:0px solid #f2f2f2;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;background:#ffffff;font-size:var(--global-kb-font-size-sm, 0.9rem);font-weight:600;color:#444444;padding-top:6px;padding-right:30px;padding-bottom:0px;padding-left:0px;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before{background:#444444;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger{background:#444444;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf .kt-blocks-accordion-header:focus-visible{color:#444444;background:#ffffff;border-top-color:#eeeeee;border-top-style:solid;border-right-color:#eeeeee;border-right-style:solid;border-bottom-color:#eeeeee;border-bottom-style:solid;border-left-color:#eeeeee;border-left-style:solid;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion--visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#444444;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger{background:#444444;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id534_f8b077-cf .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{color:#333333;background:#ffffff;border-top-color:#0e9cd1;border-top-style:solid;border-right-color:#0e9cd1;border-right-style:solid;border-bottom-color:#0e9cd1;border-bottom-style:solid;border-left-color:#0e9cd1;border-left-style:solid;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:#333333;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger{background:#333333;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}@media all and (max-width: 1024px){.kt-accordion-id534_f8b077-cf .kt-accordion-panel-inner{border-top:0px solid transparent;border-right:0px solid transparent;border-bottom:0px solid transparent;border-left:0px solid transparent;}}@media all and (max-width: 1024px){.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:0px solid #f2f2f2;border-right:0px solid #f2f2f2;border-bottom:0px solid #f2f2f2;border-left:0px solid #f2f2f2;}}@media all and (max-width: 1024px){.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf .kt-blocks-accordion-header:focus-visible{border-top-color:#eeeeee;border-top-style:solid;border-right-color:#eeeeee;border-right-style:solid;border-bottom-color:#eeeeee;border-bottom-style:solid;border-left-color:#eeeeee;border-left-style:solid;}}@media all and (max-width: 1024px){.kt-accordion-id534_f8b077-cf .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top-color:#0e9cd1;border-top-style:solid;border-right-color:#0e9cd1;border-right-style:solid;border-bottom-color:#0e9cd1;border-bottom-style:solid;border-left-color:#0e9cd1;border-left-style:solid;}}@media all and (max-width: 767px){.kt-accordion-id534_f8b077-cf .kt-accordion-inner-wrap{display:block;}.kt-accordion-id534_f8b077-cf .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:0px;}.kt-accordion-id534_f8b077-cf .kt-accordion-panel-inner{border-top:0px solid transparent;border-right:0px solid transparent;border-bottom:0px solid transparent;border-left:0px solid transparent;}.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:0px solid #f2f2f2;border-right:0px solid #f2f2f2;border-bottom:0px solid #f2f2f2;border-left:0px solid #f2f2f2;}.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf .kt-blocks-accordion-header:focus-visible{border-top-color:#eeeeee;border-top-style:solid;border-right-color:#eeeeee;border-right-style:solid;border-bottom-color:#eeeeee;border-bottom-style:solid;border-left-color:#eeeeee;border-left-style:solid;}.kt-accordion-id534_f8b077-cf .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top-color:#0e9cd1;border-top-style:solid;border-right-color:#0e9cd1;border-right-style:solid;border-bottom-color:#0e9cd1;border-bottom-style:solid;border-left-color:#0e9cd1;border-left-style:solid;}}<\/style>\n<div class=\"wp-block-kadence-accordion alignnone\"><div class=\"kt-accordion-wrap kt-accordion-id534_f8b077-cf kt-accordion-has-7-panes kt-active-pane-1 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-arrow kt-accodion-icon-side-left\" style=\"max-width:none\"><div class=\"kt-accordion-inner-wrap\" data-allow-multiple-open=\"true\" data-start-open=\"1\">\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane534_97206f-18\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Application<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"margin-right:0;margin-left:0;font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/basic-use\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/circuit-tool-bar\/\">Basic use.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/settings\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/circuit-canvas\/\">Settings.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/message-panel\/\">Message panels.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane534_2578b0-9d\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Circuit<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/circuit-tool-bar\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/circuit-tool-bar\/\">Circuit tool bar.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/circuit-canvas\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/circuit-canvas\/\">Circuit canvas.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/circuit-animation\/\">Circuit animation.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/info-panel\/\">Info panel.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane534_8fa430-37\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Components<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/component\/\">Components.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/component-list\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/component-list\">Component list.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/logic-components\/\">Logic Components.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/mcus\/\">Microcontrollers.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/scripted\/\">Scripted.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/linking-components\/\">Linking Components<\/a>.<\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/custom-components\/\">Custom Components.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/subcircuits\/\">Subcircuits<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane534_59e65b-35\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Editor\/Compiler<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/code-editor\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/code-editor\/\">Code Editor.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/compiler\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/compiler\/\">Compiler.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/debugger\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/debugger\/\">Debugger.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane534_d28897-c1\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Files<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/file-explorer\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/file-explorer\/\">File explorer.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/file-organization\/\">File organization.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane534_ce48b7-34\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Development<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/source-code\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/source-code\/\">Source code.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/dependencies\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/dependencies\/\">Dependencies.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n<style>.kadence-column659_04553e-99 > .kt-inside-inner-col{display:flex;}.kadence-column659_04553e-99 > .kt-inside-inner-col,.kadence-column659_04553e-99 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column659_04553e-99 > .kt-inside-inner-col{row-gap:20px;column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column659_04553e-99 > .kt-inside-inner-col{flex-direction:column;}.kadence-column659_04553e-99 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column659_04553e-99 > .kt-inside-inner-col{background-color:var(--global-palette9, #ffffff);}.kadence-column659_04553e-99 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column659_04553e-99{position:relative;}@media all and (max-width: 1024px){.kadence-column659_04553e-99 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column659_04553e-99 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column659_04553e-99\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c, .wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c[data-kb-block=\"kb-adv-heading659_09608b-4c\"]{text-align:center;font-style:normal;background-color:#f0f0d2;text-shadow:-1.2px 1.2px 1.1px rgba(0,0,0,0.3);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c[data-kb-block=\"kb-adv-heading659_09608b-4c\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c[data-kb-block=\"kb-adv-heading659_09608b-4c\"] img.kb-inline-image{width:150px;vertical-align:baseline;}@media all and (max-width: 1024px){.wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c, .wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c[data-kb-block=\"kb-adv-heading659_09608b-4c\"]{text-shadow:-1.2px 1.2px 1.1px rgba(0,0,0,0.3);}}@media all and (max-width: 767px){.wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c, .wp-block-kadence-advancedheading.kt-adv-heading659_09608b-4c[data-kb-block=\"kb-adv-heading659_09608b-4c\"]{text-shadow:-1.2px 1.2px 1.1px rgba(0,0,0,0.3);}}<\/style>\n<h1 class=\"kt-adv-heading659_09608b-4c wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading659_09608b-4c\">SimulIDE Knowledge Base &#8211; MODULAR<\/h1>\n\n\n<div class=\"external-markdown\"><p>These components are created from different \u201cmodules\u201d, for example: CPU, RAM, ROM, PGM, Ports, Timers, etc.<br><\/p>\n<p>All these internal modules are defined in an xml file. There you describe the characteristics of the component and which modules to use and it\u2019s characteristics.<br><\/p>\n<p>There are 3 types of Modular Components:<\/p>\n<ul>\n<li><a href=\"\/p\/mcus\">MCUs<\/a><\/li>\n<li><a href=\"\/p\/mpus\">MPUs<\/a><\/li>\n<li><a href=\"\/p\/scripted\">Scripted<\/a><\/li>\n<\/ul>\n<p>Creating a modular component involves at least these steps (Scripted needs an additional script file):<\/p>\n<ol type=\"1\">\n<li><a href=\"\/p\/package\/#creating-package-file\">Creating Package File.<\/a><\/li>\n<li>Creating <a href=\"\/p\/definition-file\">Definition file<\/a>.<\/li>\n<li><a href=\"#creating-component-folder\">Creating component folder<\/a> with all files.<\/li>\n<li><a href=\"#add-to-component-list\">Add to component list<\/a><\/li>\n<\/ol>\n<hr \/>\n<h2 id=\"creating-definition-file.\">Creating <a href=\"\/p\/definition-file\">Definition file<\/a>.<\/h2>\n<p>This file describes which kind of component it is and the parts or modules it contains.<br><\/p>\n<p>This is an example of an definition file for an imaginary Microcontroller with 32 bytes of RAM, 256 of PGM, a group of Registers, one Port and one Timer:<\/p>\n<div class=\"sourceCode\" id=\"cb1\"><pre class=\"sourceCode xml\"><code class=\"sourceCode xml\"><span id=\"cb1-1\"><a href=\"#cb1-1\" aria-hidden=\"true\"><\/a><span class=\"kw\">&lt;mcu<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;Mcu1&quot;<\/span><span class=\"ot\"> core=<\/span><span class=\"st\">&quot;Pic14&quot;<\/span><span class=\"ot\"> data=<\/span><span class=\"st\">&quot;32&quot;<\/span><span class=\"ot\"> prog=<\/span><span class=\"st\">&quot;256&quot;<\/span><span class=\"ot\"> progword=<\/span><span class=\"st\">&quot;2&quot;<\/span><span class=\"ot\"> inst_cycle=<\/span><span class=\"st\">&quot;4&quot;<\/span><span class=\"kw\">&gt;<\/span><\/span>\n<span id=\"cb1-2\"><a href=\"#cb1-2\" aria-hidden=\"true\"><\/a><\/span>\n<span id=\"cb1-3\"><a href=\"#cb1-3\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;regblock<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;SFR0&quot;<\/span><span class=\"ot\"> start=<\/span><span class=\"st\">&quot;0x00&quot;<\/span><span class=\"ot\"> end=<\/span><span class=\"st\">&quot;0x0B&quot;<\/span> <span class=\"kw\">&gt;<\/span><\/span>\n<span id=\"cb1-4\"><a href=\"#cb1-4\" aria-hidden=\"true\"><\/a>  <\/span>\n<span id=\"cb1-5\"><a href=\"#cb1-5\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;register<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;TMR0&quot;<\/span><span class=\"ot\">   addr=<\/span><span class=\"st\">&quot;0x01&quot;<\/span><span class=\"ot\"> bits=<\/span><span class=\"st\">&quot;&quot;<\/span><span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb1-6\"><a href=\"#cb1-6\" aria-hidden=\"true\"><\/a>    <\/span>\n<span id=\"cb1-7\"><a href=\"#cb1-7\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;register<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;OSCCAL&quot;<\/span><span class=\"ot\"> addr=<\/span><span class=\"st\">&quot;0x05&quot;<\/span><span class=\"ot\"> reset=<\/span><span class=\"st\">&quot;11111110&quot;<\/span><\/span>\n<span id=\"cb1-8\"><a href=\"#cb1-8\" aria-hidden=\"true\"><\/a><span class=\"ot\">              bits=<\/span><span class=\"st\">&quot;FOSC4,CAL0,CAL1,CAL2,CAL3,CAL4,CAL5,CAL6&quot;<\/span><span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb1-9\"><a href=\"#cb1-9\" aria-hidden=\"true\"><\/a><\/span>\n<span id=\"cb1-10\"><a href=\"#cb1-10\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;register<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;GPIO&quot;<\/span><span class=\"ot\"> addr=<\/span><span class=\"st\">&quot;0x06&quot;<\/span> <\/span>\n<span id=\"cb1-11\"><a href=\"#cb1-11\" aria-hidden=\"true\"><\/a><span class=\"ot\">              bits=<\/span><span class=\"st\">&quot;GP0,GP1,GP2,GP3&quot;<\/span><span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb1-12\"><a href=\"#cb1-12\" aria-hidden=\"true\"><\/a><\/span>\n<span id=\"cb1-13\"><a href=\"#cb1-13\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;register<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;TRISGPIO&quot;<\/span><span class=\"ot\"> addr=<\/span><span class=\"st\">&quot;0x07&quot;<\/span><span class=\"ot\"> bits=<\/span><span class=\"st\">&quot;0-7&quot;<\/span><span class=\"ot\"> reset=<\/span><span class=\"st\">&quot;00001111&quot;<\/span><span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb1-14\"><a href=\"#cb1-14\" aria-hidden=\"true\"><\/a><\/span>\n<span id=\"cb1-15\"><a href=\"#cb1-15\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;register<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;OPTION&quot;<\/span><span class=\"ot\"> addr=<\/span><span class=\"st\">&quot;0x08&quot;<\/span><span class=\"ot\"> reset=<\/span><span class=\"st\">&quot;11111111&quot;<\/span><\/span>\n<span id=\"cb1-16\"><a href=\"#cb1-16\" aria-hidden=\"true\"><\/a><span class=\"ot\">              bits=<\/span><span class=\"st\">&quot;PS0,PS1,PS2,PSA,T0SE,T0CS,GPPU,GPWU&quot;<\/span><span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb1-17\"><a href=\"#cb1-17\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;\/regblock&gt;<\/span><\/span>\n<span id=\"cb1-18\"><a href=\"#cb1-18\" aria-hidden=\"true\"><\/a><\/span>\n<span id=\"cb1-19\"><a href=\"#cb1-19\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;port<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;PORTP&quot;<\/span><span class=\"ot\"> pins=<\/span><span class=\"st\">&quot;4&quot;<\/span><span class=\"ot\"> outreg=<\/span><span class=\"st\">&quot;GPIO&quot;<\/span><span class=\"ot\"> dirreg=<\/span><span class=\"st\">&quot;!TRISGPIO&quot;<\/span> <\/span>\n<span id=\"cb1-20\"><a href=\"#cb1-20\" aria-hidden=\"true\"><\/a><span class=\"ot\">                     inpmask=<\/span><span class=\"st\">&quot;11110111&quot;<\/span> <\/span>\n<span id=\"cb1-21\"><a href=\"#cb1-21\" aria-hidden=\"true\"><\/a><span class=\"ot\">                     pullups=<\/span><span class=\"st\">&quot;!GPPU&quot;<\/span> <\/span>\n<span id=\"cb1-22\"><a href=\"#cb1-22\" aria-hidden=\"true\"><\/a><span class=\"ot\">                     resetpin=<\/span><span class=\"st\">&quot;PORTP3&quot;<\/span><span class=\"kw\">&gt;<\/span><\/span>\n<span id=\"cb1-23\"><a href=\"#cb1-23\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;\/port&gt;<\/span><\/span>\n<span id=\"cb1-24\"><a href=\"#cb1-24\" aria-hidden=\"true\"><\/a><\/span>\n<span id=\"cb1-25\"><a href=\"#cb1-25\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;timer<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;TIMER0&quot;<\/span><span class=\"ot\"> type=<\/span><span class=\"st\">&quot;800&quot;<\/span><span class=\"ot\"> configregsA=<\/span><span class=\"st\">&quot;OPTION&quot;<\/span><\/span>\n<span id=\"cb1-26\"><a href=\"#cb1-26\" aria-hidden=\"true\"><\/a><span class=\"ot\">                       counter=<\/span><span class=\"st\">&quot;TMR0&quot;<\/span><\/span>\n<span id=\"cb1-27\"><a href=\"#cb1-27\" aria-hidden=\"true\"><\/a><span class=\"ot\">                       clockpin=<\/span><span class=\"st\">&quot;PORTP2&quot;<\/span><\/span>\n<span id=\"cb1-28\"><a href=\"#cb1-28\" aria-hidden=\"true\"><\/a>  <span class=\"er\">&lt;\/<\/span><span class=\"ot\">timer<\/span><span class=\"er\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n<p><br><\/p>\n<hr \/>\n<h2 id=\"creating-component-folder\">Creating component folder<\/h2>\n<p>The simplest way is to use the the component name for the folder and all files as explained <a href=\"\/p\/custom-components\/#creating-component-folder\">here<\/a>.<br><\/p>\n<p>But it is possible to use different file names or use packages from other components. To do this, you need to specify paths for these files as explained below.<\/p>\n<hr \/>\n<h2 id=\"add-to-component-list.\">Add to component list.<\/h2>\n<p>The simplest method and common options is explained <a href=\"\/p\/custom-components\/#add-to-component-list\">here<\/a>.<br><\/p>\n<p>But is is possible to use specific paths for package and definition files. Path to all files are relative to \u201cdata\u201d folder.<\/p>\n<div class=\"sourceCode\" id=\"cb2\"><pre class=\"sourceCode xml\"><code class=\"sourceCode xml\"><span id=\"cb2-1\"><a href=\"#cb2-1\" aria-hidden=\"true\"><\/a><span class=\"kw\">&lt;itemlib&gt;<\/span>  <\/span>\n<span id=\"cb2-2\"><a href=\"#cb2-2\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;itemset<\/span><span class=\"er\">\u00a0<\/span><span class=\"ot\">category=<\/span><span class=\"st\">&quot;Some Category&quot;<\/span><span class=\"er\">\u00a0<\/span><span class=\"ot\">type=<\/span><span class=\"st\">&quot;MCU&quot;<\/span><span class=\"kw\">&gt;<\/span>  <\/span>\n<span id=\"cb2-3\"><a href=\"#cb2-3\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;item<\/span><span class=\"er\">\u00a0<\/span><span class=\"ot\">name=<\/span><span class=\"st\">&quot;Name1&quot;<\/span><span class=\"er\">\u00a0<\/span><span class=\"ot\">package=<\/span><span class=\"st\">&quot;file1.package&quot;<\/span><span class=\"er\">\u00a0<\/span><span class=\"ot\">data=<\/span><span class=\"st\">&quot;fileX.mcu&quot;<\/span><span class=\"er\">\u00a0<\/span><span class=\"kw\">\/&gt;<\/span>  <\/span>\n<span id=\"cb2-4\"><a href=\"#cb2-4\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;item<\/span><span class=\"er\">\u00a0<\/span><span class=\"ot\">name=<\/span><span class=\"st\">&quot;Name2&quot;<\/span><span class=\"er\">\u00a0<\/span><span class=\"ot\">package=<\/span><span class=\"st\">&quot;file2.package&quot;<\/span><span class=\"er\">\u00a0<\/span><span class=\"ot\">data=<\/span><span class=\"st\">&quot;fileY.mcu&quot;<\/span><span class=\"er\">\u00a0<\/span><span class=\"kw\">\/&gt;<\/span>  <\/span>\n<span id=\"cb2-5\"><a href=\"#cb2-5\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;\/itemset&gt;<\/span><\/span>\n<span id=\"cb2-6\"><a href=\"#cb2-6\" aria-hidden=\"true\"><\/a><span class=\"kw\">&lt;\/itemlib&gt;<\/span><\/span><\/code><\/pre><\/div>\n<ul>\n<li><strong>package<\/strong>\u00a0Is the path to package file, relative to SimulIDE data folder.<br \/>\n<\/li>\n<li><strong>data<\/strong>\u00a0Is the path to definition file, relative to SimulIDE data folder. <br><\/li>\n<\/ul>\n<hr \/>\n<h2 id=\"resources\">Resources:<\/h2>\n<hr \/>\n<\/div>\n<\/div><\/div>\n\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>SimulIDE Knowledge Base &#8211; MODULAR<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"class_list":["post-659","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/pages\/659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/comments?post=659"}],"version-history":[{"count":2,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/pages\/659\/revisions"}],"predecessor-version":[{"id":3214,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/pages\/659\/revisions\/3214"}],"wp:attachment":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/media?parent=659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}