3535
3636 // setAnglePrefix is the prefix message for new angle setting
3737 setAnglePrefix = []byte ("Set servo angle degrees to:" )
38+
39+ // setPulseWidthPrefix is the prefix message for new pulse width setting
40+ setPulseWidthPrefix = []byte ("Set servo pulse width to:" )
3841)
3942
4043// NewDefaultHandler creates a new instance of DefaultHandler
@@ -185,7 +188,7 @@ func (h *DefaultHandler) SetAngle(angle uint16) tinygoerrors.ErrorCode {
185188 }
186189
187190 // Check if the angle is within the valid range
188- if angle < h .centerAngle - h . leftLimitAngle || angle > h . centerAngle + h .rightLimitAngle {
191+ if angle < h .leftLimitAngle || angle > h .rightLimitAngle {
189192 return ErrorCodeServoAngleOutOfRange
190193 }
191194
@@ -200,7 +203,6 @@ func (h *DefaultHandler) SetAngle(angle uint16) tinygoerrors.ErrorCode {
200203 // Calculate the pulse
201204 pulse := uint32 (h .minPulseWidth ) + uint32 (float64 (h .maxPulseWidth - h .minPulseWidth ) * float64 (angle ) / float64 (h .actuationRange ))
202205
203-
204206 // Set the servo angle
205207 if h .isMovementEnabled == nil || h .isMovementEnabled () {
206208 tinygopwm .SetDuty (
@@ -214,6 +216,7 @@ func (h *DefaultHandler) SetAngle(angle uint16) tinygoerrors.ErrorCode {
214216 // Log the new angle if logger is provided
215217 if h .logger != nil {
216218 h .logger .AddMessageWithUint16 (setAnglePrefix , angle , true , true , false )
219+ h .logger .AddMessageWithUint32 (setPulseWidthPrefix , pulse , true , true , false )
217220 h .logger .Debug ()
218221 }
219222
@@ -303,7 +306,7 @@ func (h *DefaultHandler) SetAngleToLeft(angle uint16) tinygoerrors.ErrorCode {
303306 }
304307
305308 // Check if the angle is within the left limit
306- if angle > h .centerAngle - h .leftLimitAngle {
309+ if angle > h .centerAngle - h .leftLimitAngle {
307310 angle = h .centerAngle - h .leftLimitAngle
308311 }
309312 return h .SetAngleRelativeToCenter (- int16 (angle ))
0 commit comments