Commit graph

22 commits

Author SHA1 Message Date
jupfi 449c56c85e Removed matplotlib dependency. 2024-04-21 19:47:58 +02:00
Kumi fc536126bc
Encode device parameter before channel retrieval
Fixed an issue in the `get_channels_for_device` function where the input
device name wasn't being encoded before passing it to the underlying C
function `getChannelsFromInfo`. This change ensures compatibility with
the expected string encoding, preventing potential runtime errors
related to string handling across the Python-C boundary.
2024-02-17 18:06:55 +01:00
Kumi 8874795fd0
Set default parameter for get_channels_for_device
Optional device specifier: Adjusted get_channels_for_device function to
include a default empty string parameter. Enables calls without
specifying a device, reducing the need for client code to handle default
cases explicitly.
2024-02-17 18:04:10 +01:00
Kumi ce89c445d7
Enhance device channel handling
Introduced a new utility function to extract and return the number of
channels associated with a given device, improving the driver's ability
to handle device-specific configurations. Also expanded the C++ bindings
by importing the pair class, which is pivotal for representing the
channel information. This enhancement facilitates more granular control
and paves the way for future features that may require detailed channel
info.
2024-02-17 18:02:59 +01:00
Kumi 0696cc3b20
Add device property to PyLimeConfig
Introduced a getter and setter for the 'device' property, allowing for
UTF-8 encoding/decoding of the device string in the PyLimeConfig class.
This enhances string handling consistency across the interface.
2024-02-17 17:46:07 +01:00
Kumi f48c034011
Bump version and add device listing
Updated the project version reflecting new features. Extended the
LimeConfig_t struct to include a device string supporting device
specification. Introduced a new function `get_device_list` in the Python
binding, allowing users to retrieve a list of available devices,
enhancing usability. This change improves user interactions with the
hardware, making device management more intuitive.
2024-02-17 17:38:18 +01:00
jupfi a47961e311 Added manual selection of tx rx matching. 2024-02-12 21:36:32 +01:00
jupfi 761c4756e8 Added binding for channel selection. 2024-02-11 09:04:33 +01:00
jupfi a5f3ad53b7 Removed another debug print. 2024-02-10 17:55:02 +01:00
jupfi 052800f717 Removed debug prints 2024-02-10 17:48:49 +01:00
Kumi 853457de78
Updated CI and package import system
Refactored the CI workflows to include package installation and import
testing. Ensured package is importable after installation by creating a
new '__main__.py' module to check imports. This adds an extra validation
step to the CI process, catching potential import issues early. Import
statements in '__init__.py' have also been updated to use 'as' for
clarity and namespace control.
2024-02-10 16:32:58 +01:00
Kumi a61875e9a8
Fixed main branch 2024-02-09 13:47:11 +01:00
jupfi 62c8863a4e Added hdf reader, but there still seems to be a memory leakage bug. 2024-02-08 21:57:59 +01:00
jupfi 57d9274199 At least it's not crashing... run experiment is working (?) 2024-02-08 20:30:40 +01:00
jupfi 85ecf5f39d Implemented default LimeCfg through initialize function 2024-02-08 16:31:30 +01:00
jupfi 1942b18d13 memory allocation for pointers and arrays 2024-02-08 15:06:47 +01:00
jupfi 08764a08ab Added complete LimeConfig_t struct 2024-02-08 15:04:45 +01:00
jupfi f53ad866ff Implemented first pointer p_dur 2024-02-08 14:56:50 +01:00
jupfi 4d4161e878 Memory allocation for strings 2024-02-08 14:44:51 +01:00
Kumi 1f24eb3f64
Enforce C++ compiler for Cython and fix Python binding
- Standardized the C++ compiler across build environments by setting it in `setup.py`, ensuring consistent compilation of Cython extensions.
- Transitioned to using `setuptools.build_meta` as the build backend in `pyproject.toml` for enhanced package build processes.
- Modified the extension module path in `setup.py` to align with the new Python binding structure.
- Introduced Python property decorators to `PyLimeConfig` class in `limedriver.pyx` for getter methods, enhancing the Pythonic interface of the Cython module.
- Facilitated direct import of the binding in `__init__.py`, streamlining the usage of the `limedriver` package.
2024-02-08 09:52:51 +01:00
Kumi 4e279892aa
Current version of .pyx
Co-authored-by: jupfi <github@jupfi.me>
2024-02-08 09:14:18 +01:00
jupfi 4f0be02c68 Initial commit. 2024-02-07 16:01:14 +01:00