Skip to content

Releases: microchip-pic-avr-tools/powersmart-dcld

Package Update Version 0.9.14.678 Release Notes

12 Apr 22:30
Compare
Choose a tag to compare

New Features:

This additional release was necessary after PowerSmart™ DCLD has been moved to the new Github organization Microchip PIC & AVR Tools.

This release updates all internal links to websites and user's guide. No further changes to the software application have been made.

For further detail on the most recent changes, please review the release notes of Feature Update Version 0.9.14.676

Feature Update Version 0.9.14.676 Release Notes

01 Apr 17:23
Compare
Choose a tag to compare

New Features:

1) Anti-Windup Minimum Auto-Zero Feature Improvement

The Anti-Windup Limiter Auto-Zero feature clamps the output value to zero when the control output is less than the declared minimum threshold.
This feature can improve no-load regulation in asynchronous topologies. In this version the control output history is still updated with the most recent control output value while the zero'ed value is written to the declared target memory address (e.g. PWM duty cycle register)
For improved cycle-skipping mode, this feature can be combined with the Output Saturation feature to improve transitions into and from cycle-skipping to constant frequency output operation.

2) Mirrored Control Output with Offset

The multi-output support got extended by the Mirror Output With Offset option. The Mirrored Output option allows to write the most recent control output to two different target variables/registers simultaneously. The extended option in this version adds an user-specified offset value to the most recent control output before writing it to the alternate target address.
This feature becomes useful in multiphase control systems, where one loop is controlling one primary phase, and PWM steering is used for current balancing across the remaining phases.

Optimizations:

1) Anti-Windup Option Combination

When enabling multiple Anti-Windup Limiter features simultaneously, several conditions need to be combined in source code. The conditional bit- and value-test instruction sequence has been re-organized to reduce the overall number of cycles of minimum and/or maximum value clamping overrides.

2) P-Term Control Nominal Output Setting for Phase-Shifted Converters

When setting up a P-Term control loop for plant measurements of phase-shifted converters, the phase shift value was previously set by specifying the amount of overlap in [%]. This seems to have been a non-intuitive approach. In this version the specification was changed to use Degrees of Phase Angle between overlapping PWM waveforms to be more intuitive.

Bugfixes:

1) Input/Alternate Input Port Swapping

Rating: Medium
Status: Fixed

In floating point and dual bit-shifting scaling mode, input port swapping failed when used in combination with output port mirroring.

2) Reviewed comments

Rating: Low
Status: Fixed

Comments in generated code has been reviewed and some obsolete/misleading descriptions have been corrected.

3) Input gain calculation of current feedback circuits

Rating: Low
Status: Fixed

Recalculating the maximum sense value got accidentally bypassed causing the user input sanity-check validation to fail when the new feedback gain changed to a degree where the previously calculated maximum sense value exceeded the ADC voltage reference.

Important Change Notes - (Impact on Existing Projects):

1) API Changes

a) Renamed Extension Function Hook Names

Some extension function hook names seemed to create confusion among users. Therefore we took the opportunity to get this straight before the use of this new feature is spreading to wide, affecting too many firmware projects.

These extension function hooks have been renamed:

- `ptrExtHookTargetFunction` has been renamed to `ptrExtHookPreTargetWriteFunction`
- `ExtHookTargetFunctionParam` has been renamed to `ExtHookPreTargetWriteFunctionParam`

- `ptrExtHookStopFunction` has been renamed to `ptrExtHookEndOfLoopFunction`
- `ExtHookStopFunctionParam` has been renamed to `ExtHookEndOfLoopFunctionParam`

- `ptrExtHookEndFunction` has been renamed to `ptrExtHookExitFunction`
- `ExtHookEndFunctionParam` has been renamed to `ExtHookExitFunctionParam`

Compiling code using any of the previous declarations will result in compiler errors:

`[path]/[file name]:[line number:column] error: 'volatile struct NPNZ_EXTENSION_HOOKS_s' has no member named 'ExtHookExitFunctionParam'`

2) Execution of Generated Code / Timing

(none)


(c) 2021, Microchip Technology Inc.

