@@ -224,7 +224,7 @@ def read_hcb(file_path):
224224
225225 try :
226226 spec_str = "Unknown"
227- version = Version (h_keywords .get ("VER" , "1 .0" ))
227+ version = Version (h_keywords .get ("VER" , "0 .0" ))
228228 if version .major == 1 :
229229 spec_str = f"BLUE { version } "
230230 elif version .major == 2 :
@@ -381,7 +381,7 @@ def data_loopback(blue_path: Path, data_path: Path, h_fixed: dict) -> None:
381381
382382 # save out as SigMF IQ data file
383383 samples .tofile (data_path )
384- log .info ("wrote %s" , data_path )
384+ log .info ("wrote SigMF dataset to %s" , data_path )
385385
386386
387387def _build_common_metadata (
@@ -432,7 +432,7 @@ def get_tag(tag):
432432
433433 # get sigmf datatype from blue format and endianness
434434 datatype = blue_to_sigmf_type_str (h_fixed )
435- log .info (f"Using SigMF datatype: { datatype } for BLUE format { h_fixed ['format' ]} " )
435+ log .info (f"using SigMF datatype { datatype } for BLUE format { h_fixed ['format' ] } { h_fixed [ 'data_rep ' ]} " )
436436
437437 # sample rate: prefer adjunct.xdelta, else extended header SAMPLE_RATE
438438 if "xdelta" in h_adjunct :
@@ -490,8 +490,9 @@ def get_tag(tag):
490490 blue_start_time += float (h_keywords .get ("TC_PREC" , 0 ))
491491
492492 capture_info = {}
493+
493494 if blue_start_time == 0 :
494- log .warning ("BLUE timecode is zero or missing; datetime metadata will be absent." )
495+ log .warning ("BLUE timecode is zero or missing; capture datetime metadata will be absent." )
495496 else :
496497 # timecode uses 1950-01-01 as epoch, datetime uses 1970-01-01
497498 blue_epoch = blue_start_time - 631152000 # seconds between 1950 and 1970
@@ -651,17 +652,17 @@ def construct_sigmf(
651652 global_info = global_info ,
652653 )
653654 meta .add_capture (0 , metadata = capture_info )
654- log .debug ("created %r" , meta )
655655
656656 if create_archive :
657657 meta .tofile (filenames ["archive_fn" ], toarchive = True )
658- log .info ("wrote %s" , filenames ["archive_fn" ])
658+ log .info ("wrote SigMF archive to %s" , filenames ["archive_fn" ])
659659 # metadata returned should be for this archive
660660 meta = fromfile (filenames ["archive_fn" ])
661661 else :
662662 meta .tofile (filenames ["meta_fn" ], toarchive = False )
663- log .info ("wrote %s" , filenames ["meta_fn" ])
663+ log .info ("wrote SigMF metadata to %s" , filenames ["meta_fn" ])
664664
665+ log .debug ("created %r" , meta )
665666 return meta
666667
667668
@@ -790,10 +791,10 @@ def blue_to_sigmf(
790791 data_size_bytes = int (h_fixed .get ("data_size" , 0 ))
791792 metadata_only = data_size_bytes == 0
792793
793- # handle NCD case where no output files are created
794- if create_ncd and out_path is None :
794+ # handle NCD case
795+ if create_ncd :
795796 # create metadata-only SigMF for NCD pointing to original file
796- return construct_sigmf_ncd (
797+ ncd_meta = construct_sigmf_ncd (
797798 blue_path = blue_path ,
798799 h_fixed = h_fixed ,
799800 h_keywords = h_keywords ,
@@ -803,6 +804,13 @@ def blue_to_sigmf(
803804 trailing_bytes = trailing_bytes ,
804805 )
805806
807+ # write NCD metadata to specified output path if provided
808+ if out_path is not None :
809+ ncd_meta .tofile (filenames ["meta_fn" ])
810+ log .info ("wrote SigMF non-conforming metadata to %s" , filenames ["meta_fn" ])
811+
812+ return ncd_meta
813+
806814 with tempfile .TemporaryDirectory () as temp_dir :
807815 if not metadata_only :
808816 if create_archive :
0 commit comments