From e50c88008a6733fa38936e354fc41edd7e3a0661 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Tue, 16 Jan 2018 17:05:57 -0800 Subject: [PATCH] updated gyrobox --- docs/examples/core-set/gyroboy-blocks.md | 8 ++--- libs/mood/_locales/mood-jsdoc-strings.json | 1 + libs/mood/_locales/mood-strings.json | 2 +- libs/mood/mood.ts | 35 ++++++++++++-------- libs/music/_locales/music-jsdoc-strings.json | 2 +- libs/music/music.cpp | 8 ++--- libs/music/shims.d.ts | 4 +-- 7 files changed, 35 insertions(+), 25 deletions(-) diff --git a/docs/examples/core-set/gyroboy-blocks.md b/docs/examples/core-set/gyroboy-blocks.md index 0fd36b13..bb56d0b1 100644 --- a/docs/examples/core-set/gyroboy-blocks.md +++ b/docs/examples/core-set/gyroboy-blocks.md @@ -139,12 +139,12 @@ function computeTimestep() { control.timer3.reset() } sensors.color1.onColorDetected(ColorSensorColor.Green, function () { - music.playTone(2000, 100) + moods.winking.show() controlDrive = 150 controlSteering = 0 }) sensors.color1.onColorDetected(ColorSensorColor.Blue, function () { - music.playTone(2000, 100) + moods.middleRight.show() controlSteering = 70 }) // apply power to motors @@ -153,11 +153,11 @@ function controlMotors() { motors.largeD.setSpeed(power - controlSteering * 0.1) } sensors.color1.onColorDetected(ColorSensorColor.Yellow, function () { - music.playTone(2000, 100) + moods.middleLeft.show() controlSteering = -70 }) sensors.color1.onColorDetected(ColorSensorColor.White, function () { - music.playTone(2000, 100) + moods.sad.show(); controlDrive = -75 }) timestep = 0.014 diff --git a/libs/mood/_locales/mood-jsdoc-strings.json b/libs/mood/_locales/mood-jsdoc-strings.json index 705f1aad..70e393d2 100644 --- a/libs/mood/_locales/mood-jsdoc-strings.json +++ b/libs/mood/_locales/mood-jsdoc-strings.json @@ -1,6 +1,7 @@ { "brick.Mood": "A mood", "brick.Mood.show": "Shows the mood on the EV3", + "brick.showMood": "Shows a mood", "moods.angry": "An angry mood", "moods.awake": "A awake mood", "moods.dizzy": "A dizzy mood", diff --git a/libs/mood/_locales/mood-strings.json b/libs/mood/_locales/mood-strings.json index 4a5c3725..a7a91786 100644 --- a/libs/mood/_locales/mood-strings.json +++ b/libs/mood/_locales/mood-strings.json @@ -1,5 +1,5 @@ { - "brick.Mood.show|block": "show mood %mood=mood_image_picker", + "brick.showMood|block": "show mood %mood=mood_image_picker", "brick|block": "brick", "moods|block": "moods", "{id:category}Brick": "Brick", diff --git a/libs/mood/mood.ts b/libs/mood/mood.ts index c7495ef3..75e372cc 100644 --- a/libs/mood/mood.ts +++ b/libs/mood/mood.ts @@ -1,12 +1,23 @@ namespace brick { + /** + * Shows a mood + */ + //% weight=90 + //% blockId=moodShow block="show mood %mood=mood_image_picker" + //% weight=101 group="Screen" blockGap=8 + export function showMood(mood: Mood) { + if(mood) + mood.show(); + } + /** * A mood */ //% fixedInstances export class Mood { - image: Image; - sound: Sound; - light: BrickLight; + private image: Image; + private sound: Sound; + private light: BrickLight; constructor(image: Image, sound: Sound, light: BrickLight) { this.image = image; @@ -17,13 +28,11 @@ namespace brick { /** * Shows the mood on the EV3 */ - //% weight=90 - //% blockId=moodShow block="show mood %mood=mood_image_picker" - //% weight=101 group="Screen" blockGap=8 show() { brick.setLight(this.light); brick.showImage(this.image); music.playSoundEffectUntilDone(this.sound); + loops.pause(20); } } @@ -38,7 +47,7 @@ namespace brick { //% group="Screen" weight=0 blockHidden=1 export function __moodImagePicker(mood: Mood): Mood { return mood; - } + } } namespace moods { @@ -59,7 +68,7 @@ namespace moods { */ //% fixedInstance jres=images.eyesTiredMiddle export const tired = new brick.Mood(images.eyesTiredMiddle, sounds.expressionsSneezing, BrickLight.OrangeFlash); - + /** * An angry mood */ @@ -83,30 +92,30 @@ namespace moods { */ //% fixedInstance jres=images.eyesKnockedOut export const knockedOut = new brick.Mood(images.eyesKnockedOut, sounds.informationError, BrickLight.RedFlash); - + /** * Looking around left */ //% fixedInstance jres=images.eyesMiddleLeft - export const middleLeft = new brick.Mood(images.eyesMiddleLeft, sounds.informationAnalyze, BrickLight.Off); + export const middleLeft = new brick.Mood(images.eyesMiddleLeft, sounds.informationAnalyze, BrickLight.Off); /** * Looking around right */ //% fixedInstance jres=images.eyesMiddleRight - export const middleRight = new brick.Mood(images.eyesMiddleRight, sounds.informationAnalyze, BrickLight.Off); + export const middleRight = new brick.Mood(images.eyesMiddleRight, sounds.informationAnalyze, BrickLight.Off); /** * In love mood */ //% fixedInstance jres=images.eyesLove - export const love = new brick.Mood(images.eyesLove, sounds.expressionsMagicWand, BrickLight.GreenPulse); + export const love = new brick.Mood(images.eyesLove, sounds.expressionsMagicWand, BrickLight.GreenPulse); /** * In laughing mood */ //% fixedInstance jres=images.eyesWinking - export const winking = new brick.Mood(images.eyesWinking, sounds.expressionsLaughing1, BrickLight.GreenFlash); + export const winking = new brick.Mood(images.eyesWinking, sounds.expressionsLaughing1, BrickLight.GreenFlash); /** * In a neutral mood diff --git a/libs/music/_locales/music-jsdoc-strings.json b/libs/music/_locales/music-jsdoc-strings.json index 7123cd20..d74921e4 100644 --- a/libs/music/_locales/music-jsdoc-strings.json +++ b/libs/music/_locales/music-jsdoc-strings.json @@ -23,7 +23,7 @@ "music.setTempo": "Set the tempo a number of beats per minute (bpm).", "music.setTempo|param|bpm": "The new tempo in beats per minute, eg: 120", "music.setVolume": "Set the output volume of the sound synthesizer.", - "music.setVolume|param|volume": "the volume 0...256, eg: 128", + "music.setVolume|param|volume": "the volume 0...100, eg: 50", "music.stopAllSounds": "Play a tone through the speaker for some amount of time.", "music.tempo": "Return the tempo in beats per minute (bpm).\nTempo is the speed (bpm = beats per minute) at which notes play. The larger the tempo value, the faster the notes will play." } \ No newline at end of file diff --git a/libs/music/music.cpp b/libs/music/music.cpp index 9939027a..fe36e452 100644 --- a/libs/music/music.cpp +++ b/libs/music/music.cpp @@ -13,7 +13,7 @@ namespace music { -uint8_t currVolume = 2; +uint8_t currVolume = 50; uint8_t *lmsSoundMMap; int writeDev(void *data, int size) { @@ -25,16 +25,16 @@ int writeDev(void *data, int size) { /** * Set the output volume of the sound synthesizer. -* @param volume the volume 0...256, eg: 128 +* @param volume the volume 0...100, eg: 50 */ //% weight=96 //% blockId=synth_set_volume block="set volume %volume" //% parts="speaker" blockGap=8 -//% volume.min=0 volume.max=256 +//% volume.min=0 volume.max=100 //% help=music/set-volume //% weight=1 void setVolume(int volume) { - currVolume = max(0, min(100, volume * 100 / 256)); + currVolume = max(0, min(100, volume)); } #define SOUND_CMD_BREAK 0 diff --git a/libs/music/shims.d.ts b/libs/music/shims.d.ts index a70e58b7..9a4a23cc 100644 --- a/libs/music/shims.d.ts +++ b/libs/music/shims.d.ts @@ -3,12 +3,12 @@ declare namespace music { /** * Set the output volume of the sound synthesizer. - * @param volume the volume 0...256, eg: 128 + * @param volume the volume 0...100, eg: 50 */ //% weight=96 //% blockId=synth_set_volume block="set volume %volume" //% parts="speaker" blockGap=8 - //% volume.min=0 volume.max=256 + //% volume.min=0 volume.max=100 //% help=music/set-volume //% weight=1 shim=music::setVolume function setVolume(volume: int32): void;