Difference between revisions of "API2"

From RobotinoWiki
(Example)
(C++ example)
Line 38: Line 38:
  
 
   rec::robotino::api2::shutdown();
 
   rec::robotino::api2::shutdown();
 +
 +
  return 0;
 +
}
 +
</pre>
 +
 +
==C example==
 +
<pre>
 +
#include <stdio.h>
 +
#include <stdlib.h>
 +
#include <string.h>
 +
 +
#ifdef WIN32
 +
#include <windows.h>
 +
#else
 +
#include <unistd.h> //usleep
 +
#endif
 +
 +
#include "rec/robotino/api2/c/Com.h"
 +
 +
void msleep( unsigned int ms )
 +
{
 +
#ifdef WIN32
 +
  SleepEx( ms, FALSE );
 +
#else
 +
  usleep( ms * 1000 );
 +
#endif
 +
}
 +
 +
ComId com;
 +
BumperId bumper;
 +
 +
int main( int argc, char **argv )
 +
{
 +
  com = Com_construct();
 +
 +
  if( argc > 1 )
 +
  {
 +
    Com_setAddress( com, argv[1] );
 +
  }
 +
  else
 +
  {
 +
    Com_setAddress( com, "172.26.1.1" );
 +
  }
 +
 +
  if( FALSE == Com_connect( com ) )
 +
  {
 +
    printf( "Error on connect" );
 +
    exit(1);
 +
  }
 +
  else
 +
  {
 +
    char addressBuffer[256];
 +
    Com_address( com, addressBuffer, 256 );
 +
    printf( "Connected to %s\n", addressBuffer );
 +
  }
 +
 +
  while( Com_isConnected( com ) && FALSE == Bumper_value( bumper ) )
 +
  {
 +
    printf("Value of bumper is %d\n",Bumper_value( bumper ) )
 +
    msleep( 50 );
 +
  }
 +
 +
  Bumper_destroy( bumper );
 +
  Com_destroy( com );
  
 
   return 0;
 
   return 0;
 
}
 
}
 
</pre>
 
</pre>

Revision as of 11:57, 18 March 2019

Introduction

Robotino api2 icon 64.png A C/C++ library to access Robotino's sensors and actors from your own program.

Quick links

C++ example

#include <iostream>
#include "rec/robotino/api2/all.h"

rec::robotino::api2::Com com;
rec::robotino::api2::Bumper bumper;

int main( int argc, char **argv )
{
  std::string hostname = "172.26.1.1";
  if( argc > 1 )
  {
    hostname = argv[1];
  }

  com.setAddress( hostname.c_str() );
  com.connectToServer( true );
  
  while(com.isConnected() && false == bumper.value())
  {
    std::cout << "Bumper is " << (bumper.value()?"":"not") << " pressed" << std::endl;
    com.processEvents();
    rec::robotino::api2::msleep( 100 );
  }

  com.disconnectFromServer();

  rec::robotino::api2::shutdown();

  return 0;
}

C example

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#ifdef WIN32
#include <windows.h>
#else
#include <unistd.h> //usleep
#endif

#include "rec/robotino/api2/c/Com.h"

void msleep( unsigned int ms )
{
#ifdef WIN32
  SleepEx( ms, FALSE );
#else
  usleep( ms * 1000 );
#endif
}

ComId com;
BumperId bumper;

int main( int argc, char **argv )
{
  com = Com_construct();

  if( argc > 1 )
  {
    Com_setAddress( com, argv[1] );
  }
  else
  {
    Com_setAddress( com, "172.26.1.1" );
  }

  if( FALSE == Com_connect( com ) )
  {
    printf( "Error on connect" );
    exit(1);
  }
  else
  {
    char addressBuffer[256];
    Com_address( com, addressBuffer, 256 );
    printf( "Connected to %s\n", addressBuffer );
  }

  while( Com_isConnected( com ) && FALSE == Bumper_value( bumper ) )
  {
    printf("Value of bumper is %d\n",Bumper_value( bumper ) )
    msleep( 50 );
  }

  Bumper_destroy( bumper );
  Com_destroy( com );

  return 0;
}