Skip to content

Commit 606bd3c

Browse files
committed
fixed build issue
1 parent 9a4e01f commit 606bd3c

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

python_bladerf/pylibbladerf/pybladerf.pyx

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1613,7 +1613,12 @@ cdef class PyBladerfDevice:
16131613
return pybladerf_rx_mux(mux)
16141614

16151615
def pybladerf_schedule_retune(self, channel: int, timestamp: int, frequency: int, quick_tune: pybladerf_quick_tune | None = None) -> None:
1616-
cdef cbladerf.bladerf_quick_tune *c_quick_tune_ptr = quick_tune.get_ptr() if quick_tune is not None else NULL
1616+
cdef cbladerf.bladerf_quick_tune *c_quick_tune_ptr = NULL
1617+
cdef pybladerf_quick_tune quick_tune_link
1618+
if isinstance(quick_tune, pybladerf_quick_tune):
1619+
quick_tune_link = quick_tune
1620+
c_quick_tune_ptr = <cbladerf.bladerf_quick_tune*> quick_tune_link.get_ptr()
1621+
16171622
cdef uint64_t c_timestamp = <uint64_t> timestamp
16181623
cdef uint64_t c_frequency = <uint64_t> frequency
16191624
cdef int c_channel = <int> channel
@@ -1666,7 +1671,13 @@ cdef class PyBladerfDevice:
16661671
raise_error('pybladerf_sync_config()', result)
16671672

16681673
def pybladerf_sync_tx(self, samples: np.ndarray[Any, Any], num_samples: int, metadata: pybladerf_metadata | None = None, timeout_ms: int = 0) -> None:
1669-
cdef cbladerf.bladerf_metadata *c_metadata_ptr = metadata.get_ptr() if metadata is not None else NULL
1674+
cdef cbladerf.bladerf_metadata *c_metadata_ptr = NULL
1675+
cdef pybladerf_metadata metadata_link
1676+
1677+
if isinstance(metadata, pybladerf_metadata):
1678+
metadata_link = metadata
1679+
c_metadata_ptr = <cbladerf.bladerf_metadata*> metadata_link.get_ptr()
1680+
16701681
cdef unsigned int c_num_samples = <unsigned int> num_samples
16711682
cdef unsigned int c_timeout_ms = <unsigned int> timeout_ms
16721683
cdef void *c_samples_ptr = <void*> <uintptr_t> samples.ctypes.data
@@ -1677,7 +1688,13 @@ cdef class PyBladerfDevice:
16771688
raise_error('pybladerf_sync_tx()', result)
16781689

16791690
def pybladerf_sync_rx(self, samples: np.ndarray[Any, Any], num_samples: int, metadata: pybladerf_metadata | None = None, timeout_ms: int = 0) -> None:
1680-
cdef cbladerf.bladerf_metadata *c_metadata_ptr = metadata.get_ptr() if metadata is not None else NULL
1691+
cdef cbladerf.bladerf_metadata *c_metadata_ptr = NULL
1692+
cdef pybladerf_metadata metadata_link
1693+
1694+
if isinstance(metadata, pybladerf_metadata):
1695+
metadata_link = metadata
1696+
c_metadata_ptr = <cbladerf.bladerf_metadata*> metadata_link.get_ptr()
1697+
16811698
cdef unsigned int c_num_samples = <unsigned int> num_samples
16821699
cdef unsigned int c_timeout_ms = <unsigned int> timeout_ms
16831700
cdef void *c_samples_ptr = <void*> <uintptr_t> samples.ctypes.data

0 commit comments

Comments
 (0)