Lib SIM5320 avec SMS
Dependents: 0-sim5320e-L432KC-relais-0
sim5320e.h
- Committer:
- schnf30
- Date:
- 2022-05-18
- Revision:
- 1:8eff8b2b35e8
File content as of revision 1:8eff8b2b35e8:
#ifndef _sim5320e_ #define _sim5320e_ #include "mbed.h" #include "MySerial.h" #ifndef maxdata #define maxdata 99 // taille des phrasers de dialogues. #endif #define timeoutdefaut 1 #define timeoutsendsms 60 #define timeoutreadsms 5 #define timewaitCallready 10 #define timewaitSmsready 60 #define timewaitSmsallclear 25 #define timewaitCCID 2 extern MySerial pc; class sim5320e { 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 () */ sim5320e(PinName tx, PinName rx, PinName resetpin, int baudrate=9600); bool init(); bool smsinit(void); 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]; // stocker pendant reception sur rxd en evenement char _Data[maxdata + 1]; // stocke les donnees lorsqu'une phrase complete est recu char _DataSms[maxdata + 1]; // stocke donnee lorsquun sms est recu volatile int _DataPtr = 0; // position de stockage de la prochaine donnee a recevoir volatile bool _DataReady = false; // des donnees complete ont ete recus volatile bool _SmsReady = false; // un sms est recu volatile int _IndexSms; // contient lindex du sms Timeout _timeout; // permet deviter blocage en attente volatile bool FinTimeOut; // bool dataready(void); // renvoi letat xe _dataready 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 reponse dans *reponse bool waitsmsreponse(const char *reponse,float timeout); }; #endif