Feature Update Version 0.9.12.672 Release Notes

04 Feb 16:05
Compare
Choose a tag to compare

New Features:

1) Anti-Windup Limiter Compare Value Range Selection

Up to now the number format of values passing through the Anti-Windup limiter was limited to a Q15 fractional number, which is equivalent to a signed 16-bit wide number, ranging from -32,768 to +32,767 (representing a fractional number range of -1.0 to +0.999969481490524).

In this version the Anti-Windup Limiter Compare number range can be selected to be Q16 resp. a 16-bit wide unsigned integer number ranging from 0 to 65,535, representing a fractional number range of 0 to 0.999984740978103).

This new option has been introduced to solve issues of limiting the number space in systems where the control output is written directly to any PWM timing register such as the duty cycle or period, while the high resolution mode of the PWM module of dsPIC33CK and dsPIC33CH devices is enabled and switching frequencies are below 122 kHz.

By selecting the new unsigned Anti-Windup Limiter Compare number range allows full 16-bit wide compensator results to be passed to the PWM timing registers supporting the following minimum switching frequencies:

  • dsPIC33FJ/dsPIC33EP GS Devices, High Resolution Mode Enabled: 14.7 kHz @ 1.04 ns Resolution
  • dsPIC33FJ/dsPIC33EP GS Devices, High Resolution Mode Disabled: 1.83 kHz @ 8.32 ns Resolution
  • dsPIC33CK/dsPIC33CH MP Devices, High Resolution Mode Enabled: 61.0 kHz @ 250 ps Resolution
  • dsPIC33CK/dsPIC33CH MP Devices, High Resolution Mode Disabled: 7.63 kHz @ 2.00 ns Resolution

Please refer to the device data sheet to learn more about the influence of source clock domains about PWM resolution limits of dedicated dsPIC33 MC motor control devices.

2) Anti-Windup Minimum Auto-Zero Feature

By default, the minium anti-windup threshold limit is used to clamp the control output to that specified limit when the control output value is lower than the defined threshold. As a result, the output will always produce an absolute minimum output value. This minimum output value can be greater than zero, zero or less than zero. Although this satisfies most applications, some systems require a slightly different behavior at the absolute minimum margin of the operating range.

When enabled, the new Minimum Auto-Zero feature of the Anti-Windup Limiter now forces the control output to zero when the control output is below the given threshold value. This feature is very useful in systems where an absolute minimum pulse-width is required to effectively drive the switch node but also needs to support cycle-skipping capabilities when no power should be delivered to the output of the converter.

3) Assembler Include Path Declaration

In previous versions the Assembler include file always was included in the Assembly library file with the complete path reference to the Assembly Include Path declared in the MPLAB® X project. A new option on top of the Assembly Library source code window now supports include path only referencing the file or the file with its complete path.

4) Built-In Source Code Comment Tags

Doxygen is one of the most popular tools used to auto-generate code documentation of source code. The comments in source and header files generated by PS-DCLD have been reworked, incorporating Doxygen-compliant tags allowing users to include PS-DCLD generated source code in their source code documentation.

For more information on how to auto-generate software documentation using Doxygen, visit https://www.doxygen.nl/.

Optimizations:

(none)

Bugfixes:

1) Timing Graph Update

Rating: Medium
Status: Fixed

When the ADC trigger location was moved to a non-standard position 'Trigger at: (user setting)'
while the Control Loop Call Event is set to '1 - ADC Interrupt Trigger', the timing alignment of
ADC latency, ISR latency and control loop latency did not get updated.

Important Change Notes - (Impact on Existing Projects):

1) API Changes

(none)

2) Execution of Generated Code / Timing

(none)


(c) 2021, Microchip Technology Inc.

Bugfix Path Release v0.9.12.660

18 Jan 23:59
Compare
Choose a tag to compare
This release fixes an issue in release version 0.9.12.657 with a corrupted code generator script causing generation of double bit-shift scaling mode to fail. All change notifications and release notes still refer to the most recent feature update v0.9.12.657.

New Features:

1) Extension Function Call Hooks

