⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_broadcast.cc

📁 机器人仿真平台,和stage配合运行
💻 CC
字号:
/* * $Id: test_broadcast.cc,v 1.4.4.3 2003/05/23 21:23:44 gerkey Exp $ * * a test for the C++ LaserProxy */#include "playerclient.h"#include "test.h"#include <unistd.h>inttest_broadcast(PlayerClient* client, int index){  unsigned char access;  CommsProxy bp(client,index,'c');  char msg[32];  strcpy(msg,"hello");  printf("device [broadcast] index [%d]\n", index);  TEST("subscribing (read/write)");  if((bp.ChangeAccess(PLAYER_ALL_MODE,&access) < 0) ||     (access != PLAYER_ALL_MODE))  {    FAIL();    printf("DRIVER: %s\n", bp.driver_name);    return -1;  }  PASS();  printf("DRIVER: %s\n", bp.driver_name);  for(int i=0;i<1;i++)  {    TEST("send message");    if(bp.Write(msg, strlen(msg)+1) >= 0)      PASS();    else    {      FAIL();      return(-1);    }  }  sleep(1);  for(int t = 0; t < 3; t++)  {    TEST("receive message");    if(client->Read() < 0)    {      FAIL();      return(-1);    }    PASS();    if (bp.msg_len > 0)    {      bp.Print();            TEST("compare messages");      if(!strncmp(msg,(const char*) bp.msg[0],strlen(msg)))      {        PASS();        break;      }      else      {        FAIL();        return(-1);      }    }  }  TEST("got message");  if(bp.msg_num == 0)  {    FAIL();    return(-1);  }  PASS();  TEST("deleting messages");  for(int i=bp.msg_num-1; i>=0; i--)  {    if(bp.Delete(0))    {      FAIL();      return(-1);    }  }  PASS();  TEST("unsubscribing");  if((bp.ChangeAccess(PLAYER_CLOSE_MODE,&access) < 0) ||     (access != PLAYER_CLOSE_MODE))  {    FAIL();    return -1;  }  PASS();  return(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -