///////////////////////////////////////////////////////
///  ADSL RESTARTER készülék					    ///
///   												///
///  											    ///
///////////////////////////////////////////////////////

 

					                           
#include <16F628A.h>                            // 16f628
#fuses XT,NOWDT,NOPROTECT,NOLVP                // xt 4mhz
#use delay(clock=040000000)                    // 4mhz
#use rs232(baud=9600, xmit=PIN_B1, rcv=PIN_B2) // soroport 9600,8,1,n
#define relay5v PIN_B3  					   // 5V relé  B3-ason
#define relay9v PIN_B5						   // 9V relé  B5-ön

void main() 									// 
{  
    int seradat,i, value;          				// változók beállitása
   			output_bit( relay5v, 1);			// relék kikapcsolt állapotban 
			output_bit( relay9v, 1);   			// ( ha kimnet 0 akkor meghuznak)
	printf("ATI\r");                        	// sorosportra karakterek küldése
   	delay_ms(500);								// 500 ms várakozás
   	printf("ATH\r");							// sorosportra karakterek küldése
   	delay_ms(500);								// 500 ms várakozás
	while (TRUE); 								// főciklus amiben várja a sorosport adatot
  	{                                        	// 
		if (kbhit()) 							// sorosport bejövö adat figyelése
	  	seradat = getc(); 						// karakter beolvasása a bufferből
		if(seradat = "R")                       // ha a beérkezett karakter "R" akkor I = 1
  		i = 1;
			while(i)							// ha az I = 1 akkor a  relék kapcsolgatása 
			{
   			output_bit( relay5v, 0);
			output_bit( relay9v, 0);
			delay_ms(5000);
			output_bit( relay9v, 1);
			delay_ms(50000);
			output_bit( relay5v, 1);
			i = 0;								// I ismét 0
			value = 1;							// ha ez megvolt vissza kéne térni a while(TRUE) hoz ...
			}
	}    
}