cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
osaConfiguration1394.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5  Author(s): Jonathan Bohren, Anton Deguet
6  Created on: 2013-06-29
7 
8  (C) Copyright 2013-2015 Johns Hopkins University (JHU), All Rights Reserved.
9 
10 --- begin cisst license - do not edit ---
11 
12 This software is provided "as is" under an open source license, with
13 no warranty. The complete license can be found in license.txt and
14 http://www.cisst.org/cisst/license.txt.
15 
16 --- end cisst license ---
17 */
18 
19 #ifndef _osaConfiguration1394_h
20 #define _osaConfiguration1394_h
21 
22 #ifndef SAW_ROBOT_IO_1394_WO_CISST
25 #include <sawRobotIO1394/sawRobotIO1394Revision.h>
26 
27 #else // ifndef SAW_ROBOT_IO_1394_WO_CISST
31 #endif // ifndef SAW_ROBOT_IO_1394_WO_CISST
32 
33 #include <stdexcept>
34 
35 class AmpIO;
36 
37 namespace sawRobotIO1394 {
38 
39  const size_t MAX_BOARDS = 16;
40  const size_t MAX_AXES = 4;
41 
43  class osaRuntimeError1394: public std::runtime_error {
44  public:
45  explicit osaRuntimeError1394(const std::string & what):
46  std::runtime_error(what) { };
47  };
48 
49 
51  typedef enum {
56 
65  };
66 
76  };
77 
83  };
84 
86  int BoardID;
87  int AxisID;
90  double ReleaseTime;
93  };
94 
96  int BoardID;
97  int AxisID;
102  osaAnalogBrake1394Configuration * Brake; // 0 pointer for no brake
103  };
104 
106  std::string Name;
111  bool OnlyIO;
113 
115 
116  std::vector<osaActuator1394Configuration> Actuators;
117 
122  };
123 
125  std::string Name;
126  int BoardID;
127  int BitID;
132  };
133 
135  std::string Name;
136  int BoardID;
137  int BitID;
138  double HighDuration;
139  double LowDuration;
140  bool IsPWM;
141  double PWMFrequency;
142  };
143 
145  std::vector<osaRobot1394Configuration> Robots;
146  std::vector<osaDigitalInput1394Configuration> DigitalInputs;
147  std::vector<osaDigitalOutput1394Configuration> DigitalOutputs;
148  };
149 
150  // Maps an actuator to the hardware (board and axis)
152  AmpIO * Board;
153  int Axis;
154  };
155 
156  // maps a brake to the hardware
158  AmpIO * Board;
159  int Axis;
160  };
161 
162 } // namespace sawRobotIO1394
163 
164 #endif // _osaConfiguration1394_h
const size_t MAX_BOARDS
Definition: osaConfiguration1394.h:39
int BoardID
Definition: osaConfiguration1394.h:86
Definition: osaConfiguration1394.h:57
double BitsToDPositionScale
Definition: osaConfiguration1394.h:69
osaPot1394Configuration Pot
Definition: osaConfiguration1394.h:101
double BitsToVoltageScale
Definition: osaConfiguration1394.h:79
int NumberOfActuators
Definition: osaConfiguration1394.h:107
Definition: osaConfiguration1394.h:95
Definition: osaConfiguration1394.h:157
double BitsToDTimeOffset
Definition: osaConfiguration1394.h:72
vctDoubleMat ActuatorToJointPosition
Definition: osaConfiguration1394.h:118
double VoltageToPositionScale
Definition: osaConfiguration1394.h:81
Definition: osaConfiguration1394.h:52
double HighDuration
Definition: osaConfiguration1394.h:138
Definition: osaConfiguration1394.h:54
bool PressedValue
Definition: osaConfiguration1394.h:130
Definition: osaConfiguration1394.h:144
double BitsToDTimeScale
Definition: osaConfiguration1394.h:71
std::vector< osaActuator1394Configuration > Actuators
Definition: osaConfiguration1394.h:116
osaDrive1394Configuration Drive
Definition: osaConfiguration1394.h:88
double CurrentToBitsOffset
Definition: osaConfiguration1394.h:60
double VoltageToPositionOffset
Definition: osaConfiguration1394.h:82
double BitsToVelocityOffset
Definition: osaConfiguration1394.h:74
int NumberOfBrakes
Definition: osaConfiguration1394.h:110
double BitsToVoltageOffset
Definition: osaConfiguration1394.h:80
osaEncoder1394Configuration Encoder
Definition: osaConfiguration1394.h:100
Definition: osaConfiguration1394.h:124
int Axis
Definition: osaConfiguration1394.h:159
AmpIO * Board
Definition: osaConfiguration1394.h:158
int BitID
Definition: osaConfiguration1394.h:127
vctDoubleMat JointToActuatorPosition
Definition: osaConfiguration1394.h:119
Definition: osaConfiguration1394.h:105
int BoardID
Definition: osaConfiguration1394.h:126
double EngagedCurrent
Definition: osaConfiguration1394.h:92
AmpIO * Board
Definition: osaConfiguration1394.h:152
double ReleaseTime
Definition: osaConfiguration1394.h:90
osaAnalogBrake1394Configuration * Brake
Definition: osaConfiguration1394.h:102
int Axis
Definition: osaConfiguration1394.h:153
double DebounceThreshold
Definition: osaConfiguration1394.h:131
Definition: osaConfiguration1394.h:151
Definition: osaConfiguration1394.h:78
double BitsToPositionScale
Definition: osaConfiguration1394.h:68
Typedef for dynamic matrices.
std::vector< osaDigitalOutput1394Configuration > DigitalOutputs
Definition: osaConfiguration1394.h:147
double BitsToDPositionOffset
Definition: osaConfiguration1394.h:70
double BitsToCurrentOffset
Definition: osaConfiguration1394.h:62
const size_t MAX_AXES
Definition: osaConfiguration1394.h:40
bool HasActuatorToJointCoupling
Definition: osaConfiguration1394.h:112
int BoardID
Definition: osaConfiguration1394.h:96
Definition: osaConfiguration1394.h:67
Definition: osaConfiguration1394.h:53
std::string Name
Definition: osaConfiguration1394.h:106
bool OnlyIO
Definition: osaConfiguration1394.h:111
int BitID
Definition: osaConfiguration1394.h:137
std::string Name
Definition: osaConfiguration1394.h:125
bool TriggerWhenReleased
Definition: osaConfiguration1394.h:129
osaDrive1394Configuration Drive
Definition: osaConfiguration1394.h:99
vctDoubleMat JointToActuatorEffort
Definition: osaConfiguration1394.h:121
bool IsPWM
Definition: osaConfiguration1394.h:140
double LowDuration
Definition: osaConfiguration1394.h:139
double CurrentCommandLimit
Definition: osaConfiguration1394.h:64
int SerialNumber
Definition: osaConfiguration1394.h:109
double CurrentToBitsScale
Definition: osaConfiguration1394.h:59
int AxisID
Definition: osaConfiguration1394.h:87
double PWMFrequency
Definition: osaConfiguration1394.h:141
Definition: osaConfiguration1394.h:134
bool TriggerWhenPressed
Definition: osaConfiguration1394.h:128
int AxisID
Definition: osaConfiguration1394.h:97
std::string Name
Definition: osaConfiguration1394.h:135
osaPot1394Location
Defines where the potentiometers are positioned, if any.
Definition: osaConfiguration1394.h:51
Definition: osaConfiguration1394.h:85
osaRuntimeError1394(const std::string &what)
Definition: osaConfiguration1394.h:45
std::vector< osaDigitalInput1394Configuration > DigitalInputs
Definition: osaConfiguration1394.h:146
int CountsPerTurn
Definition: osaConfiguration1394.h:75
Exceptions for error handling.
Definition: osaConfiguration1394.h:43
osaPot1394Location PotLocation
Definition: osaConfiguration1394.h:114
double EffortCommandLimit
Definition: osaConfiguration1394.h:63
vctDoubleMat ActuatorToJointEffort
Definition: osaConfiguration1394.h:120
double ReleasedCurrent
Definition: osaConfiguration1394.h:91
double EffortToCurrentScale
Definition: osaConfiguration1394.h:58
double BitsToVelocityScale
Definition: osaConfiguration1394.h:73
double ReleaseCurrent
Definition: osaConfiguration1394.h:89
prmJointType JointType
Definition: osaConfiguration1394.h:98
enum JointType prmJointType
double BitsToCurrentScale
Definition: osaConfiguration1394.h:61
int NumberOfJoints
Definition: osaConfiguration1394.h:108
int BoardID
Definition: osaConfiguration1394.h:136
std::vector< osaRobot1394Configuration > Robots
Definition: osaConfiguration1394.h:145