Disable debug output, Remove impl. without timer
disable debug task remove software implementation of stepper control
This commit is contained in:
parent
e8e1070bd1
commit
3488281502
@ -94,9 +94,8 @@ extern "C" void app_main()
|
|||||||
|
|
||||||
#ifdef STEPPER_TEST
|
#ifdef STEPPER_TEST
|
||||||
//create task for stepper testing
|
//create task for stepper testing
|
||||||
//xTaskCreate(task_stepperCtrlSw, "task stepper control software", configMINIMAL_STACK_SIZE * 3, NULL, configMAX_PRIORITIES - 1, NULL);
|
|
||||||
xTaskCreate(task_stepper_test, "task_stepper_test", configMINIMAL_STACK_SIZE * 3, NULL, 2, NULL);
|
xTaskCreate(task_stepper_test, "task_stepper_test", configMINIMAL_STACK_SIZE * 3, NULL, 2, NULL);
|
||||||
xTaskCreate(task_stepper_debug, "task_stepper_test", configMINIMAL_STACK_SIZE * 3, NULL, 2, NULL);
|
//xTaskCreate(task_stepper_debug, "task_stepper_test", configMINIMAL_STACK_SIZE * 3, NULL, 2, NULL);
|
||||||
#else
|
#else
|
||||||
//create task for controlling the machine
|
//create task for controlling the machine
|
||||||
xTaskCreate(task_control, "task_control", configMINIMAL_STACK_SIZE * 3, NULL, 4, NULL);
|
xTaskCreate(task_control, "task_control", configMINIMAL_STACK_SIZE * 3, NULL, 4, NULL);
|
||||||
|
@ -54,57 +54,6 @@ static uint32_t accel_increment = STEPPER_ACCEL_INC;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//===============================
|
|
||||||
//=== software - control task ===
|
|
||||||
//===============================
|
|
||||||
//stepper driver in software for testing (no timer/interrupt):
|
|
||||||
uint64_t stepsTarget = 0;
|
|
||||||
void task_stepperCtrlSw(void *pvParameter)
|
|
||||||
{
|
|
||||||
uint64_t stepsNow = 0;
|
|
||||||
int increment = 1;
|
|
||||||
|
|
||||||
while(1){
|
|
||||||
int64_t delta = stepsTarget - stepsNow;
|
|
||||||
|
|
||||||
//at position, nothing to do
|
|
||||||
if (delta == 0){
|
|
||||||
ESP_LOGW(TAG, "delta =0 waiting for change");
|
|
||||||
vTaskDelay(300 / portTICK_PERIOD_MS);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
//define direction
|
|
||||||
if (delta > 0){
|
|
||||||
gpio_set_level(STEPPER_DIR_PIN, 0);
|
|
||||||
increment = 1;
|
|
||||||
} else {
|
|
||||||
gpio_set_level(STEPPER_DIR_PIN, 1);
|
|
||||||
increment = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
//do one step
|
|
||||||
//note: triggers watchdog at long movements
|
|
||||||
stepsNow += increment;
|
|
||||||
gpio_set_level(STEPPER_STEP_PIN, 1);
|
|
||||||
ets_delay_us(30);
|
|
||||||
gpio_set_level(STEPPER_STEP_PIN, 0);
|
|
||||||
ets_delay_us(90); //speed
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//=================================
|
|
||||||
//=== software - set target pos ===
|
|
||||||
//=================================
|
|
||||||
void stepperSw_setTargetSteps(uint64_t target){
|
|
||||||
stepsTarget = target;
|
|
||||||
char buffer[20];
|
|
||||||
snprintf(buffer, sizeof(buffer), "%" PRIu64, target);
|
|
||||||
ESP_LOGW(TAG, "set target steps to %s", buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//======================
|
//======================
|
||||||
//===== DEBUG task =====
|
//===== DEBUG task =====
|
||||||
//======================
|
//======================
|
||||||
@ -137,6 +86,7 @@ void task_stepper_debug(void *pvParameter){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//=====================
|
//=====================
|
||||||
//===== set speed =====
|
//===== set speed =====
|
||||||
//=====================
|
//=====================
|
||||||
@ -147,6 +97,7 @@ void stepper_setSpeed(uint32_t speedMmPerS) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//==========================
|
//==========================
|
||||||
//== set target pos STEPS ==
|
//== set target pos STEPS ==
|
||||||
//==========================
|
//==========================
|
||||||
@ -166,6 +117,7 @@ void stepper_setTargetPosSteps(uint64_t target_steps) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//=========================
|
//=========================
|
||||||
//=== set target pos MM ===
|
//=== set target pos MM ===
|
||||||
//=========================
|
//=========================
|
||||||
|
@ -6,10 +6,8 @@ void stepper_init();
|
|||||||
void stepper_setTargetPosSteps(uint64_t steps);
|
void stepper_setTargetPosSteps(uint64_t steps);
|
||||||
//set absolute target position in millimeters
|
//set absolute target position in millimeters
|
||||||
void stepper_setTargetPosMm(uint32_t posMm);
|
void stepper_setTargetPosMm(uint32_t posMm);
|
||||||
|
//set target speed in millimeters per second
|
||||||
|
void stepper_setSpeed(uint32_t speedMmPerS);
|
||||||
|
|
||||||
//task that periodically logs variables for debugging stepper driver
|
//task that periodically logs variables for debugging stepper driver
|
||||||
void task_stepper_debug(void *pvParameter);
|
void task_stepper_debug(void *pvParameter);
|
||||||
|
|
||||||
//control stepper without timer (software)
|
|
||||||
void task_stepperCtrlSw(void *pvParameter);
|
|
||||||
void stepperSw_setTargetSteps(uint64_t target);
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user