long mmParseInt(struct ModemStream *modem) { #ifdef ARDUINO long ret = modem->stream->parseInt(); modem->stream->read(); return ret; #endif #ifdef LINUX long num = 0; int c = mmPeek(modem); char neg = 0; if(c == '-') { neg = 1; mmRead(modem); // c = mmPeek(modem); //get next character. } if(c < '0' || c > '9') return -1; //not sure what the default value should be... else{ do{ //mmRead(modem); //read last char, since it was useful num *= 10; num += c-'0'; do{ mmRead(modem); c = mmPeek(modem); }while(c < 0); } while (c >= '0' && c <= '9'); } if(neg) return -num; return num; #endif #ifdef _WIN32 long num = 0; char c = mmPeek(modem); char neg = 0; if(c == '-') { neg = 1; mmRead(modem); // c = mmPeek(modem); //get next character. } if(c < '0' || c > '9') return -1; //not sure what the default value should be... else{ do{ //mmRead(modem); //read last char, since it was useful num *= 10; num += c-'0'; do{ c = mmRead(modem); //c = mmPeek(modem); }while(c < 0); } while (c >= '0' && c <= '9'); } if(neg) return num * (-1); return num; #endif }
//Checks for NetworkConnection bool mmCheckForOkay(struct ModemInterface *interface) { while (mmFindChar(interface->modem, 'O')) { char test = mmPeek(interface->modem); if (test == 'K'){ return true; } } return false; }
//Checks for NetworkConnection bool mmCheckForConnection(struct ModemInterface *interface) { mmSendCommand(interface, F("AT+CREG?\r")); if (mmFindChar(interface->modem, '0')) { mmRead(interface->modem); char test = mmPeek(interface->modem); if (test == '5' || test == '1'){ return true; } } return false; }