Update BLE Settings and Storage Blocks
This commit is contained in:
		@@ -1,8 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "{0} block",
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "core": "file:../core",
 | 
			
		||||
        "radio": "file:../radio"
 | 
			
		||||
        "core": "file:../core"
 | 
			
		||||
    },
 | 
			
		||||
    "description": "",
 | 
			
		||||
    "files": [
 | 
			
		||||
 
 | 
			
		||||
@@ -32,16 +32,6 @@
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "userConfigs": [
 | 
			
		||||
            {
 | 
			
		||||
                "description": "Disable Bluetooth Event Service",
 | 
			
		||||
                "config": {
 | 
			
		||||
                    "microbit-dal": {
 | 
			
		||||
                        "bluetooth": {
 | 
			
		||||
                            "event_service": 0
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -424,7 +424,7 @@
 | 
			
		||||
  "images": "Creation, manipulation and display of LED images.",
 | 
			
		||||
  "images.createBigImage": "Creates an image with 2 frames.",
 | 
			
		||||
  "images.createImage": "Creates an image that fits on the LED screen.",
 | 
			
		||||
  "input": "Events and data from sensors\n\r\nEvents and data from sensors",
 | 
			
		||||
  "input": "Events and data from sensors",
 | 
			
		||||
  "input.acceleration": "Get the acceleration value in milli-gravitys (when the board is laying flat with the screen up, x=0, y=0 and z=-1024)",
 | 
			
		||||
  "input.acceleration|param|dimension": "x, y, or z dimension, eg: Dimension.X",
 | 
			
		||||
  "input.assumeCalibrationCompass": "Obsolete, compass calibration is automatic.",
 | 
			
		||||
@@ -688,28 +688,16 @@
 | 
			
		||||
  "storage": "Provides access to persistent storage functionality.\n\nProvides access to persistent storage functionality.",
 | 
			
		||||
  "storage.getNumber": "Reads a key value pair from the non volatile storage as a number",
 | 
			
		||||
  "storage.getNumber|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.getString": "Reads a key value pair from the non volatile storage as a string",
 | 
			
		||||
  "storage.getString|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.getValue": "Reads a key value pair from the non volatile storage",
 | 
			
		||||
  "storage.getValueInt": "Reads a key value pair from the non volatile storage",
 | 
			
		||||
  "storage.getValueInt|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.getValue|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.putNumber": "Saves a key value pair in the non volatile storage",
 | 
			
		||||
  "storage.putNumber|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.putNumber|param|value": "value to store",
 | 
			
		||||
  "storage.putString": "Saves a key value pair in the non volatile storage",
 | 
			
		||||
  "storage.putString|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.putString|param|value": "value to store",
 | 
			
		||||
  "storage.putValue": "Saves a key value pair in the non volatile storage",
 | 
			
		||||
  "storage.putValueInt": "Saves a key value pair in the non volatile storage",
 | 
			
		||||
  "storage.putValueInt|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.putValueInt|param|value": "value to store",
 | 
			
		||||
  "storage.putValue|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.putValue|param|value": "value to store",
 | 
			
		||||
  "storage.remove": "Reads a key value pair from the non volatile storage",
 | 
			
		||||
  "storage.remove": "Removes a key value pair from the non volatile storage",
 | 
			
		||||
  "storage.removeKeyInt": "Deletes the key from the non volatile storage",
 | 
			
		||||
  "storage.removeKeyInt|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.removeKeyStr": "Deletes the key from the non volatile storage",
 | 
			
		||||
  "storage.removeKeyStr|param|key": "the key for accesing the value",
 | 
			
		||||
  "storage.remove|param|key": "the key for accesing the value"
 | 
			
		||||
}
 | 
			
		||||
@@ -410,15 +410,10 @@
 | 
			
		||||
  "serial.writeValue|block": "serial|write value %name|= %value",
 | 
			
		||||
  "serial|block": "serial",
 | 
			
		||||
  "storage.getNumber|block": "read from number %key",
 | 
			
		||||
  "storage.getString|block": "read from string %key",
 | 
			
		||||
  "storage.getValueInt|block": "get number from %key",
 | 
			
		||||
  "storage.getValue|block": "get number from %key",
 | 
			
		||||
  "storage.putNumber|block": "Save into number %key a value of %value",
 | 
			
		||||
  "storage.putString|block": "Save into string %key a value of %value",
 | 
			
		||||
  "storage.putValueInt|block": "Put into %key a value of %value as Int",
 | 
			
		||||
  "storage.putValue|block": "Put into %key a value of %value as String",
 | 
			
		||||
  "storage.removeKeyInt|block": "Clear number %key",
 | 
			
		||||
  "storage.removeKeyStr|block": "Clear string %key",
 | 
			
		||||
  "storage.remove|block": "remove %key",
 | 
			
		||||
  "storage|block": "storage",
 | 
			
		||||
  "{id:category}AnalogInPin": "AnalogInPin",
 | 
			
		||||
 
 | 
			
		||||
@@ -112,42 +112,32 @@
 | 
			
		||||
        "optionalConfig": {
 | 
			
		||||
            "microbit-dal": {
 | 
			
		||||
                "bluetooth": {
 | 
			
		||||
                    "enabled": 1,
 | 
			
		||||
                    "pairing_mode": 1,
 | 
			
		||||
                    "private_addressing": 0,
 | 
			
		||||
                    "open": 1,
 | 
			
		||||
                    "security_level": null,
 | 
			
		||||
                    "whitelist": 1,
 | 
			
		||||
                    "advertising_timeout": 0,
 | 
			
		||||
                    "tx_power": 6,
 | 
			
		||||
                    "dfu_service": 1,
 | 
			
		||||
                    "event_service": 1,
 | 
			
		||||
                    "device_info_service": 1,
 | 
			
		||||
                    "eddystone_url": 1,
 | 
			
		||||
                    "eddystone_uid": 1,
 | 
			
		||||
                    "open": 0,
 | 
			
		||||
                    "pairing_mode": 1,
 | 
			
		||||
                    "whitelist": 1,
 | 
			
		||||
                    "security_level": "SECURITY_MODE_ENCRYPTION_NO_MITM",
 | 
			
		||||
                    "partial_flashing": 1
 | 
			
		||||
                }
 | 
			
		||||
                    "event_service": 0,
 | 
			
		||||
                    "device_info_service": 0
 | 
			
		||||
                },
 | 
			
		||||
                "stack_size": 1280,
 | 
			
		||||
                "gatt_table_size": "0x600",
 | 
			
		||||
                "panic_on_heap_full": 0,
 | 
			
		||||
                "debug": 0,
 | 
			
		||||
                "heap_debug": 0
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "userConfigs": [{
 | 
			
		||||
                "description": "No Pairing Required: Anyone can connect via Bluetooth.",
 | 
			
		||||
                "config": {
 | 
			
		||||
                    "microbit-dal": {
 | 
			
		||||
                        "bluetooth": {
 | 
			
		||||
                            "open": 1,
 | 
			
		||||
                            "whitelist": 0,
 | 
			
		||||
                            "security_level": null
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            },
 | 
			
		||||
        "userConfigs": [
 | 
			
		||||
            {
 | 
			
		||||
                "description": "JustWorks pairing (default): Pairing is automatic once the pairing is initiated.",
 | 
			
		||||
                "description": "Limit bluetooth access to BLE mode (A + B + Reset)",
 | 
			
		||||
                "config": {
 | 
			
		||||
                    "microbit-dal": {
 | 
			
		||||
                        "bluetooth": {
 | 
			
		||||
                            "open": 0,
 | 
			
		||||
                            "whitelist": 1,
 | 
			
		||||
                            "security_level": "SECURITY_MODE_ENCRYPTION_NO_MITM"
 | 
			
		||||
                            "enabled": 0
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								libs/core/shims.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								libs/core/shims.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -1316,19 +1316,6 @@ declare namespace control {
 | 
			
		||||
 | 
			
		||||
declare namespace storage {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Saves a key value pair in the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     * @param value value to store
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=100 blockGap=16
 | 
			
		||||
    //% block="Put into %key a value of %value as String"
 | 
			
		||||
    //% blockId=storage_put_value_str
 | 
			
		||||
    //%
 | 
			
		||||
    //% group="Put"
 | 
			
		||||
    //% blockHidden=true value.defl=0 shim=storage::putValue
 | 
			
		||||
    function putValue(key: string, value?: string): void;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Saves a key value pair in the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
@@ -1342,17 +1329,6 @@ declare namespace storage {
 | 
			
		||||
    //% blockHidden=true value.defl=0 shim=storage::putValueInt
 | 
			
		||||
    function putValueInt(key: string, value?: int32): void;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reads a key value pair from the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=100 blockGap=16
 | 
			
		||||
    //% block="get number from %key"
 | 
			
		||||
    //% blockId=storage_get_value
 | 
			
		||||
    //% group="Get"
 | 
			
		||||
    //% blockHidden=true shim=storage::getValue
 | 
			
		||||
    function getValue(key: string): string;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reads a key value pair from the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
@@ -1365,7 +1341,7 @@ declare namespace storage {
 | 
			
		||||
    function getValueInt(key: string): int32;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reads a key value pair from the non volatile storage
 | 
			
		||||
     * Removes a key value pair from the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=100 blockGap=16
 | 
			
		||||
 
 | 
			
		||||
@@ -4,22 +4,6 @@
 | 
			
		||||
 * Provides access to persistent storage functionality.
 | 
			
		||||
 */
 | 
			
		||||
namespace storage {
 | 
			
		||||
    /**
 | 
			
		||||
     * Saves a key value pair in the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     * @param value value to store
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=100 blockGap=16
 | 
			
		||||
    //% block="Put into %key a value of %value as String"
 | 
			
		||||
    //% blockId=storage_put_value_str
 | 
			
		||||
    //% value.defl=0
 | 
			
		||||
    //% group="Put"
 | 
			
		||||
    //% blockHidden=true
 | 
			
		||||
    void putValue(String key, String value) {
 | 
			
		||||
        ManagedString managedKey = MSTR(key);
 | 
			
		||||
        uBit.storage.put(managedKey, (uint8_t *)&value, sizeof(int));    
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Saves a key value pair in the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
@@ -36,27 +20,6 @@ namespace storage {
 | 
			
		||||
        uBit.storage.put(managedKey, (uint8_t *)&value, sizeof(int));     
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reads a key value pair from the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=100 blockGap=16
 | 
			
		||||
    //% block="get number from %key"
 | 
			
		||||
    //% blockId=storage_get_value
 | 
			
		||||
    //% group="Get"
 | 
			
		||||
    //% blockHidden=true
 | 
			
		||||
    String getValue(String key) {
 | 
			
		||||
       KeyValuePair* data = uBit.storage.get(MSTR(key));
 | 
			
		||||
       String stored;
 | 
			
		||||
       if(data == NULL) {
 | 
			
		||||
         return mkString("", -1);
 | 
			
		||||
        } else {
 | 
			
		||||
          memcpy(&stored, data->value, sizeof(int));
 | 
			
		||||
          delete data;
 | 
			
		||||
          return stored;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reads a key value pair from the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
@@ -79,7 +42,7 @@ namespace storage {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reads a key value pair from the non volatile storage
 | 
			
		||||
     * Removes a key value pair from the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=100 blockGap=16
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ enum StorageSlots {
 | 
			
		||||
  s7 = 6,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let storagesStr = ['s1', 's2', 's3', 's4', 's5', 's6', 's7'];
 | 
			
		||||
// let storagesStr = ['s1', 's2', 's3', 's4', 's5', 's6', 's7'];
 | 
			
		||||
let storagesInt = ['i1', 'i2', 'i3', 'i4', 'i5', 'i6', 'i7'];
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -25,21 +25,6 @@ let storagesInt = ['i1', 'i2', 'i3', 'i4', 'i5', 'i6', 'i7'];
 | 
			
		||||
//% advanced=true
 | 
			
		||||
namespace storage {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Saves a key value pair in the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     * @param value value to store
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=100 blockGap=16
 | 
			
		||||
    //% block="Save into string %key a value of %value"
 | 
			
		||||
    //% blockId=storage_put_string
 | 
			
		||||
    //% value.shadowOptions.toString=true
 | 
			
		||||
    //% group="Put"
 | 
			
		||||
    export function putString(key: StorageSlots, value: string) : void {
 | 
			
		||||
       putValue(storagesStr[key], value);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      /**
 | 
			
		||||
     * Saves a key value pair in the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
@@ -67,30 +52,6 @@ namespace storage {
 | 
			
		||||
      return value / 100;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reads a key value pair from the non volatile storage as a string
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=80 blockGap=16
 | 
			
		||||
    //% block="read from string %key"
 | 
			
		||||
    //% blockId=storage_get_string
 | 
			
		||||
    //% group="Get"
 | 
			
		||||
    export function getString(key: StorageSlots) : string {
 | 
			
		||||
      return getValue(storagesStr[key]);
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Deletes the key from the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=60 blockGap=16
 | 
			
		||||
    //% block="Clear string %key"
 | 
			
		||||
    //% blockId=storage_remove_key_string
 | 
			
		||||
    //% group="Remove"
 | 
			
		||||
    export function removeKeyStr(key: StorageSlots) : void {
 | 
			
		||||
      remove(storagesStr[key]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Deletes the key from the non volatile storage
 | 
			
		||||
     * @param key the key for accesing the value
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "input": "Events and data from sensors\n\r\nEvents and data from sensors",
 | 
			
		||||
  "input": "Events and data from sensors",
 | 
			
		||||
  "input.onLoudSound": "Registers an event that runs when a loud sound is detected",
 | 
			
		||||
  "input.setLoudSoundThreshold": "Sets the minimum threshold for a loud sound",
 | 
			
		||||
  "input.soundLevel": "gets the level of loudness from 0 (silent) to 255 (loud)\n\nReads the loudness through the microphone from 0 (silent) to 255 (loud)"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6800
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6800
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -5,7 +5,8 @@
 | 
			
		||||
    "keywords": [
 | 
			
		||||
        "JavaScript",
 | 
			
		||||
        "education",
 | 
			
		||||
        "microbit"
 | 
			
		||||
        "calliope",
 | 
			
		||||
        "mini"
 | 
			
		||||
    ],
 | 
			
		||||
    "repository": {
 | 
			
		||||
        "type": "git",
 | 
			
		||||
 
 | 
			
		||||
@@ -109,7 +109,7 @@
 | 
			
		||||
        "useNewFunctions": true
 | 
			
		||||
    },
 | 
			
		||||
    "compileService": {
 | 
			
		||||
        "yottaTarget": "calliope-mini-classic-gcc",
 | 
			
		||||
        "yottaTarget": "calliope-mini-classic-gcc@https://github.com/calliope-mini/target-calliope-mini-classic-gcc#v1.2.0-yotta",
 | 
			
		||||
        "yottaCorePackage": "microbit",
 | 
			
		||||
        "githubCorePackage": "calliope-mini/microbit",
 | 
			
		||||
        "gittag": "v2.2.0-rc6-calliope.rc3-iss0.3",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user