Four new optional hooks for extension functions have been added to the Advanced Tab of the GUI. These hooks add function pointers at
specific locations within the NPNZ controller assembly routine allowing to tie in proprietary user code into the NPNZ controller
execution. The new hooks have been placed

  • Beginning of the 'Update' routine, after context has been saved and the Enable bit has been passed
  • After the source address has been read and offset and polarity compensation has been performed but before the error is calculated
  • After the compensation filter computation has completed and before anti-windup clamping is applied
  • After anti-windup clamping has been applied and before the most recent control output is written to the target address
  • At the end of active 'Update' routine before context is restored and included in the 'Enable' bypass (function will not be called when controller is disabled)
  • At the very end of the 'Update' routine after the Enable bypass, This is the replacement of the previous Cascade Function Call feature

Each user function can be called as 'void' function without parameter, with one integer parameter and may or may not return a value.
These extension function hooks are automatically added to the main control Update routine as well as the PTerm update routine.

2) Increased User Parameter Data Space

With increased number of extension functions the need arose to also increase the user data space within the NPNZ data structure.
Now this data space supports up to eight unassigned word variables users can use as data space for proprietary user functions.

Optimizations:

(none)

Bugfixes:

1) Broken Context Save in Double Bit-Shift Code Generator Script

Rating: High
Status: Fixed

In interim version 0.9.12.657 the code generator script was corrupted causing to generate error
messages and missing code lines in context save code in double bit shift scaling mode when user
hooks were used. This release version updates the code generator file solving the issue.

2) Number Scaling Limit

Rating: Medium
Status: Fixed

At very low pole and zero locations absolute values of coefficients tend to get very small.
In extreme cases number scaling could exceed the specified bit-width of the fractional,
resulting in a math trap error when executed on dsPIC33 working registers. Hence, in this
version the maximum number scaling has been limited to the specified bit-width of the fractional.

3) Assembler Include Path Format

Rating: Medium
Status: Fixed

On some Windows operating systems the file path conversion from Windows format using a backslash ""
to separate file system directory levels to Unix-style path format using a slash "/" did get corrupted
leaving backslash formats in place causing builds to fail on Linux or Unix operating systems.

4) Assembler Code Comments

Rating: Low
Status: Fixed

Operant array index comment in the first multiply of a A- or B-filter caclculation using floating point
number scaling was broken, leaving %INDEX% tokens in the comment instead of showing the correct index number.

Important Change Notes - (Impact on Existing Projects):

1) API Changes

Section CascadeFunction of NPNZ16b_t data object has been changed to ExtensionHooks and now supports
up to six individual user function call hooks. The previous data fields ptrCascadeFunction and CascadeFunctionParam
have been replaced by ptrExtHookEndFunction and ExtHookEndFunctionParam.

2) Execution of Generated Code / Timing

(none)


© 2021, Microchip Technology Inc.

Version 0.9.12.657 Release Notes

15 Jan 23:54
Compare
Choose a tag to compare

New Features:

1) Extension Function Call Hooks

Four new optional hooks for extension functions have been added to the Advanced Tab of the GUI. These hooks add function pointers at
specific locations within the NPNZ controller assembly routine allowing to tie in proprietary user code into the NPNZ controller
execution. The new hooks have been placed

  • Beginning of the 'Update' routine, after context has been saved and the Enable bit has been passed
  • After the source address has been read and offset and polarity compensation has been performed but before the error is calculated
  • After the compensation filter computation has completed and before anti-windup clamping is applied
  • After anti-windup clamping has been applied and before the most recent control output is written to the target address
  • At the end of active 'Update' routine before context is restored and included in the 'Enable' bypass (function will not be called when controller is disabled)
  • At the very end of the 'Update' routine after the Enable bypass, This is the replacement of the previous Cascade Function Call feature

Each user function can be called as 'void' function without parameter, with one integer parameter and may or may not return a value.
These extension function hooks are automatically added to the main control Update routine as well as the PTerm update routine.

2) Increased User Parameter Data Space

With increased number of extension functions the need arose to also increase the user data space within the NPNZ data structure.
Now this data space supports up to eight unassigned word variables users can use as data space for proprietary user functions.

Optimizations:

