Skip to main content

Eclipse 4diac Weekly #24

Update on what development happened across the Eclipse 4diac project in the week from February 21 to February 28, 2025.

Enhancements and Fixes in 4diac IDE

  • Refactoring and Usability Improvements

    • Fixed refactoring issues when the file is not read-only.
    • Added a shortcut for renaming elements in refactoring.
    • Do not use linked editing for interface refactorings in the ST editor.
    • Fixed comment indentation in the ST formatter.
  • Model Search Enhancements

    • Added interface value matching in the model search.
    • Enabled searching for global constants in initial values of FB types.
    • Added support for model search of global constants.
    • Included line numbers for ST code in the model search.
  • Plant Hierarchy and Deletion Handling

    • Added a delete participant to check plant hierarchy when deleting a file.
    • Allowed deletion participant enablement only for sub and system files.
    • Added a cache for deleted leaves and an operation to add leaves at specific levels.
    • Implemented QualNameChangeListener to update plant hierarchy on delete, undo, and redo.
    • Added dependency tracking for plant hierarchy in the builder.
    • Introduced a plant hierarchy build configuration and a builder participant.
  • Deployment and Watchpoints

    • Added watchpoints and watchpoint pinning support in deployment launch configuration.
  • Editor and Interface Improvements

    • Fixed opening root networks for CFBs and Typed Subapps.
    • Added a method to reveal type editor pages.
    • Updated context menu order for better usability.
  • FB and Event Type Updates

    • Updated Port FB: changed port type from WSTRING to STRING.
    • Renamed event multiplexer and demultiplexer types to include version numbers.
    • Added new event multiplexor FB types E_MUX and E_MUX8.
    • Updated event types to EInit in multiple folders for consistency.
  • Infrastructure and Build System

    • Fixed compiler warnings related to missing directories.
    • Manually applied dependabot updates to the develop branch.
    • Added export attributes in the build path.
  • Other Enhancements

    • Fixed an issue where saving dirty resources before launch was not prompted.
    • Improved handling of hidden connection labels with error markers.
    • Added a folder to enable deletion of multiple library elements at once.

Enhancements and Fixes in 4diac FORTE

  • Memory Optimization and Performance

    • Reworked XML response generation to reuse allocated memory, improving speed and reducing memory consumption.
  • Event Handling and Function Blocks

    • Updated FB_RANDOM and DualHysteresis to use EInit.
    • Adapted the EliteBoard module to the new software structure.
  • Infrastructure Improvements

    • Updated CStringDictionary interface to a static function call API.
    • Converted fixedcapvector to align with std::inplace_vector.
    • Ported event handler to std::unique_ptr for better memory management.
    • Merged .tpp files into corresponding .hpp files.
  • Debugging and Device Management

    • Added a debug device with support for remote control and breakpoints.
    • Enhanced OPC UA manager to accept extra methods.
  • Code Refactoring and Cleanup

    • Renamed src/core/utils to src/core/util for consistency with the forte::util namespace.
    • Removed compiler warnings and improved deprecation messages.
    • Used std::vector/inplace_vector for string dictionary storage.
    • Standardized usage of new/delete on POSIX and Windows platforms.

Many thanks to all contributors for their work and their feedback!

Cheers,
The Eclipse 4diac Team

Back to the top