//========================================================= // MCU2 library demo // for G-4511 // 2013/05/16 //========================================================= #include #include #include #include #include #include "../lib/G4500.h" #include "../lib/OS7_COM.h" #include "../lib/MCU2LIB.h" void help(void) { Print("==========================\r\n"); Print("1>set DO ON or OFF\r\n"); Print("2>get DIO status, VBat\r\n"); Print("3>Sleep test.\r\n"); Print("4>Deep Sleep test.\r\n"); Print("5>Power On GSM\r\n"); Print("6>Power Off GSM\r\n"); Print("7>Enable Battery Protecting\r\n"); Print("8>Disable Battery Protecting\r\n"); Print("q>quit\r\n"); Print("==========================\r\n"); } int main(void) { int i, j, _continue=1, keyin; int tmp; int libVer; char libDate[32]; int result=0; float VBattery=0; int dioStatus; //-- (0-1)init InitLib(); //-- print G4500 lib. version GetLibDate(libDate); libVer=GetLibVersion(); Print("G4500.Lib vesion %X.%02X, Date:%s\r\n", libVer>>8, libVer&0xff, libDate); //-- print MCU2 lib. version MCU2_getLibVer(libDate); Print("MCU2 LIB vesion : %s\r\n", libDate); //-- (0-2)initial MCU2 result = MCU2_init(); if(result!=0) { Print("MCU2 initial fail : %d\r\n", result); return 1; } if(MCU2_getFWVer(libDate)!=MCU2_NOERROR) { Print("get MCU2 Version fail\r\n"); return 1; } Print("MCU2 Firmware version = %s\r\n", libDate); help(); while(_continue) { if(Kbhit()) { keyin = Getch(); switch(keyin) { case 'q': _continue = 0; break; case '1': Print("---- set DO ----\r\n"); dioStatus = MCU2_getDioStatus(); Print("DO=%d\r\n", (dioStatus&2)>>1); if(dioStatus&2) //set MCU2 Do0 inverse {MCU2_setDo0(0); Print("set Do0 OFF\r\n");} else {MCU2_setDo0(1); Print("set Do0 ON\r\n");} break; case '2': Print("---- get DIO status, VBat ----\r\n"); dioStatus = MCU2_getDioStatus(); VBattery = MCU2_getVBattery(); Print("DIO=%d, VBat=%.3f V\r\n", dioStatus, VBattery); break; case '3': Print("---- sleep 10 sec. ----\r\n"); //Sleep only power off 7186 CPU if(MCU2_Sleep(10)!=0) Print("Sleep fails\r\n"); break; case '4': Print("---- deep sleep 10 sec. ----\r\n"); //Deep Sleep will Power Off all system power if(MCU2_DeepSleep(10)!=0) Print("Sleep fails\r\n"); break; case '5': Print("---- Power ON GSM. ----\r\n"); MCU2_EnableGSM(1); break; case '6': Print("---- Power OFF GSM. ----\r\n"); MCU2_EnableGSM(0); break; case '7': Print("---- Enable Power Protecting. ----\r\n"); //this function will protect the battery in low valtage status MCU2_BatteryProtect(1); break; case '8': Print("---- Disable Power Protecting. ----\r\n"); MCU2_BatteryProtect(0); break; } help(); } } Print("Exit Program!!\r\n"); return 0; }