mp3.playFolder(r.golos + 1, hour + 1);
мне не совсем понятна логика его работы была...Не обязательно, для варианта "как сейчас" я же выше предложил компактный вариант:
void Vremy() {
static uint32_t VremyTime;
if (Vremy_flag == 1) {
VremyTime = millis();
Vremy_play_flag = 1;
Vremy_flag = 0;
}
if (Vremy_play_flag == 1 && (millis() - VremyTime) >= 3000) { // Пауза чтобы выговорилась кукушка
mp3.playMP3Folder((r.golos * 100) + (hour) ? hour : 24);
Serial.println((String) " ♫ " + hour + " часов");
if (hour == r.start_kuku) Utro_flag = 1;
if (hour == r.stop_kuku) Vecher_flag = 1;
Vremy_play_flag = 0;
}
}
mp3.playMP3Folder((r.golos * 100) + 27); // утро
mp3.playMP3Folder((r.golos * 100) + 28); // вечер
if ((i == 4) & (digit == 0)) Digit(digits[12], cursor); // если впереди ноль, то выключаем его, например 01:23 будет как 1:23
else
Digit(digits[digit], cursor); // иначе показываем символ
Спасибо архив перезалил.
Со вчерашнего дня смотрю на этот код - не понимаю.итог такой
mp3.playMP3Folder(((uint16_t)r.golos * 100) + ((hour) ? hour : 24));
if (Vremy_play_flag == 1 && (millis() - VremyTime) >= 3000) { // Пауза чтобы выговорилась кукушка
// mp3.playMP3Folder((r.golos * 100) + (hour) ? hour : 24);
mp3.playMP3Folder(hour ? (hour + r.golos * 100) : (24 + r.golos * 100));
Serial.println((String) " ♫ " + hour + " часов");
if (hour == r.start_kuku) Utro_flag = 1;
if (hour == r.stop_kuku) Vecher_flag = 1;
Vremy_play_flag = 0;
}
Да действительно.И вообще, а как оно должно переключаться, если этой переменной нет ни в структуре плеера и кроме файла "Kukushka" она нигде не используется?
Вы в железе проверяли?Это тоже самое, только лишние действия добавились, которые делать не нужно.
Второй вариант.Можно по подробнее? На других голосах нет вообще звука или вне зависимости от выбора всегда говорит первый голос?
M_BLOCK(GP_THIN, "", "Голос", RomCol,
GP.RADIO("golos", 0, r.golos, RomCol);
GP.LABEL("Алиса");
GP.BREAK();
GP.RADIO("golos", 1, r.golos, RomCol);
GP.LABEL("Женский");
GP.BREAK();
GP.RADIO("golos", 2, r.golos, RomCol);
GP.LABEL("Мужской");
GP.BREAK(););
// Кукушка
if (ui.form("/kuku")) {
ui.copyBool("kuku_check", r.status_kuku);
ui.copyInt("sta_ku", r.start_kuku);
ui.copyInt("sto_ku", r.stop_kuku);
ui.copyBool("kuku_mp3_check", r.kuku_mp3_check);
ui.copyBool("vrem_mp3_check", r.vrem_mp3_check);
ui.copyInt("golos",r.golos);
ui.copyInt("grom", r.grom_mp3);
mp3.setVolume(r.grom_mp3);
DFPlayer();
mem6.updateNow();
}
я не тестил, сейчас займусь)В итоге голоса не переключаются,говорит только Алиса.
У всех так.Или только у меня?
объявлена и используется в других местах)Я выше написал уже, судя по исходника с гитхаб, переменная "golos" нигде не объявлена и нигде кроме как в файле "Kukushka" не используется.
нет, считывается без проблем)забыл добавить.
да, обновленную версию не выкладывал, а так еще в вэб портале. Там сохранение работает исправно.На гитхабе по ссылке которыю вы прикрепили выше, упоминание переменной "golos" есть только в файле "Kukushka" и всё)
M_BLOCK(GP_THIN, "", "Голос",
M_TABLE("10px,170px", GP_ALS(GP_LEFT, GP_LEFT),
M_TR(GP.RADIO("golos", 0, r.golos), GP.LABEL("Алиса"));
M_TR(GP.RADIO("golos", 1, r.golos), GP.LABEL("Женский"));
M_TR(GP.RADIO("golos", 2, r.golos), GP.LABEL("Мужской"));););
mp3.playMP3Folder(((uint16_t)r.golos * 100) + ((hour) ? hour : 24));