Beispiel #1
0
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;
}