(none)

Bugfixes:

1) Number Scaling Limit

Rating: Medium
Status: Fixed

At very low pole and zero locations absolute values of coefficients tend to get very small.
In extreme cases number scaling could exceed the specified bit-width of the fractional,
resulting in a math trap error when executed on dsPIC33 working registers. Hence, in this
version the maximum number scaling has been limited to the specified bit-width of the fractional.

2) Assembler Include Path Format

Rating: Medium
Status: Fixed

On some Windows operating systems the file path conversion from Windows format using a backslash ""
to separate file system directory levels to Unix-style path format using a slash "/" did get corrupted
leaving backslash formats in place causing builds to fail on Linux or Unix operating systems.

3) Assembler Code Comments

Rating: Low
Status: Fixed

Operant array index comment in the first multiply of a A- or B-filter caclculation using floating point
number scaling was broken, leaving %INDEX% tokens in the comment instead of showing the correct index number.

Important Change Notes - (Impact on Existing Projects):

1) API Changes

Section CascadeFunction of NPNZ16b_t data object has been changed to ExtensionHooks and now supports
up to six individual user function call hooks. The previous data fields ptrCascadeFunction and CascadeFunctionParam
have been replaced by ptrExtHookEndFunction and ExtHookEndFunctionParam.

2) Execution of Generated Code / Timing

(none)


© 2021, Microchip Technology Inc.

Version 0.9.12.645 Release Notes

16 Dec 23:42
Compare
Choose a tag to compare

New Features:

1) Application Re-Branding

In this release the Digital Control Library Designer SDK got r-ebranded as MPLAB® PowerSmart™ SDK for Microchip dsPIC33® Digital Signal Controllers.

The known Digital Control Library Designer is a sub-component of the MPLAB® PowerSmart™ Software Development Kit eco-system. As the development of the SDK moves forward, the re-branding of this application is required to support future releases of additional SDK sub-components.

2) Code Generator Script Expansion

WIth increasing number of code generation options the code generator engine and script got extended interfaces allowing the generation of additional code modules. Although there are no additional code modules available yet, future releases will offer functional extension modules for specific, advanced functions, which can be loaded as plug-ins.

Optimizations:

1) Bode Plot Export Frequency Range

The frequency range used by PS-DCLD to generate output data to be imported in or being merged with data from third party tools appeared to create conflicts.
The PS-DCLD frequency range of exported data stopped short one frequency step below the given end of the frequency range while most tools seem to include this point.
Hence, the frequency range of PS-DCLD now also includes the stop-frequency point as last frequency entry in the data table.

2) Bode Plot Phase Unwrapping

PS-DCLD unwrapped the phase graph between PI and -PI only. However, across a wider frequency range and when going around the unit cycle multiple times, the phase wraps alternating between PI and -PI and PI/2 and -PI/2. Thus the 90° steps of the phase did not get unwrapped properly.
Phase unwrapping might still fail far above the Nyquist-Shannon limit and at lower graph resolution (number of data points). If a proper unwrapping of the phase is required, make sure the data resolution is high enough.

Bugfixes:

1) s-Domain Reference Transfer Function in Bode Plot

Rating: Low

By default, the s-domain reference transfer function is not shown in the Bode plot until users enable this feature. At startup, however, the legend still showed the s-domain data series while the chart did not.
By enforcing an update of the legend at startup after settings have been loaded fixes the problem.

2) Broken Update link in Controller Configuration Code Example

Rating: Low

The controller configuration code example output on the right side of the main window shows a bar with an update link, when controller types or scaling modes have changed, and no new code was automatically generated yet. The link for triggering this code update on this bar (temporarily visible only) was broken and no code was generated.

3) File Export Settings Test in Configuration Dialog

Rating: Low

When PS-DCLD project configuration and file output were both identical with the MPLAB X project root directory, the Export File settings wrongly showed that the directory could not be found.
Neither file export settings nor the file export itself was affected.

Change Notes - Impact on Existing Projects:

1) API Changes

In this release version the API did not change, and existing user code will not be affected.

2) Execution of Generated Code / Timing

(none)


