Commit graph

626 commits

Author SHA1 Message Date
Eric Rosenbaum
b75b8027a1 Always clear motor promises when setting state 2019-04-30 11:37:10 -04:00
Eric Rosenbaum
8245b46d56 Change extension name to all-caps BOOST 2019-04-29 15:43:38 -04:00
Eric Rosenbaum
85f3a3c3c5
Merge branch 'develop' into bugfix/2125 2019-04-29 14:06:13 -04:00
Evelyn Eastmond
2a04e9c7f2 Don't set motor power or direction if in rotation state. 2019-04-29 11:58:34 -04:00
Evelyn Eastmond
8745c9b3ac Move false flag left because it will get fixed by PR 2140 instead. 2019-04-29 11:54:12 -04:00
Evelyn Eastmond
c1292f6a59 Don't set motor power if it's already equal to the input power. 2019-04-29 11:53:40 -04:00
Evelyn Eastmond
71c3b72892 Moving false flag from Math.abs to turnOnForDegrees, fixing typo. 2019-04-29 11:53:40 -04:00
Evelyn Eastmond
7e01326d71 Fixing linting. 2019-04-29 11:45:15 -04:00
Evelyn Eastmond
a67b303294 Remove console logs and change a comment. 2019-04-29 11:42:09 -04:00
Evelyn Eastmond
c37a41c352 Only clear pending duration timeout if not in _ON_FOR_TIME state. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
75eae9a58a Fixing motor status setter to not clear rotation if already in rotation state. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
5109cd474c Remove more power===0 checks. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
410e13b4e3 Remove resetState and all power===0 checks. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
d0ed16d47c Fixing Math.abs false arg? and moving it to turnOnForDegrees call. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
dd82079bad Fixing a comment style. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
bb6514f1d6 Removing some tabs. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
14162b9920 Adding an empty line back in. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
7ed8d376c5 Putting in a comment. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
99c7528a1e Removing some empty changed lines. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
12233b73dd Fixing comments to reflect original code. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
73fc5b8723 Fixing lint. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
83bf1be066 Comment out all the power = 0 checks that came over from WeDo. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
270a445703 Playing with power states while we figure out the design. 2019-04-29 09:22:36 -04:00
Evelyn Eastmond
597bd68c0d Remove commented line. 2019-04-29 09:21:06 -04:00
Evelyn Eastmond
f0edd10346 Change turnOnForever and turnOff behavior for power = 0 case. 2019-04-29 09:21:06 -04:00
unknown
a0f0a4092c Moving position reversal back to reporter to avoid conflicts. 2019-04-24 22:42:54 -04:00
Evelyn Eastmond
a61b01628e Putting back a line deleted by accident. 2019-04-24 11:28:29 -04:00
Evelyn Eastmond
e3ec614173 Move reversing of sign to _onMessage, before clamping. 2019-04-24 11:24:56 -04:00
Evelyn Eastmond
adb4c0482c Reversing the sign on Motor A reported position. 2019-04-23 19:05:12 -04:00
Eric Rosenbaum
b80b05ead7
Merge pull request #2131 from ericrosenbaum/feature/add-tts-arabic
Add Arabic to Text to Speech extension
2019-04-23 17:23:19 -04:00
Evelyn Eastmond
9a60d10190 Adding send interval delay to setMotorDirection opcode. 2019-04-22 12:17:47 -04:00
Evelyn Eastmond
26e6d25325 Make set motor speed opcode yield for send interval duration. 2019-04-22 11:59:02 -04:00
Eric Rosenbaum
f1c1883881 Add Arabic to Text to Speech 2019-04-21 21:18:56 -04:00
Eric Rosenbaum
ddd5bb2d7b
Merge pull request #2119 from ericrosenbaum/bugfix/boost-color-sensing-fixes
BOOST color sensing fixes
2019-04-16 15:44:13 -04:00
Eric Rosenbaum
8dc4832100 Reorganize color ids and indices 2019-04-16 15:24:39 -04:00
Kevin Nørby Andersen
1c8dfea382
Merge pull request #2115 from knandersen/bugfix/2108
Fix #2108 by making setMotorPower() and setMotorDirection() yield for a tick
2019-04-15 18:41:28 -04:00
Eric Rosenbaum
07768652f9 clean up whencolor is seeingcolor functions 2019-04-15 11:34:02 -04:00
Eric Rosenbaum
1381d2c4c0 Add boolean “seeing color brick?” 2019-04-15 09:59:03 -04:00
Eric Rosenbaum
bd5bc7947b rename hat to “when color brick seen” 2019-04-15 09:58:44 -04:00
Eric Rosenbaum
0cadf685b2 Remove color reporter 2019-04-12 17:14:34 -04:00
Eric Rosenbaum
d77944beff Clean up detection of color any 2019-04-12 17:09:10 -04:00
Eric Rosenbaum
c25b84d510 Clean up color sensing using IDs 2019-04-12 16:56:09 -04:00
Kevin Andersen
6611abec9e Makes setMotorPower() and setMotorDirection() yield for a tick 2019-04-12 14:12:43 -04:00
Kevin Andersen
12e969119a Simplified the return value for when power is 0 in motorOnForRotation() 2019-04-12 14:07:26 -04:00
Kevin Andersen
a98f3af2e1 Added a special case in motorOnForRotation() to avoid hanging blocks if power is 0 2019-04-12 13:56:29 -04:00
Kevin Andersen
8ece9757aa changes BoostMotor.status(value) to reset all motor state 2019-04-12 12:27:54 -04:00
Kevin Andersen
3f0816bac8 This commit addresses point 1 from the discussion with @ericrosenbaum around moving the setting of motor-state into the BoostMotor-class rather than having it in the opcodes.
- turnOn() renamed to _turnOn() and marked as a private function, i.e. it should only be called by BoostMotor-functions, not opcodes.
- New function turnOnForever() to be called by opcodes.
- turnOff() now sets the motor state.
- _clearRotationState now does a check for null rather than a truthy value
- all motor state setting removed from Boost-class and opcodes: stopAllMotors(), motorOnFor(), motorOnForRotation(), motorOn(), motorOff()
- turnOnForever(), turnOnFor() and turnOnForDegrees() now have a resetState-parameter with the default value of true. This allows the setMotorPower() and setMotorDirection()-functions to not reset state, to avoid them resolving the promises of the original motor commands that they are affecting.
2019-04-12 11:33:10 -04:00
Kevin Andersen
cd7319d044 Added state-change for Boost.stopAllMotors() 2019-04-11 14:07:07 -04:00
Kevin Andersen
c3908b5f2c removed power wrongly being set in setMotorDirection() 2019-04-11 11:16:51 -04:00
Kevin Andersen
ba2aaf90dd Corrected documentation for BoostMotor._clearRotationState() 2019-04-11 11:12:52 -04:00
Kevin Andersen
63726044e4 Major change of motor state handling to increase reliability, clear responsibility of handling state, and readability of the code.
BoostMotor now has a status getter/setter that replaces isOn() and is responsible for clearing various motor state parameters.

