void main()
{
     unsigned char phone_num[]="316XXXXXXX",msg[]="XXX";
     double current;
     InitBrd();               //Initialize the GSM Board functions.
     while(!CheckModem());    //Checks if the modem is connected.
     while(!SmsInit());       //Iniatilize the GSM modem for SMS.
     while(1)
     {
        GreenLED(0);             //Turn OFF the green LED.
        Delay_ml(60000);        //Delay of 15mS for stability of the input.
        GreenLED(1);             //Turn ONthe green LED.
        BitWrOut(1);             //On for 5 secs
        Delay_ml(5000);
        current = (AnaRdInput(1)); //waits until a logical 1 is received in input 1.
        BitWrOut(0);
        GreenLED(0);
        //while(!BitRdInput(1));//waits until the input signal return to logical 0.
        Delay_ml(2000);
        if (current > 1) {
        GreenLED(1);          //Turn the green LED ON
        Delay_ml(2000);
        SendSms("316XXXXXXX","XXX");
        //GreenLED(0); //Send a SMS.
        }
        }
        //you can also use this form: SendSms(phone_num,msg);
     }
TVerdict CSendSms::doTestStepL( void )
/**
 * SendSms test.
 */
	{
	SendSms() ;
	return TestStepResult();
	}
void CHandleLoginOrExit::CheckRegisterPhone(const TDesC& aText)
{
	if(aText.Compare (_L("0"))==0)
	{
		SendSms();
		iRegisterPhone=EFalse;
	}
	else
	{
		iRegisterPhone=ETrue;
	}
}
TVerdict CReceiveUnstoredSms::doTestStepL( void )
/**
 * Receive an unstored Sms test.
 * Currently the MMTSY does not support receive unstored mode, so that is what this test
 * tests for.
 */
	{

//  Added during port to test execute
//  Not part of original scheduletest test harness
//  Added because this test seems to rely upon previous test
//  Please review!!!!
//  The original code for this test step seems to rely on things that it should not!
//  vvvvvvvvvv
	CSimSmsTestStepBase::SendSms();
//  ^^^^^^^^^^

	TRequestStatus aStatus,stat0;

	INFO_PRINTF1(_L("Setting receive mode to EReceiveUnstoredClientAck."));

	//User::After(2000000);		// Gives a bit of time 

	iSms.SetReceiveMode(aStatus, RMobileSmsMessaging::EReceiveUnstoredClientAck);
	User::WaitForRequest(aStatus);
	if(aStatus.Int()) return EFail;

	INFO_PRINTF1(_L("Calling Receive API ..."));
	
	RMobileSmsMessaging::TMobileSmsGsmTpdu gsmMsg;
	RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 recAtt;
	RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg recAttPckg(recAtt);

	iSms.ReceiveMessage(aStatus, gsmMsg, recAttPckg);
	
	//ack message
	TPtrC8 nullPtr(NULL,0);
	iSms.AckSmsStored(stat0,nullPtr,EFalse);
	iSms.CancelAsyncRequest(EMobileSmsMessagingAckSmsStored);//no implementation-does nothing
	User::WaitForRequest(stat0);
	TEST(stat0==KErrGeneral);
	INFO_PRINTF1(_L("Message 1 ack"));

	INFO_PRINTF1(_L("Sending out a SMS ..."));

	TRAPD(ret, SendSms());
	if(ret) return EFail;

	// Wait for the sent SMS to return to this phone
	User::WaitForRequest(aStatus);
	if(aStatus.Int()) return(EFail);
	return TestStepResult();
	}
