int res_Conf(void)
{
	//TCN_addr=0b10010000;
	conf_pointer=0b00000001;
	TCN_Conf=0b01100000;
		
	TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); // send START
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=START)
		error("START");

	TWDR = SLA_W;	//load SLA_W
	TWCR = (1<<TWINT)|(1<<TWEN); //start transmission of address
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=MT_SLA_ACK)
		error("MT_SLA_ACK");
	
	TWDR=conf_pointer;			//send config pointer
	TWCR=(1<<TWINT) | (1<<TWEN);
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=MT_DATA_ACK)
		error("MT_DATA_ACK");
	
	TWDR=TCN_Conf;				//send settings
	TWCR=(1<<TWINT) | (1<<TWEN);
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=MT_DATA_ACK)
		error("MT_DATA_ACK");
	
	TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
	
	return 0;
}

uint16_t I2C_Datareq(void)
{
	Ta_pointer=0x00;

	TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); // send START
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=START)
		error("START");

	TWDR = SLA_W;	//load SLA_W
	TWCR =(1<<TWINT) | (1<<TWEN) ; //start transmission of address
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=MT_SLA_ACK)
		error("MT_SLA_ACK");
	
	TWDR=Ta_pointer;				//send Ta pointer
	TWCR=(1<<TWINT)|(1<<TWEN);
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=MT_DATA_ACK)
		error("MT_DATA_ACK");
	
	TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);

	int ij;
//	for(ij=0;ij!=60000;ij++);

	TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); // send START
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=START)
		error("START");

	TWDR = SLA_R;	//load SLA_R
	TWCR = (1<<TWINT) | (1<<TWEN) ; //start transmission of address
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=MR_SLA_ACK)
		error("MR_SLA_ACK");
	
	
/*	TWCR = (1<<TWINT) | (1<<TWEN) ;
	while(!(TWCR & (1<<TWINT)));
	temph=TWDR<<8;					//receive temperature high byte
	if ((TWSR & 0xF8)!=MR_DATA_ACK)
		error("MR_DATA_ACK");
*/


	TWCR = (1<<TWINT) | (1<<TWEN) ;
	while(!(TWCR & (1<<TWINT)));
	temph=TWDR<<8;					//receive temperature high byte
	if ((TWSR & 0xF8)!=MR_DATA_ACK)
		error("MR_DATA_ACK");
	
	
	TWCR = (1<<TWINT) | (1<<TWEN) ;
	while(!(TWCR & (1<<TWINT)));
	templ=TWDR;						//receive temperature low byte
	if ((TWSR & 0xF8)!=MR_DATA_NACK)
		error("MR_DATA_NACK");
	
	TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
	
	temp=temph | templ;
	return temp;

//	TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);

	return 0;	
}



/*uint16_t I2C_Data()
{
	uint8_t temp8;
	
	TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); // send START
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=START)
		error("START");

	TWDR = SLA_R;	//load SLA_R
	TWCR = (1<<TWINT) | (1<<TWEN) ; //start transmission of address
	while(!(TWCR & (1<<TWINT)));
	if ((TWSR & 0xF8)!=MR_SLA_ACK)
		error("MR_SLA_ACK");
	
	
	while(!(TWCR & (1<<TWINT)));
	temph=TWDR<<8;//receive temperature high byte
	if ((TWSR & 0xF8)!=MR_DATA_ACK)
		error("MR_DATA_ACK");
	
	while(!(TWCR & (1<<TWINT)));
	templ=TWDR;//receive temperature low byte
	if ((TWSR & 0xF8)!=MR_DATA_NACK)
		error("MR_DATA_NACK");
	
	TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
	
	temp=temph | templ;
	return temp;
}

*/



/*	Send_UART("AT+CGATT=1");//set in GPRS mode
	Send_UART(GPRS_set);//Send_UART(AT+CIPCSGP=1,"internet.vivatel.bg","vivatel","vivatel")
	Send_UART("AT+CDNSORIP=0");//set nummeric address format
*/


/////////////////////////////////
	//	proba=getchar_UART();
	//	if (proba == 10)
	//	{


		
		//	proba=getchar_UART();
	//		if(proba==43)
	//			{

				//}
				//}	

**************************************
/*	Send_UART("AT");//auto baudrate accomodation between terminal and equipment
	a=65535;
	while(--a!=0);
	if(!waitOK())
		return 0;

	Send_UART("ATE0");//disable ECHO of terminal
	a=65535;
	while(--a!=0);
	if(!waitOK())
		return 0;
*/ 
**********************************************
//	char GPRS_set[]={'A','T','+','C','I','P','C','S','G','P','=','1',',','"','i','n','t','e','r','n','e','t','.','v','i','v','a','t','e','l','.','b','g','"',',','"','v','i','v','a','t','e','l','"',',','"','v','i','v','a','t','e','l','"'};

///////////////
//	putchr('\r');
//	putchr('^Z');


/*
			index1=16;
			Send_UART("AT");	
			a=65535;
			while(--a!=0);
			if (rx_counter !=0)
				if(!waitOK())
					return 0;
*/
//	waitAT();



//	TCN_Config();	 //config TWI(I2C) interface
//	res_Conf2(3);	//set sensor resolution to 0.0625
	

	///////////////////////////////////////////////////////////////////////////
else if(Comparereq(gettemp)==1)
									 {
									//	tempwr = I2C_Datareq2(3)*0.0625/16;
									//	a=tempwr;					//double precision lost to integer value,'cause this compiler couldn't set double value in SMS message 
										sprintf(ctemp,"Temperature is %d",a);
									//	if (!Send_SMStemp(tempwr))	//sending temperature from I2C sensor
									//			return 0;
										}


/*	
	tempwr = I2C_Datareq2(3)*0.0625/16;
	tempwr2=ceil(tempwr);
	a=tempwr2;	*/
//	sprintf(message+i,"Temperature is %d.",a);
	
/*	Send_UART(sms_send);

	if (rx_counter != 0)
	{		
		proba=getchar_UART();
		if (proba == '>')	
		Send_UART2(message);
	}
*/

/*
// External Interrupt 1 service routine
ISR(INT1_vect)
//interrupt [EXT_INT1] void ext_int1_isr(void)
{	
	do
		{
		butflag=0;
		for(button_filter=0;button_filter<BUTTON_DEAD_TIME;button_filter++)
			if (PORTD & 0b00001000)
				butflag=butflag+1;
		}
	while (butflag>0);		
	
	ring_state=1;
	DDRD ^= 0x10;//stop buzzer
}

/////////////////////////////////////////////////////////////////////////////////////////////
// Timer 1 output compare interrupt service routine
ISR(TIMER1_COMPB_vect)
{
i=i;
TCNT1=0;
}
*/
///////////////////////////////////////////////////////////////////////////////////////////
int waitAT()
{
		int flag=0;
		char at[2]={'A','T'};
		
		//Send 2 AT command for Autobaud detection

AT:	Send_UART("AT");	
	a=65535;
	while(--a!=0);

	Send_UART("AT");	
	a=65535;
	while(--a!=0);

		return 1;	//flag;
}
////////////////////////////////////////////////////////////////////
