Changelog

* First integration of WhiteRabbit Timing
* Bug 530 - Virtual Accelerator index is wrong

* [FESA-5246] Discuss setting from acquisition fields in specific init
Setting acquisition fields in specific init is now allowed.
* [FESA-5274] Get on data-consistent acquisition fields is not allowed in specific init
Now allowed, using same policy as Get Actions (look for closest older timestamp)

* [FESA-3881] After disabling an onDemandEventSource(maybe also other event sources) we still receive 1 event.
Make sure that the event source is still enabled after getting an event and before firing it

* [FESA-3885] Disabled On-Demand Sources keep accumulating events
Purge the messages queue when the event source is enabled, if it was disabled before
* [FESA-5062] Provide a Finally class and fix the umask restoration problem as a 1st usage
Use BOOST_SCOPE_EXIT instead.
* [FESA-5104 Not possible to get exact slot error for non-multiplexed fields
Refactored AcquisitionFieldManager (renamed AcquisitionFieldCommon, now inherited by acquisiton fields)
RollingBufferMuxManager::getSlotByCycleName and RollingBufferMuxManager::getSlotByCycleName throw the right exceptions
AcquisitionFieldCommon catches RollingBufferMuxManager exceptions, and rethrows meaningful ones
* [FESA-5145] Exception FESA_1007 Failed to create thread (invalid argument) when prio is an empty string in the instantiation
Catch the error in ThreadPriorityConfiguration and print a meaningful error message
* [FESA-4714] Corrupted persistance file for uint8_t arrays
Specialized Converter for signed and unsigned char, to avoid boost treating them as literal characters
Removed Utilities/Cast.h (now using plain boost::lexical_cast)
* [FESA-5047] Problem with fesa::Property::get()
Removed const in return value of AbstractPropertyTypeDefinition::getRdaData() and in some Property::get() arguments.
rdaData of datatypes is initialized in Property::get() if it was null before.
* [FESA-4123] Exception thrown when an optional logical event is not mapped in the instance file
Catch the exception in RTController, and ignore it if the event is optional.
* [FESA-5179] Immediate update flag not seen by WKS/Knob
A manual notification message now has a RequestType, used to set the flag properly.
* Reviewed exceptions in ServiceLocator implementations because of segfaults happening with wrong number of parameters.
* [FESA-5196] Weird behaviour with selection criterion and perDeviceCollection
The RTSchedulers created for each group of device had identical names. LogicalEventImpl::addScheduler() wasn't doing anything for duplicate names.
Changed the names of the schedulers to include the selection criterion, which triggered a refactoring of RTScheduler's constructor.
LogicalEventImpl now prints a warning instead of a trace when a duplicate scheduler is given to addScheduler().
* [FESA-4563] Custom event source multiple instantiations
Added ConcurrentQueue, MultiThreadedEventSource and MultiThreadedEventSourceProducer classes
Modified RTEventPayload to allow to reset the value of a payload
Modified Lock/Mutex to allow constness in methods using them
* [FESA-5226] Investigate the removal of the class name and version in the global instance config fields/Make the modifications in the C++
Added AbstractServiceLocator::getClassName() and getClassVersion()
* [FESA-5206] Review FesaException
* Changed FesaException 's constructor so it cannot segfault
* Exception messages are not loaded on the fly anymore, they need to be preloaded (which they are anyway)
* Removed dependencies to AbstractEquipment and ProcessConfiguration (for the messages files)
* [FESA-833] XML Parser allocates and returns pointers, which need to be deleted "by hand"
* Updated XMLParser and related to use shared pointers, and boost::optional where it could return NULL
* Updated all Element classes and code which uses XMLParser
* [FESA-932] Check exception messages
Reviewed all exceptions

* [FESA-5117] reviewed the makefiles => adapted those
* [FESA-4589] Reviewed the situation with the cycle selector validation and fixed several problems:
* Bug in the selector parsing (added a unit test)
* Change of policy for the creation of the CycleDescriptor. They use to be created only as a side effect of adding mux manager.
This is not sufficient as more criterions might be used for subscription. They are now lasily created and buffered by the Factory
* Removed useless methods due to the new policy
* Changed the validation steps taken in Property and ensure proper error reporting

* Bug 524 - Class composition fails (notification problem)

* [FESA-3734] Not possible to trigger diagnostic setting event

* Fixed conversion warnings
* [FESA-5139] Mismatch between JAPC and FESA3 on String arrays
Don't use dim_Field value item in string array, as it is redundant with RDA's getStringArray() and may not be there (e.g. with JAPC)
* [FESA-5110] Generated code is wrong for struct of struct
Quick fix implemented, refactoring of ComputeType is needed.
* Removed ConverterBool.h include (its content is now in Converter.h)
* [FESA-3906] state-enum mapping values to strings does not work properly
Use a map instead of a string array to get enum values string representation
* [FESA-5141] Code generation: review ComputeType and its use
Updated ComputeType to be usable in most situations, updated codegen to use it wherever possible
* [FESA-5195] set methods for string arrays in FieldStruct.h write wrong data to FieldValue
Fixed copy of string array (copy each element instead of the pointers)
* [FESA-5206] Review FesaException
Updated DU template (new way of loading exception messages)

* [FESA-5117] reviewed the makefiles and introduced new rules and new files (make.class & make.deployunit) to reduce codegen.
* [FESA-5154] Spurious // if hidden fields are not in the first position (e.g. accelerator field after hw-address)

* [FESA-5095] Code generation for manual notification from set server action broken
New clx rule to validate that manually notified properties are in custom implementation set-actions.

Detailed changelog FESA3 FWK

* changelog fesa-core
* changelog fesa-core-gsi
* changelog fesa-codegen
* changelog fesa-codegen-gsi
* changelog fesa-model
* changelog fesa-model-gsi

-- SolveighMatthies - 26 Feb 2014
Topic revision: r3 - 06 Mar 2014, SolveighMatthies
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback