floatspeedfactorLow=1;//how much position units (mm) per second at pwm=100. speedfactorLow for position at 0
floatspeedfactorHigh=1;//speedfactorHigh for position at 1000 mm. gets extrapolated above
floatspeedfactor_factor_updirection=1;//when moving up, how much to change the estimated position change (speed). when going slower in up direction, choose value below 1.0
floatspeedfactor_factor_updirection=1.0;//when moving up, how much to change the estimated position change (speed). when going slower in up direction, choose value below 1.0
intsense_clear_lower;//adc value lower limit for clear part. clear is around 70
intsense_clear_upper;//adc value upper limit for clear part
@ -212,7 +212,7 @@ void setup() {
blind1.sense_end_upper=1024;
blind1.speedfactorLow=28.7;
blind1.speedfactorHigh=25.3;
blind1.speedfactor_factor_updirection=0.97;//down: 2306mm in 94s ,up: 97s
blind1.speedfactor_factor_updirection=0.80;//down: 2306mm in 94s ,up: 97s
blind1.start_first_clear=27;
blind1.simulated_acc_dec=-120;
blind1.simulated_acc_inc=200;
@ -231,7 +231,7 @@ void setup() {
blind2.sense_end_upper=1024;
blind2.speedfactorLow=27.6;
blind2.speedfactorHigh=23.5;
blind2.speedfactor_factor_updirection=0.97;
blind2.speedfactor_factor_updirection=0.8;
blind2.start_first_clear=27;
blind2.simulated_acc_dec=-120;
blind2.simulated_acc_inc=200;
@ -280,11 +280,17 @@ void loopHandler() {
//Manual movement by button
//TODO: button handler. long press both, double press. etc.
//hold button down at startup for failsafe mode (manual drive by button press. ignore sensors)
//normal operation: Hold button for 5sec - reset & find end
// tap button once - drive up until pressed again
// tap button twice - drive down until pressed again (for left and right blind resp.)