コード例 #1
0
ファイル: net.c プロジェクト: gabm/Wetter_uip
unsigned char net_receive()
{
	if (!com_check())
		return NET_NOTHING;

	com_connect();
	unsigned char cCommand = com_get_command();

	switch (cCommand)
	{
	case (CMD_MA_OUT):
			com_receive_chunk(&com_receive_buffer_size);
			com_disconnect();
			return NET_RECEIVED;
			break;
	case (CMD_MA_REQ):
			sbi(COM_INT_PORT, COM_INT_PIN);
			com_config(BUS_OUTPUT);
			com_send_chunk(com_send_buffer_size);
			com_disconnect();
			return NET_SENT;
			break;
	}
	return NET_NOTHING;
}
コード例 #2
0
ファイル: net.c プロジェクト: gabm/Wetter
void net_send(uint8_t uiLen)
{
	com_connect();
	com_set_command(CMD_MA_OUT);
	com_config(BUS_OUTPUT);
	com_send_chunk(uiLen);
	com_disconnect();

}
コード例 #3
0
ファイル: LaserLib.cpp プロジェクト: sunacc/Basketball_Robot
// Process to connect with URG 
int urg_connect(urg_state_t* state,
		       const char* port, const long baudrate) {

  const long try_baudrate[] = { 19200,57600,115200 };
  for (size_t i = 0; i < sizeof(try_baudrate)/sizeof(try_baudrate[0]); ++i) {

	com_connect(port,try_baudrate[i]);
    int recv_n = 0;
    urg_sendMessage("SCIP2.0", Timeout, &recv_n);
    if (recv_n <= 0) {
      // If there is no reply it is considered as baud rate incompatibility, try with different baud rate
	  com_disconnect();
      continue;
    }


    // Change the baud rate if not match the setting
    if (try_baudrate[i] != baudrate) {
      urg_changeBaudrate(baudrate);

	  com_disconnect();
	  com_connect(port,baudrate);
    }

    // Read parameter
    if (urg_getParameters(state) < 0) {
      ErrorMessage = "PP command fail.";
      return -1;
    }
    state->last_timestamp = 0;

	urg_changeMotor(5);

    // URG is detected
    return 0;
  }

  // URG is not detected
  return -1;
}
コード例 #4
0
ファイル: net.c プロジェクト: gabm/Wetter
void net_receive()
{
	if (!com_check())
		return;

	com_connect();
	com_set_command(CMD_MA_REQ);
	com_config(BUS_INPUT);

	uint8_t uiLen =0;
	com_receive_chunk(&uiLen);
	com_disconnect();
	cDataReq = 0;
	sbi(GICR,INT0);

	uiLen = parser_parse();
	net_send(uiLen);
}
コード例 #5
0
ファイル: LaserLib.cpp プロジェクト: sunacc/Basketball_Robot
// Disconnect URG 
void urg_disconnect(void) {
  com_disconnect();
}
コード例 #6
0
ファイル: com.c プロジェクト: 10daysnobath/ardrone_autonomy
int main(int argc,char* argv[])
{
  com_config_t cfg;
  vp_com_connection_t conn;

  printf("---------- Network Adapter Inquiry ----------\n");
  com_networkAdapterLookUp(COM_BLUETOOTH,adapterinquiry_df);
  printf("---------------------------------------------\n");

  cfg.connection        = COM_BLUETOOTH;
  cfg.localAdapterName  = DEVICENAME;
  cfg.localIpAddress    = LOCALHOST;
  cfg.localIpSubmask    = "255.255.255.0";

  printf("--------------- INITIALISATION --------------\n");
  if(FAILED(com_init(&cfg)))
  {
    printf("Failed to init\n");
    com_shutdown();
    return -1;
  }
/*
  printf("----------- Remote Device Inquiry -----------\n");
  com_inquire(deviceinquiry,60000);
  printf("---------------------------------------------\n");
*/
  
  printf("---------- Tentative de connection ----------\n");
  com_strToAddress(BTADDR_SERVER,&conn.address);
  com_passKey("1234");
  if(FAILED(com_connect(&conn,1)))
  {
    printf("Failed to connect\n");
    com_shutdown();
    return -1;
  }

  printf("Connected to BTT\n");

  printf("---------- BNEP Connection ----------\n");
  {// Test d'execution bnep
    com_socket_t socket;
    Read read;

    socket.socket     = VP_COM_CLIENT;
    socket.protocol   = COM_BNEP;
    socket.serverHost = SERVERHOST;
    socket.port       = BTADDR_PORT;
  
    if(SUCCEED(com_open(&socket,&read,0)))
    {
      char buffer[10];
      int r = 10;
      printf("Connection BNEP succeeded\n");
      if(SUCCEED(read((void*)&socket,buffer,&r)))
        printf("Read succeed\n");
  
      printf("socket closed\n");
      com_close(&socket);
    }
  }

  sleep(1);

  printf("---------- RFCOMM Connection ----------\n");
  {// Test d'execution rfcomm
    com_socket_t socket;
    Write write;

    socket.socket    = VP_COM_CLIENT;
    socket.protocol  = COM_RFCOMM;
    socket.scn       = BTADDR_SCN;
  
    if(SUCCEED(com_open(&socket,0,&write)))
    {
      char buffer[10];
      int r = 10;
      printf("Connection RFCOMM succeeded\n");
      if(SUCCEED(write((void*)&socket,buffer,&r)))
        printf("Write succeed\n");
  
      printf("socket closed\n");
      com_close(&socket);
    }
  }

  sleep(1);

  printf("Deconnection\n");
  com_disconnect();

  printf("End of program\n");
  com_shutdown();

  return 0;
}
コード例 #7
0
ファイル: wifi.c プロジェクト: 10daysnobath/ardrone_autonomy
int main(void)
{
  com_config_t config;
  vp_com_connection_t connection;

  config.connection = VP_COM_WIFI;
  config.localAdapterName = "rausb0";

  connection.essid = "Drone";
  connection.channel = 10;

  if(FAILED(com_init(&config)))
    PRINT("com_init failed\n");

  if(FAILED(com_passKey("9F1C3EE11CBA230B27BF1C1B6F")))
    PRINT("com_passKey failed\n");

  if(FAILED(com_connect(&connection,1)))
    PRINT("com_connect failed\n");

  clt.socket      = VP_COM_CLIENT;
  clt.port        = DRONE_PORT;
  clt.serverHost  = DRONE_HOST;

  if(SUCCEED(com_open(&clt,&my_read,&my_write)))
  {
    int32_t i = 0;
    float st = timeGetTime();
    float et = timeGetTime();
    float db = 0.0f;
    float d = 0.0f;

    for(i=0; i < TIME_TO_SEND;i++)
    {
      int32_t received;

      PRINT("\r reception n° %d... ",i);

      received  = 0;
      size      = SIZE_TO_SEND;

      while(received != SIZE_TO_SEND)
      {
        my_read(&clt,buffer,&size);
        received += size;
        size = SIZE_TO_SEND - received;
      }

      PRINT("%d bytes           ",received);
    }

    et = timeGetTime();
    d = (et - st) / 1000.0f;
    if(d > 0)
    {
      float tx = SIZE_TO_SEND * TIME_TO_SEND / 1024.0f;
      db = tx / d;
    }
    PRINT("\n---------------\n");
    PRINT("Start Time : %f\n",st);
    PRINT("End Time : %f\n",et);
    PRINT("%d Kbytes sent in %f time\n",SIZE_TO_SEND * TIME_TO_SEND / 1024,d);
    PRINT("Debit: %f\n",db);
    PRINT("\n---------------\n");
  }
  else
  {
    PRINT("snif... pas connecte a la socket\n");
  }

  PRINT("Waiting for disconnection\n");
  vp_delay(5000);

  com_disconnect();
  PRINT("Disconnected\n");

  com_shutdown();

  return 0;
}