caramoan tour package

caramoan tour package

Author Topic: car engine start thru sms  (Read 1233 times)

Offline ECE200407406006

  • CR2032 Battery
  • **
  • Posts: 9
  • Pogi/Ganda Points: 0
car engine start thru sms
« on: February 24, 2009, 09:43:10 PM »
mga sir, baka may comments po kayo on how to improve/increase efficiency ng program po namin.. ang project po namin is itetext yung car para istart ang engine.. owner type jeep ang pinagkabitan namin.. we used the IRC slimboard, GSM module, both form e-gizmo, and switchboard na DIY para intranslate yung 3.3V output ng zilog to 5v para maswitch ang 6V relay.. eto po ang code.. nakuha ko po yung pinakalogic nung program from a code na pinost po ni sir efilaypee, not sure kung kasama sa nabura yung thread na yun.. inedit ku lang to fit ours.. thanks ulit sir..  ;D eto po yung code namin..
Code: [Select]
#include <ez8.h>
#include <sio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define MSG_LEN 250
#define TESTING 1

unsigned int msg_index;
char msg[MSG_LEN];
int cnum=0, start=0, fan=0, rad=0;

void clear_msg(void){
int i;
for(i=0;i<MSG_LEN;i++) msg[i]='\0';
msg_index=0;
}

void delay(int loop){
int i,j,k;
for (i=loop; i>=0; i--) for (j=0;j<0xFF;j++) for (k=0;k<0xFF;k++);
}

void init_port(void){
PDDD &= ~0x03;
PDAF &= ~0x03;
PDOC &= ~0x03;
PDHDE |= 0x03;
PDOUT &= ~0x03;

PADD &= ~0x40;
PAAF &= ~0x40;
PAOC &= ~0x40;
PAHDE |= 0x40;
PAOUT &= ~0x40;

PCDD |= 0x70;
PCDD &= ~0x0F;
PCAF &= ~0x7F;
PCOC &= ~0x0F;
PCHDE |= 0x0F;
PCOUT &= ~0x0F;
}

#pragma interrupt
void read_uart0(void){
if (U0STAT0 & 0x80) msg[msg_index++]=U0RXD;
}

void initial_uart0(void){
DI();
SET_VECTOR(UART0_RX, read_uart0);
IRQ0ENH |= 0x10;
IRQ0ENL |= 0x10;
IRQ0 &= ~0x10;
U0CTL1 &= ~0x02;
EI();
}

void at_at(void){
select_port(_UART0);
clear_msg();
printf("AT\n");
delay(1);
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}

//you can notice sa init_GSM na madaming beses tina-toggle yung output ng PD0, gusto ku lang kasi makita thru LED yung
//progress nang initialization if hindi nakakabit sa hyperterminal .. :D

void init_GSM(void){ PDOUT ^= 0x01;
delay(20);
PAOUT |= 0x40;
PDOUT ^= 0x01;
delay(20);
PAOUT &= ~0x40;
PDOUT ^= 0x01;
delay(1);

at_at();
PDOUT ^= 0x01;

do{
PDOUT ^= 0x01;
select_port(_UART0);
clear_msg();
printf("AT+CFUN=1\n");
delay(1);
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}while(strstr(msg,"ERROR")!=NULL);

at_at();

do{
PDOUT ^= 0x01;
select_port(_UART0);
clear_msg();
printf("AT+COPS=0\n");
delay(1);
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}while(strstr(msg,"ERROR")!=NULL);

at_at();

do{
PDOUT ^= 0x01;
select_port(_UART0);
clear_msg();
printf("AT+CMGF=1\n");
delay(1);
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}while(strstr(msg,"ERROR")!=NULL);

at_at();

do{
PDOUT ^= 0x01;
select_port(_UART0);
clear_msg();
printf("AT+CSDH=0\n");
delay(1);
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}while(strstr(msg,"ERROR")!=NULL);

at_at();

do{
PDOUT ^= 0x01;
select_port(_UART0);
clear_msg();
printf("AT+CPMS=\"SM\",\"SM\",\"SM\"\n");
delay(1);
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}while(strstr(msg,"ERROR")!=NULL);

at_at();

do{
PDOUT ^= 0x01;
select_port(_UART0);
clear_msg();
printf("AT+CNMI=2,0,0,0,0\n");
delay(1);
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}while(strstr(msg,"ERROR")!=NULL);

clear_msg();
PDOUT ^= 0x01;
}

