void Negocie_Baud_Rate()
{ int i1;
i1=0;
test=0;
UART1_Write_CText(" Negoce baud rate \r\n");
do
{
RAZ_UART2();
UART2_Write_CText("AT\r");
Delay_ms(1000);
if(UART2_DataReady==1)
{
if (strstr(buffer2,"OK")>0)
{
i1=21;
test=1;
UART1_Write_Text(buffer2);
#ifdef With_LCD2119
LCD_Write_CText(2,1,"Negoce baud rate");
#endif
}
}
Delay_ms(500);
i1++;
} while((i1<20) && (test==0));
}
void Send_Cde_display_response(const char* Cde, char B)
{
RAZ_UART2();
UART2_Write_CText(Cde);
// RAZ_UART2();
Delay_ms(3500);
UART1_Write_Text(buffer2);
if (B)
{
UART1_Write(TAB);
if(strstr(buffer2,"OK")>0) Step++;
WordToStr(Step,txt);
// visu sur LCD
#ifdef With_LCD2119
#ifdef Full_Init
LCD_Write_CText(2,1,"Step : ...../15 ");
LCD_Write_Text(2,7,txt);
#else
LCD_Write_CText(2,1,"Step : ...../ 5 ");
LCD_Write_Text(2,7,txt);
#endif
#endif
UART1_Write_CText(" Step:");
UART1_Write_Text(txt);
UART1_Write(TAB);
}
CRLF1();
//RAZ_UART2();
}
unsigned int Initialisation_Cdes_GSM2(void)
{
// 1234567890123456
#ifdef With_LCD2119
LCD_Write_CText(1,1,"Init GSM2-Click ");
#endif
LD2=1;
Step=0;
Drapeaux.Visible=1;
UART1_Write_CText(" Set PIN code(AT+CPIN=1234) \r\n"); // p 61-62
Send_Cde_display_response("AT+CPIN=1234\r", Drapeaux.Visible);
//1
#ifdef Full_Init
UART1_Write_CText(" Send Msg type as text mode (AT+CMGF=1)\r\n");
Send_Cde_display_response("AT+CMGF=1\r", Drapeaux.Visible); // TXT lmode for messages
//2
UART1_Write_CText(" Software Version (AT+CGMR) \r\n");
Send_Cde_display_response("AT+CGMR\r\n", Drapeaux.Visible);
//3
UART1_Write_CText(" IMEI Serial number (AT+CGSN) \r\n");
Send_Cde_display_response("AT+CGSN\r", Drapeaux.Visible);
//4
UART1_Write_CText(" Format de Reponse via libellé (ATV1) \r\n");
Send_Cde_display_response("ATV1\r", Drapeaux.Visible);
//5
UART1_Write_CText(" Select SM (AT+CPMS=\"SM\",\"SM\",\"SM\" \r\n");
Send_Cde_display_response("AT+CPMS=\"SM\",\"SM\",\"SM\"\r", Drapeaux.Visible);
//6
UART1_Write_CText(" Renvoi SMS sur terminal (AT+CNMI=2,1) \r\n");
Send_Cde_display_response("AT+CNMI=2,1\r", Drapeaux.Visible);
//7
UART1_Write_CText(" Enregistre Numero tel Paul ,en position en SIM 1 (AT+CPBW=1,..)\r\n");
Send_Cde_display_response("AT+CPBW=1,\"+33689795432\",145,\"Paul\",12,12\r", Drapeaux.Visible);
//8
UART1_Write_CText(" Enregistre Numero tel Joelle ,en position en SIM 2 (AT+CPBW=2,..)\r\n");
Send_Cde_display_response("AT+CPBW=2,\"+33612345678\",145,\"Joelle\",12,12\r", Drapeaux.Visible);
//9
UART1_Write_CText(" Query service center.(AT+CSCA?)\r\n");
Send_Cde_display_response("AT+CSCA?\r", Drapeaux.Visible);
//10
UART1_Write_CText(" Never go in SLEEP mode(AT+QSCLK=0) \r\n");
Send_Cde_display_response("AT+QSCLK=0\r", Drapeaux.Visible);
//11
UART1_Write_CText(" Save profile (AT&W)\r\n");
Send_Cde_display_response("AT&W\r", Drapeaux.Visible);
//12
#endif
UART1_Write_CText(" Test si enregistré sur le reseau (AT+CREG?1)\r\n");
Send_Cde_display_response("AT+CREG?\r", Drapeaux.Visible);
//13 ou 2
// format : AA//MM/DD,HH:MM:SS+xx xx= decalage horaire *4 (soit +-48)
// UART1_Write_CText(" MAJ date et Heure par defaut (AT+CCLK=\"15/10/01,19:05:00+04\")\r\n");
// Send_Cde_display_response("AT+CCLK=\"15/09/29,16:45:00+04\"\r");
UART1_Write_CText(" Lecture de date et heure (AT+CCLK?)\r\n");
Send_Cde_display_response("AT+CCLK?\r", Drapeaux.Visible);
//14 ou 3
UART1_Write_CText(" Never go in SLEEP mode(AT+QSCLK=0) \r\n");
Send_Cde_display_response("AT+QSCLK=0\r", Drapeaux.Visible);
//15 ou 4
UART1_Write_CText(" List all UNREAD msg from inbox (AT+CMGL=REC UNREAD)\r\n");
Send_Cde_display_response("AT+CMGL=\"REC UNREAD\"\r", Drapeaux.Visible);
//16 ou 5
Delay_ms(1500);
UART1_Write_CText(" Phase d'init en ");
#ifdef With_LCD2119
LCD_CLS();
LCD_Write_CText(1,1,"Phase d'init en ");
#endif
WordToStr(Step,txt);
UART1_Write_Text(txt);
#ifdef With_LCD2119
LCD_RAZ_Ligne(2);
#endif
#ifdef Full_Init
UART1_Write_CText(" pas/16");
#ifdef With_LCD2119
LCD_Write_Text(2,1,txt);
LCD_Write_CText(2,8," pas /16");
#endif
#else
UART1_Write_CText(" pas/5"); // was 6
#ifdef With_LCD2119
LCD_Write_CText(2,1," pas / 5 ");
LCD_Write_Chr(2,3,Step+48);
#endif
#endif
//CRLF1();
return(Step);
}