main_ubi_sdk v 0.1.3
This is UBI4 documentation
motor_controller.h
Go to the documentation of this file.
1/*
2 * motor_controller.h
3 *
4 * Created on: Mar 5, 2025
5 * Author: Andrey Ovodov
6 */
7
8#ifndef MOTORS_CONTROLLERS_MOTOR_CONTROLLER_H_
9#define MOTORS_CONTROLLERS_MOTOR_CONTROLLER_H_
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
16#include "stdbool.h"
17
18
19typedef void (*MotorSelfFunc_t)(void *self);
20typedef void (*MotorSelfFuncWithSpeed_t)(void *self, uint8_t speed);
21
22typedef void (*MotorSelfFuncWithCallback_t)(void *self, MotorSelfFunc_t Callback);
23typedef void (*MotorSelfFuncWithReason_t) (void *self, uint8_t reason);
24typedef void (*UpdateMotorParam_t)(void *self, uint32_t value);
25typedef void (*MoveMotorToPosFunc_t)(void *self, uint8_t speed, uint8_t delay, uint8_t power, uint8_t force);
26
27
33
39
45
53
54
55
56typedef struct
57{
59 uint8_t type;
60 uint8_t channel;
61
63
91
113
114
116
117#ifdef __cplusplus
118}
119#endif
120
121#endif /* MOTORS_CONTROLLERS_MOTOR_CONTROLLER_H_ */
MOT_DIR
Definition motor_controller.h:34
@ MOT_STOP
Definition motor_controller.h:35
@ MOT_CLOSE
Definition motor_controller.h:37
@ MOT_OPEN
Definition motor_controller.h:36
void(* MotorSelfFuncWithSpeed_t)(void *self, uint8_t speed)
Definition motor_controller.h:20
motor_state_enum
Definition motor_controller.h:28
@ MSE_BREAK
Definition motor_controller.h:30
@ MSE_IDLE
Definition motor_controller.h:29
@ MSE_MOVE
Definition motor_controller.h:31
void(* MotorSelfFuncWithReason_t)(void *self, uint8_t reason)
Definition motor_controller.h:23
void(* MotorSelfFuncWithCallback_t)(void *self, MotorSelfFunc_t Callback)
Definition motor_controller.h:22
mot_stop_reason_enum
Definition motor_controller.h:46
@ MOT_ENCODER_TARGET_POS_FINISH
Definition motor_controller.h:47
@ MOT_SMALL_CURENT_STOP
Definition motor_controller.h:48
@ MOT_MANUAL_STOP
Definition motor_controller.h:50
@ MOT_OVERCURENT_STOP
Definition motor_controller.h:49
@ MOT_TIMEOUT_STOP
Definition motor_controller.h:51
bool MotorControllerBaseInit(motor_controller_base_t *self, motor_controller_base_init_t *init, motor_driver_base_t *driver)
Definition motor_controller.c:56
void(* MoveMotorToPosFunc_t)(void *self, uint8_t speed, uint8_t delay, uint8_t power, uint8_t force)
Definition motor_controller.h:25
drive_move_mode_enum
Definition motor_controller.h:40
@ FMME_ENCODER_CONTROL
Definition motor_controller.h:42
@ FMME_TIME_CONTROL
Definition motor_controller.h:43
@ FMME_CURRENT_CONTROL
Definition motor_controller.h:41
void(* UpdateMotorParam_t)(void *self, uint32_t value)
Definition motor_controller.h:24
void(* MotorSelfFunc_t)(void *self)
Definition motor_controller.h:19
Definition motor_controller.h:57
uint8_t type
Definition motor_controller.h:59
bool reverse_driver
Definition motor_controller.h:58
uint8_t channel
Definition motor_controller.h:60
Definition motor_controller.h:65
motor_state_enum motor_state
Definition motor_controller.h:66
uint8_t force
Definition motor_controller.h:76
bool new_current_exist
Definition motor_controller.h:89
uint32_t target_max_current
Definition motor_controller.h:71
uint32_t start_time
Definition motor_controller.h:81
uint32_t current_speed
Definition motor_controller.h:78
uint32_t target_enc_pos
Definition motor_controller.h:70
int32_t current_enc_pos
Definition motor_controller.h:75
uint32_t target_speed
Definition motor_controller.h:72
MOT_DIR current_direction
Definition motor_controller.h:74
uint32_t currentArrayCounter
Definition motor_controller.h:87
int32_t last_current
Definition motor_controller.h:77
mot_stop_reason_enum last_stop_reason
Definition motor_controller.h:83
MOT_DIR target_direction
Definition motor_controller.h:68
uint16_t stall_current
Definition motor_controller.h:85
uint16_t overcurrent_counter
Definition motor_controller.h:79
drive_move_mode_enum move_mode
Definition motor_controller.h:69
uint32_t currentArray[20]
Definition motor_controller.h:86
Definition motor_controller.h:93
MotorSelfFunc_t Tick
Definition motor_controller.h:105
motor_controller_base_init_t * init
Definition motor_controller.h:97
void * owner
Definition motor_controller.h:94
MotorSelfFunc_t CalibrationFinishCallback
Definition motor_controller.h:108
MotorSelfFuncWithReason_t Stop
Definition motor_controller.h:103
UpdateMotorParam_t UpdateCurrnetValue
Definition motor_controller.h:110
MotorSelfFuncWithSpeed_t Open
Definition motor_controller.h:101
MoveMotorToPosFunc_t MoveToPos
Definition motor_controller.h:104
MotorSelfFuncWithSpeed_t Close
Definition motor_controller.h:102
MotorSelfFuncWithCallback_t Calibrate
Definition motor_controller.h:107
motor_controller_base_movement_info_t movement_info
Definition motor_controller.h:98
motor_driver_base_t * driver
Definition motor_controller.h:95
Definition motor_driver.h:26