void setup() { wait_for_serial(); // set the UUID for the service this peripheral advertises: blePeripheral.setAdvertisedServiceUuid(whistlepunkService.uuid()); // add service and characteristics blePeripheral.addAttribute(whistlepunkService); blePeripheral.addAttribute(valueCharacteristic); blePeripheral.addAttribute(configCharacteristic); blePeripheral.addAttribute(versionCharacteristic); versionCharacteristic.setValue(version); // assign event handlers for connected, disconnected to peripheral blePeripheral.setEventHandler(BLEConnected, blePeripheralConnectHandler); blePeripheral.setEventHandler(BLEDisconnected, blePeripheralDisconnectHandler); valueCharacteristic.setEventHandler(BLESubscribed, bleNotificationSubscribeHandler); valueCharacteristic.setEventHandler(BLEUnsubscribed, bleNotificationUnsubscribeHandler); configCharacteristic.setEventHandler(BLEWritten, bleConfigChangeHandler); // advertise the service blePeripheral.begin(); while (true) { blePeripheral.poll(); if (blePeripheral.haveAddress()) { have_address = true; address = blePeripheral.getAddress(); sprintf(BleLongName, "Sci%02x%02x", address[0], address[1]); blePeripheral.setLocalName(BleLongName); blePeripheral.begin(); break; } } }
void setup() { wait_for_serial(); // set the local name peripheral advertises blePeripheral.setLocalName("Initial"); // set the UUID for the service this peripheral advertises: blePeripheral.setAdvertisedServiceUuid(whistlepunkService.uuid()); // add service and characteristics blePeripheral.addAttribute(whistlepunkService); blePeripheral.addAttribute(valueCharacteristic); blePeripheral.addAttribute(configCharacteristic); blePeripheral.addAttribute(versionCharacteristic); versionCharacteristic.setValue(version); // assign event handlers for connected, disconnected to peripheral blePeripheral.setEventHandler(BLEConnected, blePeripheralConnectHandler); blePeripheral.setEventHandler(BLEDisconnected, blePeripheralDisconnectHandler); valueCharacteristic.setEventHandler(BLESubscribed, bleNotificationSubscribeHandler); valueCharacteristic.setEventHandler(BLEUnsubscribed, bleNotificationUnsubscribeHandler); configCharacteristic.setEventHandler(BLEWritten, bleConfigChangeHandler); ble_addr_t _local_bda; char _device_name[BLE_MAX_DEVICE_NAME+1]; ble_client_get_factory_config(&_local_bda, _device_name); sprintf(BleLongName, "Sci%02x%02x", _local_bda.addr[0], _local_bda.addr[1]); DEBUG_PRINT("Address is: "); DEBUG_PRINTLN(BleLongName); blePeripheral.setLocalName(BleLongName); // advertise the service blePeripheral.begin(); }