ConSys State Versions
References:
- State monitor design notes
- ConSys State Documentation
- State Monitor Documentation
- State Monitor versions
Program ideas, missing implementation:
- Auto store/Manual store of configuration settings for the device. (TW000511)
- Define new compare dataserver (in ConSysKernel) for controls with to opposite values (positive/negative, like QEH01VQP) (TW000512)
Bug list:
Version information:
Version 1.26.122.180 (061205):
New CStateCompareState: Use new Kernel dataserver, CCompareFloatDataserver, if possible (parameters on same front-end and front-end code new enough to support CCompareFloatDataserver. Otherwise use floating point dataservers and compare locally. Combine absolute and relative compare.
Old Compare types can be converted to new by compiled with CONVERT_TO_CSTATECOMPAREFLOAT_EXPORTFORMAT and exporting to text. If CONVERT_TO_CSTATECOMPAREFLOAT_EXPORTFORMAT, CStateG64Compare and CStateFloatCompare exports as CStateCompareFloat. Used for one time conversion of state tree.
Floating point compare and G64Compare combined into one compare definition. The new combined compare method mix relative and absolute modes as in the new CCompareDataserver (see separate wish). The state device should automatically use a CCompareDataserver if the two values is on the same front-end computer or use normal floating point request and compare locally if the values are on different front-ends.
Version 1.20.79.113 (06/05-2003):
Corrected bugs:
E3: When the kernel is started it faulty creates errorlogs (including an email) (Must be initialization which is not done correctly) JSN 021210. This has been fixed for floats (I believe), but apparently not for ORs (and maybe more). The problem exist for the RingMagn controller in the Vacuum\Pressure\VGI__ which reports an error when activating the controller. JSN 030501
This was due to two design errors:
- When a tree based state was initialised in InitialiseStatus(), it updates its state by calling NotifyChildDataChanged(). In the case where the state item was a sub item to another tree item, NotifyChildDataChanged notified the parent item of the change of data - but at this time the parent item was not fully initialised (unless the child state was the last in the list).
- When a tree state had a substate with the value SL_INVALID, these values
Version 1.17.72.106 (11/12-2002):
Corrected bugs:
E2: When the kernel is started it faulty creates an errorlogning (including an email) (Must be initialization which is not done correctly) JSN 021210.
E2: When an email notification is issued it includes (in the body) the last (about)
25 logs. However it does not include the last log (which is the one giving rise
to the notification), which was the whole point of the message. JSN 021210. It
is somewhat confusing getting a long list of rrelevant/old errors in the email
body (I know it is not straightforward) -Corrected by changing order of
CheckAndCreateLog(result)
NotifyParent()
in SetData and NotofiChildDataChanged methods
Version 1.17.72.103 (7/10-2002):
Corrected bug: Changed to uniqueDeviceId. E2: It seems that the StateMonitor crashes the ConSysLoader when defining (thefirst) controller if DeviceNumber is not correctly specified in the database. Does this mean that the device must stay at a fixed number in the list?
Version 1.11.40.63 (7/12-2000):
Implemented logging
Changed update of CStateTree sons: NotifyChildDataChanged, now checks for state change before notifying parents.
Corrected error: First state change does not appear in state tree.
Version 1.11.40.59 (23/11-2000):
Implememented Float Compare State.
CState, CContent Classes:Implemented content serial number - updated whenever content data changed. All data in content now 'protected'.
CStDocumentTransport: The StDocument content was not send with the document transport. This gave some problems while editing the data struture, as new CStDocuments created from the transport document had a default value of the content => wrong data version checks until first content received.
Version 1.11.40.58 (20/11-2000):
Client monitor removed - substituted by state monitor.
Removed error in datamonitor.
Version 1.11.40.57 (3/11-2000):
Implemented data monitor to protect state array and content data.
Version 1.11.40.50 (30/10-2000):
Data type checks implemented.
Version 1.10.32.45 (24/5-00):
Unique state identification numbers implemented.
Version 1.10.32.44 (22/5-00):
First real usage - setting up and finding errors.
Corrected error: Can not be activated from Console. Deactivation works fine.
Corrected serious bug: An illegal parameter (ex. Using a 'opState' type instead of 'state' type for a controller) in a controller tree may lead to a crash of the device during loading - with a following automatic should down of the kernel. (TW000511)
Version 1.8.24.37 (21/1-00):
A lot of exceptions in CLocalThread/PacketServer when starting the kernel with an active controller including another controller. Cured - the problem was in the compare dataserver.
CState and derived classes: Changed m_contentIndex usage/datastructure - added m_contenValid control value - instead of setting m_contentIndex = -1
Version 1.7.22.30 (20/12-99):
Content class tree changed
Implemented auto activation
Major rearrangement of the content handling in the CState classes
CState - rearranged behavior
SERIALISATION CHANGED - NOT COMPATIBLE WITH OLD VERSION
Version 1.7.22.27-29 (20/12-99):
WARNING:
Do not check out these versions - Ragnarok crash => These versions does not checkout correct due to invalid RCS versions.Version 1.7.22.26 (14/12-99):
Delete controller implemented
Version 1.7.22.25 (7/12-99):
State classes draw methods implemented
Errors corrected
Version 1.7.20.17 (17/11-99):
First version with the structure working - first bit displayed !!!
Version 1.7.20.14 (8/11-99):
Changed data structure in CStDocument and the content structure. The content are now stored in an array in CStDocument. The CDeviceState [] operator now returns an notification with an obarray containing the CStDocument content array data.
Version 1.7.20.13 (5/11-99):
Corrected shut down error (State Device thread did not stop).
Memory leaks and errors during shut down corrected.
Version 1.7.20.12 (4/11-99):
More stuff implemented.
Version 1.6.17.1 (16/9-99):
The initial version including the basic class structures.
Last Modified 18 January 2019