A new BoostMotorState-enum contains the possible states a motor can be in.

Since time-based motor commands really just trigger a BoostMotor.turnOn(), it's the opcodes that are responsible for setting the motor state.
2019-04-11 10:39:56 -04:00
Eric Rosenbaum
c0ea5be1d3 Fix whenColor hat 2019-04-09 17:36:14 -04:00
Kevin Andersen
b8bbe80c4f get position from this._peripheral.motor() 2019-04-09 16:20:21 -04:00
Kevin Andersen
b2c18e9dcd BoostMotor.power(value) now sets to 0 if value is 0 rather than scaling, to ensure that blocks skip immediately if speed set to 0 2019-04-09 15:34:08 -04:00
Kevin Andersen
75fc37aa30 Fixed conflicts 2019-04-09 14:57:27 -04:00
Kevin Andersen
41873bf7bf Use the power-getter rather than accessing the property directly 2019-04-09 14:52:41 -04:00
Kevin Andersen
3e55841011 Resolves #2087 and #2088. Because we weren't clearing a motor's _pendingPromiseFunction after executing it, it kept lingering, which made setMotorPower() and setMotorDirection() trigger a rotation-based command even if was responding to a timed or forever motorcommand. By clearing the property every time we fire the function, and by using pendingPromiseFunction as the conditional in setMotorPower() and setMotorDirection(), this should be taken care of. 2019-04-09 11:45:42 -04:00
Kevin Andersen
7b917cabb4 Added isBusy-flag in onMessage to make sure promises aren't resolved if the motor is still busy. Added check in motorOnForRotation() that ensure that any previous pendingPromiseFunction() is resolved before creating a new one, to avoid hanging blocks 2019-04-09 09:30:26 -04:00
Kevin Andersen
19e6a1d4c9 Merge branch 'develop' of https://github.com/LLK/scratch-vm into bugfix/2089,2088,2087 2019-04-09 08:51:28 -04:00
Kevin Andersen
c664fca9d7 changed getMotorPosition() to use the Boost.motor()-function instead of accessing the _motors-property directly 2019-04-09 08:47:00 -04:00
Kevin Andersen
ecbbacd4c0 It seems like there's a tradeoff between how we choose to set the max power of the motors. Previously, I had set the motors' max power (torque) to follow their target speed, meaning they accelerated smoothly, but also lost their torque. Then in the following commit I changed the max power to 100 which means maximum torque to achieve the target speed, which resulted in very abrupt accelerations and erratic motor movement when changing speeds:
873b56c985

