Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00016 #ifndef _NEXTAGE_OPEN_HPP_
00017 #define _NEXTAGE_OPEN_HPP_
00018
00019 #include <unistd.h>
00020
00021
00022 namespace NEXTAGE_OPEN
00023 {
00024 class OpenIFv10;
00025
00026 extern "C" bool nextage_open_supported(const char *version);
00027 extern "C" OpenIFv10 *nextage_open_getIFv10(void);
00028
00029 class OpenIFv10 {
00030 public:
00031 virtual ~OpenIFv10() {}
00032 virtual int open_iob(void) = 0;
00033 virtual int close_iob(void) = 0;
00034
00035
00036
00037 virtual int read_actual_angle(int id, double *angle) = 0;
00038 virtual int read_actual_angles(double *angles) = 0;
00039
00040 virtual int read_power_state(int id, int *s) = 0;
00041 virtual int write_power_command(int id, int com) = 0;
00042 virtual int read_power_command(int id, int *com) = 0;
00043 virtual int read_servo_state(int id, int *s) = 0;
00044 virtual int read_servo_alarm(int id, int *a) = 0;
00045
00046 virtual int read_command_angle(int id, double *angle) = 0;
00047 virtual int read_command_angles(double *angles) = 0;
00048 virtual int write_command_angle(int id, double angle) = 0;
00049 virtual int write_command_angles(const double *angles) = 0;
00050 virtual int write_servo(int id, int com) = 0;
00051 virtual int read_driver_temperature(int id, unsigned char *v) = 0;
00052 virtual int read_calib_state(int id, int *s) = 0;
00053 virtual int read_power(double *voltage, double *current) = 0;
00054 virtual int reset_body(void) = 0;
00055 virtual int lock_iob(void) = 0;
00056 virtual int unlock_iob(void) = 0;
00057 virtual int read_lock_owner(pid_t *pid) = 0;
00058 virtual unsigned long long read_iob_frame(void) = 0;
00059 virtual int number_of_substeps(void) = 0;
00060 virtual int wait_for_iob_signal(void) = 0;
00061 virtual long get_signal_period(void) = 0;
00062
00063
00064 virtual int initializeJointAngle(const char *name, const char *option) = 0;
00065 virtual int read_digital_input(char *dIn) = 0;
00066 virtual int length_digital_input(void) = 0;
00067 virtual int write_digital_output(const char *doutput) = 0;
00068 virtual int write_digital_output_with_mask(const char *doutput, const char *mask) = 0;
00069 virtual int length_digital_output(void) = 0;
00070 virtual int read_digital_output(char *doutput) = 0;
00071 };
00072
00073 }
00074
00075 #endif // _NEXTAGE_OPEN_HPP_
00076
00077
00078
00079
00080
00081
00082
00083
00084