Commit graph

281 commits

Author SHA1 Message Date
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
Andrew Sliwinski
cf2b858d43 Change 'video motion' to 'video sensing'. See LLK/scratch-gui#2621 2018-07-18 10:11:08 -04:00
Kreg Hanning
9524db5609 Only send matrix data if input !== null (#1356) 2018-07-17 16:12:38 -04:00
Kreg Hanning
2af04c43ea Ignore display command with blank string (#1355) 2018-07-17 16:09:12 -04:00
Evelyn Eastmond
c4ee7065a2 EV3/Microbit critical fixes for code freeze (#1354)
* Resolves - BLESession and BTSession should emit PERIPHERAL_SCAN_TIMEOUT #1348.

* Resolves - BLESession should handle 'could not find service' error #1350.

* Resolves - BTSession should handle 'no peripheral connected' error #1351.

* Fixing a typo that caused device scan timeout bugs.

* Resolves - Add casting and clamping throughout the EV3 extension #1352.

* Fixing a linting error.

* Further fixes for issue #1351.
2018-07-17 16:03:05 -04:00
Eric Rosenbaum
b8ea846eed
Use 2x png for microbit icon (#1346)
* Use file-loader for png

* Use 2x png for microbit block icon

* Load png via data URI

* JSDOC
2018-07-17 09:21:44 -04:00
picklesrus
bf22cdbf13 Make the end listening sound only play one time even if multiple bloc… (#1232)
* Make the end listening sound only play one time even if multiple blocks stop listening at the same time.

* Update for new sound API
2018-07-15 15:04:27 -04:00
picklesrus
ed78231fe9 Turn speech block text into i18n messages. (#1224)
* Turn speech block text into i18n messages.

* Update message descriptions and other code review comments.

* fix typo

* Add bit about not translating Google to message description.

* Change default when I hear text
2018-07-15 14:34:24 -04:00
picklesrus
bd83d66bff Update speech extension to use new audio engine api since the old version no longer exists. (#1272) 2018-07-15 14:23:14 -04:00
Evelyn Eastmond
133ade7f48 EV3 port and sensor polling updates (#1342)
* Add motor rotate, without coasting yet.  Fixed some todos.

* Removing logging.

* Implemented motor set position, motor set power, and beep note for time blocks.  Changed labels on motor blocks.  Tracking motor speeds for all ports.

* Fixing motor ports to 0-3 and then output bit field when sending commands.

* Added stop all motors with stop button.  Added port masking function.  Some cleanup.  Moved beeping up an octave.

* Combine device list polling and sensor polling into a single timeout call, device list requested every 20 times.

* Don't reset sensors on device update.  Don't store undefined sensor/motor values.  Some comments.

* Fixing some linting.
2018-07-13 13:14:53 -04:00
Andrew Sliwinski
c69a59575d
Merge pull request #1316 from ericrosenbaum/feature/language-reporter
Change translate extension reporter block text to 'language'
2018-07-13 08:41:33 -04:00
Paul Kaplan
ec0ac19772
Merge pull request #1332 from ericrosenbaum/bugfix/microbit-bail-out
Microbit write bails out if not connected
2018-07-13 08:32:58 -04:00
Eric Rosenbaum
eaeefdcfe7 Change extension name to micro:bit 2018-07-12 15:26:32 -04:00
Eric Rosenbaum
ea1bb602f9
Microbit display commands yield for a tick (#1331)
* Microbit display commands yield for a tick

* JSDOC fixes
2018-07-12 15:19:28 -04:00
Eric Rosenbaum
a7f4fc2212 Microbit write bails out if not connected 2018-07-12 14:41:28 -04:00
Kreg Hanning
06c4e5516f Add micro:bit matrix field block (#1314)
* Add micro:bit matrix field block

* Remove debug logs

* Remove rowcol menu

* Fix lint errors
2018-07-11 16:13:49 -04:00
Paul Kaplan
31cd204117 Add semicolons... 2018-07-11 11:47:29 -04:00
Paul Kaplan
eecca39a97 Update microbit block and menu icons using the new ones 2018-07-11 11:20:19 -04:00
Eric Rosenbaum
0cc219fa0a Change ‘viewer language’ reporter to ‘language’ 2018-07-10 15:10:27 -04:00
picklesrus
e156b0536c Fix name of translate extension and add the logo back. Basically fixes #1029 (#1313) 2018-07-10 10:25:49 -04:00
Andrew Sliwinski
c9d71488c3
Merge pull request #1311 from thisandagain/feature/polly
Update text-to-speech extension to use new audio engine
2018-07-10 08:30:52 -04:00
Andrew Sliwinski
ace5ae40d0 Update text-to-speech extension to use new audio engine 2018-07-09 14:40:13 -04:00
Evelyn Eastmond
394b57ebb6 Removing some logging. 2018-07-09 14:31:09 -04:00
Evelyn Eastmond
f511730602 Fix motor turn for ports C/D. Zero out sensors and motor values on disconnect. 2018-07-09 14:31:09 -04:00
Evelyn Eastmond
a220829007 Changes to EV3 extension: motor reporter 0-360, distance reporter rounded to tenths, motors coasting after turn for time commands, buttons distinguishable by port, and motor reporters for ports C/D fixed. 2018-07-09 14:31:09 -04:00
Eric Rosenbaum
b30092e890 Motor for time opcodes return promise to wait 2018-07-09 13:49:41 -04:00
Eric Rosenbaum
a78866f99a Add EV3 block icon 2018-07-09 13:49:41 -04:00
Eric Rosenbaum
2cfc6d601a Fix required module name to lowercase 2018-07-09 13:49:41 -04:00
Evelyn Eastmond
190f4b5796 Fixing linting errors. 2018-07-09 13:49:41 -04:00
Eric Rosenbaum
2ec894b5a7 Get motor positions for reporter block 2018-07-09 13:49:41 -04:00
Evelyn Eastmond
b9ea6005f8 Clearing ports on disconnect. 2018-07-09 13:49:41 -04:00
Evelyn Eastmond
cf98e35564 EV3 blocks progress: distance, brightness, button, motor position. Only single button for now, distance needs threshold at 0. 2018-07-09 13:49:41 -04:00
Eric Rosenbaum
387f03b08c Add disconnect and getPeripheralIsConnected to EV3 extension 2018-07-09 13:49:41 -04:00
Eric Rosenbaum
6f5ff31eb3 Add disconnectExtensionSession and getPeripheralIsConnected 2018-07-09 13:49:41 -04:00
Evelyn Eastmond
613a9f96c3 Adding initial test polling for EV3 distance sensor data. 2018-07-09 13:49:41 -04:00