Замена dalay в цикле for

bantell
Offline
Зарегистрирован: 12.08.2019

Здравствуйте, уважаемые форумчане! Прошу помощи тк столкнулся с проблемой.

Есть модуль управления аквариумом который зависает раз в несколько дней по непонятным причинам. А на нем завязана вся экосистема. Решено было привязать watchdog'a - но максимальное время у него (вроде как 8 секунд). Соответственно, есть пара мест где требуются переделки чтобы прикрутить его. имеется 2 цикла с задержками - 1 сервопривод для кормушки, 2й - рассвет на управляемых светодиодах - тк там используется dalay - то вочдог думает что произошло зависание. Как я не пытался скундными знания переделать делей на millis - именно в циклах сталкнулся с проблемой. Либо работает не так, либо работает ровно так же как и с daley.

Код серво-кормушки

===

......
 
===

Код рассвета

====

......
 
====

Может быть кто-то сталкивался с подобным?

b707
Offline
Зарегистрирован: 26.05.2017

вставьте код как положено, до этого по коду никто ничего обсуждать не будет

bantell
Offline
Зарегистрирован: 12.08.2019

b707 пишет:

вставьте код как положено, до этого по коду никто ничего обсуждать не будет

Вы всех уведомите и запретите? :)

код сервопривода:

myservo.attach(SERVO_PIN);
 
  int i = 1;
  do {
    if (millis() - FeedTime > 5000) {
      FeedTime = millis();
      myservo.write(0);
      myDelay(FeedDelay * 100);
      myservo.write(120);
      myDelay(FeedDelay * 100);
      i++;
    }
  } while (i < 5);
  
  myservo.detach();

Код функции рассвета:

for (int f = 10; f < 240; f++) {
    strip.setBrightness(f);
    for (int i = 0; i < NUM_LEDS; i++ ) {
      strip.setPixelColor(i, 0xFF3000);// залить жёлтым 0xff80ff
    }
    strip.show();
    delay(3000);
    f = f + 4;
  }
DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

bantell пишет:

Вы всех уведомите и запретите? :)

Тех, кто может помочь и уведомлять не надо, они читали правила сайта.  Если ты не удосужился - проблема твоя. 

Logik
Offline
Зарегистрирован: 05.08.2014

Просче - дергать watchdog изнутри долгих циклов. Правильней - переписать все без делея, но скудные знания не дадут.

bwn
Offline
Зарегистрирован: 25.08.2014

Пока есть for, никакой миллис не спасет. Делайте обычный счетчик, который будет давать приращение до заданной величины по интервалам отмеряемым миллисом.
И не надо ерничать по поводу правил, почитайте начало песочницы, там ясно описано для чего надо вставлять код правильно, если самому это неочевидно.

bantell
Offline
Зарегистрирован: 12.08.2019

DetSimen пишет:

bantell пишет:

Вы всех уведомите и запретите? :)

Тех, кто может помочь и уведомлять не надо, они читали правила сайта.  Если ты не удосужился - проблема твоя. 

на брудершафт не пили, тыкать себя сам будешь) если времени полно - хоть наизусть их выучи, вместо пустого флуда. Комплексы из детства?

bantell
Offline
Зарегистрирован: 12.08.2019

bwn пишет:

Пока есть for, никакой миллис не спасет. Делайте обычный счетчик, который будет давать приращение до заданной величины по интервалам отмеряемым миллисом.
И не надо ерничать по поводу правил, почитайте начало песочницы, там ясно описано для чего надо вставлять код правильно, если самому это неочевидно.

спасибо вам за наводку, постараюсь копать в этом направлении. По поводу правил - это был такойже подкол какой прилетел и мне, причём просто в пустом виде. Я не лезу в чужой огород со своими правилами, просто либо предупреди и помоги советом, либо вообще мимо пройти. А тут как бабки на базаре от безделия каждый ждёт чтоб 3копейки словоблудия вставить. От того напишу я привет или выделю слово жирным зелёным - суть слова то не изменится. Кто поймёт о чем речь, тот поймёт - любой здравомыслящий человек это прекрасно понимает. 

bwn
Offline
Зарегистрирован: 25.08.2014

bantell пишет:

DetSimen пишет:

bantell пишет:

Вы всех уведомите и запретите? :)

Тех, кто может помочь и уведомлять не надо, они читали правила сайта.  Если ты не удосужился - проблема твоя. 

на брудершафт не пили, тыкать себя сам будешь) если времени полно - хоть наизусть их выучи, вместо пустого флуда. Комплексы из детства?

Сейчас еще чуть почитаю и снесу тему нах.

b707
Offline
Зарегистрирован: 26.05.2017

bantell пишет:

на брудершафт не пили, тыкать себя сам будешь) если времени полно - хоть наизусть их выучи, вместо пустого флуда. Комплексы из детства?

с таким подходом самое вероятное что ТЫ получишь - это посыл на 3 буквы с удалением темы.

Тем более что судя по вопросу, учиться ты не планируешь - а ждешь ответа с готовым решением

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

bantell пишет:

на брудершафт не пили

и не будем, я очень разборчив с кем пить. 

хотя, хорошие люди меня могут на "ты" и без этих ваших брудершавтов. :) 

bantell
Offline
Зарегистрирован: 12.08.2019

успехов)

Araris
Offline
Зарегистрирован: 09.11.2012

ТС неадекватен форуму, тема закрыта.