Prototyping the Adaptable Emergency System on an C027 board.
Dependencies: C027_Support mbed
Fork of c027_prototyping by
sms_lib.cpp
00001 #include "sms_lib.h" 00002 00003 DigitalOut myled(LED); 00004 00005 static MDMSerial *mdm; 00006 00007 int init_sms_features(MDMSerial *_mdm, char* SIMPIN) 00008 { 00009 mdm = _mdm; 00010 00011 MDMParser::DevStatus devStatus = {}; 00012 MDMParser::NetStatus netStatus = {}; 00013 bool mdmOk = mdm->init(SIMPIN, &devStatus); 00014 mdm->dumpDevStatus(&devStatus); 00015 00016 if (mdmOk) { 00017 mdmOk &= mdm->registerNet(&netStatus); 00018 mdm->dumpNetStatus(&netStatus); 00019 } 00020 00021 return mdmOk; 00022 } 00023 00024 int send_sms(struct sms_data_t *sms) 00025 { 00026 00027 if (!sms || !(sms->phone_num) || !(sms->msg_buf) || !mdm) { 00028 return 0; 00029 } 00030 00031 return mdm->smsSend(sms->phone_num, sms->msg_buf); 00032 } 00033 00034 00035 int read_sms(struct sms_data_t *sms) 00036 { 00037 if (!sms || !(sms->phone_num) || !(sms->msg_buf) || !mdm) { 00038 return 0; 00039 } 00040 00041 int ix[1]; 00042 int numReceivedSMS = mdm->smsList("REC UNREAD", ix, 1); 00043 00044 if (numReceivedSMS >= 1 && mdm->smsRead(ix[0], sms->phone_num, sms->msg_buf, sizeof(sms->msg_buf))) { 00045 mdm->smsDelete(ix[0]); 00046 return 1; 00047 } 00048 00049 return 0; 00050 }
Generated on Fri Jul 15 2022 19:42:17 by 1.7.2