Ejemplo n.º 1
0
Archivo: gsm.c Proyecto: AxSt/paparazzi
void gsm_init_report(void) { /* Second call */
  if (gsm_status != STATUS_NONE) {
    gsm_buf_idx = 0;
    gsm_line_received = false;

    Send_AT();
    gsm_status = STATUS_SEND_AT;
    gsm_gsm_init_report_status = FALSE;
  }
}
Ejemplo n.º 2
0
// fonction de traitement des données recues sur l'UART
void Traitement_reponse(int handle)
{
    char buffer[450];
    strcpy(buffer, chaine_recue);
    chaine_recue[0] = '\0';
    printf("Recu : %s\n", buffer);


//	si on a recu un nouveau SMS
    if(locate("+CMTI:", buffer) == 1)
    {
        while((envoi_sms_en_cours == 1) || (reception_sms_en_cours));

        reception_sms_en_cours = 1;

        printf("Nouveau SMS recu\n");
        Reception_SMS(handle);
    }
    else if ((wait_prompt == 1) && (locate(">", buffer) == 1))
    {
        printf("Suite de l'envoi du SMS\n");
        wait_prompt = 0;
        ligne_occupee = 0;
        Send_Msg_part2(handle);
    }
    else if (wait_reponse == 1)
    {
        ligne_occupee = 0;

        if(locate(reponse_attendue, buffer) == 1)
        {
            GSM_reponse = 1;
            wait_reponse = 0;
            reponse_attendue[0] = '\0';
        }
        else
            GSM_reponse = 0;

        // Suite des opérations...
        switch(fct_en_cours)
        {
        case _AT :
            if(GSM_reponse == 1)
                Send_cmgf(handle);
            else
                Send_AT(handle);
            break;

        case _CMGF :
            if(GSM_reponse == 1)
            {
                Send_cnmi(handle);
            }
            else
                Send_cmgf(handle);
            break;

        case _CNMI :
            if(GSM_reponse == 1)
                Send_cpms(handle);
            else
                Send_cnmi(handle);
            break;

        case _CPMS :
            if(GSM_reponse == 1)
            {
                printf("Configuration correcte du module GSM\n");
                //Send_fin_config(handle);
            }
            else
                Send_cpms(handle);
            break;

        case _SUPPR_SMS :
            if(GSM_reponse == 1)
                reception_sms_en_cours = 0;
            break;

        case _FINCONF :
            break;

        case _RECEPTION_SMS :
            if(GSM_reponse == 1)
            {
                strcpy(GSM_Line, buffer);
                Reception_SMS_Continue(handle);
            }
            break;

        default :
            break;
        }
    }

    buffer[0] = '\0';
    fflush(stdout);
}
Ejemplo n.º 3
0
gboolean init(gpointer handle)
{
    Send_AT((int)handle);
    return FALSE;
}