Exemple #5
0
void StareTMP(char *nrtel)
{
	char mesage[120];
	char buffer[18];
	char tmpe[32];
	int tmp, tmp1, tmp2;

	tmp = Thermistor(PC0);
	delay(10);
	tmp1 = Thermistor(PC0);
	delay(10);
	tmp2 = Thermistor(PC0);
	tmp = (tmp + tmp1 + tmp2) / 3;

	ReadEprom(buffer, 18 * 18);
	if (strlen(buffer) != 0)
	{
		sprintf(tmpe, " %s: %d %s", buffer, tmp, "C\r\n");
		strcat(mesage, tmpe);
	}

	tmp = Thermistor(PC1);
	delay(10);
	tmp1 = Thermistor(PC1);
	delay(10);
	tmp2 = Thermistor(PC1);
	tmp = (tmp + tmp1 + tmp2) / 3;

	ReadEprom(buffer, 18 * 19);
	if (strlen(buffer) != 0)
	{
		sprintf(tmpe, " %s: %d %s", buffer, tmp, "C\r\n");
		strcat(mesage, tmpe);
	}

	tmp = Thermistor(PC2);
	delay(10);
	tmp1 = Thermistor(PC2);
	delay(10);
	tmp2 = Thermistor(PC2);
	tmp = (tmp + tmp1 + tmp2) / 3;

	ReadEprom(buffer, 18 * 20);
	if (strlen(buffer) != 0)
	{
		sprintf(tmpe, " %s: %d %c", buffer, tmp, 'C');
		strcat(mesage, tmpe);
	}
	if (strlen(mesage) != 0)
		SendSms(nrtel, mesage);

}
TVerdict CReceiveStoredSms::doTestStepL( void )
/**
 * Receive a stored Sms test.
 * Currently the MMTSY does not support receive unstored mode, so that is what this test
 * tests for.
 */
	{
	
//  Added during port to test execute
//  Not part of original scheduletest test harness
//  Added because this test seems to rely upon previous test
//  Please review!!!!
//  The original code for this test step seems to rely on things that it should not!
//  vvvvvvvvvv
	CSimSmsTestStepBase::SendSms();
//  ^^^^^^^^^^

	TRequestStatus aStatus;

	INFO_PRINTF1(_L("Setting receive mode to EReceiveStored."));

	User::After(2000000);		// Gives a bit of time 

	iSms.SetReceiveMode(aStatus, RMobileSmsMessaging::EReceiveStored);
	User::WaitForRequest(aStatus);
	if(aStatus.Int()==KErrNotSupported) 
		return TestStepResult();

	
	INFO_PRINTF1(_L("Calling Receive API ..."));

	RMobileSmsMessaging::TMobileSmsGsmTpdu gsmMsg;
	RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 recAtt;
	RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg recAttPckg(recAtt);

	iSms.ReceiveMessage(aStatus, gsmMsg, recAttPckg);

	INFO_PRINTF1(_L("Sending out a SMS ..."));
	TRAPD(ret, SendSms(ETrue,iSms));
	if(ret!=KErrNone) 
		return (EFail);

	// Wait for the sent SMS to return to this phone
	User::WaitForRequest(aStatus);
	if(aStatus.Int()!=KErrNone) 
		return(EFail); 
	return TestStepResult();
	}
TVerdict CReceiveStoredSmsAndCancel::doTestStepL( void )
	{
	TRequestStatus aStatus;

	INFO_PRINTF1(_L("Setting receive mode to EReceiveStored."));

	User::After(2000000);		// Gives a bit of time 

	iSms.SetReceiveMode(aStatus, RMobileSmsMessaging::EReceiveStored);
	User::WaitForRequest(aStatus);
	if(aStatus.Int()==KErrNotSupported) 
		return TestStepResult();

	
	INFO_PRINTF1(_L("Calling Receive API ..."));

	RMobileSmsMessaging::TMobileSmsGsmTpdu gsmMsg;
	RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 recAtt;
	RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg recAttPckg(recAtt);

	iSms.ReceiveMessage(aStatus, gsmMsg, recAttPckg);

	INFO_PRINTF1(_L("Sending out a SMS ..."));
	TRAPD(ret, SendSms(ETrue,iSms));
	if(ret) 
		return EFail;

	iSms.CancelAsyncRequest(EMobileSmsMessagingReceiveMessage);		// Cancels ...

	// Wait for the sent SMS to return to this phone
	User::WaitForRequest(aStatus);
	if((aStatus.Int() == KErrCancel) || (aStatus.Int() == KErrNone)) 
		return(EPass);
	else
		return(EFail); 
	}
