Commit graph

50 commits

Author SHA1 Message Date
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
Evelyn Eastmond
6e290ea937 Calling microbit timeout error in an arrow function. 2019-01-16 16:23:06 -05:00
Evelyn Eastmond
5c885911e7 Replacing a timeout clear. 2019-01-16 16:06:44 -05:00
Evelyn Eastmond
28a54d6e83 Adding back in the disconnect branch to be fixed later in another PR. 2019-01-16 16:05:13 -05:00
Evelyn Eastmond
7ec9494804 Making corrections based on discussion with ericr. 2019-01-16 15:54:38 -05:00
Evelyn Eastmond
d7b6cfae97 Move micro:bit data stopped error string to constant. Added another jsdoc. 2019-01-16 15:22:58 -05:00
Evelyn Eastmond
7518a9c149 Changing error to be more accurate. 2019-01-16 15:22:58 -05:00
Evelyn Eastmond
2d9531a15c Removing console logs. 2019-01-16 15:22:58 -05:00
Evelyn Eastmond
fdda1e53e3 Change microbit extension to send BLE socket error on data lost, instead of calling disconnect directly. 2019-01-16 15:22:58 -05:00
Evelyn Eastmond
fab292889f Adding disconnect callback to BT/BLE error system. 2019-01-16 15:22:58 -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
Evelyn Eastmond
0d7cc66ad5 Changing menu names to include extension label. 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
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
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
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
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
Kreg Hanning
06f64c0527 Rename block "display [Hello!]" to "display text [Hello!]" (#1597) 2018-09-19 11:16:16 -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
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
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
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
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
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
6f5ff31eb3 Add disconnectExtensionSession and getPeripheralIsConnected 2018-07-09 13:49:41 -04:00
Evelyn Eastmond
2d8ad05a78 Adding Ev3 extension with three test blocks to latest device-connection work, auto-connecting to device for now. 2018-07-09 13:49:40 -04:00
Evelyn Eastmond
4332725d33 Adding more errors based on web socket onerror and onclose. Moved extension runtime mapping of devices back to MicroBit class. 2018-07-09 13:41:57 -04:00
Evelyn Eastmond
73cc149783 Adding promises to return on BLE write. Some refactoring. 2018-07-09 13:41:57 -04:00
Evelyn Eastmond
730b798686 Extension/runtime protocol refactoring. 2018-07-09 13:41:57 -04:00
Eric Rosenbaum
d778ddf00e wip 2018-07-09 13:41:57 -04:00
Evelyn Eastmond
d09c3f0418 MicroBit extension, Scratch Link first draft. (#1230)
* First microbit gui tests

* Fixed JSONRPC inheritance.  Renamed ScratchBLE/ScratchBT files.  Removed ScratchBT test code from Microbit extension.  Renamed addLine to log.

* Fixed log comments.  Removed addLine from Microbit.

* Adding auto-connect to Microbit at extension loading.  Adding hack for displayText block to Scratch-Link.

* Resolved merge conflicts and brought in latest microbit extension example code.

* Updated microbit write tests for displayText and displaySymbol blocks.  Some linting.

* Some linting and adding of BLE Characteristic consts.

* Linting fixes.

* Moving micro:bit device connection code all to the MicroBit class, decoupling Scratch3MicroBitBlocks from connection code.

* Removing old disconenct handlers from MicroBit class.  Moved service into new BLEUUID data structure.

* Renamed _write to _send.  Moved all BLE encoding concerns to the _send method.

* Using the util log.  Some linting.

* Added _read method to MicroBit class.  Renamed _send to _write.

* Some linting and formatting comments.

* First pass at peripheral chooser pattern for ScratchBLE.

* Testing characteristicDidChange events, and some changes to ScratchBLE on ready events.

* Refactoring work on PeripheralChooser and ScratchBLE.

* Some variable renaming and method signature stubs.

* Peripheral chooser method signatures.

* Moved base64 encoding/decoding to util.  Some method signature formatting.

* Adding test stubs for new util and io classes.

* Adding test stub for MicroBit extension.

* Clean up for PR.

* Clean up for PR.

* Final cleanup for PR.

* Removed logging to console.

* Adding 'btoa' and 'atob' node modules and using them in Base64Util.
2018-06-18 14:56:51 -04:00
Eric Rosenbaum
c2b262ba97 Add status button to microbit extension 2018-06-13 15:53:05 -04:00
Kreg Hanning
9055706333 Add check for invalid symbol 2018-06-04 15:22:12 -04:00
Kreg Hanning
94464f0a52 Update microbit extension for latest firmware 2018-06-04 14:52:52 -04:00
Kreg Hanning
82fd6f0d2f Add micro:bit Scratch 3.0 extension (#1113)
* Add micro:bit Scratch 3.0 extension

* Fix lint errors in micro:bit extension

* Fix doc. Incorrect return type

* Check for valid pin in when pin connected block

* Drop mapping function

* Drop question mark from tilt hat block

* Generate list of symbols from object keys

* Trim display text block to max 20 characters
2018-05-14 13:52:49 -04:00