From OpenSCADAWiki
SYS
- FIX: The source code messages and program documentation:
- TMess: Appended for the environment variable LC_ALL cleaning and setting "LANG" if empty, to prevent from overriding LC_NUMERIC=C at the last.
- FIX:.,*: Fixed for many original messages of the source code also during the most modules documenting.
- FIX:DAQ.JavaLikeCalc: The JavaLikeCalc code translation by the function tr() fixed in creating the translations table "Trs" and entries here in the simple mode (single language).
- The inline documentation:
- The offline documentation appended by some OpenSCADA modules and most libraries of the internal procedures and graphical elements. The common CSS-styles file of the offline documentation "doc/en/files/doc.css" improved in disable the transparent background color and some properties of the language selector.
- Declaration from description some nodes is unified in the function TUIS::docKeyGet() and the nodes appended for that:
- the DAQ-template and JavaLikeCalc libraries;
- the VCA-libraries in UI.VCAEngine and UI.Vision.
- UI: TUIS::docGet() appended by a code of the LTS build checking and using the LTS frozen documentation on the OpenSCADA file-server.
- FIX:DAQ.JavaLikeCalc,UI.VCAEngine: Fixed in the offline documentation declaration for "User_API".
- FIX: Building:
- FIX:configure.ac: Core library version risen to 3:7:0 and the program version risen to 0.9.1.
- The Debian 10, CentOs 8 and Ubuntu 20.04 root file systems (chroots) are appended for build OpenSCADA.
- The source codes significantly cleaned at the building warnings of GCC 9 (CentOs 8).
- UI.{QTCfg,Vision}: Adapted to build in the environment of Debian 10 for Qt5.11.3, GCC8 and an error about a conflict in the macro message() into StdLibC++ through Qt5.
- Android: The behaviour of using the environment variable QT_SCALE_FACTOR on Android is observed, what set to 1.5 and the default font "Helvetica,12,-1" with QScrollBar CSS rule are removed.
- The module version of the subsystem "Special" risen to 12; of the subsystem "DB", "DAQ", "Archives" and "UI" risen to 13; of the subsystem "Transports" risen to 15.
- FIX: Threading, tasks, realtime and locks:
- Some common data resources of dataRes() replaced by own resources, mostly due to the observed locking problems in Protocol.HTTP and DAQ.ModBus.
- FIX: Common locks mechanism is added by a locks container, the function commonLock().
- FIX: Transport.{Sockets,SSL}: Used for system functions like to getaddrinfo(), which is not multithreaded one.
- The tasks planning appended for phasing their invoking, what make the CPU loading even.
- FIX: The function TCntrNode::nodeDis() waiting fixed for zero time and the function chldDel() set to no waiting by default.
- FIX: Fix for the negative priority of the policy "BATCH".
- Archive,DAQ.Controller: For the current time of messages and values mostly used TSYS::curTime()/1000000 instead time(NULL) due to the message and value time is in microseconds and mark by TSYS::curTime().
- FIX: Redundancy:
- .,UI.{QTCfg,Vision,WebCfg,WebCfgD}: The function "Local primary commands transfer" of the redundant systems is unified and expanded for complete moving to TCntrNode::cntrCmd(), so the function works now for any calls also from the user programming environment.
- Archives,DAQ.DAQGate: The messages bottom time border processing for redundancy and the DAQGate changed to use time of the last message to repeat it requesting for two time, to prevent the messages losses on the border.
- FIX: The redundancy and DAQ.DAQGate restored for writing the big value archive's blocks, mostly in restoring the value archive parts.
- The first alarms obtaining in the messages redundancy enabled only at presence the message archivers in the redundancy.
- Placing messages to the archivers of the redundancy procedure TMArchivator::redntDataUpdate() changed to use the function put(), to do this operation atomically for all obtained messages under a lock.
- DAQ,DAQ.*: Writing values in the redundancy is unified under the new function vlSetRednt(). The service "TValue::get:/serv/attr" expanded to some spare request of the last requested value to prevent EVAL here at the connection loss.
- The function strEncode() appended by the variant "Limit" to limit the string size counting for the UTF-8 variability, and such items moved to it instead removed limiting variant of the function strMess(): TConfig keys, DAQ-Template IOs, DB.SQLite, UI.QTCfg.
- FIX: Configuration:
- TConfig,TCfg: The key fields appended for their size limiting before cutting on the DB side.
- *: Adapted in the adding functions to treat the ID or name forming and to limit its size, returning the result name to the creator, using the node function chldAdd() expanding in direct return the ID and to just remove the new node for equal ones.
- DAQ: Identifiers of the logical level IO of the DAQ-templates expanded to the size limit up to 1.5*OBJ_ID_SZ=30 symbols and have added for these shrinking on creating.
- Transports: Size of the output transports ID set to OBJ_ID_SZ*2, since it can be combined from the ordinal node ID and some prefix, in the automatic mode.
- Appended by a function of setting the TCfg fields to the default value, to prevent loading values of previous records for miss fields.
- TConfig,*: The user API functions cfg() and cfgSet() of the configuration expanded by the permition control.
- The loading from selected DB improved in checking the DB enabling before, in the function TSYS::chkSelDB().
- TCntrNode,DAQ,DAQ.JavaLikeCalc: Appended for the function load__() to treat some doings in the loading end.
- TConfig,TCfg: The key fields appended for their size limiting before cutting on the DB side.
- Control Interface:
- *: Unified in the modification control of the node objects and cleaned the spare modifications, moving the calculation context modification to the option "modifCalc".
- .,UI.{QTCfg,WebCfgD}: Tables expanded for difference help per columns and cells.
- Transports: Table of the external OpenSCADA hosts expanded for the context help to the transport address cell, using the function outAddrHelp().
- The DAQ-templates and all their implementations appended by a function of selectable attributes creation from the template field "Value" of the two and three lines, TFunction::IO appended by the flag TFld::Selectable.
- The unified DAQ-templates implementation TPrmTempl::Impl is finished and such items migrated and adapted to it: DAQ.{JavaLikeCalc,ModBus,LogicLev,Siemens}, Protocol.{ModBus,UserProtocol}, UI.WebUser.
- FIX:DAQ,Archive.DBArch: The TElem copy constructor was implemented to fix problems into Archive.DBArch at multiple groups-tables in the group table mode.
- Function,DAQ.{JavaLikeCalc,LogicLev,ModBus,Siemens}: Expanded for tracing the function program changing and hot restarting the executing procedures, by setting the flag "f_start".
- TMess,XMLNode: Appended for the function setUTF8() of forming UTF-8 from their code, taken from XMLNode to use in other places.