EV3 Tacho Motors. More...
#include <stddef.h>#include <stdint.h>#include <stdbool.h>Go to the source code of this file.
Data Structures | |
| struct | EV3_TACHO |
| Structure of a tacho descriptor. More... | |
Macros | |
| #define | EV3_TACHO_VAR(decl) extern decl |
| #define | EV3_TACHO_VAR_INIT(decl, ...) extern decl |
| #define | EV3_TACHO_INL inline |
| #define | TACHO_DIR "/sys/class/tacho-motor" |
| #define | TACHO_DESC__LIMIT_ DESC_LIMIT |
| #define | TACHO__NONE_ TACHO_DESC__LIMIT_ |
Enumerations | |
| enum | { TACHO_TYPE__NONE_ = 0, LEGO_EV3_L_MOTOR, LEGO_EV3_M_MOTOR, FI_L12_EV3, TACHO_TYPE__COUNT_, TACHO_TYPE__UNKNOWN_ = TACHO_TYPE__COUNT_ } |
| Identifiers of tacho types. More... | |
| enum | { TACHO_COMMAND__NONE_ = 0, TACHO_RUN_FOREVER, TACHO_RUN_TO_ABS_POS, TACHO_RUN_TO_REL_POS, TACHO_RUN_TIMED, TACHO_RUN_DIRECT, TACHO_STOP, TACHO_RESET, TACHO_COMMAND__COUNT_, TACHO_COMMAND__UNKNOWN_ = TACHO_COMMAND__COUNT_ } |
| Common identifiers of tacho "command" attribute. More... | |
| enum | { TACHO_POLARITY__NONE_ = 0, TACHO_NORMAL, TACHO_INVERSED, TACHO_POLARITY__COUNT_, TACHO_POLARITY__UNKNOWN_ = TACHO_POLARITY__COUNT_ } |
| Common identifiers of tacho "polarity" attribute. More... | |
| enum | { TACHO_STOP_ACTION__NONE_ = 0, TACHO_COAST, TACHO_BRAKE, TACHO_HOLD, TACHO_STOP_ACTION__COUNT_, TACHO_STOP_ACTION__UNKNOWN_ = TACHO_STOP_ACTION__COUNT_ } |
| Common identifiers of tacho "stop_action" attribute. More... | |
| enum | { TACHO_STATE__NONE_ = 0, TACHO_RUNNING = 0x1L, TACHO_RAMPING = 0x2L, TACHO_HOLDING = 0x4L, TACHO_OVERLOADED = 0x8L, TACHO_STALLED = 0x10L } |
| Common identifiers of tacho "state" attribute. | |
Functions | |
| EV3_TACHO_VAR (EV3_TACHO ev3_tacho[TACHO_DESC__LIMIT_]) | |
| Vector of tacho descriptors (filled by ev3_tacho_init). | |
| size_t | get_tacho_address (uint8_t sn, char *buf, size_t sz) |
| Read "address" attribute of the tacho. More... | |
| size_t | set_tacho_command (uint8_t sn, char *value) |
| Write "command" attribute of the tacho. More... | |
| size_t | multi_set_tacho_command (uint8_t *sn, char *value) |
| Write "command" attribute of several tachos. More... | |
| size_t | get_tacho_commands (uint8_t sn, char *buf, size_t sz) |
| Read "commands" attribute of the tacho. More... | |
| size_t | get_tacho_count_per_rot (uint8_t sn, int *buf) |
| Read "count_per_rot" attribute of the tacho. More... | |
| size_t | get_tacho_count_per_m (uint8_t sn, int *buf) |
| Read "count_per_m" attribute of the tacho. More... | |
| size_t | get_tacho_full_travel_count (uint8_t sn, int *buf) |
| Read "full_travel_count" attribute of the tacho. More... | |
| size_t | get_tacho_driver_name (uint8_t sn, char *buf, size_t sz) |
| Read "driver_name" attribute of the tacho. More... | |
| size_t | get_tacho_duty_cycle (uint8_t sn, int *buf) |
| Read "duty_cycle" attribute of the tacho. More... | |
| size_t | get_tacho_duty_cycle_sp (uint8_t sn, int *buf) |
| Read "duty_cycle_sp" attribute of the tacho. More... | |
| size_t | set_tacho_duty_cycle_sp (uint8_t sn, int value) |
| Write "duty_cycle_sp" attribute of the tacho. More... | |
| size_t | multi_set_tacho_duty_cycle_sp (uint8_t *sn, int value) |
| Write "duty_cycle_sp" attribute of several tachos. More... | |
| size_t | get_tacho_hold_pid_Kd (uint8_t sn, int *buf) |
| Read "hold_pid/Kd" attribute of the tacho. More... | |
| size_t | set_tacho_hold_pid_Kd (uint8_t sn, int value) |
| Write "hold_pid/Kd" attribute of the tacho. More... | |
| size_t | multi_set_tacho_hold_pid_Kd (uint8_t *sn, int value) |
| Write "hold_pid/Kd" attribute of several tachos. More... | |
| size_t | get_tacho_hold_pid_Ki (uint8_t sn, int *buf) |
| Read "hold_pid/Ki" attribute of the tacho. More... | |
| size_t | set_tacho_hold_pid_Ki (uint8_t sn, int value) |
| Write "hold_pid/Ki" attribute of the tacho. More... | |
| size_t | multi_set_tacho_hold_pid_Ki (uint8_t *sn, int value) |
| Write "hold_pid/Ki" attribute of several tachos. More... | |
| size_t | get_tacho_hold_pid_Kp (uint8_t sn, int *buf) |
| Read "hold_pid/Kp" attribute of the tacho. More... | |
| size_t | set_tacho_hold_pid_Kp (uint8_t sn, int value) |
| Write "hold_pid/Kp" attribute of the tacho. More... | |
| size_t | multi_set_tacho_hold_pid_Kp (uint8_t *sn, int value) |
| Write "hold_pid/Kp" attribute of several tachos. More... | |
| size_t | get_tacho_max_speed (uint8_t sn, int *buf) |
| Read "max_speed" attribute of the tacho. More... | |
| size_t | get_tacho_polarity (uint8_t sn, char *buf, size_t sz) |
| Read "polarity" attribute of the tacho. More... | |
| size_t | set_tacho_polarity (uint8_t sn, char *value) |
| Write "polarity" attribute of the tacho. More... | |
| size_t | multi_set_tacho_polarity (uint8_t *sn, char *value) |
| Write "polarity" attribute of several tachos. More... | |
| size_t | get_tacho_position (uint8_t sn, int *buf) |
| Read "position" attribute of the tacho. More... | |
| size_t | set_tacho_position (uint8_t sn, int value) |
| Write "position" attribute of the tacho. More... | |
| size_t | multi_set_tacho_position (uint8_t *sn, int value) |
| Write "position" attribute of several tachos. More... | |
| size_t | get_tacho_position_sp (uint8_t sn, int *buf) |
| Read "position_sp" attribute of the tacho. More... | |
| size_t | set_tacho_position_sp (uint8_t sn, int value) |
| Write "position_sp" attribute of the tacho. More... | |
| size_t | multi_set_tacho_position_sp (uint8_t *sn, int value) |
| Write "position_sp" attribute of several tachos. More... | |
| size_t | get_tacho_ramp_down_sp (uint8_t sn, int *buf) |
| Read "ramp_down_sp" attribute of the tacho. More... | |
| size_t | set_tacho_ramp_down_sp (uint8_t sn, int value) |
| Write "ramp_down_sp" attribute of the tacho. More... | |
| size_t | multi_set_tacho_ramp_down_sp (uint8_t *sn, int value) |
| Write "ramp_down_sp" attribute of several tachos. More... | |
| size_t | get_tacho_ramp_up_sp (uint8_t sn, int *buf) |
| Read "ramp_up_sp" attribute of the tacho. More... | |
| size_t | set_tacho_ramp_up_sp (uint8_t sn, int value) |
| Write "ramp_up_sp" attribute of the tacho. More... | |
| size_t | multi_set_tacho_ramp_up_sp (uint8_t *sn, int value) |
| Write "ramp_up_sp" attribute of several tachos. More... | |
| size_t | get_tacho_speed (uint8_t sn, int *buf) |
| Read "speed" attribute of the tacho. More... | |
| size_t | get_tacho_speed_pid_Kd (uint8_t sn, int *buf) |
| Read "speed_pid/Kd" attribute of the tacho. More... | |
| size_t | set_tacho_speed_pid_Kd (uint8_t sn, int value) |
| Write "speed_pid/Kd" attribute of the tacho. More... | |
| size_t | multi_set_tacho_speed_pid_Kd (uint8_t *sn, int value) |
| Write "speed_pid/Kd" attribute of several tachos. More... | |
| size_t | get_tacho_speed_pid_Ki (uint8_t sn, int *buf) |
| Read "speed_pid/Ki" attribute of the tacho. More... | |
| size_t | set_tacho_speed_pid_Ki (uint8_t sn, int value) |
| Write "speed_pid/Ki" attribute of the tacho. More... | |
| size_t | multi_set_tacho_speed_pid_Ki (uint8_t *sn, int value) |
| Write "speed_pid/Ki" attribute of several tachos. More... | |
| size_t | get_tacho_speed_pid_Kp (uint8_t sn, int *buf) |
| Read "speed_pid/Kp" attribute of the tacho. More... | |
| size_t | set_tacho_speed_pid_Kp (uint8_t sn, int value) |
| Write "speed_pid/Kp" attribute of the tacho. More... | |
| size_t | multi_set_tacho_speed_pid_Kp (uint8_t *sn, int value) |
| Write "speed_pid/Kp" attribute of several tachos. More... | |
| size_t | get_tacho_speed_sp (uint8_t sn, int *buf) |
| Read "speed_sp" attribute of the tacho. More... | |
| size_t | set_tacho_speed_sp (uint8_t sn, int value) |
| Write "speed_sp" attribute of the tacho. More... | |
| size_t | multi_set_tacho_speed_sp (uint8_t *sn, int value) |
| Write "speed_sp" attribute of several tachos. More... | |
| size_t | get_tacho_state (uint8_t sn, char *buf, size_t sz) |
| Read "state" attribute of the tacho. More... | |
| size_t | get_tacho_stop_action (uint8_t sn, char *buf, size_t sz) |
| Read "stop_action" attribute of the tacho. More... | |
| size_t | set_tacho_stop_action (uint8_t sn, char *value) |
| Write "stop_action" attribute of the tacho. More... | |
| size_t | multi_set_tacho_stop_action (uint8_t *sn, char *value) |
| Write "stop_action" attribute of several tachos. More... | |
| size_t | get_tacho_stop_actions (uint8_t sn, char *buf, size_t sz) |
| Read "stop_actions" attribute of the tacho. More... | |
| size_t | get_tacho_time_sp (uint8_t sn, int *buf) |
| Read "time_sp" attribute of the tacho. More... | |
| size_t | set_tacho_time_sp (uint8_t sn, int value) |
| Write "time_sp" attribute of the tacho. More... | |
| size_t | multi_set_tacho_time_sp (uint8_t *sn, int value) |
| Write "time_sp" attribute of several tachos. More... | |
| const char * | ev3_tacho_type (INX_T type_inx) |
| Get name of the specified tacho type. More... | |
| INX_T | get_tacho_type_inx (uint8_t sn) |
| Read "driver_name" attribute and get index of the tacho type. More... | |
| size_t | get_tacho_desc (uint8_t sn, EV3_TACHO *desc) |
| Read tacho attributes that are required for filling the descriptor. More... | |
| EV3_TACHO * | ev3_tacho_desc (uint8_t sn) |
| Get descriptor of the tacho. More... | |
| INX_T | ev3_tacho_desc_type_inx (uint8_t sn) |
| Get type from the tacho descriptor. More... | |
| uint8_t | ev3_tacho_desc_port (uint8_t sn) |
| Get EV3 port from the tacho descriptor. More... | |
| uint8_t | ev3_tacho_desc_extport (uint8_t sn) |
| Get extended port from the tacho descriptor. More... | |
| char * | ev3_tacho_port_name (uint8_t sn, char *buf) |
| Assemble EV3 port name from the tacho descriptor. More... | |
| bool | ev3_search_tacho (INX_T type_inx, uint8_t *sn, uint8_t from) |
| Search of a sequence number of the specified tacho type. More... | |
| bool | ev3_search_tacho_plugged_in (uint8_t port, uint8_t extport, uint8_t *sn, uint8_t from) |
| Search of a sequence number the tacho by plug-in attributes. More... | |
| const char * | ev3_tacho_command (INX_T command_inx) |
| Get name of the specified tacho command. More... | |
| size_t | set_tacho_command_inx (uint8_t sn, INX_T command_inx) |
| Write "command" attribute of the tacho by the index. More... | |
| size_t | multi_set_tacho_command_inx (uint8_t *sn, INX_T command_inx) |
| Write "command" attribute of several tachos by the index. More... | |
| const char * | ev3_tacho_polarity (INX_T polarity_inx) |
| Get name of the specified tacho polarity. More... | |
| INX_T | get_tacho_polarity_inx (uint8_t sn) |
| Read "polarity" attribute of the tacho and get the index. More... | |
| size_t | set_tacho_polarity_inx (uint8_t sn, INX_T polarity_inx) |
| Write "polarity" attribute of the tacho by the index. More... | |
| size_t | multi_set_tacho_polarity_inx (uint8_t *sn, INX_T polarity_inx) |
| Write "polarity" attribute of several tachos by the index. More... | |
| const char * | ev3_tacho_stop_action (INX_T stop_action_inx) |
| Get name of the specified tacho stop_action. More... | |
| INX_T | get_tacho_stop_action_inx (uint8_t sn) |
| Read "stop_action" attribute of the tacho and get the index. More... | |
| size_t | set_tacho_stop_action_inx (uint8_t sn, INX_T stop_action_inx) |
| Write "stop_action" attribute of the tacho by the index. More... | |
| size_t | multi_set_tacho_stop_action_inx (uint8_t *sn, INX_T stop_action_inx) |
| Write "stop_action" attribute of several tachos by the index. More... | |
| size_t | get_tacho_state_flags (uint8_t sn, FLAGS_T *flags) |
| Read "state" attribute of the tacho and get the flags. More... | |
| int | ev3_tacho_init (void) |
| Detect connected tachos. More... | |
EV3 Tacho Motors.
(ev3_tacho.yu-h)
1.8.11