Sim800L loib obj sms
sim800l.h
- Committer:
- schnf30
- Date:
- 2022-04-30
- Revision:
- 1:2e6fa015734c
- Parent:
- 0:5c39ec4eaaa1
File content as of revision 1:2e6fa015734c:
#ifndef _sim800l_ #define _sim800l_ #include "mbed.h" #define maxdata 1000 #define timeoutdefaut 1 #define timeoutsendsms 60 #define timeoutreadsms 5 #define timewaitCallready 10 #define timewaitSmsready 60 #define timewaitSmsallclear 25 #define timewaitCCID 2 extern RawSerial pc; class Sim800l { public: /* * Constructor * * @param tx mbed pin to use for tx line of Serial interface * @param rx mbed pin to use for rx line of Serial interface * @param reset reset pin of the wifi module () */ Sim800l(PinName tx, PinName rx, PinName resetpin, int baudrate=9600); bool init(); bool smsready(void); bool sendsms(const char *phonenumber,const char *data); bool readsms(int index); bool smsclearall(void); int IndexSmsRecu(void); char *readtextesms(); protected: RawSerial serial; DigitalOut reset; char *_DataTmp; // tableau de donnees pour stocker pendant reception char *_Data; // tableau de donnees lorsque toutes les donnees sont recues char *_DataSms; // tableau de donnees lorsque toutes les donnees sont recues char *_Phrase; // pour convertir en phrase avant envoi /* char _DataTmp[maxdata + 1]; // tableau de donnees pour stocker pendant reception char _Data[maxdata + 1]; // tableau de donnees lorsque toutes les donnees sont recues char _DataSms[maxdata + 1]; // tableau de donnees lorsque toutes les donnees sont recues char _Phrase[maxdata + 1]; // pour convertir en phrase avant envoi */ volatile int _DataPtr = 0; // position de stockage de la prochaine donnee a recevoir volatile bool _DataReady = false; volatile bool _SmsReady = false; volatile int _IndexSms; Timeout _timeout; // permet deviter blocage en attente volatile bool FinTimeOut; bool dataready(void); char * read(void); void receive(); void Ftimeout(); void SetTimeout(float delay); // attente r eponse dans *reponse bool waitreponse(const char *reponse,float timeout); // envoi commande et attend reponse bool writecmdandwaitreponse(const char *data, const char *reponse,float timeout); // attente r eponse dans *reponse bool waitsmsreponse(const char *reponse,float timeout); }; #endif