BTIPerfClient::BTIPerfClient(CWnd* pParent /*=NULL*/) : CPropertyViewPage(BTIPerfClient::IDD, 0, pParent) { m_pIPerfClient=0; m_bClientStarted=FALSE; m_fStatistics = NULL; //{{AFX_DATA_INIT(CIperfDlg) // m_uiInterval = 0.0; // m_uiTotalTime = 0; // Add Preference items : logdir // m_csReportFile.Format("%s\\iperf_stats.txt", logdir); //m_csReportFile = _T("\\My Documents\\iperf_stats.txt"); //m_csErrorFile = _T("\\My Documents\\iperf_err.txt"); TCHAR *log_dir = L"\\My Documents\\btools_log"; TCHAR *log_file_postfix = L"iClient.txt"; // log TCHAR *pLogFile = SetupLog(log_dir, log_file_postfix); m_csReportFile = pLogFile; TCHAR *error_file_postfix = L"iClient_error.txt"; pLogFile = SetupLog(log_dir, error_file_postfix); m_csErrorFile = pLogFile; }
//Display the properties of the attached phidget to the screen. We will be displaying the name, serial number and version of the attached device. int ASDisplayProperties(CPhidgetAdvancedServoHandle phid) { int serialNo, version, numMotors; const char* ptr; CPhidget_getDeviceType((CPhidgetHandle)phid, &ptr); CPhidget_getSerialNumber((CPhidgetHandle)phid, &serialNo); CPhidget_getDeviceVersion((CPhidgetHandle)phid, &version); CPhidgetAdvancedServo_getMotorCount (phid, &numMotors); SetupLog("%s", ptr); SetupLog("Serial Number: %10d\nVersion: %8d\n# Motors: %d", serialNo, version, numMotors); return 0; }
int MCDisplayProperties(CPhidgetMotorControlHandle phid) { int serialNo, version, numInputs, numMotors; const char* ptr; CPhidget_getDeviceType((CPhidgetHandle)phid, &ptr); CPhidget_getSerialNumber((CPhidgetHandle)phid, &serialNo); CPhidget_getDeviceVersion((CPhidgetHandle)phid, &version); CPhidgetMotorControl_getInputCount(phid, &numInputs); CPhidgetMotorControl_getMotorCount(phid, &numMotors); SetupLog("%s", ptr); SetupLog("Serial Number: %10d\nVersion: %8d", serialNo, version); SetupLog("# Inputs: %d\n# Motors: %d", numInputs, numMotors); return 0; }
int AttachHandler(CPhidgetHandle IFK, void *userptr) { int serialNo; const char *name; CPhidget_getDeviceName(IFK, &name); CPhidget_getSerialNumber(IFK, &serialNo); SetupLog("%s %10d attached!", name, serialNo); return 0; }
//Display the properties of the attached phidget to the screen. We will be displaying the name, serial number and version of the attached device. //Will also display the number of inputs, outputs, and analog inputs on the interface kit as well as the state of the ratiometric flag //and the current analog sensor sensitivity. int IKDisplayProperties(CPhidgetInterfaceKitHandle phid) { int serialNo, version, numInputs, numOutputs, numSensors, triggerVal, ratiometric, i; const char* ptr; CPhidget_getDeviceType((CPhidgetHandle)phid, &ptr); CPhidget_getSerialNumber((CPhidgetHandle)phid, &serialNo); CPhidget_getDeviceVersion((CPhidgetHandle)phid, &version); CPhidgetInterfaceKit_getInputCount(phid, &numInputs); CPhidgetInterfaceKit_getOutputCount(phid, &numOutputs); CPhidgetInterfaceKit_getSensorCount(phid, &numSensors); CPhidgetInterfaceKit_getRatiometric(phid, &ratiometric); SetupLog("%s", ptr); SetupLog("Serial Number: %10d\nVersion: %8d", serialNo, version); SetupLog("# Digital Inputs: %d\n# Digital Outputs: %d", numInputs, numOutputs); SetupLog("# Sensors: %d", numSensors); SetupLog("Ratiometric: %d", ratiometric); for(i = 0; i < numSensors; i++) { CPhidgetInterfaceKit_getSensorChangeTrigger (phid, i, &triggerVal); SetupLog("Sensor#: %d > Sensitivity Trigger: %d\n", i, triggerVal); } return 0; }
int teardown() { SetupLog("Closing...\n"); #ifndef NO_POWERLIB power_button_reset(); #endif CPhidgetAdvancedServo_setPosition(servo, 0, 120); sleep(2); // Close IFKIT CPhidget_close((CPhidgetHandle)ifKit); CPhidget_delete((CPhidgetHandle)ifKit); // close motoControl CPhidget_close((CPhidgetHandle)motoControl); CPhidget_delete((CPhidgetHandle)motoControl); // disengage and close servo CPhidgetAdvancedServo_setEngaged(servo, 0, 0); CPhidget_close((CPhidgetHandle)servo); CPhidget_delete((CPhidgetHandle)servo); //all done, exit return 0; }
int main(int argc, char *argv[]) { Q_INIT_RESOURCE( resources ); QApplication a(argc, argv); settingsPath = QDesktopServices::storageLocation( QDesktopServices::HomeLocation ) + "/QtWitGui.ini"; SetupLog(); qDebug().nospace() << "<b><text style=\"color:green\">" << PROGRAM_NAME << " r" << SVN_REV_STR << "</text></b>"; QTranslator translator; if( !translator.load( QString( "language/witGuiLang_" ) + QLocale::system().name() ) ) translator.load( QString( ":/language/witGuiLang_" ) + QLocale::system().name() ); a.installTranslator( &translator ); wiiTDB = new WiiTDB; QApplication::setWindowIcon( QIcon( ":images/icon.ico" ) ); MainWindow w; QStringList args = QApplication::arguments(); if( args.contains( "--greyness") ) { QFile file( ":/darkTheme.qss" ); file.open( QFile::ReadOnly ); QString styleSheet = QLatin1String( file.readAll() ); w.setStyleSheet( styleSheet ); } w.show(); int ret = a.exec(); delete wiiTDB; delete logWindow; #ifdef Q_WS_WIN //on windows XP, wmic leaves behind a temp file ( 0 bytes ): just delete it if( QFile::exists( "./TempWmicBatchFile.bat" ) ) QFile::remove( "./TempWmicBatchFile.bat" ); #endif return ret; }
int MCCurrentChangeHandler(CPhidgetMotorControlHandle MC, void *usrptr, int Index, double Value) { SetupLog("Motor: %d > Current Draw: %f", Index, Value); return 0; }
int MCVelocityChangeHandler(CPhidgetMotorControlHandle MC, void *usrptr, int Index, double Value) { SetupLog("Motor %d > Current Speed: %f", Index, Value); return 0; }
int MCInputChangeHandler(CPhidgetMotorControlHandle MC, void *usrptr, int Index, int State) { SetupLog("Input %d > State: %d", Index, State); return 0; }
int ErrorHandler(CPhidgetHandle IFK, void *userptr, int ErrorCode, const char *unknown) { SetupLog("Error handled. %d - %s", ErrorCode, unknown); return 0; }
int setup() { init_debugging(); int result, numSensors, i; const char *err; //handles *Handles; //Declare an InterfaceKit handle // Setup the IFKit CPhidgetInterfaceKit_create(&ifKit); CPhidget_set_OnAttach_Handler((CPhidgetHandle)ifKit, AttachHandler, NULL); CPhidget_set_OnDetach_Handler((CPhidgetHandle)ifKit, DetachHandler, NULL); CPhidget_set_OnError_Handler((CPhidgetHandle)ifKit, ErrorHandler, NULL); CPhidgetInterfaceKit_set_OnInputChange_Handler (ifKit, IKInputChangeHandler, NULL); CPhidgetInterfaceKit_set_OnSensorChange_Handler (ifKit, IKSensorChangeHandler, NULL); CPhidgetInterfaceKit_set_OnOutputChange_Handler (ifKit, IKOutputChangeHandler, NULL); CPhidget_open((CPhidgetHandle)ifKit, -1); //get the program to wait for an interface kit device to be attached SetupLog("Waiting for interface kit to be attached...."); if((result = CPhidget_waitForAttachment((CPhidgetHandle)ifKit, 10000))) { CPhidget_getErrorDescription(result, &err); printf("Problem waiting for attachment: %s\n", err); return 0; } //Display the properties of the attached interface kit device IKDisplayProperties(ifKit); // Setup motoControl CPhidgetMotorControl_create(&motoControl); CPhidget_set_OnAttach_Handler((CPhidgetHandle)motoControl, AttachHandler, NULL); CPhidget_set_OnDetach_Handler((CPhidgetHandle)motoControl, DetachHandler, NULL); CPhidget_set_OnError_Handler((CPhidgetHandle)motoControl, ErrorHandler, NULL); CPhidgetMotorControl_set_OnInputChange_Handler (motoControl, MCInputChangeHandler, NULL); CPhidgetMotorControl_set_OnVelocityChange_Handler (motoControl, MCVelocityChangeHandler, NULL); CPhidgetMotorControl_set_OnCurrentChange_Handler (motoControl, MCCurrentChangeHandler, NULL); CPhidget_open((CPhidgetHandle)motoControl, -1); SetupLog("Waiting for MotorControl to be attached...."); if((result = CPhidget_waitForAttachment((CPhidgetHandle)motoControl, 10000))) { CPhidget_getErrorDescription(result, &err); printf("Problem waiting for attachment: %s\n", err); return 0; } MCDisplayProperties(motoControl); CPhidgetMotorControl_setAcceleration (motoControl, 0, 50.00); CPhidgetMotorControl_setAcceleration (motoControl, 1, 50.00); // Setup AdvancedServo CPhidgetAdvancedServo_create(&servo); CPhidget_set_OnAttach_Handler((CPhidgetHandle)servo, AttachHandler, NULL); CPhidget_set_OnDetach_Handler((CPhidgetHandle)servo, DetachHandler, NULL); CPhidget_set_OnError_Handler((CPhidgetHandle)servo, ErrorHandler, NULL); CPhidgetAdvancedServo_set_OnPositionChange_Handler(servo, ASPositionChangeHandler, NULL); CPhidget_open((CPhidgetHandle)servo, -1); SetupLog("Waiting for Phidget to be attached...."); if((result = CPhidget_waitForAttachment((CPhidgetHandle)servo, 10000))) { CPhidget_getErrorDescription(result, &err); printf("Problem waiting for attachment: %s\n", err); return 0; } //Display the properties of the attached device ASDisplayProperties(servo); CPhidgetAdvancedServo_setEngaged(servo, 0, 1); state.ServoPosition = 0; sensor.RightWhisker = 0; sensor.LeftWhisker = 0; sensor.FrontFacingIR = 0; sensor.TopIR = 0; state.AverageBaseLight = (float)10000; sensor.TopLeftLight = 0; sensor.TopRightLight = 0; state.flashWasOn = 0; state.wasOnBlackInLastIteration = 0; sensor.SpinSensor = 10.0; state.expectedMovement = None; state.expectedFor = 0; state.exitTrialCounter = 0; state.stuckCounter = 0; state.previousState = 2; gettimeofday(&state.lastFlashSighted, NULL); //#ifdef FREQUENCY //state.frequency = FREQUENCY; //#endif #ifndef NO_POWERLIB power_button_reset(); while(power_button_get_value()==0) { sleep(1); } #endif return 0; }
int ASPositionChangeHandler(CPhidgetAdvancedServoHandle ADVSERVO, void *usrptr, int Index, double Value) { SetupLog("Motor: %d > Current Position: %f", Index, Value); return 0; }
/****************************************************************** * main * ******************************************************************/ int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { BOOL fLogTime = FALSE; BOOL fCompile = TRUE; BOOL fInstall = TRUE; BOOL fSetup = FALSE; BOOL fQuiet = FALSE; char szPBuf[256]; char szEPBuf[256]; char szJPBuf[256]; char seps[] = " \t"; char *token; char *pt; HMODULE hModule; hInst = hInstance; memset( szMeadowVersion, 0, sizeof(szMeadowVersion) ); token = strtok( lpCmdLine, seps ); while ( token ){ if ( ! strcmp(token,"-cd") || ! strcmp(token,"-nc") ) fCompile = FALSE; /* install only (not compile) */ if ( ! strcmp(token,"-ni") ) fInstall = FALSE; /* compile only (not install) */ if ( ! strcmp(token,"-s") ) fSetup = TRUE; /* setup mode */ if ( ! strcmp(token,"-q") ) fQuiet = TRUE; /* quiet mode */ if ( ! strcmp(token,"-h") ){ ShowUsage(); return 0; } token = strtok( NULL, seps ); } /* while ( token ){ */ /* Setup log module * After this, OutputLog function could be used. */ SetupLog( LOGFILE_NAME, TRUE, TRUE, fLogTime, TRUE, 0, fQuiet ); /* Startup Log Message */ sprintf(szPBuf,"Mew installer for Win32 Version %s",MEWINST_VERSION); OutputLog(szPBuf); sprintf(szPBuf," Copyright (C) %s Shuichi Kitaguchi", COPYRIGHT_YEARS); OutputLog(szPBuf); OutputLog(""); /* Startup window */ if (!fQuiet && !DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_TITLE), 0, TitleDlgProc, 0)){ OutputLog("Installation is canceled or title window is failed to create."); return -1; } /* Ini file name */ hModule = GetModuleHandle(NULL); GetModuleFileName(hModule,szCurrentPath,sizeof(szCurrentPath)); if ( (pt = strrchr(szCurrentPath,'\\')) ) *pt = (char)0; sprintf(szIniFile,"%s\\%s",szCurrentPath,MEWINST_DEFAULT); #if 0 /* parent process's console? xxx */ AllocConsole(); hConsole = CreateConsoleScreenBuffer( GENERIC_READ|GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL ); if ( hConsole == INVALID_HANDLE_VALUE ) goto Error; if ( ! SetStdHandle( STD_OUTPUT_HANDLE, hConsole ) ){ OutputLog("SetStdhandle fails."); goto Error; } if ( ! SetConsoleActiveScreenBuffer( hConsole ) ){ OutputLog("SetConsoleActiveScreenBuffer fails."); goto Error; } #endif if ( ! GetEnvironments() ) goto Error; if ( ! ReadEnvironments() ) goto Error; PrintEnvironments(); if ( ! CheckFile(MEWINST_DEFAULT) ){ sprintf(szEPBuf,"[%s] is not found!",MEWINST_DEFAULT); sprintf(szJPBuf,"[%s] が見付かりません!",MEWINST_DEFAULT); BilErrorMessageBox( szEPBuf, szJPBuf ); goto Error; } /* if ( ! CheckFile("mew.dot.emacs") ){ BilErrorMessageBox( "Archive Extraction Error!\nCheck your archiver program(support long filename?).", "アーカイブの解凍に失敗しています\n解凍プログラムがロングファイルネームをサポートしているか、確認して下さい"); goto Error; } */ /* selecting Emacs type */ if ( CheckFile( szIniFile ) ){ GetPrivateProfileString("Make","EMACS","Default", szPBuf,sizeof(szPBuf), szIniFile); if ( !strcmp( szPBuf, "Default" ) && !fQuiet ){ if ( ! SelectEmacsen() ){ BilErrorMessageBox( "Any Emacsen cannot found!\nHas Emacs been installed correctly?", "Emacs が見付かりませんでした\nEmacs を正しくインストールしましたか?" ); goto Error; } } } /* if ( CheckFile( szIniFile ) ) */ if ( langId == LANGID_JAPANESE ){ OutputLog(">>INI ファイルを読み込んでいます..."); } else { OutputLog(">>Read INI File..."); } if ( ! ReadIniFile() ) goto Error; if ( langId == LANGID_JAPANESE ) strcpy(szPBuf,">>>Emacs は ["); else strcpy(szPBuf,">>>Emacs is ["); switch ( bEmacsType ){ case EMACS_MEADOW: strcat(szPBuf,"Meadow "); strcat(szPBuf,szMeadowVersion); break; case EMACS_EMACS: strcat(szPBuf,"Emacs"); break; case EMACS_XEMACS: strcat(szPBuf,"XEmacs"); break; default: strcat(szPBuf,"unknown"); break; } if ( langId == LANGID_JAPANESE ) strcat(szPBuf,"] です"); else strcat(szPBuf,"]"); OutputLog(szPBuf); #if 0 /* XXX: */ if ( fSetup ){ if ( langId == LANGID_JAPANESE ){ OutputLog(">>設定を生成しています..."); } else { OutputLog(">>Creating configuration..."); } if ( ! SetupMew() ) goto Error; BilInfoMessageBox( "Add configuration to your ~/.emacs file.\nPlease check it.", "~/.emacs ファイルに設定を追加しました\n確認して下さい"); return ( 0 ); } #endif if ( fCompile ){ if ( langId == LANGID_JAPANESE ){ OutputLog(">>ソースをコンパイルしています..."); } else { OutputLog(">>Compiling sources..."); } if ( ! CompileSources() ) goto Error; if ( langId == LANGID_JAPANESE ){ OutputLog(">>実行ファイルを作成しています..."); } else { OutputLog(">>Making Executables..."); } } /* if ( fCompile ){ */ if ( fInstall ){ if ( langId == LANGID_JAPANESE ){ OutputLog(">>el/elc/実行 ファイルをインストールしています..."); } else { OutputLog(">>Installing el/elc/executable Files..."); } if ( ! InstallMew() ) goto Error; if ( langId == LANGID_JAPANESE ){ OutputLog(">>画像ファイルをインストールしています..."); } else { OutputLog(">>Installing Image files..."); } if ( ! InstallImage() ) goto Error; if ( langId == LANGID_JAPANESE ){ OutputLog(">>Info ファイルをインストールしています..."); } else { OutputLog(">>Installing Info files..."); } if ( ! InstallInfo() ) goto Error; } /* if ( fInstall ){ */ #if 0 /* XXX: */ if ( fInstall && !fQuiet ){ if ( BilMessageBox( NULL, "Do you want to setup your ~/.emacs?", "~/.emacs の設定を行ないますか?", "Question", MB_YESNO ) == IDYES ){ if ( ! SetupMew() ) goto Error; BilInfoMessageBox( "Add configuration to your ~/.emacs file.\nPlease check it.", "~/.emacs ファイルに設定を追加しました\n確認して下さい"); } } #endif if ( fInstall ) BilInfoMessageBox( "Mew installation complete", "Mew のインストールが終了しました" ); if ( langId == LANGID_JAPANESE ){ OutputLog(">>Mew のインストールが終了しました"); } else { OutputLog(">>Mew installation complete."); } return ( 0 ); Error: BilErrorMessageBox( "Mew installation is NOT complete!\nCheck mew.log file", "Mew のインストールが正常に終了しませんでした。mew.logファイルをチェックしてください" ); return ( -1 ); }