(c) 2020, Microchip Technology Inc.

Feature Update Version 0.9.11.631 Release Notes

21 Sep 01:09
Compare
Choose a tag to compare

Overview

This feature update release introduces the Code Generator version 3.0, merging code generation scripts for assembly and C-code into one generator engine. This results in a considerable code generation performance improvement for a better user experience. In addition, two more important changes requested by Beta users have been incorporated improving the filter adjustment workflow and code integration in user projects.

New Features:

1) NPNZ Controller Configuration Code Example

The Source Code View has been extended by a new tab showing a code example of the complete controller configuration code. With increasing complexity of the NPNZ16b control loop data structure it became harder for users to distinguish between which settings were enabled in the Code Configuration Option Catalog and which were irrelevant, as their related code options are disabled.
The new code template generation allows users to either use code of only active code options (enabled in the catalog) or include all coding options, including the ones which are inactive.
This code template is not being exported like the other library files. Instead, a Copy-to-Clipboard function is provided to allow users to copy & paste the configuration code to their user project where needed.

2) Bode Plot Compare Feature

The Bode Plot toolbar got two new buttons used to store the most recent transfer function to visualize the changes over frequency when changing pole and/or zero locations. Thus, users can better compare the impact of their changes while adjusting the compensation filter settings. By clicking the Save button on the upper right of the Bode Plot view, the most recent transfer function is stored and shown as dimmed shadow. When users then change pole and/or zero locations the new transfer function is overlaid with the stored graph. The Clear button deletes the stored transfer function.

Optimizations:

1) Code Generator Engine v3.0

Previous versions of DCLD used two independent code generators, one for generating Assembly code, the second for all C-code files. With the introduction of the code generator v3.0 files of both languages are now generated by the same engine and being defined in one, unified script. Although this is mostly relevant for the internal management of the tool and related testing procedures, users will experience a significantly increased performance of the code generation being more than four times faster while producing more accurate and detailed debugging messages.

2) NPNZ16b Control Block Diagram

The block diagram in the Block Diagram view has been updated to show a more detailed description of the NPNZ16b controller and its options.

Bugfixes:

1) Alternate Source

Rating: Critical
A conflict in option assignments caused the control input source to remain active when switched to the alternate source by using the 'swap_source' control bit in the NPNZ16b status word.

2) Alternate Target Anti-Windup

Rating: Critical
A conflict in option assignments caused the control output clamping values of an alternate control target to be ignored. As a result, the clamping values of the primary control output target were also applied to the alternate control output target.

Change Notes - Impact on Existing Projects:

1) API Changes

In this release version the API did not change, and existing user code will not be affected.

2) Execution of Generated Code / Timing

(none)

A BIG Thank You to all Beta users who spent all the time and efforts digging into features and issues helping to make this tool better and better!

We deeply appreciate your support!


(c) 2020, Microchip Technology Inc.

Major Feature Update Version 0.9.10.501 Release Notes

04 Sep 01:17
Compare
Choose a tag to compare

Overview

In this major feature release, many visible and invisible optimizations have been implemented. The most significant changes affect the Bode plot and mathematical transfer function approximation, project configuration and export procedure of generated code files. The code generator has been optimized and the assembly control library templates have been optimized for more efficient code execution as well as higher number precision.

New Features

1) DCLD Graphical User Interface

a. Bode plot X-/Y-axis scaling and display option panel

The previous mouse functions of the Bode plot control allowing users to directly move scales up and down to adjust the visible range of the diagram seemed to be too confusing and well hidden to be useful. Hence, we decided to it the classic way by integrating an axis scale configuration panel next to the chart.

b. One-Click transfer function export with selectable frequency range and resolution

The new Bode plot axis configuration panel opened up the option for a more intuitive way in adjusting the data range of the transfer function. When the transfer function data table is copied to the clipboard, the most recent frequency scale settings and data resolution (number of data points) is used. Hence, if you need to adjust the data range to fit data tables of other tools, you can now use the axis configuration panel to make your adjustments before copying the data table to the clipboard.

c. Discrete time domain transfer function approximation improvement

