File tree Expand file tree Collapse file tree 2 files changed +15
-4
lines changed
Expand file tree Collapse file tree 2 files changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -57,18 +57,21 @@ constexpr uint8_t kForceRequestByte = 5;
5757// Gripper Status
5858constexpr uint8_t kStatusByte = 0 ;
5959constexpr uint8_t kActivationStatusPositionByte = 0 ; // gACT
60+ constexpr auto kActivationStatusBits = 0b1 ;
6061enum ActivationStatus{
6162 GRIPPER_RESET,
6263 GRIPPER_ACTIVATION
6364};
6465
6566constexpr uint8_t kActionStatusPositionByte = 3 ; // gGTO
67+ constexpr auto kActionStatusBits = 0b1 ;
6668enum ActionStatus{
6769 STOPPED,
6870 GO_TO_POSITION_REQUEST
6971};
7072
7173constexpr uint8_t kGripperStatusPositionByte = 4 ; // gSTA
74+ constexpr auto kGripperStatusBits = 0b11 ;
7275enum GripperStatus{
7376 GRIPPER_IN_RESET,
7477 ACTIVATION_IN_PROGRESS,
@@ -77,6 +80,7 @@ enum GripperStatus{
7780};
7881
7982constexpr uint8_t kObjectDetectionStatusPositionByte = 6 ; // gObj
83+ constexpr auto kObjectDetectionStatusBits = 0b11 ;
8084enum ObjectDetectionStatus{
8185 MOTION_NO_OBJECT,
8286 STOPPED_OPENING_DETECTED,
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments