Abort any in-progress radio operation when changing radio channel
[fw/altos] / src / ao_config.c
index f8ea27feb54e6c9124efe526317fab397ac222ce..cbd639a5d026461571b9b979ceb79017327fd00a 100644 (file)
@@ -151,6 +151,7 @@ ao_config_radio_channel_set(void) __reentrant
        ao_config_dirty = 1;
        ao_mutex_put(&ao_config_mutex);
        ao_config_radio_channel_show();
+       ao_radio_abort();
 }
 
 #if HAS_ADC
@@ -377,13 +378,18 @@ ao_config_show(void) __reentrant
 void
 ao_config_write(void) __reentrant
 {
+       uint8_t saved = 0;
        ao_mutex_get(&ao_config_mutex);
        if (ao_config_dirty) {
                _ao_config_put();
                ao_config_dirty = 0;
-               printf("Saved\n");
+               saved = 1;
        }
        ao_mutex_put(&ao_config_mutex);
+       if (saved)
+               puts("Saved");
+       else
+               puts("Nothing to save");
 }
 #endif