Prototyping the Adaptable Emergency System on an C027 board.
Dependencies: C027_Support mbed
Fork of c027_prototyping by
Revision 5:6d0cdd715100, committed 2014-09-30
- Comitter:
- philemonf
- Date:
- Tue Sep 30 17:49:29 2014 +0000
- Parent:
- 4:f1708f6ec905
- Child:
- 6:58d48b90c9f7
- Child:
- 8:a45beb0e6145
- Commit message:
- sms_lib completed
Changed in this revision
sms_lib.cpp | Show annotated file Show diff for this revision Revisions of this file |
sms_lib.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/sms_lib.cpp Tue Sep 30 16:06:35 2014 +0000 +++ b/sms_lib.cpp Tue Sep 30 17:49:29 2014 +0000 @@ -4,9 +4,11 @@ DigitalOut myled(LED); +static MDMSerial *mdm; int init_sms_features(void) { - MDMSerial mdm; + mdm = new MDMSerial; + static const char *SIMPIN = "5554"; MDMParser::DevStatus devStatus = {}; @@ -15,29 +17,45 @@ mdm.dumpDevStatus(&devStatus); if (mdmOk) { - mdmOk = mdm.registerNet(&netStatus); + mdmOk &= mdm.registerNet(&netStatus); mdm.dumpNetStatus(&netStatus); } - if (mdmOk) { - myled = 1; - wait(1); - myled = 0; - if (mdm.smsSend("+41763211792", "Salut toi!")) { - while (1) { - myled = 1; - } - } else { - while (1) { - myled = !myled; - wait(1); - } - } - - } else { - while (1) { - myled = !myled; - wait(0.2); - } + return mdmOk; +} + +void close_sms_features(void) +{ + if (mdm) { + delete mdm; + } +} + +#define PREC_UNSATISFIED (!sms || !(sms->phone_num) || !(sms->msg_buf) || !mdm) +int send_sms(struct sms_t *sms) +{ + + if (PREC_UNSATISFIED) { + return 0; } + + return mdm->smsSend(sms->phone_num, sms->msg_buf); +} + + +int read_sms(struct sms_t *sms) +{ + if (PREC_UNSATISFIED) { + return 0; + } + + int ix[1]; + int numReceivedSMS = mdm.smsList("REC UNREAD", ix, 1); + + if (numReceivedSMS > 1 && mdm.smsRead(ix[0], sms->phone_num, sms->msg_buf, sizeof(sms->msg_buf)) { + mdm.smsDelete(ix[0]); + return 1; + } + + return 0; } \ No newline at end of file
--- a/sms_lib.h Tue Sep 30 16:06:35 2014 +0000 +++ b/sms_lib.h Tue Sep 30 17:49:29 2014 +0000 @@ -7,6 +7,8 @@ }; int init_sms_features(void); - +void close_sms_features(void); +int send_sms(struct sms_t *sms); +int read_sms(struct sms_t *sms); #endif \ No newline at end of file