+#if HAS_RADIO_CHANNELS
+void
+ao_config_radio_config_show(void) __reentrant
+{
+ uint8_t i;
+ for (i = 0; i < AO_NUM_CHANNELS; i++)
+ if (ao_config.radio_channels[i].name[0]) {
+ printf("%2d %-16.16s %ld\n",
+ i,
+ ao_config.radio_channels[i].name,
+ ao_config.radio_channels[i].kHz);
+ }
+}
+
+void
+ao_config_radio_config_set(void) __reentrant
+{
+ __xdata struct ao_radio_channel * ch;
+ uint8_t i;
+ ao_cmd_decimal();
+ if (ao_cmd_status != ao_cmd_success)
+ return;
+ if ((uint8_t) ao_cmd_lex_i >= AO_NUM_CHANNELS) {
+ ao_cmd_status = ao_cmd_syntax_error;
+ return;
+ }
+ ch = &ao_config.radio_channels[(uint8_t) ao_cmd_lex_i];
+ _ao_config_edit_start();
+ ao_cmd_white();
+ i = 0;
+ while (ao_cmd_lex_c != '/' && ao_cmd_lex_c != '\n' && i < AO_CHANNEL_NAME_LEN) {
+ ch->name[i++] = ao_cmd_lex_c;
+ ao_cmd_lex();
+ }
+ if (i < AO_CHANNEL_NAME_LEN) {
+ ch->name[i] = '\0';
+ ao_cmd_lex();
+ }
+ ao_cmd_decimal();
+ ch->kHz = ao_cmd_lex_u32;
+ _ao_config_edit_finish();
+}
+#endif
+