Commit graph

3213 commits

Author SHA1 Message Date
Kevin Andersen
2c6a9d85cf Resolves #2087 and #2088 for rotation-based commands.
There's quite a few interactions between degrees, their sign, and the currently set direction for the motor the degrees relate to. In this case, BoostMotor.turnOnDegrees() was being run with -degrees, and since that function does a Math.max between 0 and degrees, it resulted in 0 degrees.

Because of this, and for clarity, turnOnDegrees now only gets called with positive values. If running CCW, that should be specified in the direction-parameter.
2019-04-05 13:05:52 -04:00
Kevin Andersen
e3cdbffa2a Resolves #2089.
Partly resolves #2087, #2088.

This was happening because scratch-vm is responsible for timed motor commands rather than using the Boost hubs commands to run motors for a specific amount of time.
This meant that when we simply sent a motorOn-command, the hub would immediately return feedback for the motor that the command had completed.
The fix for this was, for timed motor commands, to not receive feedback from the motor, and instead have scratch-vm modify the BoostMotor._status.

TODO: Fix for rotation-based commands.

Agreed. Changed to 50%.

- BoostMotorMaxPower changed to BoostMotorMaxPowerAdd and now describes an extra boost (no pun intended) to the motor. Documentation added that describes the feature.
- _colorBucket renamed to _colorSamples for clarity.
- oldColor is renamed to previousColor, and is now initialized in this._sensors.
- Modified documentation.
2019-04-04 15:37:48 -04:00
Kevin Andersen
d8f7b2c74f updated package-lock.json 2019-04-02 19:32:07 -04:00
Kevin Andersen
330fcc5297 Merge branch 'boostextension' of https://github.com/knandersen/scratch-vm into boostextension 2019-04-01 06:40:18 -04:00
Kevin Andersen
7f0355169e Cleaned up documentation and removed extra line breaks in response to @evhan55 PR comments 2019-04-01 06:38:29 -04:00
Kevin Nørby Andersen
b608a4856b
Merge branch 'develop' into boostextension 2019-03-27 10:21:32 -07:00
Ray Schamp
2f62773984
Merge pull request #2069 from ericrosenbaum/bugfix/load-vernier-code
Load Vernier extension code
2019-03-26 09:46:06 -04:00
Eric Rosenbaum
b9a6f4165a Load Vernier extension code 2019-03-25 17:13:39 -04:00
Eric Rosenbaum
fce555fc7d
Merge pull request #2068 from ericrosenbaum/bugfix/vernier-stabilize-facing
Stabilize Vernier "turned faced up/down" hat events
2019-03-25 16:24:22 -04:00
Eric Rosenbaum
138af7a491 Stabilize facing up and facing down 2019-03-25 15:15:45 -04:00
Eric Rosenbaum
d07cc5dffb
Merge pull request #2063 from ericrosenbaum/feature/vernier-facing-options
Move facing options into gesture menu
2019-03-25 10:56:03 -04:00
Eric Rosenbaum
b5bdc20d13 Move facing options into gesture menu 2019-03-22 17:13:46 -04:00
Eric Rosenbaum
e236d29ff5
Merge pull request #2059 from ericrosenbaum/feature/add-tts-hindi
Add Hindi language to Text to Speech
2019-03-22 16:42:35 -04:00
Eric Rosenbaum
b3ef49a8bb Add Hindi language to Text to Speech 2019-03-21 16:06:42 -04:00
Kevin Andersen
601c9d230f Moved Scratch3BoostBlocks-functions around so that they are properly grouped, i.e. motors, tilt, color, etc 2019-03-21 14:50:39 -04:00
Kevin Andersen
256758122d Merge changes from LLK/develop 2019-03-21 14:11:27 -04:00
Kevin Andersen
64355e8584 changed BoostColorSampleSize to 5 to avoid false readings of black 2019-03-21 14:01:49 -04:00
Kevin Andersen
20967fe768 changed wording of setMotorPower-block to use speed instead of power 2019-03-21 13:56:47 -04:00
Kevin Andersen
02d047cfbd Stabilized color-sensing by:
- Creating Boost._colorBucket will contains BoostColorSampleSize-amount of samples
- Boost._onMessage administers the _colorBucket and assigns Boost._sensors.color a value if all items in the bucket match.