void sendREP(char *data){
at_at();

do{
clear_msg();
select_port(_UART0);
printf("AT+CMGS=\"09175781216\"\n");
delay(1);
if (TESTING) {select_port(_UART1); printf("%s",msg);}
delay(1);

clear_msg();
select_port(_UART0);
printf("%s",data); putch(0x1A);
while(strstr(msg,"ERROR")==NULL && strstr(msg,"OK")==NULL) delay(1);
if (TESTING) {select_port(_UART1); printf("%s",msg);}
delay(1);
}while(strstr(msg,"ERROR")!=NULL);

clear_msg();

}

void readSMS(void){
cnum=0;
start=0;
fan=0;
rad=0;
select_port(_UART0);
clear_msg();
printf("AT+CMGR=1\n");
while(strstr(msg,"ERROR")==NULL && strstr(msg,"OK")==NULL)
delay(1);

if(strstr(msg,"9175781216")!=NULL){
cnum=1;
select_port(_UART1); printf("\ncnum=1\n");
}

if(strstr(msg,"START")!=NULL){
start=1;
select_port(_UART1); printf("\nstart=1\n");
}

if(strstr(msg,"OFF")!=NULL){
start=2;
select_port(_UART1); printf("\nstart=2\n");
}

if(strstr(msg,"RADON")!=NULL){
rad=1;
select_port(_UART1); printf("\nrad=1\n");
}

if(strstr(msg,"RADOFF")!=NULL){
rad=2;
select_port(_UART1); printf("\nrad=2\n");
}

if(strstr(msg,"FANON")!=NULL){
fan=1;
select_port(_UART1); printf("\nfan=1\n");
}

if(strstr(msg,"FANOFF")!=NULL){
fan=2;
select_port(_UART1); printf("\nfan=2\n");
}

select_port(_UART0);
clear_msg();
printf("AT+CMGD=1\n");
delay(1);
if(strstr(msg,"OK")!=NULL){
select_port(_UART1); printf("\nMAY NADELETE NA MESSAGE\n");
}
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}

//PC4,PC5,PC6 serves as an input if ignition is on, fan is on, radio is on, respectively.. nakaparallel kasi yung relays sa switches at key
//ng car..

void engstr(void){
unsigned char a = 0x00;

a=PCIN & 0x10;
if(a==0x00){
select_port(_UART1); printf("\nEngine started sir..\n");
PCOUT ^= 0x02;
delay(40);
PCOUT ^= 0x01;
delay(14);
PCOUT ^= 0x01;
at_at();
at_at();
sendREP("Engine started sir..");
}
if(a==0x10){
select_port(_UART1); printf("\nCannot perform task, engine already started sir..\n");
sendREP("Cannot perform task, engine already started sir..");
}
}

void engoff(void){
unsigned char a = 0x00;

a=PCIN & 0x10;
if(a==0x00){
select_port(_UART1); printf("\nCannot perform task, engine is already off sir..\n");
sendREP("Cannot perform task, engine is already off sir..");
}
if(a==0x10){
select_port(_UART1); printf("\nEngine is off sir..\n");
PCOUT ^= 0x02;
sendREP("Engine is off sir..");
}
}

void fanstr(void){
unsigned char a = 0x00;

a=PCIN & 0x20;
if(a==0x00){
select_port(_UART1); printf("\nFan turned on sir..\n");
PCOUT ^= 0x04;
sendREP("Fan turned on sir..");
}
if(a==0x20){
select_port(_UART1); printf("\nCannot perform task, fan already turned on sir..\n");
sendREP("Cannot perform task, fan already turned on sir..");
}
}

void fanoff(void){
unsigned char a = 0x00;

a=PCIN & 0x20;
if(a==0x00){
select_port(_UART1); printf("\nCannot perform task, fan is already off sir..\n");
sendREP("Cannot perform task, fan is already off sir..");
}
if(a==0x020){
select_port(_UART1); printf("\nFan is off sir..\n");
PCOUT ^= 0x04;
sendREP("Fan is off sir..");
}
}

