1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
#ifndef _HEXABOT_CORE
#define _HEXABOT_CORE
/* "Defines" para el puerto serial*/
#define __RW 3
#define __R 1
#define __W 2
#define ON 1
#define OFF 0
#define __SRAD 13.7
#define Pi 3.1416
#define pi 3.1416
#ifndef _HFILES_H
#include "hfiles.cpp"
#endif
using namespace std;
class hexapod: public hfiles
{
private:
//hfiles t_file;
char __offset[26];
float __l1, __l2, __l3;
float theta;
char fdone;
char storing;
bool recording;
float roundt(float val);
float updist;
ofstream sout;
public:
int mspeed;
int sspeed;
float X, Y, Z;
float lX,lY,lZ;
float sX, sY, sZ;
bool protection;
char angoff;
const char* _Serial_Device_Name;
hexapod(const char* __SERIAL_PORT_DEVICE,
const char* __BAUDRATE);
~hexapod(){};
void store_positions(double x, double y, double z);
void updistance(float distance, float angle);
void rotate(float angle);
public:
char Open(char);
void Close(void);
void stop(void);
void halt_motor(char motor);
void fixmotors(int offset0, int offset1, int offset2,
int offset4, int offset5, int offset6, int offset8,
int offset9, int offset10, int offset16, int offset17,
int offset18, int offset20, int offset21, int offset22,
int offset24, int offset25, int offset26, float link1,
float link2, float link3);
void set_store(bool answ);
void storethis(void);
void storethis(double x, double y, double z);
void set_angle(char motor, double angle);
void set_feet(float angle);
void set_knees(float angle);
void set_shoulders(float angle);
void set_knees(int angle);
void set_shoulders(int angle);
void set_leg(char leg, double x, double y, double z);
void set_gleg(char leg, double x, double y, double z);
void set_legs(double x, double y, double z);
void set_rlegs(double x, double y, double z);
void set_llegs(double x, double y, double z);
void set_rstep(double x, double y, double z);
void set_lstep(double x, double y, double z);
public:
void standup(char distance);
void sitdown(void);
};
#endif
| |