Previous versions of DCLD used a very simple approximation of the z-domain transfer function for the Bode plot. This approximation was only valid up to the Nyquist frequency, incorporating the Zero Order Halt (ZOH) of the control loop to estimate the phase and gain erosion over frequency. However, with broader application of DCLD in various applications it turned out, that this approximation often deviated significantly in the higher frequency range. These deviations were by default negative, showing a better gain margin in simulation than in real-work bench tests, occasionally resulting in gain-margin related stability issues requiring unnecessary, manual retuning of the loop.
Improvements of the approximation of the z-domain transfer function fixes these problems by providing reliable data in the high frequency range also representing the commonly expected gain convolution beyond the Nyquist frequency.

d. Enhanced display options

The new Bode diagram axis configuration panel also provides simplified access to functions like Show/Hide s-Domain Transfer Function, Unwrap Phase, Show/Hide Legend and Copy data right on the surface reachable with a single mouse click.

2) Project Configuration Dialog

a. Extended project configuration dialog, now covering target file path declarations of generated source code files in one place

One of the major changes made to DCLD in this release was the contraction of the file location declarations in the Project Configuration window. So instead of having to click through all source file output windows entering file location declarations individually, all individual file locations now are declared on a single tab of the Project Configuration dialog. If any of the file declarations is inaccessible or cannot be resolved, warnings are generated to prevent issues during file export.

3) New Source Code File Export Dialog

a. Allows review of file export settings before export

The simple “Export Files” function was replaced by a new dialog, which allows a last review of file names and locations, file status and potential export issues as well as selecting which files should be exported without having to roam through window menus. All settings made will be stored in the configuration file and will be recalled for the next file export.

b. Output window allowing more detailed troubleshooting

During the export detailed output messages are generated in the output window of the File Export dialog enhancing debugging and troubleshooting.

c. Autosave Entry Naming in Configuration History (Bode plot view)

When files are exported, it is assumed by DCLD that these files will be programmed and thus the most recent filter settings will be applied to hardware, which triggers the generation of a configuration history entry. In previous versions these entries have been named with a simple ‘(Autosave)’ label. This turned out to come short when trying to find a certain configuration in a longer list of history entries. Now ‘Autosave’ entries also captures the selected filter type, number scaling option and sampling frequency in the entry label to help users to better identify settings.

4) Code Generator Options

a. Simplified Controller Name Label entry

Previous versions of DCLD used two labels for naming of files and variables. This was originally implemented to keep variable names short while allowing more detailed file names. Although this seemed to be a good idea at the time, it turned out to be too confusing and the voices voting for reducing it to one unified naming of files and variables increased and eventually this was changed in this release and controller naming now only uses one single label for everything.

b. Enhanced support for controller Data Provider Sources in Bypass mode

The code generator offers options for adding so-called Data Provider pointers to the assembly routine. These Data Providers will push runtime data such as most recent input value, control error or output value to user specified variables/memory addresses automatically while the control loop is running. The previous implementation, however, was occasionally coming short. One gap was that data providers stopped updating data when the controller got turned off. In particular, when the automatic update stopped when the controller was turned off, the update of the most recent control output did not get reset to zero, which eventually caused challenges when other software instances were using this value driving other algorithms.
In the recent release all Data Providers get updated when the controller is turned off and the most recent control output is automatically reset to zero. This function still only works if the Enable/Disable feature is turned on together with option ‘Always read when disabled’.

c. Adaptive Gain Control accuracy and data resolution improvement option

Adaptive gain control multiplies a modulation factor with the partial filter result of the LDE B-term. During computation of the compensation filter result, this B-term intermediate result is up to 40-bit wide, being stored in the accumulator. The additional modulation computation requires to convert this value into a Q15 compatible number, inevitably resulting in a loss of resolution. This resolution limitation becomes significant when the intermediate result is small. The new option converts the contents of the accumulator into a fast floating point number to dynamically increase the data resolution of this number before the modulation multiply, eventually preventing resolution related modulation inaccuracy issues.
In general, it is recommended to enable this high-resolution mode but there might be applications where execution speed is superior over accuracy, in which case this option can be disabled.

5) Timing Chart:

