From 9c54146bcead488978923a52e7844f6c9a8ac730 Mon Sep 17 00:00:00 2001 From: romi2002 Date: Wed, 28 Feb 2024 17:39:33 -0600 Subject: [PATCH 01/31] New cmake lists for vscode --- SteeringVanttec/cmake/st-project.cmake | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/SteeringVanttec/cmake/st-project.cmake b/SteeringVanttec/cmake/st-project.cmake index 700daf8..2470207 100644 --- a/SteeringVanttec/cmake/st-project.cmake +++ b/SteeringVanttec/cmake/st-project.cmake @@ -104,8 +104,21 @@ target_link_options( "$<$:SHELL:-Wl$--undefined=uxTopUsedPriority>" ) +set( + RELEASE_SOURCES + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_linux/CANHandler.cpp" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_linux/main.cpp" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_stm/generic_tasks/hb_task.c" + "libs/vanttec_CANLib/tests/canmessage.cpp" + "libs/vanttec_CANLib/tests/inet.cpp" + "libs/vanttec_CANLib/tests/serialize.cpp" +) + +list(TRANSFORM RELEASE_SOURCES REPLACE "(.+)" "$<$>:\\1>") + target_sources( ${TARGET_NAME} PRIVATE + "${RELEASE_SOURCES}" "Core/Src/FreeRTOS-openocd.c" "Core/Src/freertos.c" "Core/Src/main.c" @@ -152,6 +165,17 @@ target_sources( "libs/stepper_lib/encoder.c" "libs/stepper_lib/stepper_tasks.c" "libs/stepper_lib/stepper.c" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_stm/generic_tasks/can_reset_task.c" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_stm/generic_tasks/generic_tasks.c" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_stm/ping_task.c" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_stm/utils.c" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_stm/vanttec_canlib_rx_task.c" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_stm/vanttec_canlib_tx_task.c" + "libs/vanttec_CANLib/platform_specific/vanttec_canlib_stm/vanttec_canlib.c" + "libs/vanttec_CANLib/src/Vanttec_CANLib/ByteOrder/inet.cpp" + "libs/vanttec_CANLib/src/Vanttec_CANLib/CANMessage.cpp" + "libs/vanttec_CANLib/src/Vanttec_CANLib/Utils/CANDeserialization.cpp" + "libs/vanttec_CANLib/src/Vanttec_CANLib/Utils/CANSerialization.cpp" ) add_custom_command( From 0fcf080192f49fe890760aa618c68715b9053867 Mon Sep 17 00:00:00 2001 From: romi2002 Date: Wed, 6 Mar 2024 01:46:55 -0600 Subject: [PATCH 02/31] Initial stepper lib version --- SteeringVanttec/libs/stepper_lib/stepper.c | 403 ++++++--------------- SteeringVanttec/libs/stepper_lib/stepper.h | 115 +++--- 2 files changed, 172 insertions(+), 346 deletions(-) diff --git a/SteeringVanttec/libs/stepper_lib/stepper.c b/SteeringVanttec/libs/stepper_lib/stepper.c index b6edc62..af6e32b 100644 --- a/SteeringVanttec/libs/stepper_lib/stepper.c +++ b/SteeringVanttec/libs/stepper_lib/stepper.c @@ -1,323 +1,142 @@ -#include -#include "math.h" #include "stepper.h" -//#include "Utils/CANSerialization.h" - -volatile stepper braking_stepper; -volatile stepper steering_stepper; - -const static float STEER_RATIO = 1.5; // Stepper to steering wheel ratio -const static uint16_t MAX_STEERING_ANGLE = 600; -const static uint16_t MIN_STEERING_ANGLE = 400; -const static uint16_t PEDAL_LENGTH = 0.18; -const static uint16_t PULLEY_RADIUS = 0.0353; - -void configure_steering() -{ - - steering_stepper.is_active = 0; - steering_stepper.is_exec_started = 0; - steering_stepper.direction = IDLE; - steering_stepper.MAX_ANGLE = MAX_STEERING_ANGLE*STEER_RATIO; //Degrees - steering_stepper.MIN_ANGLE = MIN_STEERING_ANGLE*STEER_RATIO; //Degrees - steering_stepper.current_angle = 0; - steering_stepper.STEPPER_OFFSET = 10;//1.8; - - htim2.Instance->CCR1 = 2500; // For duty cycle of 50% - HAL_GPIO_WritePin(LVL_SFTR_OE_1_GPIO_Port, LVL_SFTR_OE_1_Pin, GPIO_PIN_SET); -} +#include +#include -void configure_braking() -{ - braking_stepper.is_active = 0; - braking_stepper.is_exec_started = 0; - braking_stepper.direction = IDLE; - braking_stepper.MAX_ANGLE = 60; // Degrees - braking_stepper.current_angle = 0; - braking_stepper.STEPPER_OFFSET = 1.8; +HAL_StatusTypeDef configure_stepper_timer_channel(Stepper *stepper, + TIM_HandleTypeDef *timer, + uint32_t timer_channel) { + if (stepper->config.pulse_length <= 1) { + return HAL_ERROR; + } - htim2.Instance->CCR1 = 392; // For duty cycle of 50% - // HAL_GPIO_WritePin(GPIOB, LVL_SFTR_OE_2_Pin, GPIO_PIN_SET); - HAL_GPIO_WritePin(LVL_SFTR_OE_1_GPIO_Port, LVL_SFTR_OE_1_Pin, GPIO_PIN_SET); // Temp steering -} + // This assumes that timer has already been configured and initialized! + TIM_OC_InitTypeDef configOC = {0}; + configOC.OCMode = TIM_OCMODE_PWM1; + configOC.Pulse = stepper->config.pulse_length - 1; + configOC.OCPolarity = TIM_OCPOLARITY_HIGH; + config.OCFastMode = TIM_OCFAST_ENABLE; -void start(const stepper_type stepper) -{ - switch (stepper) - { - case STEERING: - HAL_GPIO_WritePin(GPIOC, STPR_EN_1_Pin, GPIO_PIN_RESET); - steering_stepper.is_active = 1; - HAL_GPIO_WritePin(DEBUG_5_GPIO_Port, DEBUG_5_Pin, GPIO_PIN_SET); - HAL_GPIO_WritePin(DEBUG_6_GPIO_Port, DEBUG_6_Pin, GPIO_PIN_RESET); - break; - case BRAKING: - // HAL_GPIO_WritePin(GPIOB, STPR_EN_2_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(GPIOC, STPR_EN_1_Pin, GPIO_PIN_RESET); // Temp Steering - braking_stepper.is_active = 1; - HAL_GPIO_WritePin(DEBUG_5_GPIO_Port, DEBUG_5_Pin, GPIO_PIN_SET); - HAL_GPIO_WritePin(DEBUG_6_GPIO_Port, DEBUG_6_Pin, GPIO_PIN_RESET); - break; - default: - break; - } -} + if (HAL_TIM_PWM_ConfigChannel(timer, &configOC, timer_channel) != HAL_OK) { + return HAL_ERROR; + }; -void pause(const stepper_type stepper) -{ - switch (stepper) - { - case STEERING: - HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); - steering_stepper.is_exec_started = 0; - HAL_GPIO_WritePin(DEBUG_6_GPIO_Port, DEBUG_6_Pin, GPIO_PIN_SET); - break; - case BRAKING: - // HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_4); - HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); // Temp Steering - braking_stepper.is_exec_started = 0; - HAL_GPIO_WritePin(DEBUG_6_GPIO_Port, DEBUG_6_GPIO_Port, GPIO_PIN_SET); - break; - default: - break; - } -} + __HAL_TIM_SET_COUNTER(timer, stepper->config.pulse_length); -void stop(const stepper_type stepper) -{ - switch (stepper) - { - case STEERING: - HAL_GPIO_WritePin(GPIOC, STPR_EN_1_Pin, GPIO_PIN_SET); - // HAL_GPIO_WritePin(LVL_SFTR_OE_1_GPIO_Port, LVL_SFTR_OE_1_Pin, GPIO_PIN_RESET); - HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); - steering_stepper.is_active = 0; - steering_stepper.direction = IDLE; - steering_stepper.is_exec_started = 0; - HAL_GPIO_WritePin(DEBUG_5_GPIO_Port, DEBUG_5_Pin, GPIO_PIN_RESET); - break; - case BRAKING: - // HAL_GPIO_WritePin(GPIOB, STPR_EN_2_Pin, GPIO_PIN_SET); - // HAL_GPIO_WritePin(GPIOB, LVL_SFTR_OE_2_Pin, GPIO_PIN_RESET); - // HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_4); - HAL_GPIO_WritePin(STPR_EN_1_GPIO_Port, STPR_EN_1_Pin, GPIO_PIN_SET); // Temp Steering - HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); // Temp Steering - braking_stepper.is_active = 0; - braking_stepper.direction = IDLE; - braking_stepper.is_exec_started = 0; - HAL_GPIO_WritePin(DEBUG_5_GPIO_Port, DEBUG_5_Pin, GPIO_PIN_SET); - HAL_GPIO_WritePin(DEBUG_6_GPIO_Port, DEBUG_6_Pin, GPIO_PIN_RESET); - break; - default: - break; - } + return HAL_OK; } -void em_stop() -{ - // For the break, the stop has a different meaning - float error = braking_stepper.desired_angle - braking_stepper.current_angle; - uint8_t direction = CW; - - if (braking_stepper.direction != IDLE) - { - if (braking_stepper.direction != direction) - { - braking_stepper.direction = direction; - // HAL_GPIO_WritePin(GPIOB, STPR_DIR_2_Pin, direction); - HAL_GPIO_WritePin(GPIOB, STPR_DIR_1_Pin, direction); // Temp Steering - } - - if (fabsf(error) > braking_stepper.STEPPER_OFFSET) - { - // Start execution - if (!braking_stepper.is_exec_started) - { - // HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4); - HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); // Temp Steering - braking_stepper.is_exec_started = 1; - } - } - else - pause(BRAKING); - } - else - pause(BRAKING); +void create_default_stepper_config(StepperConfiguration *config) { + // TODO Create sensible defaults. + config->enable_soft_limit = false; + config->step_deadband = 10; } +HAL_StatusTypeDef stepper_initialize(Stepper *stepper, + int32_t initial_position) { + if (stepper == NULL) { + return HAL_ERROR; + } -stepper_direction unsafe_direction; -void steer(uint8_t direction){ - //steering_stepper.mode = CONTROLLER; - float SAT_ANGLE; - - if(steering_stepper.is_active) - { - if(direction != IDLE) - { - if(direction != steering_stepper.direction) - { - HAL_GPIO_WritePin(GPIOC, STPR_DIR_1_Pin, direction); - } + stepper->enabled = false; - // Check max steering angle is not exceded - if(direction == CCW) - SAT_ANGLE = steering_stepper.MAX_ANGLE; - else - SAT_ANGLE = steering_stepper.MIN_ANGLE; + if (stepper->config.enable_soft_limit) { + if (initial_position > stepper->config.max_steps || + intial_position < stepper->config.min_steps) { + return HAL_ERROR; + } + } + stepper->position = initial_position; - if(fabsf(steering_stepper.current_angle) < SAT_ANGLE) - { - if(!steering_stepper.is_exec_started) - { - HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); - steering_stepper.is_exec_started = 1; - } - steering_stepper.direction = direction; - } else { - unsafe_direction = steering_stepper.direction; + stepper_disable(stepper); - // Only can continue if direction is changed - if(direction != unsafe_direction) - { - HAL_GPIO_WritePin(GPIOC, STPR_DIR_1_Pin, direction); - if(!steering_stepper.is_exec_started) - { - HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); - steering_stepper.is_exec_started = 1; - } - } else pause(STEERING); - } - } else pause(STEERING); - } else stop(STEERING); -} + // Set step variables to default. + stepper->steps_remaining = 0; + stepper->direction = false; -uint32_t obtain_current_angle(){ - uint32_t angle = 0; - float f_angle = -steering_stepper.current_angle/STEER_RATIO >= 0.0f ? - steering_stepper.current_angle/steering_stepper.MAX_ANGLE: - steering_stepper.current_angle/steering_stepper.MIN_ANGLE; - angle = serialize_float(f_angle); - return angle; + if(configure_stepper_timer_channel(stepper->step_timer, step_timer_channel) == HAL_ERROR{ + return HAL_ERROR; + } } - -float get_current_pos(){ - return steering_stepper.current_angle >= 0.0f ? - -steering_stepper.current_angle/steering_stepper.MIN_ANGLE: - -steering_stepper.current_angle/steering_stepper.MAX_ANGLE; +HAL_TIM_ActiveChannel get_tim_active_channel(uint32_t channel) { + switch (channel) { + case TIM_CHANNEL_1: + return HAL_TIM_ACTIVE_CHANNEL_1; + case TIM_CHANNEL_2: + return HAL_TIM_ACTIVE_CHANNEL_2; + case TIM_CHANNEL_3: + return HAL_TIM_ACTIVE_CHANNEL_3; + case TIM_CHANNEL_4: + return HAL_TIM_ACTIVE_CHANNEL_4; + default: + // TODO Determine a better default case. + return HAL_TIM_ACTIVE_CHANNEL_5; + } } +void stepper_irq_callback(Stepper *stepper, TIM_HandleTypeDef *htim); +{ + // We assume that this has been called from stepper->step_timer interrupt. + // We only need to check if interrupt has been fired for the correct channel. + + if (stepper->config.step_timer != htim || + htim->Channel != + get_tim_active_channel(stepper->config.step_timer_channel)) { + // This irq was not fired for this stepper. + return; + } -void set_setpoint(const stepper_type stepper, float setpoint){ - uint8_t direction = IDLE; - float error = 0; - - switch(stepper) - { - case STEERING: - // setpoint: [-1,1] - if(setpoint >= 0) - steering_stepper.desired_angle = -setpoint*steering_stepper.MAX_ANGLE; // To account for gear counter rotation - else - steering_stepper.desired_angle = -setpoint*steering_stepper.MIN_ANGLE; // To account for gear counter rotation - - error = steering_stepper.desired_angle - steering_stepper.current_angle; - - direction = fabsf(error) < steering_stepper.STEPPER_OFFSET ? IDLE:error > 0? CW:CCW; - - steer_by_setpoint(direction, error); - break; - case BRAKING: - // setpoint: [0,1] - - braking_stepper.desired_angle = setpoint*braking_stepper.MAX_ANGLE; - error = braking_stepper.desired_angle - braking_stepper.current_angle; + // Update stepper position from pulse + if (stepper->direction) { + stepper->position++; + } else { + stepper->position--; + } - direction = fabsf(error) < braking_stepper.STEPPER_OFFSET ? IDLE:error > 0? CW:CCW; + if (stepper_at_setpoint(stepper)) { + // We have reached setpoint, stop stepper. + HAL_TIM_PWM_Stop_IT(stepper->config.step_timer, + stepper->config.step_timer_channel); + } +} - brake_by_setpoint(direction, error); - break; - } +bool stepper_at_setpoint(Stepper *stepper) { + return abs(stepper->position - stepper->setpoint) <= + stepper->config.step_deadband; } -void steer_by_setpoint(uint8_t direction, float error) -{ - if(steering_stepper.is_active) - { - if(direction != IDLE) - { - if(steering_stepper.direction != direction) - { - steering_stepper.direction = direction; - HAL_GPIO_WritePin(GPIOC, STPR_DIR_1_Pin, direction); - } - if(fabsf(error) > steering_stepper.STEPPER_OFFSET) - { - // Start execution - if(!steering_stepper.is_exec_started) - { - HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); - steering_stepper.is_exec_started = 1; - } - } else pause(STEERING); - } else pause(STEERING); - } else stop(STEERING); +void stepper_enable(Stepper *stepper) { + HAL_GPIO_WritePin(stepper->config.enable_port, stepper->config.enable_pin, + GPIO_PIN_SET); } -void brake_by_setpoint(uint8_t direction, float error) -{ +void stepper_disable(Stepper *stepper) { + HAL_GPIO_WritePin(stepper->config.enable_port, stepper->config.enable_pin, + GPIO_PIN_RESET); +} - if (braking_stepper.is_active) - { - if (direction != IDLE) - { - if (braking_stepper.direction != direction) - { - braking_stepper.direction = direction; - HAL_GPIO_WritePin(STPR_DIR_1_GPIO_Port, STPR_DIR_1_Pin, direction); // Temp Steering - // HAL_GPIO_WritePin(GPIOC, STPR_DIR_1_Pin, direction); - } +void stepper_update(Stepper *stepper, int32_t encoder_step_value) { + if (stepper->config.enable_encoder_correction) { + stepper->position = encoder_set_value; + } - if (fabsf(error) > braking_stepper.STEPPER_OFFSET) - { - // Start execution - if (!braking_stepper.is_exec_started) - { - HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); // Temp Steering - // HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4); - braking_stepper.is_exec_started = 1; - } - } - else - pause(BRAKING); - } - else - pause(BRAKING); - } - else - stop(BRAKING); -} + if (stepper_at_setpoint(stepper)) { + // Stepper is already at setpoint, nothing to do here. + return; + } -void update_stepper_pos(const stepper_type stepper) -{ - switch (stepper) - { - case STEERING: - steering_stepper.current_angle = -ifm_encoder.absolute_angle * STEER_RATIO; // - To account for gear counter rotation - break; - case BRAKING: - braking_stepper.current_angle = briter_encoder.absolute_angle * (PEDAL_LENGTH / PULLEY_RADIUS); // REQUIRED RELATIONSHIP FROM PULLEY TO BRAKE ANGLE - break; - } -} -/* -void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) -{ - if (htim->Instance == TIM2) { - //steering_stepper.current_step++; - //HAL_GPIO_TogglePin(GPIOA, DEBUG_2_Pin); + // We need to move stepper, set and determine direction pin. + if (position - setpoint < 0) { + HAL_GPIO_WritePin(stepper->config.direction_port, + stepper->config.direction_pin, + stepper->config.invert ? GPIO_PIN_SET : GPIO_PIN_RESET); + } else { + HAL_GPIO_WritePin(stepper->config.direction_port, + stepper->config.direction_pin, + stepper->config.invert ? GPIO_PIN_RESET : GPIO_PIN_SET); } -} -*/ + + HAL_TIM_PWM_Start(stepper->config.step_timer, + stepper->config.step_timer_channel); +} \ No newline at end of file diff --git a/SteeringVanttec/libs/stepper_lib/stepper.h b/SteeringVanttec/libs/stepper_lib/stepper.h index e5af959..4d47506 100644 --- a/SteeringVanttec/libs/stepper_lib/stepper.h +++ b/SteeringVanttec/libs/stepper_lib/stepper.h @@ -1,68 +1,75 @@ /* - * stepper.h - * - * Created on: Mar 7, 2023 - * Author: saveasmtz + * Author: Abiel */ #ifndef INC_STEPPER_H #define INC_STEPPER_H -#include "main.h" -#include "cmsis_os.h" -#include "stdlib.h" -#include "encoder.h" +#include "stm32l4xx_hal.h" -extern TIM_HandleTypeDef htim2; -extern encoder ifm_encoder; -extern encoder briter_encoder; +/* +A timer channel is configured in PWM mode, where a pulse of arbitrary length is +defined. Once pulse has been finsihed, HAL_TIM_OC_DelayElapsedCallback interrupt +is called. Here, it is determined if we should pulse the stepper again. + +NOTE: This does not configure timer. Timer should be configured as +TIM_COUNTERMODE_DOWN. +*/ + +typedef struct { + bool enable_encoder_correction; + bool enable_soft_limit; -typedef enum { - STEERING, - BRAKING -} stepper_type; + // Once limit has been reached, motor will stop moving. + // Setpoints that exceed step count, will be clamped. + int32_t max_steps; + int32_t min_steps; -typedef enum { - CONTROLLER, - AUTONOMOUS -} stepper_mode; + // If error is within tolerance, stepper will not move. + int32_t step_deadband; -typedef enum { - CW, // Clock-Wise - CCW, // Counter Clock-Wise - IDLE // No direction -} stepper_direction; + TIM_HandleTypeDef *step_timer; + uint32_t step_timer_channel; + + GPIO_TypeDef *enable_port; + uint16_t enable_pin; + + GPIO_TypeDef *direction_port; + uint16_t direction_pin; + bool invert; + + // For now, we only support a fixed pulse length. + uint32_t pulse_length; +} StepperConfiguration; typedef struct { - uint8_t is_active; //0: inactive, 1: active - uint8_t is_exec_started; - stepper_mode mode; - stepper_direction direction; - - float MAX_ANGLE; // Degrees - float MIN_ANGLE; // Degrees - float current_angle; // Degrees - float desired_angle; // Degrees - - float STEPPER_OFFSET; // Offset to stop spinning - -} stepper; - -void configure_steering(); -void configure_braking(); -void start(const stepper_type stepper); -void pause(const stepper_type stepper); -void stop(const stepper_type stepper); -void steer(uint8_t direction); -void set_setpoint(const stepper_type stepper, float setpoint); -uint32_t obtain_current_angle(); -float get_current_pos(); - -void steer_by_setpoint(uint8_t direction, float error); -void brake_by_setpoint(uint8_t direction, float error); -void update_stepper_pos(const stepper_type stepper); - -//void stepping_by_pwm(stepper *stpr, stepper_type id); -//void stepping_by_steps(stepper *stpr, stepper_type id); + bool enabled; + + int32_t position; + int32_t setpoint; + + // If true, motor pulses will increase step count. + bool direction; + + stepper_configuration config; +} Stepper; + +void create_default_stepper_config(StepperConfiguration *config); + +HAL_StatusTypeDef stepper_initialize(Stepper *stepper, + int32_t initial_position); + +void stepper_enable(Stepper *stepper); +void stepper_disable(Stepper *stepper); + +// Must be called in a task, this handles timers, updating from encoder values +// (if enabled). Setpoint must be given on update. +void stepper_update(Stepper *stepper, int32_t encoder_step_value); + +bool stepper_at_setpoint(Stepper *stepper); + +// This must be called from HAL_TIM_PWM_PulseFinishedCallback such that we can +// determine if stepper should be pulsed. +void stepper_irq_callback(Stepper *stepper, TIM_HandleTypeDef *htim); #endif /* INC_STEPPER_H */ From 38cf6c1d8d07749d1719ebc23ebe8edd9fbcdb42 Mon Sep 17 00:00:00 2001 From: romi2002 Date: Wed, 6 Mar 2024 02:05:01 -0600 Subject: [PATCH 03/31] Removed old tasks from main --- SteeringVanttec/.cproject | 16 +- SteeringVanttec/.mxproject | 4 +- .../.settings/language.settings.xml | 25 - SteeringVanttec/Core/Inc/main.h | 36 +- SteeringVanttec/Core/Inc/stm32l4xx_hal_conf.h | 2 +- SteeringVanttec/Core/Inc/stm32l4xx_it.h | 3 +- SteeringVanttec/Core/Src/main.c | 1275 ++++++++--------- SteeringVanttec/Core/Src/requirements.c | 257 ++-- SteeringVanttec/Core/Src/stm32l4xx_hal_msp.c | 21 +- .../Core/Src/stm32l4xx_hal_timebase_tim.c | 64 +- SteeringVanttec/Core/Src/stm32l4xx_it.c | 33 +- SteeringVanttec/SteeringVanttec.ioc | 105 +- SteeringVanttec/cmake/st-project.cmake | 46 +- SteeringVanttec/libs/stepper_lib/encoder.c | 28 - SteeringVanttec/libs/stepper_lib/encoder.h | 26 - SteeringVanttec/libs/stepper_lib/stepper.c | 19 +- SteeringVanttec/libs/stepper_lib/stepper.h | 4 +- .../libs/stepper_lib/stepper_tasks.c | 297 ---- .../libs/stepper_lib/stepper_tasks.h | 17 - 19 files changed, 943 insertions(+), 1335 deletions(-) delete mode 100644 SteeringVanttec/.settings/language.settings.xml delete mode 100644 SteeringVanttec/libs/stepper_lib/encoder.c delete mode 100644 SteeringVanttec/libs/stepper_lib/encoder.h delete mode 100644 SteeringVanttec/libs/stepper_lib/stepper_tasks.c delete mode 100644 SteeringVanttec/libs/stepper_lib/stepper_tasks.h diff --git a/SteeringVanttec/.cproject b/SteeringVanttec/.cproject index 766c371..87ded96 100644 --- a/SteeringVanttec/.cproject +++ b/SteeringVanttec/.cproject @@ -23,7 +23,8 @@