Beispiel #1
0
int __cdecl main(int argc, char **argv)
{
	CLParser parser(argc, argv, true);
	
	thread t_f(ConnectToServer);

	int* res = NULL;
	auto func = parser.get_arg("-func");
	int arg = stoi(parser.get_arg("-arg"));
	
	if (func == "g0")
	{
		res = new int(g0(arg));
	} 
	else if (func == "g")
	{
		res = new int(g(arg));
	} 
	else if (func == "f")
	{
		res = new int(f(arg));
	} 
	if (func == "fLoop")
	{
		res = new int(fLoop(arg));
	}

	t_f.join();

	if (res != NULL)
	{
		if (TCPClient.IsConnected)
			TCPClient.send_data(to_string(*res) + ";");
		else
		{
			printf("TCPClient failed to connect. Unable to send data");
		}
	}
	else
	{
		printf("Cmd Args error");
	}

	return 0;
}
bool send_commands(int n, tcp_client chat ){
	/* Command:
   * 0 -> forward
   * 1 -> backward
   * 2 -> right
   * 3 -> left
   * 4 -> stop
   */
	bool invalid = false;
	bool run = true;
	int msg;
	unsigned char key;

	std::cout << "\n\tNext Command: " << std::endl;
	key = n;

	switch(key)
	{
		case 'w':
			std::cout << "\t-> Forward\n" << std::endl;
			msg = 0;
		break;
		case 'o':
      std::cout << "\t-> Left\n" << std::endl;
      msg = 1;
    break;
    case 'p':
      std::cout << "\t-> Right\n" << std::endl;
      msg = 2;
    break;
    case 's':
      std::cout << "\t-> Backward\n" << std::endl;
      msg = 3;
    break;
    case 32: //SPACE
      std::cout << "\t-> Break\n" << std::endl;
      msg = 4;
    break;
    case '1': 
      std::cout << "\t-> Accelerate (max 25)\n" << std::endl;
      msg = 5;
    break;
    case '2': 
      std::cout << "\t-> Deaccelerate (min 8)\n" << std::endl;
      msg = 6;
    break;
    case 27: //ESC
      std::cout << "\t-> Shutdown\n" << std::endl;
      msg = 4;
			if(!chat.send_data(msg)){run = false;}
			//std::cout<< "Message recived: " << chat.receive(1)<<std::endl;
			run = false;
    break;
    default:
			invalid = true;
			std::cout << "\t-> Invalid key\n" << std::endl;
		break;
  }
	if (run && !invalid){
  	if(!chat.send_data(msg)){run = false;}
			//if(!chat.send_data(32)){run = false;}
			//std::cout<< "Message recived: " << chat.receive(12)<<std::endl;
	}
	return run;
}
Beispiel #3
0
void ConnectToServer()
{
	TCPClient.conn();
}