These steps will help you to upgrade your FESA class and deploy-unit from FESA v1.0.0 to v1.2.0

Step 1 - Update your xml-files
  1. Make sure you have the development environment for FESA v1.2.0 installed
  2. Make sure that all classes/deployment-units/instance files do validate
  3. Download the following files. Place them into your workspace:
  4. Make sure that all design / deploy-unit / instance files are closed in eclipse!
  5. Add execution permission to the script and run it for all design / deploy-unit / instance files to convert:
chmod +x migrate.0.8.x-1.0.0.sh
./migrate.1.0.0-1.2.0.sh MyClass/src/MyClass.design
./migrate.1.0.0-1.2.0.sh MyDeployUnit/src/MyDeployUnit.deploy
./migrate.1.0.0-1.2.0.sh MyDeployUnit/src/test/asl733/DeviceData_MyDeployUnit_M-0.1.0.instance

PLEASE note that the FESA version replacement function may accidentally match other numbers as well!
  1. Now you should have a backup of your old design files ( e.g. MyClass.design.backup) and the updated new one.
  2. Take a look at the new GSI-specific configuration-field "detailedStatus_severity" and the corresponding value-item. You may want to insert a proper default value for the field.
    • Attention: If you want to flag an error in "detailedStatus", the error state always have to be false. ( Use the enum-value "ERROR_ON_FALSE" for the same index in "detailedStatus_severity")
  3. Open each FESA class in Eclipse, validate it + generate the sourcecode
  4. Open each FESA deploy-unit in Eclipse, validate it + generate the sourcecode
    • For deploy-units it seems to help to add a "enter" somewhere + safe the file. Do this until the FESA plug-in does not complain anymore.
  5. Open each instance file in Eclipse and validate it.
  6. If there are any problems, either try to fix them or call the fesa-support@gsi.de .

Step 2 - Update the source-code

Not much to do for this migration. Only one thing which comes to my mind:

// Instead of filling the detailedStatus like that:
uint32_t index = 4;
bool myNewValue
(*device)->detailedStatus.setCell(myNewValue,index,pEvt->getMultiplexingContext());

// The following new methods can be used now:
(*device)->detailedStatus.lower(0,pEvt->getMultiplexingContext());
(*device)->detailedStatus.raise(1,pEvt->getMultiplexingContext());
(*device)->detailedStatus.lower("MyLabelBit4",pEvt->getMultiplexingContext());
(*device)->detailedStatus.raise("MyLabelBit5",pEvt->getMultiplexingContext());

  • If you did all changes in a proper way, the class and the deploy-unit should compile + link without problems.
  • If there are conflicts which you cannot solve, dont hesitate to call the fesa-support@gsi.de !
I Attachment Action Size Date Who Comment
migrate.1.0.0-1.2.0.shsh migrate.1.0.0-1.2.0.sh manage 2 K 10 Jan 2014 - 11:28 SolveighMatthies Shell script to run the migration
migrate.1.0.0-1.2.0.xslxsl migrate.1.0.0-1.2.0.xsl manage 5 K 02 Dec 2013 - 16:42 AlexanderSchwinn xsl-file with rules to transform the differen xml-files
Topic revision: r4 - 10 Jan 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