void radstr(void){
unsigned char a = 0x00;

a=PCIN & 0x40;
if(a==0x00){
select_port(_UART1); printf("\nRadio turned on sir..\n");
PCOUT ^= 0x08;
sendREP("Fan turned on sir..");
}
if(a==0x40){
select_port(_UART1); printf("\nCannot perform task, radio already turned on sir..\n");
sendREP("Cannot perform task, radio already turned on sir..");
}
}

void radoff(void){
unsigned char a = 0x00;

a=PCIN & 0x40;
if(a==0x00){
select_port(_UART1); printf("\nCannot perform task, radio is already off sir..\n");
sendREP("Cannot perform task, radio is already off sir..");
}
if(a==0x020){
select_port(_UART1); printf("\nRadio is off sir..\n");
PCOUT ^= 0x08;
sendREP("Radio is off sir..");
}
}

void main(void){
init_uart(_UART0, _DEFFREQ, _DEFBAUD);
init_uart(_UART1, _DEFFREQ, _DEFBAUD);
init_port();
initial_uart0();
init_GSM();

PDOUT &= ~0x01;
PDOUT |= 0x02;

while(1){
readSMS();
if((cnum==1)&&(start==1)){
engstr();
}

if((cnum==1)&&(start==2)){
engoff();
}

if((cnum==1)&&(start==0)&&(fan==0)&&(rad==0)){
select_port(_UART1); printf("\nCode unknown sir..\n");
sendREP("Code unknown sir..");
}

if((cnum==1)&&(fan==1)){
fanstr();
}

if((cnum==1)&&(fan==2)){
fanoff();
}

if((cnum==1)&&(rad==1)){
radstr();
}

if((cnum==1)&&(rad==2)){
radoff();
}

cnum=0;
start=0;
rad=0;
fan=0;
}
}
thanks po sa magrereply.. :D

Philippine Electronics Forum

car engine start thru sms
« on: February 24, 2009, 09:43:10 PM »

Offline 0b00000111

  • Technical People
  • Solar Power Satellite
  • *****
  • Posts: 6129
  • Pogi/Ganda Points: 398
  • There is no delight in owning anything unshared.
Re: car engine start thru sms
« Reply #1 on: February 24, 2009, 10:07:57 PM »
Code: [Select]
#include <ez8.h>
#include <sio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define MSG_LEN 250
#define TESTING 1

unsigned int msg_index;
char msg[MSG_LEN];
int cnum=0, start=0, fan=0, rad=0;

// edited
void clear_msg(void){
msg[0]='\0';
msg_index=0;
}


void delay(int loop){
int i,j,k;
for (i=loop; i>=0; i--) for (j=0;j<0xFF;j++) for (k=0;k<0xFF;k++);
}


void init_port(void){
PDDD &= ~0x03;
PDAF &= ~0x03;
PDOC &= ~0x03;
PDHDE |= 0x03;
PDOUT &= ~0x03;

PADD &= ~0x40;
PAAF &= ~0x40;
PAOC &= ~0x40;
PAHDE |= 0x40;
PAOUT &= ~0x40;

PCDD |= 0x70;
PCDD &= ~0x0F;
PCAF &= ~0x7F;
PCOC &= ~0x0F;
PCHDE |= 0x0F;
PCOUT &= ~0x0F;
}

#pragma interrupt
void read_uart0(void){
if (U0STAT0 & 0x80) msg[msg_index++]=U0RXD;
}

void initial_uart0(void){
DI();
SET_VECTOR(UART0_RX, read_uart0);
IRQ0ENH |= 0x10;
IRQ0ENL |= 0x10;
IRQ0 &= ~0x10;
U0CTL1 &= ~0x02;
EI();
}


void RenameThisCodeNaLangHehe(char *myString)
{
select_port(_UART0);
clear_msg();
printf(myString);
delay(1);
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}

void at_at(void){
RenameThisCodeNaLangHehe("AT\n");
}






const char * const str_ptr[]={"AT+CFUN=1\n","AT+COPS=0\n","AT+CMGF=1\n","AT+CPMS=\"SM\",\"SM\",\"SM\"\n",
 "AT+CNMI=2,0,0,0,0\n"};


