V1 JouleScope API

How do I set parameters in the new v1 device API?

My code used to look like:

        item.parameter_set('v_range', '5V')
        item.parameter_set('sensor_power', 'on')
        item.parameter_set('source', 'on')

But parameter_set() is not implemented (also info() isn’t implemented)

def parameter_set(self, name, value):
    """Set a parameter value.

    :param name: The parameter name
    :param value: The new parameter value
    :raise KeyError: if name not found.
    :raise ValueError: if value is not allowed
    """
    raise NotImplementedError()

Hi @sallen ! I am assuming you are talking about the joulescope python package. The v1 backend should work the same as the v0 backend. Note that Device in joulescope/device.py is the base class, which raises the NotImplementedError. If you look at DeviceJs110 in joulescope/v1/js110.py you will see the implementation for the JS110. DeviceJs220 in joulescope/v1/js220.py is for the JS220.

Did you try the v1 backend and find something not work? If so, what was the error?

Hi Matt,

My bad - I’d been running with a wrapper around the base class which was working in a pre 1.0 joulesope driver. I’m also opening the driver multiple times which used to be tolerated and is no longer. I’ll come back once I have these figured out.

The returned info() is much reduced but that’s a minor issue.

Kind Regards,
Steve