API Reference
Motor API
Control motors and servos from your State classes using simple, intuitive methods. No arcane incantations required.
Motion Methods
These methods are available on any class that inherits from kenate.BaseState.
| Method | Description |
|---|---|
| set_motor_speed(motor_id, speed) | Set speed from -100.0 to 100.0 |
| set_servo_angle(servo_id, angle) | Set angle from 0 to 180 degrees |
| stop_all_motors() | Set all motors to 0 immediately |
set_motor_speed(motor_id, speed)
Controls the speed of a DC motor. Negative values go backward. It's not rocket science.
Parameters
motor_idIndex from hardware.toml (0, 1, 2...)speedFloat from -100.0 (full reverse) to 100.0 (full forward)
Example
def on_update(self):
# Left wheel forward
self.set_motor_speed(0, 75)
# Right wheel backward
self.set_motor_speed(1, -75)set_servo_angle(servo_id, angle)
Moves a servo to a specific angle. Great for arms, grippers, and other pointy things.
Parameters
servo_idIndex from hardware.tomlangleFloat from 0 to 180 degrees
Example
def on_enter(self):
# Point arm at center
self.set_servo_angle(0, 90)
def on_exit(self):
# Lower arm
self.set_servo_angle(0, 0)stop_all_motors()
Emergency stop. Immediately sets all registered motors to speed 0. For when things get interesting.
Example
class AlertState(kenate.BaseState):
def on_enter(self):
# Stop everything immediately
self.stop_all_motors()
self.log("EMERGENCY STOP")