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(); }
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); }
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; }
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); }
/* 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); } } }