
	
	int32 get_value()
	{
		#asm "cli"
		TRIG_OUT = 1;
		loop( 10 ) {}
		TRIG_OUT = 0;
		
		int16 d = 0;
		while( d < 1000 && ECHO_IN == 0 ) {
			d + 1;
		}
		d = 0;
		while( d < 3000 && ECHO_IN == 1 ) {
			d + 1;
		}
		#asm "sei"
		
		int32 dd = d;
		
		//428 -> 305
		//833 -> 610
		
		//(dd - 428) * 305 / 405 + 300
		//dd*305/405 - 428*305/405 + 300
		//dd*305/405 - 322 + 300
		//dd*305/405 - 22
		
		return dd * 61 / 81 - 10;
	}
	
	int32 get_good_value()
	{
		return get_value();
	}
	
	
	