Для reset86 про интервалы
- Войдите на сайт для отправки комментариев
Сб, 27/03/2021 - 14:53
Не знаю, кто тему снёс, это не я
uint8_t GetDayPeriod(const uint8_t AHours, const uint8_t AMinutes) { uint16_t time = 60U * AHours + AMinutes; if (time < TIME_NIGHT) return EVENING; if ((time > TIME_EVENING) || (time < TIME_MORNING)) return NIGHT; if (time < TIME_DAY) return MORNING; if (time < TIME_EVENING) return DAY; return EVENING; }
Пропробуй пока этот костыль, я счас рабочее решение найду
Нет, этот костыль работать не будет, счас исправлю, подожди полчаса
Нет, этот костыль работать не будет, счас исправлю, подожди полчаса
Опасаюсь за твое здоровье, друг! Мошт накатить ннада? ;))
еще рано, я, как сонце сядет, пойду, головою свесясь, переулком, в знакомый ларёк.
пойду, головою свесясь, переулком, в знакомый ларёк.
По Неглинной на лево, ресторан Берлин?
Нужно, канеш, чтоб времена не перекрывались, иначе будет работать неправильно. По-хорошему, нужно делать массив структур и сортировать перед вызовом. Вопщем проверяй, обрати внимание, что типы констант поменялись. Напиши потом, чотам как, я проверял ставил TIME_NIGHT на 00:10 и на 23:10, но глубоко не тестил.
Отпишись обязательно, я просто так деньги не беру, верну, если што.
По Неглинной на лево...?
Нету в моей российской ширинке таких улиц.
Деда, он того не стоит.
А всего то надо два варианта по тому, ночь наступает до полуночи или после. Его код в первом сообщении тоже пойдет.
Det!!! Я ж не зря писал про модуль!
тестируй на чем хошь!
ты, походу, операцию деления сильно ненавидишь! ;))) Прав? Или только остаток от деления? Остатки и я недолюбливаю, честно говоря! ;)))))
Я сделал так, но это тоже костыль, так как возможен вариант, когда виртуальный день, условно может быть ночью по часам. Гляну сейчас тот код, но возвращать в любом случае ничего не надо.
Ну да, можно и так, так громоздче.
Дак это же надо сразу в ТЗ обговаривать
тогда это надо делать по правильному, писать универсальный код, на что я счас уже не способен, я в гамазин пошёл. Завтра.
b707
Тот код изначально, что я выложил, он рабочий, но только проблема была в том, что если выключить питание и включить в 15.30 например, то код не смог бы понять какой период времени, до достижения следующей уставки. А второй пример, что я привел, имел проблему с 0 часов, это все было понятно, но почему то никто не понял.
И да, 86 это год рождения, а программированием я занимаюсь с 2007 года и не стал бы задавать вопрос, если бы было все так просто, хотя вроде с первого взгляда все просто, а вот и нет, именно по этой причине я в той теме и глумился, потому что люди не искали решение, а самоутверждались (как и в многих других темах), даже не вникнув в суть проблемы.
DetSimen
Я надеялся, что по тому коду с комментариями, что я выкладывал, это будет понятно. Но в принципе, я так подумал, то можно так же через условие, как вариант с до полуночи и после, все остальные варианты продумать, хотя да, громоздко получится. Но пока остановлюсь на этом варианте и так много времени убил, позже вернусь к этому вопросу, возможно найду какое то более изящное решение, но в любом случае, спасибо за помощь.
проблема была в том, что если выключить питание и включить в 15.30 например, то код не смог бы понять какой период времени, до достижения следующей уставки.
Что за бред ?
Тот код изначально, что я выложил, он рабочий, но только проблема была в том, что если выключить питание и включить в 15.30 например, то код не смог бы понять какой период времени, до достижения следующей уставки
Потому что ты в сравнении использовал равенство, а надо было >= и <=. Тогда твой код в любой момент времени знал бы, какой сейчас интервал, а не только в момент его наступления
DetSimen
Я так подумал, у меня в настройках предусмотрена смена часового пояса, так что для таких случаев, если нужно будет сделать виртуальный день, реальной ночью, можно будет просто изменить часовой пояс.
В общем, я так и сделаю, просто в инструкции укажу этот момент.
Kakmyc
Мне кажется просто ты не в теме, я не помню что бы ты в той теме был, по этому только для тебя это бред.
Ну, я тебе сёдня точно ничего не должен?
DetSimen
Забей, оставлю с проверкой до и после полуночи.
Да. И я тебе кусок своего кода приводил, который у меня в курятнике работает - включает свет в 5:00 и выключает в 16:00. Там по барабану, когда питание включилось, нужный интервал определяется сразу же, а не ждет, когда уставка сработает.
Ресет86, то что ты "типа" программируешь с 2007 г - абсолютно ничего не значит, мы тут видали "программистов с 20летним стажем", которые спрашивали как составить цикл фор.
В твоих задачках нет вообще ничего сложного, они элементарны, твоя проблема в том, что ты не умеешь писать по русски. Обычно это связано - если человек не в состоянии сформулировать задачу на человеческом языке - он и запрограммировать ее не сможет.
Ты еще довольно молод, не все потеряно, развивай язык, больше читай
Судя по картинкам - ты это не только для себя пишешь. Не завидую твоим клиентам, ибо гонору у тебя много, а знаний нет.
707-ой! В моем сообщении №10 с кодом для компа приведено решение в ОДНУ строчку:
время Х(в минутах) внутри интервала А..В, если ((Х-А) % 1440 < (B-A) % 1440) фсё, блеать!!!!!!! Это верно всегда, для любых А, В, Х в суточном круге от 0 до 1439 минут!!!!!
Реально уже тупость заебала! Даже Дет достал своими попытками обойтись без знака "%", зато кучей if в правильной последовательности!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! БЛЯ!
Дет! Я понимаю ТС - он мудак изначально, но ведь ты программист!??? Не могу понять тебя. Сорри.
Влад, не суетись. У большинства задачек много неправильных решений, но и правильных обычно не одно:)
Реально уже тупость заебала!
Граф, ну при Вашей продолжительности жизни Вы должны уже были привыкнуть...
Мне понравилось: В России есть две проблемы - дороги и дураки.
Одну можно решить большим количеством гравия, земли, тяжелой техникой, колючей проволокой, собаками. Хорошими руководителями. Но что делать с дорогами?
Реально уже тупость заебала! Даже Дет достал своими попытками обойтись без знака "%", зато кучей if в правильной последовательности!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! БЛЯ!
Ну так я, к своим годам, напрочь пропил весь интеллектуальный потенциал, что ж ты от меня невозможного требуешь. :)
"существует 99 способов, сто профессор сто, первый лёжа...тогда сто один"
Специально для тебя записал.
https://www.youtube.com/watch?v=eD4gk77GEl8
я код не смотрел, так как ни разу не программист, вот не пойму в чём проблема если использовать 24 часовой формат времени то-есть от 0 до 1440 и, делать включение/выключение в этом диапазоне...
Специально для тебя записал.
https://www.youtube.com/watch?v=eD4gk77GEl8
Беда в том, что ты реально не понимаешь ))
Вот проверенный код для Нано.
Вот вывод:
Жду извинений. Их, конечно, будет недостаточно!!!
И в догонку.
1. Помогать тебе, дорогой, никто не обязан.
2. Операция "%" называется не ДЕЛЕНИЕ БЕЗ ОСТАТКА, а ОСТАТОК ОТ ДЕЛЕНИЯ или ВЗЯТИЕ ПО МОДУЛЮ, безграмотное ты создание!
3. В сообщении №10 приведен код, ПРОВЕРЕННЫЙ, который можно запустить на компе или в любом онлайн IDE, если у лишенца нет компилятора С на компе. То есть ты еще и наврал, что верх бесстыдства!
В целом ты проявил мудачество выше крыши.
И в догонку.
скорее всего ТС не понял, что если есть некоторая переменная тикающая поминутно от 00:00 то % всегда будет возвращать число минут от нулевого времени, независимо сколько дней прошло...
И, "дальше делай, всё что хош"
Вот проверенный код для Нано.
Жду извинений. Их, конечно, будет недостаточно!!!
Куды тебе теперь пицот рублей слать? Я их уже, правда, пропил. :) другие пришлю.
P.S. Видео пока не смотрел, по причине благоприобретенной косоватости, завтра паматрю. Надеюсь, про меня тама плохого нет. :)
Дет, дорогой! У меня уже есть 500р и 5000р. и 50000р. и пицот тыщ тоже ;))) так что пей на здоровье! Лехаим!
Если ты в контакте с этим мудаком, пусть извинится. Ничего больше не надо.
Еще нужно сказать обязательно.
Я дам ответ на вопрос, почему код из сообщения №10 работает на компе, в любой среде, но у мудака ничего не получилось.
Женя точно знает ответ, Дет, даже если не знает, то знает как получить ответ за 5 минут. Остальные - опишу ТОЛЬКО после извинений от мудака. Тут много людей, знающих где искать стандарты С/С++. Может еще кто захочет помочь страждущим.
Добавлю, что это не "глюк Ардуино", а именно нормальная штатная работа компилятора.