Allow for std::shared_ptr default holders for ADC/DACDevice python bindings
What
This MR updates the Python bindings for the ADCDevice
and DACDevice
classes to specify that their default holders be std::shared_ptr
. The default in pybind11
is for std::unique_ptr
. Basically, we follow the recommendations here.
This addresses the errors reported by @beringer in #77 (closed). I have tried a MWE:
from labRemote import com, devcom
def main() :
serial = com.TextSerialCom("/dev/ttyAMC0", 9600)
dev = devcom.ADCDevComuino(5, serial)
try :
sensor = devcom.NTCSensor(0, dev, True, 4, 4, 4, False, 5, 5)
except Exception as e :
print(f"Failed to initialize NTCSensor: {e}")
if __name__ == "__main__" :
main()
Prior to the changes introduced in this MR, calling this script would result in the error messages reported in #77 (closed). With the changes introduced in this MR, no error is reported.
Note that I have not tested these changes with actual devices.
Related Issues
Relates to #77 (closed).
Edited by Daniel Joseph Antrim