Skip to content

Commit bd70dfb

Browse files
committed
CHG: remove hardcoded values from protocol logic
1 parent ee47e6e commit bd70dfb

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

robotiq_hande_driver/include/protocol_logic.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,21 @@ constexpr uint8_t kForceRequestByte = 5;
5757
// Gripper Status
5858
constexpr uint8_t kStatusByte = 0;
5959
constexpr uint8_t kActivationStatusPositionByte = 0; // gACT
60+
constexpr auto kActivationStatusBits = 0b1;
6061
enum ActivationStatus{
6162
GRIPPER_RESET,
6263
GRIPPER_ACTIVATION
6364
};
6465

6566
constexpr uint8_t kActionStatusPositionByte = 3; // gGTO
67+
constexpr auto kActionStatusBits = 0b1;
6668
enum ActionStatus{
6769
STOPPED,
6870
GO_TO_POSITION_REQUEST
6971
};
7072

7173
constexpr uint8_t kGripperStatusPositionByte = 4; // gSTA
74+
constexpr auto kGripperStatusBits = 0b11;
7275
enum GripperStatus{
7376
GRIPPER_IN_RESET,
7477
ACTIVATION_IN_PROGRESS,
@@ -77,6 +80,7 @@ enum GripperStatus{
7780
};
7881

7982
constexpr uint8_t kObjectDetectionStatusPositionByte = 6; // gObj
83+
constexpr auto kObjectDetectionStatusBits = 0b11;
8084
enum ObjectDetectionStatus{
8185
MOTION_NO_OBJECT,
8286
STOPPED_OPENING_DETECTED,

robotiq_hande_driver/src/protocol_logic.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,17 @@ void ProtocolLogic::refresh_registers(){
119119

120120
status_ = communication_.get_input_byte(INPUT_BYTES_GRIPPER_STATUS);
121121

122-
activation_status_ = (ActivationStatus)((status_>>kActivationStatusPositionByte) & 1u);
123-
action_status_ = (ActionStatus)((status_>>kActionStatusPositionByte) & 1u);
124-
gripper_status_ = (GripperStatus)((status_>>kGripperStatusPositionByte) & 3u);
125-
object_detection_status_ = (ObjectDetectionStatus)((status_>>kObjectDetectionStatusPositionByte) & 3u);
122+
activation_status_ = (ActivationStatus)(
123+
(status_>>kActivationStatusPositionByte) & kActivationStatusBits);
124+
125+
action_status_ = (ActionStatus)(
126+
(status_>>kActionStatusPositionByte) & kActionStatusBits);
127+
128+
gripper_status_ = (GripperStatus)(
129+
(status_>>kGripperStatusPositionByte) & kGripperStatusBits);
130+
131+
object_detection_status_ = (ObjectDetectionStatus)(
132+
(status_>>kObjectDetectionStatusPositionByte) & kObjectDetectionStatusBits);
126133

127134
fault_status_ = communication_.get_input_byte(INPUT_BYTES_FAULT_STATUS);
128135
//To bo specified

0 commit comments

Comments
 (0)