Login No Access - Get Quote

Rpy_CPP_OORTX_VS2008_PC_TC_TD_V6.00 Release Notes

About Release Notes

This document lists all changes that have been applied to the RXF product Rpy_CPP_OORTX_VS2008_PC_TC_TD from version to version.
Changes can be new features which have been implemented, functional changes, fixed problems or new known issues.
If a change has been implemented for one parts this product consists of, if will be listed here. Rpy_CPP_OORTX_VS2008_PC_TC_TD
consists of:

== Product Rpy_CPP_OORTX_VS2008_PC_TC_TD ==
RXF ............... : Willert OORTX
IDE ............... : MS Visual Studio 2008
Debugger .......... : MS Visual Studio 2008/2013
Modelling ......... : IBM Rational Rhapsody
Language .......... : C++
RTOS .............. : Willert OORTX
CompilerAndTarget . : MS Visual Studio 2008 on a PC
Board ............. : None
Extension ......... : BTC Test Conductor Interface
Extension ......... : Embedded UML Target Debugger

New in Version V6.00

Changes introduced in Rpy_CPP_OORTX_VS2008_PC_TC_TD_V6.00 which was released on 2014-09-03.

Fixed Issues

Identifier Description
Case 2310 Improvements in NULL pointer checks made after reviewing Klocwork report
Case 2428 Visual Studios MAP file function addresses sometimes differ from actual addresses during runtime. Added linker option to solve this issue and also make the target debugger work correctly under these circumstances again.
Case 2679 Improved V6 Documentation
Case 2684 Improved RXF documentation
Case 2704 In many cases the code generation message — Do you want to Roundtrip — was coming up every time code needs to be generated. This is now solved.
Case 2709 Solved problem with FIRE, FIRE_S, FIRE_ISR and FIRE_ISR_S macros for sending events.
Case 2713 Corrected handling of null transitions by solving problem with the Null_id identifier
Case 2720 Embedded UML Target Debugger had problems querying attributes from the target in combination with an RTOS.
Case 2745 Corrected define WST_CFG_HIGHWATERMARKS in Rhapsody default Debug configuration settings
Case 2803 Using event generation macro FIRE_ISR_S resulted in an error like struct has no field wst_event
Case 3145 Defining RiCNotifyToOutput() as empty macro to solve build problems when Rhapsody generates it.
Case 3155 Corrected include file name for ports support (RiCDefaultReactivePort).
Case 3156 Correctly mapping WST_EVT_setDeleteAfterConsume() in WSTModelling.h.
Case 3157 Return value of operation IRiCReactive_gen() for ports support now initializes return value in any case.
Case 3158 Embedded UML Target Debugger now displays events which have been sent via ports correctly (a problem with undefined sender of the events was solved)
Case 3162 Fixed a macro definition Problem in WSTModelling.h. WSTGEN_PORT is now available.
Case 3172 Now the internal MSQ of the OORTX Framework gets an event Tail. Events are put to the tail of the queue and get from the head of the queue.
Case 3193 Fixed a bug depending the message queue. Now a real FIFO queue is implemented.
Case 3211 Removed a memory leek caused by the function cancelEventsAndTimeouts
Case 3235 Added a two macros. OMSETPARAMS to set event parameter. IS_COMPLETED for state charts with termination state.
Case 3263 Now the WST_TMM_itsTimeout array is independent of #define WST_CFG_HIGHWATERMARKS
Case 3454 Sub classes of active classes now using the same task as the parent class.
Case 3486 Triggered operations return value macro CREPLY is fixed.
Case 3544 Now Tasks can be used with dynamic stack sizes
Case 3603 Surrounded critical TMM regions with MUTEXes to avoid race conditions
Case 3614 Fixed a bug where timeout events without statechange was not handled correctly.
Case 3779 Fixed the if statement in the executeOnce operation. Changed the (==) to (!=) to check if messages are available in the message queue
Case 3784 Now the Target Debugger can be used with the TestConducter without using the stereotype LiveAnimation in the component.
Case 3813 Fixed the WST_MEM_getMemory() operation. WST_FORCE_ALLOC_FAILED or _DEBUG will cause the calling the error handler independent of the define NO_MALLOC or WST_FORCE_ALLOC_FAILED.
Case 3816 Timeouts in OO-RTX are now also handled correctly when using WST_RXF_executeOnce() instead of the default WST_RXF_execute() and if no events are in the event queue.
Case 3861 WSTDeployer now handles relative paths to the destination IDE project (beginning with “.\”, relative to the generated source files directory) correctly.
Case 3887 Added a safety functionality for the timer management. This is necessary when triggered operations are called inside an interrupt service routine.
Case 3904 Moved function startDispetching from class WST_FSM to class WST_TSK. Modified the RXF profile to get more independent from the oxf Framework. Therefore the include files for container classes and protected source parts are modified. Furthermore the path delimiter was changed OS dependent.
Case 3986 WST_TMM now has enhanced protection and debug-info attributes to protect the RXF against problems with TMM_start() and TMM_stop() calls from interrupt context. A counting variable “mutex” is now used in relation with the irqTimeouts ring buffer. Also TMM attributes “irqTimeoutCount” and “irqTimeoutHighwater” have been added to allow accessing debug information when WST_TMM_MAX_IRQ_TIMEOUTS is defined > 0.
Case 3993 The UML Target Debugger is now available for CPP RXF with all features
Case 4002 WST_MEM had incorrect WST_MEM_returnMemory() argument “onlyStatic==FALSE” handling
Case 4011 Make the actual RXF compatible with old Frameworks which uses CGEN_S and CGEN_ISR_S in user code.
Case 4053 Fixed a bug where the destionation of triggered operations was displayed wrong in the UML Target Debugger.
Case 4145 VS2008 GettingStarted Sample project did not generate debug infos in Debug Buildset.

