Example #1
0
void set_agc(int rx, int agc_mode) {
  SetRXAAGCMode(rx, agc_mode);
  SetRXAAGCSlope(rx,agc_slope);
  SetRXAAGCTop(rx,agc_gain);
  switch(agc_mode) {
    case AGC_OFF:
      break;
    case AGC_LONG:
      SetRXAAGCAttack(rx,2);
      SetRXAAGCHang(rx,2000);
      SetRXAAGCDecay(rx,2000);
      SetRXAAGCHangThreshold(rx,(int)agc_hang_threshold);
      break;
    case AGC_SLOW:
      SetRXAAGCAttack(rx,2);
      SetRXAAGCHang(rx,1000);
      SetRXAAGCDecay(rx,500);
      SetRXAAGCHangThreshold(rx,(int)agc_hang_threshold);
      break;
    case AGC_MEDIUM:
      SetRXAAGCAttack(rx,2);
      SetRXAAGCHang(rx,0);
      SetRXAAGCDecay(rx,250);
      SetRXAAGCHangThreshold(rx,100);
      break;
    case AGC_FAST:
      SetRXAAGCAttack(rx,2);
      SetRXAAGCHang(rx,0);
      SetRXAAGCDecay(rx,50);
      SetRXAAGCHangThreshold(rx,100);
      break;
  }
}
Example #2
0
static void agc_hang_threshold_value_changed_cb(GtkWidget *widget, gpointer data) {
  agc_hang_threshold=(int)gtk_range_get_value(GTK_RANGE(widget));
  if(agc==AGC_LONG || agc==AGC_SLOW) {
    SetRXAAGCHangThreshold(CHANNEL_RX0, (int)agc_hang_threshold);
  }
}