Happy 4th to everyone! I am doing a QA test and it goes into an infinite loop and there is nothing in my code to explain this, except my misunderstanding of writing code for Gnuradio.
I am working with the general model because I have M input samples to every N output samples (M and N are not equal and the ratio of M:N does not allow me to use the decimator, the ratio can be anything, let's choose a ratio say 5:4). In the forecast method I tried to inform GnuRadio of the relationship between input and output samples as follows: ninput_items_required[i] = noutput_items + self.delta where self.delta was defined in the class initialization def __init__(self,......): ... ... self.delta = delta = 2 Here is a simplified version of my code in the general_work method: in = input_items[0] out = output_items[0] jj =0 for n in range(0, len(in)-4, 4): # read in 4 samples at a time reg = np.array([1,1,1,1]) input = in[n:n+4] reg = reg + input print('reg = { }'.format(reg)) for k in range(0,2) out[jj] = reg[k] jj = jj+1 return len(output_items[0]) The QA input vector is [0,1,2,3,4,5,6,7] When I ran the QA test, the program ended up in an infinite loop (I cannot see how this happens). I put a print statement to see what was happening with reg and saw the following results: reg = [1, 2, 3, 4, 5 ] reg = [4, 5, 6, 7, 8], and, it keeps repeating these values (infinite loop somewhere). Q1. It is computing reg correctly, but acts like the input vector [0,1,2,3,4,5,6,7] which occurs once in the QA test file repeat infinitely, why is this happening, the code loop looks good to me? , Q2. Can the forecast method be messing things up, in the way that I am trying to pass the relationship between the number of inputs (M) to outputs (N) ? Will appreciate any help pointing me in the right direction. Regards George