1- //go:build tinygo && (rp2040 || rp2350)
2-
31package tinygo_servo
42
53import (
64 "time"
75
86 "machine"
97
10- tinygotypes "github.com/ralvarezdev/tinygo-types "
8+ tinygoerrors "github.com/ralvarezdev/tinygo-errors "
119 tinygodriversservo "tinygo.org/x/drivers/servo"
1210 tinygologger "github.com/ralvarezdev/tinygo-logger"
1311)
@@ -67,7 +65,7 @@ func NewDefaultHandler(
6765 maxAngle uint16 ,
6866 isDirectionInverted bool ,
6967 logger tinygologger.Logger ,
70- ) (* DefaultHandler , tinygotypes .ErrorCode ) {
68+ ) (* DefaultHandler , tinygoerrors .ErrorCode ) {
7169 // Configure the PWM
7270 if err := pwm .Configure (
7371 machine.PWMConfig {
@@ -105,7 +103,7 @@ func NewDefaultHandler(
105103
106104 // Center the servo on initialization
107105 _ = handler .SetAngleToCenter ()
108- return handler , tinygotypes .ErrorCodeNil
106+ return handler , tinygoerrors .ErrorCodeNil
109107}
110108
111109// GetAngle returns the current angle of the servo motor
@@ -122,7 +120,7 @@ func (h *DefaultHandler) GetAngle() uint16 {
122120// Parameters:
123121//
124122// angle: The angle to set the servo motor to, must be between 0 and the actuation range
125- func (h * DefaultHandler ) SetAngle (angle uint16 ) tinygotypes .ErrorCode {
123+ func (h * DefaultHandler ) SetAngle (angle uint16 ) tinygoerrors .ErrorCode {
126124 // Check if the angle is within the valid range
127125 if angle < h .centerAngle - h .maxAngle || angle > h .centerAngle + h .maxAngle {
128126 return ErrorCodeServoAngleOutOfRange
@@ -133,7 +131,7 @@ func (h *DefaultHandler) SetAngle(angle uint16) tinygotypes.ErrorCode {
133131
134132 // Check if the angle is the same as the current angle
135133 if angle == h .angle {
136- return tinygotypes .ErrorCodeNil
134+ return tinygoerrors .ErrorCodeNil
137135 }
138136
139137 // Check if the direction is inverted
@@ -166,7 +164,7 @@ func (h *DefaultHandler) SetAngle(angle uint16) tinygotypes.ErrorCode {
166164 h .afterSetAngleFunc (angle )
167165 }
168166
169- return tinygotypes .ErrorCodeNil
167+ return tinygoerrors .ErrorCodeNil
170168}
171169
172170// IsAngleCentered checks if the servo motor angle is centered
@@ -183,7 +181,7 @@ func (h *DefaultHandler) IsAngleCentered() bool {
183181// Returns:
184182//
185183// An error if the servo motor could not be centered
186- func (h * DefaultHandler ) SetAngleToCenter () tinygotypes .ErrorCode {
184+ func (h * DefaultHandler ) SetAngleToCenter () tinygoerrors .ErrorCode {
187185 return h .SetAngle (h .centerAngle )
188186}
189187
@@ -196,7 +194,7 @@ func (h *DefaultHandler) SetAngleToCenter() tinygotypes.ErrorCode {
196194// Returns:
197195//
198196// An error if the relative angle is not within the left and right limits
199- func (h * DefaultHandler ) SetAngleRelativeToCenter (relativeAngle int16 ) tinygotypes .ErrorCode {
197+ func (h * DefaultHandler ) SetAngleRelativeToCenter (relativeAngle int16 ) tinygoerrors .ErrorCode {
200198 // Calculate the absolute angle based on the center angle and relative angle
201199 absoluteAngle := int16 (h .centerAngle ) + relativeAngle
202200
@@ -218,7 +216,7 @@ func (h *DefaultHandler) SetAngleRelativeToCenter(relativeAngle int16) tinygotyp
218216// Returns:
219217//
220218// An error if the angle is not within the right limit
221- func (h * DefaultHandler ) SetAngleToRight (angle uint16 ) tinygotypes .ErrorCode {
219+ func (h * DefaultHandler ) SetAngleToRight (angle uint16 ) tinygoerrors .ErrorCode {
222220 return h .SetAngleRelativeToCenter (- int16 (angle ))
223221}
224222
@@ -231,12 +229,12 @@ func (h *DefaultHandler) SetAngleToRight(angle uint16) tinygotypes.ErrorCode {
231229// Returns:
232230//
233231// An error if the angle is not within the left limit
234- func (h * DefaultHandler ) SetAngleToLeft (angle uint16 ) tinygotypes .ErrorCode {
232+ func (h * DefaultHandler ) SetAngleToLeft (angle uint16 ) tinygoerrors .ErrorCode {
235233 return h .SetAngleRelativeToCenter (int16 (angle ))
236234}
237235
238236// SetDirectionToCenter sets the direction to center
239- func (h * DefaultHandler ) SetDirectionToCenter () tinygotypes .ErrorCode {
237+ func (h * DefaultHandler ) SetDirectionToCenter () tinygoerrors .ErrorCode {
240238 return h .SetAngleToCenter ()
241239}
242240
@@ -249,7 +247,7 @@ func (h *DefaultHandler) SetDirectionToCenter() tinygotypes.ErrorCode {
249247// Returns:
250248//
251249// An error if the angle is not within the left limit
252- func (h * DefaultHandler ) SetDirectionToRight (angle uint16 ) tinygotypes .ErrorCode {
250+ func (h * DefaultHandler ) SetDirectionToRight (angle uint16 ) tinygoerrors .ErrorCode {
253251 return h .SetAngleToLeft (angle )
254252}
255253
@@ -262,6 +260,6 @@ func (h *DefaultHandler) SetDirectionToRight(angle uint16) tinygotypes.ErrorCode
262260// Returns:
263261//
264262// An error if the angle is not within the right limit
265- func (h * DefaultHandler ) SetDirectionToLeft (angle uint16 ) tinygotypes .ErrorCode {
263+ func (h * DefaultHandler ) SetDirectionToLeft (angle uint16 ) tinygoerrors .ErrorCode {
266264 return h .SetAngleToRight (angle )
267265}
0 commit comments