a. Extended selection of control loop trigger modes (PWM interrupt or ADC interrupt)

The controller timing vs. ADC activity period was tuned to be used for a control loop call by the PWM interrupt only in previous versions. Users had to tweak the control loop latency setting to align ADC and control loop. In this new release users can choose between the control loop trigger being the PWM interrupt or ADC interrupt, accounting for the timing differences automatically. However, users might still need to tweak the control loop latency timing setting to account for specific features of the ADC such as Early Interrupts (please read the dsPIC33 data sheet for more details on this feature)

b. Runtime instruction cycle count estimation provides additional information about 'normal' runtime CPU load considering code flow branches

With increasing number of code generator options, the code execution flow splits up into more and more paths. Hence it became necessary to determine the major code execution path, count its cycles and provide an additional, alternative timing estimation pointing out the total number of CPU cycles of the loop code AND the maximum number of cycles which will be executed under worst case conditions during operation. This new assessment result is also used to estimate the CPU load created by the loop.

c. Timing Conflict Warning in Timing Chart

The DATA READ ruler of the timing chart will show a warning in form of an exclamation mark when the ADC period collides with the DATA READ event of the control loop to draw the attention of the user to potential issues with sampling time and related, increase phase erosion.

Optimizations:

1) DCLD Graphical User Interface

a. Improved performance of code generation

By introducing extensive debugging information during code generation, the overall performance dropped resulting in occasional update issues and kind-of sloppy performance of the code generator option catalog on slower computers. By contracting debug messages in junks, this behavior has been improved without reducing the number of debugging messages produced I the output window.

b. Improved performance of transfer function data series calculation

The computation of the transfer function data series has been revised and improved to make the Bode diagram control more agile when adjusting filter poles & zeros

c. Improved accuracy of Bode Plot cursor measurement

The mouse position resolution has been increased to improve the accuracy of the cursor measu...

Read more

Bugfix Patch Release v0.9.9.452

05 Aug 20:52
Compare
Choose a tag to compare

New Features:

(none)

Optimizations:

1) File Manager Update

Description:
File export is now managed by a path sanity check class ensuring include paths and file locations are correct. In case of user configuration mismatches, error warning will be created guiding the user to the corrupted settings for quick resolution.

Bugfixes:

1) File Export may throw an exception instead of producing an error message if a file path has not been declared

Description:
If one of the file paths was not declared, an exception may be thrown instead of handling the exception and producing an error message with guidance on what happened and how to fix it.

Status: fixed

2) When Pole or Zero Location was set = 0 Hz, code generation and Bode plot update locks

Description:
When a pole or zero location was set to = 0 by the user, the code generator and Bode plot would display the fequency as = 1 Hz. Any new change of the pole or zero location by the user would go without effect until the application is restarted.

Status: fixed

Feature Update Version 0.9.9.403 Release Notes

31 Jul 20:42
Compare
Choose a tag to compare

New Features:

1) Independent Setting for Assembly and C Include Paths

Description:
Previous versions of DCLD only supported the selection of one C include directory for all generated files. With the introduction of an additional Assembly include file, a second, individual selection of a user-defined Assembly Include Path was required.
This setting has been added to the MPLAB X Project Configuration dialog.

2) Include Path Override Option

Description:
DCLD allows the specification of user defined include paths for C and Assembly files. The include paths available are imported from the MPLAB X project. If users do not select any include files, the Makefile location becomes the include path reference for all #include and .include pre-compiler directives.
The new override feature is located in the MPLAB Project Configuration dialog and allows users to effectively disable the include path handling by always using the Makefile location an absolute ref3rence for all #include and .include pre-compiler directives generation.

Optimizations:

(none)

Bugfixes:

1) Compiler Error after Assembly Generation with Include File Reference

Description:
Previous versions of DCLD treated the assembly include file like a common C header file. Hence, when a user-defined C include path was specified, the include declaration generated in the assembly library file also referenced to the C header include directory. However, the compiler does not consider this include directory when assembling the Assembly source file and the build process failed.
With the introduction of a user-defined Assembly include path (see above), this issue has been fixed.

Status: fixed