diff --git a/.gitignore b/.gitignore index 40932b883..1241b1fff 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ __pycache__/ *~ # C extensions -*.so +# *.so Removed for okHost SO files # Distribution / packaging .Python diff --git a/litex/tools/60-opalkelly.rules b/litex/tools/60-opalkelly.rules new file mode 100644 index 000000000..4393fdc96 --- /dev/null +++ b/litex/tools/60-opalkelly.rules @@ -0,0 +1,11 @@ +# udev rules file for all Opal Kelly VID matches. +# This file allows udev to change the mode to 666 (all read/write) +# for any Opal Kelly VID. +# + +# For FedoraCore 5 and similar: +SUBSYSTEM=="usb_device", SYSFS{idVendor}=="151f", MODE="0666" + +# For FedoraCore 7 and similar: +SUBSYSTEM=="usb", ATTRS{idVendor}=="151f", MODE="0666" + diff --git a/litex/tools/_ok.so b/litex/tools/_ok.so new file mode 100755 index 000000000..3fdf1cb16 Binary files /dev/null and b/litex/tools/_ok.so differ diff --git a/litex/tools/libokFrontPanel.so b/litex/tools/libokFrontPanel.so new file mode 100755 index 000000000..57c25762d Binary files /dev/null and b/litex/tools/libokFrontPanel.so differ diff --git a/litex/tools/litex_ok.py b/litex/tools/litex_ok.py new file mode 100755 index 000000000..e88909f28 --- /dev/null +++ b/litex/tools/litex_ok.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 + +# +# This file is part of LiteX. +# +# Copyright (c) 2023 Andrew Elbert Wilson +# SPDX-License-Identifier: BSD-2-Clause + + +import time +import argparse +#Dependencies for ok library +# * sudo apt install libsdl2-2.0-0 +# * sudo apt install liblua5.3-0 +# * udev rules for ok USB 60-opalkelly.rules +import ok + + +# Run ---------------------------------------------------------------------------------------------- + +def _get_args(): + parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser.add_argument("bitstream", help="Bitstream for XEM8320") + return parser.parse_args() + +def main(): + args = _get_args() + print(args.bitstream) + xem = ok.FrontPanelDevices().Open() + if not xem: + print ("A device could not be opened. Is one connected?") + exit() + devInfo = ok.okTDeviceInfo() + if (xem.NoError != xem.GetDeviceInfo(devInfo)): + print ("Unable to retrieve device information.") + exit() + print(" Product: " + devInfo.productName) + print("Firmware version: %d.%d" % (devInfo.deviceMajorVersion, devInfo.deviceMinorVersion)) + print(" Serial Number: %s" % devInfo.serialNumber) + print(" Device ID: %s" % devInfo.deviceID) + tic = time.perf_counter() + if (xem.NoError != xem.ConfigureFPGA(args.bitstream)): + print ("FPGA configuration failed.") + else: + toc = time.perf_counter() + print (f"FPGA configuration succeded in {toc - tic:0.4f} seconds") + + xem.Close() +if __name__ == "__main__": + main() diff --git a/litex/tools/ok.py b/litex/tools/ok.py new file mode 100644 index 000000000..7df06ae84 --- /dev/null +++ b/litex/tools/ok.py @@ -0,0 +1,1627 @@ +# This file was automatically generated by SWIG (http://www.swig.org). +# Version 4.0.2 +# +# Do not make changes to this file unless you know what you are doing--modify +# the SWIG interface file instead. + +from sys import version_info as _swig_python_version_info +if _swig_python_version_info >= (2, 7, 0): + def swig_import_helper(): + import importlib + pkg = __name__.rpartition('.')[0] + mname = '.'.join((pkg, '_ok')).lstrip('.') + try: + return importlib.import_module(mname) + except ImportError: + return importlib.import_module('_ok') + _ok = swig_import_helper() + del swig_import_helper +elif _swig_python_version_info >= (2, 6, 0): + def swig_import_helper(): + from os.path import dirname + import imp + fp = None + try: + fp, pathname, description = imp.find_module('_ok', [dirname(__file__)]) + except ImportError: + import _ok + return _ok + try: + _mod = imp.load_module('_ok', fp, pathname, description) + finally: + if fp is not None: + fp.close() + return _mod + _ok = swig_import_helper() + del swig_import_helper +else: + raise RuntimeError('Python 2.6 or later required') +del _swig_python_version_info + +try: + import builtins as __builtin__ +except ImportError: + import __builtin__ + +def _swig_repr(self): + try: + strthis = "proxy of " + self.this.__repr__() + except __builtin__.Exception: + strthis = "" + return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) + + +def _swig_setattr_nondynamic_instance_variable(set): + def set_instance_attr(self, name, value): + if name == "thisown": + self.this.own(value) + elif name == "this": + set(self, name, value) + elif hasattr(self, name) and isinstance(getattr(type(self), name), property): + set(self, name, value) + else: + raise AttributeError("You cannot add instance attributes to %s" % self) + return set_instance_attr + + +def _swig_setattr_nondynamic_class_variable(set): + def set_class_attr(cls, name, value): + if hasattr(cls, name) and not isinstance(getattr(cls, name), property): + set(cls, name, value) + else: + raise AttributeError("You cannot add class attributes to %s" % cls) + return set_class_attr + + +def _swig_add_metaclass(metaclass): + """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass""" + def wrapper(cls): + return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy()) + return wrapper + + +class _SwigNonDynamicMeta(type): + """Meta class to enforce nondynamic attributes (no new attributes) for a class""" + __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__) + + +import weakref + +class SwigPyIterator(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + __swig_destroy__ = _ok.delete_SwigPyIterator + + def value(self) -> "PyObject *": + return _ok.SwigPyIterator_value(self) + + def incr(self, n: 'size_t'=1) -> "swig::SwigPyIterator *": + return _ok.SwigPyIterator_incr(self, n) + + def decr(self, n: 'size_t'=1) -> "swig::SwigPyIterator *": + return _ok.SwigPyIterator_decr(self, n) + + def distance(self, x: 'SwigPyIterator') -> "ptrdiff_t": + return _ok.SwigPyIterator_distance(self, x) + + def equal(self, x: 'SwigPyIterator') -> "bool": + return _ok.SwigPyIterator_equal(self, x) + + def copy(self) -> "swig::SwigPyIterator *": + return _ok.SwigPyIterator_copy(self) + + def next(self) -> "PyObject *": + return _ok.SwigPyIterator_next(self) + + def __next__(self) -> "PyObject *": + return _ok.SwigPyIterator___next__(self) + + def previous(self) -> "PyObject *": + return _ok.SwigPyIterator_previous(self) + + def advance(self, n: 'ptrdiff_t') -> "swig::SwigPyIterator *": + return _ok.SwigPyIterator_advance(self, n) + + def __eq__(self, x: 'SwigPyIterator') -> "bool": + return _ok.SwigPyIterator___eq__(self, x) + + def __ne__(self, x: 'SwigPyIterator') -> "bool": + return _ok.SwigPyIterator___ne__(self, x) + + def __iadd__(self, n: 'ptrdiff_t') -> "swig::SwigPyIterator &": + return _ok.SwigPyIterator___iadd__(self, n) + + def __isub__(self, n: 'ptrdiff_t') -> "swig::SwigPyIterator &": + return _ok.SwigPyIterator___isub__(self, n) + + def __add__(self, n: 'ptrdiff_t') -> "swig::SwigPyIterator *": + return _ok.SwigPyIterator___add__(self, n) + + def __sub__(self, *args) -> "ptrdiff_t": + return _ok.SwigPyIterator___sub__(self, *args) + def __iter__(self): + return self + +# Register SwigPyIterator in _ok: +_ok.SwigPyIterator_swigregister(SwigPyIterator) + +class okStrings(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def iterator(self) -> "swig::SwigPyIterator *": + return _ok.okStrings_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self) -> "bool": + return _ok.okStrings___nonzero__(self) + + def __bool__(self) -> "bool": + return _ok.okStrings___bool__(self) + + def __len__(self) -> "std::vector< std::string >::size_type": + return _ok.okStrings___len__(self) + + def __getslice__(self, i: 'std::vector< std::string >::difference_type', j: 'std::vector< std::string >::difference_type') -> "std::vector< std::string,std::allocator< std::string > > *": + return _ok.okStrings___getslice__(self, i, j) + + def __setslice__(self, *args) -> "void": + return _ok.okStrings___setslice__(self, *args) + + def __delslice__(self, i: 'std::vector< std::string >::difference_type', j: 'std::vector< std::string >::difference_type') -> "void": + return _ok.okStrings___delslice__(self, i, j) + + def __delitem__(self, *args) -> "void": + return _ok.okStrings___delitem__(self, *args) + + def __getitem__(self, *args) -> "std::vector< std::string >::value_type const &": + return _ok.okStrings___getitem__(self, *args) + + def __setitem__(self, *args) -> "void": + return _ok.okStrings___setitem__(self, *args) + + def pop(self) -> "std::vector< std::string >::value_type": + return _ok.okStrings_pop(self) + + def append(self, x: 'std::vector< std::string >::value_type const &') -> "void": + return _ok.okStrings_append(self, x) + + def empty(self) -> "bool": + return _ok.okStrings_empty(self) + + def size(self) -> "std::vector< std::string >::size_type": + return _ok.okStrings_size(self) + + def swap(self, v: 'okStrings') -> "void": + return _ok.okStrings_swap(self, v) + + def begin(self) -> "std::vector< std::string >::iterator": + return _ok.okStrings_begin(self) + + def end(self) -> "std::vector< std::string >::iterator": + return _ok.okStrings_end(self) + + def rbegin(self) -> "std::vector< std::string >::reverse_iterator": + return _ok.okStrings_rbegin(self) + + def rend(self) -> "std::vector< std::string >::reverse_iterator": + return _ok.okStrings_rend(self) + + def clear(self) -> "void": + return _ok.okStrings_clear(self) + + def get_allocator(self) -> "std::vector< std::string >::allocator_type": + return _ok.okStrings_get_allocator(self) + + def pop_back(self) -> "void": + return _ok.okStrings_pop_back(self) + + def erase(self, *args) -> "std::vector< std::string >::iterator": + return _ok.okStrings_erase(self, *args) + + def __init__(self, *args): + _ok.okStrings_swiginit(self, _ok.new_okStrings(*args)) + + def push_back(self, x: 'std::vector< std::string >::value_type const &') -> "void": + return _ok.okStrings_push_back(self, x) + + def front(self) -> "std::vector< std::string >::value_type const &": + return _ok.okStrings_front(self) + + def back(self) -> "std::vector< std::string >::value_type const &": + return _ok.okStrings_back(self) + + def assign(self, n: 'std::vector< std::string >::size_type', x: 'std::vector< std::string >::value_type const &') -> "void": + return _ok.okStrings_assign(self, n, x) + + def resize(self, *args) -> "void": + return _ok.okStrings_resize(self, *args) + + def insert(self, *args) -> "void": + return _ok.okStrings_insert(self, *args) + + def reserve(self, n: 'std::vector< std::string >::size_type') -> "void": + return _ok.okStrings_reserve(self, n) + + def capacity(self) -> "std::vector< std::string >::size_type": + return _ok.okStrings_capacity(self) + __swig_destroy__ = _ok.delete_okStrings + +# Register okStrings in _ok: +_ok.okStrings_swigregister(okStrings) + + +__version__ = "5.2.12" + +okFPGACONFIGURATIONMETHOD_NVRAM = _ok.okFPGACONFIGURATIONMETHOD_NVRAM +okFPGACONFIGURATIONMETHOD_JTAG = _ok.okFPGACONFIGURATIONMETHOD_JTAG +class okCScriptValues(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def iterator(self) -> "swig::SwigPyIterator *": + return _ok.okCScriptValues_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self) -> "bool": + return _ok.okCScriptValues___nonzero__(self) + + def __bool__(self) -> "bool": + return _ok.okCScriptValues___bool__(self) + + def __len__(self) -> "std::vector< OpalKelly::ScriptValue >::size_type": + return _ok.okCScriptValues___len__(self) + + def __getslice__(self, i: 'std::vector< OpalKelly::ScriptValue >::difference_type', j: 'std::vector< OpalKelly::ScriptValue >::difference_type') -> "std::vector< OpalKelly::ScriptValue,std::allocator< OpalKelly::ScriptValue > > *": + return _ok.okCScriptValues___getslice__(self, i, j) + + def __setslice__(self, *args) -> "void": + return _ok.okCScriptValues___setslice__(self, *args) + + def __delslice__(self, i: 'std::vector< OpalKelly::ScriptValue >::difference_type', j: 'std::vector< OpalKelly::ScriptValue >::difference_type') -> "void": + return _ok.okCScriptValues___delslice__(self, i, j) + + def __delitem__(self, *args) -> "void": + return _ok.okCScriptValues___delitem__(self, *args) + + def __getitem__(self, *args) -> "std::vector< OpalKelly::ScriptValue >::value_type const &": + return _ok.okCScriptValues___getitem__(self, *args) + + def __setitem__(self, *args) -> "void": + return _ok.okCScriptValues___setitem__(self, *args) + + def pop(self) -> "std::vector< OpalKelly::ScriptValue >::value_type": + return _ok.okCScriptValues_pop(self) + + def append(self, x: 'okCScriptValue') -> "void": + return _ok.okCScriptValues_append(self, x) + + def empty(self) -> "bool": + return _ok.okCScriptValues_empty(self) + + def size(self) -> "std::vector< OpalKelly::ScriptValue >::size_type": + return _ok.okCScriptValues_size(self) + + def swap(self, v: 'okCScriptValues') -> "void": + return _ok.okCScriptValues_swap(self, v) + + def begin(self) -> "std::vector< OpalKelly::ScriptValue >::iterator": + return _ok.okCScriptValues_begin(self) + + def end(self) -> "std::vector< OpalKelly::ScriptValue >::iterator": + return _ok.okCScriptValues_end(self) + + def rbegin(self) -> "std::vector< OpalKelly::ScriptValue >::reverse_iterator": + return _ok.okCScriptValues_rbegin(self) + + def rend(self) -> "std::vector< OpalKelly::ScriptValue >::reverse_iterator": + return _ok.okCScriptValues_rend(self) + + def clear(self) -> "void": + return _ok.okCScriptValues_clear(self) + + def get_allocator(self) -> "std::vector< OpalKelly::ScriptValue >::allocator_type": + return _ok.okCScriptValues_get_allocator(self) + + def pop_back(self) -> "void": + return _ok.okCScriptValues_pop_back(self) + + def erase(self, *args) -> "std::vector< OpalKelly::ScriptValue >::iterator": + return _ok.okCScriptValues_erase(self, *args) + + def __init__(self, *args): + _ok.okCScriptValues_swiginit(self, _ok.new_okCScriptValues(*args)) + + def push_back(self, x: 'okCScriptValue') -> "void": + return _ok.okCScriptValues_push_back(self, x) + + def front(self) -> "std::vector< OpalKelly::ScriptValue >::value_type const &": + return _ok.okCScriptValues_front(self) + + def back(self) -> "std::vector< OpalKelly::ScriptValue >::value_type const &": + return _ok.okCScriptValues_back(self) + + def assign(self, n: 'std::vector< OpalKelly::ScriptValue >::size_type', x: 'okCScriptValue') -> "void": + return _ok.okCScriptValues_assign(self, n, x) + + def resize(self, *args) -> "void": + return _ok.okCScriptValues_resize(self, *args) + + def insert(self, *args) -> "void": + return _ok.okCScriptValues_insert(self, *args) + + def reserve(self, n: 'std::vector< OpalKelly::ScriptValue >::size_type') -> "void": + return _ok.okCScriptValues_reserve(self, n) + + def capacity(self) -> "std::vector< OpalKelly::ScriptValue >::size_type": + return _ok.okCScriptValues_capacity(self) + __swig_destroy__ = _ok.delete_okCScriptValues + +# Register okCScriptValues in _ok: +_ok.okCScriptValues_swigregister(okCScriptValues) + +class okDeviceSensors(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def iterator(self) -> "swig::SwigPyIterator *": + return _ok.okDeviceSensors_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self) -> "bool": + return _ok.okDeviceSensors___nonzero__(self) + + def __bool__(self) -> "bool": + return _ok.okDeviceSensors___bool__(self) + + def __len__(self) -> "std::vector< okTDeviceSensor >::size_type": + return _ok.okDeviceSensors___len__(self) + + def __getslice__(self, i: 'std::vector< okTDeviceSensor >::difference_type', j: 'std::vector< okTDeviceSensor >::difference_type') -> "std::vector< okTDeviceSensor,std::allocator< okTDeviceSensor > > *": + return _ok.okDeviceSensors___getslice__(self, i, j) + + def __setslice__(self, *args) -> "void": + return _ok.okDeviceSensors___setslice__(self, *args) + + def __delslice__(self, i: 'std::vector< okTDeviceSensor >::difference_type', j: 'std::vector< okTDeviceSensor >::difference_type') -> "void": + return _ok.okDeviceSensors___delslice__(self, i, j) + + def __delitem__(self, *args) -> "void": + return _ok.okDeviceSensors___delitem__(self, *args) + + def __getitem__(self, *args) -> "std::vector< okTDeviceSensor >::value_type const &": + return _ok.okDeviceSensors___getitem__(self, *args) + + def __setitem__(self, *args) -> "void": + return _ok.okDeviceSensors___setitem__(self, *args) + + def pop(self) -> "std::vector< okTDeviceSensor >::value_type": + return _ok.okDeviceSensors_pop(self) + + def append(self, x: 'okTDeviceSensor') -> "void": + return _ok.okDeviceSensors_append(self, x) + + def empty(self) -> "bool": + return _ok.okDeviceSensors_empty(self) + + def size(self) -> "std::vector< okTDeviceSensor >::size_type": + return _ok.okDeviceSensors_size(self) + + def swap(self, v: 'okDeviceSensors') -> "void": + return _ok.okDeviceSensors_swap(self, v) + + def begin(self) -> "std::vector< okTDeviceSensor >::iterator": + return _ok.okDeviceSensors_begin(self) + + def end(self) -> "std::vector< okTDeviceSensor >::iterator": + return _ok.okDeviceSensors_end(self) + + def rbegin(self) -> "std::vector< okTDeviceSensor >::reverse_iterator": + return _ok.okDeviceSensors_rbegin(self) + + def rend(self) -> "std::vector< okTDeviceSensor >::reverse_iterator": + return _ok.okDeviceSensors_rend(self) + + def clear(self) -> "void": + return _ok.okDeviceSensors_clear(self) + + def get_allocator(self) -> "std::vector< okTDeviceSensor >::allocator_type": + return _ok.okDeviceSensors_get_allocator(self) + + def pop_back(self) -> "void": + return _ok.okDeviceSensors_pop_back(self) + + def erase(self, *args) -> "std::vector< okTDeviceSensor >::iterator": + return _ok.okDeviceSensors_erase(self, *args) + + def __init__(self, *args): + _ok.okDeviceSensors_swiginit(self, _ok.new_okDeviceSensors(*args)) + + def push_back(self, x: 'okTDeviceSensor') -> "void": + return _ok.okDeviceSensors_push_back(self, x) + + def front(self) -> "std::vector< okTDeviceSensor >::value_type const &": + return _ok.okDeviceSensors_front(self) + + def back(self) -> "std::vector< okTDeviceSensor >::value_type const &": + return _ok.okDeviceSensors_back(self) + + def assign(self, n: 'std::vector< okTDeviceSensor >::size_type', x: 'okTDeviceSensor') -> "void": + return _ok.okDeviceSensors_assign(self, n, x) + + def resize(self, *args) -> "void": + return _ok.okDeviceSensors_resize(self, *args) + + def insert(self, *args) -> "void": + return _ok.okDeviceSensors_insert(self, *args) + + def reserve(self, n: 'std::vector< okTDeviceSensor >::size_type') -> "void": + return _ok.okDeviceSensors_reserve(self, n) + + def capacity(self) -> "std::vector< okTDeviceSensor >::size_type": + return _ok.okDeviceSensors_capacity(self) + __swig_destroy__ = _ok.delete_okDeviceSensors + +# Register okDeviceSensors in _ok: +_ok.okDeviceSensors_swigregister(okDeviceSensors) + +class okTRegisterEntries(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def iterator(self) -> "swig::SwigPyIterator *": + return _ok.okTRegisterEntries_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self) -> "bool": + return _ok.okTRegisterEntries___nonzero__(self) + + def __bool__(self) -> "bool": + return _ok.okTRegisterEntries___bool__(self) + + def __len__(self) -> "std::vector< okTRegisterEntry >::size_type": + return _ok.okTRegisterEntries___len__(self) + + def __getslice__(self, i: 'std::vector< okTRegisterEntry >::difference_type', j: 'std::vector< okTRegisterEntry >::difference_type') -> "std::vector< okTRegisterEntry,std::allocator< okTRegisterEntry > > *": + return _ok.okTRegisterEntries___getslice__(self, i, j) + + def __setslice__(self, *args) -> "void": + return _ok.okTRegisterEntries___setslice__(self, *args) + + def __delslice__(self, i: 'std::vector< okTRegisterEntry >::difference_type', j: 'std::vector< okTRegisterEntry >::difference_type') -> "void": + return _ok.okTRegisterEntries___delslice__(self, i, j) + + def __delitem__(self, *args) -> "void": + return _ok.okTRegisterEntries___delitem__(self, *args) + + def __getitem__(self, *args) -> "std::vector< okTRegisterEntry >::value_type const &": + return _ok.okTRegisterEntries___getitem__(self, *args) + + def __setitem__(self, *args) -> "void": + return _ok.okTRegisterEntries___setitem__(self, *args) + + def pop(self) -> "std::vector< okTRegisterEntry >::value_type": + return _ok.okTRegisterEntries_pop(self) + + def append(self, x: 'okTRegisterEntry') -> "void": + return _ok.okTRegisterEntries_append(self, x) + + def empty(self) -> "bool": + return _ok.okTRegisterEntries_empty(self) + + def size(self) -> "std::vector< okTRegisterEntry >::size_type": + return _ok.okTRegisterEntries_size(self) + + def swap(self, v: 'okTRegisterEntries') -> "void": + return _ok.okTRegisterEntries_swap(self, v) + + def begin(self) -> "std::vector< okTRegisterEntry >::iterator": + return _ok.okTRegisterEntries_begin(self) + + def end(self) -> "std::vector< okTRegisterEntry >::iterator": + return _ok.okTRegisterEntries_end(self) + + def rbegin(self) -> "std::vector< okTRegisterEntry >::reverse_iterator": + return _ok.okTRegisterEntries_rbegin(self) + + def rend(self) -> "std::vector< okTRegisterEntry >::reverse_iterator": + return _ok.okTRegisterEntries_rend(self) + + def clear(self) -> "void": + return _ok.okTRegisterEntries_clear(self) + + def get_allocator(self) -> "std::vector< okTRegisterEntry >::allocator_type": + return _ok.okTRegisterEntries_get_allocator(self) + + def pop_back(self) -> "void": + return _ok.okTRegisterEntries_pop_back(self) + + def erase(self, *args) -> "std::vector< okTRegisterEntry >::iterator": + return _ok.okTRegisterEntries_erase(self, *args) + + def __init__(self, *args): + _ok.okTRegisterEntries_swiginit(self, _ok.new_okTRegisterEntries(*args)) + + def push_back(self, x: 'okTRegisterEntry') -> "void": + return _ok.okTRegisterEntries_push_back(self, x) + + def front(self) -> "std::vector< okTRegisterEntry >::value_type const &": + return _ok.okTRegisterEntries_front(self) + + def back(self) -> "std::vector< okTRegisterEntry >::value_type const &": + return _ok.okTRegisterEntries_back(self) + + def assign(self, n: 'std::vector< okTRegisterEntry >::size_type', x: 'okTRegisterEntry') -> "void": + return _ok.okTRegisterEntries_assign(self, n, x) + + def resize(self, *args) -> "void": + return _ok.okTRegisterEntries_resize(self, *args) + + def insert(self, *args) -> "void": + return _ok.okTRegisterEntries_insert(self, *args) + + def reserve(self, n: 'std::vector< okTRegisterEntry >::size_type') -> "void": + return _ok.okTRegisterEntries_reserve(self, n) + + def capacity(self) -> "std::vector< okTRegisterEntry >::size_type": + return _ok.okTRegisterEntries_capacity(self) + __swig_destroy__ = _ok.delete_okTRegisterEntries + +# Register okTRegisterEntries in _ok: +_ok.okTRegisterEntries_swigregister(okTRegisterEntries) + +OK_MAX_DEVICEID_LENGTH = _ok.OK_MAX_DEVICEID_LENGTH +OK_MAX_SERIALNUMBER_LENGTH = _ok.OK_MAX_SERIALNUMBER_LENGTH +OK_MAX_PRODUCT_NAME_LENGTH = _ok.OK_MAX_PRODUCT_NAME_LENGTH +OK_MAX_BOARD_MODEL_STRING_LENGTH = _ok.OK_MAX_BOARD_MODEL_STRING_LENGTH +OK_USBSPEED_UNKNOWN = _ok.OK_USBSPEED_UNKNOWN +OK_USBSPEED_FULL = _ok.OK_USBSPEED_FULL +OK_USBSPEED_HIGH = _ok.OK_USBSPEED_HIGH +OK_USBSPEED_SUPER = _ok.OK_USBSPEED_SUPER +okUSBSPEED_UNKNOWN = _ok.okUSBSPEED_UNKNOWN +okUSBSPEED_FULL = _ok.okUSBSPEED_FULL +okUSBSPEED_HIGH = _ok.okUSBSPEED_HIGH +okUSBSPEED_SUPER = _ok.okUSBSPEED_SUPER +OK_INTERFACE_UNKNOWN = _ok.OK_INTERFACE_UNKNOWN +OK_INTERFACE_USB2 = _ok.OK_INTERFACE_USB2 +OK_INTERFACE_PCIE = _ok.OK_INTERFACE_PCIE +OK_INTERFACE_USB3 = _ok.OK_INTERFACE_USB3 +okDEVICEINTERFACE_UNKNOWN = _ok.okDEVICEINTERFACE_UNKNOWN +okDEVICEINTERFACE_USB2 = _ok.okDEVICEINTERFACE_USB2 +okDEVICEINTERFACE_PCIE = _ok.okDEVICEINTERFACE_PCIE +okDEVICEINTERFACE_USB3 = _ok.okDEVICEINTERFACE_USB3 +OK_PRODUCT_UNKNOWN = _ok.OK_PRODUCT_UNKNOWN +OK_PRODUCT_XEM3001V1 = _ok.OK_PRODUCT_XEM3001V1 +OK_PRODUCT_XEM3001V2 = _ok.OK_PRODUCT_XEM3001V2 +OK_PRODUCT_XEM3010 = _ok.OK_PRODUCT_XEM3010 +OK_PRODUCT_XEM3005 = _ok.OK_PRODUCT_XEM3005 +OK_PRODUCT_XEM3001CL = _ok.OK_PRODUCT_XEM3001CL +OK_PRODUCT_XEM3020 = _ok.OK_PRODUCT_XEM3020 +OK_PRODUCT_XEM3050 = _ok.OK_PRODUCT_XEM3050 +OK_PRODUCT_XEM9002 = _ok.OK_PRODUCT_XEM9002 +OK_PRODUCT_XEM3001RB = _ok.OK_PRODUCT_XEM3001RB +OK_PRODUCT_XEM5010 = _ok.OK_PRODUCT_XEM5010 +OK_PRODUCT_XEM6110LX45 = _ok.OK_PRODUCT_XEM6110LX45 +OK_PRODUCT_XEM6001 = _ok.OK_PRODUCT_XEM6001 +OK_PRODUCT_XEM6010LX45 = _ok.OK_PRODUCT_XEM6010LX45 +OK_PRODUCT_XEM6010LX150 = _ok.OK_PRODUCT_XEM6010LX150 +OK_PRODUCT_XEM6110LX150 = _ok.OK_PRODUCT_XEM6110LX150 +OK_PRODUCT_XEM6006LX9 = _ok.OK_PRODUCT_XEM6006LX9 +OK_PRODUCT_XEM6006LX16 = _ok.OK_PRODUCT_XEM6006LX16 +OK_PRODUCT_XEM6006LX25 = _ok.OK_PRODUCT_XEM6006LX25 +OK_PRODUCT_XEM5010LX110 = _ok.OK_PRODUCT_XEM5010LX110 +OK_PRODUCT_ZEM4310 = _ok.OK_PRODUCT_ZEM4310 +OK_PRODUCT_XEM6310LX45 = _ok.OK_PRODUCT_XEM6310LX45 +OK_PRODUCT_XEM6310LX150 = _ok.OK_PRODUCT_XEM6310LX150 +OK_PRODUCT_XEM6110V2LX45 = _ok.OK_PRODUCT_XEM6110V2LX45 +OK_PRODUCT_XEM6110V2LX150 = _ok.OK_PRODUCT_XEM6110V2LX150 +OK_PRODUCT_XEM6002LX9 = _ok.OK_PRODUCT_XEM6002LX9 +OK_PRODUCT_XEM6310MTLX45T = _ok.OK_PRODUCT_XEM6310MTLX45T +OK_PRODUCT_XEM6320LX130T = _ok.OK_PRODUCT_XEM6320LX130T +OK_PRODUCT_XEM7350K70T = _ok.OK_PRODUCT_XEM7350K70T +OK_PRODUCT_XEM7350K160T = _ok.OK_PRODUCT_XEM7350K160T +OK_PRODUCT_XEM7350K410T = _ok.OK_PRODUCT_XEM7350K410T +OK_PRODUCT_XEM6310MTLX150T = _ok.OK_PRODUCT_XEM6310MTLX150T +OK_PRODUCT_ZEM5305A2 = _ok.OK_PRODUCT_ZEM5305A2 +OK_PRODUCT_ZEM5305A7 = _ok.OK_PRODUCT_ZEM5305A7 +OK_PRODUCT_XEM7001A15 = _ok.OK_PRODUCT_XEM7001A15 +OK_PRODUCT_XEM7001A35 = _ok.OK_PRODUCT_XEM7001A35 +OK_PRODUCT_XEM7360K160T = _ok.OK_PRODUCT_XEM7360K160T +OK_PRODUCT_XEM7360K410T = _ok.OK_PRODUCT_XEM7360K410T +OK_PRODUCT_ZEM5310A4 = _ok.OK_PRODUCT_ZEM5310A4 +OK_PRODUCT_ZEM5310A7 = _ok.OK_PRODUCT_ZEM5310A7 +OK_PRODUCT_ZEM5370A5 = _ok.OK_PRODUCT_ZEM5370A5 +OK_PRODUCT_XEM7010A50 = _ok.OK_PRODUCT_XEM7010A50 +OK_PRODUCT_XEM7010A200 = _ok.OK_PRODUCT_XEM7010A200 +OK_PRODUCT_XEM7310A75 = _ok.OK_PRODUCT_XEM7310A75 +OK_PRODUCT_XEM7310A200 = _ok.OK_PRODUCT_XEM7310A200 +OK_PRODUCT_XEM7320A75T = _ok.OK_PRODUCT_XEM7320A75T +OK_PRODUCT_XEM7320A200T = _ok.OK_PRODUCT_XEM7320A200T +OK_PRODUCT_XEM7305 = _ok.OK_PRODUCT_XEM7305 +OK_PRODUCT_FPX1301 = _ok.OK_PRODUCT_FPX1301 +OK_PRODUCT_XEM8350KU060 = _ok.OK_PRODUCT_XEM8350KU060 +OK_PRODUCT_XEM8350KU085 = _ok.OK_PRODUCT_XEM8350KU085 +OK_PRODUCT_XEM8350KU115 = _ok.OK_PRODUCT_XEM8350KU115 +OK_PRODUCT_XEM8350SECONDARY = _ok.OK_PRODUCT_XEM8350SECONDARY +OK_PRODUCT_XEM7310MTA75 = _ok.OK_PRODUCT_XEM7310MTA75 +OK_PRODUCT_XEM7310MTA200 = _ok.OK_PRODUCT_XEM7310MTA200 +OK_PRODUCT_XEM9025 = _ok.OK_PRODUCT_XEM9025 +OK_PRODUCT_XEM8320AU25P = _ok.OK_PRODUCT_XEM8320AU25P +OK_PRODUCT_XEM8310AU25P = _ok.OK_PRODUCT_XEM8310AU25P +OK_PRODUCT_FPX9301 = _ok.OK_PRODUCT_FPX9301 +OK_PRODUCT_OEM_START = _ok.OK_PRODUCT_OEM_START +okPRODUCT_UNKNOWN = _ok.okPRODUCT_UNKNOWN +okPRODUCT_XEM3001V1 = _ok.okPRODUCT_XEM3001V1 +okPRODUCT_XEM3001V2 = _ok.okPRODUCT_XEM3001V2 +okPRODUCT_XEM3010 = _ok.okPRODUCT_XEM3010 +okPRODUCT_XEM3005 = _ok.okPRODUCT_XEM3005 +okPRODUCT_XEM3001CL = _ok.okPRODUCT_XEM3001CL +okPRODUCT_XEM3020 = _ok.okPRODUCT_XEM3020 +okPRODUCT_XEM3050 = _ok.okPRODUCT_XEM3050 +okPRODUCT_XEM9002 = _ok.okPRODUCT_XEM9002 +okPRODUCT_XEM3001RB = _ok.okPRODUCT_XEM3001RB +okPRODUCT_XEM5010 = _ok.okPRODUCT_XEM5010 +okPRODUCT_XEM6110LX45 = _ok.okPRODUCT_XEM6110LX45 +okPRODUCT_XEM6001 = _ok.okPRODUCT_XEM6001 +okPRODUCT_XEM6010LX45 = _ok.okPRODUCT_XEM6010LX45 +okPRODUCT_XEM6010LX150 = _ok.okPRODUCT_XEM6010LX150 +okPRODUCT_XEM6110LX150 = _ok.okPRODUCT_XEM6110LX150 +okPRODUCT_XEM6006LX9 = _ok.okPRODUCT_XEM6006LX9 +okPRODUCT_XEM6006LX16 = _ok.okPRODUCT_XEM6006LX16 +okPRODUCT_XEM6006LX25 = _ok.okPRODUCT_XEM6006LX25 +okPRODUCT_XEM5010LX110 = _ok.okPRODUCT_XEM5010LX110 +okPRODUCT_ZEM4310 = _ok.okPRODUCT_ZEM4310 +okPRODUCT_XEM6310LX45 = _ok.okPRODUCT_XEM6310LX45 +okPRODUCT_XEM6310LX150 = _ok.okPRODUCT_XEM6310LX150 +okPRODUCT_XEM6110V2LX45 = _ok.okPRODUCT_XEM6110V2LX45 +okPRODUCT_XEM6110V2LX150 = _ok.okPRODUCT_XEM6110V2LX150 +okPRODUCT_XEM6002LX9 = _ok.okPRODUCT_XEM6002LX9 +okPRODUCT_XEM6310MTLX45T = _ok.okPRODUCT_XEM6310MTLX45T +okPRODUCT_XEM6320LX130T = _ok.okPRODUCT_XEM6320LX130T +okPRODUCT_XEM7350K70T = _ok.okPRODUCT_XEM7350K70T +okPRODUCT_XEM7350K160T = _ok.okPRODUCT_XEM7350K160T +okPRODUCT_XEM7350K410T = _ok.okPRODUCT_XEM7350K410T +okPRODUCT_XEM6310MTLX150T = _ok.okPRODUCT_XEM6310MTLX150T +okPRODUCT_ZEM5305A2 = _ok.okPRODUCT_ZEM5305A2 +okPRODUCT_ZEM5305A7 = _ok.okPRODUCT_ZEM5305A7 +okPRODUCT_XEM7001A15 = _ok.okPRODUCT_XEM7001A15 +okPRODUCT_XEM7001A35 = _ok.okPRODUCT_XEM7001A35 +okPRODUCT_XEM7360K160T = _ok.okPRODUCT_XEM7360K160T +okPRODUCT_XEM7360K410T = _ok.okPRODUCT_XEM7360K410T +okPRODUCT_ZEM5310A4 = _ok.okPRODUCT_ZEM5310A4 +okPRODUCT_ZEM5310A7 = _ok.okPRODUCT_ZEM5310A7 +okPRODUCT_ZEM5370A5 = _ok.okPRODUCT_ZEM5370A5 +okPRODUCT_XEM7010A50 = _ok.okPRODUCT_XEM7010A50 +okPRODUCT_XEM7010A200 = _ok.okPRODUCT_XEM7010A200 +okPRODUCT_XEM7310A75 = _ok.okPRODUCT_XEM7310A75 +okPRODUCT_XEM7310A200 = _ok.okPRODUCT_XEM7310A200 +okPRODUCT_XEM7320A75T = _ok.okPRODUCT_XEM7320A75T +okPRODUCT_XEM7320A200T = _ok.okPRODUCT_XEM7320A200T +okPRODUCT_XEM7305 = _ok.okPRODUCT_XEM7305 +okPRODUCT_FPX1301 = _ok.okPRODUCT_FPX1301 +okPRODUCT_XEM8350KU060 = _ok.okPRODUCT_XEM8350KU060 +okPRODUCT_XEM8350KU085 = _ok.okPRODUCT_XEM8350KU085 +okPRODUCT_XEM8350KU115 = _ok.okPRODUCT_XEM8350KU115 +okPRODUCT_XEM8350SECONDARY = _ok.okPRODUCT_XEM8350SECONDARY +okPRODUCT_XEM7310MTA75 = _ok.okPRODUCT_XEM7310MTA75 +okPRODUCT_XEM7310MTA200 = _ok.okPRODUCT_XEM7310MTA200 +okPRODUCT_XEM9025 = _ok.okPRODUCT_XEM9025 +okPRODUCT_XEM8320AU25P = _ok.okPRODUCT_XEM8320AU25P +okPRODUCT_XEM8310AU25P = _ok.okPRODUCT_XEM8310AU25P +okPRODUCT_FPX9301 = _ok.okPRODUCT_FPX9301 +okPRODUCT_OEM_START = _ok.okPRODUCT_OEM_START +OK_FPGACONFIGURATIONMETHOD_NVRAM = _ok.OK_FPGACONFIGURATIONMETHOD_NVRAM +OK_FPGACONFIGURATIONMETHOD_JTAG = _ok.OK_FPGACONFIGURATIONMETHOD_JTAG +okFPGARESETPROFILE_MAGIC = _ok.okFPGARESETPROFILE_MAGIC +okFPGAVENDOR_UNKNOWN = _ok.okFPGAVENDOR_UNKNOWN +okFPGAVENDOR_XILINX = _ok.okFPGAVENDOR_XILINX +okFPGAVENDOR_INTEL = _ok.okFPGAVENDOR_INTEL +class okTRegisterEntry(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + address = property(_ok.okTRegisterEntry_address_get, _ok.okTRegisterEntry_address_set) + data = property(_ok.okTRegisterEntry_data_get, _ok.okTRegisterEntry_data_set) + + def __init__(self): + _ok.okTRegisterEntry_swiginit(self, _ok.new_okTRegisterEntry()) + __swig_destroy__ = _ok.delete_okTRegisterEntry + +# Register okTRegisterEntry in _ok: +_ok.okTRegisterEntry_swigregister(okTRegisterEntry) + +class okTTriggerEntry(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + address = property(_ok.okTTriggerEntry_address_get, _ok.okTTriggerEntry_address_set) + mask = property(_ok.okTTriggerEntry_mask_get, _ok.okTTriggerEntry_mask_set) + + def __init__(self): + _ok.okTTriggerEntry_swiginit(self, _ok.new_okTTriggerEntry()) + __swig_destroy__ = _ok.delete_okTTriggerEntry + +# Register okTTriggerEntry in _ok: +_ok.okTTriggerEntry_swigregister(okTTriggerEntry) + +class okTFPGAResetProfile(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + magic = property(_ok.okTFPGAResetProfile_magic_get, _ok.okTFPGAResetProfile_magic_set) + configFileLocation = property(_ok.okTFPGAResetProfile_configFileLocation_get, _ok.okTFPGAResetProfile_configFileLocation_set) + configFileLength = property(_ok.okTFPGAResetProfile_configFileLength_get, _ok.okTFPGAResetProfile_configFileLength_set) + doneWaitUS = property(_ok.okTFPGAResetProfile_doneWaitUS_get, _ok.okTFPGAResetProfile_doneWaitUS_set) + resetWaitUS = property(_ok.okTFPGAResetProfile_resetWaitUS_get, _ok.okTFPGAResetProfile_resetWaitUS_set) + registerWaitUS = property(_ok.okTFPGAResetProfile_registerWaitUS_get, _ok.okTFPGAResetProfile_registerWaitUS_set) + padBytes1 = property(_ok.okTFPGAResetProfile_padBytes1_get, _ok.okTFPGAResetProfile_padBytes1_set) + wireInValues = property(_ok.okTFPGAResetProfile_wireInValues_get, _ok.okTFPGAResetProfile_wireInValues_set) + registerEntryCount = property(_ok.okTFPGAResetProfile_registerEntryCount_get, _ok.okTFPGAResetProfile_registerEntryCount_set) + registerEntries = property(_ok.okTFPGAResetProfile_registerEntries_get, _ok.okTFPGAResetProfile_registerEntries_set) + triggerEntryCount = property(_ok.okTFPGAResetProfile_triggerEntryCount_get, _ok.okTFPGAResetProfile_triggerEntryCount_set) + triggerEntries = property(_ok.okTFPGAResetProfile_triggerEntries_get, _ok.okTFPGAResetProfile_triggerEntries_set) + padBytes2 = property(_ok.okTFPGAResetProfile_padBytes2_get, _ok.okTFPGAResetProfile_padBytes2_set) + + def __init__(self): + _ok.okTFPGAResetProfile_swiginit(self, _ok.new_okTFPGAResetProfile()) + __swig_destroy__ = _ok.delete_okTFPGAResetProfile + +# Register okTFPGAResetProfile in _ok: +_ok.okTFPGAResetProfile_swigregister(okTFPGAResetProfile) + +class okTFlashLayout(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + sectorCount = property(_ok.okTFlashLayout_sectorCount_get, _ok.okTFlashLayout_sectorCount_set) + sectorSize = property(_ok.okTFlashLayout_sectorSize_get, _ok.okTFlashLayout_sectorSize_set) + pageSize = property(_ok.okTFlashLayout_pageSize_get, _ok.okTFlashLayout_pageSize_set) + minUserSector = property(_ok.okTFlashLayout_minUserSector_get, _ok.okTFlashLayout_minUserSector_set) + maxUserSector = property(_ok.okTFlashLayout_maxUserSector_get, _ok.okTFlashLayout_maxUserSector_set) + + def __init__(self): + _ok.okTFlashLayout_swiginit(self, _ok.new_okTFlashLayout()) + __swig_destroy__ = _ok.delete_okTFlashLayout + +# Register okTFlashLayout in _ok: +_ok.okTFlashLayout_swigregister(okTFlashLayout) + +class okTDeviceInfo(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + deviceID = property(_ok.okTDeviceInfo_deviceID_get, _ok.okTDeviceInfo_deviceID_set) + serialNumber = property(_ok.okTDeviceInfo_serialNumber_get, _ok.okTDeviceInfo_serialNumber_set) + productName = property(_ok.okTDeviceInfo_productName_get, _ok.okTDeviceInfo_productName_set) + productID = property(_ok.okTDeviceInfo_productID_get, _ok.okTDeviceInfo_productID_set) + deviceInterface = property(_ok.okTDeviceInfo_deviceInterface_get, _ok.okTDeviceInfo_deviceInterface_set) + usbSpeed = property(_ok.okTDeviceInfo_usbSpeed_get, _ok.okTDeviceInfo_usbSpeed_set) + deviceMajorVersion = property(_ok.okTDeviceInfo_deviceMajorVersion_get, _ok.okTDeviceInfo_deviceMajorVersion_set) + deviceMinorVersion = property(_ok.okTDeviceInfo_deviceMinorVersion_get, _ok.okTDeviceInfo_deviceMinorVersion_set) + hostInterfaceMajorVersion = property(_ok.okTDeviceInfo_hostInterfaceMajorVersion_get, _ok.okTDeviceInfo_hostInterfaceMajorVersion_set) + hostInterfaceMinorVersion = property(_ok.okTDeviceInfo_hostInterfaceMinorVersion_get, _ok.okTDeviceInfo_hostInterfaceMinorVersion_set) + isPLL22150Supported = property(_ok.okTDeviceInfo_isPLL22150Supported_get, _ok.okTDeviceInfo_isPLL22150Supported_set) + isPLL22393Supported = property(_ok.okTDeviceInfo_isPLL22393Supported_get, _ok.okTDeviceInfo_isPLL22393Supported_set) + isFrontPanelEnabled = property(_ok.okTDeviceInfo_isFrontPanelEnabled_get, _ok.okTDeviceInfo_isFrontPanelEnabled_set) + wireWidth = property(_ok.okTDeviceInfo_wireWidth_get, _ok.okTDeviceInfo_wireWidth_set) + triggerWidth = property(_ok.okTDeviceInfo_triggerWidth_get, _ok.okTDeviceInfo_triggerWidth_set) + pipeWidth = property(_ok.okTDeviceInfo_pipeWidth_get, _ok.okTDeviceInfo_pipeWidth_set) + registerAddressWidth = property(_ok.okTDeviceInfo_registerAddressWidth_get, _ok.okTDeviceInfo_registerAddressWidth_set) + registerDataWidth = property(_ok.okTDeviceInfo_registerDataWidth_get, _ok.okTDeviceInfo_registerDataWidth_set) + flashSystem = property(_ok.okTDeviceInfo_flashSystem_get, _ok.okTDeviceInfo_flashSystem_set) + flashFPGA = property(_ok.okTDeviceInfo_flashFPGA_get, _ok.okTDeviceInfo_flashFPGA_set) + hasFMCEEPROM = property(_ok.okTDeviceInfo_hasFMCEEPROM_get, _ok.okTDeviceInfo_hasFMCEEPROM_set) + hasResetProfiles = property(_ok.okTDeviceInfo_hasResetProfiles_get, _ok.okTDeviceInfo_hasResetProfiles_set) + fpgaVendor = property(_ok.okTDeviceInfo_fpgaVendor_get, _ok.okTDeviceInfo_fpgaVendor_set) + interfaceCount = property(_ok.okTDeviceInfo_interfaceCount_get, _ok.okTDeviceInfo_interfaceCount_set) + interfaceIndex = property(_ok.okTDeviceInfo_interfaceIndex_get, _ok.okTDeviceInfo_interfaceIndex_set) + configuresFromSystemFlash = property(_ok.okTDeviceInfo_configuresFromSystemFlash_get, _ok.okTDeviceInfo_configuresFromSystemFlash_set) + hasQuadConfigFlash = property(_ok.okTDeviceInfo_hasQuadConfigFlash_get, _ok.okTDeviceInfo_hasQuadConfigFlash_set) + + def __init__(self): + _ok.okTDeviceInfo_swiginit(self, _ok.new_okTDeviceInfo()) + __swig_destroy__ = _ok.delete_okTDeviceInfo + +# Register okTDeviceInfo in _ok: +_ok.okTDeviceInfo_swigregister(okTDeviceInfo) + +class okTDeviceMatchInfo(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + productName = property(_ok.okTDeviceMatchInfo_productName_get, _ok.okTDeviceMatchInfo_productName_set) + productBaseID = property(_ok.okTDeviceMatchInfo_productBaseID_get, _ok.okTDeviceMatchInfo_productBaseID_set) + productID = property(_ok.okTDeviceMatchInfo_productID_get, _ok.okTDeviceMatchInfo_productID_set) + usbVID = property(_ok.okTDeviceMatchInfo_usbVID_get, _ok.okTDeviceMatchInfo_usbVID_set) + usbPID = property(_ok.okTDeviceMatchInfo_usbPID_get, _ok.okTDeviceMatchInfo_usbPID_set) + pciDID = property(_ok.okTDeviceMatchInfo_pciDID_get, _ok.okTDeviceMatchInfo_pciDID_set) + + def __init__(self): + _ok.okTDeviceMatchInfo_swiginit(self, _ok.new_okTDeviceMatchInfo()) + __swig_destroy__ = _ok.delete_okTDeviceMatchInfo + +# Register okTDeviceMatchInfo in _ok: +_ok.okTDeviceMatchInfo_swigregister(okTDeviceMatchInfo) + +okDEVICESENSOR_INVALID = _ok.okDEVICESENSOR_INVALID +okDEVICESENSOR_BOOL = _ok.okDEVICESENSOR_BOOL +okDEVICESENSOR_INTEGER = _ok.okDEVICESENSOR_INTEGER +okDEVICESENSOR_FLOAT = _ok.okDEVICESENSOR_FLOAT +okDEVICESENSOR_VOLTAGE = _ok.okDEVICESENSOR_VOLTAGE +okDEVICESENSOR_CURRENT = _ok.okDEVICESENSOR_CURRENT +okDEVICESENSOR_TEMPERATURE = _ok.okDEVICESENSOR_TEMPERATURE +okDEVICESENSOR_FAN_RPM = _ok.okDEVICESENSOR_FAN_RPM +OK_MAX_DEVICE_SENSOR_NAME_LENGTH = _ok.OK_MAX_DEVICE_SENSOR_NAME_LENGTH +OK_MAX_DEVICE_SENSOR_DESCRIPTION_LENGTH = _ok.OK_MAX_DEVICE_SENSOR_DESCRIPTION_LENGTH +class okTDeviceSensor(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + id = property(_ok.okTDeviceSensor_id_get, _ok.okTDeviceSensor_id_set) + type = property(_ok.okTDeviceSensor_type_get, _ok.okTDeviceSensor_type_set) + name = property(_ok.okTDeviceSensor_name_get, _ok.okTDeviceSensor_name_set) + description = property(_ok.okTDeviceSensor_description_get, _ok.okTDeviceSensor_description_set) + min = property(_ok.okTDeviceSensor_min_get, _ok.okTDeviceSensor_min_set) + max = property(_ok.okTDeviceSensor_max_get, _ok.okTDeviceSensor_max_set) + step = property(_ok.okTDeviceSensor_step_get, _ok.okTDeviceSensor_step_set) + value = property(_ok.okTDeviceSensor_value_get, _ok.okTDeviceSensor_value_set) + + def __init__(self): + _ok.okTDeviceSensor_swiginit(self, _ok.new_okTDeviceSensor()) + __swig_destroy__ = _ok.delete_okTDeviceSensor + +# Register okTDeviceSensor in _ok: +_ok.okTDeviceSensor_swigregister(okTDeviceSensor) + +class okCPLL22150(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ClkSrc_Ref = _ok.okCPLL22150_ClkSrc_Ref + ClkSrc_Div1ByN = _ok.okCPLL22150_ClkSrc_Div1ByN + ClkSrc_Div1By2 = _ok.okCPLL22150_ClkSrc_Div1By2 + ClkSrc_Div1By3 = _ok.okCPLL22150_ClkSrc_Div1By3 + ClkSrc_Div2ByN = _ok.okCPLL22150_ClkSrc_Div2ByN + ClkSrc_Div2By2 = _ok.okCPLL22150_ClkSrc_Div2By2 + ClkSrc_Div2By4 = _ok.okCPLL22150_ClkSrc_Div2By4 + DivSrc_Ref = _ok.okCPLL22150_DivSrc_Ref + DivSrc_VCO = _ok.okCPLL22150_DivSrc_VCO + + def __init__(self): + _ok.okCPLL22150_swiginit(self, _ok.new_okCPLL22150()) + __swig_destroy__ = _ok.delete_okCPLL22150 + + def SetCrystalLoad(self, capload: 'double') -> "void": + return _ok.okCPLL22150_SetCrystalLoad(self, capload) + + def SetReference(self, freq: 'double', extosc: 'bool') -> "void": + return _ok.okCPLL22150_SetReference(self, freq, extosc) + + def GetReference(self) -> "double": + return _ok.okCPLL22150_GetReference(self) + + def SetVCOParameters(self, p: 'int', q: 'int') -> "bool": + return _ok.okCPLL22150_SetVCOParameters(self, p, q) + + def GetVCOP(self) -> "int": + return _ok.okCPLL22150_GetVCOP(self) + + def GetVCOQ(self) -> "int": + return _ok.okCPLL22150_GetVCOQ(self) + + def GetVCOFrequency(self) -> "double": + return _ok.okCPLL22150_GetVCOFrequency(self) + + def SetDiv1(self, divsrc: 'OpalKellyLegacy::okCPLL22150::DividerSource', n: 'int') -> "void": + return _ok.okCPLL22150_SetDiv1(self, divsrc, n) + + def SetDiv2(self, divsrc: 'OpalKellyLegacy::okCPLL22150::DividerSource', n: 'int') -> "void": + return _ok.okCPLL22150_SetDiv2(self, divsrc, n) + + def GetDiv1Source(self) -> "OpalKellyLegacy::okCPLL22150::DividerSource": + return _ok.okCPLL22150_GetDiv1Source(self) + + def GetDiv2Source(self) -> "OpalKellyLegacy::okCPLL22150::DividerSource": + return _ok.okCPLL22150_GetDiv2Source(self) + + def GetDiv1Divider(self) -> "int": + return _ok.okCPLL22150_GetDiv1Divider(self) + + def GetDiv2Divider(self) -> "int": + return _ok.okCPLL22150_GetDiv2Divider(self) + + def SetOutputSource(self, output: 'int', clksrc: 'OpalKellyLegacy::okCPLL22150::ClockSource') -> "void": + return _ok.okCPLL22150_SetOutputSource(self, output, clksrc) + + def SetOutputEnable(self, output: 'int', enable: 'bool') -> "void": + return _ok.okCPLL22150_SetOutputEnable(self, output, enable) + + def GetOutputSource(self, output: 'int') -> "OpalKellyLegacy::okCPLL22150::ClockSource": + return _ok.okCPLL22150_GetOutputSource(self, output) + + def GetOutputFrequency(self, output: 'int') -> "double": + return _ok.okCPLL22150_GetOutputFrequency(self, output) + + def IsOutputEnabled(self, output: 'int') -> "bool": + return _ok.okCPLL22150_IsOutputEnabled(self, output) + +# Register okCPLL22150 in _ok: +_ok.okCPLL22150_swigregister(okCPLL22150) + +class okCPLL22393(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ClkSrc_Ref = _ok.okCPLL22393_ClkSrc_Ref + ClkSrc_PLL0_0 = _ok.okCPLL22393_ClkSrc_PLL0_0 + ClkSrc_PLL0_180 = _ok.okCPLL22393_ClkSrc_PLL0_180 + ClkSrc_PLL1_0 = _ok.okCPLL22393_ClkSrc_PLL1_0 + ClkSrc_PLL1_180 = _ok.okCPLL22393_ClkSrc_PLL1_180 + ClkSrc_PLL2_0 = _ok.okCPLL22393_ClkSrc_PLL2_0 + ClkSrc_PLL2_180 = _ok.okCPLL22393_ClkSrc_PLL2_180 + + def __init__(self): + _ok.okCPLL22393_swiginit(self, _ok.new_okCPLL22393()) + __swig_destroy__ = _ok.delete_okCPLL22393 + + def SetCrystalLoad(self, capload: 'double') -> "bool": + return _ok.okCPLL22393_SetCrystalLoad(self, capload) + + def SetReference(self, freq: 'double') -> "void": + return _ok.okCPLL22393_SetReference(self, freq) + + def GetReference(self) -> "double": + return _ok.okCPLL22393_GetReference(self) + + def SetPLLParameters(self, n: 'int', p: 'int', q: 'int', enable: 'bool'=True) -> "bool": + return _ok.okCPLL22393_SetPLLParameters(self, n, p, q, enable) + + def SetPLLLF(self, n: 'int', lf: 'int') -> "bool": + return _ok.okCPLL22393_SetPLLLF(self, n, lf) + + def SetOutputDivider(self, n: 'int', div: 'int') -> "bool": + return _ok.okCPLL22393_SetOutputDivider(self, n, div) + + def SetOutputSource(self, n: 'int', clksrc: 'OpalKellyLegacy::okCPLL22393::ClockSource') -> "bool": + return _ok.okCPLL22393_SetOutputSource(self, n, clksrc) + + def SetOutputEnable(self, n: 'int', enable: 'bool') -> "void": + return _ok.okCPLL22393_SetOutputEnable(self, n, enable) + + def GetPLLP(self, n: 'int') -> "int": + return _ok.okCPLL22393_GetPLLP(self, n) + + def GetPLLQ(self, n: 'int') -> "int": + return _ok.okCPLL22393_GetPLLQ(self, n) + + def GetPLLFrequency(self, n: 'int') -> "double": + return _ok.okCPLL22393_GetPLLFrequency(self, n) + + def GetOutputDivider(self, n: 'int') -> "int": + return _ok.okCPLL22393_GetOutputDivider(self, n) + + def GetOutputSource(self, n: 'int') -> "OpalKellyLegacy::okCPLL22393::ClockSource": + return _ok.okCPLL22393_GetOutputSource(self, n) + + def GetOutputFrequency(self, n: 'int') -> "double": + return _ok.okCPLL22393_GetOutputFrequency(self, n) + + def IsOutputEnabled(self, n: 'int') -> "bool": + return _ok.okCPLL22393_IsOutputEnabled(self, n) + + def IsPLLEnabled(self, n: 'int') -> "bool": + return _ok.okCPLL22393_IsPLLEnabled(self, n) + +# Register okCPLL22393 in _ok: +_ok.okCPLL22393_swigregister(okCPLL22393) + +class okCFrontPanel(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + brdUnknown = _ok.okCFrontPanel_brdUnknown + brdXEM3001v1 = _ok.okCFrontPanel_brdXEM3001v1 + brdXEM3001v2 = _ok.okCFrontPanel_brdXEM3001v2 + brdXEM3010 = _ok.okCFrontPanel_brdXEM3010 + brdXEM3005 = _ok.okCFrontPanel_brdXEM3005 + brdXEM3001CL = _ok.okCFrontPanel_brdXEM3001CL + brdXEM3020 = _ok.okCFrontPanel_brdXEM3020 + brdXEM3050 = _ok.okCFrontPanel_brdXEM3050 + brdXEM9002 = _ok.okCFrontPanel_brdXEM9002 + brdXEM3001RB = _ok.okCFrontPanel_brdXEM3001RB + brdXEM5010 = _ok.okCFrontPanel_brdXEM5010 + brdXEM6110LX45 = _ok.okCFrontPanel_brdXEM6110LX45 + brdXEM6001 = _ok.okCFrontPanel_brdXEM6001 + brdXEM6010LX45 = _ok.okCFrontPanel_brdXEM6010LX45 + brdXEM6010LX150 = _ok.okCFrontPanel_brdXEM6010LX150 + brdXEM6110LX150 = _ok.okCFrontPanel_brdXEM6110LX150 + brdXEM6006LX9 = _ok.okCFrontPanel_brdXEM6006LX9 + brdXEM6006LX16 = _ok.okCFrontPanel_brdXEM6006LX16 + brdXEM6006LX25 = _ok.okCFrontPanel_brdXEM6006LX25 + brdXEM5010LX110 = _ok.okCFrontPanel_brdXEM5010LX110 + brdZEM4310 = _ok.okCFrontPanel_brdZEM4310 + brdXEM6310LX45 = _ok.okCFrontPanel_brdXEM6310LX45 + brdXEM6310LX150 = _ok.okCFrontPanel_brdXEM6310LX150 + brdXEM6110v2LX45 = _ok.okCFrontPanel_brdXEM6110v2LX45 + brdXEM6110v2LX150 = _ok.okCFrontPanel_brdXEM6110v2LX150 + brdXEM6002LX9 = _ok.okCFrontPanel_brdXEM6002LX9 + brdXEM6310MTLX45T = _ok.okCFrontPanel_brdXEM6310MTLX45T + brdXEM6320LX130T = _ok.okCFrontPanel_brdXEM6320LX130T + brdXEM7350K70T = _ok.okCFrontPanel_brdXEM7350K70T + brdXEM7350K160T = _ok.okCFrontPanel_brdXEM7350K160T + brdXEM7350K410T = _ok.okCFrontPanel_brdXEM7350K410T + brdXEM6310MTLX150T = _ok.okCFrontPanel_brdXEM6310MTLX150T + brdZEM5305A2 = _ok.okCFrontPanel_brdZEM5305A2 + brdZEM5305A7 = _ok.okCFrontPanel_brdZEM5305A7 + brdXEM7001A15 = _ok.okCFrontPanel_brdXEM7001A15 + brdXEM7001A35 = _ok.okCFrontPanel_brdXEM7001A35 + brdXEM7360K160T = _ok.okCFrontPanel_brdXEM7360K160T + brdXEM7360K410T = _ok.okCFrontPanel_brdXEM7360K410T + brdZEM5310A4 = _ok.okCFrontPanel_brdZEM5310A4 + brdZEM5310A7 = _ok.okCFrontPanel_brdZEM5310A7 + brdZEM5370A5 = _ok.okCFrontPanel_brdZEM5370A5 + brdXEM7010A50 = _ok.okCFrontPanel_brdXEM7010A50 + brdXEM7010A200 = _ok.okCFrontPanel_brdXEM7010A200 + brdXEM7310A75 = _ok.okCFrontPanel_brdXEM7310A75 + brdXEM7310A200 = _ok.okCFrontPanel_brdXEM7310A200 + brdXEM7320A75T = _ok.okCFrontPanel_brdXEM7320A75T + brdXEM7320A200T = _ok.okCFrontPanel_brdXEM7320A200T + brdXEM7305 = _ok.okCFrontPanel_brdXEM7305 + brdFPX1301 = _ok.okCFrontPanel_brdFPX1301 + brdXEM8350KU060 = _ok.okCFrontPanel_brdXEM8350KU060 + brdXEM8350KU085 = _ok.okCFrontPanel_brdXEM8350KU085 + brdXEM8350KU115 = _ok.okCFrontPanel_brdXEM8350KU115 + brdXEM8350SECONDARY = _ok.okCFrontPanel_brdXEM8350SECONDARY + brdXEM7310MTA75 = _ok.okCFrontPanel_brdXEM7310MTA75 + brdXEM7310MTA200 = _ok.okCFrontPanel_brdXEM7310MTA200 + brdXEM9025 = _ok.okCFrontPanel_brdXEM9025 + brdXEM8320AU25P = _ok.okCFrontPanel_brdXEM8320AU25P + brdXEM8310AU25P = _ok.okCFrontPanel_brdXEM8310AU25P + brdFPX9301 = _ok.okCFrontPanel_brdFPX9301 + NoError = _ok.okCFrontPanel_NoError + Failed = _ok.okCFrontPanel_Failed + Timeout = _ok.okCFrontPanel_Timeout + DoneNotHigh = _ok.okCFrontPanel_DoneNotHigh + TransferError = _ok.okCFrontPanel_TransferError + CommunicationError = _ok.okCFrontPanel_CommunicationError + InvalidBitstream = _ok.okCFrontPanel_InvalidBitstream + FileError = _ok.okCFrontPanel_FileError + DeviceNotOpen = _ok.okCFrontPanel_DeviceNotOpen + InvalidEndpoint = _ok.okCFrontPanel_InvalidEndpoint + InvalidBlockSize = _ok.okCFrontPanel_InvalidBlockSize + I2CRestrictedAddress = _ok.okCFrontPanel_I2CRestrictedAddress + I2CBitError = _ok.okCFrontPanel_I2CBitError + I2CNack = _ok.okCFrontPanel_I2CNack + I2CUnknownStatus = _ok.okCFrontPanel_I2CUnknownStatus + UnsupportedFeature = _ok.okCFrontPanel_UnsupportedFeature + FIFOUnderflow = _ok.okCFrontPanel_FIFOUnderflow + FIFOOverflow = _ok.okCFrontPanel_FIFOOverflow + DataAlignmentError = _ok.okCFrontPanel_DataAlignmentError + InvalidResetProfile = _ok.okCFrontPanel_InvalidResetProfile + InvalidParameter = _ok.okCFrontPanel_InvalidParameter + + def __init__(self): + _ok.okCFrontPanel_swiginit(self, _ok.new_okCFrontPanel()) + __swig_destroy__ = _ok.delete_okCFrontPanel + + @staticmethod + def GetErrorString(errorCode: 'int') -> "std::string": + return _ok.okCFrontPanel_GetErrorString(errorCode) + + def GetLastErrorMessage(self) -> "char const *": + return _ok.okCFrontPanel_GetLastErrorMessage(self) + + @staticmethod + def AddCustomDevice(matchInfo: 'okTDeviceMatchInfo', devInfo: 'okTDeviceInfo'=None) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_AddCustomDevice(matchInfo, devInfo) + + @staticmethod + def RemoveCustomDevice(productID: 'int') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_RemoveCustomDevice(productID) + + def GetHostInterfaceWidth(self) -> "int": + return _ok.okCFrontPanel_GetHostInterfaceWidth(self) + + def GetBoardModel(self) -> "OpalKellyLegacy::okCFrontPanel::BoardModel": + return _ok.okCFrontPanel_GetBoardModel(self) + + @staticmethod + def FindUSBDeviceModel(usbVID: 'unsigned int', usbPID: 'unsigned int') -> "OpalKellyLegacy::okCFrontPanel::BoardModel": + return _ok.okCFrontPanel_FindUSBDeviceModel(usbVID, usbPID) + + @staticmethod + def GetBoardModelString(m: 'OpalKellyLegacy::okCFrontPanel::BoardModel') -> "std::string": + return _ok.okCFrontPanel_GetBoardModelString(m) + + def GetDeviceCount(self) -> "int": + return _ok.okCFrontPanel_GetDeviceCount(self) + + def GetFPGAResetProfile(self, method: 'okEFPGAConfigurationMethod', profile: 'okTFPGAResetProfile') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_GetFPGAResetProfile(self, method, profile) + + def SetFPGAResetProfile(self, method: 'okEFPGAConfigurationMethod', profile: 'okTFPGAResetProfile') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_SetFPGAResetProfile(self, method, profile) + + def FlashEraseSector(self, address: 'UINT32') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_FlashEraseSector(self, address) + + def ReadRegisters(self, regs: 'okTRegisterEntries') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_ReadRegisters(self, regs) + + def WriteRegister(self, addr: 'UINT32', data: 'UINT32') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_WriteRegister(self, addr, data) + + def WriteRegisters(self, regs: 'okTRegisterEntries') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_WriteRegisters(self, regs) + + def GetDeviceListModel(self, num: 'int') -> "OpalKellyLegacy::okCFrontPanel::BoardModel": + return _ok.okCFrontPanel_GetDeviceListModel(self, num) + + def GetDeviceListSerial(self, num: 'int') -> "std::string": + return _ok.okCFrontPanel_GetDeviceListSerial(self, num) + + def EnableAsynchronousTransfers(self, enable: 'bool') -> "void": + return _ok.okCFrontPanel_EnableAsynchronousTransfers(self, enable) + + def OpenBySerial(self, *args) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_OpenBySerial(self, *args) + + def IsOpen(self) -> "bool": + return _ok.okCFrontPanel_IsOpen(self) + + def IsRemote(self) -> "bool": + return _ok.okCFrontPanel_IsRemote(self) + + def GetDeviceInfo(self, info: 'okTDeviceInfo') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_GetDeviceInfo(self, info) + + def GetDeviceMajorVersion(self) -> "int": + return _ok.okCFrontPanel_GetDeviceMajorVersion(self) + + def GetDeviceMinorVersion(self) -> "int": + return _ok.okCFrontPanel_GetDeviceMinorVersion(self) + + def GetSerialNumber(self) -> "std::string": + return _ok.okCFrontPanel_GetSerialNumber(self) + + def GetDeviceSettings(self, settings: 'okCDeviceSettings') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_GetDeviceSettings(self, settings) + + def GetDeviceID(self) -> "std::string": + return _ok.okCFrontPanel_GetDeviceID(self) + + def SetDeviceID(self, str: 'std::string const &') -> "void": + return _ok.okCFrontPanel_SetDeviceID(self, str) + + def SetBTPipePollingInterval(self, interval: 'int') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_SetBTPipePollingInterval(self, interval) + + def SetTimeout(self, timeout: 'int') -> "void": + return _ok.okCFrontPanel_SetTimeout(self, timeout) + + def ResetFPGA(self) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_ResetFPGA(self) + + def Close(self) -> "void": + return _ok.okCFrontPanel_Close(self) + + def ConfigureFPGA(self, strFilename: 'std::string const &') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_ConfigureFPGA(self, strFilename) + + def GetPLL22150Configuration(self, pll: 'okCPLL22150') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_GetPLL22150Configuration(self, pll) + + def SetPLL22150Configuration(self, pll: 'okCPLL22150') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_SetPLL22150Configuration(self, pll) + + def GetEepromPLL22150Configuration(self, pll: 'okCPLL22150') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_GetEepromPLL22150Configuration(self, pll) + + def SetEepromPLL22150Configuration(self, pll: 'okCPLL22150') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_SetEepromPLL22150Configuration(self, pll) + + def GetPLL22393Configuration(self, pll: 'okCPLL22393') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_GetPLL22393Configuration(self, pll) + + def SetPLL22393Configuration(self, pll: 'okCPLL22393') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_SetPLL22393Configuration(self, pll) + + def GetEepromPLL22393Configuration(self, pll: 'okCPLL22393') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_GetEepromPLL22393Configuration(self, pll) + + def SetEepromPLL22393Configuration(self, pll: 'okCPLL22393') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_SetEepromPLL22393Configuration(self, pll) + + def LoadDefaultPLLConfiguration(self) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_LoadDefaultPLLConfiguration(self) + + def IsHighSpeed(self) -> "bool": + return _ok.okCFrontPanel_IsHighSpeed(self) + + def IsFrontPanelEnabled(self) -> "bool": + return _ok.okCFrontPanel_IsFrontPanelEnabled(self) + + def IsFrontPanel3Supported(self) -> "bool": + return _ok.okCFrontPanel_IsFrontPanel3Supported(self) + + def UpdateWireIns(self) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_UpdateWireIns(self) + + def GetWireInValue(self, epAddr: 'int') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_GetWireInValue(self, epAddr) + + def SetWireInValue(self, *args) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_SetWireInValue(self, *args) + + def UpdateWireOuts(self) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_UpdateWireOuts(self) + + def GetWireOutValue(self, epAddr: 'int') -> "unsigned long": + return _ok.okCFrontPanel_GetWireOutValue(self, epAddr) + + def ActivateTriggerIn(self, epAddr: 'int', bit: 'int') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_ActivateTriggerIn(self, epAddr, bit) + + def UpdateTriggerOuts(self) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_UpdateTriggerOuts(self) + + def IsTriggered(self, epAddr: 'int', mask: 'UINT32') -> "bool": + return _ok.okCFrontPanel_IsTriggered(self, epAddr, mask) + + def GetTriggerOutVector(self, epAddr: 'int') -> "UINT32": + return _ok.okCFrontPanel_GetTriggerOutVector(self, epAddr) + + def GetLastTransferLength(self) -> "long": + return _ok.okCFrontPanel_GetLastTransferLength(self) + + @staticmethod + def GetAPIVersionMajor() -> "int": + return _ok.okCFrontPanel_GetAPIVersionMajor() + + @staticmethod + def GetAPIVersionMinor() -> "int": + return _ok.okCFrontPanel_GetAPIVersionMinor() + + @staticmethod + def GetAPIVersionMicro() -> "int": + return _ok.okCFrontPanel_GetAPIVersionMicro() + + @staticmethod + def GetAPIVersionString() -> "char const *": + return _ok.okCFrontPanel_GetAPIVersionString() + + @staticmethod + def CheckAPIVersion(major: 'int', minor: 'int', micro: 'int') -> "bool": + return _ok.okCFrontPanel_CheckAPIVersion(major, minor, micro) + + def ReadRegister(self, addr: 'UINT32') -> "UINT32": + return _ok.okCFrontPanel_ReadRegister(self, addr) + + def FlashWrite(self, address: 'UINT32', data: 'char *') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_FlashWrite(self, address, data) + + def FlashRead(self, address: 'UINT32', data: 'char *') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_FlashRead(self, address, data) + + def WriteToPipeIn(self, epAddr: 'int', data: 'char *') -> "long": + return _ok.okCFrontPanel_WriteToPipeIn(self, epAddr, data) + + def ReadFromPipeOut(self, epAddr: 'int', data: 'char *') -> "long": + return _ok.okCFrontPanel_ReadFromPipeOut(self, epAddr, data) + + def WriteToBlockPipeIn(self, epAddr: 'int', blockSize: 'int', data: 'char *') -> "long": + return _ok.okCFrontPanel_WriteToBlockPipeIn(self, epAddr, blockSize, data) + + def ReadFromBlockPipeOut(self, epAddr: 'int', blockSize: 'int', data: 'char *') -> "long": + return _ok.okCFrontPanel_ReadFromBlockPipeOut(self, epAddr, blockSize, data) + + def WriteToPipeInThr(self, epAddr: 'int', data: 'char *') -> "long": + return _ok.okCFrontPanel_WriteToPipeInThr(self, epAddr, data) + + def ReadFromPipeOutThr(self, epAddr: 'int', data: 'char *') -> "long": + return _ok.okCFrontPanel_ReadFromPipeOutThr(self, epAddr, data) + + def WriteToBlockPipeInThr(self, epAddr: 'int', blockSize: 'int', data: 'char *') -> "long": + return _ok.okCFrontPanel_WriteToBlockPipeInThr(self, epAddr, blockSize, data) + + def ReadFromBlockPipeOutThr(self, epAddr: 'int', blockSize: 'int', data: 'char *') -> "long": + return _ok.okCFrontPanel_ReadFromBlockPipeOutThr(self, epAddr, blockSize, data) + + def ReadI2C(self, addr: 'int', data: 'char *') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_ReadI2C(self, addr, data) + + def WriteI2C(self, addr: 'int', data: 'char *') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_WriteI2C(self, addr, data) + + def ConfigureFPGAFromMemory(self, data: 'unsigned char *') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_ConfigureFPGAFromMemory(self, data) + + def GetDeviceSensors(self) -> "std::vector< okTDeviceSensor,std::allocator< okTDeviceSensor > >": + return _ok.okCFrontPanel_GetDeviceSensors(self) + + def CreateLuaScriptEngine(self) -> "okstd::auto_ptr< OpalKelly::ScriptEngine >": + return _ok.okCFrontPanel_CreateLuaScriptEngine(self) + +# Register okCFrontPanel in _ok: +_ok.okCFrontPanel_swigregister(okCFrontPanel) + +def okCFrontPanel_GetErrorString(errorCode: 'int') -> "std::string": + return _ok.okCFrontPanel_GetErrorString(errorCode) + +def okCFrontPanel_AddCustomDevice(matchInfo: 'okTDeviceMatchInfo', devInfo: 'okTDeviceInfo'=None) -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_AddCustomDevice(matchInfo, devInfo) + +def okCFrontPanel_RemoveCustomDevice(productID: 'int') -> "OpalKellyLegacy::okCFrontPanel::ErrorCode": + return _ok.okCFrontPanel_RemoveCustomDevice(productID) + +def okCFrontPanel_FindUSBDeviceModel(usbVID: 'unsigned int', usbPID: 'unsigned int') -> "OpalKellyLegacy::okCFrontPanel::BoardModel": + return _ok.okCFrontPanel_FindUSBDeviceModel(usbVID, usbPID) + +def okCFrontPanel_GetBoardModelString(m: 'OpalKellyLegacy::okCFrontPanel::BoardModel') -> "std::string": + return _ok.okCFrontPanel_GetBoardModelString(m) + +def okCFrontPanel_GetAPIVersionMajor() -> "int": + return _ok.okCFrontPanel_GetAPIVersionMajor() + +def okCFrontPanel_GetAPIVersionMinor() -> "int": + return _ok.okCFrontPanel_GetAPIVersionMinor() + +def okCFrontPanel_GetAPIVersionMicro() -> "int": + return _ok.okCFrontPanel_GetAPIVersionMicro() + +def okCFrontPanel_GetAPIVersionString() -> "char const *": + return _ok.okCFrontPanel_GetAPIVersionString() + +def okCFrontPanel_CheckAPIVersion(major: 'int', minor: 'int', micro: 'int') -> "bool": + return _ok.okCFrontPanel_CheckAPIVersion(major, minor, micro) + +class okCDeviceSettings(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self): + _ok.okCDeviceSettings_swiginit(self, _ok.new_okCDeviceSettings()) + __swig_destroy__ = _ok.delete_okCDeviceSettings + + def GetString(self, key: 'std::string const &') -> "std::string": + return _ok.okCDeviceSettings_GetString(self, key) + + def GetInt(self, key: 'std::string const &') -> "UINT32": + return _ok.okCDeviceSettings_GetInt(self, key) + + def SetString(self, key: 'std::string const &', value: 'std::string const &') -> "void": + return _ok.okCDeviceSettings_SetString(self, key, value) + + def SetInt(self, key: 'std::string const &', value: 'UINT32') -> "void": + return _ok.okCDeviceSettings_SetInt(self, key, value) + + def List(self) -> "std::vector< std::string,std::allocator< std::string > >": + return _ok.okCDeviceSettings_List(self) + + def Delete(self, key: 'std::string const &') -> "void": + return _ok.okCDeviceSettings_Delete(self, key) + + def Save(self) -> "void": + return _ok.okCDeviceSettings_Save(self) + +# Register okCDeviceSettings in _ok: +_ok.okCDeviceSettings_swigregister(okCDeviceSettings) + + +def GetAPIVersionMajor() -> "int": + return _ok.GetAPIVersionMajor() + +def GetAPIVersionMinor() -> "int": + return _ok.GetAPIVersionMinor() + +def GetAPIVersionMicro() -> "int": + return _ok.GetAPIVersionMicro() + +def GetAPIVersionString() -> "char const *": + return _ok.GetAPIVersionString() + +def CheckAPIVersion(major: 'int', minor: 'int', micro: 'int') -> "bool": + return _ok.CheckAPIVersion(major, minor, micro) +class okBuffer(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self, *args): + _ok.okBuffer_swiginit(self, _ok.new_okBuffer(*args)) + + def IsEmpty(self) -> "bool": + return _ok.okBuffer_IsEmpty(self) + + def GetSize(self) -> "size_t": + return _ok.okBuffer_GetSize(self) + __swig_destroy__ = _ok.delete_okBuffer + + def __getitem__(self, n: 'size_t') -> "unsigned char": + return _ok.okBuffer___getitem__(self, n) + + def __setitem__(self, n: 'size_t', val: 'unsigned char') -> "void": + return _ok.okBuffer___setitem__(self, n, val) + +# Register okBuffer in _ok: +_ok.okBuffer_swigregister(okBuffer) + +class okCScriptValue(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self, *args): + _ok.okCScriptValue_swiginit(self, _ok.new_okCScriptValue(*args)) + + def IsNumber(self) -> "bool": + return _ok.okCScriptValue_IsNumber(self) + + def GetNumber(self) -> "int": + return _ok.okCScriptValue_GetNumber(self) + + def IsBool(self) -> "bool": + return _ok.okCScriptValue_IsBool(self) + + def GetBool(self) -> "bool": + return _ok.okCScriptValue_GetBool(self) + + def IsString(self) -> "bool": + return _ok.okCScriptValue_IsString(self) + + def GetString(self) -> "std::string": + return _ok.okCScriptValue_GetString(self) + + def IsBuffer(self) -> "bool": + return _ok.okCScriptValue_IsBuffer(self) + + def GetBuffer(self) -> "OpalKelly::Buffer": + return _ok.okCScriptValue_GetBuffer(self) + __swig_destroy__ = _ok.delete_okCScriptValue + +# Register okCScriptValue in _ok: +_ok.okCScriptValue_swigregister(okCScriptValue) + +class okCScriptEngine(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined") + __repr__ = _swig_repr + + def LoadScript(self, name: 'std::string const &', code: 'std::string const &') -> "void": + return _ok.okCScriptEngine_LoadScript(self, name, code) + + def LoadFile(self, path: 'std::string const &') -> "void": + return _ok.okCScriptEngine_LoadFile(self, path) + + def PrependToScriptPath(self, dir: 'std::string const &') -> "void": + return _ok.okCScriptEngine_PrependToScriptPath(self, dir) + __swig_destroy__ = _ok.delete_okCScriptEngine + + def RunScriptFunction(self, *args) -> "std::vector< OpalKelly::ScriptValue,std::allocator< OpalKelly::ScriptValue > >": + return _ok.okCScriptEngine_RunScriptFunction(self, *args) + +# Register okCScriptEngine in _ok: +_ok.okCScriptEngine_swigregister(okCScriptEngine) + +okREALM_LOCAL = _ok.okREALM_LOCAL +okREALM_TEST = _ok.okREALM_TEST +class FrontPanelManager(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self, *args): + if self.__class__ == FrontPanelManager: + _self = None + else: + _self = self + _ok.FrontPanelManager_swiginit(self, _ok.new_FrontPanelManager(_self, *args)) + __swig_destroy__ = _ok.delete_FrontPanelManager + + def StartMonitoring(self, cbInfo: 'CallbackInfo'=None) -> "void": + return _ok.FrontPanelManager_StartMonitoring(self, cbInfo) + + def StopMonitoring(self) -> "void": + return _ok.FrontPanelManager_StopMonitoring(self) + + def EnterMonitorLoop(self, cbInfo: 'CallbackInfo'=None, millisecondsTimeout: 'int'=0) -> "int": + return _ok.FrontPanelManager_EnterMonitorLoop(self, cbInfo, millisecondsTimeout) + + def ExitMonitorLoop(self, exitCode: 'int'=0) -> "void": + return _ok.FrontPanelManager_ExitMonitorLoop(self, exitCode) + + def OnDeviceAdded(self, serial: 'char const *') -> "void": + return _ok.FrontPanelManager_OnDeviceAdded(self, serial) + + def OnDeviceRemoved(self, serial: 'char const *') -> "void": + return _ok.FrontPanelManager_OnDeviceRemoved(self, serial) + + def Open(self, serial: 'char const *') -> "OpalKellyLegacy::okCFrontPanel *": + return _ok.FrontPanelManager_Open(self, serial) + def __disown__(self): + self.this.disown() + _ok.disown_FrontPanelManager(self) + return weakref.proxy(self) + +# Register FrontPanelManager in _ok: +_ok.FrontPanelManager_swigregister(FrontPanelManager) + +class CallbackInfo(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self): + _ok.CallbackInfo_swiginit(self, _ok.new_CallbackInfo()) + + def IsUsed(self) -> "bool": + return _ok.CallbackInfo_IsUsed(self) + __swig_destroy__ = _ok.delete_CallbackInfo + +# Register CallbackInfo in _ok: +_ok.CallbackInfo_swigregister(CallbackInfo) + + +def FrontPanelEmulateTestDeviceConnection(serial: 'std::string const &', connect: 'bool') -> "OpalKelly::FrontPanel::ErrorCode": + return _ok.FrontPanelEmulateTestDeviceConnection(serial, connect) +class okCFrontPanelDevices(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self, *args): + _ok.okCFrontPanelDevices_swiginit(self, _ok.new_okCFrontPanelDevices(*args)) + + def GetCount(self) -> "int": + return _ok.okCFrontPanelDevices_GetCount(self) + + def GetSerial(self, num: 'int') -> "std::string": + return _ok.okCFrontPanelDevices_GetSerial(self, num) + + def Open(self, *args) -> "OpalKelly::FrontPanelPtr": + return _ok.okCFrontPanelDevices_Open(self, *args) + __swig_destroy__ = _ok.delete_okCFrontPanelDevices + +# Register okCFrontPanelDevices in _ok: +_ok.okCFrontPanelDevices_swigregister(okCFrontPanelDevices) + +class FrontPanel(okCFrontPanel): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self): + _ok.FrontPanel_swiginit(self, _ok.new_FrontPanel()) + __swig_destroy__ = _ok.delete_FrontPanel + +# Register FrontPanel in _ok: +_ok.FrontPanel_swigregister(FrontPanel) + +class PLL22150(okCPLL22150): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self): + _ok.PLL22150_swiginit(self, _ok.new_PLL22150()) + __swig_destroy__ = _ok.delete_PLL22150 + +# Register PLL22150 in _ok: +_ok.PLL22150_swigregister(PLL22150) + +class PLL22393(okCPLL22393): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self): + _ok.PLL22393_swiginit(self, _ok.new_PLL22393()) + __swig_destroy__ = _ok.delete_PLL22393 + +# Register PLL22393 in _ok: +_ok.PLL22393_swigregister(PLL22393) + +class FrontPanelDevices(okCFrontPanelDevices): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + + def __init__(self, *args): + _ok.FrontPanelDevices_swiginit(self, _ok.new_FrontPanelDevices(*args)) + __swig_destroy__ = _ok.delete_FrontPanelDevices + +# Register FrontPanelDevices in _ok: +_ok.FrontPanelDevices_swigregister(FrontPanelDevices) + + +