00001 00002 00003 #ifndef SIMMOT_N_H 00004 #define SIMMOT_N_H 00005 00006 #include "amplifier.h" 00007 #include "dcmotor2.h" 00008 #include "encoder.h" 00009 00010 #define SIMMOT_COMMAND_TYPE 101 00011 #define SIMMOT_STATUS_TYPE 201 00012 #define SIM_MAX_AXIS 8 00013 00014 struct simmot_command_struct { 00015 AMPLIFIER_STRUCT amplifier[SIM_MAX_AXIS]; 00016 DC_MOTOR_STRUCT dcmotor[SIM_MAX_AXIS]; 00017 ENCODER_STRUCT encoder[SIM_MAX_AXIS]; 00018 }; 00019 00020 struct simmot_status_struct { 00021 int initialized; 00022 int cmd_count; 00023 double ampOutput[SIM_MAX_AXIS]; 00024 AMPLIFIER_STRUCT amplifier[SIM_MAX_AXIS]; 00025 DC_MOTOR_STRUCT dcmotor[SIM_MAX_AXIS]; 00026 ENCODER_STRUCT encoder[SIM_MAX_AXIS]; 00027 }; 00028 00029 #ifdef __cplusplus 00030 00031 #include "rcs.hh" 00032 00033 class SIMMOT_COMMAND: public NMLmsg 00034 { 00035 public: 00036 SIMMOT_COMMAND(); 00037 void update(CMS *); 00038 simmot_command_struct data; 00039 }; 00040 00041 class SIMMOT_STATUS: public NMLmsg 00042 { 00043 public: 00044 SIMMOT_STATUS(); 00045 void update(CMS *); 00046 simmot_status_struct data; 00047 }; 00048 00049 extern int simmot_format(NMLTYPE type, void * buffer, CMS * cms); 00050 00051 #endif 00052 00053 #endif