void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
    double x;
    mexPrintf("arrobot_setvel mex function start\n");
	if(nrhs != 1) {
		mexErrMsgIdAndTxt("arrobot_setvel", "One input required.");
		return;
	}
    x = prhs[0];
    mexPrintf("arrobot_setvelx mex function got double %f\n", x);
    arrobot_setvel(x);
}
Beispiel #2
0
int main(int argc, char **argv)
{
  aria_init(argc, argv);
  while(1)
  {
    if(!arrobot_connect())
      return 1 ;
    printf("radius=%.2f, length=%.2fmm, width=%.2fmm\n", 
      arrobot_radius(),
      arrobot_length(),
      arrobot_width()
    );
    arrobot_setvel(200);
    arrobot_setrotvel(10);
    for(int c = 0; c < 10; ++c)
    {
      arrobot_connect(); // should skip connection if already connected.
      printf("x=%.1f y=%.1f th=%.1f vel=%.1f rotvel=%.1f left=%.1f right=%.1f stall=%d battv=%.1f\n",
        arrobot_getx(),
        arrobot_gety(),
        arrobot_getth(),
        arrobot_getvel(),
        arrobot_getrotvel(),
        arrobot_getleftvel(),
        arrobot_getrightvel(),
        arrobot_isstalled(),
	arrobot_getbatteryvoltage()
      );
      printf("sonar");
      for(int i = 0; i < arrobot_getnumsonar(); ++i)
      {
        printf(" %d=%f", i, arrobot_getsonarrange(i));
      }
      puts("");
      sleep(1);
    }
    arrobot_disconnect();
    puts("disconnected, reconnecting in 5 sec...");
    sleep(5);
  }
  return 0;
}