Hi developers,
I would need some help, as I am fighting since 2 days on a simple problem.
I used the Nordic BLE example:
https://github.com/fabiobaltieri/ciq-nrf-blinky
as a template for my BLE project.
Now I run into the problem, that the device name is not reported by BLE scan result. This is a known issue in the SDK:
As a workaround I want to compare the UUID instead of the device name in my project, as the UUID is found in the BLE scan correctly.
=> But how to compare the UUID provided via getServiceUuids() against a fix value?
Sounds simple, tried many times with printf debugging (log), no solution found.
Some code snippets:
	function initialize() {
		SERVICE = Ble.stringToUuid("19067010-db9e-4075-a5b5-e6df36619906");
		READ_CHAR = Ble.stringToUuid("19067011-db9e-4075-a5b5-e6df36619906");
		READ_DESC = Ble.cccdUuid();
		WRITE_CHAR = Ble.stringToUuid("19067012-db9e-4075-a5b5-e6df36619906");
		SCAN_TIMEOUT = 5;
		RESCAN_DELAY = 10;
		BleDevice.initialize();
	}
	
	function onScanResults(scanResults) {
		debug("scan results");
		var appearance, name, rssi, rawdata;
		var mfg, uuids, service;
		for (var result = scanResults.next(); result != null; result = scanResults.next()) {
			if (result instanceof Ble.ScanResult) {
				appearance = result.getAppearance();
				name = result.getDeviceName();
				rssi = result.getRssi();
				mfg = result.getManufacturerSpecificDataIterator();
				uuids = result.getServiceUuids();
				rawdata = result.getRawData();
				debug("device: appearance: " + appearance + " name: " + name + " rssi: " + rssi);
				debug("result raw: " + rawdata);
				debug("Vor matchDevice");
				if (matchDevice(name, mfg, uuids)) {
				//if (appearance==4660) {
					connect(result);
					return;
				}
			}
		}
	}
	
	protected function matchDevice(name, mfg, uuids) {
		//dumpUuids(uuids);
		//dumpUuids(UUID_COMPARE);
		//dumpMfg(mfg);
		// if (name != null && (
		// 	name.equals(DEVICE_NAME) ||
		// 	name.equals(DEVICE_NAME_Z))) {
		// 	return true;
		// }
		var uuidString = uuids.String;
		debug("SERVICE: " + SERVICE);
		debug("uuidString: " + uuidString);
		if (uuids.equals(SERVICE)) {
			debug("matchDevice: Found");
			return true;
		}
		debug("matchDevice: NOT Found");
		return false;
	}
	
Main question is on line 53 the does not work....
Thanks for support.
Best Regards Sven
 
				 
		 
					 
				 
				 
				
