@@ -428,94 +428,91 @@ def pybladerf_sweep(frequencies: list[int] | None = None, sample_rate: int = 61_
428428 schedule_timestamp += await_time + fft_size
429429 tune_step = (tune_step + 1 ) % tune_steps
430430
431- with nogil:
432- while working_sdrs[device_id].load():
433-
434- #
435- if empty_raw_data_queue.empty():
436- buffer = np.empty(fft_size if oversample else fft_size * 2 , dtype = np.int8 if oversample else np.int16)
437- else :
438- buffer = empty_raw_data_queue.get()
431+ while working_sdrs[device_id].load():
432+ if empty_raw_data_queue.empty():
433+ buffer = np.empty(fft_size if oversample else fft_size * 2 , dtype = np.int8 if oversample else np.int16)
434+ else :
435+ buffer = empty_raw_data_queue.get()
439436
440- meta.timestamp = sweep_steps[sweep_step_read_ptr].schedule_time
437+ meta.timestamp = sweep_steps[sweep_step_read_ptr].schedule_time
441438
442- try :
443- device.pybladerf_sync_rx(buffer , fft_size, meta, 0 )
444- raw_data_queue.put(
445- (
446- datetime.datetime.now().strftime(' %Y -%m -%d , %H :%M :%S .%f ' ),
447- sweep_steps[sweep_step_read_ptr].frequency,
448- buffer ,
449- )
450- )
439+ try :
440+ device.pybladerf_sync_rx(buffer , fft_size, meta, 0 )
441+ raw_data_queue.put(
442+ (
443+ datetime.datetime.now().strftime(' %Y -%m -%d , %H :%M :%S .%f ' ),
444+ sweep_steps[sweep_step_read_ptr].frequency,
445+ buffer ,
446+ )
447+ )
451448
452- sweep_step_read_ptr = (sweep_step_read_ptr + 1 ) % 8
449+ sweep_step_read_ptr = (sweep_step_read_ptr + 1 ) % 8
453450
454- quick_tunes[tune_step][1 ].rffe_profile = free_rffe_profile
455- device.pybladerf_schedule_retune(formated_channel, schedule_timestamp, 0 , quick_tunes[tune_step][1 ])
451+ quick_tunes[tune_step][1 ].rffe_profile = free_rffe_profile
452+ device.pybladerf_schedule_retune(formated_channel, schedule_timestamp, 0 , quick_tunes[tune_step][1 ])
456453
457- sweep_steps[sweep_step_write_ptr].frequency = quick_tunes[tune_step][0 ]
458- sweep_steps[sweep_step_write_ptr].schedule_time = schedule_timestamp + await_time
459- sweep_step_write_ptr = (sweep_step_write_ptr + 1 ) % 8
454+ sweep_steps[sweep_step_write_ptr].frequency = quick_tunes[tune_step][0 ]
455+ sweep_steps[sweep_step_write_ptr].schedule_time = schedule_timestamp + await_time
456+ sweep_step_write_ptr = (sweep_step_write_ptr + 1 ) % 8
460457
461- free_rffe_profile = (free_rffe_profile + 1 ) % rffe_profiles
462- schedule_timestamp += await_time + fft_size
463- tune_step = (tune_step + 1 ) % tune_steps
458+ free_rffe_profile = (free_rffe_profile + 1 ) % rffe_profiles
459+ schedule_timestamp += await_time + fft_size
460+ tune_step = (tune_step + 1 ) % tune_steps
464461
465- accepted_samples += fft_size
462+ accepted_samples += fft_size
466463
467- except pybladerf.PYBLADERF_ERR_TIME_PAST:
468- sys.stderr.write(" Timestamp is in the past, restarting...\n " )
464+ except pybladerf.PYBLADERF_ERR_TIME_PAST:
465+ sys.stderr.write(" Timestamp is in the past, restarting...\n " )
469466
470- tune_step = 0
471- free_rffe_profile = 0
472- sweep_step_read_ptr = 0
473- sweep_step_write_ptr = 0
467+ tune_step = 0
468+ free_rffe_profile = 0
469+ sweep_step_read_ptr = 0
470+ sweep_step_write_ptr = 0
474471
475- schedule_timestamp = device.pybladerf_get_timestamp(pybladerf.pybladerf_direction.PYBLADERF_RX) + time_1ms * 150
476- empty_raw_data_queue.put(buffer )
472+ schedule_timestamp = device.pybladerf_get_timestamp(pybladerf.pybladerf_direction.PYBLADERF_RX) + time_1ms * 150
473+ empty_raw_data_queue.put(buffer )
477474
478- for i in range (8 ):
479- quick_tunes[tune_step][1 ].rffe_profile = free_rffe_profile
480- device.pybladerf_schedule_retune(formated_channel, schedule_timestamp, 0 , quick_tunes[tune_step][1 ])
475+ for i in range (8 ):
476+ quick_tunes[tune_step][1 ].rffe_profile = free_rffe_profile
477+ device.pybladerf_schedule_retune(formated_channel, schedule_timestamp, 0 , quick_tunes[tune_step][1 ])
481478
482- sweep_steps[sweep_step_write_ptr].frequency = quick_tunes[tune_step][0 ]
483- sweep_steps[sweep_step_write_ptr].schedule_time = schedule_timestamp + await_time
484- sweep_step_write_ptr = (sweep_step_write_ptr + 1 ) % 8
479+ sweep_steps[sweep_step_write_ptr].frequency = quick_tunes[tune_step][0 ]
480+ sweep_steps[sweep_step_write_ptr].schedule_time = schedule_timestamp + await_time
481+ sweep_step_write_ptr = (sweep_step_write_ptr + 1 ) % 8
485482
486- free_rffe_profile = (free_rffe_profile + 1 ) % rffe_profiles
487- schedule_timestamp += await_time + fft_size
488- tune_step = (tune_step + 1 ) % tune_steps
483+ free_rffe_profile = (free_rffe_profile + 1 ) % rffe_profiles
484+ schedule_timestamp += await_time + fft_size
485+ tune_step = (tune_step + 1 ) % tune_steps
489486
490- continue
487+ continue
491488
492- except pybladerf.PYBLADERF_ERR as ex:
493- sys.stderr.write(" pybladerf_sync_rx() failed: %s %d " , cbladerf.bladerf_strerror(ex.code), ex.code)
494- working_sdrs[device_id].store(0 )
495- break
489+ except pybladerf.PYBLADERF_ERR as ex:
490+ sys.stderr.write(" pybladerf_sync_rx() failed: %s %d " , cbladerf.bladerf_strerror(ex.code), ex.code)
491+ working_sdrs[device_id].store(0 )
492+ break
496493
497494
498- if tune_step == 0 :
499- sweep_count += 1
495+ if tune_step == 0 :
496+ sweep_count += 1
500497
501- if one_shot or (num_sweeps == sweep_count):
502- if sweep_count:
503- working_sdrs[device_id].store(0 )
498+ if one_shot or (num_sweeps == sweep_count):
499+ if sweep_count:
500+ working_sdrs[device_id].store(0 )
504501
505- time_now = time.time()
506- time_difference = time_now - time_prev
507- if time_difference >= 1.0 :
508- if print_to_console:
509- sweep_rate = sweep_count / (time_now - time_start)
510- sys.stderr.write(f' {sweep_count} total sweeps completed, {round(sweep_rate, 2)} sweeps/second\n ' )
502+ time_now = time.time()
503+ time_difference = time_now - time_prev
504+ if time_difference >= 1.0 :
505+ if print_to_console:
506+ sweep_rate = sweep_count / (time_now - time_start)
507+ sys.stderr.write(f' {sweep_count} total sweeps completed, {round(sweep_rate, 2)} sweeps/second\n ' )
511508
512- if accepted_samples == 0 :
513- if print_to_console:
514- sys.stderr.write(" Couldn\' t transfer any data for one second.\n " )
515- break
509+ if accepted_samples == 0 :
510+ if print_to_console:
511+ sys.stderr.write(" Couldn\' t transfer any data for one second.\n " )
512+ break
516513
517- accepted_samples = 0
518- time_prev = time_now
514+ accepted_samples = 0
515+ time_prev = time_now
519516
520517 if print_to_console:
521518 if not working_sdrs[device_id].load():
0 commit comments