//you can notice sa init_GSM na madaming beses tina-toggle yung output ng PD0, gusto ku lang kasi makita thru LED yung
//progress nang initialization if hindi nakakabit sa hyperterminal .. :D

void init_GSM(void){
  unsigned char ctr;
  PDOUT ^= 0x01;
delay(20);
PAOUT |= 0x40;
PDOUT ^= 0x01;
delay(20);
PAOUT &= ~0x40;
PDOUT ^= 0x01;
delay(1);

PDOUT ^= 0x01;

  for(ctr=0;ctr<5;ctr++)
  {
    at_at();
  do{
  PDOUT ^= 0x01;
  RenameThisCodeNaLangHehe(str_ptr[ctr]);
  }while(strstr(msg,"ERROR")!=NULL);
  }
 
clear_msg();
PDOUT ^= 0x01;
}








void sendREP(char *data){
at_at();

do{
RenameThisCodeNaLangHehe("AT+CMGS=\"09175781216\"\n");

/*
clear_msg();
select_port(_UART0);
printf("AT+CMGS=\"09175781216\"\n");
delay(1);
if (TESTING) {select_port(_UART1); printf("%s",msg);}
delay(1);
*/


clear_msg();
select_port(_UART0);
printf("%s",data); putch(0x1A);
while(strstr(msg,"ERROR")==NULL && strstr(msg,"OK")==NULL) delay(1);
if (TESTING) {select_port(_UART1); printf("%s",msg);}
delay(1);
}while(strstr(msg,"ERROR")!=NULL);

clear_msg();

}

void readSMS(void){
cnum=0;
start=0;
fan=0;
rad=0;
select_port(_UART0);
clear_msg();
printf("AT+CMGR=1\n");
while(strstr(msg,"ERROR")==NULL && strstr(msg,"OK")==NULL)
delay(1);

if(strstr(msg,"9175781216")!=NULL){
cnum=1;
select_port(_UART1); printf("\ncnum=1\n");
}

if(strstr(msg,"START")!=NULL){
start=1;
select_port(_UART1); printf("\nstart=1\n");
}

if(strstr(msg,"OFF")!=NULL){
start=2;
select_port(_UART1); printf("\nstart=2\n");
}

if(strstr(msg,"RADON")!=NULL){
rad=1;
select_port(_UART1); printf("\nrad=1\n");
}

if(strstr(msg,"RADOFF")!=NULL){
rad=2;
select_port(_UART1); printf("\nrad=2\n");
}

if(strstr(msg,"FANON")!=NULL){
fan=1;
select_port(_UART1); printf("\nfan=1\n");
}

if(strstr(msg,"FANOFF")!=NULL){
fan=2;
select_port(_UART1); printf("\nfan=2\n");
}

select_port(_UART0);
clear_msg();
printf("AT+CMGD=1\n");
delay(1);
if(strstr(msg,"OK")!=NULL){
select_port(_UART1); printf("\nMAY NADELETE NA MESSAGE\n");
}
if(TESTING){select_port(_UART1); printf("%s", msg); }
delay(1);
}

//PC4,PC5,PC6 serves as an input if ignition is on, fan is on, radio is on, respectively.. nakaparallel kasi yung relays sa switches at key
//ng car..

void engstr(void){
unsigned char a = 0x00;

a=PCIN & 0x10;
if(a==0x00){
select_port(_UART1); printf("\nEngine started sir..\n");
PCOUT ^= 0x02;
delay(40);
PCOUT ^= 0x01;
delay(14);
PCOUT ^= 0x01;
at_at();
at_at();
sendREP("Engine started sir..");
}
if(a==0x10){
select_port(_UART1); printf("\nCannot perform task, engine already started sir..\n");
sendREP("Cannot perform task, engine already started sir..");
}
}

void engoff(void){
unsigned char a = 0x00;

a=PCIN & 0x10;
if(a==0x00){
select_port(_UART1); printf("\nCannot perform task, engine is already off sir..\n");
sendREP("Cannot perform task, engine is already off sir..");
}
if(a==0x10){
select_port(_UART1); printf("\nEngine is off sir..\n");
PCOUT ^= 0x02;
sendREP("Engine is off sir..");
}
}

