![]() |
Hekateros
3.4.3
RoadNarrows Robotics Robot Arm Project
|
Classes | |
| struct | hekateros::HekOpticalLimit_T |
| Optical limit switch. More... | |
Functions | |
| static byte_t | hekateros::getDarkOpticalLimits (byte_t byBits, byte_t byMask) |
| Test if any of the optical limits have been triggered (occluded). More... | |
| static byte_t | hekateros::getLitOpticalLimits (byte_t byBits, byte_t byMask) |
| Test if any of the optical limits are lit (not occluded). More... | |
Variables | |
| static const byte_t | hekateros::HekIOExpI2CAddr = 0x20 |
| i2c 7-bit address | |
| static const byte_t | hekateros::HekIOExpCmdInput0 = 0 |
| read port 0 command | |
| static const byte_t | hekateros::HekIOExpCmdInput1 = 1 |
| read port 1 command | |
| static const byte_t | hekateros::HekIOExpCmdOutput0 = 2 |
| write port 0 command | |
| static const byte_t | hekateros::HekIOExpCmdOutput1 = 3 |
| write port 1 command | |
| static const byte_t | hekateros::HekIOExpCmdPolarity0 = 4 |
| polarity inversion port 0 | |
| static const byte_t | hekateros::HekIOExpCmdPolarity1 = 5 |
| polarity inversion port 1 | |
| static const byte_t | hekateros::HekIOExpCmdConfig0 = 6 |
| configuration port 0 cmd | |
| static const byte_t | hekateros::HekIOExpCmdConfig1 = 7 |
| configuration port 1 cmd | |
| static const byte_t | hekateros::HekIOExpUnassigned = 0 |
| unassigned port bit | |
| static const byte_t | hekateros::HekIOExpDark = 0 |
| optic switch blocked | |
| static const byte_t | hekateros::HekIOExpLight = 0xff |
| optical switch is lit | |
| static const byte_t | hekateros::HekIOExpConstPolarity0 = 0x00 |
| port 0 not inverted | |
| static const byte_t | hekateros::HekIOExpConstConfig0 = 0xff |
| port 0 all input | |
| static const byte_t | hekateros::HekIOExpPort0Base0 = 0x01 |
| base 0 ° limit | |
| static const byte_t | hekateros::HekIOExpPort0Base180 = 0x02 |
| base 180 ° lim. | |
| static const byte_t | hekateros::HekIOExpPort0Shoulder = 0x04 |
| shoulder limit | |
| static const byte_t | hekateros::HekIOExpPort0Elbow = 0x08 |
| elbow limit | |
| static const byte_t | hekateros::HekIOExpPort0WristPitch = 0x10 |
| wrist pitch limit | |
| static const byte_t | hekateros::HekIOExpPort0WristRot0 = 0x20 |
| wrist rot 0 ° | |
| static const byte_t | hekateros::HekIOExpPort0Rsrv1 = 0x40 |
| reserved | |
| static const byte_t | hekateros::HekIOExpPort0Rsrv2 = 0x80 |
| reserved | |
| static const byte_t | hekateros::HekIOExpPort1EEUser1 = 0x01 |
| user defined 1 | |
| static const byte_t | hekateros::HekIOExpPort1EEUser2 = 0x02 |
| user defined 2 | |
| static const byte_t | hekateros::HekIOExpPort1Rsrv1 = 0x04 |
| reserved | |
| static const byte_t | hekateros::HekIOExpPort1Rsrv2 = 0x08 |
| reserved | |
| static const byte_t | hekateros::HekIOExpPort1Rsrv3 = 0x10 |
| reserved | |
| static const byte_t | hekateros::HekIOExpPort1Rsrv4 = 0x20 |
| reserved | |
| static const byte_t | hekateros::HekIOExpPort1Rsrv5 = 0x40 |
| reserved | |
| static const byte_t | hekateros::HekIOExpPort1Rsrv6 = 0x80 |
| reserved | |
| static const int | hekateros::HekOptLimitMaxPerJoint = 2 |
| max limits/joint | |
| static const int | hekateros::HekOptLimitMaxEdges = 2 |
| max edges/limit | |
All optical joint limits are feed into an I2C I/O expander. In addition two input/ouput user-defined values are available at the end effector tool zero point.
|
static |
Test if any of the optical limits have been triggered (occluded).
| byBits | I/O expander mapped optical limit switches. |
| byMask | Mask of limits to check. |
Definition at line 194 of file hekOptical.h.
Referenced by hekateros::HekCalibStretch::calibrateJointByLimits(), hekateros::HekCalibStretch::calibrateJointTopDeadCenter(), hekateros::HekCalibStretch::fineTuneLimit(), and hekateros::HekCalib::moveToDark().
|
static |
Test if any of the optical limits are lit (not occluded).
| byBits | I/O expander mapped optical limit switches. |
| byMask | Mask of limits to check. |
Definition at line 209 of file hekOptical.h.
Referenced by hekateros::HekCalibStretch::calibrateJointByLimits(), hekateros::HekCalibStretch::fineTuneLimit(), hekateros::HekCalibStretch::fineTuneTDC(), and hekateros::HekCalib::moveToLight().