What’s new in 25.2
Release Date: February 2025
General
Digital Filter Editor 2.0
Released a new, updated version of the application for developing digital filters. Updated the design of the application, it became more beautiful and convenient. Improved model generation for FIR and BIH filters. Optimisation of generation - removal of zero and single amplifications and minimisation of delay elements (implemented only for FIR filters so far). New options of filter model generation selection have appeared. Recall that Engee applications are launched in the corresponding menu in the interface.
New icons for variables
We have updated the icons for variables in the corresponding menu. Now it is much more convenient and easier to navigate through your variables. Also implemented the possibility to arrange the tabs Variable window horizontally.
Moving up a level in the file browser
We are actively continuing to improve file browser . We have added the ability to move up a level in your file store using a special icon
. Also added an icon for data inspector (.ngdat) files and implemented sorting by this file type.
Command line hotkeys
Described and added to the hotkeys menu (Shift+?) hotkeys for command line . Now you can always open the menu and familiarise yourself with them.
Double-click refinements for opening a window
Previously we added the ability to open any window in the interface full screen by double-clicking on the window title. Now we have refined this feature and it will remember the location of windows before opening, and when you double-click again, everything will revert back to the way it was:
PCM context menu improvements in File Browser
We have optimised the context menu in the File Browser. Removed items irrelevant for different file types, and added items specific to them. For example, now you can launch a script or .jl file by simply right-clicking on it and selecting the appropriate item. Fast and convenient!
Localisation and updates in documentation
We have started a big and long-awaited work on translating blocks into Russian. We hope that you have already noticed the fruits of this labour. In time, all blocks in library will be translated not only into Russian, but also into other languages.
In addition, we have added to the documentation an important article on model architecture in Engee, and updated the basic sections of Quick start and Interface.
Maths Computing Environment
Graphical editor of code cell masks
We are very proud of the functionality of code cell masks. They allow you to parameterise your code in a convenient and beautiful way. Masks allow you to create real engineering mini-applications from your code cells. And now, inspired by the no-code concept, we have implemented a graphical editor for cell mask elements. You can add or edit elements with clear and easily accessible buttons and menus without having to describe them in code. This is just great!
Debugger in the script editor
Such a welcome feature for everyone who spends a lot of time developing and debugging engineering calculation programmes (and not only) in script editor . Now you can expose in the code cell breakpoints and use various commands for debugging:
-
Continue - this command continues the execution of the programme until the next breakpoint or until the end of the cell;
-
Step with bypass - this command executes the current line of code, but does not go inside the functions. If the current line contains a function call, it will be executed completely and the debugger moves on to the next line;
-
Step with exit - this command allows you to exit the current function and return to the place where it was called.
Example: if you are inside the
foo()
function and you use Step with exit, the debugger will finish executingfoo()
and return to the line following the call to that function. -
Step with exit - this command allows you to step inside a function or method if the current line contains a function call.
Example: if you have a
foo()
function call, and you use Step With Go, the debugger goes inside thefoo()
function.
Hotkeys to run the highlighted code or line
Previously, we added the ability to execute selected code in the background on the command line for debugging. Now you have added the corresponding hotkey shortcuts:
-
Shift+F7 to execute the highlighted code;
-
Shift+F5 to execute the line where the cursor is standing.
Modelling environment
Optimise and accelerate simulation
Over the last few months we’ve been working hard on optimising the computational kernel. Models with physical components, which previously could take quite a long time to start with poorly chosen settings, are now accelerated from 2 to 15 times. We also managed to achieve further acceleration of startup of large models (1000+ directed blocks) up to two times. As a result of the reorganisation and optimisation of the internal representation of the executable model, a speedup of counting on a fairly wide class of models has been obtained. It will be especially noticeable on specific physical models, which are counted up to 10 times faster in continuous synchronisation mode.
New additional settings for graphs
Seriously expanded the functionality of chart windows :
-
Now you can adjust the colour, size and shape of lines of individual signals according to your taste, requirements and desires. You can also add markers to the signals. This is useful when you need to distinguish signals not only by their colour. Of course, new settings for displaying signal lines on the chart will be duplicated in the legend.
-
When increasing the font size on the axes, the font size in the Chart legend will also increase.
-
And finally, we have added the ability to delete the last chart to clear the field completely.
New options for displaying vector signals
We have improved the display of vector signals in the charts window and data inspector. Now you can select the required signal from the drop-down list and separately customise the display of each signal to your liking.
Data inspector: new graph of X from Y
We have added a new chart type for the Data Inspector - Dependence of X on Y. This type of graph has been available in the main graph window for a long time, now it is also available in the inspector.
Data inspector: start by double-clicking on the record icon (aka "antenna icon")
For some users it was not very convenient to launch the data inspector via the menu Engee applications and search there for the desired signal. Now you can quickly launch the inspector by double-clicking antenna
and it will highlight the desired signal for you.
Finite automata: defining parameters from the Workspace
We have added to State Machines and block Chart such a long-awaited feature - the ability to determine the value of parameters and signals from the working area. You no longer need to set them "by hand". Now you will be able to set parameters of algorithm models using software control, calculate them in scripts and increase the level of automation within MBD.
Block crossing error display
States in finite automaton algorithms should not overlap. To help you correctly arrange Finite Automaton elements on the canvas, we have developed a special visual hint that will show you when a better arrangement of states in the model is required.
Parallel states
Implemented support for parallel decomposition of states in the Chart block. Unlike exclusionary decomposition, in which usage only one state (within a given hierarchy level) can be active at a given time, parallel states are activated simultaneously. This allows interdependent state machines to be combined into a single diagram and provides a clear separation of logical components.
To coordinate the operation of parallel states, you can use the new state activity check operator "in".
Finite automata: Memory node
Added support for memory nodes (History Junction) to the finite automata editor. A memory junction records the activity of child states inside the parent state in order to return to the last active child state when it is reactivated. Now it will be even easier to model complex control logic!
You can read more about the memory node in the article Memory node.
Finite automata: disconnecting blocks
Another new feature in finite automata. Implemented the ability to quickly disconnect or connect individual blocks in your finite automata algorithms for debugging. This is really handy.
Displaying block properties on the canvas
You can now display important block properties in the annotation. This is very convenient, as it eliminates the need to open the configuration window every time you develop or debug. Parametrization of the model is now even more visual!
Engee Function: method management via interface
We are constantly working on improving the user experience with the Engee Function block - it allows you to create custom blocks in Julia. Now we have simplified the management of block methods. You can select or hide the required methods from the corresponding context menu and work with them.
Changing block parameters during simulation with software control
You can change parameters of Engee blocks during simulation. In addition to being able to do this from the block settings window, we have implemented the ability to change parameters using program control. With engee.set_param!
you can set a parameter value on the fly during the simulation, and with engee.update_params
you can update all parameters from the workspace.
Ability to interact with unconnected signals
Many people are used to interacting with unconnected signals during the development process to define the future look of a model or to prepare a place for future links and signals. We have implemented the ability to do this in Engee, now you can wire, branch and connect other signals.
Updates for annotations: quick selection of font size and "cat"
Added new features to Abstracts. You can now quickly select font size in annotation titles using the drop-down menu. You can also hide unnecessary or secondary text "under the caption".
Determination of the number of iterations of the nonlinear solver
For real-time computations on the RITM CPM, it is necessary to be able to control the machine time cost of a model step. We have added the ability to explicitly specify the number of iterations of the nonlinear solver in fast discrete synchronisation mode for physical networks, as well as several experimental settings to simplify event handling.
New library: RF components
Laid the groundwork for future library of blocks Engee for RF communications and radar system design.
The library will allow simulation of nonlinear RF amplifiers and modelling of memory effects to estimate gain, noise, even and odd order intermodulation distortion. You will be able to model RF mixers to predict mirror channel attenuation, mutual offset, heterodyne phase noise and constant component offset. And that’s not all the possibilities of the future growing library.
Block updates and corrections
Basic library
Signal processing
Phased antenna arrays
Electricity
Radars
Aerospace Systems
Thermal liquid
Communication systems
Updates and corrections to libraries
Phased antenna arrays
System objects:
-
EngeePhased.WidebandBackscatterRadarTarget
. -
EngeePhased.NonlinearFMWaveform
. -
EngeePhased.IntensityScope
. -
EngeePhased.GCCEstimator
. -
EngeePhased.CustomFMWaveform
. -
EngeePhased.BeamspaceESPRITEstimator
.
Code generation
Fixed point support when generating verification scripts
Fixed point data types on the interfaces of the subsystem or model being verified are now supported when generating a verification block C Function (see here for details).
This allows verification of Verilog-generated code through simulation.
Model-reference support for code generation
Code generation for model-reference (block Model) is now supported. This promotes better model-to-component partitioning, model and code usage and team development.
Running models on RITM
Model settings for running on RITM
An additional parameters panel now appears in settings window of the model when you select a RITM machine:
Here you can configure various parameters for running the model on RITM. For a more detailed description, see the article Model settings.