Future Electronics
/
sequana-ble-lab-base
This is a basic code to be used for Sequana BLE Lab exercises.
source/SequanaPrimaryService.cpp
- Committer:
- lru
- Date:
- 2019-03-14
- Revision:
- 2:06e62a299a74
- Parent:
- 0:ff033dfc838b
File content as of revision 2:06e62a299a74:
/* * Copyright (c) 2017-2019 Future Electronics * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <mbed.h> #include "ble/BLE.h" #include "UUID.h" #include "SequanaPrimaryService.h" namespace sequana { const UUID PrimaryService::UUID_SEQUANA_PRIMARY_SERVICE("F79B4EB2-1B6E-41F2-8D65-D346B4EF5685"); UUID UUID_TEMPERATURE_CHAR(GattCharacteristic::UUID_TEMPERATURE_CHAR); UUID UUID_ACCELLEROMETER_CHAR("F79B4EB5-1B6E-41F2-8D65-D346B4EF5685"); UUID UUID_MAGNETOMETER_CHAR("F79B4EB7-1B6E-41F2-8D65-D346B4EF5685"); UUID UUID_AIR_QUALITY_CHAR("f79B4EBA-1B6E-41F2-8D65-D346B4EF5685"); UUID UUID_PARTICULATE_MATTER_CHAR("F79B4EBB-1B6B-41F2-8D65-D346B4EF5685"); UUID UUID_OTHER_ENV_CHAR("F79B4EBC-1B6E-41F2-8D65-D346B4EF5685"); int16_t tempValue = 0; SingleCharParams accMagSensorCharacteristics[2] = { { &UUID_ACCELLEROMETER_CHAR, 0, 6 }, { &UUID_MAGNETOMETER_CHAR, 6, 6 } }; PrimaryService::PrimaryService(BLE &ble, Kmx65Sensor &kmx65) : _ble(ble), _accMagSensorMeasurement(ble, accMagSensorCharacteristics, kmx65) { GattCharacteristic *sequanaChars[] = { _accMagSensorMeasurement.get_characteristic(0), _accMagSensorMeasurement.get_characteristic(1) }; GattService sequanaService(UUID_SEQUANA_PRIMARY_SERVICE, sequanaChars, sizeof(sequanaChars) / sizeof(GattCharacteristic *)); _ble.gattServer().addService(sequanaService); } } //namespace