motor.h
Go to the documentation of this file.
1 #ifndef PHIDGETS_API_MOTOR_H
2 #define PHIDGETS_API_MOTOR_H
3 
4 #include "phidgets_api/phidget.h"
5 
6 namespace phidgets
7 {
8 
9 class MotorController: public Phidget
10 {
11 public:
13 
14  // Motor specific
15  int getMotorCount();
16  double getVelocity(int index);
17  void setVelocity(int index, double velocity);
18  double getAcceleration(int index);
19  void setAcceleration(int index, double acceleration);
20  double getAccelerationMax(int index);
21  double getAccelerationMin(int index);
22  double getCurrent(int index);
23 
24  // Digital inputs
25  int getInputCount();
26  bool getInputState(int index);
27 
28  // Encoder inputs
29  int getEncoderCount();
30  int getEncoderPosition(int index);
31  void setEncoderPosition(int index, int position);
32 
33  // Back EMF
34  int getBackEMFSensingState(int index);
35  void setBackEMFSensingState(int index, int bEMFState);
36  double getBackEMF(int index);
37 
38  double getSupplyVoltage();
39 
40  double getBraking(int index);
41  void setBraking(int index, double braking);
42 
43  // Analog sensors
44  int getSensorCount();
45  int getSensorValue(int index);
46  int getSensorRawValue(int index);
47 
48  int getRatiometric();
49  void setRatiometric(int ratiometric);
50 
51 protected:
52  CPhidgetMotorControlHandle motor_handle_;
53 
54  virtual void velocityChangeHandler(int index, double velocity);
55  virtual void currentChangeHandler(int index, double current);
56  virtual void inputChangeHandler(int index, int inputState);
57  virtual void encoderPositionChangeHandler(int index, int time, int positionChange);
58  virtual void encoderPositionUpdateHandler(int index, int positionChange);
59  virtual void backEMFUpdateHandler(int index, double voltage);
60  virtual void sensorUpdateHandler(int index, int sensorValue);
61  virtual void currentUpdateHandler(int index, double current);
62 
63 private:
64  static int VelocityChangeHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, double velocity);
65  static int CurrentChangeHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, double current);
66  static int InputChangeHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, int inputState);
67  static int EncoderPositionChangeHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, int time, int positionChange);
68  static int EncoderPositionUpdateHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, int positionChange);
69  static int BackEMFUpdateHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, double voltage);
70  static int SensorUpdateHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, int sensorValue);
71  static int CurrentUpdateHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, double current);
72 };
73 
74 } //namespace phidgets
75 
76 #endif // PHIDGETS_API_MOTOR_H
double getVelocity(int index)
Definition: motor.cpp:45
void setRatiometric(int ratiometric)
Definition: motor.cpp:160
static int InputChangeHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, int inputState)
Definition: motor.cpp:177
double getCurrent(int index)
Definition: motor.cpp:75
virtual void backEMFUpdateHandler(int index, double voltage)
Definition: motor.cpp:238
virtual void encoderPositionUpdateHandler(int index, int positionChange)
Definition: motor.cpp:233
void setEncoderPosition(int index, int position)
Definition: motor.cpp:105
static int EncoderPositionChangeHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, int time, int positionChange)
Definition: motor.cpp:183
static int SensorUpdateHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, int sensorValue)
Definition: motor.cpp:201
virtual void currentUpdateHandler(int index, double current)
Definition: motor.cpp:248
static int EncoderPositionUpdateHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, int positionChange)
Definition: motor.cpp:189
static int BackEMFUpdateHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, double voltage)
Definition: motor.cpp:195
bool getInputState(int index)
Definition: motor.cpp:85
double getAcceleration(int index)
Definition: motor.cpp:55
int getEncoderPosition(int index)
Definition: motor.cpp:100
int getBackEMFSensingState(int index)
Definition: motor.cpp:110
static int CurrentChangeHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, double current)
Definition: motor.cpp:171
int getSensorRawValue(int index)
Definition: motor.cpp:150
CPhidgetMotorControlHandle motor_handle_
Definition: motor.h:52
virtual void encoderPositionChangeHandler(int index, int time, int positionChange)
Definition: motor.cpp:228
virtual void sensorUpdateHandler(int index, int sensorValue)
Definition: motor.cpp:243
static int VelocityChangeHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, double velocity)
Definition: motor.cpp:165
void setVelocity(int index, double velocity)
Definition: motor.cpp:50
virtual void inputChangeHandler(int index, int inputState)
Definition: motor.cpp:223
double getBackEMF(int index)
Definition: motor.cpp:120
int getSensorValue(int index)
Definition: motor.cpp:145
void setAcceleration(int index, double acceleration)
Definition: motor.cpp:60
double getBraking(int index)
Definition: motor.cpp:130
void setBraking(int index, double braking)
Definition: motor.cpp:135
void setBackEMFSensingState(int index, int bEMFState)
Definition: motor.cpp:115
double getAccelerationMax(int index)
Definition: motor.cpp:65
virtual void velocityChangeHandler(int index, double velocity)
Definition: motor.cpp:213
virtual void currentChangeHandler(int index, double current)
Definition: motor.cpp:218
double getAccelerationMin(int index)
Definition: motor.cpp:70
static int CurrentUpdateHandler(CPhidgetMotorControlHandle phid, void *userPtr, int index, double current)
Definition: motor.cpp:207


phidgets_api
Author(s): Tully Foote, Ivan Dryanovski
autogenerated on Tue May 7 2019 03:19:24