     shiftPlanned();
     calcPlanned();
     unlockTimer();
-    _sys.minTime = fmax(25, 25 / (_sys.points[0].speed / 100));
-    _sys.maxTime = fmin(_sys.defaultTime, _sys.defaultTime / (_sys.points[0].exitSpeed / 50));
+    firePower(_sys.points[0].power);
+    _sys.minTime = fmax(25, 100.0 / (_sys.points[0].speed / 100.0));
+    _sys.maxTime = fmin(_sys.defaultTime, _sys.defaultTime / (_sys.points[0].exitSpeed / 50.0));
 }
 void waitingPushPoint()
 {

}
void stepY(bool dir)
{
    // #ifdef DEBUG
    //     String str = "ty:";
    //     str += _sys.currentPosition[1];
    //     str += " - ";
    //     str += _sys.points[0].totalCount;
    //     Serial.println(str);
    // #endif
    _sys.currentPosition[1] += dir ? 1 : -1;
    _sys.points[0].delta[1]--;
    _sys.points[0].totalCount--;

}
void stepX(bool dir)
{
    _sys.currentPosition[0] += dir ? 1 : -1;
    _sys.points[0].delta[0]--;
    _sys.points[0].totalCount--;
