diff --git a/libs/core/_locales/core-jsdoc-strings.json b/libs/core/_locales/core-jsdoc-strings.json index 9a42e63d..b387c8c9 100644 --- a/libs/core/_locales/core-jsdoc-strings.json +++ b/libs/core/_locales/core-jsdoc-strings.json @@ -20,6 +20,8 @@ "input.remoteTopRight": "Remote top-right button.", "output.createBuffer": "Create a new zero-initialized buffer.", "output.createBuffer|param|size": "number of bytes in the buffer", + "output.getCurrentSpeed": "Get motor speed.", + "output.getCurrentSpeed|param|out": "the output connection that the motor is connected to", "output.getPattern": "Pattern block.", "output.getPattern|param|pattern": "the lights pattern to use. eg: LightsPattern.Green", "output.setLights": "Set lights.", diff --git a/libs/core/_locales/core-strings.json b/libs/core/_locales/core-strings.json index 0b8164cb..2f47f98d 100644 --- a/libs/core/_locales/core-strings.json +++ b/libs/core/_locales/core-strings.json @@ -16,13 +16,14 @@ "input.remoteTopLeft|block": "remote top-left", "input.remoteTopRight|block": "remote top-right", "input|block": "input", + "output.getCurrentSpeed|block": "motor %out|speed", "output.getPattern|block": "%pattern", "output.setLights|block": "set status light %pattern=led_pattern", "output.setPower|block": "set motor %out| power to %power", "output.setSpeed|block": "set motor %out| speed to %speed", - "output.start|block": "turn motor %out| on", - "output.stop|block": "turn motor %out| off", - "output.turn|block": "turn motor %out| on for %ms| milliseconds", + "output.start|block": "turn motor %out|on", + "output.stop|block": "turn motor %out|off", + "output.turn|block": "turn motor %out| on for %ms|milliseconds", "output|block": "output", "screen.drawText|block": "print %text| at x: %x| y: %y", "screen|block": "screen", diff --git a/libs/core/output.ts b/libs/core/output.ts index 0972f290..ec168af1 100644 --- a/libs/core/output.ts +++ b/libs/core/output.ts @@ -60,7 +60,7 @@ namespace output { * @param ms the number of milliseconds to turn the motor on, eg: 500 * @param useBrake whether or not to use the brake, defaults to false */ - //% blockId=output_turn block="turn motor %out| on for %ms| milliseconds" + //% blockId=output_turn block="turn motor %out| on for %ms|milliseconds" //% weight=100 group="Motors" export function turn(out: Output, ms: number, useBrake = false) { // TODO: use current power / speed configuration @@ -77,7 +77,7 @@ namespace output { * Turn motor off. * @param out the output connection that the motor is connected to */ - //% blockId=output_stop block="turn motor %out| off" + //% blockId=output_stop block="turn motor %out|off" //% weight=90 group="Motors" export function stop(out: Output, useBrake = false) { let b = mkCmd(out, DAL.opOutputStop, 1) @@ -89,7 +89,7 @@ namespace output { * Turn motor on. * @param out the output connection that the motor is connected to */ - //% blockId=output_start block="turn motor %out| on" + //% blockId=output_start block="turn motor %out|on" //% weight=95 group="Motors" export function start(out: Output) { let b = mkCmd(out, DAL.opOutputStart, 0) @@ -135,6 +135,16 @@ namespace output { } } + /** + * Get motor speed. + * @param out the output connection that the motor is connected to + */ + //% blockId=output_getCurrentSpeed block="motor %out|speed" + //% weight=70 group="Motors" + export function getCurrentSpeed(out: Output) { + return getMotorData(out).actualSpeed; + } + /** * Set motor speed. * @param out the output connection that the motor is connected to