mirror of
https://github.com/VitaAetaerna/Robotino.git
synced 2024-11-10 04:11:36 +01:00
Delete Circle.cpp
This commit is contained in:
parent
bb41b8c56a
commit
c13536dfbf
162
Circle.cpp
162
Circle.cpp
@ -1,162 +0,0 @@
|
|||||||
// Copyright (C) 2004-2008, Robotics Equipment Corporation GmbH
|
|
||||||
|
|
||||||
#define _USE_MATH_DEFINES
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "rec/robotino/api2/c/Com.h"
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#include <windows.h>
|
|
||||||
// _getch
|
|
||||||
#include <conio.h>
|
|
||||||
#else
|
|
||||||
// getchar
|
|
||||||
#include <stdio.h>
|
|
||||||
// usleep
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#include <windows.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#else
|
|
||||||
#include <signal.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int _run = 1;
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
static BOOL WINAPI sigint_handler( DWORD fdwCtrlType )
|
|
||||||
{
|
|
||||||
switch( fdwCtrlType )
|
|
||||||
{
|
|
||||||
case CTRL_C_EVENT: // Handle the CTRL-C signal.
|
|
||||||
_run = 0;
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
void sigint_handler( int signum )
|
|
||||||
{
|
|
||||||
_run = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ComId com;
|
|
||||||
OmniDriveId omniDrive;
|
|
||||||
BumperId bumper;
|
|
||||||
|
|
||||||
void msleep( unsigned int ms )
|
|
||||||
{
|
|
||||||
#ifdef WIN32
|
|
||||||
SleepEx( ms, FALSE );
|
|
||||||
#else
|
|
||||||
usleep( ms * 1000 );
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void waitForKey()
|
|
||||||
{
|
|
||||||
#ifdef WIN32
|
|
||||||
_getch();
|
|
||||||
#else
|
|
||||||
getchar();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
//rotate vector in by deg degrees and store the output in out
|
|
||||||
void rotate( const float* in, float* out, float deg )
|
|
||||||
{
|
|
||||||
const float pi = 3.14159265358979f;
|
|
||||||
|
|
||||||
float rad = 2 * pi / 360.0f * deg;
|
|
||||||
|
|
||||||
out[0] = (float)( cos( rad ) * in[0] - sin( rad ) * in[1] );
|
|
||||||
out[1] = (float)( sin( rad ) * in[0] + cos( rad ) * in[1] );
|
|
||||||
}
|
|
||||||
|
|
||||||
void drive()
|
|
||||||
{
|
|
||||||
const float startVector[2] = {0.2f, 0.0f};
|
|
||||||
float dir[2];
|
|
||||||
float a = 0.0f;
|
|
||||||
unsigned int msecsElapsed = 0;
|
|
||||||
|
|
||||||
while( Com_isConnected( com ) && FALSE == Bumper_value( bumper ) && _run )
|
|
||||||
{
|
|
||||||
//rotate 360degrees in 10s
|
|
||||||
rotate( startVector, dir, a );
|
|
||||||
a = 360.0f * msecsElapsed / 10000;
|
|
||||||
|
|
||||||
OmniDrive_setVelocity( omniDrive, dir[0], dir[1], 0 );
|
|
||||||
|
|
||||||
msleep( 50 );
|
|
||||||
msecsElapsed += 50;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void error( const char* message )
|
|
||||||
{
|
|
||||||
printf( "%s\n", message );
|
|
||||||
printf( "Press any key to exit..." );
|
|
||||||
waitForKey();
|
|
||||||
exit( 1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
int main( int argc, char **argv )
|
|
||||||
{
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
SetConsoleCtrlHandler( (PHANDLER_ROUTINE) sigint_handler, TRUE );
|
|
||||||
#else
|
|
||||||
struct sigaction act;
|
|
||||||
memset( &act, 0, sizeof( act ) );
|
|
||||||
act.sa_handler = sigint_handler;
|
|
||||||
sigaction( SIGINT, &act, NULL );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
com = Com_construct();
|
|
||||||
|
|
||||||
if( argc > 1 )
|
|
||||||
{
|
|
||||||
Com_setAddress( com, argv[1] );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Com_setAddress( com, "172.26.1.1" );
|
|
||||||
//Com_setAddress( com, "192.168.101.101" );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( FALSE == Com_connect( com ) )
|
|
||||||
{
|
|
||||||
error( "Error on connect" );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
char addressBuffer[256];
|
|
||||||
Com_address( com, addressBuffer, 256 );
|
|
||||||
printf( "Connected to %s\n", addressBuffer );
|
|
||||||
}
|
|
||||||
|
|
||||||
omniDrive = OmniDrive_construct();
|
|
||||||
OmniDrive_setComId( omniDrive, com );
|
|
||||||
|
|
||||||
bumper = Bumper_construct();
|
|
||||||
Bumper_setComId( bumper, com );
|
|
||||||
|
|
||||||
drive();
|
|
||||||
|
|
||||||
OmniDrive_destroy( omniDrive );
|
|
||||||
Bumper_destroy( bumper );
|
|
||||||
Com_destroy( com );
|
|
||||||
|
|
||||||
printf( "Press any key to exit...\n" );
|
|
||||||
|
|
||||||
waitForKey();
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user