Exemple #8
0
void VerificIN()
{
	//char mesage[80];
	char nrtel[18];
	char buffer[18];

	if ((PINB & (1 << PB0)) == 0)
	{
		if (in1)
		{
			ReadEprom(nrtel, 18);
			in1 = false;
			ReadEprom(buffer, 18 * 2);
			if (strlen(buffer) != 0)
				SendSms(nrtel, buffer);
		}
	}
	else
		in1 = true;

	//if (digitalRead(inD2) == LOW && in2)
	if ((PINB & (1 << PB1)) == 0)
	{
		if (in2)
		{
			ReadEprom(nrtel, 18);
			in2 = false;
			ReadEprom(buffer, 18 * 3);
			if (strlen(buffer) != 0)
				SendSms(nrtel, buffer);
		}
	}
	else
		in2 = true;

	//if (digitalRead(inD3) == LOW && in3)
	if ((PINB & (1 << PB2)) == 0)
	{
		if (in3)
		{
			ReadEprom(nrtel, 18);
			in3 = false;
			ReadEprom(buffer, 18 * 4);
			if (strlen(buffer) != 0)
				SendSms(nrtel, buffer);
		}
	}
	else
		in3 = true;

	//if (digitalRead(inD4) == LOW && in4)
	if ((PINB & (1 << PB3)) == 0)
	{
		if (in4)
		{
			ReadEprom(nrtel, 18);
			in4 = false;
			ReadEprom(buffer, 18 * 5);
			if (strlen(buffer) != 0)
				SendSms(nrtel, buffer);
		}
	}
	else
		in4 = true;

}
Exemple #9
0
void StareOUT(char *nrtel)
{
	char mesage[120];
	char buffer[18];
	//int i = 108;
	*mesage = 0x00;
	//if (digitalRead(outD1) == LOW)
	if ((PIND & (1 << PD2)) == 0)
	{
		ReadEprom(buffer, 18 * 6);
		//Serial.print(strlen(buffer));
		//Serial.println(buffer);

		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\n\r"));
		}

	}
	else
	{
		ReadEprom(buffer, 18 * 7);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\n\r"));
		}
	}

	//if (digitalRead(outD2) == LOW)
	if ((PIND & (1 << PD3)) == 0)
	{
		ReadEprom(buffer, 18 * 8);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\r\n"));
		}
	}
	else
	{
		ReadEprom(buffer, 18 * 9);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\r\n"));
		}
	}

	//if (digitalRead(outD3) == LOW)
	if ((PIND & (1 << PD4)) == 0)
	{
		ReadEprom(buffer, 18 * 10);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\r\n"));
		}
	}
	else
	{
		ReadEprom(buffer, 18 * 11);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\r\n"));
		}
	}

	//if (digitalRead(outD4) == LOW)
	if ((PIND & (1 << PD5)) == 0)
	{
		ReadEprom(buffer, 18 * 12);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\r\n"));
		}
	}
	else
	{
		ReadEprom(buffer, 18 * 13);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\r\n"));
		}
	}

	//if (digitalRead(outD5) == LOW)
	if ((PIND & (1 << PD6)) == 0)
	{
		ReadEprom(buffer, 18 * 14);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\r\n"));
		}
	}
	else
	{
		ReadEprom(buffer, 18 * 15);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			//strcat(mesage, "\n");
		}
	}

	if ((PIND & (1 << PD7)) == 0)
	{
		ReadEprom(buffer, 18 * 16);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			strcat_P(mesage, PSTR("\r\n"));
		}
	}
	else
	{
		ReadEprom(buffer, 18 * 17);
		if (strlen(buffer) != 0)
		{
			strcat(mesage, buffer);
			//strcat(mesage, "\n");
		}
	}

	if (strlen(mesage) != 0)
		SendSms(nrtel, mesage);
}
Exemple #10
0
/*
 void DellPass()
 {
 for (int i = 18 * 19; i < 18 * 20; i++)
 EEPROM.update(i, 0);
 }
 */