E.g. if BoostColorSampleSize is set to 3, three continuous readings of the same color are required for the color to be detected by scratch-vm.
2019-03-21 13:46:51 -04:00
Paul Kaplan
f33b15affa
Merge pull request #2058 from ericrosenbaum/bugfix/remove-tts-hindi
Remove Hindi from text2speech extension
2019-03-21 11:06:33 -04:00
Eric Rosenbaum
1339841bc4 Remove Hindi from text2speech extension
Low quality speech synthesis, needs investigation
2019-03-21 11:00:43 -04:00
Kevin Andersen
bfb61c0df4 - Removed unused IOs
- Renamed BoostOutputCommandFeedback to BoostPortFeedback and its values for brevity
- Removed buf2hex-function
- Removed BoostMotor._pendingPositionOrigin (unused)
- Removed Boost._led (unused)
- Simplified _onMessage-handling of BoostPortFeedback-messages
- motorOnForRotation() now returns a Promise.all rather than a single promise. This solves  two bugs:
-- when running turn ABCD for 3 rotations without motors connected to CD, the block would finish yielding immediately.
-- when running turn C for X rotations without a motor connected to C, the motor would never finish yielding.
2019-03-20 13:50:24 -04:00
Evelyn Eastmond
35d255319b
Merge pull request #2055 from evhan55/extensions/disconnect-fixes
Fix hardware extension disconnect behavior
2019-03-20 11:01:36 -04:00
Eric Rosenbaum
6951151fd5
Merge pull request #2056 from ericrosenbaum/bugfix/text2speech-name-localization
Localize name of Text to Speech extension
2019-03-20 10:28:57 -04:00
Kevin Andersen
5f6c8b1efd Reworked motor-system to allow the setMotorPower- and setMotorDirection-blocks to modify the motor behavior if the motor is already running.
- BoostMotor-class now has pendingPositionDestination, the rotation-equivalent of pendingTimeout, that stores a destination the motor should reach. When using setMotorPower() or setMotorDirection() while a motorOnForRotation()-block is running, a new motorOnForRotation()-command will be run for the remaining amount of degrees but with new power/direction, cancelling the old command.
- BoostMotor._status is only affected by feedback from the hub.
- setMotorPower() and setMotorDirection() no longer yields, since they just set state.

From design meeting regarding block design:
- Renamed all motors-label to ABCD.
- Added 'AB' motor label to address built-in motor pair.
- use the word direction in the setMotorDirection-block
- moved argument label in motor position reporter
- changed wording of color-sensing block.
- removed isTilted-boolean reporter
- removed changeLightHueBy-block