New Features

Identifier Description
Case 1319 The size of WST_FSM and WST_TSK structure is send to the target debugger while runtime. Its now more dynamic.
Case 2444 Setup is now adding a tools menu entry to Rhapsody to make it possible to start the IDE project, which is associated with the currently active component in the model.
Case 2506 Implemented linked list container class WST_CON_LST to allow ordered one-to-many relations in UML models.
Case 2560 When creating a new Rhapsody project it is now possible to select the product specific profile as project type and select the WSTProfile as project settings both directly in the new project dialog. On earlier versions only one of these profiles could be selected as project type.
Case 2714 Implemented macros to support easier initializing and sending of static events from an array. This mechanism is usually necessary when sending events from an ISR. The new macros are WST_EVT_initStaticEventArray( EVENT, EVENT_ARRAY, SIZE ), WST_EVT_initStaticEventArray_S( SOURCE, EVENT, EVENT_ARRAY, SIZE ) and FIRE_ISR_ARRAY( DESTINATION, EVENT_ARRAY, INDEX, SIZE ).
Case 2875 Included MISRA2004 profile in installation
Case 2918 Implemented limited support for UML Ports
Case 3534 The Frameworks Message Queue is no longer statically sized, it will grow accordingly. This is possible since the memory allocation is done completely static.
Case 3541 RXF products now include a document Doc/BillOfMaterial.html with svn revisions and MD5 hashes for each source file.
Case 3568 Added a stereotype “WSTStaticTask”. Applying this to a class will generate a static stack for the task in the cpp file.
Case 3570 Now the CPP framework support ports for Rhapsody
Case 3645 The protocol for the Embedded UML Target Debugger is improved. New version is 2.6.0
Case 3985 WST_RXF_executeOnce() now allows to handle a given number of events with each call (instead of just one event per call). Existing user code calling WST_RXF_executeOnce() needs to be updated by adding a parameter (1).
Case 4062 Synchronized Rhapsody Modeling Interface.

Changes in Behavior

