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; } }
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); } }