Access to EV3 DC motors. More...
Data Structures | |
struct | EV3_DC |
Structure of a DC motor descriptor. More... | |
Macros | |
#define | DC_DIR "/sys/class/dc-motor" |
#define | DC_DESC__LIMIT_ DESC_LIMIT |
#define | DC__NONE_ DC_DESC__LIMIT_ |
Enumerations | |
enum | { DC_TYPE__NONE_ = 0, RCX_MOTOR, DC_TYPE__COUNT_, DC_TYPE__UNKNOWN_ = DC_TYPE__COUNT_ } |
Identifiers of DC motor types. More... | |
enum | { DC_COMMAND__NONE_ = 0, DC_RUN_FOREVER, DC_RUN_TIMED, DC_RUN_DIRECT, DC_STOP, DC_COMMAND__COUNT_, DC_COMMAND__UNKNOWN_ = DC_COMMAND__COUNT_ } |
Common identifiers of DC motor "command" attribute. More... | |
enum | { DC_POLARITY__NONE_ = 0, DC_NORMAL, DC_INVERSED, DC_POLARITY__COUNT_, DC_POLARITY__UNKNOWN_ = DC_POLARITY__COUNT_ } |
Common identifiers of DC motor "polarity" attribute. More... | |
enum | { DC_STOP_ACTION__NONE_ = 0, DC_COAST, DC_BRAKE, DC_STOP_ACTION__COUNT_, DC_STOP_ACTION__UNKNOWN_ = DC_STOP_ACTION__COUNT_ } |
Common identifiers of DC motor "stop_action" attribute. More... | |
enum | { DC_STATE__NONE_ = 0, DC_RUNNING = 0x1L, DC_RAMPING = 0x2L } |
Common identifiers of DC motor "state" attribute. | |
Functions | |
EV3_DC_VAR (EV3_DC ev3_dc[DC_DESC__LIMIT_]) | |
Vector of DC motor descriptors (filled by ev3_dc_init). | |
size_t | get_dc_address (uint8_t sn, char *buf, size_t sz) |
Read "address" attribute of the DC motor. More... | |
size_t | set_dc_command (uint8_t sn, char *value) |
Write "command" attribute of the DC motor. More... | |
size_t | multi_set_dc_command (uint8_t *sn, char *value) |
Write "command" attribute of several DC motors. More... | |
size_t | get_dc_commands (uint8_t sn, char *buf, size_t sz) |
Read "commands" attribute of the DC motor. More... | |
size_t | get_dc_driver_name (uint8_t sn, char *buf, size_t sz) |
Read "driver_name" attribute of the DC motor. More... | |
size_t | get_dc_duty_cycle (uint8_t sn, int *buf) |
Read "duty_cycle" attribute of the DC motor. More... | |
size_t | get_dc_duty_cycle_sp (uint8_t sn, int *buf) |
Read "duty_cycle_sp" attribute of the DC motor. More... | |
size_t | set_dc_duty_cycle_sp (uint8_t sn, int value) |
Write "duty_cycle_sp" attribute of the DC motor. More... | |
size_t | multi_set_dc_duty_cycle_sp (uint8_t *sn, int value) |
Write "duty_cycle_sp" attribute of several DC motors. More... | |
size_t | get_dc_polarity (uint8_t sn, char *buf, size_t sz) |
Read "polarity" attribute of the DC motor. More... | |
size_t | set_dc_polarity (uint8_t sn, char *value) |
Write "polarity" attribute of the DC motor. More... | |
size_t | multi_set_dc_polarity (uint8_t *sn, char *value) |
Write "polarity" attribute of several DC motors. More... | |
size_t | get_dc_state (uint8_t sn, char *buf, size_t sz) |
Read "state" attribute of the DC motor. More... | |
size_t | set_dc_stop_action (uint8_t sn, char *value) |
Write "stop_action" attribute of the DC motor. More... | |
size_t | multi_set_dc_stop_action (uint8_t *sn, char *value) |
Write "stop_action" attribute of several DC motors. More... | |
size_t | get_dc_stop_actions (uint8_t sn, char *buf, size_t sz) |
Read "stop_actions" attribute of the DC motor. More... | |
size_t | get_dc_ramp_down_sp (uint8_t sn, int *buf) |
Read "ramp_down_sp" attribute of the DC motor. More... | |
size_t | set_dc_ramp_down_sp (uint8_t sn, int value) |
Write "ramp_down_sp" attribute of the DC motor. More... | |
size_t | multi_set_dc_ramp_down_sp (uint8_t *sn, int value) |
Write "ramp_down_sp" attribute of several DC motors. More... | |
size_t | get_dc_ramp_up_sp (uint8_t sn, int *buf) |
Read "ramp_up_sp" attribute of the DC motor. More... | |
size_t | set_dc_ramp_up_sp (uint8_t sn, int value) |
Write "ramp_up_sp" attribute of the DC motor. More... | |
size_t | multi_set_dc_ramp_up_sp (uint8_t *sn, int value) |
Write "ramp_up_sp" attribute of several DC motors. More... | |
size_t | get_dc_time_sp (uint8_t sn, int *buf) |
Read "time_sp" attribute of the DC motor. More... | |
size_t | set_dc_time_sp (uint8_t sn, int value) |
Write "time_sp" attribute of the DC motor. More... | |
size_t | multi_set_dc_time_sp (uint8_t *sn, int value) |
Write "time_sp" attribute of several DC motors. More... | |
const char * | ev3_dc_type (INX_T type_inx) |
Get name of the specified DC motor type. More... | |
INX_T | get_dc_type_inx (uint8_t sn) |
Read "driver_name" attribute and get index of the DC motor type. More... | |
size_t | get_dc_desc (uint8_t sn, EV3_DC *desc) |
Read DC motor attributes that are required for filling the descriptor. More... | |
EV3_DC * | ev3_dc_desc (uint8_t sn) |
Get descriptor of the DC motor. More... | |
INX_T | ev3_dc_desc_type_inx (uint8_t sn) |
Get type from the DC motor descriptor. More... | |
uint8_t | ev3_dc_desc_port (uint8_t sn) |
Get EV3 port from the DC motor descriptor. More... | |
uint8_t | ev3_dc_desc_extport (uint8_t sn) |
Get extended port from the DC motor descriptor. More... | |
char * | ev3_dc_port_name (uint8_t sn, char *buf) |
Assemble EV3 port name from the DC motor descriptor. More... | |
bool | ev3_search_dc (INX_T type_inx, uint8_t *sn, uint8_t from) |
Search of a sequence number of the specified DC motor type. More... | |
bool | ev3_search_dc_plugged_in (uint8_t port, uint8_t extport, uint8_t *sn, uint8_t from) |
Search of a sequence number the DC motor by plug-in attributes. More... | |
const char * | ev3_dc_command (INX_T command_inx) |
Get name of the specified DC motor command. More... | |
size_t | set_dc_command_inx (uint8_t sn, INX_T command_inx) |
Write "command" attribute of the DC motor by the index. More... | |
size_t | multi_set_dc_command_inx (uint8_t *sn, INX_T command_inx) |
Write "command" attribute of several DC motors by the index. More... | |
const char * | ev3_dc_polarity (INX_T polarity_inx) |
Get name of the specified DC motor polarity. More... | |
INX_T | get_dc_polarity_inx (uint8_t sn) |
Read "polarity" attribute of the DC motor and get the index. More... | |
size_t | set_dc_polarity_inx (uint8_t sn, INX_T polarity_inx) |
Write "polarity" attribute of the DC motor by the index. More... | |
size_t | multi_set_dc_polarity_inx (uint8_t *sn, INX_T polarity_inx) |
Write "polarity" attribute of several DC motors by the index. More... | |
const char * | ev3_dc_stop_action (INX_T stop_action_inx) |
Get name of the specified DC motor stop_action. More... | |
size_t | set_dc_stop_action_inx (uint8_t sn, INX_T stop_action_inx) |
Write "stop_action" attribute of the DC motor by the index. More... | |
size_t | multi_set_dc_stop_action_inx (uint8_t *sn, INX_T stop_action_inx) |
Write "stop_action" attribute of several DC motors by the index. More... | |
size_t | get_dc_state_flags (uint8_t sn, FLAGS_T *flags) |
Read "state" attribute of the DC motor and get the flags. More... | |
int | ev3_dc_init (void) |
Detect connected DC motors. More... | |
Access to EV3 DC motors.
#define DC__NONE_ DC_DESC__LIMIT_ |
DC motor is not found.
#define DC_DESC__LIMIT_ DESC_LIMIT |
Limit of DC motor descriptors.
#define DC_DIR "/sys/class/dc-motor" |
Directory of DC motors.
anonymous enum |
anonymous enum |
anonymous enum |
const char* ev3_dc_command | ( | INX_T | command_inx | ) |
Get name of the specified DC motor command.
command_inx | Index of the DC motor command. |
EV3_DC* ev3_dc_desc | ( | uint8_t | sn | ) |
Get descriptor of the DC motor.
sn | Sequence number. |
uint8_t ev3_dc_desc_extport | ( | uint8_t | sn | ) |
Get extended port from the DC motor descriptor.
sn | Sequence number. |
uint8_t ev3_dc_desc_port | ( | uint8_t | sn | ) |
Get EV3 port from the DC motor descriptor.
sn | Sequence number. |
INX_T ev3_dc_desc_type_inx | ( | uint8_t | sn | ) |
Get type from the DC motor descriptor.
sn | Sequence number. |
int ev3_dc_init | ( | void | ) |
Detect connected DC motors.
const char* ev3_dc_polarity | ( | INX_T | polarity_inx | ) |
Get name of the specified DC motor polarity.
polarity_inx | Index of the DC motor polarity. |
char* ev3_dc_port_name | ( | uint8_t | sn, |
char * | buf | ||
) |
Assemble EV3 port name from the DC motor descriptor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
const char* ev3_dc_stop_action | ( | INX_T | stop_action_inx | ) |
Get name of the specified DC motor stop_action.
stop_action_inx | Index of the DC motor stop_action. |
const char* ev3_dc_type | ( | INX_T | type_inx | ) |
Get name of the specified DC motor type.
type_inx | Index of the DC motor type. |
bool ev3_search_dc | ( | INX_T | type_inx, |
uint8_t * | sn, | ||
uint8_t | from | ||
) |
Search of a sequence number of the specified DC motor type.
type_inx | DC motor type. | |
[out] | sn | Buffer for the sequence number. |
from | Search initial value. |
bool ev3_search_dc_plugged_in | ( | uint8_t | port, |
uint8_t | extport, | ||
uint8_t * | sn, | ||
uint8_t | from | ||
) |
Search of a sequence number the DC motor by plug-in attributes.
port | EV3 port. | |
extport | Extended port. | |
[out] | sn | Buffer for the sequence number. |
from | Search initial value. |
size_t get_dc_address | ( | uint8_t | sn, |
char * | buf, | ||
size_t | sz | ||
) |
Read "address" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
sz | Buffer size. |
size_t get_dc_commands | ( | uint8_t | sn, |
char * | buf, | ||
size_t | sz | ||
) |
Read "commands" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
sz | Buffer size. |
size_t get_dc_desc | ( | uint8_t | sn, |
EV3_DC * | desc | ||
) |
Read DC motor attributes that are required for filling the descriptor.
sn | Sequence number. |
desc | Buffer for the descriptor. |
size_t get_dc_driver_name | ( | uint8_t | sn, |
char * | buf, | ||
size_t | sz | ||
) |
Read "driver_name" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
sz | Buffer size. |
size_t get_dc_duty_cycle | ( | uint8_t | sn, |
int * | buf | ||
) |
Read "duty_cycle" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
size_t get_dc_duty_cycle_sp | ( | uint8_t | sn, |
int * | buf | ||
) |
Read "duty_cycle_sp" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
size_t get_dc_polarity | ( | uint8_t | sn, |
char * | buf, | ||
size_t | sz | ||
) |
Read "polarity" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
sz | Buffer size. |
INX_T get_dc_polarity_inx | ( | uint8_t | sn | ) |
Read "polarity" attribute of the DC motor and get the index.
sn | Sequence number. |
size_t get_dc_ramp_down_sp | ( | uint8_t | sn, |
int * | buf | ||
) |
Read "ramp_down_sp" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
size_t get_dc_ramp_up_sp | ( | uint8_t | sn, |
int * | buf | ||
) |
Read "ramp_up_sp" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
size_t get_dc_state | ( | uint8_t | sn, |
char * | buf, | ||
size_t | sz | ||
) |
Read "state" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
sz | Buffer size. |
size_t get_dc_state_flags | ( | uint8_t | sn, |
FLAGS_T * | flags | ||
) |
Read "state" attribute of the DC motor and get the flags.
sn | Sequence number. |
flags | Buffer for the flags. |
size_t get_dc_stop_actions | ( | uint8_t | sn, |
char * | buf, | ||
size_t | sz | ||
) |
Read "stop_actions" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
sz | Buffer size. |
size_t get_dc_time_sp | ( | uint8_t | sn, |
int * | buf | ||
) |
Read "time_sp" attribute of the DC motor.
sn | Sequence number. | |
[out] | buf | Buffer for result. |
INX_T get_dc_type_inx | ( | uint8_t | sn | ) |
Read "driver_name" attribute and get index of the DC motor type.
sn | Sequence number. |
size_t multi_set_dc_command | ( | uint8_t * | sn, |
char * | value | ||
) |
Write "command" attribute of several DC motors.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
value | Attribute value. |
size_t multi_set_dc_command_inx | ( | uint8_t * | sn, |
INX_T | command_inx | ||
) |
Write "command" attribute of several DC motors by the index.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
command_inx | Index of the DC motor command. |
size_t multi_set_dc_duty_cycle_sp | ( | uint8_t * | sn, |
int | value | ||
) |
Write "duty_cycle_sp" attribute of several DC motors.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
value | Attribute value. |
size_t multi_set_dc_polarity | ( | uint8_t * | sn, |
char * | value | ||
) |
Write "polarity" attribute of several DC motors.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
value | Attribute value. |
size_t multi_set_dc_polarity_inx | ( | uint8_t * | sn, |
INX_T | polarity_inx | ||
) |
Write "polarity" attribute of several DC motors by the index.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
polarity_inx | Index of the DC motor polarity. |
size_t multi_set_dc_ramp_down_sp | ( | uint8_t * | sn, |
int | value | ||
) |
Write "ramp_down_sp" attribute of several DC motors.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
value | Attribute value. |
size_t multi_set_dc_ramp_up_sp | ( | uint8_t * | sn, |
int | value | ||
) |
Write "ramp_up_sp" attribute of several DC motors.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
value | Attribute value. |
size_t multi_set_dc_stop_action | ( | uint8_t * | sn, |
char * | value | ||
) |
Write "stop_action" attribute of several DC motors.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
value | Attribute value. |
size_t multi_set_dc_stop_action_inx | ( | uint8_t * | sn, |
INX_T | stop_action_inx | ||
) |
Write "stop_action" attribute of several DC motors by the index.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
stop_action_inx | Index of the DC motor stop_action. |
size_t multi_set_dc_time_sp | ( | uint8_t * | sn, |
int | value | ||
) |
Write "time_sp" attribute of several DC motors.
sn | Vector of sequence numbers ending with DESC_LIMIT. |
value | Attribute value. |
size_t set_dc_command | ( | uint8_t | sn, |
char * | value | ||
) |
Write "command" attribute of the DC motor.
sn | Sequence number. |
value | Attribute value. |
size_t set_dc_command_inx | ( | uint8_t | sn, |
INX_T | command_inx | ||
) |
Write "command" attribute of the DC motor by the index.
sn | Sequence number. |
command_inx | Index of the DC motor command. |
size_t set_dc_duty_cycle_sp | ( | uint8_t | sn, |
int | value | ||
) |
Write "duty_cycle_sp" attribute of the DC motor.
sn | Sequence number. |
value | Attribute value. |
size_t set_dc_polarity | ( | uint8_t | sn, |
char * | value | ||
) |
Write "polarity" attribute of the DC motor.
sn | Sequence number. |
value | Attribute value. |
size_t set_dc_polarity_inx | ( | uint8_t | sn, |
INX_T | polarity_inx | ||
) |
Write "polarity" attribute of the DC motor by the index.
sn | Sequence number. |
polarity_inx | Index of the DC motor polarity. |
size_t set_dc_ramp_down_sp | ( | uint8_t | sn, |
int | value | ||
) |
Write "ramp_down_sp" attribute of the DC motor.
sn | Sequence number. |
value | Attribute value. |
size_t set_dc_ramp_up_sp | ( | uint8_t | sn, |
int | value | ||
) |
Write "ramp_up_sp" attribute of the DC motor.
sn | Sequence number. |
value | Attribute value. |
size_t set_dc_stop_action | ( | uint8_t | sn, |
char * | value | ||
) |
Write "stop_action" attribute of the DC motor.
sn | Sequence number. |
value | Attribute value. |
size_t set_dc_stop_action_inx | ( | uint8_t | sn, |
INX_T | stop_action_inx | ||
) |
Write "stop_action" attribute of the DC motor by the index.
sn | Sequence number. |
stop_action_inx | Index of the DC motor stop_action. |
size_t set_dc_time_sp | ( | uint8_t | sn, |
int | value | ||
) |
Write "time_sp" attribute of the DC motor.
sn | Sequence number. |
value | Attribute value. |