WORD GSM_ActivateGprs(void)

WORD	GSM_ActivateGprs(void)
{
 static BYTE GprsActivateFlag = 0;
 if(ModemGsm.Signal.Control.RcvMessage){
  if(GSM_CompareMessage(GSMResponse[mrOK])){   //prikaz bol uspesne vykonany
   switch(Gsm.ActualCommand){
    case mcQIACT:
     Gsm.ActualCommand = 0;
     GprsActivateFlag = 0;
     ModemGsm.Signal.Control.CommandOK = TRUE;
     Gsm.State = NONE;
     ModemGsm.Semaphore.Control.GprsAttach = TRUE;
     ModemGsm.Signal.Control.RcvMessage = FALSE;
  //			ModemGsm.Semaphore.Control.GprsRegister = FALSE;
     return 0;
   }
  }
  else if(GSM_CompareMessage(GSMResponse[mrERROR])){   //prikaz bol uspesne vykonany
   switch(Gsm.ActualCommand){
    case mcQIACT:
     Gsm.ActualCommand = 0;
     ModemGsm.Signal.Control.CommandOK = TRUE;
     Gsm.State = NONE;
     GprsActivateFlag++;
     if(GprsActivateFlag == 3){
      ModemGsm.Signal.Control.Process = FALSE;
      GprsActivateFlag = 0;
      ModemGsm.Signal.Control.RcvMessage = FALSE;
      return 2;
     }
     else	Gsm.State = GPRS_ACTIVATE;
     ModemGsm.Signal.Control.RcvMessage = FALSE;
     break;
   }
  }
 }
 switch(Gsm.State){
  case GPRS_ACTIVATE:
   Gsm.State = NONE;
   strcpy((char*)Gsm.CommandData, GSMCommand[mcQIACT]);
   Gsm.ActualCommand = mcQIACT;
   ModemGsm.Signal.Control.SendCommand = TRUE;
   break;
 }	
 return 1;
}