DCS_TEAM / GSM_Library

Fork of GSM_Library by Danilo Bustamante

Committer:
danilob
Date:
Sat Mar 07 23:35:12 2015 +0000
Revision:
17:360afa1e6809
Parent:
16:6807d437cd48
Child:
22:a5adf9331032
addign h file

Who changed what in which revision?

UserRevisionLine numberNew contents of line
danilob 0:41904adca656 1 #ifndef GSMLIBRARY_H
danilob 0:41904adca656 2 #define GSMLIBRARY_H
danilob 0:41904adca656 3
danilob 0:41904adca656 4 #include "mbed.h"
danilob 0:41904adca656 5
danilob 0:41904adca656 6 enum gsm_states{GSM_INITIALIZE,
danilob 0:41904adca656 7 GSM_AT_OK, //Make sure communication is stablished betheen fdm and gsm
danilob 0:41904adca656 8 GSM_AT_CSQ, //Check signal strength if strenght lower than 10 keep trying
danilob 0:41904adca656 9 GSM_AT_CREG, //Checking if phone is conected to network
danilob 0:41904adca656 10 GSM_AT_CMGF, //prepare phone to send message by CMGF=1
danilob 0:41904adca656 11 GSM_AT_CMGS, //input phone number by CMGS= "+phonenumber"
danilob 0:41904adca656 12 GSM_AT_SENDSMS, //write message, finish with alt+z
danilob 0:41904adca656 13 GSM_SUCCESS //check if message was send correctly
danilob 0:41904adca656 14 };
danilob 0:41904adca656 15
danilob 0:41904adca656 16
danilob 0:41904adca656 17 //GSM state machine
danilob 0:41904adca656 18 void gsm_tick();
es_marble 16:6807d437cd48 19 bool gsm_timeOut();
es_marble 16:6807d437cd48 20 void gsm_nextStateLogic();
es_marble 16:6807d437cd48 21 void gsm_mealyOutputs();
danilob 0:41904adca656 22
danilob 0:41904adca656 23 //Initialize DMA data transfer, and UART3.
danilob 0:41904adca656 24 void gsm_initialize();
danilob 0:41904adca656 25
danilob 17:360afa1e6809 26 //returns 1 for eady to send again, 0 for busy.
danilob 17:360afa1e6809 27 bool gsm_ready();
danilob 17:360afa1e6809 28
danilob 0:41904adca656 29 //begin message transmission
danilob 17:360afa1e6809 30 void gsm_send_sms(char message[]);
danilob 0:41904adca656 31
danilob 0:41904adca656 32 //Brings state machine back to initialize state (notice this is different than initialize function)
danilob 0:41904adca656 33 //this will set flags to initial values and prepare gsm to work anew.
danilob 0:41904adca656 34 void reset();
danilob 0:41904adca656 35
danilob 0:41904adca656 36 //used for debuging purposes, it print all main registers from dma0 and uart3
danilob 0:41904adca656 37 void print_registers();
danilob 0:41904adca656 38
danilob 0:41904adca656 39 #endif