uni.multirx.lis = 0;
uni.multirx.nrx = loc.def.nrx;
+
+ uni.mix.rx = uni.mix.tx = 1.0;
+
uni.tick = 0;
}
REAL pos = 0.5, // 0 <= pos <= 1, left->right
theta = (1.0 - pos) * M_PI / 2.0;
rx[k].azim = Cmplx(cos(theta), sin(theta));
+ fprintf(stderr, "azim %f %f\n", rx[k].azim.re, rx[k].azim.im);
}
rx[k].tick = 0;
come here when there are buffers to work on */
void
-process_samples(float *bufl, float *bufr, int n) {
+process_samples(float *bufl, float *bufr,
+ float *auxl, float *auxr,
+ int n) {
int i, k;
switch (uni.mode.trx) {
CXBhave(rx[k].buf.o) = n;
}
+ for (i = 0; i < n; i++)
+ bufl[i] += auxl[i] * uni.mix.rx,
+ bufr[i] += auxr[i] * uni.mix.rx;
+
break;
case TX:
+
+ for (i = 0; i < n; i++)
+ bufl[i] += auxl[i] * uni.mix.tx,
+ bufr[i] += auxr[i] * uni.mix.tx;
+
for (i = 0; i < n; i++)
CXBimag(tx.buf.i, i) = bufl[i], CXBreal(tx.buf.i, i) = bufr[i];
CXBhave(tx.buf.i) = n;
+
do_tx(), tx.tick++;
+
for (i = 0; i < n; i++)
bufl[i] = (float) CXBimag(tx.buf.o, i), bufr[i] = (float) CXBreal(tx.buf.o, i);
CXBhave(tx.buf.o) = n;
+
break;
}