-
Notifications
You must be signed in to change notification settings - Fork 0
HardwareComponents
Look into HardwareComponent and ComponentProperties to see how they are laid out. Every HardwareComponent subclass has an associated ComponentProperties file that defines all defaults, verification methods, requirements, and behaviour for every property of the device.
Component protocol execution functions are mostly called in TimerCallback, with some exceptions for config - see CallbackEditComponentConfig and CallbackUpdateComponentTable.
Components are mostly managed in the ComponentManager class. This is done to ensure clean closing of sessions and to prevent code duplication.
When working with a ComponentProperty that takes a vector as its value (e.g. camera ROI - see CameraComponent and CameraComponentProperties for examples of this), you should format it as a string, then just use str2num and num2str to convert when necessary to interface with the hardware itself. The StimControl software uses some of Matlab's built-in table/struct/transposition tools that don't play well with non-scalar numeric values.