sync rx/tx timeout supported
This commit is contained in:
parent
e13dfd5ff0
commit
abb267d2fe
|
@ -1,11 +1,9 @@
|
||||||
# Go-BladeRF
|
# go-bladerf
|
||||||
|
|
||||||
`under development "draft"`
|
## examples
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
[go-bladerf-examples](https://github.com/erayarslan/go-bladerf-examples)
|
[go-bladerf-examples](https://github.com/erayarslan/go-bladerf-examples)
|
||||||
|
|
||||||
## Tested On
|
## tested on
|
||||||
|
|
||||||
`libbladeRF 2.2.1-MacPorts-20191220-45521019`
|
`libbladeRF 2.2.1-MacPorts-20191220-45521019`
|
||||||
|
|
|
@ -811,7 +811,7 @@ func (trigger *Trigger) SetRole(role TriggerRole) {
|
||||||
(*trigger.ref).role = C.bladerf_trigger_role(role)
|
(*trigger.ref).role = C.bladerf_trigger_role(role)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bladeRF *BladeRF) SyncTX(input []int16, metadata Metadata) (Metadata, error) {
|
func (bladeRF *BladeRF) SyncTX(input []int16, metadata Metadata, timeout uint) (Metadata, error) {
|
||||||
if metadata.ref == nil {
|
if metadata.ref == nil {
|
||||||
var ref C.struct_bladerf_metadata
|
var ref C.struct_bladerf_metadata
|
||||||
metadata.ref = &ref
|
metadata.ref = &ref
|
||||||
|
@ -826,7 +826,7 @@ func (bladeRF *BladeRF) SyncTX(input []int16, metadata Metadata) (Metadata, erro
|
||||||
*addr = (C.uint16_t)(input[i])
|
*addr = (C.uint16_t)(input[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
err := GetError(C.bladerf_sync_tx(bladeRF.ref, unsafe.Pointer(buf), C.uint(numberOfSample/2), metadata.ref, 5000))
|
err := GetError(C.bladerf_sync_tx(bladeRF.ref, unsafe.Pointer(buf), C.uint(numberOfSample/2), metadata.ref, C.uint(timeout)))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return metadata, err
|
return metadata, err
|
||||||
|
@ -835,7 +835,7 @@ func (bladeRF *BladeRF) SyncTX(input []int16, metadata Metadata) (Metadata, erro
|
||||||
return LoadMetadata(metadata.ref), nil
|
return LoadMetadata(metadata.ref), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bladeRF *BladeRF) SyncRX(bufferSize uintptr, metadata Metadata) ([]int16, Metadata, error) {
|
func (bladeRF *BladeRF) SyncRX(bufferSize uintptr, metadata Metadata, timeout uint) ([]int16, Metadata, error) {
|
||||||
if metadata.ref == nil {
|
if metadata.ref == nil {
|
||||||
var ref C.struct_bladerf_metadata
|
var ref C.struct_bladerf_metadata
|
||||||
metadata.ref = &ref
|
metadata.ref = &ref
|
||||||
|
@ -843,7 +843,7 @@ func (bladeRF *BladeRF) SyncRX(bufferSize uintptr, metadata Metadata) ([]int16,
|
||||||
|
|
||||||
start := C.malloc(C.size_t(C.sizeof_int16_t * bufferSize * 2 * 1))
|
start := C.malloc(C.size_t(C.sizeof_int16_t * bufferSize * 2 * 1))
|
||||||
defer C.free(unsafe.Pointer(start))
|
defer C.free(unsafe.Pointer(start))
|
||||||
err := GetError(C.bladerf_sync_rx(bladeRF.ref, start, C.uint(bufferSize), metadata.ref, 5000))
|
err := GetError(C.bladerf_sync_rx(bladeRF.ref, start, C.uint(bufferSize), metadata.ref, C.uint(timeout)))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, metadata, err
|
return nil, metadata, err
|
||||||
|
|
|
@ -1219,7 +1219,7 @@ func TestSyncTX(t *testing.T) {
|
||||||
data[i] = complex(0.5, 0.5)
|
data[i] = complex(0.5, 0.5)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = rf.SyncTX(Complex64ToInt16(data), Metadata{})
|
_, err = rf.SyncTX(Complex64ToInt16(data), Metadata{}, 3500)
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Log("PASSED")
|
t.Log("PASSED")
|
||||||
|
@ -1240,7 +1240,7 @@ func TestSyncRX(t *testing.T) {
|
||||||
err = rf.SyncConfig(RxX1, FormatSc16Q11, 2, 1024, 1, 3500)
|
err = rf.SyncConfig(RxX1, FormatSc16Q11, 2, 1024, 1, 3500)
|
||||||
err = rf.EnableModule(ChannelRx(0))
|
err = rf.EnableModule(ChannelRx(0))
|
||||||
|
|
||||||
data, _, err := rf.SyncRX(1024, Metadata{})
|
data, _, err := rf.SyncRX(1024, Metadata{}, 3500)
|
||||||
|
|
||||||
complexData := Int16ToComplex64(data)
|
complexData := Int16ToComplex64(data)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue