Showing the steps and HR each second

Hello, guys!

I've faced with the problem of showing of the steps and HR for every second

Here is my code

function onUpdate(dc) {
    View.onUpdate(dc);
	drawInterface(dc);
	
	if (System.getClockTime().sec%5 == 0){
		System.println("GO");
		onPartialUpdate(dc);
	}
}

function onPartialUpdate(dc){
	new ODR001Fields().drawFieldsPart(dc);
}

function drawFieldsPart(dc){


    	if (info has :steps) {
			steps = info.steps;
		}
		
    	dc.setColor(BGF, Graphics.COLOR_TRANSPARENT);
		dc.setClip(	0.207*length - dc.getTextDimensions(steps.toString(), digitFieldsFont)[0]*0.5, 
					0.5728*length - dc.getTextDimensions(steps.toString(), digitFieldsFont)[1]*0.5, 
					dc.getTextDimensions(steps.toString(), digitFieldsFont)[0]*1, 
					dc.getTextDimensions(steps.toString(), digitFieldsFont)[1]*1);			
		dc.fillRectangle(	0.207*length - dc.getTextDimensions(steps.toString(), digitFieldsFont)[0]*0.5, 
							0.5728*length - dc.getTextDimensions(steps.toString(), digitFieldsFont)[1]*0.5, 
							dc.getTextDimensions(steps.toString(), digitFieldsFont)[0]*1, 
							dc.getTextDimensions(steps.toString(), digitFieldsFont)[1]*1);					
		dc.setColor(TBGF, Graphics.COLOR_TRANSPARENT);
		dc.drawText(0.207*length, 0.5728*length, digitFieldsFont, steps, Graphics.TEXT_JUSTIFY_CENTER|Graphics.TEXT_JUSTIFY_VCENTER);
		dc.clearClip();
		
		
	    var previous = "";
	    if ((Toybox has :SensorHistory) && (Toybox.SensorHistory has :getHeartRateHistory)) {
	    	var sensorIter = Toybox.SensorHistory.getHeartRateHistory({});
	    	System.println(sensorIter.next().data);
	    	previous = sensorIter.next().data;
	    }
	    
	    if (previous == null) {
	        previous = "00";
	    }
	    
		
		
		dc.setClip(	x - dc.getTextDimensions(previous.toString(), pulseDigitFont)[0]*0.5, 
					0.78*length - dc.getTextDimensions(previous.toString(), pulseDigitFont)[1]*0.5, 
					dc.getTextDimensions(previous.toString(), pulseDigitFont)[0]*1, 
					dc.getTextDimensions(previous.toString(), pulseDigitFont)[1]*1);
		dc.setColor(BGA, Graphics.COLOR_TRANSPARENT);

		dc.fillRectangle(	x - dc.getTextDimensions(previous.toString(), pulseDigitFont)[0]*0.5, 
							0.78*length - dc.getTextDimensions(previous.toString(), pulseDigitFont)[1]*0.5, 
							dc.getTextDimensions(previous.toString(), pulseDigitFont)[0]*1, 
							dc.getTextDimensions(previous.toString(), pulseDigitFont)[1]*1);
		dc.setColor(TBGA, Graphics.COLOR_TRANSPARENT);
		
		dc.drawText(x, 0.775*length, pulseDigitFont, previous, Graphics.TEXT_JUSTIFY_CENTER|Graphics.TEXT_JUSTIFY_VCENTER);	
		
		dc.clearClip();
		
    }

So, it's working just fine in the sim, but on my Fenix 5X neither steps neither HR updates every second. These fields update in a minute instead

What I'm doing wrong?