API Reference
potentiostat
This module implements the serial interface to the Rodeostat open source Potentiostat.
- copyright
2017 by IO Rodeo
- license
MIT, see LICENSE.txt for more details.
- class potentiostat.potentiostat.Potentiostat(port, timeout=10.0)
Provides a high level interface for serial communications with the Rodeostat.
- Parameters
port (str) – serial port associated with the Rodeostat, e.g. /dev/ttyACM0, COM1, etc.
- Keyword Arguments
timeout (float) – serial port ready timeout (seconds)
- disconnect_all_mux_elect()
Disconnects all electrodes (reference, counter and working) when using the multiplexer expansion hardware.
- get_all_curr_range()
Gets a list of all current ranges supported by the device.
- Returns
all available current ranges as str e.g., [‘1uA’, 10uA’, ‘100uA’, ‘1000uA’]
- Return type
list
- get_all_elect_connected()
Gets the connected state (True/False) of all the electrodes (referene, counter and working). Only True if all are connected. This feature requires hardware version >= HW0.2
- Returns
connected stat of all electrodes (from device), True/False
- Return type
bool
- get_all_volt_range()
Gets a list of the voltage ranges supported by the device.
- Returns
available voltage ranges, e.g., [‘1V’, ‘2V’, ‘5V’, ‘10V’]
- Return type
list
- get_auto_connect()
Gets the value of the device’s auto-connect/auto-disconnect setting.
- Returns
autoconnect state (from device), True/False
- Return type
bool
- get_ctr_elect_connected()
Gets the connected state (True/False) of the counter electrode. This feature requires hardware version >= HW0.2
- Returns
connection state of counter electrode (from device), True/False
- Return type
bool
- get_curr()
Gets an immediate measurement of the working electrode current.
- Returns
working electrode current, units (uA)
- Return type
float
- get_curr_range()
Gets the device’s range setting for measuring working electrode current (uA).
- Returns
working electrode current range setting (from device), e.g., ‘10uA’
- Return type
str
- get_device_id()
Gets the current value of the device identification number
- Returns
device identification number
- Return type
int
- get_enabled_mux_channels()
Get the list of currently enabled multiplexer working electrode channels
- Returns
enabled mux channels (from device).
- Return type
list
- get_firmware_version()
Gets the version string for the firmware on the device.
- Returns
firmware version, e.g. ‘FW0.0.8’
- Return type
str
- get_hardware_variant()
Returns a string representing the hardware variant.
- Returns
hardware variant, e.g. ‘10V_microAmpV0.2’
- Return type
str
- get_hardware_version()
Returns string representing the hardware version.
- Returns
hardware version, e.g., ‘V0.2’
- Return type
str
- get_mux_ctr_elect_connected()
Returns the connected state (True or False) of the counter electrode when using the multiplexer expansion hardware.
- Returns
connection state of mux counter electrode (from device), True/False
- Return type
bool
- get_mux_enabled()
Get multiplexer expansion hardware enabled state
- Returns
enable state of mux hardware (from device), True/Fasle
- Return type
bool
- get_mux_ref_elect_connected()
Gets the connected state (True/False) of the reference electrode when using the multiplexer expansion hardware.
- Returns
connection state of mux reference electrode (from device), True/False
- Return type
bool
- get_mux_test_names()
Gets the list of tests which are compatible with the multiplexer expansion hardware
- Returns
tests compatible with multiplexer
- Return type
list
- get_mux_wrk_elect_connected()
Returns the connected state (1, 2, 3, 4, 5, 6, 7 or False) of the working electrode when using the multiplexer expansion hardware.
- Returns
connection state of mux working electrode.
- Return type
int/bool
- get_param(testname)
Returns the current values of the parameters for the specified voltammetric test.
- Parameters
testname (str) – name of voltammetric test, e.g., ‘cyclic’
- Returns
current values of test parameters
- Return type
dict
- get_ref_elect_connected()
Gets the connected state (True/False) of the reference electrode. This feature requires hardware version >= HW0.2
- Returns
connected state of the reference electrode (from device), True/False
- Return type
bool
- get_ref_elect_volt_range()
Gets the device’s voltage range setting for the reference electrode analog input.
- Returns
reference electrode voltage range returnd by device
- Return type
str
- get_ref_volt()
Gets an immediate measurement of the potential between the working and reference electrode.
- Returns
potential between working and reference electrode, units (V)
- Return type
float
- get_sample_period()
Gets the current value for the sample period (ms). The sample period is the time between samples.
- Returns
sample period (from device), units (ms)
- Return type
int
- get_sample_rate()
Gets the measurement sample period (Hz). Note, the sample rate is 1/sample_period.
- Returns
sample rate (from device), unit (Hz)
- Return type
float
- get_test_done_time(test, timeunit='ms')
Gets the time in seconds required to complete the specified test including any quietTime, etc.
- Parameters
test (str) – test name, e.g., ‘cyclic’
- Keyword Arguments
timeunit (str) – units to use for time, ‘ms’ (default) or ‘s’
- Returns
time required for test, int if timeunit==’ms’, float if timeunit==’s’
- Return type
int/float
- get_test_names()
Gets the list of the names of all tests which can be performed by the device with the current firmware.
- Returns
names of all available tests.
- Return type
list
- get_volt()
Returns the output voltage setting, i.e, the potential between the working and reference electrode.
- Returns
output voltage setting, units (V)
- Return type
float
- get_volt_range()
Gets the current value for the output voltage range (V).
- Returns
voltage range (from device)
- Return type
dict
- get_wrk_elect_connected()
Gets the connected state (True/False) of the working electrode. This feature requires hardware version >= HW0.2
- Returns
connection state of working electrode (from device), True/False
- Return type
bool
- run_test(testname, param=None, filename=None, on_data=None, display='pbar', timeunit='s')
Runs the test with specified test name and returns the time, voltage and current data.
- Parameters
testname (str) – name of test to run, e.g., ‘cyclic’, ‘constant’, linearSweep’
- Keyword Arguments
param (dict) – parameter settings for test, the default is None in which case the current values are used.
filename (str) – name of output file for saving data
on_data (function) – callback function called on arrival of new data from the device. This function takes four arguments: chan, t, volt, and curr.
display (str) – output display mode, display==’pbar’ show a progressbar, display==’data’ shows a text stream and display==’’ shows nothing
timeunit (str) – units for time values, if timeunit==’s’ then time values are in seconds otherwise if timeunit==’ms’ then time values are is milliseconds.
- Returns
data acquired during test.
When the multiplexer is disabled a tuple (t,volt,curr) of lists is returned containing the measurement times (s), voltages (V) and currents (uA) respectively
When the multiplexer is enabled run_test returns a dictionary containing the measured data for each channel. The keys of the dictionary returned are the enabled channel numbers and the values are dictionaries with the time, voltage and current measurments for that channel, keyed by ‘t’, ‘v’, and ‘i’ respectively.
- Return type
tuple/dict
- send_cmd(cmd_dict)
Sends a command to the device. Low-level method - command is specified using command dictionary.
- Parameters
cmd_dict (dict) – commands to be sent to the device, e.g., {‘command’: ‘getVersion’}
- Returns
JSON response message from device converted to a dictionary.
For example, the response to {‘command’: ‘getVersion’} might be {‘success’: True, ‘response’: {‘command’: ‘getVersion’, ‘version’: ‘FW0.0.8’}}
- Return type
dict
- set_all_elect_connected(value)
Sets the connected state (True/False) of all the electrodes (referene, counter and working). This feature requires hardware version >= HW0.2
- Parameters
value (bool) – desired connection state of all electrodes.
- Returns
connection state of all electrodes (from device), True/False
- Return type
bool
- set_auto_connect(value)
Set auto-connect/auto-disconnect feature. If auto-connect is set to True then the ref, ctr and wrk electrodes will be automatically connected at the beginning of each test and automatically disconnected at the end of each test.
- Parameters
value (bool) – desired value for autoconnect, True/False
- Returns
autoconnect state (from device), True/False
- Return type
bool
- set_ctr_elect_connected(value)
Sets the connected state (True/False) of the counter electrode. This feature requires hardware version >= HW0.2
- Parameters
value (bool) – desired connection state for counter electrode, True/False
- Returns
connected state of counter electrode (from device), True/False
- Return type
bool
- set_curr_range(curr_range)
Sets the range setting for measuring working electrode (uA).
- Parameters
curr_range (str) – the desired workign electrode current range setting, e.g., ‘10uA’
- Returns
working electrode current range setting (from device), e.g. ‘10uA’
- Return type
str
- set_device_id(device_id)
Sets the current value of the device identification number.
- Parameters
device_id (int) – desired value for device identification number
- Returns
device identification number (from device).
- Return type
int
- set_enabled_mux_channels(channels)
Enables the specified subset of multiplexer working electrode channels
- Parameters
channels (list) – list of mux channels to enable, e.g., [1,2,5]
- Returns
enabled mux channels (from device).
- Return type
list
- set_mux_ctr_elect_connected(value)
Sets the connected state (True or False) of the counter electrode when using the multiplexer expansion hardware.
- Parameters
value (bool) – desired connection state for mux counter electrode, True/Fasle
- Returns
connection state of mux counter electrode (from device), True/False
- Return type
bool
- set_mux_enabled(value)
Enable/Disables the multiplexer expansion hardware
- Parameters
value (bool) – desired enable state of mux hardware, True/False
- Returns
enable state of mux hardware (from device), True/Fasle
- Return type
bool
- set_mux_ref_elect_connected(value)
Sets the connected state (True/False) of the reference electrode when using the multiplexer expansion hardware.
- Parameters
value (bool) – desired connection for mux reference electrode, True/False
- Returns
connection state of mux reference electrode (from device), True/False
- Return type
bool
- set_mux_wrk_elect_connected(value)
Sets the connected state (1, 2, 3, 4, 5, 6, 7 or False) of the working electrode when using the multiplexer expansion hardware.
- Parameters
value (int/bool) – desired connection state for mux working electrode.
- Returns
connection state of mux working electrode.
- Return type
int/bool
- set_param(testname, param)
Sets the parameters for the specified voltammetric test.
- Parameters
testname (str) – name of voltammetric test
param (dict) – desired test parameters
- Returns
test parameters for testname (from device)
- Return type
dict
- set_ref_elect_connected(value)
Sets the connected state (True/False) of the reference electrode. This feature requires hardware version >= HW0.2
- Parameters
value (bool) – desired connected state of reference electrode
- Returns
connected state of the reference electrode (from device), True/False
- Return type
bool
- set_ref_elect_volt_range(volt_range)
Sets the voltage range for the reference electrode analog input.
- Parameters
volt_range (str) – desired voltage range, e.g., ‘5V’
- Returns
reference electrode voltage range returnd by device
- Return type
str
- set_sample_period(sample_period)
Sets the sample period (ms) used for measurements. The sample period is the time between samples.
- Parameters
sample_period (int) – desired sample period, units (ms)
- Returns
sample period (from device), units (ms)
- Return type
int
- set_sample_rate(sample_rate)
Sets the measurement sample rate (Hz). Note, this is an alternative way to set the sample period.
- Parameters
sample_rate (float) – desired sample rate, units (Hz)
- Returns
sample rate (from device), unit (Hz)
- Return type
float
- set_volt(volt)
Sets the output voltage setting, i.e., the potential between the working and reference electrode.
- Parameters
volt (float) – output voltage setting, units (V)
- Returns
output voltage setting, units (V)
- Return type
float
- set_volt_range(volt_range)
Sets the output voltage range (V)- used when setting output voltage manually.
- Parameters
volt_range (str) – desired output voltage range, e.g., ‘1V’
- Returns
voltage range (from device)
- Return type
dict
- set_wrk_elect_connected(value)
Sets the connected state (True/False) of the working electrode. This feature requires hardware version >= HW0.2
- Parameters
value (bool) – desired connection state for working electrode, True/False
- Returns
connection state of working electrode (from device), True/False
- Return type
bool
- stop_test()
Stops (any) currently running tests.