Thu, 12 Sep 2019 12:54:36 +0200 |
Edouard Tisserant |
SVGHMI: few fixes on serving
svghmi
|
changeset |
files
|
Wed, 11 Sep 2019 12:24:30 +0200 |
Edouard Tisserant |
WIP on svghmi, now builds and runs. HTTP serving + WS transport ready, missing actual data to transmit and thread to collect it.
svghmi
|
changeset |
files
|
Wed, 11 Sep 2019 11:20:11 +0200 |
Edouard Tisserant |
Non significant changes to mute GCC warnings about unused variables.
svghmi
|
changeset |
files
|
Thu, 05 Sep 2019 08:35:33 +0200 |
Edouard Tisserant |
Fixed sequel of 5f79b194fa63 'SVGHMI: filter out temporary variables created while generating ST code out of FBD.'. Some ref to temporary variables are still not using the _TMP_ prefix. They are quite hard to find, so to be continued...
svghmi
|
changeset |
files
|
Tue, 03 Sep 2019 12:17:33 +0200 |
Edouard Tisserant |
SVGHMI: Intermediate state while working on svghmi.c
svghmi
|
changeset |
files
|
Mon, 26 Aug 2019 08:54:02 +0200 |
Edouard Tisserant |
svghmi.c : deduplicated variable access code borrowed from plc_debug.c. Added targets/var_access.c.
svghmi
|
changeset |
files
|
Fri, 23 Aug 2019 14:01:31 +0200 |
Edouard Tisserant |
SVGHMI: Added iterators in svghmi.c copy-pasted form plc_debug.c
svghmi
|
changeset |
files
|
Fri, 23 Aug 2019 13:01:37 +0200 |
Edouard Tisserant |
SVGHMI: svghmi.c now has mutex, iterator, and read/write buffer.
svghmi
|
changeset |
files
|
Thu, 22 Aug 2019 14:58:53 +0200 |
Edouard Tisserant |
SVGHMI: draft for svghmi.c. It has all PLC variables pointed in HMI tree in an array.
svghmi
|
changeset |
files
|
Tue, 20 Aug 2019 10:32:34 +0200 |
Edouard Tisserant |
Pass HMITree to SVG transform. It seems it could really help to reduce JS tree binding logic in the end.
svghmi
|
changeset |
files
|
Tue, 20 Aug 2019 10:30:59 +0200 |
Edouard Tisserant |
Add special nodes at HMI Tree root, fix code to handle special node (no path).
svghmi
|
changeset |
files
|
Tue, 20 Aug 2019 10:08:11 +0200 |
Edouard Tisserant |
Swap CTN code gen and Libraries code gen, because SVGHMI use both, and need the library part to produce hmitree before CTN part.
svghmi
|
changeset |
files
|
Tue, 20 Aug 2019 10:01:18 +0200 |
Edouard Tisserant |
yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote.
svghmi
|
changeset |
files
|
Wed, 14 Aug 2019 13:06:03 +0200 |
Edouard Tisserant |
SVGHMI: make a reasonably basic test
svghmi
|
changeset |
files
|
Wed, 14 Aug 2019 11:05:17 +0200 |
Edouard Tisserant |
SVGHMI: filter out temporary variables created while generating ST code out of FBD.
svghmi
|
changeset |
files
|
Tue, 13 Aug 2019 14:04:13 +0200 |
Edouard Tisserant |
SVGHMI: added deduction of HMI tree from list of HMI_* instances.
svghmi
|
changeset |
files
|
Mon, 12 Aug 2019 13:09:55 +0200 |
Edouard Tisserant |
SVGHMI: added extraction of SVG bounding boxes, obtained from "inkscape -S", and passed to XSLT transform as variable.
svghmi
|
changeset |
files
|
Mon, 12 Aug 2019 13:06:11 +0200 |
Edouard Tisserant |
Allow using docutil.get_inkscape_path() on Linux also.
svghmi
|
changeset |
files
|
Fri, 09 Aug 2019 12:12:24 +0200 |
Edouard Tisserant |
SVGHMI: little fixes to make the build go through
svghmi
|
changeset |
files
|
Fri, 09 Aug 2019 12:11:31 +0200 |
Edouard Tisserant |
SVGHMI: Added XSLT transformation, Makefile to get XSLT from ysl2 (copy of plcopen/Makefile) and a minimal stylesheet to start with.
svghmi
|
changeset |
files
|
Fri, 09 Aug 2019 12:07:33 +0200 |
Edouard Tisserant |
Moved XSLT model query python code so that XSLT part can be reused for other transformations (i.e. in SVGHMI)
svghmi
|
changeset |
files
|
Thu, 08 Aug 2019 15:56:17 +0200 |
Edouard Tisserant |
Complete SVGUI test minimal skeleton so that it builds.
svghmi
|
changeset |
files
|
Wed, 07 Aug 2019 14:18:22 +0200 |
Edouard Tisserant |
intermediate commit, work in progress
svghmi
|
changeset |
files
|
Thu, 18 Jul 2019 14:09:33 +0200 |
Edouard Tisserant |
Use a POU Library's Generate_C to collect all variables in SVGHMI.
svghmi
|
changeset |
files
|
Wed, 17 Jul 2019 09:44:44 +0200 |
Edouard Tisserant |
merged
svghmi
|
changeset |
files
|
Wed, 17 Jul 2019 09:44:11 +0200 |
Edouard Tisserant |
Enable svghmi plugin in features, and small fixes to skeleton.
svghmi
|
changeset |
files
|
Mon, 15 Jul 2019 09:05:00 +0200 |
Edouard Tisserant |
Merged default in svghmi
svghmi
|
changeset |
files
|
Fri, 12 Jul 2019 11:58:22 +0200 |
Edouard Tisserant |
Skeleton for svghmi extension
svghmi
|
changeset |
files
|
Wed, 30 Jun 2021 15:44:32 +0200 |
Edouard Tisserant |
IDE: Allow POU Libraries to inject PLC Configurations globals during build.
|
changeset |
files
|
Wed, 30 Jun 2021 16:46:14 +0300 |
Ivan Tyagov |
WIP: initial setup.
|
changeset |
files
|
Wed, 16 Jun 2021 12:15:02 +0200 |
Edouard Tisserant |
IDE: Fixed variable traces graphs RingBuffers. Removed an apparently useless wxCallAfter in trend graph that was leading to pydeadobject exception on wxGTK when double-clicking.
|
changeset |
files
|
Mon, 14 Jun 2021 16:48:39 +0200 |
Edouard Tisserant |
IDE: Cleaned up some useless tests in variable trace data handling code, changed from bare numpy arrays to RingBuffers inorder to avoid RAM outage and crash after long tracing session.
|
changeset |
files
|
Fri, 11 Jun 2021 11:56:07 +0200 |
Edouard Tisserant |
IDE: Log: Prevent crash when display progress on empty log.
|
changeset |
files
|
Thu, 10 Jun 2021 09:40:05 +0200 |
Edouard Tisserant |
Copy description when DnD variables from CodeFile CTN to POUs
|
changeset |
files
|
Tue, 25 May 2021 15:05:38 +0200 |
Edouard Tisserant |
Runtime: Fix exception "Worker is disabled" when connecting while PLC runtime is starting.
|
changeset |
files
|
Mon, 24 May 2021 14:33:54 +0200 |
Edouard Tisserant |
Finished fixing Wx IDs abuse. There was still some wasted IDs because of wx.NewId calls in many places where it wasn't needed, and those IDs were not re-used. As a consequence Beremiz was making exception crashing after a few hours of intensive use.
|
changeset |
files
|
Wed, 12 May 2021 11:36:56 +0200 |
Edouard Tisserant |
Add ThirPartyPath call in util.path module, so that individual extensions don't have to each implement same logic to find dependencies
|
changeset |
files
|
Thu, 01 Apr 2021 15:51:24 +0200 |
Edouard Tisserant |
IDE: Add a shortcut to project "Clean" action : F9
|
changeset |
files
|
Mon, 29 Mar 2021 15:46:02 +0200 |
Edouard Tisserant |
Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows.
|
changeset |
files
|
Tue, 23 Mar 2021 05:08:51 +0100 |
Edouard Tisserant |
Allow using spin() from ProcessLogger even with no logger given.
|
changeset |
files
|
Wed, 10 Mar 2021 09:59:18 +0100 |
Edouard Tisserant |
Runtime: Added PostStart methot to PLCObject, called after PLC is started, with all libraries and python object already created, and python extensions "Start" methods being called.
|
changeset |
files
|
Tue, 02 Mar 2021 10:11:45 +0100 |
Edouard Tisserant |
IDE: Fix logging of external process execution time so that it is visible on windows as well.
|
changeset |
files
|
Tue, 02 Mar 2021 09:42:50 +0100 |
Edouard Tisserant |
IDE: Process Logging : Add annotation in log so that user can see build is still alive and how long external process takes.
|
changeset |
files
|
Tue, 02 Mar 2021 09:28:44 +0100 |
Edouard Tisserant |
IDE: Iec2CSettings: Log wasn't available in case of exception when launching iec2c.
|
changeset |
files
|
Tue, 02 Mar 2021 09:25:55 +0100 |
Edouard Tisserant |
IDE: Log: Cosmetic changes, refactoring
|
changeset |
files
|
Mon, 01 Mar 2021 15:45:13 +0100 |
Edouard Tisserant |
IDE: Make ST code generation more verbose, since it can be really long in case of big programs, and it is better to let the user know build is still in progress.
|
changeset |
files
|
Sun, 28 Feb 2021 21:45:10 +0100 |
Edouard Tisserant |
IDE: Fixed log console that was not updating line by line smoothly when building.
|
changeset |
files
|
Fri, 09 Apr 2021 09:45:28 +0200 |
Edouard Tisserant |
merge
|
changeset |
files
|
Tue, 02 Feb 2021 13:47:48 +0100 |
Tomaz Orac |
Merge
|
changeset |
files
|
Thu, 28 Jan 2021 14:51:16 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Thu, 28 Jan 2021 14:50:26 +0000 |
Mario de Sousa |
modbus plugin: add (user accessible) transaction bool flags for servers/slaves; FIX BUG in previous commit affecting RTU slaves.
|
changeset |
files
|
Thu, 28 Jan 2021 14:17:40 +0000 |
Mario de Sousa |
modbus plugin: add (user accessible) transaction counters for servers/slaves
|
changeset |
files
|
Tue, 23 Feb 2021 16:16:12 +0100 |
Edouard Tisserant |
PLCObject : Ensure that PreStart is executed before starting PLC. Also, make sure that python thread doesn't enter in a start/stop loop when ordered to stop.
|
changeset |
files
|
Mon, 18 Jan 2021 10:59:28 +0100 |
Edouard Tisserant |
Merge
|
changeset |
files
|
Fri, 25 Dec 2020 17:12:02 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Fri, 25 Dec 2020 17:11:38 +0000 |
Mario de Sousa |
modbus plugin: add/fix comments
|
changeset |
files
|
Mon, 21 Dec 2020 22:35:07 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Mon, 21 Dec 2020 22:32:03 +0000 |
Mario de Sousa |
Modbus plugin: fix bug - map BOOL flag onto C u8 (was incorrectly mapped onto u16)
|
changeset |
files
|
Mon, 21 Dec 2020 22:26:36 +0000 |
Mario de Sousa |
Modbus plugin: map status of MB transaction onto 2 located BYTE vars (instead of a singlw WORD var).
|
changeset |
files
|
Mon, 21 Dec 2020 21:15:47 +0000 |
Mario de Sousa |
Modbus plugin: provide user programs feedback on current connection status mapped onto a WORD located variable
|
changeset |
files
|
Wed, 13 Jan 2021 10:28:09 +0100 |
Edouard Tisserant |
Removed harmful assert in ProcessLogger.
|
changeset |
files
|
Tue, 22 Dec 2020 18:05:05 +0100 |
Edouard Tisserant |
Fix missing import, consequence of bad resolution of conflicting hg graft of f0a822ef9fa0 into d15a997859b1
|
changeset |
files
|
Tue, 14 Jan 2020 11:04:18 +0100 |
Edouard Tisserant |
plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes
|
changeset |
files
|
Fri, 03 Jul 2020 14:02:04 +0200 |
Edouard Tisserant |
Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.
|
changeset |
files
|
Mon, 11 May 2020 11:10:38 +0200 |
Edouard Tisserant |
DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing
|
changeset |
files
|
Tue, 11 Feb 2020 13:56:48 +0100 |
Edouard Tisserant |
XSLTransform.py: added get_error_log()
|
changeset |
files
|
Mon, 31 Aug 2020 13:54:08 +0200 |
Edouard Tisserant |
Attempt to workaround problem reported about empty plc.xml after unrelated crash. Now, if etree model is corrupted in a way tostring() would generate an empty string, exception prevents saving.
|
changeset |
files
|
Thu, 03 Sep 2020 11:16:08 +0200 |
Edouard Tisserant |
docsvg.py : Better error message when inkscape is not installed.
|
changeset |
files
|
Sat, 04 Apr 2020 09:41:32 +0200 |
Edouard Tisserant |
Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04
|
changeset |
files
|
Mon, 13 Jul 2020 13:56:42 +0200 |
Edouard Tisserant |
Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree.
|
changeset |
files
|
Tue, 22 Dec 2020 14:53:15 +0100 |
Edouard Tisserant |
Runtime: change PLCObject 'BlobAsFile' method to allow customization by overriding
|
changeset |
files
|
Mon, 21 Dec 2020 11:10:27 +0100 |
Edouard Tisserant |
WebInterface: better wording for wiping PLC content: "Repair"
|
changeset |
files
|
Fri, 18 Dec 2020 11:50:28 +0100 |
Edouard Tisserant |
runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature.
|
changeset |
files
|
Thu, 10 Dec 2020 15:48:15 +0100 |
Edouard Tisserant |
Add a little test to see OnChange's .count .first .last in action
|
changeset |
files
|
Thu, 10 Dec 2020 14:54:42 +0100 |
Edouard Tisserant |
Fixed "Onchange" object added in previous commit
|
changeset |
files
|
Thu, 10 Dec 2020 11:37:27 +0100 |
Edouard Tisserant |
Python Safe Globals now have more reliable triggering of OnChange call. Added "Onchange" object to accessible runtime variables that let user python code see count of changes and first and last values.
|
changeset |
files
|
Fri, 20 Nov 2020 11:17:40 +0100 |
Edouard Tisserant |
Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode
|
changeset |
files
|
Wed, 18 Nov 2020 23:06:16 +0100 |
Edouard Tisserant |
Project tree: Clicking on ConfigTreeNode should have same behaviour as for POUS and other IEC types : simple click to select and double click to open.
|
changeset |
files
|
Wed, 18 Nov 2020 10:15:44 +0100 |
Edouard Tisserant |
py_ext: better handling of coma separated OnChange attribute for python safe global variables.
|
changeset |
files
|
Mon, 02 Nov 2020 10:56:09 +0100 |
Edouard Tisserant |
Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched.
|
changeset |
files
|
Tue, 20 Oct 2020 00:23:52 +0200 |
Edouard Tisserant |
PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly.
|
changeset |
files
|
Tue, 15 Sep 2020 13:57:06 +0200 |
Edouard Tisserant |
Modbus: fixed typo in ctype typing.
|
changeset |
files
|
Fri, 11 Sep 2020 13:46:41 +0200 |
Edouard Tisserant |
MODBUS: Fix saving of websettings.
|
changeset |
files
|
Thu, 10 Sep 2020 16:08:26 +0200 |
Edouard Tisserant |
Runtime/PLCObject : move call to PreStartPLC right after call to the "start" method of all python extensions, and then just before the start of the python loop executing python_* blocks.
|
changeset |
files
|
Thu, 13 Aug 2020 19:00:38 +0100 |
Mario de Sousa |
Modbus plugin: reformat code, and add comment.
|
changeset |
files
|
Thu, 13 Aug 2020 18:42:02 +0100 |
Mario de Sousa |
Modbus plugin: fix runtime periodic timer (don't use POSIX timer)
|
changeset |
files
|
Wed, 01 Jul 2020 10:36:20 +0200 |
Edouard Tisserant |
Modbus and Bacnet websettings : Rename variables and functions to avoid name collisions.
|
changeset |
files
|
Mon, 29 Jun 2020 14:38:04 +0200 |
Edouard Tisserant |
Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked.
|
changeset |
files
|
Wed, 24 Jun 2020 14:38:11 +0200 |
Edouard Tisserant |
Modbus: fix client timer invalid arguments.
|
changeset |
files
|
Tue, 23 Jun 2020 13:50:21 +0200 |
Edouard Tisserant |
Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions.
|
changeset |
files
|
Fri, 19 Jun 2020 11:07:25 +0200 |
Edouard Tisserant |
Runtime: Fix typo in PLCObject leading to exception when reporting failure.
|
changeset |
files
|
Thu, 18 Jun 2020 14:18:16 +0200 |
Edouard Tisserant |
Py_ext: use non-derived type when generating C code for handling Python PLC globals.
|
changeset |
files
|
Wed, 17 Jun 2020 14:32:55 +0200 |
Edouard Tisserant |
tests/python : add some STRING PLC Python globals with OnChange.
|
changeset |
files
|
Wed, 17 Jun 2020 14:30:55 +0200 |
Edouard Tisserant |
Runtime: STRING type for Python PLC Globals was making problem with strings, since generated code wasn't doing comparison properly.
|
changeset |
files
|
Tue, 16 Jun 2020 15:53:52 +0200 |
Tomaz Orac |
Merge
|
changeset |
files
|
Tue, 16 Jun 2020 11:12:36 +0200 |
Edouard Tisserant |
Modbus: more comments to remember some necessary changes.
|
changeset |
files
|
Tue, 16 Jun 2020 10:16:25 +0200 |
Edouard Tisserant |
Modbus/BACnet : add some comments so that we don't forget some pending optimization.
|
changeset |
files
|
Tue, 16 Jun 2020 10:12:21 +0200 |
Edouard Tisserant |
Modbus: Delete stored configuration when identical to default configuration.
|
changeset |
files
|
Mon, 15 Jun 2020 14:34:00 +0200 |
Edouard Tisserant |
BACnet: prevent saving configuration that is same as default, delete it if so.
|
changeset |
files
|
Mon, 15 Jun 2020 14:29:41 +0200 |
Edouard Tisserant |
BACnet and Modbus : fix configuration storage directory
|
changeset |
files
|
Mon, 15 Jun 2020 14:27:58 +0200 |
Edouard Tisserant |
Runtime extrension web settings: distinguish display string and token when calling NS.newExtensionSetting, thus allowing meaningful name to be displayed instead of an id.
|
changeset |
files
|
Fri, 12 Jun 2020 14:40:50 +0200 |
Edouard Tisserant |
Debug : when BEREMIZ_DEBUG file exist, display all commands issued in console.
|
changeset |
files
|
Fri, 12 Jun 2020 14:39:32 +0200 |
Edouard Tisserant |
BACnet and Modbus : Simpler configuration management. NevowServer.py now allows each extension to create and delete multiple configuration forms in the setting page, deprecating delSettings and addAfter.
|
changeset |
files
|
Fri, 12 Jun 2020 10:30:23 +0200 |
Edouard Tisserant |
BACnet and Modbus: Remove additional loading and unloading, use the one already in place for extensions.
|
changeset |
files
|
Sun, 07 Jun 2020 23:47:32 +0100 |
Mario de Sousa |
merge
|
changeset |
files
|
Sun, 07 Jun 2020 23:46:16 +0100 |
Mario de Sousa |
Bacnet plugin web configuration: strip leading and trailing spaces for net. interface and port numb.
|
changeset |
files
|
Sun, 07 Jun 2020 23:38:20 +0100 |
Mario de Sousa |
Modbus plugin, web interface: strip leading and trailing spaces from string parameters
|
changeset |
files
|
Sun, 07 Jun 2020 22:32:24 +0100 |
Mario de Sousa |
Modbus plugin web interface: show the keyword "#ANY#" on TCP servers
|
changeset |
files
|
Sun, 07 Jun 2020 19:33:32 +0100 |
Mario de Sousa |
Modbus plugin: fix bug: was checking user configuration against wrong limits
|
changeset |
files
|
Sun, 07 Jun 2020 18:34:32 +0100 |
Mario de Sousa |
Modbus plugin: fix algorithm detecting Modbus TCP servers using the same IP port on the same network interface
|
changeset |
files
|
Sun, 07 Jun 2020 12:28:21 +0100 |
Mario de Sousa |
Modbus plugin: check for duplicate "Configuration_Name"
|
changeset |
files
|
Sat, 06 Jun 2020 08:51:32 +0100 |
Mario de Sousa |
add comment
|
changeset |
files
|
Sat, 06 Jun 2020 08:50:36 +0100 |
Mario de Sousa |
add comment
|
changeset |
files
|
Sat, 06 Jun 2020 08:43:41 +0100 |
Mario de Sousa |
merge
|
changeset |
files
|
Sat, 06 Jun 2020 07:34:02 +0100 |
Mario de Sousa |
Modbus plugin web configuration: fix comments, and delete un-used code
|
changeset |
files
|
Sat, 06 Jun 2020 07:24:42 +0100 |
Mario de Sousa |
Modbus plugin web configuration: use drop down choices for baud, parity and stop bits.
|
changeset |
files
|
Fri, 05 Jun 2020 18:02:12 +0100 |
Mario de Sousa |
Modbus plugin web configuration: save node type and addr type to persistant storage
|
changeset |
files
|
Mon, 01 Jun 2020 14:11:22 +0100 |
Mario de Sousa |
Add web extension: configure Modbus Server plugin parameters
|
changeset |
files
|
Mon, 01 Jun 2020 08:54:26 +0100 |
Mario de Sousa |
Add web extension: configure Modbus plugin parameters (currently only supports Modbus clients)
|
changeset |
files
|
Tue, 02 Jun 2020 13:37:34 +0200 |
Edouard Tisserant |
Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer.
|
changeset |
files
|
Tue, 02 Jun 2020 11:34:50 +0200 |
Edouard Tisserant |
IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.
|
changeset |
files
|
Mon, 01 Jun 2020 14:47:31 +0200 |
Edouard Tisserant |
Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect.
|
changeset |
files
|
Thu, 28 May 2020 11:16:59 +0100 |
Mario de Sousa |
merge
|
changeset |
files
|
Thu, 28 May 2020 11:15:22 +0100 |
Mario de Sousa |
BACnet plugin: Add web interface for online parameter configuration
|
changeset |
files
|
Thu, 28 May 2020 11:01:42 +0100 |
Mario de Sousa |
modbus_plugin: generate nicer error message, instead of a traceback
|
changeset |
files
|
Thu, 28 May 2020 10:54:48 +0100 |
Mario de Sousa |
Modbus plugin: Add "exec. req. flag" and "write on change" features
|
changeset |
files
|
Thu, 28 May 2020 11:38:09 +0200 |
Edouard Tisserant |
PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.
|
changeset |
files
|
Tue, 26 May 2020 09:58:20 +0200 |
Edouard Tisserant |
Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general.
|
changeset |
files
|