#include <stdio.h>
#include <unistd.h>
int main(
int argc,
char **
const argv)
{
INT32 rc = 0;
UINT8 ch;
UINT8 rssi;
INT8 imei[16];
INT8 pin[5];
INT8 apn[64];
INT8 username[64];
INT8 password[64];
sprintf((char*)apn, "internet");
sprintf((char*)username, "username");
sprintf((char*)password, "password");
sprintf((char*)pin, "0000");
for(;;)
{
rc = getopt(argc, argv, "a:b:p:ht:u:c:");
if(rc == EOF) break;
switch(rc)
{
case 'u':
sprintf(username, optarg);
break;
case 'c':
sprintf(password, optarg);
break;
case 'a':
sprintf(apn, optarg);
break;
case 't':
break;
case 'p':
memcpy(pin, optarg, 4);
break;
case 'b':
band = atoi(optarg);
break;
case 'h':
default:
printf("Cellular 3G Network.\n\n");
printf("Usage: ./cellular_connection [OPTIONS]\n\n");
printf("Options:\n");
printf("\t%-8s To specify hostname for ping check. Default = %s\n", "-t", "www.google.com");
printf("\t%-8s To specify the APN. Default = %s\n", "-a", apn);
printf("\t%-8s To specify PIN code. Default = %s\n", "-p", pin);
printf("\t%-8s To specify user name. Default = %s\n", "-u", username);
printf("\t%-8s To specify user password. Default = %s\n", "-c", password);
printf("\n");
exit(1);
}
}
printf("Cellular: Init cellular modem...\n");
printf("Cellular: MX_Cellular_Modem_Init:%d\r\n", rc);
{
return -1;
}
printf("\r\nCommands:\r\n");
printf("\tPress 'c' to start 3G network without AutoCheck.\r\n");
printf("\tPress 'C' to start 3G network with AutoCheck.\r\n");
printf("\tPress 'm' to get current state machine.\r\n");
printf("\tPress 's' to stop 3G network.\r\n");
printf("\tPress 'h' to query RSSI.\r\n");
printf("\tPress 'i' to query IMEI.\r\n");
printf("\tPress 'q' to quit.\r\n");
while(1)
{
scanf("%c", &ch);
switch(ch)
{
case 'c':
case 'C':
case 's':
case 'q':
case 'h':
case 'i':
case 'm':
break;
case '\n':
default:
printf("\r\nCommands:\r\n");
printf("\tPress 'c' to start 3G network without AutoCheck.\r\n");
printf("\tPress 'C' to start 3G network with AutoCheck.\r\n");
printf("\tPress 'm' to get current state machine.\r\n");
printf("\tPress 's' to stop 3G network.\r\n");
printf("\tPress 'h' to query RSSI.\r\n");
printf("\tPress 'i' to query IMEI.\r\n");
printf("\tPress 'q' to quit.\r\n");
continue;
}
switch(ch)
{
case 'c':
printf("Cellular: MX_Cellular_Net_Start without AutoCheck:%d\n", rc);
continue;
case 'C':
printf("Cellular: MX_Cellular_Net_Start with AutoCheck:%d\n", rc);
continue;
case 's':
printf("Cellular: MX_Cellular_Net_Stop:%d\n", rc);
continue;
case 'h':
printf("Cellular: MX_Cellular_Modem_RSSI:%d, rc:%d\n", rssi, rc);
continue;
case 'i':
printf("Cellular: IMEI:%s\n", imei);
continue;
case 'm':
continue;
case 'q':
case 'Q':
printf("Cellular: Quit\n");
return 0;
}
}
return 0;
}