SPIKE-RT C API Reference [English]
An RTOS-based software platform for LEGO® Education SPIKE™.
|
APIs for motors. More...
Typedefs | |
typedef pbio_servo_t | pup_motor_t |
Enumerations | |
enum | pup_direction_t { PUP_DIRECTION_CLOCKWISE = PBIO_DIRECTION_CLOCKWISE , PUP_DIRECTION_COUNTERCLOCKWISE = PBIO_DIRECTION_COUNTERCLOCKWISE } |
Functions | |
pup_motor_t * | pup_motor_get_device (pbio_port_id_t port) |
Get the PUP motor device pointer of the motor specified by the port ID. More... | |
pbio_error_t | pup_motor_setup (pup_motor_t *motor, pup_direction_t positive_direction, bool reset_count) |
Setup the PUP motor with the specified direction, possibly resetting the encoder. More... | |
pbio_error_t | pup_motor_reset_count (pup_motor_t *motor) |
Reset the motor encoder. More... | |
int32_t | pup_motor_get_count (pup_motor_t *motor) |
Get the encoder value of the motor. More... | |
int32_t | pup_motor_get_speed (pup_motor_t *motor) |
Get the speed of rotation of the motor. More... | |
pbio_error_t | pup_motor_set_speed (pup_motor_t *motor, int speed) |
Set the speed of rotation of the motor. More... | |
int32_t | pup_motor_get_power (pup_motor_t *motor) |
Get the power of the motor. More... | |
pbio_error_t | pup_motor_set_power (pup_motor_t *motor, int power) |
Set the power of the motor. More... | |
pbio_error_t | pup_motor_stop (pup_motor_t *motor) |
Stop the motor in coast mode. More... | |
pbio_error_t | pup_motor_brake (pup_motor_t *motor) |
Stop the motor in brake mode. More... | |
pbio_error_t | pup_motor_hold (pup_motor_t *motor) |
Stop the motor and hold it. More... | |
bool | pup_motor_is_stalled (pup_motor_t *motor) |
Check if the motor is stalled. More... | |
int32_t | pup_motor_set_duty_limit (pup_motor_t *motor, int duty_limit) |
Lower the duty limit of the motor. \detail To restore the limit, call pup_motor_restore_duty_limit with the value returned as its argument. More... | |
void | pup_motor_restore_duty_limit (pup_motor_t *motor, int old_value) |
Restore the duty limit of the motor. More... | |
APIs for motors.
pbio_error_t pup_motor_brake | ( | pup_motor_t * | motor | ) |
Stop the motor in brake mode.
motor | PUP motor device pointer. |
int32_t pup_motor_get_count | ( | pup_motor_t * | motor | ) |
Get the encoder value of the motor.
motor | PUP motor device pointer. |
pup_motor_t * pup_motor_get_device | ( | pbio_port_id_t | port | ) |
Get the PUP motor device pointer of the motor specified by the port ID.
If it fails, it outputs an error log and returns NULL.
port | PUP port ID of the device. |
int32_t pup_motor_get_power | ( | pup_motor_t * | motor | ) |
Get the power of the motor.
motor | PUP motor device pointer. |
int32_t pup_motor_get_speed | ( | pup_motor_t * | motor | ) |
Get the speed of rotation of the motor.
motor | PUP motor device pointer. |
pbio_error_t pup_motor_hold | ( | pup_motor_t * | motor | ) |
Stop the motor and hold it.
motor | PUP motor device pointer. |
bool pup_motor_is_stalled | ( | pup_motor_t * | motor | ) |
Check if the motor is stalled.
Call pup_motor_set_duty_limit before actuating the motor to avoid applying the full motor torque.
motor | PUP motor device pointer. |
pbio_error_t pup_motor_reset_count | ( | pup_motor_t * | motor | ) |
Reset the motor encoder.
motor | PUP motor device pointer. |
void pup_motor_restore_duty_limit | ( | pup_motor_t * | motor, |
int | old_value | ||
) |
Restore the duty limit of the motor.
motor | PUP motor device pointer. |
old_value | Voltage returned from pup_motor_set_duty_limit. |
int32_t pup_motor_set_duty_limit | ( | pup_motor_t * | motor, |
int | duty_limit | ||
) |
Lower the duty limit of the motor. \detail To restore the limit, call pup_motor_restore_duty_limit with the value returned as its argument.
motor | PUP motor device pointer. |
duty_limit | new limit (0-100), |
pbio_error_t pup_motor_set_power | ( | pup_motor_t * | motor, |
int | power | ||
) |
Set the power of the motor.
motor | PUP motor device pointer. |
power | Power between -100 and +100. |
pbio_error_t pup_motor_set_speed | ( | pup_motor_t * | motor, |
int | speed | ||
) |
Set the speed of rotation of the motor.
motor | PUP motor device pointer. |
speed | Speed of rotation in degree/sec. |
pbio_error_t pup_motor_setup | ( | pup_motor_t * | motor, |
pup_direction_t | positive_direction, | ||
bool | reset_count | ||
) |
Setup the PUP motor with the specified direction, possibly resetting the encoder.
It could return PBIO_ERROR_AGAIN and (PBIO_ERROR_NO_DEV, too), if it is called "too soon", in which case you should call this function again sometime later. Errors other than PBIO_ERROR_AGAIN are logged.
motor | PUP motor device pointer. |
positive_direction | Either PUP_DIRECTION_CLOCKWISE or PUP_DIRECTION_COUNTERCLOCKWISE to indicate the desiredi positive direction.. |
reset_count | Indicate if counter should be reset. |
pbio_error_t pup_motor_stop | ( | pup_motor_t * | motor | ) |
Stop the motor in coast mode.
motor | PUP motor device pointer. |