See also discussion in #287
self.dm should be self.device in the RuntimeErrors in the open function of bmc_deformable_mirror_hardware.py. This is addressed in #328
Additionally the set_device_id function does not handle being passed a 0 (the default) gracefully and instead raises an error. This is a problem for HiCAT which does not specify a device_id.