📄 gprs-app.c
字号:
case frmOpenEvent:
frmP = FrmGetActiveForm();
//MainFormInit( frmP);
FrmDrawForm ( frmP);
handled = true;
break;
default:
break;
}
return handled;
}
//
//
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
// //
// Function : MainFormButtonHandler //
// //
// Objective: //
// This function processes the events generated by the buttons on //
// the MainForm when they are pressed. //
// //
// Called by: //
// This function is called by MainFormHandleEvent()when the Main_ //
// Form Event Handler (MainFormHandleEvent()) finds that a //
// button pressed event has occured. //
// //
//----------------------------------------------------------------------------//
//
//
//
static Boolean MainFormButtonHandler(FormPtr frmP, EventPtr eventP)
{
Boolean handled = false;
UInt16 cardNo;
MemPtr Eud;
LocalID dbID;
char url[]="www.motorola.com";
DmSearchStateType SearchState;
char CarrRet[]="\r\n";
char Dial[]="ATD*99#\r\n";
UInt16 TxDelay=25, i;
char Comma[]=",";
char OnHook[]="AT+CKPD=e\r\n"; // Go On Hook
char Talk[] = "AT+CKPD=s\r\n"; // Talk
char NumZero[]="AT+CKPD=48\r\n"; // Num = 0
char NumOne []="AT+CKPD=49\r\n"; // Num = 1
char NumTwo []="AT+CKPD=50\r\n"; // Num = 2
char NumThree[]="AT+CKPD=51\r\n"; // Num = 3
char NumFour[]="AT+CKPD=52\r\n"; // Num = 4
char NumFive[]="AT+CKPD=53\r\n"; // Num = 5
char NumSix[]="AT+CKPD=54\r\n"; // Num = 6
char NumSeven[]="AT+CKPD=55\r\n"; // Num = 7
char NumEight[]="AT+CKPD=56\r\n"; // Num = 8
char NumNine[]="AT+CKPD=57\r\n"; // Num = 9
char GprsInitMsgOne[]="AT\r\n"; // AT<CR><NL>
char GprsInitMsgTwo[]="AT+CGATT?\r\n"; // AT+CGATT?<CR><NL>
char GprsInitMsgThree[]="ATE0\r\n"; // ATE0<CR><NL>
char GprsInitMsgFour[]= "AT+CGDCONT=1,\"IP\",\"internet2.voicestream.com\",,0,0\r\n";
char GprsInitMsgFive[]="AT+CGQREQ=1,0,0,3,0,0\r\n"; //AT+CGQREQ
char GprsInitMsgSix[]="AT+CGQMIN=1,0,0,3,0,0\r\n"; //AT+CGQMIN
char GprsInitMsgSeven[]="AT+IPR=57600\r\n";//AT+IPR=57600<CR><NL>
char GprsInitMsgEight[]="ATZ\r\n"; //ATZ<CR><NL>
char GprsInitMsgNine[]="ATE1V1\r\n" ; //ATE1V1<CR><NL>
char GprsInitMsgTen[]="AT+IFC=2,2\r\n"; //AT+IFC
char GprsInitMsgEleven[]="ATS0=0\r\n"; //ATS0
char GprsInitMsgTwelve[]="AT+CGQREQ=1,0,0,3,0,0\r\n"; //AT+CGQREQ
// Finding which button was pressed.
switch (eventP->data.ctlEnter.controlID)
{
case MainPhoneOnHookGraphicButton: // Key "On_Hook"
SrmSend(portId, &OnHook, StrLen(OnHook), &err);
break;
case MainPhoneOffHookGraphicButton: // Key "Talk"
SrmSend(portId, &Talk, StrLen(Talk), &err);
break;
case MainKeyZeroButton: // Key #0
SrmSend(portId, &NumZero,StrLen(NumZero), &err);
break;
case MainKeyOneButton: // Key #1
SrmSend(portId, &NumOne, StrLen(NumOne), &err);
break;
case MainKeyTwoButton: // Key #2
SrmSend(portId, &NumTwo, StrLen(NumTwo), &err);
break;
case MainKeyThreeButton: // Key #3
SrmSend(portId, &NumThree, StrLen(NumThree), &err);
break;
case MainKeyFourButton: // Key #4
SrmSend(portId, &NumFour, StrLen(NumFour), &err);
break;
case MainKeyFiveButton: // Key #5
SrmSend(portId, &NumFive, StrLen(NumFive), &err);
break;
case MainKeySixButton: // Key #6
SrmSend(portId, &NumSix, StrLen(NumSix), &err);
break;
case MainKeySevenButton: // Key #7
SrmSend(portId, &NumSeven, StrLen(NumSeven), &err);
break;
case MainKeyEightButton: // Key #8
SrmSend(portId, &NumEight, StrLen(NumEight), &err);
break;
case MainKeyNineButton: // Key #9
SrmSend(portId, &NumNine, StrLen(NumNine), &err);
break;
case MainKeyStarButton: // Key "*"
SndPlaySystemSound(7);
break;
case MainKeyHashButton: // Key "#"
SndPlaySystemSound(7);
break;
case MainInitGprsNetGraphicButton: // Key "GPRS_Init"
// Tx >> "AT"
for(i=0; i<=2; i++)
{
SrmSend(portId, &GprsInitMsgOne, StrLen(GprsInitMsgOne), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
}
// Tx >> "AT+CGATT?"
SrmSend(portId, &GprsInitMsgTwo, StrLen(GprsInitMsgTwo), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
// Tx >> "ATE0"
SrmSend(portId, &GprsInitMsgThree, StrLen(GprsInitMsgThree), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
// Tx >> "AT+CGDCONT=1,."
SrmSend(portId, &GprsInitMsgFour, StrLen(GprsInitMsgFour), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
// Tx >> "AT+CGQREQ=..."
SrmSend(portId, &GprsInitMsgFive, StrLen(GprsInitMsgFive), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
// Tx >> "AT+CGQMIN=..."
SrmSend(portId, &GprsInitMsgSix, StrLen(GprsInitMsgSix), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
// Tx >> "AT+IPR=57600"
SrmSend(portId, &GprsInitMsgSeven, StrLen(GprsInitMsgSeven), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
// Tx >> "ATS0=0"
SrmSend(portId, &GprsInitMsgEleven, StrLen(GprsInitMsgEleven), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
// Tx >> "AT+IFC=2,2"
SrmSend(portId, &GprsInitMsgTen, StrLen(GprsInitMsgTen), &err);
SysTaskDelay(TxDelay);
SndPlaySystemSound(7);
// Tx >> "ATD*99#"
SrmSend(portId, &Dial, StrLen(Dial), &err);
SysTaskDelay(TxDelay*5);
SndPlaySystemSound(7);
//----- Programmatically launching Eudora Browser now.
DmGetNextDatabaseByTypeCreator (true, &SearchState, sysFileTApplication, extAppEudoraWeb,
true, &cardNo, &dbID);
Eud = MemPtrNew(StrLen(url)+1);
MemPtrSetOwner(Eud,0);
SysUIAppSwitch (cardNo, dbID,sysAppLaunchCmdNormalLaunch, Eud);
break;
}
handled = true;
return handled;
}
//
//
//---------------------------------------------------------------------------//
//-----------------------------------------------------------------------------//
// //
// Function : MainFormInit //
// //
// //
// Objective: //
// This function initializes the MainForm form. //
// Called by: //
// MainFormHandleEvent() //
// //
// Parameters: frm - pointer to the MainForm form. //
// Returned: Nothing. //
// History: First created on Jan-12-2002. //
// //
//-----------------------------------------------------------------------------//
//
//
//
static void MainFormInit(FormPtr)
{
}
//
//
//
//-----------------------------------------------------------------------------//
//-----------------------------------------------------------------------------//
// //
// Function : MainFormDoCommand //
// //
// //
// Objective: //
// This function performs the menu command specified. //
// Called by: //
// MainFormHandleEvent() //
// //
// Parameters: frm - pointer to the MainForm form. //
// Returned: Nothing. //
// History: First created on Jan-12-2002. //
// //
//-----------------------------------------------------------------------------//
//
//
//
static Boolean MainFormDoCommand(UInt16 command)
{
Boolean handled = false;
FormPtr frmP;
switch (command)
{
case MainOptionsAboutStarterApp:
MenuEraseStatus(0); // Clear the menu status from the display.
frmP = FrmInitForm (AboutForm);
FrmDoDialog (frmP); // Display the About Box.
FrmDeleteForm (frmP);
handled = true;
break;
}
return handled;
}
//
//
//
//-----------------------------------------------------------------------------//
//-----------------------------------------------------------------------------//
// //
// Function : GetObjectPtr //
// //
// //
// Objective: //
// This routine returns a pointer to an object in the current //
// form. //
// Called by: //
// //
// //
// Parameters: formID - id of the form to display. //
// Returned: Nothing. //
// History: First created on Jan-12-2002. //
// //
//-----------------------------------------------------------------------------//
//
//
//
static void * GetObjectPtr(UInt16 objectID)
{
FormPtr frmP;
frmP = FrmGetActiveForm();
return FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, objectID));
}
//
//
//
//-----------------------------------------------------------------------------//
//-----------------------------------------------------------------------------//
// //
// Function : RomVersionCompatible //
// //
// //
// Objective: //
// This routine checks that a ROM version meets the //
// minimum requirement. //
// Called by: //
// StarterPalmMain() //
// //
// Parameters: requiredVersion - minimum rom version required //
// (see sysFtrNumROMVersion in SystemMgr.h //
// for format) //
// launchFlags - flags that indicate if the application //
// UI is initialized. //
// Returned: error code or zero if rom is compatible //
// History: First created on Jan-12-2002. //
// //
//-----------------------------------------------------------------------------//
//
//
//
static Err RomVersionCompatible(UInt32 requiredVersion, UInt16 launchFlags)
{
UInt32 romVersion;
// See if we're on in minimum required version of the ROM or later.
FtrGet(sysFtrCreator, sysFtrNumROMVersion, &romVersion);
if (romVersion < requiredVersion)
{
if ((launchFlags & (sysAppLaunchFlagNewGlobals | sysAppLaunchFlagUIApp)) ==
(sysAppLaunchFlagNewGlobals | sysAppLaunchFlagUIApp))
{
FrmAlert (RomIncompatibleAlert);
// Palm OS 1.0 will continuously relaunch this app unless we switch to
// another safe one.
if (romVersion < ourMinVersion)
{
AppLaunchWithCommand(sysFileCDefaultApp, sysAppLaunchCmdNormalLaunch, NULL);
}
}
return sysErrRomIncompatible;
}
return errNone;
}
//
//
//
//-----------------------------------------------------------------------------//
//------------------------------------ End of File ----------------------------//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -