Package: hit-acs
hit_acsDescriptionContains a wrapper for theBeamOptikDLL.dllcontrol library of the HIT
accelerator facility for use withmadgui.DependenciesTheBeamOptikDLL.dlllibrary needs to be accessible (PATH or CWD).SetupThe setup is to be performed as followspythonsetup.pyinstallCHANGELOG20.1.0Date: 25.01.2020revisit auto load model feature implementation19.8.0Date: 19.08.2019add auto load model feature19.5.1Date: 13.05.2019make parameter lookup case-insensitive again (was accidentally made
case-sensitive when changing order of parameters)19.5.0Date: 09.05.2019add knobs for remaining MEFI paramsadd method to read all/multiple parameters at once
(required by madgui 19.5.1)fix outdated code in menuitem for editting model init conditions19.4.1Date: 30.04.2019suppress irritating error message about ‘gantry_angle’ when uploading paramswarn if the model gantry_angle differs from the active MEFIdon’t modify the user’s model when initializing stub backend19.4.0Date: 13.04.2019simplifications in travis configuration and setup.cfg19.3.0Date: 21.03.2019let the stub work with its own independent model (for simulating a backend)add dialog to edit our modelrequires madgui 19.3.2fix py2 compatibility issue in beamoptikdll.py (again…)require importlib_resourcesupdate package namecleanup in setup script19.01.0Date: 19.01.2019rename package tohit_acsfix another error inSetNewValueCallbackdue to using missing.valueattribute on string parameterfixSetNewValueCallbackstring parameter type: ANSI stringuse ctypes argtypes declarations for DLL functionsimprove startup performance by cleaning up csv parser logickeep units as strings (requires newer madgui)avoid unused parameter grouping by elementfix potential startup exception if MEFI is given in settings but VAcc is notsimplifyread_monitorimplementationset the beamoptikdll aspermanentvariable into the user namespace as
simplification (i.e. not removing the variable after disconnecting)improve some internal variable nameschange beamoptikdll variable name in user namespace (beamoptikdll)theload_libraryclassmethod has been removed, in favor of letting the
the normalBeamOptikDLLconstructor now load the DLL directlyspecial caseGetLastFloatValueSDfor the MIT variantremove two lonely warningsreturn the IID integer value (not thectypes.c_intinstance) fromGetInterfaceInstancedon’t logGetFloatValueSDcalls for now (temporary, to avoid too much
noise in debug log)18.12.0Date: 11.12.2018fix exception inOnlineBackend.__init__due to missing parenthesiskeep a reference to the ctypes callback forSetNewValueCallback, to
prevent garbage collectionfix incorrect parameter type (pointer to pointer) forSetNewValueCallbackallow removing the callback by passing None18.10.0Date: 18.10.2018Now incalver(calendaric versioning)YY.MM.patchsince this better fits
the nature of madgui development and is I believe more useful for end-users.fix TypeError during MEFI initializationjitter SD values on retrieval, periodically (like shots)use gaussian jitter for monitor readoutstake care of settings menu [madgui >= 2018.10.18]aberrate magnet strengths only explicitlyadd menu options for internal settingsadd menuitems for loading readouts/strengthsload/save more stub settingsaberrate only ax/kL values, gaussian distributiondisturb beamwidthsusing gamma distributionadapt to updated madgui module qualnames in madgui 2018.10.18adapt to changes in new madgui Plugin API (-> Backend)getting passed Session object instead of mainwindow nowsafeguard against invalid paths - fixes ValueError on exitfix the test backend when no window is presentadd automatic sanity checks (missing imports, syntax errors, etc)add automatic style checks and fix several style issuesautomatically upload releases to PyPIadd debug trace log for the real online dll0.13.0Date: 24.07.2018retrieve variant from config (autodetection was a failure)load config settings from newsettingsargument (madgui 1.14.0)reselect previous vacc/mefi on startupsuppress exception when reading/writing missing parametersupdate import path for read_str_file from madgui0.12.0Date: 15.07.2018in test stub: use gantry angle from param listfix outdated run.pyfor ExecuteChanges setoptionsparameter default asCalcDifadapt beamoptikdll module for Marburg variantsimplify the test stub module (directly mocks BeamOptikDLL class now,
instead of the ctypes backend)0.11.0Date: 25.06.2018revert “Automatically read beam and strengths on connect”, it was broken
because usually there will be no MEFI combination selected at this pointcleanup some unnecessary importsfix NameError incsv_unicode_readeron py2fiximportlib_resourcesimport and use withinutilas wellremove obsolete config file and YAML dependency with itmake theframeargument optional (useful for testing)adapt to backward incompatible changes inmadgui 1.0.2:frame.modelis now aBoxedobject!pass offsets as parameters toHitOnlineControland fake DLL
(dependency injection!)remove more knowledge fromHitOnlineControlcan now removecontrolmember from fake DLLremove.instances(~IID) logic in fake DLLadd methods to load parameters and SD values from diskupdate fake SD values on “Execute” rather than on every call0.10.0Date: 01.06.2018add beam parameters for test stubautomatically read beam and strengths on connect0.9.0Date: 31.05.2018fully simplify knobs to being only var names, all conversions are now done
by using appropriate expressions in the model!!0.8.0Date: 16.04.2018adapt to changes in madgui1.9.0APIsimplifyget_knoblogic significantlyremove support for inserted kickers into SBENDs (now modelled asK0 != ANGLE/L)fix an error in stub with 32bitflip monitor X position to convert from HIT to MAD-X coordinate system (HIT
uses a left-handed system in HEBT!)discard-9999records from monitorsremove setuptools entrypoint for madgui, must now be loaded manually using
theonloadhandlerexposedllvariable to user shellread and add offsets to MWPC measurements0.7.0Date: 25.03.2018update madgui plugin to new unit handling in madguicompatible with madgui 1.8.0, hit_models 0.8.00.6.0Date: 02.03.2018fix knob access for skew quadrupolescompatible with madgui 1.7.1, hit_models 0.7.00.5.0Date: 26.01.2018update to madqt 0.0.6: unification of workspace/segment -> model0.4.0Date: 24.01.201864bit supportadd win32 and qt standalone modesport to madqtinitialize strengths/monitors from current model instead of using the
example values in the parameter list (which would often lead to crashes)renamed packagefinally implement SetNewValueCallback (untested)massive simplification of the madqt interface (knobs API)can query beam parametersship DVM parameter list with the package itselfalways load DVM parameters from CSV (no more YAML)can guess correct parameter names more reliably, based on several clues