Wallbot_CaaS
Dependencies: MPU6050 mbed PID
Fork of BLE_MPU6050_test6_challenge_sb by
GapAdvertisingParams.h
00001 /* mbed Microcontroller Library 00002 * Copyright (c) 2006-2013 ARM Limited 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #ifndef __GAP_ADVERTISING_PARAMS_H__ 00018 #define __GAP_ADVERTISING_PARAMS_H__ 00019 00020 /**************************************************************************/ 00021 /*! 00022 \brief 00023 This class provides a wrapper for the core advertising parameters, 00024 including the advertising type (Connectable Undirected, 00025 Non Connectable Undirected, etc.), as well as the advertising and 00026 timeout intervals. 00027 00028 \par 00029 See the following for more information on advertising types: 00030 00031 \li \c Bluetooth Core Specification 4.0 (Vol. 6), Part B, Section 2.3.1 00032 \li \c Bluetooth Core Specification 4.0 (Vol. 3), Part C, Section 9.3 00033 */ 00034 /**************************************************************************/ 00035 class GapAdvertisingParams { 00036 public: 00037 static const unsigned GAP_ADV_PARAMS_INTERVAL_MIN = 0x0020; 00038 static const unsigned GAP_ADV_PARAMS_INTERVAL_MIN_NONCON = 0x00A0; 00039 static const unsigned GAP_ADV_PARAMS_INTERVAL_MAX = 0x4000; 00040 static const unsigned GAP_ADV_PARAMS_TIMEOUT_MAX = 0x3FFF; 00041 00042 /**************************************************************************/ 00043 /*! 00044 \brief 00045 Encapsulates the peripheral advertising modes, which determine how 00046 the device appears to other central devices in hearing range 00047 00048 \par 00049 See the following for more information on advertising types: 00050 00051 \li \c Bluetooth Core Specification 4.0 (Vol. 6), Part B, Section 2.3.1 00052 \li \c Bluetooth Core Specification 4.0 (Vol. 3), Part C, Section 9.3 00053 */ 00054 /**************************************************************************/ 00055 enum AdvertisingType { 00056 ADV_CONNECTABLE_UNDIRECTED, /**< Vol 3, Part C, Section 9.3.4 and Vol 6, Part B, Section 2.3.1.1 */ 00057 ADV_CONNECTABLE_DIRECTED, /**< Vol 3, Part C, Section 9.3.3 and Vol 6, Part B, Section 2.3.1.2 */ 00058 ADV_SCANNABLE_UNDIRECTED, /**< Include support for Scan Response payloads, see Vol 6, Part B, Section 2.3.1.4 */ 00059 ADV_NON_CONNECTABLE_UNDIRECTED /**< Vol 3, Part C, Section 9.3.2 and Vol 6, Part B, Section 2.3.1.3 */ 00060 }; 00061 00062 public: 00063 GapAdvertisingParams(AdvertisingType advType = GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED, 00064 uint16_t interval = GAP_ADV_PARAMS_INTERVAL_MIN_NONCON, 00065 uint16_t timeout = 0); 00066 virtual ~GapAdvertisingParams (void); 00067 00068 AdvertisingType getAdvertisingType(void) const {return _advType; } 00069 uint16_t getInterval(void) const {return _interval;} 00070 uint16_t getTimeout(void) const {return _timeout; } 00071 00072 void setAdvertisingType(AdvertisingType newAdvType) {_advType = newAdvType; } 00073 void setInterval(uint16_t newInterval) {_interval = newInterval;} 00074 void setTimeout(uint16_t newTimeout) {_timeout = newTimeout; } 00075 00076 private: 00077 AdvertisingType _advType; 00078 uint16_t _interval; 00079 uint16_t _timeout; 00080 00081 private: 00082 /* disallow copy constructor */ 00083 GapAdvertisingParams(const GapAdvertisingParams &); 00084 }; 00085 00086 #endif // ifndef __GAP_ADVERTISING_PARAMS_H__
Generated on Tue Jul 12 2022 18:33:09 by 1.7.2