diff options
Diffstat (limited to 'airspyhf_rx.py')
-rwxr-xr-x[-rw-r--r--] | airspyhf_rx.py | 50 |
1 files changed, 32 insertions, 18 deletions
diff --git a/airspyhf_rx.py b/airspyhf_rx.py index 8ba5557..a3b5634 100644..100755 --- a/airspyhf_rx.py +++ b/airspyhf_rx.py @@ -9,10 +9,10 @@ import struct import argparse parser = argparse.ArgumentParser() -parser.add_argument("--frequency") -parser.add_argument("--samplerate") -parser.add_argument("--outputfile") -parser.add_argument("--serial") +parser.add_argument("-f","--frequency") +parser.add_argument("-s","--samplerate") +parser.add_argument("-o","--outputfile") +parser.add_argument("-sn","--serial") args = parser.parse_args() print("Check airspyHF version") @@ -32,15 +32,16 @@ for devi in range(0,ndev): libairspyhf.airspyhf_list_devices(byref(serial),devi+1) print("Device %d: Serial number %s"%(int(devi),hex(serial.value) )) -print("try to open device") +print("Try to open device") dev_p = airspyhf_device_t_p(None) if args.serial != None: - ret = libairspyhf.airspyhf_open_sn(dev_p, args.serial) + ret = libairspyhf.airspyhf_open_sn(dev_p, int(args.serial,16)) else: serial = c_uint64(0) libairspyhf.airspyhf_list_devices(byref(serial), 1) print(hex(serial.value)) - ret = libairspyhf.airspyhf_open_sn(dev_p, int(hex(serial.value),16)) + print(type(serial.value)) + ret = libairspyhf.airspyhf_open_sn(dev_p, serial.value) print("open_sn: Returned %d"%(ret)) if (ret != 0): print("airspyhf_open_sn returned != 0, error") @@ -53,14 +54,21 @@ ret = libairspyhf.airspyhf_get_samplerates(dev_p,byref(nsrates),c_uint32(0)) print("ret %d"%ret) print("sample rates %d"% nsrates.value) -supportet_samplerates = (c_uint32*4)(0) -ret = libairspyhf.airspyhf_get_samplerates(dev_p,supportet_samplerates,nsrates) +supported_samplerates = (c_uint32*4)(0) +ret = libairspyhf.airspyhf_get_samplerates(dev_p,supported_samplerates,nsrates) print("ret %d"%ret) +print("Sample rate list:") for i in range(0,nsrates.value): - print("Sample rates %d"% supportet_samplerates[i]) + print(" %d s/sec"% supported_samplerates[i]) #try to get some samples -ret = libairspyhf.airspyhf_set_samplerate(dev_p, supportet_samplerates[3]) +supported_samplerates = list(supported_samplerates) +if int(args.samplerate) in supported_samplerates: + print("Setting sample rate to %s"%(args.samplerate)) + ret = libairspyhf.airspyhf_set_samplerate(dev_p, int(args.samplerate)) +else: + print("Setting sample rate to %s"% (supported_samplerates[len(supported_samplerates)-1])) + ret = libairspyhf.airspyhf_set_samplerate(dev_p, supported_samplerates[len(supported_samplerates)-1]) print(f"airspyhf_set_samplerate ret={ret}") ret = libairspyhf.airspyhf_set_hf_agc(dev_p, 1) @@ -69,11 +77,17 @@ print(f"airspyhf_set_hf_agc ret={ret}") ret = libairspyhf.airspyhf_set_hf_agc_threshold(dev_p, 0) print(f"airspyhf_set_hf_agc_threshold ret={ret}") +ret = libairspyhf.airspyhf_set_hf_lna(dev_p, 1) +print(f"airspyhf_set_hf_lna ret={ret}") + sample_count = 0 -wave_file = wave.open("record.wav","w") +RECORD_FILE_NAME="record.wav" +if args.outputfile != None: + RECORD_FILE_NAME = args.outputfile +wave_file = wave.open(RECORD_FILE_NAME,"w") wave_file.setnchannels(2) wave_file.setsampwidth(4) -wave_file.setframerate(supportet_samplerates[1]) +wave_file.setframerate(supported_samplerates[1]) def read_samples(transfer): global sample_count global wave_file @@ -100,11 +114,10 @@ read_samples_cb = airspyhf_sample_block_cb_fn(read_samples) ret = libairspyhf.airspyhf_start(dev_p, airspyhf_sample_block_cb_fn(read_samples), None) print(f"airspyhf_start ret={ret}") -#ret = airspyhf.libairspyhf.py_cb_wrapper(dev_p) -#print(f"airspyhf_start ret={ret}") - - -ret = libairspyhf.airspyhf_set_freq(dev_p, 3865000) +if args.frequency == None: + ret = libairspyhf.airspyhf_set_freq(dev_p, 3865000) +else: + ret = libairspyhf.airspyhf_set_freq(dev_p, int(args.frequency)) print(f"airspyhf_set_freq ret={ret}") count = 0 @@ -119,6 +132,7 @@ except: ret = libairspyhf.airspyhf_stop(dev_p) print(f"airspyhf_stop ret={ret}") time.sleep(1) + #Not close for now ret = libairspyhf.close(dev_p) print("closed: Returned %d"%(ret)) |