• In the code there are no syntax errors it builds and runs fine, below part of code:

    function TObj_1(_pin)
    {	
    	/*** константы класса ***/
    	this.MinPulse = 453.0; //минимальная длительность импульса которая соответствует крайнему "меньшему" положения ротора
    	this.MaxPulse = 2050.0; //макисмальная длительность импульса которая соответствует крайнему "меньшему" положения ротора
    	this.Ks = 8.7; //коэффициент преобразования в ф-ции Y=kA+B (линейная кривая самого сервопривода
    		
    	/*** поля класса ***/
    	this.Pin = null; //пин микропроцессора на котором "сидит" сервопривод
    	this.Value = 0.0; //конечное значение яркости свечения
    	this.CurValue = 0.0; //текущее значение яркости свечения
    	this.Speed = 0.0; //текущая скорость процесса
    
    	this.Pin = _pin; //задать пин к которому привязан сервопривод
    }
    TObj_1.prototype.BunRunAnimation = function()
    {
    	this.FlagBunAnimation = true; //запретить "ручной" запуск Animation(...)
    		this.StopAnimation(); //остановить текущую анимацию
    };
    
    function TObj_2(_tobj_1)
    {
    	this.PHASE_ARR = [ "START_MOVE", "START_WAIT", "DOWN_MOVE", "DOWN_WAIT", "UP_MOVE", "UP_WAIT" ];
    	
    	this.ANGLE_START = 30; //конечный угол ротора фазы START_MOVE
    	this.ANGLE_UP = 20; //конечный угол ротора фазы UP_MOVE
    	this.ANGLE_DOWN = 0; //конечный угол ротора фазы DOWN_MOVE
    	
    	this.TIME_START = 15; //время нахождения в позиции START_WAIT, секунд
    	this.TIME_UP = 0.5;  //время нахождения в позиции UP_MOVE, секунд
    	this.TIME_DOWN = 0.7;  //время нахождения в позиции UP_WAIT, секунд
    		
    	this.SPEED_START = 25; //скорось движения ротора в фазе START_MOVE, %/s
    	this.SPEED_UP = 40;  //скорось движения ротора в фазе UP_MOVE, %/s
    	this.SPEED_DOWN = 25;  //скорось движения ротора в фазе DOWN_MOVE, %/s
    	
    	this.INTERVAL_PLAY = 60.0; //определяет период в ms запуска внутренней ф-и setTimeout
    	
    
    	this.Obj1 = _tobj_1; //инициируем поле объектом класса Servo
    };
    TObj_2.prototype.TaskRun = function()
    {
    	let _this = this;
    	
    	if( !_this.FlagTaskRun )
    		{
    			_this.FlagTaskRun = true; 
    				_this.Obj1.BunRunAnimation(); //Error !
    			
    			_this.CurPhase = _this.PHASE_ARR[0]; 
    		}
    		
    	switch(_this.CurPhase)
    	{
    		case "START_MOVE":
    							if( !_this.FlagSTART_MOVE )
    							{
    								_this.Obj1.AnimationTask(_this.ANGLE_START, _this.SPEED_START);
    									_this.FlagSTART_MOVE = true;
    							}
    							else
    							{
    								if ( !_this.Obj1.GetStatusRunAnimation() ) //Error !
    								{
    									_this.CurPhase = _this.PHASE_ARR[1]; 
    										_this.FlagSTART_MOVE = false; 
    								}
    							}
    							
    			break;
    };
    
About

Avatar for Konkery @Konkery started