SourceKind, used to distinguish between imported modules currently has three variants.
planFunctions for modules containing plans
dodal for modules containing device functions that are called via dodal's make_all_devices and assume DeviceInitializationControllers
deviceFunctions the previous version for devices that is now an alias for dodal.
Now that there is about to be an alternative to dodal modules in the device manager, should we
- Create a new source type,
deviceManager to support the new loading
- Convert all beamlines at once and use
dodal for the new loading
- Stop
deviceFunctions delegating to dodal and use it for the new loading
I'm currently erring towards 1. I think 2 would cause chaos and we should have at least a brief transition period where both are supported. 3 could work but are any beamlines currently relying on it being an alias to dodal?
If we don't re-use deviceFunctions, could we remove it entirely?
SourceKind, used to distinguish between imported modules currently has three variants.planFunctionsfor modules containing plansdodalfor modules containing device functions that are called via dodal's make_all_devices and assume DeviceInitializationControllersdeviceFunctionsthe previous version for devices that is now an alias fordodal.Now that there is about to be an alternative to dodal modules in the device manager, should we
deviceManagerto support the new loadingdodalfor the new loadingdeviceFunctionsdelegating tododaland use it for the new loadingI'm currently erring towards
1. I think2would cause chaos and we should have at least a brief transition period where both are supported.3could work but are any beamlines currently relying on it being an alias tododal?If we don't re-use
deviceFunctions, could we remove it entirely?