Snap backwards (#923)
* snap to multiple of 5 * normalize negative values
This commit is contained in:
parent
8047cb2612
commit
e862869327
@ -76,9 +76,12 @@ export class FieldSpeed extends Blockly.FieldSlider implements Blockly.FieldCust
|
||||
};
|
||||
|
||||
setReadout_(readout: Element, value: string) {
|
||||
this.updateSpeed(parseFloat(value));
|
||||
let x = parseFloat(value) || 0;
|
||||
// snap on multiple of 5
|
||||
x = Math.round(x / 5) * 5;
|
||||
this.updateSpeed(x);
|
||||
// Update reporter
|
||||
this.reporter.textContent = `${value}%`;
|
||||
this.reporter.textContent = `${x}%`;
|
||||
}
|
||||
|
||||
private updateSpeed(speed: number) {
|
||||
|
@ -301,9 +301,17 @@ namespace motors {
|
||||
case MoveUnit.Rotations:
|
||||
scale = 360;
|
||||
r.useSteps = true;
|
||||
if (r.steps[1] < 0) {
|
||||
r.speed = -r.speed;
|
||||
r.steps[1] = -r.steps[1];
|
||||
}
|
||||
break;
|
||||
case MoveUnit.Degrees:
|
||||
r.useSteps = true;
|
||||
if (r.steps[1] < 0) {
|
||||
r.speed = -r.speed;
|
||||
r.steps[1] = -r.steps[1];
|
||||
}
|
||||
break;
|
||||
case MoveUnit.Seconds:
|
||||
scale = 1000;
|
||||
@ -741,10 +749,18 @@ namespace motors {
|
||||
let stepsOrTime: number;
|
||||
switch (unit) {
|
||||
case MoveUnit.Rotations:
|
||||
if (value < 0) {
|
||||
value = -value;
|
||||
speed = -speed;
|
||||
}
|
||||
stepsOrTime = (value * 360) >> 0;
|
||||
useSteps = true;
|
||||
break;
|
||||
case MoveUnit.Degrees:
|
||||
if (value < 0) {
|
||||
value = -value;
|
||||
speed = -speed;
|
||||
}
|
||||
stepsOrTime = value >> 0;
|
||||
useSteps = true;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user