 VLLV (13.04.2019 22:45, просмотров: 496) ответил Скрипач на Ну и чего я тогда не понял? В моей предметной области это не удобно. Слишком много чисто технологических задержек. Дункелс рулит.
 VLLV (13.04.2019 22:45, просмотров: 496) ответил Скрипач на Ну и чего я тогда не понял? В моей предметной области это не удобно. Слишком много чисто технологических задержек. Дункелс рулит.
То, что может быть неудобно, я принимаю, сам недавно обсуждал эту тему в команде, чтобы "система" не пожирала ресурсы. Но разговор ушел немного в сторону, от противостояния goto и переменной состояния типа такого: void WhatToShowProcess(void)
{	
	switch (show_state)
	{	case showREQUIRED_TEMP:
			if ( (corr_state == corTUNING) ||
				 (corr_state == corSAVE ) )
				show_state = showTUNING_TEMP;
			else
			{	if ( (motor_delay > 0) && 
					 ( motor_delay < SWITCH_SHOW_TIME_100MS - 1)
					)
					show_state = showMOTOR;
				else
				{	if ( (pump_delay>0) && 
						 ( pump_delay < SWITCH_SHOW_TIME_100MS - 1 )
						)
						show_state = showPUMP;
				}
			}
			break;
		case showTUNING_TEMP:
			if (	(corr_state != corTUNING) && 
					(corr_state != corSAVE) )
			show_state = showREQUIRED_TEMP;
			break;
		case showMOTOR:
			break;
		case showPUMP:
			if (pump_delay == 0)
				show_state = showREQUIRED_TEMP;
			break;
	}
}
Не дописано, к понедельнику задержки будут внутри автомата, как хотелось :)