Pulling updates from master (#951)

* show ports on start

* don't run show ports automatically

* polarity in synched motor (#945)

* account for polarity

* more comments

* handle dual motor in runtime

* invert steer

* don't use firmware polarity

* add block to stop program (#943)

* add block to stop program

* renaming

* fix translation
This commit is contained in:
Peli de Halleux
2019-10-18 22:53:30 -07:00
committed by GitHub
parent 00194d4aa6
commit bc4b71e0d6
13 changed files with 97 additions and 50 deletions

View File

@ -9,7 +9,6 @@ namespace pxsim {
private angle: number = 0;
private tacho: number = 0;
private speed: number = 0;
private polarity: number = 1; // -1, 1 or -1
private started: boolean;
private speedCmd: DAL;
@ -31,7 +30,7 @@ namespace pxsim {
}
getSpeed() {
return Math.round(this.speed * (!this._synchedMotor && this.polarity == 0 ? -1 : 1));
return Math.round(this.speed);
}
getAngle() {
@ -82,16 +81,6 @@ namespace pxsim {
return this.id == NodeType.LargeMotor;
}
setPolarity(polarity: number) {
// Either 1 or 255 (reverse)
/*
-1 : Motor will run backward
0 : Motor will run opposite direction
1 : Motor will run forward
*/
this.polarity = polarity;
}
reset() {
// not sure what reset does...
}

View File

@ -119,11 +119,7 @@ namespace pxsim {
return 2;
}
case DAL.opOutputPolarity: {
// reverse
const port = buf.data[1];
const polarity = pxsim.BufferMethods.getNumber(buf, BufferMethods.NumberFormat.Int8LE, 2);
const motors = ev3board().getMotor(port);
motors.forEach(motor => motor.setPolarity(polarity));
console.error("opOutputPolarity not supported");
return 2;
}
case DAL.opOutputSetType: {