Beispiel #1
0
void parseUserInput(char input)
{
	switch(input)
	{
		case 'T':
			printf("\n\n%s", nm->systemTreeToDetailedString().c_str());
			break;

		case 't':
			printf("\n\n%s", nm->systemTreeToString().c_str());
			break;
		
		case 'c':
		case 'C':
			system(CLEAR_COMMAND);
			break;

		case '?':
			printHelpMenu();
	
		default:
			break;
	}

}
Beispiel #2
0
bool SortDriver::isSortValid(std::string sortParameter){
    if(sortParameter=="-bubble" || sortParameter=="-insertion"
    || sortParameter=="-selection" || sortParameter=="-selection"
    || sortParameter=="-merge" || sortParameter=="-quick"
    || sortParameter=="-quick3"){
        return true;
    }
    else{
        printHelpMenu();
        return false;
    }
}
Beispiel #3
0
int main(int argc, char *args)
{
	struct termios newTermio;
	struct termios storedTermio;
	bool running = true;
	char choice[8] = {0};
	int count = 0;
	
	tcgetattr(0,&storedTermio);
	memcpy(&newTermio,&storedTermio,sizeof(struct termios));
	
	// Disable canonical mode, and set buffer size to 0 byte(s)
	newTermio.c_lflag &= (~ICANON);
	newTermio.c_lflag &= (~ECHO);
	newTermio.c_cc[VTIME] = 0;
	newTermio.c_cc[VMIN] = 1;
	tcsetattr(0,TCSANOW,&newTermio);

	printf("\nOpenJAUS Node Manager Version %s (%s)\n\n", OJ_NODE_MANAGER_VERSION, __DATE__); 

	FileLoader *configData = new FileLoader("nodeManager.conf");
	MyHandler *handler = new MyHandler();

	nm = new NodeManager(configData, handler);
	printHelpMenu();
	
	while(running)
	{
		bzero(choice, 8);
		count = read(0, &choice, 8);
		//printf("%d %d %d %d %d %d %d %d %d\n", count, choice[0], choice[1], choice[2], choice[3], choice[4], choice[5], choice[6], choice[7]);
		if(count == 1 && choice[0] == 27) // ESC
		{
			running = false;
		}
		else if(count == 1)
		{
			parseUserInput(choice[0]);
		}
	}

	tcsetattr(0, TCSANOW, &storedTermio);
	return 0;
}
Beispiel #4
0
int main(int argc, char** argv) 
{
	initApplication( argc, argv );

	//initGL( argc, argv );

	initGLUT( argc, argv );

	GLenum err = glewInit();

	if (err || !glewIsSupported("GL_VERSION_2_0 GL_ARB_pixel_buffer_object")) 
	{
        fprintf(stderr, "Required OpenGL extensions missing.");
        exit(-1);

	} else {

		initCUDA( argc, argv );

		initObservationSpace();

		// init the pbo
		dispResp->createPBO(); // Create pixel buffer object

		// init result device memory
		//createResMem();

		atexit(cleanUpAtExit);

		//
		printHelpMenu();

		// start glut main loop
		glutMainLoop();

	}
	return 0;
}
void SortDriver::run(int argc, char** argv)
{
		
	if(argc == 5)
	{
		std::string sort = argv[2]; 
		std::string filename = argv[3];

		if(areParametersValid(sort, filename))
		{
		
			int nums; 
			std::string outfileName = argv[4];

			std::ifstream read(filename);
			nums = getFileCount(read);
	
			int* array = createArray(read, nums);
			int* array2 = new int[nums]; 
			
		
			std::ofstream write(outfileName);
			double time; 
				
			if(sort == "-bubble")
			{	
				time = Sorts<int>::sortTimer(Sorts<int>::bubbleSort, array, nums);
				write << "bubble " << nums << " " << time;
			}
			else if(sort == "-insertion")
			{
				time = Sorts<int>::sortTimer(Sorts<int>::insertionSort, array, nums);
				write << "insertion " << nums << " " << time;
			}
			else if(sort == "-selection")
			{
				time = Sorts<int>::sortTimer(Sorts<int>::selectionSort, array, nums);
				write << "selection " << nums << " " << time;
			}
			else if(sort == "-merge")
			{
				time = Sorts<int>::sortTimer(Sorts<int>::mergeSort, array, nums);
				write << "merge " << nums << " " << time;
			}
			else if(sort == "-quick")
			{
				time = Sorts<int>::sortTimer(Sorts<int>::quickSort, array, nums);
				write << "quick " << nums << " " << time;
			}
			else if(sort == "-quick3")
			{
				time = Sorts<int>::sortTimer(Sorts<int>::quickSortWithMedian, array, nums);
				write << "quick3 " << nums << " " << time;
			}
			else if(sort == "-all")
			{
				copyArray(array, array2, nums);
				time = Sorts<int>::sortTimer(Sorts<int>::bubbleSort, array, nums);
				write<<"bubble "<<nums<< " "<<time;
				
				write<<"\n";
				copyArray(array2, array, nums);
				time = Sorts<int>::sortTimer(Sorts<int>::insertionSort, array, nums);
				write<<"insertion "<<nums<< " "<<time;
				
				write << "\n";
				copyArray(array, array2, nums);
				time = Sorts<int>::sortTimer(Sorts<int>::selectionSort, array, nums);
				write<<"selection "<<nums<<" "<<time;
				
				write << "\n";
				copyArray(array2, array, nums);
				time = Sorts<int>::sortTimer(Sorts<int>::mergeSort, array, nums);
				write<<"merge "<<nums<<" "<<time;
				
				write << "\n";
				copyArray(array, array2, nums);
				time = Sorts<int>::sortTimer(Sorts<int>::quickSort, array, nums);
				write<<"quick "<<nums<<" "<<time;
				
				write << "\n";
				copyArray(array2, array, nums);
				time = Sorts<int>::sortTimer(Sorts<int>::quickSortWithMedian, array, nums);
				write<<"quick3 "<<nums<<" "<<time;
			}	

      //prevent memory leaks
		write.close();			
		delete array;
		delete array2;
		array=nullptr; 
    array2=nullptr;
		
		}
	}
	else
	{
		printHelpMenu();
	}
}
Beispiel #6
0
// GLUT keybord callback function
void keyboard(unsigned char key, int x, int y)
{
	switch(key) 
	{
	case 'q': cleanUpAtExit(); exit(0); break; // TODO: memory error when hitting q when cleanUpAtExcit is called.

	case 'f': paintTool->decreaseFrequency(); simulator->updateSourceFrequencies(paintTool->getFreq()); break;
	case 'F': paintTool->increaseFrequency(); simulator->updateSourceFrequencies(paintTool->getFreq()); break;

	case 'T': simulator->stepForward(); break;
	case 't': simulator->stepBack(); break;

	case 'S': 
		simulator->increaseSimSpeed(); 
		printf("Sim s in CPU s: %.2f\n", simulator->getSimCPUTimeFactor()); break;
	case 's': 
		simulator->decreaseSimSpeed(); 
		printf("Sim s in CPU s: %.2f\n", simulator->getSimCPUTimeFactor()); break;

	case 'L': 
		paintTool->increaseLambdaFrac();
		printf("Lambda frac: %.1f\n", paintTool->getLambdaFrac()); 
		break;
	case 'l': 
		paintTool->decreaseLambdaFrac();
		printf("Lambda frac: %.1f\n", paintTool->getLambdaFrac()); 
		break;

	case 'd': dispResp->updateDynamicRange(-5.0f); break; 
	case 'D': dispResp->updateDynamicRange(5.0f); break;

	case 'o':
		samplesPerMeter -= 100;
		if (samplesPerMeter < 100) samplesPerMeter = 100;
		makeNewObservationSpace();
		break;
	case 'O':
		samplesPerMeter += 100;
		makeNewObservationSpace();
		break;

	case 'n': 
		if (!cwMode) { 
			if (paintTool->getPulseLength() > 1) {
				paintTool->decreasePulseLength();
			}
		}
		printf("Pulse length: %.1f\n", paintTool->getPulseLength());
		break;
	case 'N': 
		if (!cwMode) {
			paintTool->increasePulseLength();
		}
		printf("Pulse length: %.1f\n", paintTool->getPulseLength());
		break;

	case 'x': simulator->listSources(); break;

	case 'z': 
		zoomMode = !zoomMode; 
		printf(zoomMode? "Resize: zoom mode\n" : "Resize: extend obs mode\n");
		break;

	case 'r': simulator->restart();  break;
	case 'c': simulator->clearSrcList(); break;
	case 'e': 
		dispResp->switchDispMode(); 
		printf(dispResp->dispEnvelopeIsOn()? "Display envelope\n" : "Display phase\n"); 
		break;

	case 'a': 
		printf("Apod = %d (0 = uniform, 1 = hann, 2 = hamming, 3 = cosine)\n", paintTool->nextApod() );
		break;

	case 'm': cwMode = !cwMode; break; 

	case '.': freeDrawMode = !freeDrawMode; printf(freeDrawMode? "Array draw mode: free hand\n" : "Array draw mode: linear\n"); break;

	case 'p': simulator->playPause(); break;

	case 'h': 
	default: printHelpMenu(); break;
	}

	// set correct pulse length depending on cw or pw mode
	if (key == 'm' || key == 'n' || key == 'N') {
		if (key == 'm') {
			if (cwMode)	{	
				paintTool->setPulseLength(0.0f);
			} else {	
				paintTool->setPulseLength(10.0f);
			}
		}
	}

	glutPostRedisplay();
}
Beispiel #7
0
int main(int argc, char *args)
{
	// Console parameters
	HANDLE handleStdin;
    INPUT_RECORD inputEvents[128];
	DWORD eventCount;

	// Control parameter
	bool running = true;
	int i = 0;

	printf("\nOpenJAUS Node Manager Version %s (%s)\n\n", OJ_NODE_MANAGER_VERSION, __DATE__); 

	// Setup the console window's input handle
	handleStdin = GetStdHandle(STD_INPUT_HANDLE); 

	MyHandler *handler = new MyHandler();
	FileLoader *configData = new FileLoader("nodeManager.conf");

	nm = new NodeManager(configData, handler);

	printHelpMenu();

	while(running)
	{
		// See how many events are waiting for us, this prevents blocking if none
		GetNumberOfConsoleInputEvents(handleStdin, &eventCount);
		
		if(eventCount > 0)
		{
			// Check for user input here
			ReadConsoleInput( 
					handleStdin,		// input buffer handle 
					inputEvents,		// buffer to read into 
					128,				// size of read buffer 
					&eventCount);		// number of records read 
		}
 
	    // Parse console input events 
        for (i = 0; i < (int) eventCount; i++) 
        {
            switch(inputEvents[i].EventType) 
            { 
				case KEY_EVENT: // keyboard input 
					if(inputEvents[i].Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE)
					{
						running = false;
					}
					else if(inputEvents[i].Event.KeyEvent.bKeyDown)
					{
						parseUserInput(inputEvents[i].Event.KeyEvent.uChar.AsciiChar);
					}
					break;
				
				default:
					break;
			}
		}

		Sleep((DWORD)(0.2*1e3));
	}
	return 0;
}