(8.D.2.5) AWE Designer
AWE Designer 8.D.2.5
2024-JUNE-29
New Features
Reduced load and save times for AWJ files, and updated AWJ version to 3.0
Added option in Layout Properties menu to force bind_wire commands to happen before other wire allocations
Added options in Generate Target Files menu to select target instanceID and to include a Lookup Table in the generated .awb/.aws
Added support for Multi-Instance in Module Tests tool
Added support for Multi-Instance and Multi-Canvas in the Tuning Interface Test tool
The minimum MATLAB version required for using Pro editions of Designer has been updated from R2017b to R2021b
Designer is no longer tested with MATLAB R2017b, so using this version may result in inconsistent or faulty behavior
Enhancements
Improved the validation of AWJ files against a custom JSON schemas
BuildFlash.exe tool now warns user when filenames are truncated due to length limitations
Bug Fixes
Fixed issue with building Multi-Canvas layouts when different instances have different block sizes
Improved error detection and message clarity for invalid subsystems with only a virtual module between input and output
Ensuring that correct target information is available in profiling after doing attach to running target
Fixed issue that was preventing layouts saved with invalid paths in ParamSet module from being loaded
Execution order for Param Set and Status Set style modules can now target modules in subsystems
Fixed issue where the 'controlled by' field for modules on the canvas was not always being updated
Removed support in Designer for module argument inputs beginning with '0b'
Fixed issue where module argument strings starting with '0x' were being improperly converted to decimal values
Fixed issue in Designer when running on Multi-Instance target with more than 16 instances
Updated AWE Server Flash Manager to be able to access different Flash File Systems on Multi-Instance or Multi-Canvas target
Loading and saving module arrays from file now maintains full precision
Fixing corruption in layout file after running process files
Fixing user inspector operability after running manual profiling
Fixed a number of issues that could cause Tuning Interface Test to hang, and improved flexibility of modules required to run the test
Fixed issue where copying an invalid subsystem to a new layout could corrupt the layout
Convert to Subsystem will now retain custom objectIDs for modules
Failed attempts of Convert to Subsystem now correctly restores original subsystem
Designer now throws a warning if the output HW pin is not fract32
Restored the right click Help option for RUS/CRUS on the canvas
Improved robustness of
test_start_audio
MATLAB function in the case of Multi-Instance targetsFixed issue when loading layouts with out-of-sync module control information
AWE Designer 8.D.2.4
2024-MARCH-15
New Features
Updated AWJ version to 2.1 to reduce overall file size
Enhancements
Revamped MATLAB AWE framework by adopting more efficient implementation, resulting in faster build and load times
AWE objects are now passed as handles, instead of copied-by-assignment
Existing user scripts may not be compatible if they rely on assignments creating new objects. To address this, update scripts to explicitly call the 'copy' function (see (8.D.2.5) Updating MATLAB User Scripts to 8.D.2.4/8.D.2.5+ for more details)
Standard edition is now built using MATLAB 2023b (requires MCR version 2023b Update 3)
CRUS modules now support controlling internal variables with ParamSet modules
Added calculated layout block rate in profiling results, in addition to existing measured time per process
Added information in AWE_Server about heap alignment words for the attached target
Plot Frequency Response now uses different colors for each channel
Improved robustness when loading corrupted .awd's
Bug Fixes
Updated peak profiling tool to always plot last value and to support clockDividers >= 10
Fixed support for CRUS that include MATLAB subsystem modules
Copy pasting a RUS will now always control the correct User Inspector
ObjectID's can now be updated for modules even if layout can't be built
Prevented users from updating module arguments while a layout is running
Fixed Example module pack's VS project
Corrected AWJ saving of any font size used in Annotation modules
Fixed canvas labels for all subsystem types for User Inspector values
Subsystem canvas labels are no longer shown in raw double precision
Prevented unnecessary ModuleList.h files from being generated for multi-canvas targets
AWE Designer 8.D.2.3
2024-JANUARY-26
New Features
Created a Feedback Settings module that enables setting feedback wire properties using Layout Variables
Enhancements
Added 'Hierarchy Level' column in exported profiling reports
Allow RUS to be loaded from folders that contain a comma in the name
Improvements to layout build times:
Removed module runtime status from Subsystem canvas text
Improved build time progress bar redraw performance
Removed unnecessary redraw when building
Removed extraneous target reads when redrawing canvas after completed builds
Removed obsolete functionality in generate_version. Function now always returns -1
Removed extraneous target queries messages when building layouts
Bug Fixes
Fixed Attach to Running Target for Multi-Canvas applications
Fixed profiling percentage calculations in Multi-Rate, Multi-Instance systems
Fixed Push Button User Inspector for Multi-Instance systems
Made update to avoid unnecessary target queries for read-only Checkbox User Inspectors
Removed test-only code that could cause system to become unstable in case of a test failure
Added 'extern "C"' to generated InitAWB.h files to improve C++ application support
Improved the canvas text for Reusable Subsystems
Removed newline from canvas text when module status is not Active
Fixed peak profiling not working with multi-instance targets when active instances are not consecutive
Fixed using a semi-colon separated list of variables to be controlled via one user inspector
Note that you cannot use variables in different instances with one user inspector, they must all be on the same instance
An error notifying the user of this will only show if you open the user inspector after building and running the layout
Fixed creation of layouts using subLayoutIds for non-multi-instance targets
AWE Designer 8.D.2.2
2023-NOVEMBER-8
New Features
Module documentation and Designer User's Guides are now hosted on DSP Concepts website
Enhancements
CPU load per core is now displayed in AWE_Server if target has defined core affinities
CPU overflows in AWE_Server now calculated correctly for layouts running across multiple cores (SMP)
Bug Fixes
Module properties window will no longer close when a layout is run
Matlab will now force values to be within min/max range set by the module variable or array
Fixed failure with virtual modules in feedback wire path
Fixed issue with module compatibility with previously saved AWJs
Fixed loading of AWD's that contain subsystems with no input or output pin
Fixed propagation of accumulated delay through subsystems
Update AWE_Server to do deferred processing on all Native instances, not just instance 0
AWE Designer 8.D.2.1
2023-SEPTEMBER-18
New Features
(BETA) New Multi-Instance feature allows processing of audio across multiple AWE Core instances on different cores in a single layout
Native target now defaults to 4 instances, editable in AWE_Server
Relies on a new sharedHeap buffer allocated in shared memory on the target
Performs all IPC of audio using new IPC Buffer module
Released as a beta feature, with known limitations:
IPC Buffer module will be updated in compatibility breaking ways in future releases. Will need to update AWE Core and Designer to align
(Native target only) deferred processing only works on Instance 0. Use Instant updates for Param Set and other modules when on other instances
Module regressions can only be run on Instance 0
RUS and CRUS with User Inspectors can not be run on instance 0
Enhancements
Redesigned and improved the Profile Block by Block and Manual Profiling menus
Manual Profiling moved to Profile Running Layout menu and layout must now be running to use
Redesigned and improved the Peak Profiling menu in Designer - summarize
Improved AWJ loading to allow hierarchical module names to exceed 63 chars
Added default RUS path to default Designer installer search paths
Bug Fixes
Fixed issue where AWJs weren't storing output pin properties, causing spurious diffs in AWJ files
Fixed issue with saving AWJ where default values of clockDivider were not being stored, even if required
Saving updated RUS's that have User Inspectors will now store module variables correctly
Fixed bug when deleting feedback wires that was causing build failures
Cleared feedback wire status from modules when copy / pasting to avoid build errors
Fixed system test errors for modules connected to feedback wires
Updated to correctly fail builds if output pin does not have a clockDivider of 1
Fixed issue with layout variables where module arguments were being overwritten with defaults
Fixed syntax error in scripts generated from generate_mfile.m
Removed an unnecessary error message when clicking on module classes in Layout Properties menu
Removed obsolete SMP module from Designer
AWE Designer 8.D.1.3
2023-JULY-21
Enhancements
Improved functionality of the Advanced menu in Sink inspectors
Bug Fixes
Fixed issue in User Inspector Controls not honoring array element accesses
Interpreted modules now support passing multiple input arguments to preBuild and postBuild functions
Fixed problem where custom functions assigned in Interpreted Modules were not being correctly assigned if they did not have spaces around equal sign
Fixed system test failure for ParamSet
Fixed issue with reverting RUS to subsystem not restoring canvas size
Renaming a CRUS that contains custom ObjectID's no longer causes layout build failures
Added missing module names to missing module error message when using AWJ
Fixed file validation logic in get_gsys to allow passing in AWJ files
Fixed issue where Debug modules could be excluded from AWS file when generated in Debug mode
Corrected manual profiling tool to use the layout's instance ID instead of 0
Fixed issue loading arrays from .csv's with an extra trailing comma
Designer Layout Properties menu now includes virtual modules in total module count
Ensuring that Peak Profiling tool does not plot extraneous zeros at the end of profiling
Fixed an issue with using SPI tuning interface with multi-instance target
Fixed AWE Server crash if switching instances but the target is disconnected
Removing unnecessary redraws when scrolling horizontally
Setting Debug Status is now disabled in protected subsystems
Improved error message clarity for frequency response computation with no markers
Fixed issue with propagating channel names across subsystems
AWE Designer 8.D.1.2
2023-JUNE-2
Enhancements
Will now detect if an input WAV file is missing before building the layout
Improved robustness and usability of layout variables
Updated taskbar icons for Designer and AWE_Server applications
Now allowed to replace a RUS that has the same name as an existing module
Improved notification to user when overwriting a CRUS
Removed 'subsystem' tag from default module search list for new RUS/CRUS
Removed unneeded information from AWJ files to make file size smaller
Column names for arrays in the module properties panel will now show associated channel names when appropriate
Added multiple sections and improved clarity to DocHub Designer documentation
Bug Fixes
Source modules will now correctly inherit clockDivider from subsystem pins
ModuleList.h files for layouts with CRUS will now include all necessary module classes
Fixed issue with clashing objectId's and unsaved inspector values when using multiple of the same CRUS
Sharing a CRUS with a user inspector will now work on any machine
Deleting a CRUS will now delete all relevant files
Added missing header files to installer to allow custom module creators to successfully compile
Fixed issue where modules would lose debug status if a module argument was changed
Changing arguments of a module will now result in the proper default values for new variables and arrays
Corrected how module variable steps are handled if they are beyond the allowable variable range
Now safely handling NaNs when entered in module variable values in the module properties window
Inspector values will no longer be corrupted if they are opened multiple times
Copying modules beyond the size of the canvas will no longer corrupt the canvas size
Corrected position of layout name on the canvas
Fixed awe_designer script so it no longer opens an unresponsive window if passing in an AWD
AWE Designer 8.D.1.1
2023-FEBRUARY-15
Enhancements
Improved error message clarity when modules are not found in an AWD
The Instance drop-down list on the canvas now correctly populates based on the connected multi-instance target when an AWD is opened
Bug Fixes
Fixed forward compatibility issue with loading AWJs
Fixed an issue with loading AWD's with subsystem modules set to Debug runtime status
Loading an AWD now restores all Subsystem module variable values
Fixed a possible crash related to the module alignment feature on canvas
Fixed a possible crash when using an .ini file with invalid characters or sections
Enabled the Permissions -> Allow Tuning feature on the right-click menu for Subsystems
When in tuning mode, the Paste Settings option now sends updated values to the target
Fixed invalid heap memory values for profiling results on multi-instance targets
Audio Start/Stop commands sent from AWE Server now support multi-instance targets
Deleting paramSet will now remove the "controlled by" variable element on the canvas
Router module now allows adjustments to the number of output channels
Fixed an issue with the BufferSourceInt32 array input being inappropriately rounded for large numbers
Image Inspector now correctly loads file paths that have been manually entered
Added header file to Pro installer to allow users to compile a subsystem module with flattenOnBuild=0
Corrected the default handling of complex data for modules while in Bypass mode
The Update Property feature now works for subsystem modules
Fixed VS projects included for the Example module pack
Fixed a bug that was ignoring case of module names and preventing wiring of modules
Fixed a problem with Postbuild ignoring modules marked for debug when built for release
The channel name defined inside a subsystem is no longer overwritten by the input channel name
AWE Designer 8.C.2.7
2022-DECEMBER-05
New Feature
New Compiled Reusable Subsystems (CRUS) feature provides IP protection for shareable modules by compiling subsystem contents into AWB format
Enhancements
New DSP Concepts logos implemented in the AWE Designer platform
Native target's fundamental block size can now be set by the user in AWE_Server.ini
Improvements to the Creating a User Inspector and Reusable Subsystems (RUS) sections of the AWE Designer User Guide
Module size is automatically reduced when the number of input pins is reduced
Module pin information is now saved in AWD files
Bug Fixes
Fixed an issue in the Designer canvas instance dropdown that prevented using more than 7 instances
Fixed an intermittent crash in Table module inspectors
Convert to Subsystem feature now creates pins in the order of the module positions on the canvas
Removed spurious error message from MATLAB console while using Convert to Subsystem feature
Fixed an issue with renaming subsystem pins
User Inspector Panels no longer change to a debug state when the subsystem is changed to debug
Updated AWJ's to save subsystem canvas size
Corrected the order in which coefficients are loaded from AWD's to fix an issue with Hilbert module and other subsystems
Corrected a problem with source modules not inheriting clockDividers correctly when copied from other layouts
Fixed a problem preventing the creation of feedback wires from arbitrary wires
Error dialogs no longer cut off text underneath the scroll bar
Fixed an issue with deleting or showing help for RUS in Standard and STMicro editions of Designer
Fixed an issue while creating RUS with object ID's assigned to subsystem modules
Corrected the implementation and usage of complex range input pins
Fixed
generate_mfile
MATLAB script script to support subsystems with layout variablesFixed
set_feedback_pinType
MATLAB script to actually set the feedback type of the pin
AWE Designer 8.C.2.6
2022-SEPTEMBER-21
New Feature
Reusable Subsystems (RUS) can now be deleted using the right-click menu from within the module browser
Enhancements
Layout loading times have been improved by avoiding redundant operations
Flash File System maximum filename length increased to 56 chars
Invalid variable mask values (greater than 24) are no longer generated in ControlInterface.h files
Sink Properties modules have been updated to avoid warnings when rounding the sample rate
Bug Fixes
Fixed an issue that prevented some wav files from being fully processed
Fixed frequency domain plotting resolution of log x-axis in Sink Inspector
AWE Designer 8.C.2.5.A
2022-JULY-21
Bug Fixes
Fixed issue with coefficients not loading if array size is larger than default
Improved robustness of startup code to avoid crashes with corrupted persisted settings
Fixed custom inspectors so that they properly save and load settings
Fixed problem with missing modules in a layout not being fully deleted
AWE Designer 8.C.2.5
2022-JULY-05
New Features
New Reusable Subsystem (RUS) feature can be used to generate shareable and portable subsystems using native Audio Weaver modules
New Interpreted Modules can be used to share custom made Audio Weaver modules with users of Standard Designer
Enhancements
Extended AWE Server USB proxy supports targets with more than one USB HID endpoint
Updated Module User's Guide to explain building of custom modules in Visual Studio in x86 mode
Improved error message when using Layout Variables with module variables instead of module arguments
Extended layout compile timeout to support very large layouts
Added more .awd example files to Examples/Module Usage
Results in Designer's profiling window are now cleared between RT and Manual Profiling runs
AWD Example folder is now the default initial path when opening AWDs from the File menuFeedback wire error now highlights module causing error
Profiling results now show the channel count of each module
Bug Fixes
Fixed issue where updated module paths were not persisting in Standard edition of Designer
Extended default timeout for flash erase commands sent to target to allow for long erase times
Fixed issue loading .awj files that contain measurement plots
Fixed issue where subsystems with Release modules were improperly marked as Debug and failed to build
Open All option on subsystems tab menu now works fully in runtime mode
Improved the robustness of AWE Server's audio device detection and loading to avoid crashes at startup
The search bar in Designer no longer searches through subsystem modules
Fixed possible audio glitch when using multi-rate modules and the buffer pool wire memory algorithm (beta)
Prevented users from changing protected subsystems and layouts by using keyboard shortcuts
Updated MATLAB scripts to more robustly detect if the target has floating point or fixed point modules
AWE Designer 8.C.2.4
2022-MAY-12
Enhancements
Native target updated to prevent audio processing from being interrupted by lower priority AWE tasks
Improved error reporting when surpassing the maximum number of channels on a wire
Updated
profile_all_modulelibs
to accept arbitrary block size (RT685 & Hexagon)Changed default .csv names for module testing outputs for clarity
Improved formatting and clarity of saved .csv for peak profiling tool
Improved presentation of the Native audio preferences GUI
Improved module spacing and distribution capabilities in Designer
Validated Windows 11 compatibility
Bug Fixes (Modules)
Corrected build error when ParamSet modules are set to debug
All source modules now have empty clock divider when first created
Fixed error checking for modules to prevent building with input pins of differing sizes
Bug Fixes (Canvas)
Module variable values shown on canvas will now update when modified by User Inspectors
Feedback wire with inherited properties now succeeds without subsystem input pins
Changes to Layout Properties now prompt user to save layout
Bug Fixes (General)
AWJ files with empty subsystems now load successfully
Fixed failure for
PFID_GetExtendedInfo
when using SPI Tuning InterfaceFixed capitalization typo for AWECore header file in generated ModuleList.h files
Addressed issue with "Record File Name" textbox field in Layout Properties menu not always being editable
AWE Designer 8.C.2.3.A
2022-APRIL-15
New Feature
Removed Reusable Subsystem feature to allow for future incompatible improvements
AWE Designer 8.C.2.3
2022-APRIL-6
New Features
AWE_Server Preferences menu added to expose common settings and options
Comm timeouts can now be specified in the Connect to Target menu in AWE_Server
Created Fract32 version of test_comm_speed
Added ability to select individual modules in system test menu
Added Version field to AWJ file
Enhancements
Improved speed of accessing module variables, resulting in faster layout build times
Improved and fixed issues with precision of floating-point numbers in Designer
Improved documentation of help file generation for reusable subsystems
Improved error message when two module libraries have a duplicate
ClassName
Improved error message for non-existent layout variables
Improved error messages for User Inspector Controls with invalid
modVar
values
Bug Fixes (General)
The AWD file name no longer overwrites the record file path in the Designer Layout Properties menu
Ctrl-S shortcut functions properly while module inspector window is focused
Tuning Interface Test tool no longer causes Designer to freeze on failure
Fixed bug in feedback wires preventing previously saved AWD's from loading
Enabled renaming unconnected subsystem pins
Fixed issue with loading newly saved AWD's with subsystem modules in older versions of Designer
No longer calling prebuild when a variable is changed while the layout is running
Designer no longer freezes when running layout while module array has unapplied changes
AWJ files properly store measurement values
AWJ files with corrupted or invalid format display a useful error dialog
Multiline error windows will now have a scroll bar
Corrected baud rate setting for SPI proxies in AWE_Server
Bug Fixes (Interface)
"Edit accumulated delay" value is no longer obscured by vertical scroll bar
Disabled the "Use Audio file input" Manual Profiling option on embedded targets without a filesystem
Designer properly filters module browser on Multi-Instance targets
User Inspector Control correctly displays "controlled by" on canvas
Fixed flickering behavior of User Inspector Controls
Property view populated for User Inspector Control after navigating into subsystem
Opening a module inspector no longer closes the module property window
Help file is accessible in right click menu for reusable subsystem modules (RUS)
Dragging and dropping of a RUS onto an existing module in the module palette other than a RUS is no longer permitted
Enabled modifying values in "Array" tab of "Module Properties" when layout is protected
Space before = in String Annotations no longer gets deleted
Sink inspector successfully draws when in a subsystem and a member of an inspector group
Bug Fixes (Modules)
"Convert to Subsystem" on a subsystem with feedback wire completes without Designer freezing
Feedback wires propagate new thread ID info
Fixed buffer pool error for isolated modules with feedback wires
Feedback wire initial values propagate properly
Edit box User Inspector Control is usable with Wave File Sink modules
Fixed Meter User Inspector Control mapping property
Fixed User Inspector Controls attached to debug modules in release build causing Matlab errors
Creating User Inspector Control from a Sink module functions properly
Knob User Inspector Control properly handles step size with respect to max/min values
Sink inspector no longer displays signal at fixed sample rate of 48 kHz
Fixed and improved TableInterp and TableInterpXY modules
Designer no longer displays
clockDivider
in Wire Info boxFixed issue preventing use of MeasurementV2 module inspector
AWE Designer 8.C.2.2
2022-JANUARY-7
New Features
New support for multiple sublayouts with the same clock divider to be generated in Designer, using BufferUp/Down V2 modules
Memory usage for each module and subsystem now shown on the canvas
New AWJ text based (json) file format can now be used to save Audio Weaver layouts
clockDivider
is now a string instead of an integer in the Property SheetModules controlled by a User Inspector Controls are now shown with dashed outlines
HTML doc files for reusable subsystems now have some fields automatically filled in
Enhancements
Internal updates significantly improve layout build times
Search bar in Designer will now return results for all subsystems in layout, not just opened subsystems
Closing MATLAB dialog now always returns topmost window back to Designer
The module property view is no longer closed when Running or Halting a layout
Module Tests results now show full hierarchical names for subsystems
Allowed Ctrl-S shortcut to work while modifying inspector dialogs
Improved help documentation for awe_module/process.m
Bug Fixes
Fixed an issue where array variables could be truncated when opening unbuildable system
Fixed bug in installer scripts that was preventing VS2010 redistributables from installing correctly
Corrected CPU overflow detection for the Native target
Fixed behavior where second instance of Designer was blocked after closing modal MATLAB window in first instance
Fixed issue with "Record File Name" text box not updating when auto-increment/specify is changed
Disabled custom module creator wizard menu in unsupportable Standard edition
profile_all_modulelibs
script will now run even if Profiling folder does not already existCorrected display of grouping containers in Layout Properties dialog
Fixed bug where some modifications to the layout did not mark the system as 'dirty'
Sink inspector in subsystem now properly persists settings
Now properly persisting channel checkboxes in Sink Inspector
Control module count now correctly accounts for Subsystem Inspectors
Inspector groups now respect a module's "Allow Tuning" setting
Fixed undo and redo behavior for Convert to Subsystem feature
Fixed issue with Convert to Subsystem failing in MATLAB 2017b only
Accumulated delay now updates correctly in empty_subsystem module
Show Channel Names option no longer resets when navigating into subsystems
Fixed bug with channel names not fully propagating through subsystems
No longer rounding integer array values to 7 digits. Full 32 resolution now supported
Default
clockDivider
for source modules is now correctlyFixed bug that did not allow module arguments to be the empty string
Fixed Vertical Alignment and Multiline options combo in canvas text box