Dependencies:   BLE_API mbed nRF51822

Committer:
rojkov
Date:
Mon Dec 19 15:08:08 2016 +0000
Revision:
0:269758c0b6ae
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rojkov 0:269758c0b6ae 1 /* mbed Microcontroller Library
rojkov 0:269758c0b6ae 2 * Copyright (c) 2006-2013 ARM Limited
rojkov 0:269758c0b6ae 3 *
rojkov 0:269758c0b6ae 4 * Licensed under the Apache License, Version 2.0 (the "License");
rojkov 0:269758c0b6ae 5 * you may not use this file except in compliance with the License.
rojkov 0:269758c0b6ae 6 * You may obtain a copy of the License at
rojkov 0:269758c0b6ae 7 *
rojkov 0:269758c0b6ae 8 * http://www.apache.org/licenses/LICENSE-2.0
rojkov 0:269758c0b6ae 9 *
rojkov 0:269758c0b6ae 10 * Unless required by applicable law or agreed to in writing, software
rojkov 0:269758c0b6ae 11 * distributed under the License is distributed on an "AS IS" BASIS,
rojkov 0:269758c0b6ae 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rojkov 0:269758c0b6ae 13 * See the License for the specific language governing permissions and
rojkov 0:269758c0b6ae 14 * limitations under the License.
rojkov 0:269758c0b6ae 15 */
rojkov 0:269758c0b6ae 16
rojkov 0:269758c0b6ae 17 #ifndef __BLE_LED_SERVICE_H__
rojkov 0:269758c0b6ae 18 #define __BLE_LED_SERVICE_H__
rojkov 0:269758c0b6ae 19
rojkov 0:269758c0b6ae 20 class LEDService {
rojkov 0:269758c0b6ae 21 public:
rojkov 0:269758c0b6ae 22 const static uint16_t LED_SERVICE_UUID = 0xA000;
rojkov 0:269758c0b6ae 23 const static uint16_t LED_STATE_CHARACTERISTIC_UUID = 0xA001;
rojkov 0:269758c0b6ae 24
rojkov 0:269758c0b6ae 25 LEDService(BLEDevice &_ble, bool initialValueForLEDCharacteristic) :
rojkov 0:269758c0b6ae 26 ble(_ble), ledState(LED_STATE_CHARACTERISTIC_UUID, &initialValueForLEDCharacteristic)
rojkov 0:269758c0b6ae 27 {
rojkov 0:269758c0b6ae 28 GattCharacteristic *charTable[] = {&ledState};
rojkov 0:269758c0b6ae 29 GattService ledService(LED_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *));
rojkov 0:269758c0b6ae 30 ble.addService(ledService);
rojkov 0:269758c0b6ae 31 }
rojkov 0:269758c0b6ae 32
rojkov 0:269758c0b6ae 33 GattAttribute::Handle_t getValueHandle() const {
rojkov 0:269758c0b6ae 34 return ledState.getValueHandle();
rojkov 0:269758c0b6ae 35 }
rojkov 0:269758c0b6ae 36
rojkov 0:269758c0b6ae 37 private:
rojkov 0:269758c0b6ae 38 BLEDevice &ble;
rojkov 0:269758c0b6ae 39 ReadWriteGattCharacteristic<bool> ledState;
rojkov 0:269758c0b6ae 40 };
rojkov 0:269758c0b6ae 41
rojkov 0:269758c0b6ae 42 #endif /* #ifndef __BLE_LED_SERVICE_H__ */