Commit graph

315 commits

Author SHA1 Message Date
Eric Rosenbaum
7198ace595
Makey Makey extension (#1782)
* Initial working makey makey extension

* Cleanup and localization

* Add block icon

* Localization and cleanup

* Docs and cleanup

* Update block icon

* Cleanup

* Fix key press args
2018-11-29 10:45:40 -05:00
Eric Rosenbaum
f617723348 Add support for scratch 1.x MIDI drum blocks 2018-11-28 15:39:00 -05:00
Eric Rosenbaum
045ebb5026
Apply sprite's volume to music extension notes and drums (#1735)
* Use a gain node for volume instead of effects chain

* Use a gain node for volume for drums too
2018-11-26 11:46:25 -05:00
Evelyn Eastmond
53c165c2f6 Close Scratch Link web socket on every new peripheral scan attempt (#1696)
* Progress towards: #1671: Close web socket before making a new one for hardware extensions.

* Always disconnect before scanning for new peripheral.  Removing console logs.

* Removing unused test code.
2018-11-08 15:21:28 -05:00
Eric Rosenbaum
2cff4159bb
Use the new note picker field in music and EV3 extensions (#1720)
* Add note field type

* Note picker in music extension plays notes

* Use note picker in EV3 beep block
2018-11-07 11:50:15 -05:00
DD
91e2f3a935 Revert 1643 Confirm extension in use in sb2 serialization 2018-10-18 11:06:13 -04:00
Eric Rosenbaum
891f696570
Save and load the language setting for Text to Speech (#1670)
* Use scratch locales internally, with adapter for polly

* Save and load text2pseech language

* Only localize default input to “speak” if in a supported language
2018-10-17 17:34:12 -04:00
Katie Broida
899ce56214
Confirm extension in use in sb2 serialization (#1643)
Add a check when serializing sb2 projects to see whether an extension is actually in use in a block or a visible monitor.
2018-10-17 10:49:08 -04:00
apple502j
afd9549708
Remove "Don't translate Google" 2018-10-13 05:43:07 +09:00
Eric Rosenbaum
6ce061d55d
Text to Speech voices update (#1655)
* Change voice names to alto and tenor

* Adjust voice pitches

* Support dropped numbers for setting voice
2018-10-11 13:48:43 -04:00
Andrew Sliwinski
1dbf1894f6
Merge pull request #1652 from ericrosenbaum/feature/extension-icons
Add icons for Video Sensing, Translate and Text to Speech extensions
2018-10-10 16:42:57 -04:00
Eric Rosenbaum
cdbd7c9af2 Add text2speech icons 2018-10-10 14:09:34 -04:00
Eric Rosenbaum
9403449846 Add translate icons 2018-10-10 14:04:37 -04:00
Evelyn Eastmond
4534649367 Fixing locale string. 2018-10-10 11:49:07 -04:00
Evelyn Eastmond
d83bf20803 Fixing tilt direction menu locales. 2018-10-10 11:47:55 -04:00
Eric Rosenbaum
b5c5481de0 Add video sensing extension icons 2018-10-10 10:43:04 -04:00
Evelyn Eastmond
c9d4620f22 Fixing #1485: WeDo2/micro:bit block menus need localization. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
0d7cc66ad5 Changing menu names to include extension label. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
d7440f882d Fixing #1505: WeDo2 motor power between 0-30ish doesn't power the motor. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
7a7134e23c Fixing #1592: WeDo2 and EV3 should not send motor command when motor power is 0. 2018-10-05 11:08:20 -04:00
picklesrus
12ddc89514
Merge pull request #1612 from picklesrus/translate-language-menu
Reset the supported language list in getInfo. This works because refr…
2018-10-01 17:20:50 -04:00
Michael "Z" Goddard
353ad16132
jsdoc @type tag does not permit a description 2018-09-27 12:00:00 -04:00
Evelyn Eastmond
4583cb821b
Merge pull request #1611 from evhan55/fixes/hardware-extensions
Hardware extensions bug fixes
2018-09-25 20:42:30 -04:00
Florrie
744b01174b Add support for "midiInstrument:" block (#1329)
* Add midiInstrument: block

* Don't show midiInstrument block in palette

* Lint

* More lint
2018-09-25 17:33:09 -04:00
picklesrus
69132d17db Fix lint spacing error. 2018-09-25 16:24:32 -04:00
picklesrus
3193a4c1b4 Spacing changes. 2018-09-25 16:03:21 -04:00
picklesrus
5966a54500 Reset the supported language list in getInfo. This works because refreshBlocks is called
when the language gets changed. Fixes #1365.
2018-09-25 16:03:21 -04:00
Kreg Hanning
fa0af58c41 Make "display [Hello!] block yield until printing is done (#1599)
* Make "display [Hello!] block yield until printing is done

* Add 2 additional px to yield delay

* Add 3 more additional px for large chars
2018-09-25 14:56:29 -04:00
Evelyn Eastmond
a676970359
Merge pull request #1607 from evhan55/multiple-alerts
Show customized alerts on hardware extension peripheral errors.
2018-09-25 14:44:29 -04:00
Evelyn Eastmond
e6ea4d7f0c Removed promise chains that seemed unnecessary. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
6bd79369e4 Changing EV3 and WeDo2 default and block motor power values after discussion. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
e9b0cc768e Further fixes to 'button pressed?' on Microbit. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
4b2b82a224 Fixing #1364: Microbit 'button pressed?' block should return true/false. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
cfe7e45d8b Fixing #1538: wedo2 'set motor direction' block sometimes stops the motor. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
eabd7a5153 Changing default WeDo2 power arg to 50. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
03d05403fa Adding TODOs to _pollValues. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
3bdbbe3b8e Fixing #1566: Set default motor power for EV3 and WeDo2 to 50%. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
fe288902fa Fixing #1567: EV3 motor position reporter gets inverted. 2018-09-25 11:26:18 -04:00
Eric Rosenbaum
f467d2d01f
Change “monster” to “giant” and raise pitch (#1606) 2018-09-25 11:04:38 -04:00
Kreg Hanning
91d46bb92b Remove the word "test" (#1600) 2018-09-25 10:49:45 -04:00
Kreg Hanning
b81ba599db Trim whitespace in "display [♡]" input field (#1598) 2018-09-25 10:47:33 -04:00
picklesrus
b063226fd7
Merge pull request #1580 from picklesrus/speech-language
Send the language code of the project viewer to the server
2018-09-24 14:26:14 -07:00
Eric Rosenbaum
622aa0f2b0
Add “set language” block (#1610) 2018-09-24 17:16:10 -04:00
picklesrus
c9cc94b324 Send the language code of the project viewer to the server 2018-09-24 16:49:39 -04:00
Evelyn Eastmond
3c905503b7 Adding extension ids to customize error alerts for extensions. 2018-09-22 14:48:41 -04:00
Evelyn Eastmond
ad3328197e Testing adding message/extensionId passing into specific, custom alerts. 2018-09-22 14:04:37 -04:00
Evelyn Eastmond
96327c66f3 Passing custom alert messages with PERIPHERAL_ERROR. 2018-09-22 14:04:37 -04:00
Ray Schamp
e2c6c7667b
Merge pull request #1604 from ericrosenbaum/feature/listening-indicator
Add event to show and hide a mic indicator for Speech to Text
2018-09-21 09:24:59 -04:00
Eric Rosenbaum
f5edcfa3bb Update event name to MIC_LISTENING 2018-09-20 12:06:31 -04:00
Eric Rosenbaum
396d69743d request indicator update in resetListening 2018-09-20 09:45:22 -04:00
Kreg Hanning
06f64c0527 Rename block "display [Hello!]" to "display text [Hello!]" (#1597) 2018-09-19 11:16:16 -04:00
Eric Rosenbaum
e44eff48e3 Add mic indicator update event for speech2text 2018-09-18 10:58:49 -04:00
Eric Rosenbaum
64a1d3e02b
fix ids and names for text2speech and speech2text extensions (#1583) 2018-09-13 15:44:18 -04:00
picklesrus
77284d8117 Remove sound indicators at the start/end of listen block. Visual rep… (#1575)
* Remove sound indicators at the start/end of listen block.  Visual replacement coming soon.

* remove the sound files too.

* ... and the manifest too
2018-09-13 14:05:22 -04:00
Andrew Sliwinski
c00d70a470
Merge pull request #1573 from ericrosenbaum/feature/no-puppy
Bark bark woof ruff bark. Bark bark bark! (remove puppy voice)
2018-09-12 16:40:29 -04:00
Eric Rosenbaum
bdf27e20c5 Trim to 128 chars 2018-09-12 14:06:26 -04:00
Eric Rosenbaum
f58e9276e8 Cleanup 2018-09-12 13:49:29 -04:00
Eric Rosenbaum
6ac82f3183 bark bark woof ruff bark. bark bark bark! 2018-09-12 13:23:26 -04:00
Eric Rosenbaum
9df078b606
Remove branding from translate extension (#1569)
* Remove branding from translate extension

* Thoroughly remove block icon
2018-09-11 15:19:19 -04:00
Evelyn Eastmond
ec432e3b2f Refactor for hardware extensions (#1555)
* Beginning refactor: renaming 'device' to 'peripheral', shortening function names, reordering functions, etc.

* Continuing refactoring: renaming some functions to be more verbose in the runtime, adding JSDocs, etc.

* Changing 'device' to 'peripheral', etc.

* Changing 'session' to 'socket'.

* Fixing EV3 menus and menu arg validation, reordering functions, etc.

* Add _send, add some references to documentation, etc.

* Factored out _outputCommand and _inputCommand, renamed some enums, etc.

* Fixed _outputCommand, some other minor cleanup.

* Make _outputCommand and _inputCommand public.

* Added TODO.

* Renamed BLE UUID enums to be clearer.

* Change WeDo2 in comments to WeDo 2.0, etc.

* Changed some WeDo2Motor command names, cleaned up some JSDocs.

* Beginning a major EV3 refactor.

* WeDo2 formatting and comment changes.

* Motor refactoring in EV3: motorTurnClockwise and motorTurnCounterClockwise initial working state.

* Add reminders to possibly cast motor menu args in WeDo2.

* Continue to move motor commands in EV3 to EV3Motor class, don't create new EV3Motor on every poll cycle, etc.

* Factoring EV3 polling value commands, etc.

* Fixing EV3 motor power, position and button pressed, and some commenting, etc.

* Move EV3 motor position parsing to EV3Motor class, move directCommand and directCompoundCommand functions, some commenting, etc.

* Changed WeDo2 motor label enum name.

* Removed some EV3 motor functions that aren't needed, changed menu label enum names, moved some opcodes up to enums.

* Fixing comments and documentation.

* Some commenting.

* Adding further documentation and references to PDFs, changed reply check to be safer, etc.

* Some comment changes.

* Moving some functions around in EV3 and WeDo2 to match.

* Commenting, etc.

* Some renaming of session, etc.

* Fix stopAllMotors in EV3.

* Fixing clearing of motors in EV3.

* Some comment changes.

* Change runtime .extensions/registerExtension to .peripheralExtensions/registerPeripheralExtension.

* Renaming outputCommand/inputCommand to generateOutputCommand/generateInputCommand, etc.

* Moved motorCommandIDs to EV3Motor class, renamed directCommand to generateCommand, etc.

* Adding a reminder to rename something.

* JSDoc fix in EV3Motor class.

* Fixing microbit function name.

* Adding a todo item.

* Changing Ev3 menu formats to be backwards compatible, moving a BLE function up.

* Fixing EV3 ports again, and button pressed returning a boolean.

* Fixing menu value to be a string in EV3.
2018-09-07 17:01:23 -04:00
Eric Rosenbaum
36711931b2 Make a constant for speech volume 2018-09-05 18:36:01 -04:00
Eric Rosenbaum
fe746a7c43 Use map of soundPlayers for stop all 2018-09-04 21:12:45 -04:00
Eric Rosenbaum
fb7c293e71 Set volume of speech using effect chain 2018-09-04 21:12:04 -04:00
Eric Rosenbaum
5dfa4cc691 Text2speech set gain to 2 (6db) 2018-08-31 10:47:36 -04:00
Eric Rosenbaum
39be6d873c
Rate-limiting with a token bucket for the WeDo extension (#1540)
* Initial version of token bucket

* Add rateLimiter util

* Remove check for motor.isOn in stopAllMotors

* Fix unit test

* Fix unit test with stubbed timer, and cleanup

* Add comment

* Reduce WeDo rate limit to 20 sends/sec

* Move rate limit into a constant

* Stop button stops motors and tone even if rate limit exceeded
2018-08-29 17:37:59 -04:00
picklesrus
b95b8d41ff Fix #1395 by resetting the utterance we check for in the edge trigger hat on green flag (#1476) 2018-08-27 11:10:51 -04:00
picklesrus
b9a757ea08 Fix speech extension in Safari (#1202) by calling getUserMedia for every listen and wait block rather than trying to reuse it. Also get rid of some code that was not actually doing anything. (#1467) 2018-08-27 11:05:51 -04:00
Evelyn Eastmond
5320dfb676 WeDo2 backwards compatibility update (#1518)
* Resolving #1492: No longer trying to make WeDo2 backwards compatible with Scratch Link API v1.0.

* Closing the socket on all BLE/BT errors.

* Adding BT disconnection.
2018-08-22 17:45:26 -04:00
Eric Rosenbaum
d6831cf97d
Merge branch 'develop' into wedo2-fixes 2018-08-22 16:01:29 -04:00
Evelyn Eastmond
ab7f24bf9a WeDo2 rate limiting (#1509)
* Starting work on #1456: rate limiting.

* Fixing #1456: rate limit send messages.

* Chaining a couple of send operation Promises.

* Fixing linting.
2018-08-22 15:53:17 -04:00
Evelyn Eastmond
1f7d9d3b67 Revert "Attempting to fix #1492: WeDo2 use of should be backwards compatible."
This reverts commit ae28a0c1b86209c66dcdbe9b10e0df8c39be7e10.
2018-08-22 11:17:31 -04:00
Evelyn Eastmond
bfa4dfaac2 Attempting to fix #1492: WeDo2 use of should be backwards compatible. 2018-08-22 11:17:31 -04:00
Evelyn Eastmond
f4e9212249 Fixing #1504: WeDo2: Distance sensor not being cleared on device disconnect. 2018-08-22 11:17:31 -04:00
Evelyn Eastmond
3659973101 Fixing #1510: WeDo2 stop button gives console error if device not connected. 2018-08-22 11:17:31 -04:00
Evelyn Eastmond
2121a3be80 Some small EV3 fixes (#1494)
* Fixing #1353: Stop button should stop EV3 beep sound.

* Fixing #1358: EV3 and Microbit: shouldn't send requests if not connected?.

* Fixing #1373: EV3 motor does not brake at the end of a motor command.
2018-08-20 11:00:48 -04:00
Evelyn Eastmond
5395f9c321 WeDo2 changes for upcoming smoke test (#1493)
* Starting on #1491: use 'startNotifications' instead of 'read'.  Still need to make backwards compatible.

* Fixing #1489: WeDo2 set light color block should wrap values to 0-100.

* Fixing #1488: WeDo2 should not clear LED light on stop button.

* Fixing to support negative LED light color inputs.

* Removing a binding.

* Using wrapClamp for inputHue for LED color block.
2018-08-19 22:09:57 -04:00
Eric Rosenbaum
83b3eabf1d
Regulate micro:bit send timing (#1471)
* display blocks yield for 50ms

* WIP on microbit command send timing

* WIP on microbit command send timing

* Cleanup and JSDOC

* Send “withResponse” param to Link

* Remove caching, add busy timeout
2018-08-16 15:38:03 -04:00
Eric Rosenbaum
825035f503
Fix importing WeDo 2.0 blocks from SB2 (#1487)
* Fix wedo2 import from sb2

* Hide wedo play note block
2018-08-16 14:24:19 -04:00
Evelyn Eastmond
0df334fd38 Fixes #1423: WeDo commands should be able to be translated. (#1482) 2018-08-15 14:21:42 -04:00
Evelyn Eastmond
280be8379b
Merge pull request #1481 from evhan55/feature/wedo2-fixes
Various WeDo2 fixes and enhancements
2018-08-15 14:11:04 -04:00
Evelyn Eastmond
35a2411f92 Fixing motor direction block to also work when the motor is on indefinitely. 2018-08-15 14:01:08 -04:00
Evelyn Eastmond
c21d5eba1c
Merge pull request #1469 from ericrosenbaum/feature/wedo-icon
Add WeDo 2.0 block icon
2018-08-15 12:01:48 -04:00
Evelyn Eastmond
9fb522b3ff Moving a function. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
13edf16caa Fixing #1457: extension should parse incoming messages using port table. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
d61f6e3d6f Fixing #1460: 'set motor direction' block should work while a motor is running. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
3023b7a9c2 Fixing #1455: set LED to blue on connecting. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
9f25872c1f Fixing #1454: extension should cast and clamp input values. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
d89020cfb1 Fixing #1461: distance sensor should report 0-100 in steps of 10. 2018-08-15 11:39:26 -04:00
Connor Hudson
f9814a5f88 Allow localizing EV3 blocks (#1437)
* Add formatMessage calls to block text in EV3 extension

* Make some EV3 l10n descriptions more descriptive
2018-08-14 14:36:19 -04:00
Eric Rosenbaum
3af8a4eca5 Add WeDo 2.0 block icon 2018-08-14 13:51:17 -04:00
Connor Hudson
8d88058ae5 Allow localizing micro:bit blocks (#1431)
* Replace micro:bit block text with formatMessage calls

* Add l10n support to micro:bit block menus

* Remove A, B button translation, update some l10n descriptions

* Fix mismatched l10n description
2018-08-14 12:19:26 -04:00
Evelyn Eastmond
f01733f019 WeDo2 Extension: First Pass (#1441)
* Adding WeDo2 connection/disconnection over Scratch Link BLE.

* Testing motor and LED output.

* Reading sensor attachment and registering for sensor notifications.

* Motor indexing.

* Some refactoring notes.  Moving some functions around.

* Refactoring and enums.

* Removing some comments

* Fixing linting error.

* Fixing tilt reporter values and added stopAll bound to stop button to stop piezo, LED and motors.
2018-08-13 17:10:55 -04:00
Ray Schamp
4b5cf6505a
Merge pull request #1398 from paulkaplan/publish-docs
Publish jsdoc to gh-pages
2018-08-08 16:46:48 -04:00
Eric Rosenbaum
c8158321fc
Add "set voice" block to text2speech extension (#1400)
* Add set voice block

* Store voice in custom state

* Use a regex to preserve punctuation in kitten language

* cleanup

* don’t re-use args

* add todo comment about locale

* Use voice Id strings and add puppy

* Cleanup and comments

* Use extension name “Text-to-Speech”

* Add issue link in comment
2018-07-31 14:41:02 -04:00
Paul Kaplan
138d7136af Fix various jsdoc issues preventing the docs from building 2018-07-31 11:22:42 -04:00
Evelyn Eastmond
6444cf071d Feature/critical extension fixes (#1383)
* Resolves - Turning micro bit power off doesn't disconnect microbit #1366.

* Resolves EV3 motor block causes distance to return 0 #1363.

* Fixing linting.

* Tweak micro:bit auto-disconnect timeout.
2018-07-24 11:08:48 -04:00
Eric Rosenbaum
f5066626e5
Use sprite’s soundbank to play text2speech sound (#1388)
* Use sprite’s soundbank to play sound

* Add todo comment
2018-07-23 11:16:00 -04:00
picklesrus
db0597ada5 Get rid of some config that Safari cannot handle and was part of the older getUserMedia. (#1297) 2018-07-23 10:45:27 -04:00
Paul Kaplan
4570184c6b Fix linting 2018-07-19 16:41:07 -04:00
Paul Kaplan
a762892879 Do not send coast if another motor command has been sent 2018-07-19 15:46:01 -04:00