Hello, I'm writing a block doing signal processing and then append the current time and output to a file sink, however, I found the output really strange because all time values are the same. Then I tried to write another block to test with my time value. Here is the block and qa file ####################### import numpy as np from gnuradio import gr
class time_test(gr.sync_block): """ docstring for block time_test """ def __init__(self, vlen): self.vlen = vlen gr.sync_block.__init__(self, name="time_test", in_sig=[(np.float32,self.vlen)], out_sig=[np.float32]) def work(self, input_items, output_items): in0 = input_items[0] print 'in0',in0 time = in0[0] print 'time',time # <+signal processing here+> output_items[0][:] = time return len(output_items[0]) ######################### from gnuradio import gr, gr_unittest from gnuradio import blocks from time_test import time_test import timeit class qa_time_test (gr_unittest.TestCase): def setUp (self): self.tb = gr.top_block () def tearDown (self): self.tb = None def test_001_t (self): # set up fg start = timeit.default_timer() src_data = [start] print 'src_data', src_data expected_result = [start] src = blocks.vector_source_f (src_data, False, vlen=1) res = time_test(1) snk = blocks.vector_sink_f (vlen = 1) self.tb.connect (src, res) self.tb.connect (res, snk) self.tb.run () result_data = snk.data() print 'result_data',result_data # check data self.assertFloatTuplesAlmostEqual (expected_result, result_data, 6) if __name__ == '__main__': gr_unittest.run(qa_time_test, "qa_time_test.xml") ############################ And here is the output: src_data [1470603836.297275] in0 [ 1.47060378e+09] time 1.4706e+09 result_data (1470603776.0,) Ran 1 test in 0.002s FAILED (failures=1) It's a very strange issue and actually a float32 should have enough precision to handle my time value, I tried different float number and here's other float values I input: src_data [0.297275] in0 [ 0.29727501] time 0.297275 result_data (0.29727500677108765,) Ran 1 test in 0.002s OK ---------------------------------------------------------------- src_data [836.297275] in0 [ 836.29730225] time 836.297 result_data (836.2973022460938,) Ran 1 test in 0.003s FAILED (failures=1) Did I missed something when I read the input from gnuradio? Could anyone help me with this issue? Thanks! Best regards, Ziang Gao. Sent from my iPhone _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio