Commit graph

33 commits

Author SHA1 Message Date
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
Evelyn Eastmond
4583cb821b
Merge pull request #1611 from evhan55/fixes/hardware-extensions
Hardware extensions bug fixes
2018-09-25 20:42:30 -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
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
3bdbbe3b8e Fixing #1566: Set default motor power for EV3 and WeDo2 to 50%. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
3c905503b7 Adding extension ids to customize error alerts for extensions. 2018-09-22 14:48:41 -04:00
Evelyn Eastmond
96327c66f3 Passing custom alert messages with PERIPHERAL_ERROR. 2018-09-22 14:04:37 -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
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
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
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
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
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
Eric Rosenbaum
3af8a4eca5 Add WeDo 2.0 block icon 2018-08-14 13:51:17 -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
Paul Kaplan
138d7136af Fix various jsdoc issues preventing the docs from building 2018-07-31 11:22:42 -04:00
Eric Rosenbaum
9611401e1c Move pen and wedo into extensions folder 2017-12-01 10:31:04 -05:00