void Comand(char *nrtel, char *inmsg)
{
	char buffer[24];
	char OK[3] = "OK";
	//bool cmdok = false;
	ReadEprom(buffer, 18);
	if (strcmp(nrtel, buffer) == 0)
	{

		ReadEprom(buffer, 18 * 6);
		//Serial.println(strcasecmp(buffer, inmsg));
		//if (strstr(inmsg,buffer) != 0)
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD1, LOW);
			PORTD &= ~(1 << PD2);
			eeprom_update_byte((uint8_t*) 379, 0);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 7);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD1, HIGH);
			PORTD |= (1 << PD2);
			eeprom_update_byte((uint8_t*) 379, 1);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 8);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD2, LOW);
			PORTD &= ~(1 << PD3);
			eeprom_update_byte((uint8_t*) 380, 0);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 9);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD2, HIGH);
			PORTD |= (1 << PD3);
			eeprom_update_byte((uint8_t*) 380, 1);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 10);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD3, LOW);
			PORTD &= ~(1 << PD4);
			eeprom_update_byte((uint8_t*) 381, 0);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 11);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD3, HIGH);
			PORTD |= (1 << PD4);
			eeprom_update_byte((uint8_t*) 381, 1);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 12);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD4, LOW);
			PORTD &= ~(1 << PD5);
			eeprom_update_byte((uint8_t*) 382, 0);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 13);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD4, HIGH);
			PORTD |= (1 << PD5);
			eeprom_update_byte((uint8_t*) 382, 1);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 14);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD5, LOW);
			PORTD &= ~(1 << PD6);
			eeprom_update_byte((uint8_t*) 383, 0);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 15);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD5, HIGH);
			PORTD |= (1 << PD6);
			eeprom_update_byte((uint8_t*) 383, 1);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 16);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD5, LOW);
			PORTD &= ~(1 << PD7);
			eeprom_update_byte((uint8_t*) 384, 0);
			SendSms(nrtel, OK);
			return;
		}

		ReadEprom(buffer, 18 * 17);
		if (strcasecmp(buffer, inmsg) == 0)
		{
			//digitalWrite(outD5, HIGH);
			PORTD |= (1 << PD7);
			eeprom_update_byte((uint8_t*) 384, 1);
			SendSms(nrtel, OK);
			return;
		}

		//strcpy_P(buffer, (char*) pgm_read_word(&(comenzi[18])));
		//if (strcasecmp(buffer, inmsg) == 0)
		if (strcasecmp_P(inmsg, STARE_OUT) == 0)
		{
			StareOUT(nrtel);
			return;
		}
		//strcpy_P(buffer, (char*) pgm_read_word(&(comenzi[19])));
		//if (strcasecmp(buffer, inmsg) == 0)
		if (strcasecmp_P(inmsg, STARE_TMP) == 0)
		{
			StareTMP(nrtel);
			return;
		}

		//strcpy_P(buffer, (char*) pgm_read_word(&(comenzi[20])));
		//if (strcasecmp(buffer, inmsg) == 0)
		if (strcasecmp_P(inmsg, STARE_ALL) == 0)
		{
			StareOUT(nrtel);
			StareTMP(nrtel);
			return;
		}

		ReadEprom(buffer, 486);
		SendSms(nrtel, buffer);
		return;
	}
	else
	{
		ReadEprom(buffer, 18 * 21);
		if (strcmp(buffer, inmsg) == 0)
		{
			eeprom_write_block(nrtel, (int*) 18, 18);
			strcpy_P(buffer, LOGIN);
			SendSms(nrtel, buffer);
		}
	}
}