revert mutex, fix state reset, logging, slower
stepsRemaining not necessary in ISR comment out forced stop at runAbs statusPrev not needed TODO: ISR defines state every time, no need to adjust manually while running adjust calc function to handle remaining steps Test: broken - slow moves mork but when "extending" movement it just vibrates
This commit is contained in:
@@ -23,7 +23,7 @@ extern "C"
|
||||
#define STEPPER_TEST_TRAVEL 65 //mm
|
||||
//
|
||||
#define MIN_MM 0
|
||||
#define MAX_MM 60
|
||||
#define MAX_MM 110 //60
|
||||
#define POS_MAX_STEPS MAX_MM * STEPPER_STEPS_PER_MM
|
||||
#define POS_MIN_STEPS MIN_MM * STEPPER_STEPS_PER_MM
|
||||
|
||||
@@ -31,10 +31,11 @@ extern "C"
|
||||
#define SPEED_MIN 2.0 //mm/s
|
||||
#define SPEED_MAX 60.0 //mm/s
|
||||
|
||||
#define ACCEL_MS 100.0 //ms from 0 to max
|
||||
#define DECEL_MS 90.0 //ms from max to 0
|
||||
#define SPEED 10 //35, 100, 50 rev
|
||||
#define ACCEL_MS 600.0 //ms from 0 to max
|
||||
#define DECEL_MS 1000.0 //ms from max to 0
|
||||
|
||||
#define STEPPER_STEPS_PER_ROT 800
|
||||
#define STEPPER_STEPS_PER_ROT 1600
|
||||
#define STEPPER_STEPS_PER_MM STEPPER_STEPS_PER_ROT/4
|
||||
|
||||
#define D_CABLE 6
|
||||
@@ -252,7 +253,7 @@ void task_stepper_ctl(void *pvParameter)
|
||||
ESP_LOGD(TAG, "cablelen=%.2lf, turns=%.2lf, travelMm=%.3lf, travelStepsExact: %.3lf, travelStepsFull=%d, partialStep=%.3lf", cableLen, turns, travelMm, travelStepsExact, travelStepsFull, travelStepsPartial);
|
||||
ESP_LOGI(TAG, "MOVING %d steps", travelStepsFull);
|
||||
//TODO: calculate variable speed for smoother movement? for example intentionally lag behind and calculate speed according to buffered data
|
||||
step.setSpeedMm(35, 100, 50);
|
||||
step.setSpeedMm(SPEED, ACCEL_MS, DECEL_MS);
|
||||
//testing: get speed from poti
|
||||
//step.setSpeedMm(35, 1000*potiModifier+1, 1000*potiModifier+1);
|
||||
travelSteps(travelStepsExact);
|
||||
|
||||
@@ -98,7 +98,7 @@ extern "C" void app_main()
|
||||
xTaskCreate(task_control, "task_control", configMINIMAL_STACK_SIZE * 3, NULL, 5, NULL);
|
||||
|
||||
//create task for controlling the machine
|
||||
xTaskCreate(task_stepper_ctl, "task_stepper_ctl", configMINIMAL_STACK_SIZE * 3, NULL, 5, NULL);
|
||||
xTaskCreate(task_stepper_ctl, "task_stepper_ctl", configMINIMAL_STACK_SIZE * 5, NULL, 5, NULL);
|
||||
|
||||
//create task for handling the buzzer
|
||||
xTaskCreate(&task_buzzer, "task_buzzer", 2048, NULL, 2, NULL);
|
||||
|
||||
Reference in New Issue
Block a user