SoapyUHD
SoapyUHD copied to clipboard
Not able to select clock source in device string
On a b200mini, running uhd-host 4.1.0 and also tried 3.5.0, soapy 0.7 and 0.8
When using the UHD source in gnuradio and selecting external 10MHz reference I get the two corresponding leds to light and actually lock to that ref.
I have looked in the source and saw that clock_source
was a thing, but unable to make it work. I have tried a lot of other suggestions and variations on this key=value and never got it to work.
I'm trying driver=uhd,recv_frame_size=16360,clock_source=external
and the frame size is working, but clock source is not.
----------------------------------------------------
-- Device identification
----------------------------------------------------
driver=b200
hardware=B200mini
fpga_version=7.0
fw_version=8.0
mboard_id=B200mini
mboard_name=B200mini
mboard_serial=32528B5
rx0_antenna=RX2
rx0_id=Unknown (0xffff)
rx0_ref_power_key=b2xxmini_pwr_rx_rx2
rx0_ref_power_serial=32528B5#A
rx0_serial=
rx0_subdev_name=FE-RX1
rx0_subdev_spec=A:A
tx0_antenna=TX/RX
tx0_id=Unknown (0xffff)
tx0_ref_power_key=b2xxmini_pwr_tx_tx+rx
tx0_ref_power_serial=32528B5#A
tx0_serial=
tx0_subdev_name=FE-TX1
tx0_subdev_spec=A:A
----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
Channels: 1 Rx, 1 Tx
Timestamps: YES
Clock sources: internal, external
Time sources: none, internal, external
Sensors: ref_locked
* ref_locked (Ref): false unlocked
GPIOs: FP0, RXA, TXA
----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
Full-duplex: YES
Supports AGC: YES
Stream formats: CS8, CS12, CS16, CF32, CF64
Native format: CS16 [full-scale=32768]
Stream args:
* Samples per packet - The number of samples per packet.
[key=spp, units=samples, default=0, type=int]
* Bus format - The format of samples over the bus.
[key=WIRE, type=string, options=(sc8, sc16)]
* Peak value - The peak value for scaling in complex byte mode.
[key=peak, default=1.0, type=float]
* Receive frame buffer size - The size an individual datagram or frame in bytes.
[key=recv_frame_size, units=bytes, type=int]
* Receive number of buffers - The number of available buffers.
[key=num_recv_frames, units=buffers, type=int]
Antennas: TX/RX, RX2
Corrections: DC removal
Full gain range: [0, 76, 1] dB
PGA gain range: [0, 76, 1] dB
Full freq range: [42, 6008] MHz
RF freq range: [42, 6008] MHz
BB freq range: [-8, 8] MHz
Tune args:
* LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC.
[key=OFFSET, units=Hz, default=0.0, type=float, range=[-8e+06, 8e+06, 0.00372529]]
* BB - Specify a specific value for this component or IGNORE to skip tuning it.
[key=BB, units=Hz, default=DEFAULT, type=float, range=[-8e+06, 8e+06, 0.00372529], options=(DEFAULT, IGNORE)]
Sample rates: 0.03125, 0.0314961, 0.031746, 0.032, 0.0322581, ..., 3.2, 4, 5.33333, 8, 16 MSps
Filter bandwidths: [0.2, 56] MHz
Sensors: temp, rssi, lo_locked
* temp (temp): 47.192986 C
* rssi (RSSI): -50.750000 dB
* lo_locked (LO): true locked
----------------------------------------------------
-- TX Channel 0
----------------------------------------------------
Full-duplex: YES
Supports AGC: NO
Stream formats: CS8, CS12, CS16, CF32, CF64
Native format: CS16 [full-scale=32768]
Stream args:
* Samples per packet - The number of samples per packet.
[key=spp, units=samples, default=0, type=int]
* Bus format - The format of samples over the bus.
[key=WIRE, type=string, options=(sc8, sc16)]
* Peak value - The peak value for scaling in complex byte mode.
[key=peak, default=1.0, type=float]
* Send frame buffer size - The size an individual datagram or frame in bytes.
[key=send_frame_size, units=bytes, type=int]
* Send number of buffers - The number of available buffers.
[key=num_send_frames, units=buffers, type=int]
Antennas: TX/RX
Full gain range: [0, 89.75, 0.25] dB
PGA gain range: [0, 89.75, 0.25] dB
Full freq range: [42, 6008] MHz
RF freq range: [42, 6008] MHz
BB freq range: [-8, 8] MHz
Tune args:
* LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC.
[key=OFFSET, units=Hz, default=0.0, type=float, range=[-8e+06, 8e+06, 0.00372529]]
* BB - Specify a specific value for this component or IGNORE to skip tuning it.
[key=BB, units=Hz, default=DEFAULT, type=float, range=[-8e+06, 8e+06, 0.00372529], options=(DEFAULT, IGNORE)]
Sample rates: 0.03125, 0.0314961, 0.031746, 0.032, 0.0322581, ..., 3.2, 4, 5.33333, 8, 16 MSps
Filter bandwidths: [0.2, 56] MHz
Sensors: temp, lo_locked
* temp (temp): 47.777779 C
* lo_locked (LO): true locked
The configuration of clock & time source via device string was introduced for the N310, and later backported to X3x0, but not the B2xx series. You'll need to call the API that calls into set_clock_source()
.