{"id":11632,"date":"2022-04-12T06:52:04","date_gmt":"2022-04-12T06:52:04","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=11632"},"modified":"2025-05-07T08:27:27","modified_gmt":"2025-05-07T08:27:27","slug":"cockpit-user-guide","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide","title":{"rendered":"Cockpit user guide"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 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\/#Flashing-a-user-code-on-a-controller\" >Flashing a user code on 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-to-manage-projects\" >How to manage projects<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#How-to-use-the-project-pane\" >How to 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-5\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Visualizing-real-time-data\" >Visualizing real-time data<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Windowed-modules\" >Windowed modules<\/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\/#Snapshots\" >Snapshots<\/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\/#Continuous-acquisition-modules\" >Continuous acquisition modules<\/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\/#Low-frequency-modules\" >Low-frequency modules<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Interacting-with-the-controller\" >Interacting with the controller<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Analog-IOs-tab\" >Analog I\/Os tab<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Target-configuration-tab\" >Target configuration tab<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\/#Timings-tab\" >Timings tab<\/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\/#Logs-tab\" >Logs tab<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">This user guide explains how to use <a href=\"https:\/\/imperix.com\/software\/cockpit\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cockpit<\/a> to interact with <a href=\"https:\/\/imperix.com\/products\/power-electronic-controllers\/\" type=\"link\" id=\"https:\/\/imperix.com\/products\/power-electronic-controllers\/\">imperix controllers<\/a>. The article provides an overview of the tools and features available in Cockpit, along with guidance on using them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For users seeking getting-started assistance with the <a href=\"\/doc\/help\/getting-started-with-acg-sdk\">ACG SDK<\/a> or the <a href=\"\/doc\/help\/getting-started-with-cpp-sdk\">CPP SDK<\/a>, a separate article is available in <a href=\"\/doc\/help\/programming-imperix-controllers\">PN138<\/a>, which focuses on programming imperix controllers. Specific quick-start guides are also available for each controller, such as the <a href=\"\/doc\/help\/b-box-4-quick-start-guide?currentThread=b-box-4\">B-Box 4<\/a>, <a href=\"\/doc\/help\/programming-imperix-controllers?currentThread=b-box-rcp-3-0\">B-Box 3<\/a>, <a href=\"\/doc\/help\/getting-started-with-b-box-micro?currentThread=b-box-micro\">B-Box micro<\/a>, or the <a href=\"\/doc\/help\/tpi-quick-start-guide\">TPI8032<\/a>.<\/p>\n\n\n\n<h4 id=\"h-what-is-cockpit\" class=\"wp-block-heading\">What is Cockpit<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Cockpit is imperix&#8217;s real-time monitoring software. It is included in 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>. The software is designed to facilitate the experimental testing of power electronic systems.<\/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.3.png\" alt=\"\" class=\"wp-image-46201\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/cockpit_2026.3.png 811w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/cockpit_2026.3-300x224.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/cockpit_2026.3-768x574.png 768w\" sizes=\"auto, (max-width: 811px) 100vw, 811px\" \/><figcaption class=\"wp-element-caption\">Overview of Cockpit&#8217;s user interface<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Cockpit&#8217;s interface is organized with six different sections:<\/p>\n\n\n<style>.kt-accordion-id11632_5e0b3e-e4 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id11632_5e0b3e-e4 .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_5e0b3e-e4 > .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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4 > .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_5e0b3e-e4 .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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_5e0b3e-e4 > .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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4: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_5e0b3e-e4 .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_5e0b3e-e4 > .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_5e0b3e-e4 > .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_5e0b3e-e4 .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_5e0b3e-e4 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_5e0b3e-e4 > .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_5e0b3e-e4 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id11632_5e0b3e-e4 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id11632_5e0b3e-e4 .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_5e0b3e-e4 > .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_5e0b3e-e4 > .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_5e0b3e-e4 .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_5e0b3e-e4 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_5e0b3e-e4 > .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_5e0b3e-e4 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_49f3df-d1\"><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 class=\"wp-block-paragraph\">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\/or tune the variables present in the user code.<\/li>\n\n\n\n<li>The <em>Import\/Export<\/em> tab provides tools to export data acquired with Cockpit modules as CSV or MAT files, or directly as a MATLAB figure.<\/li>\n\n\n\n<li>The <em>Help<\/em> tab contains tools for interacting with the hardware setup.<\/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_95d3a7-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\">2 &#8211; L<strong>eft 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 class=\"wp-block-paragraph\">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 the detected targets 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-4fc3f8e1 wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\">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 on a single target. In a multi-controller scenario, the left bar lets users monitor the status of each controller independently.&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_267ce8-1e\"><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 wp-block-paragraph\">The project pane offers a centralized view from which the user can pilot each target at runtime, configure the hardware, and quickly overview the status of other controllers.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane11632_038686-7a\"><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 class=\"wp-block-paragraph\">From the&nbsp;<em>Projects<\/em>&nbsp;perspective, the project view is the central work area, where modules can be placed and rearranged at will. 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 class=\"wp-block-paragraph\">From the&nbsp;<em>Targets<\/em>&nbsp;perspective, the central view is reserved for displaying information and configuration options for devices selected via 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_b531fc-96\"><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>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 class=\"wp-block-paragraph\">This is another project-specific area, organized into tabs. Three tabs are commonly found there:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <em>Logs <\/em>tab displays messages reported by the controller.<\/li>\n\n\n\n<li>The <em>Snapshots<\/em> tab displays information about the records made using the <a href=\"#snapshots\">Snapshot<\/a> function.<\/li>\n\n\n\n<li>The <em><a href=\"https:\/\/imperix.com\/doc\/help\/scope-module\">Scope<\/a><\/em>, <a href=\"https:\/\/imperix.com\/doc\/help\/cockpit-spectral-analyzer\" type=\"post\" id=\"34177\"><em>FFT\/THD<\/em><\/a>, <em><a href=\"https:\/\/imperix.com\/doc\/help\/rolling-plot-module\">Rolling Plot<\/a><\/em> and <a href=\"https:\/\/imperix.com\/doc\/help\/xy-plot-module\" type=\"post\" id=\"40390\"><em>XY Plot<\/em><\/a> tabs are generated when their respective modules are added to the project view. They display information about the signals plotted on 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_19e5f0-bd\"><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; <\/strong>R<strong>ight 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 class=\"wp-block-paragraph\">Similar to the tabs in the bottom bar, the right bar hosts various configuration options specific to the implemented modules.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<h2 id=\"connecting-controller\" 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=\"Flashing-a-user-code-on-a-controller\"><\/span>Flashing a user code on a controller<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Uploading and running a custom user code on a controller starts with setting up a Cockpit project. Projects are used to group a user code with its associated Cockpit configuration (monitored variables, arrangement of modules, etc.).<\/p>\n\n\n\n<h3 id=\"h-how-to-create-a-new-project\" class=\"wp-block-heading\"><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 class=\"wp-block-paragraph\">Once a user code has been developed and compiled, Cockpit opens up automatically and invites the user to create a new project associated with the freshly compiled code. Instructions for the prior steps are provided in <a href=\"https:\/\/imperix.com\/doc\/help\/getting-started-with-acg-sdk\" data-type=\"link\" data-id=\"https:\/\/imperix.com\/doc\/help\/getting-started-with-acg-sdk\">PN134<\/a> for Simulink\/PLECS or <a href=\"https:\/\/imperix.com\/doc\/help\/getting-started-with-cpp-sdk\" data-type=\"link\" data-id=\"https:\/\/imperix.com\/doc\/help\/getting-started-with-cpp-sdk\">PN148<\/a> for the C\/C++ IDE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Alternatively, Cockpit can also be opened manually, a<\/span>nd a new project can be created by clicking the + button at the top left of the left bar in the&nbsp;<em>Projects<\/em>&nbsp;perspective.<br><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"266\" height=\"165\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/new_project_pane-4.png\" alt=\"\" class=\"wp-image-46572\"\/><figcaption class=\"wp-element-caption\">Step 1: New project pane.<\/figcaption><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"266\" height=\"198\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_not_linked.png\" alt=\"\" class=\"wp-image-46573\"\/><figcaption class=\"wp-element-caption\">Step 2: Project pane before target linking.<\/figcaption><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The project then needs to be linked to a target. Clicking the&nbsp;LINK TARGET&nbsp;button in the project pane automatically switches Cockpit to the <em>Targets<\/em> perspective, allowing this target to be selected from the available list. In multi-device configurations, the controllers are grouped based on their master-slave arrangement. If needed, please refer to <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\">PN138<\/a> to ensure the target is properly detected by the host computer.<\/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-4fc3f8e1 wp-block-group-is-layout-flex\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-4fc3f8e1 wp-block-group-is-layout-flex\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-4fc3f8e1 wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\">Clicking on a controller opens the corresponding target view and displays the button to link the project to it. If the selected target is already linked, relinking will unlink the previous project and link the current one. Once the project is linked, Cockpit automatically returns to the <em>Projects<\/em> perspective, where the newly created project pane appears in the left bar, and a blank project view is created.<\/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 heed the warnings and ensure that the device configuration in the user code matches that of the physical 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<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How-to-manage-projects\"><\/span>How to manage projects<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Each project can be linked to only one device (or a set of devices in a master-slave setup) at a time. However, Cockpit offers the flexibility to manipulate multiple projects simultaneously and re-link projects at will. If needed, the user code associated with a given project can also be changed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When testing different algorithms or working with numerous targets, the <em>Projects<\/em> perspective can become crowded. To help keep the workspace organized or to ensure work is backed up, Cockpit provides options to open, close, import, or export projects.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"479\" height=\"264\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_bar-1.png\" alt=\"\" class=\"wp-image-46743\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_bar-1.png 479w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_bar-1-300x165.png 300w\" sizes=\"auto, (max-width: 479px) 100vw, 479px\" \/><figcaption class=\"wp-element-caption\">Left bar displaying project management options<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Every project is saved as a project file (.ixproj), which stores the workspace layout, the path to the user code, and the link to the target. These files can be managed using the following features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Opening and closing:<\/strong> Unused projects can be closed to hide them from the interface. The configuration data is safely stored in the .ixproj file, allowing it to be easily reopened whenever needed.<\/li>\n\n\n\n<li><strong>Exporting and importing:<\/strong> To back up work or share it, entire workspaces can be bundled into a single .zip package. This includes the .ixproj file alongside all model files and assets, such as Simulink\/PLECS models, MATLAB scripts, and <a href=\"#snapshots\">snapshot<\/a> data.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Detailed instructions are provided on the <a href=\"https:\/\/imperix.com\/doc\/help\/working-with-cockpit-projects\" type=\"link\" id=\"https:\/\/imperix.com\/doc\/help\/working-with-cockpit-projects\">Working with Cockpit projects<\/a> page.<\/p>\n\n\n\n<h3 id=\"h-how-to-interact-with-the-project-pane\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How-to-use-the-project-pane\"><\/span>How to use the project pane<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The project pane offers a centralized view from which the user can pilot their target during runtime. Additional tabs are also available, providing access to variables and oversampled I\/O data.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"854\" height=\"314\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_annotated.png\" alt=\"\" class=\"wp-image-46575\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_annotated.png 854w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_annotated-300x110.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/project_pane_annotated-768x282.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_28d58b-f3 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id11632_28d58b-f3 .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_28d58b-f3 > .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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3 > .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_28d58b-f3 .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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_28d58b-f3 > .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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3: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_28d58b-f3 .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_28d58b-f3 > .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_28d58b-f3 > .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_28d58b-f3 .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_28d58b-f3 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_28d58b-f3 > .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_28d58b-f3 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id11632_28d58b-f3 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id11632_28d58b-f3 .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_28d58b-f3 > .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_28d58b-f3 > .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_28d58b-f3 .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_28d58b-f3 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id11632_28d58b-f3 > .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_28d58b-f3 kt-accordion-has-18-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_540772-4e\"><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 class=\"wp-block-paragraph\">This space is reserved for status icons indicating whether the project is disconnected from the device or, if connected, whether there are any notifications or errors provided from the target. With the B-Box 4, the connection speed with the target is also indicated.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane11632_36a1d8-0c\"><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 class=\"wp-block-paragraph\">Enables\/disables the target\u2019s PWM outputs. Further information on this essential 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_29394b-fa\"><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 class=\"wp-block-paragraph\">Displays the controller&#8217;s <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>. This refers to the main state machine, as documented in <a href=\"https:\/\/imperix.com\/doc\/help\/operating-principles-of-imperix-controllers\">PN261<\/a>.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane11632_e63785-3a\"><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 class=\"wp-block-paragraph\">This section displays all the user variables defined in the user code. When code is generated from a Simulink\/PLECS model, these correspond to signals connected to either 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>. When working from A C\/C++ project, these are simply all <em>global<\/em> variables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Signals connected to Tunable parameter blocks can be modified directly here and in the Project View, where various Cockpit modules make it easier to visualize and track them during runtime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the target is disconnected or no active code is running, the pane populates with <strong>offline variables<\/strong>, allowing the user to view and assign them in the <a href=\"https:\/\/imperix.com\/doc\/help\/gui-builder-module\" type=\"post\" id=\"20870\">GUI Builder<\/a>, all&nbsp;while remaining completely detached from the hardware.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-16 kt-pane11632_49008b-a6\"><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; Analog inputs and Digital I\/O sections<\/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=\"wp-block-paragraph\">These sections are only available on the B-Box 4. They display variables corresponding to hardware resources in use at the device&#8217;s maximum sampling rate. This includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Variables associated with <a href=\"https:\/\/imperix.com\/doc\/software\/analog-data-acquisition\">ADC<\/a> channels in the <em>ANALOG INPUTS<\/em> section, sampled at 20Msps.<\/li>\n\n\n\n<li>Variables associated with <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 in the <em>DIGITAL I\/O<\/em> section, sampled at 250Msps.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">It is important to note that although the user code must be started to make the list and variable names accessible, the oversampled acquisition is fully independent of the user code. In fact, the corresponding data are too fast for the user app CPU anyway.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-10 kt-pane11632_a32d85-22\"><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 class=\"wp-block-paragraph\">Clicking on this entry will unlink this project from its target. However, when a project is closed, the user <strong>code continues to run<\/strong> on the target, possibly with its PWM outputs still enabled.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-8 kt-pane11632_383e9c-e0\"><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 class=\"wp-block-paragraph\">Clicking on this entry will disconnect the target from the host computer. However, when a project is closed, the user <strong>code continues to run<\/strong> on the target, possibly with its PWM outputs still enabled.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-15 kt-pane11632_9f4ea4-86\"><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 class=\"wp-block-paragraph\">Clicking on this entry will stop the user code on the target linked to the project. Note that stopping the user code <strong>does not automatically de-energize the system<\/strong>. For instance, a DC bus may remain charged.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-1 kt-pane11632_ec17a9-30\"><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 class=\"wp-block-paragraph\">Clicking on this entry allows the project settings to be modified. From this menu, the project name and the user code (.elf file) linked to the project can be changed.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-17 kt-pane11632_631247-4a\"><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>10 \u2013 Open project file in Explore<\/strong>r<\/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=\"wp-block-paragraph\">Clicking on this entry opens the computer&#8217;s file manager. This provides quick access to the project&#8217;s directory and its associated external assets, such as user models and the snapshot folder.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-18 kt-pane11632_c88e24-6f\"><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>11 \u2013 Close project<\/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=\"wp-block-paragraph\">Clicking on this entry removes the project pane from the left bar. The project configuration is preserved in the .ixproj file, allowing the project to be reopened at any time without losing settings. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When a project is closed, the user <strong>code continues to run<\/strong> on the target, possibly with its PWM outputs still enabled.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-12 kt-pane11632_683697-ef\"><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; 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 class=\"wp-block-paragraph\">Clicking this entry permanently deletes the project. Deleting a project erases the .ixproj file, meaning the specific Cockpit configuration for that setup is lost forever. Deleting a project, however, <strong>does not delete external assets<\/strong>, user models (Simulink or PLECS), the snapshot folder, or the generated user code. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When a project is closed, the user <strong>code continues to run<\/strong> on the target, possibly with its PWM outputs still enabled.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-14 kt-pane11632_fd8d5d-39\"><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\">13 &#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 class=\"wp-block-paragraph\">This entry switches Cockpit to the <em>Targets<\/em> perspective and shows the <em>Timings <\/em>tab of the linked target in the central view. &nbsp;This tab provides a graphical representation of the various computation and communication delays experienced by the imperix controllers during runtime.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-13 kt-pane11632_845598-39\"><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\">14 &#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 class=\"wp-block-paragraph\">This entry switches Cockpit to the <em>Targets<\/em> perspective and shows the <em>Target Configuration<\/em> tab in the central view.<\/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 changes as shown below. The exact message depends on the fault type. This is 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 fails to connect to the target, the project pane shows a continuous search message, as shown below. In this case, check that the Ethernet cable is connected correctly and that the target is powered on. Subsequently, verify that the specified IP address is correct and that the target can be pinged.<\/div>\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 id=\"h-using-the-modules-to-interact-with-the-controller\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Visualizing-real-time-data\"><\/span>Visualizing real-time data<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once a project is created, Cockpit modules can be dragged from the top bar into the project view and rearranged as needed. Cockpit features three different types of modules:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Windowed modules<\/strong> capture data using a configurable trigger, similarly to an oscilloscope. When working with the transient generator, the capture can also be triggered manually. These modules capture data at the CPU control rate, and guarantee that no data point is ever missed. At the hardware level, the corresponding data is stored in a circular DDR buffer on the target and downloaded to the PC once the capture is complete. <\/li>\n\n\n\n<li><strong>Continuous acquisition modules<\/strong> stream data from the target to Cockpit in real time. They capture data at a rate configurable from 10Hz to the CPU control rate, enabling long-term monitoring. These modules, however, depend on the quality of the Ethernet connection. If some data is missed, gaps may be present in the (timestamped) logs.<\/li>\n\n\n\n<li><strong>Low-frequency modules<\/strong> operate by reading variables made available by the target via an internal <a href=\"https:\/\/en.wikipedia.org\/wiki\/OPC_Unified_Architecture\">OPC UA<\/a> server, with a limited refresh rate (typically 10Hz). The <a href=\"https:\/\/imperix.com\/doc\/help\/gui-builder-module\" data-type=\"post\" data-id=\"20870\">GUI builder<\/a> is the main module among them.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"windowed-modules\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Windowed-modules\"><\/span>Windowed modules<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These modules include the:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scope module<\/strong>, which displays variables on an oscilloscope-like interface offering trigger configuration, cursors with measurements, and custom math functions. It also supports a transient generator that can produce various reference steps and ramps. More details are available on the&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/scope-module\">Scope module<\/a>&nbsp;page.<\/li>\n\n\n\n<li><strong>FFT\/THD module<\/strong>, which lets the user examine scoped variables in the frequency domain. The <em>Spectrum<\/em> mode provides an overview of the spectral content of the whole window. <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">In the&nbsp;<em>Harmonics&nbsp;<\/em><\/span>mode, the Fourier Transform is defined with respect to the fundamental harmonic frequency, displayed as a histogram, and paired with Total Harmonic Distortion (THD) measurements. More details are given on the&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/cockpit-spectral-analyzer\">FFT\/THD module<\/a>&nbsp;page.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1764\" height=\"1176\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/windowed_modules.png\" alt=\"\" class=\"wp-image-46203\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/windowed_modules.png 1764w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/windowed_modules-300x200.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/windowed_modules-1024x683.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/windowed_modules-768x512.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/windowed_modules-1536x1024.png 1536w\" sizes=\"auto, (max-width: 1764px) 100vw, 1764px\" \/><figcaption class=\"wp-element-caption\">Overview of the Scope and FFT\/THD modules<\/figcaption><\/figure>\n\n\n\n<h3 id=\"snapshots\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Snapshots\"><\/span>Snapshots<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Acquired data can be saved for future comparison using Snapshots. To this end, clicking the snapshot button (camera icon) temporarily pauses data acquisition and saves the data currently displayed. Data from previous snapshots appear in collapsible menus next to each variable and can be displayed by clicking the corresponding eye icon.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1909\" height=\"1172\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots-2.png\" alt=\"\" class=\"wp-image-46517\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots-2.png 1909w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots-2-300x184.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots-2-1024x629.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots-2-768x472.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots-2-1536x943.png 1536w\" sizes=\"auto, (max-width: 1909px) 100vw, 1909px\" \/><figcaption class=\"wp-element-caption\">Snapshot button and variable snapshot visibility controls<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Snapshots are listed and can be manipulated from the dedicated tab in the bottom pane. They can notably be <strong>renamed<\/strong>, providing a simple way to keep track of the conditions associated with their capture. Snapshots can also be <strong>deleted<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Snapshots are recorded as MAT files (.mat) and saved in a folder next to the project file (.ixproj). They are automatically exported along with other project files. More details on the snapshot&#8217;s structure and attributes are provided in <a href=\"https:\/\/imperix.com\/doc\/help\/mat-files-cockpit\">PN141<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1878\" height=\"1368\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots_comments-3.png\" alt=\"\" class=\"wp-image-47034\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots_comments-3.png 1878w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots_comments-3-300x219.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots_comments-3-1024x746.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots_comments-3-768x559.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/snapshots_comments-3-1536x1119.png 1536w\" sizes=\"auto, (max-width: 1878px) 100vw, 1878px\" \/><figcaption class=\"wp-element-caption\">Snapshots in the Scope with additional context provided in the User variables pane<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Continuous-acquisition-modules\"><\/span>Continuous acquisition modules<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These modules include the:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rolling Plot module<\/strong>, which allows monitoring the long-term evolution of variables. A closer look at the module&#8217;s capabilities is available on the <a href=\"https:\/\/imperix.com\/doc\/help\/rolling-plot-module\">Rolling Plot Module<\/a>&nbsp;page.<\/li>\n\n\n\n<li><strong>XY Plot module<\/strong>, which lets the user monitor the long-term evolution of 2 variables against each other.<br>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>&nbsp;page.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1750\" height=\"623\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/continuous_modules.png\" alt=\"\" class=\"wp-image-46206\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/continuous_modules.png 1750w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/continuous_modules-300x107.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/continuous_modules-1024x365.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/continuous_modules-768x273.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/continuous_modules-1536x547.png 1536w\" sizes=\"auto, (max-width: 1750px) 100vw, 1750px\" \/><figcaption class=\"wp-element-caption\">Overview of the Rolling Plot and XY Plot modules<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Multiple instances of these modules can be added to the same project, each with its own acquisition rate. Each instance has its own allocated memory buffer which, once full, starts erasing the oldest data. The maximum recording length depends on the selected acquisition rate and the number of variables acquired.<\/p>\n\n\n\n<h3 id=\"exporting-plots\" class=\"wp-block-heading\"><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 class=\"wp-block-paragraph\">Cockpit offers the possibility to export the plotted signals as a CSV file, MAT file, or directly as a MATLAB figure.&nbsp; The data from all plotting modules are saved as-is, with each acquired sample recorded.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To export data from a plotting 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. Data can also be exported from the plotting module&#8217;s context menus, accessed by right-clicking the empty space in the plots.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From the menu that appears, select the desired plots to export and choose the save location: a MATLAB figure or a CSV\/MAT file. A MAT file is also saved when exporting data as a MATLAB figure. When large amounts of data are at stake, exporting to a MAT file is recommended.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><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\" style=\"width:642px;height:auto\" 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<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">Exporting as a MAT file uses the MAT 7.3 format. This format is based on the HDF5 standard, allowing partial saving and loading, as well as better compression. This makes the export process more time- and memory-efficient compared to CSV files. The article <a href=\"https:\/\/imperix.com\/doc\/help\/mat-files-cockpit\">Working with MAT files generated by Cockpit<\/a> provides more information on this topic.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">When exporting as a MATLAB figure, a MAT file is first created and saved. Then, MATLAB is automatically launched with its path set to the destination folder. Finally, the MATLAB figure is automatically displayed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Low-frequency-modules\"><\/span><strong>Low-frequency modules<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">GUI Builder module&nbsp;<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The GUI Builder module enables users to create custom dashboards to interact with the user code at runtime. Dashboards can also be built in advance when no target connection or active code is present. 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 dashboards.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1466\" height=\"1093\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/gui_builder-1.png\" alt=\"\" class=\"wp-image-40366\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/gui_builder-1.png 1466w, 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-1024x763.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/gui_builder-1-768x573.png 768w\" sizes=\"auto, (max-width: 1466px) 100vw, 1466px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Variables module<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"variables-module\">The Variables module provides quick access to selected variables along with basic statistics. This module can be arranged with distinct sections to conveniently sort variables. To add a new section, click the + button on the bottom right of the module. The columns displayed in a section can be managed by right-clicking the section header and selecting the desired columns.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><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\" style=\"width:458px;height:auto\" 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<h4 class=\"wp-block-heading\">DAC module&nbsp;<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The digital-to-analog (DAC) output module is a legacy module specific to the <a href=\"https:\/\/imperix.com\/products\/control\/rapid-prototyping-controller\/\">B-Box 3<\/a>. It allows a given variable to be applied to one of the device&#8217;s four analog outputs, with the value specified in volts. The output range is -5V to 5V. Further hardware specifications are available in the corresponding <a href=\"https:\/\/cdn.imperix.com\/wp-content\/uploads\/document\/B-Box_Datasheet.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">datasheet<\/a>. If a <a href=\"https:\/\/imperix.com\/doc\/software\/analog-outputs\">DAC<\/a> block is used in the user code and the DAC module is also used in Cockpit, Cockpit takes precedence. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the B-Box 4, analog outputs can only be configured using <a href=\"https:\/\/imperix.com\/doc\/software\/analog-outputs\">DAC<\/a> blocks.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><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\" style=\"width:420px;height:auto\" 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<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\"><\/span>Interacting with the controller<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Information about <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">controller status and settings is centralized in the&nbsp;<strong>target view<\/strong><\/span>, which is accessible by switching to the <em>Targets<\/em> perspective (left pane). This view is <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">orga<\/span>nized into three tabs:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <strong>Analog I\/Os tab<\/strong> provides a remote view of the device&#8217;s front panel, showing the current configuration and indicating the origin of the fault, if any.<\/li>\n\n\n\n<li>The <strong>Target configuration tab<\/strong> provides information on the IP configuration,  the validity of the software license, and the firmware version. This is also where custom FPGA bitstreams can be loaded and event logs retrieved.<\/li>\n\n\n\n<li>The <strong>Timings tab<\/strong> shows detailed information on the device&#8217;s acquisition, processing, and data transfer timings. Knowing this information is often essential to properly identify the total closed-loop control delay.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"analog-io-tab\" 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=\"Analog-IOs-tab\"><\/span>Analog I\/Os tab<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In this tab, depending on the target imperix controller type, Cockpit provides different tools for configuring the analog front end. Device-specific explanations are given in separate documents:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Controller<\/th><th>Configurable through<\/th><th>Device-specific documentation<\/th><\/tr><\/thead><tbody><tr><td>B-Box 4<\/td><td>&#8211; Device front-panel (LCD+button)<br>&#8211; Cockpit Analog I\/O tab<\/td><td><a href=\"https:\/\/imperix.com\/doc\/help\/analog-i-o-configuration-on-b-box-4#How-to-configure-analog-front-end-hardware\" type=\"link\" id=\"https:\/\/imperix.com\/doc\/help\/analog-i-o-configuration-on-b-box-4#How-to-configure-analog-front-end-hardware\">PN252<\/a><\/td><\/tr><tr><td>B-Box 3 (RCP)<\/td><td>&#8211; Device front-panel (LCD+button)<\/td><td><a href=\"https:\/\/imperix.com\/doc\/help\/analog-front-end-configuration-on-b-box-rcp#Front-end-configuration-hardware\">PN105<\/a><\/td><\/tr><tr><td>B-Board 3 (PRO)<\/td><td>N\/A<\/td><td>N\/A<\/td><\/tr><tr><td>B-Box 3 micro<\/td><td>&#8211; Cockpit Analog I\/O tab<\/td><td><a href=\"https:\/\/imperix.com\/doc\/help\/analog-inputs-configuration-on-b-box-micro#Safety-limits\">PN106<\/a><\/td><\/tr><tr><td>TPI8032<\/td><td>N\/A<\/td><td><a href=\"https:\/\/imperix.com\/doc\/help\/tpi-quick-start-guide?currentThread=active-power-filter#Instructions-for-safe-use\">PN190<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\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-Box 4<\/figcaption><\/figure>\n\n\n\n<h3 id=\"target-configuration-tab\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Target-configuration-tab\"><\/span>Target configuration tab<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This tab regroups several firmware-related information and configuration options. This is also where the device&#8217;s storage units can be accessed to load a license file or bitstream, or load\/save logs and data profiles.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"618\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/image-51-1024x618.png\" alt=\"\" class=\"wp-image-47541\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/image-51-1024x618.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/image-51-300x181.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/image-51-768x463.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/image-51.png 1041w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>Target configuration<\/em> tab<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">How to change the device&#8217;s IP address<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Imperix controllers have two static IPs and one dynamic IP, automatically assigned via DHCP. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In most situations, this doesn&#8217;t require the user&#8217;s attention, as the <a href=\"\/doc\/help\/programming-imperix-controllers#ethernet-configuration\">Ethernet configuration<\/a> behaves well automatically. Nonetheless, if desired, the second IP can be modified at will by clicking the edit icon. (The first static IP serves as a safeguard\/backup value and cannot be changed.) <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">How to load a software license<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The use of the ACG SDK or the CPP SDK is subject to a (paid) license. The validity of this license is checked at the code startup, on the controller. This permits installing and using the software on an unrestricted number of computers. More information about imperix&#8217;s licensing policy is available in <a href=\"\/doc\/help\/software-licensing\">PN160<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A license file can be uploaded easily from the Target configuration tab by clicking the Browse button.<\/p>\n\n\n\n<h4 id=\"h-how-to-launch-a-user-code-at-controller-start-up\" class=\"wp-block-heading\">How to make the user code automatically launch at start-up<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">In some cases, it can be useful to automatically start user code when the controller is turned on. 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>In the <em>User code saved on SD card<\/em> section, click the&nbsp;<em>Save the currently running code<\/em>&nbsp;button to save the current code to the SD card.<\/li>\n\n\n\n<li>Click <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">the<em>&nbsp;Load at <\/em><\/span>startup&nbsp;checkbox&nbsp;to automatically launch the code when the controller is powered on.<\/li>\n<\/ul>\n\n\n\n<h4 id=\"h-how-to-load-a-custom-fpga-bitstream\" class=\"wp-block-heading\">How to load a custom FPGA bitstream<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Information on developing custom logic in the user-programmable FPGA area 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. To load the resulting bitstream onto the controller:<\/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-dot menu in 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 to the controller&#8217;s SD card. Checking the <em>Load at startup<\/em> checkbox indicates that the target will load the imported customized bitstream at the next power cycle, instead of the standard one. <\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">How to upgrade the firmware<\/h4>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"144\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/image-52.png\" alt=\"\" class=\"wp-image-47562\" style=\"width:548px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/image-52.png 656w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/image-52-300x66.png 300w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/figure>\n<\/div>\n\n\n<h3 id=\"timings-tab\" 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=\"Timings-tab\"><\/span>Timings tab<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"target-timings\">This tab provides a graphical representation of the various delays experienced by the controller at runtime. It is notably useful to identify the total control delay, as documented in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/discrete-control-delay\" target=\"_blank\" rel=\"noreferrer noopener\">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 further developed in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/implementation\/basic-pi-control\" target=\"_blank\" rel=\"noreferrer noopener\">TN105<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Below are screenshots of the&nbsp;Timings tab <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">for the<\/span>&nbsp;Central PV inverter (AN006)&nbsp;model&nbsp;executed at two different control rates.<\/p>\n\n\n<style>.kb-gallery-id-11632_5d8172-c5 .kadence-blocks-gallery-item .kb-gal-image-radius, .kb-gallery-id-11632_5d8172-c5 .kb-slide-item .kb-gal-image-radius img{border-radius:0px 0px 0px 0px;;}.kb-gallery-id-11632_5d8172-c5 .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner .kadence-blocks-gallery-item__caption{color:var(--global-palette3, #1A202C);}.kb-gallery-caption-style-bottom.kb-gallery-id-11632_5d8172-c5 .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner .kadence-blocks-gallery-item__caption, .kb-gallery-caption-style-bottom-hover.kb-gallery-id-11632_5d8172-c5 .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner .kadence-blocks-gallery-item__caption{background:linear-gradient(0deg, var(--global-palette9, #ffffff) 0, rgba(0, 0, 0, 0) 100%);}.kb-gallery-wrap-id-11632_5d8172-c5.wp-block-kadence-advancedgallery{overflow:visible;}.kb-gallery-wrap-id-11632_5d8172-c5.wp-block-kadence-advancedgallery .kt-blocks-carousel{overflow:visible;}<\/style><div class=\"kb-gallery-wrap-id-11632_5d8172-c5 alignnone wp-block-kadence-advancedgallery\"><div class=\"kb-gallery-ul kb-gallery-non-static kb-gallery-type-slider kb-gallery-id-11632_5d8172-c5 kb-gallery-caption-style-bottom-hover kb-gallery-filter-none\" data-image-filter=\"none\" data-lightbox-caption=\"true\"><div class=\"kt-blocks-carousel splide kt-carousel-container-dotstyle-dark kt-carousel-arrowstyle-whiteondark kt-carousel-dotstyle-dark kb-slider-group-arrow kb-slider-arrow-position-center\" data-slider-anim-speed=\"400\" data-slider-scroll=\"1\" data-slider-arrows=\"true\" data-slider-fade=\"true\" data-slider-dots=\"true\" data-slider-type=\"slider\" data-slider-hover-pause=\"false\" data-slider-auto=\"\" data-slider-speed=\"7000\" data-show-pause-button=\"false\"><div class=\"splide__track\"><ul class=\"kt-blocks-carousel-init kb-blocks-slider splide__list\"><li class=\"kb-slide-item kb-gallery-slide-item splide__slide\"><div class=\"kadence-blocks-gallery-item\"><div class=\"kadence-blocks-gallery-item-inner\"><figure class=\"kb-gallery-figure kadence-blocks-gallery-item-has-caption\"><div class=\"kb-gal-image-radius\"><div class=\"kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-inherit kb-has-image-ratio-inherit\" ><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1.png\" width=\"1108\" height=\"520\" alt=\"\" data-full-image=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1.png\" data-light-image=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1.png\" data-id=\"32660\" class=\"wp-image-32660 skip-lazy\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1.png 1108w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1-300x141.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1-1024x481.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_1_2025.1-768x360.png 768w\" sizes=\"auto, (max-width: 1108px) 100vw, 1108px\" \/><\/div><div class=\"kadence-blocks-gallery-item__caption\">Central PV inverter running at 16 kHz<\/div><\/div><\/figure><\/div><\/div><\/li><li class=\"kb-slide-item kb-gallery-slide-item splide__slide\"><div class=\"kadence-blocks-gallery-item\"><div class=\"kadence-blocks-gallery-item-inner\"><figure class=\"kb-gallery-figure kadence-blocks-gallery-item-has-caption\"><div class=\"kb-gal-image-radius\"><div class=\"kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-inherit kb-has-image-ratio-inherit\" ><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_2_2025.1-1.png\" width=\"1108\" height=\"520\" alt=\"\" data-full-image=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_2_2025.1-1.png\" data-light-image=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/04\/timings_2_2025.1-1.png\" data-id=\"37431\" class=\"wp-image-37431 skip-lazy\" 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\" \/><\/div><div class=\"kadence-blocks-gallery-item__caption\">Central PV inverter running at 160 kHz<\/div><\/div><\/figure><\/div><\/div><\/li><\/ul><\/div><\/div><\/div><\/div>\n\n\n<p class=\"wp-block-paragraph\">The timing graph accurately represents the delays incurred during 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;<a href=\"\/doc\/software\/clock-generators\" type=\"link\" id=\"\/doc\/software\/clock-generators\">CLK0<\/a><em>&nbsp;<\/em>is used as the time base for sampling events and for executing the control task execution. In most cases, the PWM modulators are also based on&nbsp;CLK0.<\/li>\n\n\n\n<li><strong>SCLK indicates the sampling events, <\/strong>namely the instants at which the ADCs sample the analog inputs. In the example above, the sampling phase is set to 0.5, so sampling occurs midway through the PWM period.<\/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 time required to transfer the read value to the FPGA. <\/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.<\/li>\n\n\n\n<li>The <strong>CPU task<\/strong> shows the time the CPU spends executing the control algorithms.&nbsp;This is separated into two phases:\n<ul class=\"wp-block-list\">\n<li>The <em>control task execution<\/em> represents 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 <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">immediately afterward, in parallel with the&nbsp;<em>post-process<\/em><\/span><em>ing<\/em>.<\/li>\n\n\n\n<li>The<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><em> post-<\/em><\/span><em>processing execution&nbsp;represents the time required to perform all tasks&nbsp;<\/em>not directly involved in the control algorithm.&nbsp;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The <strong>Write delay<\/strong> indicates the time required to perform <em>CPU-to-FPGA transfers<\/em>. These tasks are performed once the&nbsp;<em>control task <\/em>has finished executing. 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 class=\"wp-block-paragraph\">More information about how imperix controllers process data is given in <a href=\"\/doc\/help\/operating-principles-of-imperix-controllers\">PN261<\/a>. Basic sampling configurations are also further described in <a href=\"\/doc\/help\/timing-configuration-on-imperix-controllers\">PN259<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 is displayed here. <a href=\"\/doc\/help\/timing-configuration-on-imperix-controllers\">PN259<\/a> provides more details on common and advanced sampling configurations.<\/li>\n\n\n\n<li><strong>F<sub>CPU<\/sub><\/strong> shows the&nbsp;execution frequency and period of the routine. 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 CLK0 period. <a href=\"\/doc\/help\/hardware-protections-on-imperix-controllers#software-faults\">Safety mechanisms<\/a> are implemented to detect CPU overload.<\/li>\n\n\n\n<li>The <strong>Cycle delay <\/strong>represents the time between the sampling event and the availability of the newly computed data in the 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\">PN142<\/a>. The cycle delay is measured directly within the FPGA. The min, max, and avg values are computed over a 1-second window.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"logs\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Logs-tab\"><\/span>Logs tab<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Log messages are displayed in the&nbsp;<em>Logs<\/em>&nbsp;tab in the bottom bar in the&nbsp;<em>Projects<\/em> perspective of Cockpit. 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 Cockpit to interact with imperix controllers. The article provides an overview of the tools and features available in&#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 v28.1 - 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=\"2025-05-07T08:27:27+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=\"23 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 user guide\",\"datePublished\":\"2022-04-12T06:52:04+00:00\",\"dateModified\":\"2025-05-07T08:27:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/cockpit-user-guide\"},\"wordCount\":4175,\"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\":\"2025-05-07T08:27:27+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 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":"2025-05-07T08:27:27+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":"23 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 user guide","datePublished":"2022-04-12T06:52:04+00:00","dateModified":"2025-05-07T08:27:27+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide"},"wordCount":4175,"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":"2025-05-07T08:27:27+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 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":536,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/11632\/revisions"}],"predecessor-version":[{"id":48764,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/11632\/revisions\/48764"}],"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}]}}