Identifier Description
Case 2330 All RXF files now also use the WST.h include file instead of including a list of individual RXF header files. Also the class structure definitions are now consistently named with the _t postfix and typedefed without the _t postfix. Parameter lists make use of e.g. the typedefed “WST_FSM” instead of “struct WST_FSM_t”.
Case 2392 Added possibility to force WST error handler calls on memory allocation problems also in Release buildsets via defines WST_FORCE_ERRORHANDLER_IN_RELEASE or WST_FORCE_ALLOC_FAILED
Case 2433 Under Windows 7 the setup will propose a Willert installation path located under the user files directory to make sure read and write access is possible.
Case 2685 WSTDeployer now saves the IDE destination path in relation to the generated sources path of the active configuration. The deepest three directory levels are used as a key to identify model, component and configuration the IDE project is related to. For details please read the WSTDeployer Configuration documentation.
Case 3002 Added support for RxfExcludeByFilenameOnly property in WSTDeployer, which defaults to true. That makes sure only filenames of RXF excluded files are compared (ignoring cases) and allows easier exclusion of RXF files from Deployment.
Case 3094 Removed some overhead in the RXF which is not really needed in V6 of the RXF anymore. This does not reduce functionality, but gives a better overview when looking at RXF source files. E.g. WSTEpilog.c, WSTEpilog.h, WSTProlog.c and WSTProlog.h have been removed.
Case 3163 Removed WSTRXFLib class from RXF, as the RXF_Init can also be used if the RXF is only used as subpart of a system.
Case 3166 Removed check for define WST_RXF_INIT_IS_MAPPED, as WST_RXF_Init() can also be overridden by user specific WST_RXF.c file and adding WST_RXF.c to WSTDeployerExcludedFiles.txt, if a different RXF implementation should be used.
Case 3222 Now the RTOS message queue can differ between events from ISR and events from normal context.
Case 3268 Removed WSTStartBehaviorEvent.c/.h. The WSTStartBehaviorEvent is now represented as a normal WST_EVT.
Case 3305 Added the Stereotype Task to the RXF profile to create tasks with static stacks and message queues.
Case 3409 Changed the Monitor helper AWK file. Now no additional lines are added to the generated code. This is needed to use the Framework with BTC TestConductor.
Case 3425 Setting property RemoteHost to generate fixed dummy host name “WST_RXF”, which gets removed by the preprocessor during compile time.
Case 3454 Added the Macro FIRE_ISR
Case 3485 Removed WSTCompiler.c because it don’t include functional content. All compiler specific adjustments are present in the WSTCompiler.h.
Case 3498 Removing the include from WSTCompiler.h it is not needed for the Framework.
Case 3515 Now we support mutexes for the c++ framework
Case 3532 Define WST_OS_TOLOWER_DEFINED_IN_CTYPE in WSTCompiler.h was defined without being used in the RXF. Removed the define.
Case 3533 Removed unnecessary Include of ctype.h in WSTTypes.h.
Case 3817 Define WST_MAX_EVENTS and Property WSTMaxEvents are no longer available in the RXF. The event list is dynamic and there is no specific size limit which needs to be set via properties.
Case 3818 Rhapsody generated code may access event IDs directly, added mapping from lId to id in WSTModelling.h
Case 3822 Documented WST_DEFAULT_MAX_NULL_STEPS define to configure NULL-transition loop detection.
Case 3823 Documented WST_MS_PER_TICK Define
Case 3835 Setting default Rhapsody edition in Rhapsody.ini during RXF Setup to Architect to better support Willert OEM Rhapsody users (e.g. when launching Rhapsody inside Eclipse).
Case 3867 The operation WST_MEM_returnMemory has now a second argument “WSTBoolean onlyStatic”. If this attribute is true free will not be called if the given memory pointer is not part of the static memory pools.
Case 3882 RXF Class structure typedefs are now all located inside WST.h
Case 4012 Surrounded the executeOnce operation with a busy variable. This prevents race conditions when this function is called by different tasks of an underlaying RTOS.
Case 4013 Added a mutex functionality (without disabling IRQ) for critical sections in the timer management (WST_TMM)
Case 4030 Settung property C_CG::Ports::SupportMulticast to “Never” in order to allow Rapid-Ports usage with manual multiplicity access
Login No Access - Get Quote