Оператор Switch или IF

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

дык, не гнобили, а призывали (как я понял) где можно использовать digitalRead не пихать класс, и на if с case не накладывать конечный автомат.

а так да, Пух, красавец!

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

xDriver пишет:
я надеюсь это будет мега-графический-класс-на автоматах?

Нет,надо более глубокое вхождение. Некий графический движок с объектами.

ua6em
ua6em аватар
Онлайн
Зарегистрирован: 17.08.2016

ПУХ, ты чего свои автоматы плохо пропагандируешь? Меня интересует классы каких устройств для автоматов уже реализованы, пора уроки давать...

PS ты же своими автоматами  с концепцией ардуино угадал 100% смотрел твои классы просто как черный ящик, по сути digitalRead -digitalWrite и получается и даже класс кнопки чуток посмотрел, то-есть там реализовано и нажатие и отпускание оказывается...

PPS давай колись )))

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

ua6em пишет:
гнобили )))
Гнусная клевета! Я вот так посильно помогал.

ua6em
ua6em аватар
Онлайн
Зарегистрирован: 17.08.2016

Ворота пишет:

ua6em пишет:
гнобили )))
Гнусная клевета! Я вот так посильно помогал.

да не, как говорят художники...это моё видение... )))
PS Тоже + поставил, может вернётся еще какими объектами для автомата, было бы интересно, с утреца хотел посмотреть насколько функции блокирующие

rx9chy
Offline
Зарегистрирован: 12.02.2019

b707 пишет:
Ну так зачем вы свой switch запихнули внутрь процедуры блинк? Заведите переменную номер режима для кейса и внутри блинк делайте только установку этой переменной, а весь код вынесите в основную программу

Отлично, все заработало как надо! И автоматика не прошла мимо меня, она просто убегает от меня в противоположную сторону :))

Всем большое спасибо! 

Состряпанный код "РЕЛЕ ЗАДЕРЖЕК" для управления циркуляционным насосом с выбором режима работы и управлением через приложение Blynk "MENU". 

#define Relay D1         //Реле
#define BLYNK_PRINT Serial        //Библиотека BLYNK
#include <ESP8266WiFi.h>          //Библиотека ESP
#include <BlynkSimpleEsp8266.h>   //Библиотека BLYNK

//Генераторы gen1 и gen2
extern "C" {
#include "user_interface.h";
}
bool statusBlynk;
bool _swi1; //bool для проверки логических условий или как флаг состояний, как выключатель - ВКЛ и ВЫКЛ (true и false)
bool _gen1I = 0; 
bool _gen1O = 0;
unsigned long _gen1P = 0UL; //_gen1P переменная, OUL присваиваемое значение
bool _gen2I = 0;
bool _gen2O = 0;
unsigned long _gen2P = 0UL;

char auth[] = "Токен авторизации";
char ssid[] = "Логин  WIFi";
char pass[] = "Пароль WIFi";                         

void setup() {
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  pinMode(Relay, OUTPUT);
  }
  //Blynk интерфейс "MENU"
  BLYNK_WRITE(V12){  
  switch(param.asInt()){
    case 1: //Item 1
      statusBlynk = 0;
      Serial.println("statusBlynk = 0");
      break;
    case 2: //Item 2
      statusBlynk = 1;
      Serial.println("statusBlynk = 1");
      break;
    }}
  
void loop(){
  Blynk.run();

if (1) {if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P =  millis(); } } else { _gen1I = 0 ;  _gen1O= 0;  } if (_gen1I ) { if (_gen1O) { if ( _isTimer( _gen1P , 500 )) { _gen1P = millis(); _gen1O = 0; } } else  { if ( _isTimer( _gen1P , 100 )) {  _gen1P = millis(); _gen1O = 1;  } } }
if (1) {if (! _gen2I) { _gen2I = 1; _gen2O = 1; _gen2P =  millis(); } } else { _gen2I = 0 ;  _gen2O= 0;  } if (_gen2I ) { if (_gen2O) { if ( _isTimer( _gen2P , 2000 )) { _gen2P = millis(); _gen2O = 0; } } else  { if ( _isTimer( _gen2P , 1000 )) {  _gen2P = millis(); _gen2O = 1;  } } }
if(statusBlynk == 0)  //переменная
{_swi1=_gen2O;}
else
{_swi1=_gen1O;}
digitalWrite(Relay, _swi1);
Serial.print("statusBlynk_________");
Serial.println(statusBlynk);
  }

bool _isTimer(unsigned long startTime, unsigned long period )
  {
  unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
  }

 

ua6em
ua6em аватар
Онлайн
Зарегистрирован: 17.08.2016

мне 59 строка не нравится

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

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