{"id":11632,"date":"2022-04-12T06:52:04","date_gmt":"2022-04-12T06:52:04","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=11632"},"modified":"2026-02-09T13:15:18","modified_gmt":"2026-02-09T13:15:18","slug":"cockpit-user-guide","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide","title":{"rendered":"Cockpit &#8211; User guide"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right-text counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Connecting-a-user-code-with-a-controller\" >Connecting a user code with a controller<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#How-to-create-a-new-project\" >How to create a new project<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#How-use-the-project-pane\" >How use the project pane<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Interacting-with-the-user-code\" >Interacting with the user code<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Scope-module\" >Scope module<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Spectral-Analyzer\" >Spectral Analyzer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Rolling-plot-module\" >Rolling plot module&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#XY-plot-module\" >XY plot module<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Exporting-plots-from-Cockpit-modules\" >Exporting plots from Cockpit modules<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Variables-module\" >Variables module<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#DAC-module\" >DAC module&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#GUI-Builder-module\" >GUI Builder module&nbsp;<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Interacting-with-the-controller-directly\" >Interacting with the controller directly<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Configuring-imperix-controllers-from-Cockpit\" >Configuring imperix controllers from Cockpit<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Monitoring-the-status-of-imperix-controllers\" >Monitoring the status of imperix controllers<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p>This user guide explains how to use <a href=\"https:\/\/imperix.com\/software\/cockpit\/\" target=\"_blank\" rel=\"noreferrer noopener\">imperix Cockpit<\/a> to interact with imperix power converter controllers, namely the <a href=\"https:\/\/imperix.com\/products\/control\/rcp-controller\/\">B-Box 4<\/a>, &nbsp;<a href=\"https:\/\/imperix.com\/products\/control\/rapid-prototyping-controller\/\">B-Box RCP<\/a>,&nbsp;<a href=\"https:\/\/imperix.com\/products\/control\/inverter-control-board\/\">B-Board PRO<\/a>, the <a href=\"https:\/\/imperix.com\/products\/control\/power-inverter-controller\/\">B-Box Micro<\/a>, and the <a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\">Programmable Inverter<\/a>. The article gives an overview of the tools and features provided by Cockpit and how to use them.<\/p>\n\n\n\n<p>For new users, it is recommended to read the article on <a href=\"https:\/\/imperix.com\/doc\/help\/programming-imperix-controllers\" target=\"_blank\" rel=\"noreferrer noopener\">Programming imperix controllers<\/a> to get started with the imperix software development kit (SDK).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-what-is-cockpit\">What is Cockpit<\/h4>\n\n\n\n<p>Cockpit is the monitoring software included with both the <a href=\"https:\/\/imperix.com\/software\/acg-sdk\/\">ACG SDK<\/a> and <a href=\"https:\/\/imperix.com\/software\/cpp-sdk\/\">CPP SDK<\/a>. It is designed to facilitate the experimental testing of power electronics systems by leveraging the hardware capabilities of imperix programmable controllers.<\/p>\n\n\n\n<p>The software provides various tools for interacting with imperix controllers and the user code running on them.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"811\" height=\"606\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/cockpit_2026-1.png\" alt=\"\" class=\"wp-image-41778\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/cockpit_2026-1.png 811w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/cockpit_2026-1-300x224.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/cockpit_2026-1-768x574.png 768w\" sizes=\"auto, (max-width: 811px) 100vw, 811px\" \/><figcaption class=\"wp-element-caption\">Overview of Cockpit&#8217;s interface<\/figcaption><\/figure>\n<\/div>\n\n<style>.kt-accordion-id11632_219d28-5f .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id11632_219d28-5f .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;padding-top:20px;padding-right:20px;padding-bottom:20px;padding-left:20px;}.kt-accordion-id11632_219d28-5f > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;font-size:16px;line-height:24px;letter-spacing:0px;font-weight:bold;text-transform:none;color:var(--global-palette3, #1A202C);padding-top:12px;padding-right:10px;padding-bottom:8px;padding-left:16px;}.kt-accordion-id11632_219d28-5f: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-id11632_219d28-5f: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:var(--global-palette3, #1A202C);}.kt-accordion-id11632_219d28-5f:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f > .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-id11632_219d28-5f .kt-blocks-accordion-header:focus-visible{color:#444444;background:#ffffff;border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f: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-id11632_219d28-5f .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_219d28-5f > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{color:var(--global-palette3, #1A202C);background:var(--global-palette9, #ffffff);border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}.kt-accordion-id11632_219d28-5f: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-id11632_219d28-5f: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:var(--global-palette3, #1A202C);}.kt-accordion-id11632_219d28-5f: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:var(--global-palette3, #1A202C);}.kt-accordion-id11632_219d28-5f: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-id11632_219d28-5f: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:var(--global-palette9, #ffffff);}@media all and (max-width: 1024px){.kt-accordion-id11632_219d28-5f .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}}@media all and (max-width: 1024px){.kt-accordion-id11632_219d28-5f > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}}@media all and (max-width: 1024px){.kt-accordion-id11632_219d28-5f > .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-id11632_219d28-5f .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}}@media all and (max-width: 1024px){.kt-accordion-id11632_219d28-5f .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_219d28-5f > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}@media all and (max-width: 767px){.kt-accordion-id11632_219d28-5f .kt-accordion-inner-wrap{display:block;}.kt-accordion-id11632_219d28-5f .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id11632_219d28-5f .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}.kt-accordion-id11632_219d28-5f > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}.kt-accordion-id11632_219d28-5f > .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-id11632_219d28-5f .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id11632_219d28-5f .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_219d28-5f > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}<\/style>\n<div class=\"wp-block-kadence-accordion alignnone\"><div class=\"kt-accordion-wrap kt-accordion-id11632_219d28-5f kt-accordion-has-9-panes kt-active-pane-0 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=\"false\" data-start-open=\"0\">\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-1 kt-pane11632_52082a-f5\"><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\">1 &#8211; <strong style=\"font-weight: bold;\">Top bar<\/strong><\/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<p>The top bar offers the following tabs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <em>Modules <\/em>tab contains several modules that can be placed in the project view to monitor and tune the variables of the control code.<\/li>\n\n\n\n<li>The <em>Import\/Export<\/em> tab provides tools to export signals acquired with the Scope and Rolling plot modules in the CSV or MAT file format or directly as a MATLAB figure.<\/li>\n\n\n\n<li>The <em>Help<\/em> tab contains tools that help interact with the hardware setup, like the device analog channel configurator, along with settings menus and various links to the documentation or other information.<\/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-pane11632_dc27a4-e8\"><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\">2 &#8211; <strong>The left bar<\/strong><\/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<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>The left bar allows switching between the two perspectives provided by Cockpit:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Projects<\/em>, which displays all of the projects created in Cockpit.<\/li>\n\n\n\n<li><em>Targets<\/em>, which displays all of the <a href=\"https:\/\/imperix.com\/products\/power-electronic-controllers\/\">imperix controllers<\/a> detected by the host PC through Ethernet and the projects they are linked to.<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex\">\n<p>In the <em>Projects<\/em> perspective, the user can quickly switch between multiple projects, making it easy to swap one control code for another or quickly test variants of the same control algorithm on a single target. In a multi-controller scenario, the left bar allows users to keep an eye on the status of every controller.&nbsp;<\/p>\n<\/div>\n<\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane11632_b5b991-b3\"><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\">3 &#8211; <strong>Project pane<\/strong><\/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<p class=\"has-theme-palette-3-color has-text-color\">The project pane offers a centralized view from which the user can pilot, configure, and maintain the controllers in addition to a quick overview of the controller state and connection status.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane11632_b792af-cd\"><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\">4 &#8211; <strong>Project\/target view<\/strong><\/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<p>The project view is the work area where modules can be placed and rearranged at will to tune and monitor control algorithms. Each project has its own project view, which allows the user to tailor the area according to the application.<\/p>\n\n\n\n<p>In the <em>Targets<\/em> perspective the view is reserved for displaying the info and configuration options related to devices selected through the left bar.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane11632_e00a9e-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\"><strong><strong>5 &#8211; <strong>The bottom bar<\/strong><\/strong><\/strong><\/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<p>This is another project-specific area, organized in the form of tabs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <em>Logs <\/em>tab, which is always present in every project, displays messages reported by the connected controller.<\/li>\n\n\n\n<li>The <em><a href=\"https:\/\/imperix.com\/doc\/help\/scope-module\">Scope<\/a> <\/em>and <em><a href=\"https:\/\/imperix.com\/doc\/help\/rolling-plot-module\">Rolling Plot<\/a><\/em> tabs are generated when their respective modules are added to the project view. They display information related to the signals plotted in them.<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-9 kt-pane11632_9c3ce4-72\"><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\"><strong>6 &#8211; The right bar<\/strong><\/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<p>Similar to the tabs in the bottom bar, the right bar hosts various configuration menus that are created when corresponding modules are added to the project view.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"connecting-controller\" style=\"margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)\"><span class=\"ez-toc-section\" id=\"Connecting-a-user-code-with-a-controller\"><\/span>Connecting a user code with a controller<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Uploading and running a custom code on an imperix controller starts with setting up a Cockpit project. Cockpit operates on a one user code &#8211; one project principle. Every project can only be connected to one device (or set of devices in case of a master-slave setup) at a time. <br>Cockpit, however, offers the flexibility of changing the user code that will be launched from a project, as well as the flexibility of reconnecting the project to a different device.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-how-to-create-a-new-project\"><span class=\"ez-toc-section\" id=\"How-to-create-a-new-project\"><\/span>How to create a new project<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>To connect a user code with an imperix controller, creating a new project is required.<br>After the steps described in <a href=\"https:\/\/imperix.com\/doc\/help\/programming-imperix-controllers#h-how-to-program-the-controller\" target=\"_blank\" rel=\"noreferrer noopener\">How to program the controller<\/a> are achieved, Cockpit is automatically launched and a new project is created with a pre-filled project name and path to the user code. <br>Alternatively, it is also possible to manually open Cockpit and create a new project by clicking on the + button at the bottom of the left bar in the <em>Projects<\/em> perspective.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"289\" height=\"139\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/new_project_pane-3.png\" alt=\"\" class=\"wp-image-32484\"\/><figcaption class=\"wp-element-caption\">New project pane<\/figcaption><\/figure>\n<\/div>\n\n\n<p>To finalize the project creation, the project must be linked to a Target. Clicking on the <em>LINK TARGET<\/em>  button in the new project pane will automatically switch Cockpit to the <em>Targets <\/em>perspective.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1351\" height=\"773\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/linking.png\" alt=\"\" class=\"wp-image-40305\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/linking.png 1351w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/linking-300x172.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/linking-1024x586.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/linking-768x439.png 768w\" sizes=\"auto, (max-width: 1351px) 100vw, 1351px\" \/><figcaption class=\"wp-element-caption\">Overview of the Cockpit interface in the <em>Targets<\/em> perspective<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex\">\n<p>In the <em>Targets <\/em>perspective the left bar shows a list of imperix controllers detected by the host PC through Ethernet. Please refer to the chapter on <a href=\"https:\/\/imperix.com\/doc\/help\/programming-imperix-controllers?currentThread=b-board-pro#How-to-connect-the-controller-to-the-host-computer\" target=\"_blank\" rel=\"noreferrer noopener\">How to connect the controller to the host PC<\/a> to ensure your target is properly connected to the host computer.<\/p>\n\n\n\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex\">\n<p>The controllers are grouped based on their <a href=\"https:\/\/imperix.com\/technology\/low-latency-communication\/\">RealSync <\/a>connections. The RealSync networks are then separated into <em>MY TARGETS<\/em> and <em>OTHER TARGETS<\/em> based on whether at least one device in the network is already linked to a Cockpit project.<\/p>\n\n\n\n<p>Clicking on a controller will bring up the related Target view and show the button that allows linking the project to it. If the selected target is already linked, relinking will unlink the previous project and link the current one. <\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">While linking to any target is allowed, to avoid configuration errors please mind the warnings given by Cockpit and BBOS and ensure the device configuration in your user codes matches your setup. To learn more about multi-device setups, refer to the chapter on <a href=\"https:\/\/imperix.com\/doc\/help\/multi-master-mode-for-distributed-networked-control-systems\" target=\"_blank\" rel=\"noreferrer noopener\">Multi-device systems<\/a>.<\/div>\n\n\n\n<p>Once the project is linked, Cockpit will automatically shift back to the <em>Projects<\/em> perspective, where the newly created project pane will then appear in the left bar and a blank project view will be created.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-how-to-interact-with-the-project-pane\"><span class=\"ez-toc-section\" id=\"How-use-the-project-pane\"><\/span>How use the project pane<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The project pane offers a centralized view from which the user can pilot their imperix controller. It also allows quick access and an overview of all of the control variables defined in the user code.<\/p>\n\n\n\n<p>Upon linking, the project pane will automatically connect to the specified target, load, and start the user code (.elf file). The following image shows the project pane once it is connected to the target.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"854\" height=\"278\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_annotated_2026.1.png\" alt=\"\" class=\"wp-image-40363\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_annotated_2026.1.png 854w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_annotated_2026.1-300x98.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_annotated_2026.1-768x250.png 768w\" sizes=\"auto, (max-width: 854px) 100vw, 854px\" \/><figcaption class=\"wp-element-caption\">Project pane when connected to a target<\/figcaption><\/figure>\n<\/div>\n\n<style>.kt-accordion-id11632_2d3823-a3 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id11632_2d3823-a3 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;padding-top:20px;padding-right:20px;padding-bottom:20px;padding-left:20px;}.kt-accordion-id11632_2d3823-a3 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;font-size:16px;line-height:24px;letter-spacing:0px;font-weight:bold;text-transform:none;color:var(--global-palette3, #1A202C);padding-top:12px;padding-right:10px;padding-bottom:8px;padding-left:16px;}.kt-accordion-id11632_2d3823-a3: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-id11632_2d3823-a3: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:var(--global-palette3, #1A202C);}.kt-accordion-id11632_2d3823-a3:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3 > .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-id11632_2d3823-a3 .kt-blocks-accordion-header:focus-visible{color:#444444;background:#ffffff;border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3: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-id11632_2d3823-a3 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_2d3823-a3 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{color:var(--global-palette3, #1A202C);background:var(--global-palette9, #ffffff);border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}.kt-accordion-id11632_2d3823-a3: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-id11632_2d3823-a3: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:var(--global-palette3, #1A202C);}.kt-accordion-id11632_2d3823-a3: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:var(--global-palette3, #1A202C);}.kt-accordion-id11632_2d3823-a3: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-id11632_2d3823-a3: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:var(--global-palette9, #ffffff);}@media all and (max-width: 1024px){.kt-accordion-id11632_2d3823-a3 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}}@media all and (max-width: 1024px){.kt-accordion-id11632_2d3823-a3 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}}@media all and (max-width: 1024px){.kt-accordion-id11632_2d3823-a3 > .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-id11632_2d3823-a3 .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}}@media all and (max-width: 1024px){.kt-accordion-id11632_2d3823-a3 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_2d3823-a3 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}@media all and (max-width: 767px){.kt-accordion-id11632_2d3823-a3 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id11632_2d3823-a3 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id11632_2d3823-a3 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}.kt-accordion-id11632_2d3823-a3 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}.kt-accordion-id11632_2d3823-a3 > .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-id11632_2d3823-a3 .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id11632_2d3823-a3 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_2d3823-a3 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}<\/style>\n<div class=\"wp-block-kadence-accordion alignnone\"><div class=\"kt-accordion-wrap kt-accordion-id11632_2d3823-a3 kt-accordion-has-16-panes kt-active-pane-8 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=\"false\" data-start-open=\"8\">\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-9 kt-pane11632_f7bdf7-3c\"><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\">1 &#8211; Target status indicators <\/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<p>This space is reserved for status icons indicating if the project is disconnected from the device or, in the case it is connected, if there&#8217;s any notifications from BBOS, user code running status etc.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane11632_208068-ad\"><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\">2 &#8211; <strong>Enable\/Disable the PWM outputs<\/strong><\/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<p>Enables\/disables the target\u2019s gating signals. Further information on this mechanism is available in the chapter<a href=\"https:\/\/imperix.com\/doc\/help\/programming-imperix-controllers#h-enabling-disabling-pwm-signals\" target=\"_blank\" rel=\"noreferrer noopener\"> Enabling\/disabling PWM signals<\/a>.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane11632_65e04d-c4\"><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\">3 &#8211; <strong>Target operating state<\/strong><\/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<p>Displays the current <a href=\"https:\/\/imperix.com\/doc\/help\/programming-imperix-controllers#h-the-operating-states-of-the-controller\" target=\"_blank\" rel=\"noreferrer noopener\">operating state<\/a> of the controller.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane11632_eb5a9e-65\"><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\">4 &#8211; <strong>User variables section<\/strong><\/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<p>This section displays all the user variables defined in the user code. These user variables are signals that are either connected to a <a href=\"https:\/\/imperix.com\/doc\/software\/probe-variable\" target=\"_blank\" rel=\"noreferrer noopener\">Probe block<\/a> or a <a href=\"https:\/\/imperix.com\/doc\/software\/tunable-parameter\" target=\"_blank\" rel=\"noreferrer noopener\">Tunable parameter block<\/a>.<\/p>\n\n\n\n<p>Signals connected to Tunable parameter blocks can be modified directly from this section but also in the Project View, where various Cockpit modules make it easier to visualize and track these user variables in run-time.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-16 kt-pane11632_efa8be-cb\"><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\">5 &#8211; Oversampling variables section<\/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<p>This section displays variables corresponding to the hardware resources allocated by the user code. This includes variables corresponding to <a href=\"https:\/\/imperix.com\/doc\/software\/analog-data-acquisition\">ADC<\/a> channels, located in the <em>ANALOG INPUTS<\/em> section, as well as <a href=\"https:\/\/imperix.com\/doc\/software\/pulse-width-modulator\">PWM<\/a> channels and <a href=\"https:\/\/imperix.com\/doc\/software\/general-purpose-inputs\">GPI<\/a>, <a href=\"https:\/\/imperix.com\/doc\/software\/general-purpose-outputs\">GPO <\/a>and <a href=\"https:\/\/imperix.com\/doc\/software\/fault-inputs\">FLT<\/a> pins, located in the <em>DIGITAL I\/O<\/em> section.<\/p>\n\n\n\n<p>When added to the scope, these variables allow the user to acquire the data from the corresponding hardware resource directly, unbounded by the user code control task rate. These variables only exist when running user codes on the <a href=\"https:\/\/imperix.com\/products\/control\/rcp-controller\/\">B-Box 4<\/a>.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-10 kt-pane11632_bab90d-8c\"><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\">6 &#8211; Unlink project from target<\/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<p>Clicking on this entry will unlink this project from its target.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">Note that when the project is unlinked, the user code will continue to run, and if the PWM outputs are enabled, they will not be automatically disabled.<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-8 kt-pane11632_742424-95\"><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\">7 &#8211; <strong>Disconnect from the target<\/strong><\/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<p>Clicking on this entry will disconnect the target from the host computer.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">Note that when the project is disconnected, the user code will continue to run, and if the PWM outputs are enabled, they will not be automatically disabled.<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-15 kt-pane11632_47bff0-e1\"><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\">8 &#8211; Stop the user code<\/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<p>Clicking on this entry will stop the user code on the target linked to the project.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-1 kt-pane11632_f4d704-ce\"><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\">9 &#8211; <strong>Edit project settings <\/strong><\/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<p>Clicking on this entry allows the user to change the user code or delete this project.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-12 kt-pane11632_b12200-91\"><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\">10 &#8211; Delete project<\/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<p>This entry allows the user to delete the project.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">Note that when the project is deleted, the user code will continue to run, and if the PWM outputs are enabled, they will not be automatically disabled.<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-14 kt-pane11632_7fbe9a-40\"><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\">11 &#8211; Target timings<\/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<p>This entry switches Cockpit to the <em>Targets<\/em> perspective and shows the Timings tab of the linked target in the central view. This tab provides a graphical representation of the various computation and communication delays involved in the imperix controllers during run-time.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-13 kt-pane11632_4a9ba3-e9\"><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\">12 &#8211; Target configuration<\/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<p>This entry switches Cockpit to the <em>Targets<\/em> perspective and shows the Target Configuration tab of the linked target in the central view. From this tab, it is possible to configure the target. In the other tabs the user can see the visualization of the various computation and communication delays of the control, and generate an <a href=\"https:\/\/imperix.com\/doc\/help\/analog-front-end-configuration-on-b-box-rcp\" target=\"_blank\" rel=\"noreferrer noopener\">analog front-end configuration<\/a>.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">If a fault is triggered on the controller, the project pane interface will be changed similar to the ones displayed in the following image. The exact message will depend on the type of fault that has occurred. Further information on how faults work and how to troubleshoot them are detailed in the <a href=\"https:\/\/imperix.com\/doc\/help\/programming-imperix-controllers#operating-states-of-the-controller\">Operating states of the controller<\/a> subsection of the Programming and operating imperix controllers article.<\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"654\" height=\"211\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_safety_limit_fault-2.png\" alt=\"\" class=\"wp-image-40387\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_safety_limit_fault-2.png 654w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_safety_limit_fault-2-300x97.png 300w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">If Cockpit unsuccessfully tries to connect to the target (image below), the project pane will indicate that the connection with the target cannot be established or is lost. In this case, check that the Ethernet cable is correctly connected and the target is powered on. Subsequently, verify that the specified IP address is correct and validate that the target can be pinged.<\/div>\n\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"289\" height=\"105\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/connecting-1.png\" alt=\"\" class=\"wp-image-32492\"\/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-using-the-modules-to-interact-with-the-controller\"><span class=\"ez-toc-section\" id=\"Interacting-with-the-user-code\"><\/span>Interacting with the user code<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Once a project is created, the user has access to various control and monitoring modules that can be dragged and dropped from the top bar to the project view. The user can then freely rearrange and resize these modules inside the project view.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Scope-module\"><\/span>Scope module<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>This module allows the user to display control signals on an oscilloscope-like interface by capturing and plotting every sample of the scoped user variables. The acquisition is done at the control task rate (i.e. the main interrupt frequency of the controller), ensuring that each and every sample is scoped.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">To start the acquisition, simply drag and drop a variable from the project pane directly to a plot of the Scope module.\u00a0<\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1440\" height=\"998\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/scope-4.png\" alt=\"\" class=\"wp-image-41780\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/scope-4.png 1440w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/scope-4-300x208.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/scope-4-1024x710.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/scope-4-768x532.png 768w\" sizes=\"auto, (max-width: 1440px) 100vw, 1440px\" \/><figcaption class=\"wp-element-caption\">Scope module interface<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The Scope module offers many of the typical advanced oscilloscope features including Trigger configuration, Cursor measurements and Math functions. It also allows the user to preprogram and execute a sequence of value changes on Tunable variables while running their user code, through the Transient Generator mechanism.<\/p>\n\n\n\n<p>A more detailed feature overview is available on the <a href=\"https:\/\/imperix.com\/doc\/help\/scope-module\">Scope module<\/a> page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"spectral-analyzer\"><span class=\"ez-toc-section\" id=\"Spectral-Analyzer\"><\/span><strong>Spectral Analyzer<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The Spectral Analyzer allows the user to examine Scope variables in the frequency domain. This includes all of the user and math variables that are currently present in the module. <\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">To start the Spectral Analyzer, click on its icon in the Scope module footer. <\/div>\n\n\n\n<p>To add a variable to the Spectral Analyzer, add it to the Scope module and it will show up automatically. Conversely, removing a variable from the Scope will make it unavailable in the Spectral Analyzer as well.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1008\" height=\"781\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/spectral_analyzer.png\" alt=\"\" class=\"wp-image-40309\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/spectral_analyzer.png 1008w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/spectral_analyzer-300x232.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/spectral_analyzer-768x595.png 768w\" sizes=\"auto, (max-width: 1008px) 100vw, 1008px\" \/><\/figure>\n\n\n\n<p>The Spectral Analyzer applies the Discrete Fourier Transform (DFT) on scoped data. The result can be examined in two forms &#8211; the <em>Spectrum<\/em> and <em>Harmonics<\/em> modes. The <em>Spectrum<\/em> mode offers an overview of the spectral content of all of the acquired data. In the <em>Harmonics<\/em> mode, the DFT is defined with respect to the fundamental harmonic frequency and the result is displayed in a way that makes it easier to compare the harmonic contents of acquired signals. This mode is accompanied by automated Total Harmonic Distortion (THD) measurements.<\/p>\n\n\n\n<p>More details on the settings options and the underlying math are given on the <a href=\"https:\/\/imperix.com\/doc\/help\/cockpit-spectral-analyzer\">Cockpit Spectral Analyzer<\/a> page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Rolling-plot-module\"><\/span>Rolling plot module&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The rolling plot module allows for more long-term monitoring of the selected variables. A typical use case is monitoring the long-term evolution of the converter state in order to keep an eye on critical variables. <\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">To start monitoring, simply drag and drop a variable from the project pane directly to a plot of the Rolling Plot module.\u00a0<\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"902\" height=\"574\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/rolling_plot-5.png\" alt=\"\" class=\"wp-image-40368\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/rolling_plot-5.png 902w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/rolling_plot-5-300x191.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/rolling_plot-5-768x489.png 768w\" sizes=\"auto, (max-width: 902px) 100vw, 902px\" \/><\/figure>\n\n\n\n<p>The sampling frequency of the Rolling plot can range from 10Hz up to the CPU control task frequency. The maximal amount of the recorded data depends on this value and the number of acquired variables. Once the allocated memory buffer fills up, the oldest acquired points will be deleted. <\/p>\n\n\n\n<p>A closer look at the capabilities of the Rolling Plot module is provided on the <a href=\"https:\/\/imperix.com\/doc\/help\/rolling-plot-module\">Rolling Plot Module<\/a> page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"XY-plot-module\"><\/span>XY plot module<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The XY plot module allows for visualizing the relationship between two variables by plotting one against the other in a two-dimensional plane. <\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">To start monitoring, simply drag and drop variables from the project pane directly to the XY plot module. The first variable will be assigned to the X axis, and the second to the Y axis, creating a curve. Multiple curves can be added to the same plot.<\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1006\" height=\"626\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/PN300_xyplot.png\" alt=\"\" class=\"wp-image-41124\" style=\"aspect-ratio:1.607096136051817;width:777px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/PN300_xyplot.png 1006w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/PN300_xyplot-300x187.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/PN300_xyplot-768x478.png 768w\" sizes=\"auto, (max-width: 1006px) 100vw, 1006px\" \/><\/figure>\n<\/div>\n\n\n<p>The sampling frequency of the XY plot can range from 10 Hz up to the CPU control task frequency. The maximal amount of the recorded data depends on this value and the number of acquired variables. Once the allocated memory buffer fills up, the oldest acquired points will be deleted.<\/p>\n\n\n\n<p>The module also displays the X and Y variables over time in separate plots above the main XY plot, allowing for simultaneous monitoring of the temporal evolution of the signals.<\/p>\n\n\n\n<p>A closer look at the capabilities of the XY plot module is provided on the <a href=\"https:\/\/imperix.com\/doc\/help\/xy-plot-module?currentThread=imperix-cockpit\">XY Plot Module<\/a> page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-variables-module\"><span class=\"ez-toc-section\" id=\"Exporting-plots-from-Cockpit-modules\"><\/span>Exporting plots from Cockpit modules<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Cockpit offers the possibility to export the plotted signals acquired with the Scope and Rolling plot modules as a CSV or MAT file, or directly as a MATLAB figure.&nbsp;<\/p>\n\n\n\n<p>For the scope module, Cockpit will export each and every sample of the scoped signals. As a reminder, the signal acquisition is performed at the control task rate. For the rolling plot module, Cockpit will also export each and every sample of the acquired signals, but at the sample rate selected in the rolling plot controls menu in the right bar.<\/p>\n\n\n\n<p>To export data from a rolling plot or a scope module, click on the Export CSV, Export MAT, or MATLAB figure button located in the Import\/Export tab of Cockpit\u2019s top bar, as displayed below.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"123\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/export-3.png\" alt=\"\" class=\"wp-image-40336\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/export-3.png 720w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/export-3-300x51.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><figcaption class=\"wp-element-caption\">Import\/Export menu of Cockpit&#8217;s top bar<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Data can also be exported through the context menus of the scope and rolling plot modules and the spectral analyzer window, accessible by right-clicking on the empty space in the plots.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"553\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/fft_context_menu_export_chp.png\" alt=\"\" class=\"wp-image-40312\" style=\"width:469px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/fft_context_menu_export_chp.png 533w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/fft_context_menu_export_chp-289x300.png 289w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><figcaption class=\"wp-element-caption\">Export options in the plot context menu of the Spectral Analyzer<\/figcaption><\/figure>\n<\/div>\n\n\n<p>From the menu that appears, select the desired plots to export and choose the save location MATLAB figure or the CSV\/MAT file. A MAT file is also saved when exporting data as a MATLAB figure.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-exporting-as-mat-file\">Exporting as MAT file<\/h4>\n\n\n\n<p>Exporting as MAT file or MATLAB figure is done through the MAT 7.3 file format. This format is based on the HDF5 standard for hierarchical storing of data, allowing for partial saving and loading and better compression. This makes the export process more efficient in terms of time and memory in most cases, compared to CSV files.<\/p>\n\n\n\n<p>A MAT file can be easily loaded to a MATLAB workspace by finding the file through the \u201cCurrent folder\u201d menu in MATLAB and double-clicking on it. The <a href=\"https:\/\/imperix.com\/doc\/help\/mat-files-cockpit\">Working with MAT files exported from Cockpit<\/a> article provides more information about the structure of the exported MAT files and different ways to load and save them.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-exporting-as-matlab-figure\">Exporting as MATLAB figure<\/h4>\n\n\n\n<p>Exporting as MATLAB figure will first create and save a MAT file, as described in the previous section. Once the data has been exported as a MAT file, MATLAB is automatically launched with a new workspace set to the chosen folder. Finally, the MATLAB figure is automatically displayed.<\/p>\n\n\n\n<p>If several instances of MATLAB are installed on the computer, the user will be prompted to select the desired MATLAB version with the following pop-up message.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">The export as <em>MATLAB figure<\/em> feature only supports MATLAB versions R2019a and newer.<\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/ai0-CrBiGL38Drn6vZ62vc4xhlzzjsX5PmJWPhPUCJNAphYMo1OO7k9ls_8j9u7W2LH1_uas6HT24AnK-rtwwmUTwjREZH0SibjGXnb7T-FzcED5nTZEba2k3xqETJg4cTxNW6moSgBqHKwZ5SA2GsA---3NxNS4mzi_SqeBD07OLh2jKomnxMtMwvbPlA\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Popup message when multiple MATLAB versions are detected<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">The export process can take up to several minutes when exporting data from a Rolling plot module, especially if the data spans over a prolonged period of time. Moreover, it is also possible that when exporting this data as a MATLAB figure, the sheer amount of data could be too large for the available memory of MATLAB. Thus, it is not excluded that MATLAB could crash. In such cases, partial loading of the saved file might help.<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Variables-module\"><\/span>Variables module<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p id=\"variables-module\">The Variables module gives quick access to selected variables. It also allows modifying the user variables without rebuilding the control code. Additionally, it displays extra information on user variables, such as their minimum and maximum values.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"394\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/variables.png\" alt=\"\" class=\"wp-image-31407\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/variables.png 548w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/variables-300x216.png 300w\" sizes=\"auto, (max-width: 548px) 100vw, 548px\" \/><figcaption class=\"wp-element-caption\">Variables module<\/figcaption><\/figure>\n<\/div>\n\n\n<p>This module can contain one or more sections to sort the user variables conveniently. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>To add a new section, click the + button on the bottom left of the module. <\/li>\n\n\n\n<li>The columns displayed in a section can be managed by right-clicking on the section&#8217;s header and checking the desired columns.<\/li>\n\n\n\n<li>To add a variable to a section, drag and drop a variable from the project pane directly into the desired section.<\/li>\n\n\n\n<li>To remove a variable from a section, right-click on the variable and select \u201cremove variable\u201d.<\/li>\n\n\n\n<li>Signals connected to a <a href=\"https:\/\/imperix.com\/doc\/software\/probe-variable\" target=\"_blank\" rel=\"noreferrer noopener\">Probe block<\/a> are listed under the <em>probe<\/em> type, and signals connected to a <a href=\"https:\/\/imperix.com\/doc\/software\/tunable-parameter\" target=\"_blank\" rel=\"noreferrer noopener\">Tunable parameter block<\/a> are listed as <em>parameter<\/em>. Variables of type <em>parameter<\/em> can be modified in run-time by double-clicking on their value (<em>Data <\/em>column).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"DAC-module\"><\/span>DAC module&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The DAC module allows the user to apply a given variable to one of the four analog outputs of the B-Box RCP. The values applied to the analog output are specified in volts. The output range is -5V to 5V, and the output is saturated beyond these limits. Further hardware specifications are available in the <a href=\"https:\/\/cdn.imperix.com\/wp-content\/uploads\/document\/B-Box_Datasheet.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">B-Box RCP datasheet<\/a>.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"462\" height=\"193\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/dac.png\" alt=\"\" class=\"wp-image-31408\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/dac.png 462w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/dac-300x125.png 300w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><figcaption class=\"wp-element-caption\">DAC module<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">If a <a href=\"https:\/\/imperix.com\/doc\/software\/analog-outputs\">DAC block<\/a> is used in the user code, and the DAC module is also used in Cockpit, the DAC module in Cockpit will have the upper hand.<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"GUI-Builder-module\"><\/span>GUI Builder module&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The GUI Builder module enables users to create custom dashboards for interacting with their user code running on an imperix controller.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"763\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/gui_builder-1-1024x763.png\" alt=\"\" class=\"wp-image-40366\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/gui_builder-1-1024x763.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/gui_builder-1-300x224.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/gui_builder-1-768x573.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/gui_builder-1.png 1466w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><br>The <a href=\"https:\/\/imperix.com\/doc\/help\/gui-builder-module\">GUI Builder module<\/a> page provides a more in-depth guide on building and using GUI Builder dashboards.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)\"><span class=\"ez-toc-section\" id=\"Interacting-with-the-controller-directly\"><\/span>Interacting with the controller directly<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>While the modules are useful for interacting with the user code running on an imperix controller, Cockpit offers a range of other tools for monitoring and configuring the controller itself.<\/p>\n\n\n\n<p>Information about a controller&#8217;s status and settings is centralized in the <strong>target view<\/strong>, which can be found by navigating to the corresponding device through the left bar in the <em>Targets<\/em> perspective. The target view displays controller information, sorted into three parts: the <em>Analog I\/Os<\/em>, <em>Target configuration<\/em> and <em>Timings<\/em> tabs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)\"><span class=\"ez-toc-section\" id=\"Configuring-imperix-controllers-from-Cockpit\"><\/span>Configuring imperix controllers from Cockpit<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Various controller info and configuration options can be found in <em>Analog I\/Os<\/em> and the <em>Target configuration<\/em> tabs of the target view.<\/p>\n\n\n\n<p>In the <em>Analog I\/Os<\/em> tab, depending on the target imperix controller type, Cockpit offers different tools to set up the analog front-ends of the B-Box 4, B-Box RCP and B-Box Micro. Device-specific explanations are given below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/?p=35186\">Analog I\/O configuration on B-Box 4<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/analog-front-end-configuration-on-b-box-rcp?currentThread=b-box-rcp-3-0\">Analog front-end configuration on B-Box RCP<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/analog-inputs-configuration-on-b-box-micro\">Analog inputs configuration on B-Box Micro<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"366\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/bb4_front_end-1.png\" alt=\"\" class=\"wp-image-40313\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/bb4_front_end-1.png 1020w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/bb4_front_end-1-300x108.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/bb4_front_end-1-768x276.png 768w\" sizes=\"auto, (max-width: 1020px) 100vw, 1020px\" \/><figcaption class=\"wp-element-caption\">Remote view of the analog front-end on the B-Box4<\/figcaption><\/figure>\n\n\n\n<p>The <em>Target configuration<\/em> tab, also accessible from the three dots menu of a project pane, displays basic information about the controller and allows the user to manage licenses and firmware versions and interact with the controller memory by saving user codes, FPGA bitstreams and downloading controller logs from its SD card.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"953\" height=\"512\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/target_config.png\" alt=\"\" class=\"wp-image-40314\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/target_config.png 953w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/target_config-300x161.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/target_config-768x413.png 768w\" sizes=\"auto, (max-width: 953px) 100vw, 953px\" \/><figcaption class=\"wp-element-caption\"><em>Target configuration<\/em> tab<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-how-to-launch-a-user-code-at-controller-start-up\"><strong>How to launch a user code at controller start-up<\/strong><\/h4>\n\n\n\n<p>In some cases, it can be useful to automatically start a user code when turning on an imperix controller. To do so:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Launch the user code and connect to the target as usual.<\/li>\n\n\n\n<li>Once the code is running on the target, open the <em>Target configuration<\/em> window from the three dots menu of the project pane.<\/li>\n\n\n\n<li>In the section <em>User code saved on SD card<\/em>, click on the <em>Save the currently running code<\/em> button to save the current code on the SD card inside of the controller.<\/li>\n\n\n\n<li>Click on the checkbox<em> Load at startup<\/em> to automatically launch the code when the controller is powered on.<\/li>\n<\/ul>\n\n\n\n<p>This will save the control algorithm on the SD card inside the controller and automatically load and start it from the SD card at start-up.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-how-to-load-a-custom-fpga-bitstream\"><strong>How to load a custom FPGA bitstream<\/strong><\/h4>\n\n\n\n<p>In some cases, it is interesting to offload all or parts of the computations from the CPU to the FPGA. Doing so often results in much faster closed-loop control systems. To do so:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Launch the user code and connect to the target as usual.<\/li>\n\n\n\n<li>Once the code is running on the target, open the <em>Target configuration<\/em> window from the three dots menu of the project pane.<\/li>\n\n\n\n<li>In the section <em>FPGA bitstream saved on SD card<\/em>, click on the <em>Browse <\/em>button and select the desired bitstream. The bitstream will be uploaded into the SD card of the controller. A check in the <em>Load at startup<\/em> checkbox indicates that the target will load the imported customized bitstream at the next power cycle of the target instead of the standard one.<\/li>\n<\/ul>\n\n\n\n<p>Further information on how to develop power converter control algorithms in FPGA can be found on the <a href=\"https:\/\/imperix.com\/doc\/help\/getting-started-with-fpga-control-development\" target=\"_blank\" rel=\"noreferrer noopener\">Getting started with FPGA control development<\/a> page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)\"><span class=\"ez-toc-section\" id=\"Monitoring-the-status-of-imperix-controllers\"><\/span>Monitoring the status of imperix controllers<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Imperix controllers continually communicate with Cockpit to update the user about their status. Two main examples of this are the <em>Timings<\/em> tab in the target view and the <em>Logs<\/em> tab in the bottom bar.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"target-timings\">Target timings<\/h4>\n\n\n\n<p id=\"target-timings\">The <em>Timings<\/em> tab, also accessible from the three dots menu of a project pane, provides a graphical representation of the various computation and communication delays involved in the controller during run-time. It is particularly useful to observe the delays involved in the control dynamics of the system as explained in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/discrete-control-delay\" target=\"_blank\" rel=\"noreferrer noopener\">Identifying the discrete control delay (PN142)<\/a>. The control parameters, such as the&nbsp;\\(K_p\\) and \\(K_i\\)&nbsp;of a PI controller, can then be adjusted accordingly, as shown in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/implementation\/basic-pi-control\" target=\"_blank\" rel=\"noreferrer noopener\">Basic PI control implementation (TN105)<\/a>.<\/p>\n\n\n\n<p>Below are screenshots of the&nbsp;Timings tab when running the model&nbsp;<a href=\"https:\/\/imperix.com\/doc\/example\/three-phase-pv-inverter\" target=\"_blank\" rel=\"noreferrer noopener\">Central PV inverter (AN006)<\/a>&nbsp;in two scenarios.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1108\" height=\"520\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1-3.png\" alt=\"\" class=\"wp-image-37432\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1-3.png 1108w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1-3-300x141.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1-3-1024x481.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1-3-768x360.png 768w\" sizes=\"auto, (max-width: 1108px) 100vw, 1108px\" \/><figcaption class=\"wp-element-caption\">Central PV inverter running at 16 kHz<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1108\" height=\"520\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_2_2025.1-1.png\" alt=\"\" class=\"wp-image-37431\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_2_2025.1-1.png 1108w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_2_2025.1-1-300x141.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_2_2025.1-1-1024x481.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_2_2025.1-1-768x360.png 768w\" sizes=\"auto, (max-width: 1108px) 100vw, 1108px\" \/><figcaption class=\"wp-element-caption\">Central PV inverter running at 160 kHz<\/figcaption><\/figure>\n\n\n\n<p>The timing graph accurately represents the delays involved in the execution of the user control code.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CLK0 timer<\/strong>&nbsp;represents the clock generator counter.&nbsp;CLK0<em>&nbsp;<\/em>is used as the time base for the sampling events and the control task routine execution. In most cases, the PWM modulators are also based on&nbsp;CLK0.<\/li>\n\n\n\n<li><strong>SCLK <\/strong>shows the sampling events, i.e. the instants where the ADCs sample the input analog signals. In the example above, the sampling phase is set to 0.5, so the sampling occurs in the middle of the period of the PWM signals that are based on\u00a0CLK0. <\/li>\n\n\n\n<li><strong>ADC acquisition<\/strong> <strong>delay<\/strong>&nbsp;shows the delay between a sampling event and the availability of the values in the FPGA. It comprises the ADC acquisition delay and the transfer time of the read value to the FPGA. This value is 2000 ns in the B-Box RCP and 500 ns in the B-Box Micro and B-Board PRO. The appropriate value must be set from the <a href=\"https:\/\/imperix.com\/doc\/software\/config-control-task-configuration\" target=\"_blank\" rel=\"noreferrer noopener\">CONFIG block<\/a>.<\/li>\n\n\n\n<li>The <strong>Read delay<\/strong> shows the time needed to perform<strong> <\/strong><em>FPGA-to-CPU transfers<\/em>. These tasks are executed right after the ADC results are available in the FPGA. The values transferred are typically the ADC measurements, the GPI values, or the angle decoder output.<\/li>\n\n\n\n<li>The <strong>CPU task<\/strong> shows the time the CPU spends executing the interrupt routine.&nbsp;To execute the&nbsp;<em>CPU-to-FPGA transfers<\/em>&nbsp;as early as possible (and reduce the overall response delay), the interrupt routine is separated into two phases:\n<ul class=\"wp-block-list\">\n<li>The <em>control task execution<\/em> is the time necessary to execute the user code and update the modulation parameters and other FPGA values. The&nbsp;<em>CPU-to-FPGA transfers<\/em>&nbsp;are executed right after, in parallel with the&nbsp;<em>post-processing execution<\/em>.<\/li>\n\n\n\n<li>The<em>&nbsp;post-processing execution&nbsp;<\/em>is the time necessary to perform all the tasks that are not directly involved in the control algorithm. It includes the datalogging execution, the CAN communication, etc.&nbsp;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The <strong>Write delay<\/strong> shows the time needed to perform the <em>CPU-to-FPGA transfers<\/em>. These tasks are performed once the&nbsp;<em>control task execution<\/em>&nbsp;is over. The values transferred are typically the PWM modulation parameters (duty-cycle, phase), the GPO values, or the DAC values.<\/li>\n<\/ul>\n\n\n\n<p>At the top of the tab, the following information is displayed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>F<sub>CLK0<\/sub><\/strong>,&nbsp;<strong><strong>F<sub>CLK1<\/sub><\/strong><\/strong>,&nbsp;<strong><strong>F<sub>CLK2<\/sub><\/strong>,&nbsp;<\/strong>and&nbsp;<strong><strong>F<sub>CLK3<\/sub><\/strong><\/strong> show the configured frequency of the four&nbsp;<a href=\"https:\/\/imperix.com\/doc\/software\/clk-clock-generator\" target=\"_blank\" rel=\"noreferrer noopener\">Clock generators<\/a>.<\/li>\n\n\n\n<li><strong>F<sub>SCLK<\/sub><\/strong>  shows the FPGA sampling frequency and period. If the SCLK multiplier is configured, it will be displayed here. Check <a href=\"https:\/\/imperix.com\/doc\/help\/oversampling\">this article<\/a> for more details .<\/li>\n\n\n\n<li><strong>F<sub>CPU<\/sub><\/strong>  shows the&nbsp;routine execution frequency and period. If the control task Postscaler is applied, it will be displayed here. Note that the control task is always mapped on&nbsp;CLK0<em>.<\/em><\/li>\n\n\n\n<li>The&nbsp;<strong>CPU load<\/strong>&nbsp;represents how much time the CPU spends in the interrupt routine relative to the period of CLK0. Safety mechanisms are implemented to detect CPU overload. An overload can result from a control algorithm being too complex or an execution frequency being too high. The min, max, and avg values are computed on a window of one second.<\/li>\n\n\n\n<li>The <strong>Cycle delay <\/strong>represents the delay between the sampling event and when the newly computed data are available in FPGA (<em>ADC acquisition delay +<\/em>&nbsp;<em>FPGA-to-CPU transfers +<\/em>&nbsp;<em>control task execution +<\/em>&nbsp;<em>CPU-to-FPGA transfers<\/em>)<em>.<\/em>&nbsp;This value can be used to compute the&nbsp;<em>control delay<\/em>&nbsp;and the<em>&nbsp;total loop delay<\/em>, as explained in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/discrete-control-delay\" target=\"_blank\" rel=\"noreferrer noopener\">Identifying the discrete control delay (PN142)<\/a>. The cycle delay value is precisely measured directly from within the FPGA. The min, max, and avg values are computed on a window of one second.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Logs tab<\/h4>\n\n\n\n<p>Messages from the controller to the user are displayed in the&nbsp;<em>Logs<\/em>&nbsp;tab in the bottom bar in the&nbsp;<em>Projects<\/em>&nbsp;perspective of Cockpit, and thus require the project to be connected to its controller.<\/p>\n\n\n\n<p>The <em>Logs<\/em>&nbsp;tab displays every message reported by the controllers, including useful information such as misconfiguration details, software and hardware faults, or <a href=\"https:\/\/imperix.com\/doc\/software\/log-message\" target=\"_blank\" rel=\"noreferrer noopener\">custom user messages<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"794\" height=\"303\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/logs-1.png\" alt=\"\" class=\"wp-image-32489\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/logs-1.png 794w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/logs-1-300x114.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/logs-1-768x293.png 768w\" sizes=\"auto, (max-width: 794px) 100vw, 794px\" \/><figcaption class=\"wp-element-caption\"><em>Logs<\/em> tab<\/figcaption><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>This user guide explains how to use imperix Cockpit to interact with imperix power converter controllers, namely the B-Box 4, &nbsp;B-Box RCP,&nbsp;B-Board PRO, the B-Box&#8230;<\/p>\n","protected":false},"author":7,"featured_media":41934,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_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,"_kad_post_classname":"","footnotes":""},"categories":[12,3],"tags":[],"software-environments":[105,103,104],"provided-results":[],"related-products":[50,31,32,92,166,51,110],"guidedreadings":[],"tutorials":[],"user-manuals":[178,177,140],"coauthors":[71,93],"class_list":["post-11632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-getting-started-acg-sdk","category-help","software-environments-c-plus-plus","software-environments-matlab","software-environments-plecs","related-products-acg-sdk","related-products-b-board-pro","related-products-b-box-rcp","related-products-b-box-micro","related-products-b-box-rcp-3-0","related-products-cpp-sdk","related-products-tpi","user-manuals-b-box-4","user-manuals-getting-started-with-acg-sdk","user-manuals-imperix-cockpit"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cockpit - User guide - imperix<\/title>\n<meta name=\"description\" content=\"This page provides an overview and getting started instructions for the BB Control debugging and monitoring software.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cockpit - User guide - imperix\" \/>\n<meta property=\"og:description\" content=\"This page provides an overview and getting started instructions for the BB Control debugging and monitoring software.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-12T06:52:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-09T13:15:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/Cockpit_overview.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1466\" \/>\n\t<meta property=\"og:image:height\" content=\"1093\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Lovejoy, Mateja Ili\u0107\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Lovejoy, Mateja Ili\u0107\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"24 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide\"},\"author\":{\"name\":\"St\u00e9phane Lovejoy\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/97bde5cc1c65c92e731d67c17b8c50ae\"},\"headline\":\"Cockpit &#8211; User guide\",\"datePublished\":\"2022-04-12T06:52:04+00:00\",\"dateModified\":\"2026-02-09T13:15:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide\"},\"wordCount\":4505,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/Cockpit_overview.png\",\"articleSection\":[\"Getting started with ACG SDK\",\"Product notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide\",\"name\":\"Cockpit - User guide - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/Cockpit_overview.png\",\"datePublished\":\"2022-04-12T06:52:04+00:00\",\"dateModified\":\"2026-02-09T13:15:18+00:00\",\"description\":\"This page provides an overview and getting started instructions for the BB Control debugging and monitoring software.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/Cockpit_overview.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/Cockpit_overview.png\",\"width\":1466,\"height\":1093},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product notes\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/help\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cockpit &#8211; User guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"name\":\"imperix\",\"description\":\"power electronics\",\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imperix.com\\\/doc\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\",\"name\":\"imperix\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"width\":350,\"height\":120,\"caption\":\"imperix\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/97bde5cc1c65c92e731d67c17b8c50ae\",\"name\":\"St\u00e9phane Lovejoy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4f3db3acdae30f99346e7c5cb547260bcc5e9ff874422520d317e376c001a000?s=96&d=mm&r=gb2ee28b23ed78deae9c8f90757fee6d3\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4f3db3acdae30f99346e7c5cb547260bcc5e9ff874422520d317e376c001a000?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4f3db3acdae30f99346e7c5cb547260bcc5e9ff874422520d317e376c001a000?s=96&d=mm&r=g\",\"caption\":\"St\u00e9phane Lovejoy\"},\"description\":\"St\u00e9phane is a senior software development engineer at imperix. He authored and co-authored numerous software reference articles and documentation, notably related to Cockpit.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/st\u00e9phane-lovejoy-40721794\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/lovejoy\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cockpit - User guide - imperix","description":"This page provides an overview and getting started instructions for the BB Control debugging and monitoring software.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide","og_locale":"en_US","og_type":"article","og_title":"Cockpit - User guide - imperix","og_description":"This page provides an overview and getting started instructions for the BB Control debugging and monitoring software.","og_url":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide","og_site_name":"imperix","article_published_time":"2022-04-12T06:52:04+00:00","article_modified_time":"2026-02-09T13:15:18+00:00","og_image":[{"width":1466,"height":1093,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/Cockpit_overview.png","type":"image\/png"}],"author":"St\u00e9phane Lovejoy, Mateja Ili\u0107","twitter_card":"summary_large_image","twitter_misc":{"Written by":"St\u00e9phane Lovejoy, Mateja Ili\u0107","Est. reading time":"24 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide"},"author":{"name":"St\u00e9phane Lovejoy","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/97bde5cc1c65c92e731d67c17b8c50ae"},"headline":"Cockpit &#8211; User guide","datePublished":"2022-04-12T06:52:04+00:00","dateModified":"2026-02-09T13:15:18+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide"},"wordCount":4505,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/Cockpit_overview.png","articleSection":["Getting started with ACG SDK","Product notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/help\/cockpit-user-guide#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide","url":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide","name":"Cockpit - User guide - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/Cockpit_overview.png","datePublished":"2022-04-12T06:52:04+00:00","dateModified":"2026-02-09T13:15:18+00:00","description":"This page provides an overview and getting started instructions for the BB Control debugging and monitoring software.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/help\/cockpit-user-guide"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/Cockpit_overview.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/Cockpit_overview.png","width":1466,"height":1093},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Product notes","item":"https:\/\/imperix.com\/doc\/category\/help"},{"@type":"ListItem","position":3,"name":"Cockpit &#8211; User guide"}]},{"@type":"WebSite","@id":"https:\/\/imperix.com\/doc\/#website","url":"https:\/\/imperix.com\/doc\/","name":"imperix","description":"power electronics","publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imperix.com\/doc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/imperix.com\/doc\/#organization","name":"imperix","url":"https:\/\/imperix.com\/doc\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","width":350,"height":120,"caption":"imperix"},"image":{"@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/97bde5cc1c65c92e731d67c17b8c50ae","name":"St\u00e9phane Lovejoy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4f3db3acdae30f99346e7c5cb547260bcc5e9ff874422520d317e376c001a000?s=96&d=mm&r=gb2ee28b23ed78deae9c8f90757fee6d3","url":"https:\/\/secure.gravatar.com\/avatar\/4f3db3acdae30f99346e7c5cb547260bcc5e9ff874422520d317e376c001a000?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4f3db3acdae30f99346e7c5cb547260bcc5e9ff874422520d317e376c001a000?s=96&d=mm&r=g","caption":"St\u00e9phane Lovejoy"},"description":"St\u00e9phane is a senior software development engineer at imperix. He authored and co-authored numerous software reference articles and documentation, notably related to Cockpit.","sameAs":["https:\/\/www.linkedin.com\/in\/st\u00e9phane-lovejoy-40721794\/"],"url":"https:\/\/imperix.com\/doc\/author\/lovejoy"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/11632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=11632"}],"version-history":[{"count":408,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/11632\/revisions"}],"predecessor-version":[{"id":42396,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/11632\/revisions\/42396"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/41934"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=11632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=11632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=11632"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=11632"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=11632"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=11632"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=11632"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=11632"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=11632"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=11632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}