In the following commit I changed the functionality so that we add a fixed amount (10) more power than the target speed, e.g. for speed 50 it would provide power 60. This is fine for high speeds, but for low speeds it provides poor torque:

e3cdbffa2a

I assume it would be possible to design some sort of calculation that enabled high torque for low speeds, and vice versa. I will discuss with the team.
2019-04-08 17:56:54 -04:00
Kevin Andersen
e24ace83a0 noticed several instances of getting especially power and direction properties from private variables instead of using the getter 2019-04-08 17:48:30 -04:00
Kevin Andersen
e986b0f4cb - changed max power setting in motor functions to be calculated with MathUtil.clamp() instead of MathUtil.wrapClamp() to avoid values rolling over!
- added an else-case to both setMotorDirection() and setMotorPower() so that dynamic speed/direction changes also affect the motorOn()-blocks just like the time- and rotation-based ones.
2019-04-08 13:48:10 -04:00
Kevin Andersen
d9e0267fa0 Resolves #2086. This issue was caused by turnOnForDegrees() not resolving a promise. Additionally, this promise can only be resolved if its assigned before turnOnDegrees() was called, so in motorOnForRotation() it is now switched around. 2019-04-05 14:18:33 -04:00
Kevin Andersen
2ee8042b6a Resolves #2085
This was caused because the case for BoostMessage.PORT_FEEDBACK didn't handle the BoostPortFeedback.DISCARDED type, which corresponds to a command failing on the Boost hub.
2019-04-05 13:35:28 -04:00
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
picklesrus
b951e2b74b Use new items from the translate extension languages map to show the right things in edge cases where Scratch and Google have different language codes and support different things.
Also standarizes some last uses of the langauge code where it hadn't 
been lowercased yet.
2019-04-01 17:40:57 -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
Eric Rosenbaum
138af7a491 Stabilize facing up and facing down 2019-03-25 15:15:45 -04:00
Eric Rosenbaum
b5bdc20d13 Move facing options into gesture menu 2019-03-22 17:13:46 -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
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
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
Eric Rosenbaum
55257c0bf7 Localize name of Text to Speech extension 2019-03-19 12:24:51 -04:00
Eric Rosenbaum
68e7f24bb9
Revert "Rate limiting for micro:bit using TaskQueue" 2019-03-18 10:16:50 -04: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
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
Eric Rosenbaum
bed0b05bc9 Log error instead of returning null 2019-03-12 14:29:39 -04:00
Eric Rosenbaum
580e93d15a fix norwegian id 2019-03-07 17:00:48 -05:00
Eric Rosenbaum
9455112d74 improve variable name 2019-03-07 17:00:40 -05:00
unknown
c603e0d653 Fixing linting errors. 2019-03-07 08:38:52 -05:00
unknown
0a9f629fb4 Comment out console logs. 2019-03-07 08:26:38 -05:00
unknown
43fde03f57 Fixing the comment yet again. 2019-03-06 13:17:06 -05:00
unknown
f1fc54bfaf Fixing comment based on cwf suggestion. 2019-03-06 13:13:57 -05:00
unknown
2148e9ead1 Adding stopAll binding back in after un-rebased merge. 2019-03-06 13:08:55 -05:00
unknown
54ed67ac22 Adding TaskQueue import back in after un-rebased merge. 2019-03-06 12:57:32 -05:00
unknown
7a14dad668 Removing console logs that came in accidentally via un-rebased merge. 2019-03-06 12:55:04 -05:00
unknown
fed43e1841 Removing busy flag again which was reintroduced via a un-rebased merge. 2019-03-06 12:53:17 -05:00
unknown
b31a1f0e98 Move argument processing outside of TaskQueue.do calls. 2019-03-06 12:47:44 -05:00
Evelyn Eastmond
f5dc90f729 Fixing comment again. 2019-03-06 12:47:44 -05:00
Evelyn Eastmond
d2c14f872c Fixing comment. 2019-03-06 12:47:44 -05:00
Evelyn Eastmond
00d1a407ac Fixing some comments. 2019-03-06 12:47:44 -05:00
Evelyn Eastmond
3c77f82238 Changing maxTokens and refillRate for microbit test. 2019-03-06 12:47:44 -05:00
Evelyn Eastmond
fb36731ce4 Add catches for task queue Promise rejections, and some debug console logs. 2019-03-06 12:47:44 -05:00
Evelyn Eastmond
eecd508464 Fix usage of task queue with an opcode that has its own promise/time delay resolution (i.e. displayText in microbit). 2019-03-06 12:46:56 -05:00
Evelyn Eastmond
6688106852 Continuing to test the newest TaskQueue with microbit. 2019-03-06 12:44:22 -05:00
Eric Rosenbaum
59586291d7 Comments 2019-03-06 12:03:54 -05:00
Eric Rosenbaum
ee0d395b9c Cleanup check supported and get extension locale 2019-03-06 12:03:46 -05:00
Eric Rosenbaum
8fc3111b21 use id for default language 2019-03-06 10:51:08 -05:00
Eric Rosenbaum
65d0a3aa11 cleanup 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
d059f8baa6 Check and set language, handling many-to-one mapping 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
ab633d3448 WIP updating to use new language info data 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
bc9e215ee8 Fill in language info data 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
04c6bc189a Add language ids 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
da212bcf06 wip switching from using locales to language IDs internally 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
920096d061 Add romanian and fix ordering 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
3996cc0c6b Add Welsh, Swedish and Turkish 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
f33e07132e Add hindi, korean, norwegian, and adjust rates 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
5b5c0d80eb Set tenor playback rate for single gender languages 2019-03-06 10:37:36 -05:00
Eric Rosenbaum
0d12cead31 key language info by locale id, and add chinese 2019-03-06 10:37:36 -05:00
Kevin Andersen
a4e005cf2b Merge branch 'develop' of https://github.com/LLK/scratch-vm into boostextension 2019-03-04 18:11:26 -05:00
Kevin Andersen
6cf00a4235 Linted 2019-03-04 17:39:02 -05:00
Kevin Andersen
852ae43348 This commit is a combination of changes after an internal play test with the Scratch Team, as well as code cleanup.
Motors:
- motor position will now initially report 0 instead of false
- removed remaining motor position zeroing functions.
- removed startBraking().
- turnOn() and turnOnForDegrees() are now using an absolute max power as per the protocol documentation.
- the "turn for rotations"-block now accepts negative values.
-- turnOnForDegrees() accepts a direction to reflect the change above. The direction from the block is calculated against the motors current direction.
- commented EV3 tacho calculation code for motor positioning removed.
- Changed BoostMotorLabel to reflect actual motor block argument.
- startMotorPower() renamed to setMotorPower() since it doesn't start the motor.
- setMotorPower() will not start the motor.
- Max number of rotations for a motor-block is clamped to 100 rotations.
- 'Default' removed from BoostMotorLabel-enum as it wasn't used.