void fanstr(void){
unsigned char a = 0x00;

a=PCIN & 0x20;
if(a==0x00){
select_port(_UART1); printf("\nFan turned on sir..\n");
PCOUT ^= 0x04;
sendREP("Fan turned on sir..");
}
if(a==0x20){
select_port(_UART1); printf("\nCannot perform task, fan already turned on sir..\n");
sendREP("Cannot perform task, fan already turned on sir..");
}
}

void fanoff(void){
unsigned char a = 0x00;

a=PCIN & 0x20;
if(a==0x00){
select_port(_UART1); printf("\nCannot perform task, fan is already off sir..\n");
sendREP("Cannot perform task, fan is already off sir..");
}
if(a==0x020){
select_port(_UART1); printf("\nFan is off sir..\n");
PCOUT ^= 0x04;
sendREP("Fan is off sir..");
}
}

void radstr(void){
unsigned char a = 0x00;

a=PCIN & 0x40;
if(a==0x00){
select_port(_UART1); printf("\nRadio turned on sir..\n");
PCOUT ^= 0x08;
sendREP("Fan turned on sir..");
}
if(a==0x40){
select_port(_UART1); printf("\nCannot perform task, radio already turned on sir..\n");
sendREP("Cannot perform task, radio already turned on sir..");
}
}

void radoff(void){
unsigned char a = 0x00;

a=PCIN & 0x40;
if(a==0x00){
select_port(_UART1); printf("\nCannot perform task, radio is already off sir..\n");
sendREP("Cannot perform task, radio is already off sir..");
}
if(a==0x020){
select_port(_UART1); printf("\nRadio is off sir..\n");
PCOUT ^= 0x08;
sendREP("Radio is off sir..");
}
}

void main(void){
init_uart(_UART0, _DEFFREQ, _DEFBAUD);
init_uart(_UART1, _DEFFREQ, _DEFBAUD);
init_port();
initial_uart0();
init_GSM();

PDOUT &= ~0x01;
PDOUT |= 0x02;

while(1){
readSMS();
if((cnum==1)&&(start==1)){
engstr();
}

if((cnum==1)&&(start==2)){
engoff();
}

if((cnum==1)&&(start==0)&&(fan==0)&&(rad==0)){
select_port(_UART1); printf("\nCode unknown sir..\n");
sendREP("Code unknown sir..");
}

if((cnum==1)&&(fan==1)){
fanstr();
}

if((cnum==1)&&(fan==2)){
fanoff();
}

if((cnum==1)&&(rad==1)){
radstr();
}

if((cnum==1)&&(rad==2)){
radoff();
}

cnum=0;
start=0;
rad=0;
fan=0;
}
}

yan na muna sa ngayon. marami pang pwedeng ma enhance sa code... btw, baka may mga unintentional akong na erase kasi panay copy cut paste ang ginawa ko hehehe...
E-Gizmo Mechatronix Central: www.e-gizmo.com

Tel #: (63)(2) 536-3378
Globe +63915-973-7691
Smart +63921-779-0748

Location Map

YM: julie.egizmo  aka Born2BeWired  ;D

Philippine Electronics Forum

Re: car engine start thru sms
« Reply #1 on: February 24, 2009, 10:07:57 PM »

Offline xueyuanlu

  • CR2032 Battery
  • **
  • Posts: 10
  • Pogi/Ganda Points: 0
Re: car engine start thru sms
« Reply #2 on: December 28, 2009, 03:50:52 PM »
Mga mams and sirs, ask ko lang po, tinatry ko po intindihin yung code, para matuto ng AT command embedding sa Zilog. Bakit po may line na ganito:

if(TESTING){select_port(_UART1); printf("%s", msg); }

dun sa code, eh di ba po nakadefine yung TESTING sa "1" so ibig sabihin lagi lang itong line na ito maeexecute? So bat pa po nilagyan ng IF na condition kung lagi rin naman po siyang maeexecute? thanks po. salamat po ng marami

Philippine Electronics Forum

Re: car engine start thru sms
« Reply #2 on: December 28, 2009, 03:50:52 PM »

Offline kelvinblank

  • Size D Battery
  • ******
  • Posts: 444
  • Pogi/Ganda Points: 4
  • Gender: Male
