90 likes | 205 Views
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.
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