{"id":4521,"date":"2019-06-16T20:04:51","date_gmt":"2019-06-16T18:04:51","guid":{"rendered":"https:\/\/demdlx704as001.ad.harman.com\/?p=4521"},"modified":"2021-12-16T17:12:20","modified_gmt":"2021-12-16T16:12:20","slug":"control-module-configuration","status":"publish","type":"post","link":"https:\/\/audioworx.transfunnel.co\/old\/?p=4521","title":{"rendered":"Control Module Configuration"},"content":{"rendered":"<p class=\"text\">Just as in dynamic signal flow, a flash\/file I\/O scheme needs to be implemented on the desired target device. Refer to Section &#8220;Tuning Sets (SETi) implemented&#8221; of this document. The following explains the way dynamic signal flow for control works.<\/p>\n<h4 class=\"text\">Master Control Design<\/h4>\n<p class=\"text\">The control flow is designed in the GTT. Once completed, it is sent through an xTP message to the xAF. Refer to the GTT documentation for more information on how to design the control flow in the SFD.<\/p>\n<h4 class=\"text\">Saving the master control data on the target device<\/h4>\n<p class=\"text\">On the target device, the xTP layer should have a way to use an instance of the <em>InitializationMsgParser<\/em> class. This class is available in the interface library that is delivered with the xAF. The <em>InitializationMsgParser <\/em>can be initialized as it is shown in Section &#8220;Multiple Instance Multiple Core support for dynamic SFD with GTT&#8221; of this document.<\/p>\n<p class=\"text\">Once it is initialized and xTP message, XTP_DEVICE (0x64), is received, it should trigger the <em>parseMessage<\/em> as shown below:<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-4522\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/017.jpg\" alt=\"\" width=\"838\" height=\"435\" \/><\/p>\n<h4 class=\"text\">Instantiating the Control Module Flow from the Control Flow stored on the device<\/h4>\n<p class=\"text\">Once the step above is complete, the master control flow can be instantiated by rebooting the system. To do this, the code below should be implemented along with the initialization of the framework. You can use the <em>DeviceParser<\/em> class, which is also included in the interface library. Below is a brief example on how to load the master module.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4523\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/018.jpg\" alt=\"\" width=\"789\" height=\"341\" \/><\/p>\n<p class=\"text\">Once <em>m_numPins<\/em> and <em>m_controlMsgMap<\/em> are populated, they can be used to instantiate the master module:<\/p>\n<p class=\"text\">xAFInitMasterControl(&amp;g_masterControl, m_controlMsgMap, m_numPins, UNUSED_VAR, memAlloc alloc);<\/p>\n<h4 class=\"text\">Example Implementation<\/h4>\n<p class=\"text\">In current release, examples are available for IVP. The control module file, <em>sect131072.flash<\/em>, is stored in the AudioFrameworkDLLS folder indicated by IVP. You can find a reference implementation on the xAF repo in the <em>VirtualAmpEffect<\/em> file at the following location:<\/p>\n<p class=\"text\"><a href=\"https:\/\/bitbucket.harman.com\/projects\/LSACCA\/repos\/extendable-audio-framework\/browse\/private\/utils\/xAFVirtualAmp\/VirtualAmpEffect.cpp?at=refs%2Fheads%2Fmaster\">https:\/\/bitbucket.harman.com\/projects\/LSACCA\/repos\/extendable-audio-framework\/browse\/private\/utils\/xAFVirtualAmp\/VirtualAmpEffect.cpp?at=refs%2Fheads%2Fmaster<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just as in dynamic signal flow, a flash\/file I\/O scheme needs to be implemented on the desired target device. Refer to Section &#8220;Tuning Sets (SETi) implemented&#8221; of this document. The following explains the way dynamic signal flow for control works. Master Control Design The control flow is designed in the GTT. Once completed, it is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"off","ocean_gallery_id":[]},"categories":[54,10],"tags":[],"coauthors":[165],"_links":{"self":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4521"}],"collection":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4521"}],"version-history":[{"count":2,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4521\/revisions"}],"predecessor-version":[{"id":14398,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4521\/revisions\/14398"}],"wp:attachment":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4521"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=4521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}