- fixed pingDevice-function bug.
2019-03-19 18:34:12 -04:00
Michael "Z" Goddard
f6616eb2b8
Merge pull request #2009 from mzgoddard/sb3-load-assets-first
Deserialize sb3 assets before loading data
2019-03-19 17:24:58 -04:00
Eric Rosenbaum
55257c0bf7 Localize name of Text to Speech extension 2019-03-19 12:24:51 -04:00
Karishma Chadha
50362a2f2f
Merge pull request #2052 from LLK/greenkeeper/scratch-parser-5.0.0
Update scratch-parser to the latest version 🚀
2019-03-19 11:35:34 -04:00
Evelyn Eastmond
65b05a9da4 Fixing disconnect to handle different cases differently. 2019-03-19 10:44:33 -04:00
greenkeeper[bot]
a3d684186c chore(package): update lockfile package-lock.json 2019-03-18 21:07:05 +00:00
greenkeeper[bot]
43ddb7ce81 fix(package): update scratch-parser to version 5.0.0 2019-03-18 21:07:01 +00:00
Eric Rosenbaum
151789cbad
Merge pull request #2050 from LLK/greenkeeper/@vernier/godirect-1.5.0
Greenkeeper/@vernier/godirect 1.5.0
2019-03-18 13:28:28 -04:00
Eric Rosenbaum
24fe00145d
Merge pull request #2049 from LLK/revert-2024-extensions/microbit-rate-limiting
Revert "Rate limiting for micro:bit using TaskQueue"
2019-03-18 11:14:50 -04:00
Eric Rosenbaum
68e7f24bb9
Revert "Rate limiting for micro:bit using TaskQueue" 2019-03-18 10:16:50 -04:00
greenkeeper[bot]
92fa8a0835 chore(package): update lockfile package-lock.json 2019-03-15 06:12:38 +00:00
greenkeeper[bot]
e1fe21cd2a fix(package): update @vernier/godirect to version 1.5.0
Closes #1961
2019-03-15 06:12:34 +00:00
Eric Rosenbaum
7f69e0ce3f
Merge pull request #2046 from ericrosenbaum/feature/tts-add-single-language-voices2
Add eight new languages to Text to Speech extension
2019-03-14 16:42:07 -04:00
Evelyn Eastmond
94ca11f721
Merge pull request #2024 from evhan55/extensions/microbit-rate-limiting
Rate limiting for micro:bit using TaskQueue
2019-03-13 22:02:26 -04:00
Evelyn Eastmond
7d7193cb29
Merge pull request #2043 from evhan55/bug/extensions-device-scan
Device scan discovery fix
2019-03-13 19:39:07 -04:00
Paul Kaplan
8d4be4eec5
Merge pull request #2045 from paulkaplan/fix-adding-custom-input
Allow for situation where we get a move event to attach a shadow.
2019-03-13 17:04:15 -04:00
picklesrus
7807dcecb4
Merge pull request #2042 from ktbee/clamp-graphics-effect
add clampEffect for limiting range of brightness and ghost effects
2019-03-13 15:23:18 -04:00
Kevin Andersen
55ccc4e77a Implemented pingDevice() which, like the WeDo 2.0 extension, tries to read from the Boost Hub at a given interval. If it doesn't hear back from the hub, it assumes the device has been disconnected. 2019-03-13 14:35:53 -04:00
Kevin Andersen
873b56c985 - Motor-power functionality changed!
-- Using a max-power setting of 100 rather than following the speed in the motor-commands will allow motors to run at really slow speeds.
-- As a result, motor-commands now use max-power of 100 regardless of speed and setMotorPower no longer scales according to a minimum speed of 20.
- BLE-rate enums consolidated into BoostBLE enum
2019-03-12 17:35:43 -04:00
Michael "Z" Goddard
f4e49563d6
start loading sb3 assets before handling sb3 data 2019-03-12 17:16:13 -04:00
Michael "Z" Goddard
82d19bac4d
Merge pull request #1956 from mzgoddard/lazy-eval-big-dependencies
Lazy eval big dependencies
2019-03-12 17:11:26 -04:00
Eric Rosenbaum
bed0b05bc9 Log error instead of returning null 2019-03-12 14:29:39 -04:00
Katie Broida
92c1711937 add clampEffect for limiting range of brightness and ghost effects 2019-03-12 11:14:11 -04:00
Eric Rosenbaum
a968dadb7a Use opcode function in test 2019-03-12 10:54:30 -04:00
Paul Kaplan
2b53b8b647 Allow for situation where we get a move event to attach a shadow.
This happens after adding a custom procedure input to an existing custom procedure call block.
2019-03-11 14:52:40 -04:00
unknown
80196093a4 Changing disconnect connection check to websocket open status instead of peripheral connection. 2019-03-11 11:59:33 -04:00