Вы умный.Тема простая, но устоявшиеся представления обычно препятствуют возможности увидеть проблему иначе.
Насчет пурги. Вы наверное имеете ввиду что-то неясное?
Попробую пояснить... Опасаюсь что еще эмоции заплестнут - а ведь может лучше попробовать понять не понятное?
Шарлатан я, "пургист", и еще что-то такое, или за мной может стоять что-то содержательное - решать Вам.
В первых случаях все просто - дальше не читаете, потраченное время можно компенсировать заслуженными наградами - ярлыки , негатив и т.п.
К этому я равнодушен.
Если тема интересна, то готов последовательно и насколько получится подробно рассказывать о подходах к проектированию.
--------------
Еще немного простой теории о проектировании программного обеспечения - он получил название системный подход к проектированию "Сверху вниз". Возможно он известен, но по моим наблюдениям в среде Ардуинщиков не очень.
Суть подхода. Часто в начале проектируют исполнительные блоки, а затем их связывают между собой. Для этого приходится вводить условия, согласующие блоки, конвекторы и т.п. Проект разрастается, разрастается, много связей - один блок следует за другим и т.д.
В результате получается очень сложная схема, которую и прочитать порой сложно - такой подход иногда называют "спагетти" - переплетенные макароны.
Системный подход подразумевает, что всегда есть один главный блок, который вызывает подчиненные блоки. Подчиненные блоки могут вызывать другие блоки вниз, но ВСЕГДА управление возвращается в точку ВЫЗОВА. Требование к проектируемым блокам - ограниченное кол-во входных и выходных параметров.
Если блок не понятен и сложен, или нет времени, то вместо него проектируется ЗАГЛУШКА, которая имеет зафиксированные входы/выходы, но не выполняет действий.
Из этого, вроде простого подхода, вытекает важное следствие - все значимые ДАННЫЕ должны быть отделены от блоков, строго описаны, модификация их как правило осуществляется только в одном блоке.
---------------
При таком подходе в начале определяются ДАННЫЕ, БЛОКИ, а решение проблемы достигается последовательностью выполнения спроектированных блоков. Для этого используются флаги, семафоры, диспетчеры и другие вспомогательные средства для реализации нужной последовательности, которая может меняться в зависимости от ДАННЫХ.
Таким образом реализуется МНОГОПОТОЧНОСТЬ при выполнения проектов.
--------------
Для реализации гибкой последовательности выполнения ЗАДАЧ_RT ecoins и разработало ДИСПЕТЧЕР и еще набор дополнительных блоков.
-------------
По кнопкам. Особо не вникал в алгоритм, но он просто разрешится при проектировании сверху вниз.
------------
Возможно разочаровал не конкретностью решения задачи - но ведь сложные задачи так и решаются. Через применяемые МЕТОДЫ - после этого и сложность задач воспринимается иначе.
-----------
Спасибо, если дочитали до конца.
Отправлено спустя 2 минуты 12 секунд:
---
P.S. а какие у Вас очки? У меня -4.