Add normalize button, no auto attenuate when subtracting storage

pull/4/head
erikkaashoek 6 years ago
parent c12b661905
commit 2bd78e6ce4

@ -206,6 +206,7 @@ int GetAverage(void);
void set_storage(void);
void set_clear_storage(void);
void set_subtract_storage(void);
void toggle_normalize(void);
void toggle_waterfall(void);
void set_mode(int);
int GetMode(void);

@ -423,6 +423,20 @@ void set_subtract_storage(void)
dirty = true;
}
void toggle_normalize(void)
{
if (!setting.subtract_stored) {
for (int i=0; i<POINTS_COUNT;i++)
stored_t[i] = actual_t[i];
setting.subtract_stored = true;
} else {
setting.subtract_stored = false;
}
dirty = true;
}
extern float peakLevel;
void set_actual_power(float o)
{
@ -1616,7 +1630,7 @@ again:
redraw_request |= REDRAW_CAL_STATUS;
}
if (!in_selftest && setting.mode == M_LOW && setting.auto_attenuation && max_index[0] > 0) { // Auto attenuate
if (!in_selftest && setting.mode == M_LOW && setting.auto_attenuation && max_index[0] > 0 && !setting.subtract_stored) { // Auto attenuate
setting.atten_step = false; // No step attenuate in low mode auto attenuate
float old_attenuate = get_attenuation();
float actual_max_level = actual_t[max_index[0]] - old_attenuate;

@ -893,6 +893,9 @@ static void menu_storage_cb(int item, uint8_t data)
set_subtract_storage();
break;
case 3:
toggle_normalize();
break;
case 4:
toggle_waterfall();
break;
}
@ -1460,7 +1463,8 @@ static const menuitem_t menu_display[] = {
{ MT_CALLBACK,0, "\2STORE\0TRACE", menu_storage_cb},
{ MT_CALLBACK,1, "\2CLEAR\0STORED", menu_storage_cb},
{ MT_CALLBACK,2, "\2SUBTRACT\0STORED",menu_storage_cb},
{ MT_CALLBACK,3, "WATERFALL", menu_storage_cb},
{ MT_CALLBACK,3, "NORMALIZE", menu_storage_cb},
{ MT_CALLBACK,4, "WATERFALL", menu_storage_cb},
{ MT_KEYPAD, KM_SWEEP_TIME, "\2SWEEP\0TIME", NULL},
{ MT_CANCEL, 0, "\032 BACK", NULL },
@ -1656,10 +1660,13 @@ static void menu_item_modify_attribute(
if (item ==1 && setting.show_stored){
mark = true;
}
if (item == 3 && setting.subtract_stored){
if (item == 3 && setting.subtract_stored && setting.show_stored){
mark = true;
}
if (item == 4 && setting.subtract_stored && !setting.show_stored){
mark = true;
}
if (item == 4 && get_waterfall()){
if (item == 5 && get_waterfall()){
mark = true;
}
#ifdef __SPUR__

Loading…
Cancel
Save

Powered by TurnKey Linux.