|
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. |