Further correction to digitalagc
authordttsp <dttsp>
Fri, 3 Jun 2005 17:07:47 +0000 (17:07 +0000)
committerdttsp <dttsp>
Fri, 3 Jun 2005 17:07:47 +0000 (17:07 +0000)
jDttSP/digitalagc.c
jDttSP/main.c

index c9fc7e50d6ddec02ceeda7629939fd2ece06dc4c..4970919bdb29ae54449ccdb5ce2888e9d0086383 100644 (file)
@@ -85,7 +85,7 @@ DigitalAgc(DIGITALAGC a, int tick) {
     }
 
     a->sndx = (a->sndx + CXBsize(a->buff)) % a->mask;
-    a->indx = ((a->indx + 1) % hang);
+    a->indx = (a->indx + 1) % hang;
   }
 }
 
index b288112caa433f8b82635e47018ecf125d367752..ac64eb2597a8d1a741d6862c687a906863467a9b 100644 (file)
@@ -246,7 +246,18 @@ run_swch(void) {
       float w = (float) i / m;
       top.hold.buf.l[i] *= w, top.hold.buf.r[i] *= w;
     }
+
     uni.mode.trx = top.swch.trx.next;
+    switch (uni.mode.trx) {
+      int i;
+    case TX:
+      tx.agc.gen->over = tx.tick + 3;
+      break;
+    case RX:
+      for(i = 0; i < uni.multirx.nrx; i++)
+       rx[i].agc.gen->over = rx[i].tick + 3;
+      break;
+    }
 
     top.state = top.swch.run.last;
     top.swch.bfct.want = top.swch.bfct.have = 0;