90 likes | 210 Vues
This document outlines the extensive support offered by the CLIB library for a multitude of functionalities, including device management, database access, and user interface components. With over 2000 entry points, CLIB supports runtime linking and maintains various user libraries that cater to specific needs. From data I/O and database access to advanced graphical window functionalities, the user libraries are designed for efficiency and ease of integration. Additional user libraries address specialized areas like networking, physics routines, cryogenic systems, and GPIB instrument control, ensuring comprehensive coverage for various applications.
E N D
Application Library Support Brian Hendricks
Libraries • CLIB • Generic functionality • >2000 entry points • Runtime linking • User libraries (>30 libraries) • Generally more specific functionality • Few hundred entry points • Statically linked • Maintained in MECCA
CLIB Functional Groups • dio_xxx – Data I/O • supports reading/setting devices • supports reading device database information • typically uses device index/property addressing • maintains usage/error statistics • db_xxx – DataBase access • accesses relational database
CLIB Functional Groups (continued) • window_xxx – alphanumeric window access • row/column addressing • wn_xxx – graphic WiNdow access • views created in unitary coordinate system • each view has its own internal coordinate system • error_xxx • displays/logs error and informational messages • str_xxx – STRing functions • adds to C RTL string support
User Library Types • General • ul_cbsaux (covers everything) and ul_pasa • ul_physlib • ul_windowlib and ul_wnlib • Specific • ul_tecar • ul_scopes and ul_pbar_instruments
User Libraries • ul_cbsaux – CLIB auxiliary routines • >250 routines • BPM support • GPIB support • waveform generator support • ul_physlib – generic physics routines • contains ‘Numerical Recipes in C’ routines • ul_lssol – fitting routines • ul_model – lattice database access
User Libraries (continued) • ul_pasa and ul_net – networking support • ul_scopes – GPIB scope support • ul_sequencer – Sequencer interface routines • ul_windowlib • additional window_xxx routines • ul_wnlib – additional wn_xxx routines • ul_dialoglib – special user dialogs
User Libraries (continued) • ul_friglib and ul_heliumlib • supports accessing cryogenic systems • ul_multiwire • supports SWICs, multiwires, and SEMs • ul_crg and ul_mirg • support accessing Collider and Main Injector ramp generator data structures, respectively • ul_tecar and ul_mecarlib • access to Tevatron and Main Injector ramp controllers
Pbar User Libraries • ul_pbar_dio • layer on top of CLIB’s DIO routines • ul_pbar_graphics • layer on top of CLIB’s wnlib routines • ul_pbar_general – general programming aids • ul_pbar_le_calc – special calculation routines • ul_pbar_gpib • layer on top of GPIB routines in ul_cbsaux • ul_pbar_instruments – GPIB instrument support