Re: car engine start thru sms
« Reply #3 on: December 28, 2009, 04:08:05 PM »
san nyo po ikakabit sa owner jeep yan? ung amin kasi sa kotse sa ignition wire namin kinabit ung output ng relay

Philippine Electronics Forum

Re: car engine start thru sms
« Reply #3 on: December 28, 2009, 04:08:05 PM »

Offline xueyuanlu

  • CR2032 Battery
  • **
  • Posts: 10
  • Pogi/Ganda Points: 0
Re: car engine start thru sms
« Reply #4 on: December 28, 2009, 04:43:02 PM »
^^ ako po ba yung tinatanong niyo? yung sa akin po kasi concern ko lang yung sending, iba yung application ko hindi car engine start, sa ibang sensor nakakabit. wala po akong makitang resources sa internet regarding C-Embedded AT Commands, puro examples lang. so I am trying to dissect and analyze bawat code na makikita ko. sorry po kung off-topic yung post ko, pero medyo related naman hehe..

anyway sir masasagot niyo po ba question ko bakit

if(TESTING){select_port(_UART1); printf("%s", msg); } 

ganito yung code? kasi TESTING was defined, #define TESTING 1
so meaning, before hand "1" na ang value ng testing. so ibig sabihin etong line na to laging
maeexecute pag natagpuan ng compiler. bakit po nilagyan pa ng condition na "IF" kung lagi rin
naman siyang eexecute? sir patulong po ha.. salamat po sa pag-reply

Philippine Electronics Forum

Re: car engine start thru sms
« Reply #4 on: December 28, 2009, 04:43:02 PM »

Offline 0b00000111

  • Technical People
  • Solar Power Satellite
  • *****
  • Posts: 6129
  • Pogi/Ganda Points: 398
  • There is no delight in owning anything unshared.
Re: car engine start thru sms
« Reply #5 on: December 28, 2009, 04:55:40 PM »
most commonly ginagamit yang ganyang style sa debugging at testing stage...

for example tapos na ang testing nya, rather than commenting all the lines he can just do this

#define TESTING 0

then di na mageexecute yung if statement.

although this method is commonly used with conditional compilation directive #if/#endif.
E-Gizmo Mechatronix Central: www.e-gizmo.com

Tel #: (63)(2) 536-3378
Globe +63915-973-7691
Smart +63921-779-0748

Location Map

YM: julie.egizmo  aka Born2BeWired  ;D

Offline xueyuanlu

  • CR2032 Battery
  • **
  • Posts: 10
  • Pogi/Ganda Points: 0
Re: car engine start thru sms
« Reply #6 on: December 28, 2009, 05:31:07 PM »
^ah ok thank you po, mam/sir. :)

Offline xueyuanlu

  • CR2032 Battery
  • **
  • Posts: 10
  • Pogi/Ganda Points: 0
Re: car engine start thru sms
« Reply #7 on: December 28, 2009, 06:00:17 PM »
isa pa po pala, yung line po ba na ito (interrupt parts):


#pragma interrupt
void read_uart0(void){
   if (U0STAT0 & 0x80) msg[msg_index++]=U0RXD;
}

void initial_uart0(void){
   DI();
   SET_VECTOR(UART0_RX, read_uart0);
   IRQ0ENH |= 0x10;
   IRQ0ENL |= 0x10;
   IRQ0 &= ~0x10;
   U0CTL1 &= ~0x02;
   EI();
}

ang may kinalaman para magfunction yung line na:

strstr(msg,"ERROR")

kasi I am wondering, saan manggagaling yung laman nung "msg" na variable. salamat po.

pati po ano po ibig sabihin nung U0STAT0 and U0RXD. halos lahat po kasi ng sending SMS codes na nakita ko may ganyan.

Offline ΔЅịMø

  • Gas Turbine
  • **
  • Posts: 2903
  • Pogi/Ganda Points: 140
  • Gender: Male
  • "Live Curious"
Re: car engine start thru sms
« Reply #8 on: March 19, 2010, 05:07:30 PM »
mga sir, working na poh ba ito?
Computer Engineering National Organization registration thread


Philippine Electronics Forum

Re: car engine start thru sms
« Reply #8 on: March 19, 2010, 05:07:30 PM »

 

Privacy Policy

Contact Us: elabph@yahoo.com