Sensors:
- removed remaining distance-related functions.
- color-reporters default value is now none rather than black.
- tilt-angles left and right switched to reflect the hubs orientation.
2019-03-04 12:38:02 -05:00
Kevin Andersen
669ff1abf1 - Boost-icon added to blocks
- Added BoostColorLabel-enum for color sensing block argument labels
- Regrouped blocks to be grouped by functionality, promoting color sensing
- Added 'any' to whenColor hat-block which triggers if the color sensor reports a value that is not none. Implemented an oldColor-value that allows the hat-block to trigger between color-changes, even if the sensor doesnt see 'none' in the meantime.
2019-03-01 11:36:57 -05:00
Evelyn Eastmond
59ab3b717d Fixing clearInterval > clearTimeout. 2019-03-01 10:04:56 -05:00
Evelyn Eastmond
7a1367d81a Change from setInterval to setTimeout for auto disconnect feature. 2019-03-01 10:02:30 -05:00
Kevin Andersen
ed051cdd82 Changed color-sensing values to be strings instead of LEGO numbering, which seems more intuitive. 2019-02-27 15:49:24 -05:00
Kevin Andersen
d2d236d282 After discussion with @ericrosenbaum, decided to change the following:
- Regroup blocks by functionality, i.e. motors, led, color-sensing, etc.
- Remove motor position zero-ing as concept and use MathUtil.wrapClamp to instead wrap everything around 360 degrees.
- WIP: "Set motor power to"-block should update motors that are currently running to emphasize principle that blocks have actions.
2019-02-27 15:19:40 -05:00
Kevin Andersen
7fc705b741 - Consolidated BLE enums for brevity
- Added IOs from documentation to BoostIO enumotor follows the speed set by Scratch and not the highest possible speed.
- Cleaned up line breaks in codebrake rather than float when stopping.
- Cleaned up documentationensors
- Deleted unused MOTOR_OUTPUT from BoostMode-enumbased on BoostMode-enum
- Set default-value for "set motor power to"-block to be all motors after feedback from @ericrosenbaum
- Implemented check in getMotorPosition() to see if motor is actually there before reporting position
2019-02-26 14:44:13 -05:00
Kevin Andersen
40c022ca8e - Refactoring of output commands:
- Simplified generateOutputCommand() to follow the LEGO Wireless Protocol command-structure. Every output-command must have a portID, execution information, sub-command, and then followed by a custom payload which must be defined according to the protocol documentation mentioned in the extension.
- Simple motor commands now use the above subcommand-structure rather than the former primitive command structure.
- stopLED()-function removed since it's not used
- Implemented check of pendingPromiseFunction() for motors before firing.
2019-02-22 12:50:19 -05:00
Kevin Andersen
9767d72188 - Cleaned up TODOs!
- Added and made use of more enums rather than hardcoded bytes
2019-02-21 14:47:30 -05:00
Kevin Andersen
1d72b3b971 - Removed unused distance-mode from BoostMode-enum
- Added descriptions to BoostMode-enums
- Improved motor-position handling
- Added helper-functions for converting to/from motor position values
- Added default value to BoostMotor._pendingPromiseFunction
- Added changeLedColorBy-block
- Only motors will now try to resolve motor-promises
- Changed motor position wording from 'zero' to 'reset'
- Modified tilt-thresholds to improve tilt-handling
2019-02-21 13:35:21 -05:00
Eric Rosenbaum
c0e80edfcc Update block and menu icons 2019-02-20 11:13:00 -05:00
Eric Rosenbaum
931d7e9a62 More re-ordering 2019-02-20 11:00:21 -05:00
Eric Rosenbaum
9e650279a6 Re-order blocks 2019-02-20 10:59:07 -05:00
Eric Rosenbaum
7da54dd067 Add tilted any option 2019-02-20 10:49:03 -05:00
Eric Rosenbaum
a19585af75 Add tilt blocks 2019-02-19 16:09:58 -05:00
Eric Rosenbaum
ba548701e2 Set update rate to 80ms 2019-02-19 15:14:37 -05:00
Eric Rosenbaum
f4662f833f rename “tilt angle” and “spin speed” reporters 2019-02-19 15:06:03 -05:00
Eric Rosenbaum
ec2ca32ffa Remove “moved” gesture 2019-02-19 13:55:24 -05:00
Kevin Andersen
e99a217ba5 Merge branch 'develop' of https://github.com/LLK/scratch-vm into boostextension 2019-02-14 13:31:13 -05:00
Kevin Andersen
32a9674b5d Added disconnect-handling per new extensions-spec. Motor-commands that fail will now also cause their blocks to complete 2019-02-14 13:30:58 -05:00
unknown
ac571ece5a Fixing comment. 2019-02-13 14:14:05 -05:00
Evelyn Eastmond
8bbdc4e691 Resolves #1988: Vernier gdxfor tilt values should be 0 when disconnected. 2019-02-13 14:14:05 -05:00
Chris Willis-Ford
7ab41d2bd9
Merge pull request #1881 from apple502j/pen-legacy
Fix legacy `set pen color` block's transparency behavior
2019-02-13 10:51:47 -08:00
Kevin Andersen
245ba998d2 merge changes from origin/develop 2019-02-12 13:18:28 -05:00
Kevin Andersen
e2bd28b85e Cleaned up documentation (WIP). Added Output subcommand enum for use throughout extension 2019-02-12 10:10:21 -05:00
Kevin Andersen
c902bbaa0d Cleaned up some documentation. Consolidated and renamed Boost enums 2019-02-11 11:30:22 -05:00
Kevin Andersen
bf02426a4a added named variables to onMessage for readability. Changed wording of motor-blocks. Added BLE Advertisement Manufacturer Data as filter for scanning, for https://github.com/LLK/scratch-link/issues/112 2019-02-11 10:57:57 -05:00
Chris Willis-Ford
51252531af
Update src/extensions/scratch3_pen/index.js
Co-Authored-By: apple502j <33279053+apple502j@users.noreply.github.com>
2019-02-08 20:03:54 +09:00