FESA3 Support Library (FESL)

Goal

The FESL ist meant to provide a transparanet view of the components and bus slaves of an SCU. Therefore, we built up a set of libraries which interface the whole SCU functionality as well as the different types of power supplies in the field. Thus it is now possible to easily integrate new power converters and the SCU slave cards controlling them in the existing equipment software and to build up test programms quickly. Dealing with the equipment specifics should not be buried in the FESA-classes but instead be reusable for the implementation of other programs.

Structure

FESL overview

Development sources: https://www-acc.gsi.de/viewvc/view/fesa/device/driver/feSupport/

Contact Person: MatthiasWiebel

Versioning

On ASL go to /common/usr/cscofe/opt/feSupport an check out the available versions.
  • productive build -> pro
  • developement build -> dev

How to integrate FESL into any project

  • Use /common/usr/cscofe/opt/feSupport/VERSION/include
  • Use /common/usr/cscofe/opt/feSupport/VERSION/lib

​How to integrate FESL into FESA3 projects

  • FESA class -> Makefile.specific (additions in red):
PRO_OR_DEV = pro # Can also be 'dev'
FE_SUPPORT = /common/usr/cscofe/opt/feSupport/$(PRO_OR_DEV)
# Additional compiler warning flags WARNFLAGS += # Additional compiler flags COMPILER_FLAGS += -I$(FE_SUPPORT)/include LINKER_FLAGS += # Additional headers (Custom.h Specific.h ...) which need to be installed EXTRA_HEADERS +=
  • FESA deploy-unit -> Makefile.specific (additions in red):
PRO_OR_DEV = pro # Can also be 'dev'
FE_SUPPORT = /common/usr/cscofe/opt/feSupport/$(PRO_OR_DEV)
ETHERBONE = /common/usr/timing/etherbone/x86_64/

FRONTEND_INCLUDES = -I$(FE_SUPPORT)/include -I$(ETHERBONE)/include
FRONTEND_LIB = -L$(FE_SUPPORT)/lib \
-lpowerSupply -lcomponents -lbusAdapters -lbusSlaves -letherboneScu -lutility \
-L$(ETHERBONE)/lib \
-letherbone
# Additional compiler warning flags WARNFLAGS += # Additional libs and flags which are common to both the Realtime and the Server part COMPILER_FLAGS += LINKER_FLAGS += # Additional libs and flags which are specific to the Realtime part COMPILER_RT_FLAGS += $(FRONTEND_INCLUDES) LINKER_RT_FLAGS += $(FRONTEND_LIB) # Additional libs and flags which are specific to the Server part COMPILER_SERVER_FLAGS += LINKER_SERVER_FLAGS += # Additional headers (Custom.h Specific.h ...) which need to be released EXTRA_HEADERS +=

How to use the FESL classes in Code of FESA Actions

TODO

Documentation

Mainly done incode.

TODO Central availability. (Until this is done: Check out the sources and generate the docu with doxygen.)
Topic attachments
I Attachment Action Size Date Who Comment
FESL.pngpng FESL.png manage 128 K 22 Jan 2015 - 15:18 MatthiasWiebel FESL overview
MakefileEXT Makefile manage 1 K 19 Feb 2015 - 15:08 MatthiasWiebel Example file to build your project with make
Topic revision: r11 - 22 May 2015, MatthiasWiebel
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