Commit graph

3307 commits

Author SHA1 Message Date
Kevin Andersen
ffb5cd63af added zero-block for motor positioning. Added turn-for-rotation-block, but its WIP. Modified generateOutputCommand to allow for advanced motor commands. Changed motor position reporter to follow hardware instead of wrap-clamping. 2019-01-23 09:10:03 +01:00
Kevin Andersen
7cee07db83 Changed default motor to A instead of all. Added TODOs and DEBUG code comments. Changed output-commands to use proper enums 2019-01-21 08:01:10 +01:00
Erik Mejer Hansen
ceaa3c7857 Add support extensions to define custom field types.
This is done by adding a new element "customFieldTypes" to the extension info structure. Ex:
```
customFieldTypes: {
   angleField: {
      implementation: { fromJson: options => new AngleField(options) },
      output: 'number',
      outputShape: 2,
   }
}
```
Field types are defined by an implementation that has to match what is expected by ScratchBlocks.Field.register and its output and shape.

src/engine/runtime.js has been updated to handle the new "customFieldTypes"-field:
- Existing (global) field types cannot be overridden
- New fields are "namespaced" to the extension in the same way as opcodes are.

Once the custom field type has been picked up by scratch-vm a "EXTENSION_FIELD_ADDED" event is emitted.
It is then up to the hosting app to call ScratchBlocks.Field.register to register the field type with ScratchBlocks. Ex:
```
vm.addListener('EXTENSION_FIELD_ADDED', fieldInfo => {
   this.ScratchBlocks.Field.register(fieldInfo.name, fieldInfo.implementation);
});
```
2019-01-20 21:24:32 +01:00
Eric Rosenbaum
9d4442444f
Merge pull request #1914 from bocoup/sensor-error
Prevent console errors when disconnecting/reconnect to Vernier extension
2019-01-18 17:09:38 -05:00
Eric Rosenbaum
0b251adace
Merge pull request #1763 from evhan55/extensions/disconnect-errors
Various fixes to extension disconnect errors
2019-01-18 16:58:45 -05:00
Evelyn Eastmond
4b9488cf66 Restoring package-lock.json 2019-01-16 20:38:45 -05:00
Evelyn Eastmond
7831256044 Change event names to be more descriptive. Fix some typos. 2019-01-16 20:17:19 -05:00
Evelyn Eastmond
6f9a4864e9 Fix typo. 2019-01-16 19:59:51 -05:00
Evelyn Eastmond
802f752ded Prevent setting onCharactericChanged callback to null. 2019-01-16 19:50:32 -05:00
Evelyn Eastmond
6e290ea937 Calling microbit timeout error in an arrow function. 2019-01-16 16:23:06 -05:00
Evelyn Eastmond
e1e8e57403 Adding TODOs. 2019-01-16 16:08:15 -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
2761209631 Changing JSDoc slightly, again. 2019-01-16 16:00:25 -05:00
Evelyn Eastmond
c30807a678 Finetuning a JSDOC. 2019-01-16 15:56:58 -05:00
Evelyn Eastmond
7ec9494804 Making corrections based on discussion with ericr. 2019-01-16 15:54:38 -05:00
Evelyn Eastmond
bd8f129022 Adding a TODO for an optional read param. 2019-01-16 15:22:58 -05:00
Evelyn Eastmond
e4b82aeaef Adding callback back to battery read to fix clearing the characteristicChanged callback by accident. 2019-01-16 15:22:58 -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
f030afbdc5 Removing extra params from a BLE read in WeDo2. 2019-01-16 15:22:58 -05:00
Evelyn Eastmond
156b1bc21a Adding new runtime event for intentional peripheral disconnects. 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
a177b4eeb7 Adding interval to check for battery level. 2019-01-16 15:22:58 -05:00
Evelyn Eastmond
ae95df553d
Merge pull request #1924 from evhan55/extensions/vernier-withresponse-fix
Removing withResponse flag in GDX-FOR extension write method
2019-01-16 15:14:35 -05:00
Karishma Chadha
0fa5e9181a
Merge pull request #1839 from mzgoddard/fix-missing-no-param
fix: initialize stack frame params for all procedures
2019-01-16 14:06:38 -05:00
Karishma Chadha
325372233d Improve the performance of the timer utilitiy so that it does not garbage collect multiple times per frame. 2019-01-16 10:09:19 -05:00
Paul Kaplan
4b777d94e4
Merge pull request #1925 from ericrosenbaum/bugfix/dont-load-vernier-yet
Do not load Vernier extension yet
2019-01-15 15:29:15 -05:00
Eric Rosenbaum
5d329663aa do not load vernier extension yet 2019-01-15 15:20:05 -05:00
Evelyn Eastmond
a6c05d8f61 Removing withResponse flag since it is not needed and was causing a crash on Windows. 2019-01-15 11:43:08 -05:00
Karishma Chadha
d5c2991a25
Merge pull request #1923 from ktbee/missing-block-early-exit
Add early exit for non-existent block
2019-01-15 11:29:40 -05:00
Karishma Chadha
fefb032f17
add comment before using util.initParams
Co-Authored-By: mzgoddard <mzgoddard@gmail.com>
2019-01-15 11:24:47 -05:00
Katie Broida
8256b3d5c5 Add early exit for non-existent block 2019-01-15 11:15:23 -05:00
Eric Rosenbaum
b57b6c0a84
Merge pull request #1916 from ericrosenbaum/bugfix/vernier-dont-keep-data
Prevent excess event emitting in Vernier extension
2019-01-15 11:07:35 -05:00
Eric Rosenbaum
e414e1b246 Add todo comment about keepValues flag 2019-01-15 10:46:22 -05:00
Eric Rosenbaum
2856b32dd5
Merge branch 'develop' into sensor-error 2019-01-15 10:38:51 -05:00
Eric Rosenbaum
8b2f326469
Merge pull request #1920 from evhan55/extensions/vernier-peripheral-list
Properly disconnect BLE socket in GDX-FOR scan/disconnect
2019-01-15 10:31:48 -05:00
Evelyn Eastmond
308bb7095a Properly disconnect BLE socket. 2019-01-14 20:17:18 -05:00
Eric Rosenbaum
7111513169
Merge pull request #1909 from ericrosenbaum/feature/vernier-block-icon
Add Vernier extension block icon
2019-01-14 18:26:12 -05:00
Karishma Chadha
43fd733b15
Merge pull request #1912 from kchadha/executable-targets-fix
Populate executable targets when runtime.targets is populated
2019-01-14 14:57:29 -05:00
Eric Rosenbaum
8f0e025261 Use flag to not keep data, and remove listener hack 2019-01-14 14:01:43 -05:00
Karishma Chadha
59a865ef47 Create a new addTarget function on the runtime which populates the targets list as well as the executable targets list. 2019-01-14 11:48:11 -05:00
Kevin Andersen
0557fc8e09 Motor position reporter kinda working. LED commands working. Added mode information to generateOutputCommand-function. Removed value-format switch-case in favor of hard-coded value-interpretation, but put in a TODO that we perhaps should consider doing it in the future. 2019-01-13 21:10:20 +01:00
Valerie Young
daccdb0a71 Satisfy linter 2019-01-11 16:53:47 -05:00
Valerie Young
f2f4af2590 Don't send disconnect to a closed device 2019-01-11 16:47:42 -05:00
Valerie Young
328e4480f6 Prevent reading non-existing sensors 2019-01-11 16:43:08 -05:00
Karishma Chadha
fbee37e915 Populate executable targets when runtime.targets is populated so that scripts don't run before they are supposed to (e.g. before targets are done getting installed). 2019-01-11 14:52:34 -05:00
Eric Rosenbaum
730ec44e5d Update block icon 2019-01-11 12:07:16 -05:00