ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1050496
VLLV (08.11.2020 19:37, просмотров: 3581)
Посоветуйте плз что-нибудь на тему описания логики автомата состояний интерфейса пользователя. 

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

Развитый интерфейс пользователя - меню, неменю(функции, непосредственно стартующие по кнопкам).

Все сделано через автомат состояний, давно работает, имеется около 80 состояний, проблем нет.


Но заказчик превзошел себя :(

Хочет интерактивную диагностику прибора - типа 1) засунь в задницу шланг 2) включи помпу 3) давление почувствовал -> 4) можно вынимать, если давления нет, то 5) добавь оборотов и т.д.

Все бы ничего, но внезапно образовались подпрограммы (типа промывки шланга перед тем, как вставить), состоящие из последовательности состояний автомата.

"Подпрограмм" до десятка, можно просто добавить переменную состояния, откуда была вызвана последовательность, вложений пока нет, но не факт, что не будет.

Что-то уже работает, но я задумался, туда ли я бегу.

Может, нужно было замутить реальный программный LIFO stack состояний.

Кто-нибудь занимался таким маразмом?

Эдак до собственного интерпретатора недалеко, не хочу.


Поделитесь мыслями, плз.


P.S. Cortex M0, сложные скриптовые языки не лезут