def load_libad9361(): ''' Load libad9361 library ''' arch, name = platform.architecture() if name.lower().startswith('win'): path = os.path.join( os.path.dirname(__file__), r'win\x86\libad9361.dll' if arch.lower() == '32bit' else r'win\x64\libad9361.dll') return _windll(path) path = '/usr/lib/libad9361.so.0' if os.path.exists(path): return _cdll(path) return _cdll('/usr/local/lib/libad9361.so.0')
# pylint: disable=invalid-name _ScanContextPtr = _POINTER(_ScanContext) _ContextInfoPtr = _POINTER(_ContextInfo) _ContextPtr = _POINTER(_Context) _DevicePtr = _POINTER(_Device) _ChannelPtr = _POINTER(_Channel) _BufferPtr = _POINTER(_Buffer) _DataFormatPtr = _POINTER(DataFormat) if "Windows" in _system(): _iiolib = "libiio.dll" else: # Non-windows, possibly Posix system _iiolib = "iio" _lib = _cdll(find_library(_iiolib), use_errno=True, use_last_error=True) _get_backends_count = _lib.iio_get_backends_count _get_backends_count.restype = c_uint _get_backend = _lib.iio_get_backend _get_backend.argtypes = (c_uint, ) _get_backend.restype = c_char_p _get_backend.errcheck = _check_null _create_scan_context = _lib.iio_create_scan_context _create_scan_context.argtypes = (c_char_p, c_uint) _create_scan_context.restype = _ScanContextPtr _create_scan_context.errcheck = _check_null _destroy_scan_context = _lib.iio_scan_context_destroy
#!/usr/bin/env python3 from ctypes import Structure, c_char_p, c_uint, c_int, c_size_t, \ c_ssize_t, c_char, c_void_p, c_bool, create_string_buffer, \ POINTER as _POINTER, CDLL as _cdll, memmove as _memmove, byref as _byref _lib = _cdll('./dabdecoder.so') init = _lib.dabdecoder_init init.argtypes = (c_int, c_int) process = _lib.dabdecoder_process process.restypes = c_int capture_qpsk = _lib.dabdecoder_capture_qpsk capture_qpsk.argtypes = (c_int, ) capture_fft = _lib.dabdecoder_capture_fft capture_fft.argtypes = (c_int, ) track_frequency = _lib.dabdecoder_track_frequency track_frequency.argtypes = (c_int, ) set_subch_filter = _lib.dabdecoder_set_subch_filter set_subch_filter.argtypes = (c_int, c_int, c_int)
pass class _Device(Structure): pass class _Channel(Structure): pass class _Buffer(Structure): pass _ScanContextPtr = _POINTER(_ScanContext) _ContextInfoPtr = _POINTER(_ContextInfo) _ContextPtr = _POINTER(_Context) _DevicePtr = _POINTER(_Device) _ChannelPtr = _POINTER(_Channel) _BufferPtr = _POINTER(_Buffer) _lib = _cdll('libiio.dll' if 'Windows' in _system() else 'libiio.so.0', use_errno = True, use_last_error = True) _create_scan_context = _lib.iio_create_scan_context _create_scan_context.argtypes = (c_char_p, c_uint) _create_scan_context.restype = _ScanContextPtr _create_scan_context.errcheck = _checkNull _destroy_scan_context = _lib.iio_scan_context_destroy _destroy_scan_context.argtypes = (_ScanContextPtr, ) _get_context_info_list = _lib.iio_scan_context_get_info_list _get_context_info_list.argtypes = (_ScanContextPtr, _POINTER(_POINTER(_ContextInfoPtr))) _get_context_info_list.restype = c_ssize_t _get_context_info_list.errcheck = _checkNegative _context_info_list_free = _lib.iio_context_info_list_free
pass class _Device(Structure): pass class _Channel(Structure): pass class _Buffer(Structure): pass _ScanContextPtr = _POINTER(_ScanContext) _ContextInfoPtr = _POINTER(_ContextInfo) _ContextPtr = _POINTER(_Context) _DevicePtr = _POINTER(_Device) _ChannelPtr = _POINTER(_Channel) _BufferPtr = _POINTER(_Buffer) _lib = _cdll('libiio.dll' if 'Windows' in _system() else 'libiio.so.0', use_errno = True, use_last_error = True) _get_backends_count = _lib.iio_get_backends_count _get_backends_count.restype = c_uint _get_backend = _lib.iio_get_backend _get_backend.argtypes = (c_uint, ) _get_backend.restype = c_char_p _get_backend.errcheck = _checkNull _create_scan_context = _lib.iio_create_scan_context _create_scan_context.argtypes = (c_char_p, c_uint) _create_scan_context.restype = _ScanContextPtr _create_scan_context.errcheck = _checkNull _destroy_scan_context = _lib.iio_scan_context_destroy