private ArrayList<SensorMsg> linearInterpolation(SensorMsg start, SensorMsg end) {
		
		ArrayList<SensorMsg> data = new ArrayList<>();
		
		int start_num = start.getNumber();
		int start_temp = start.getTemperature();
		int start_light = start.getLight();
		long start_date = start.getTime();
		int end_num = end.getNumber();
		int end_temp = end.getTemperature();
		int end_light = end.getLight(); 
		long end_date = end.getTime();
		
		if ((start_num - end_num) > 1)	{
			for (int x = start_num + 1; x < end_num; x++) {
				/* Lineris interpollci kpletet alapjn */
				long y_date = start_date + ((end_date - start_date) * (x - start_num)) / (end_num - start_num);
				int y_temp = start_temp + ((end_temp - start_temp) * (x - start_num)) / (end_num - start_num);
				int y_light = start_light + ((end_light - start_light) * (x - start_num)) / (end_num - start_num);
			
				if (y_light > 1024 || y_temp > 800) continue; 
			
				data.add(new SensorMsg(y_date, x, y_temp, y_light));
			}
		} else {
			for (long y_date = (long) (start_date + avg_time_diff); y_date < end_date; y_date += avg_time_diff) {
				/* Lineris interpollci kpletet alapjn */
				int y_temp = (int) (start_temp + ((end_temp - start_temp) * (y_date - start_date)) / (end_date - start_date));
				int y_light = (int) (start_light + ((end_light - start_light) * (y_date - start_date)) / (end_date - start_date));
			
				if (y_light > 1024 || y_temp > 800) continue; 
			
				data.add(new SensorMsg(y_date, start_num, y_temp, y_light));
			}
		}	
		return data;
	}