Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HC_SR04_Ultrasonic_Library Servo mbed
Fork of FIP_REV1 by
Diff: BLE_API/common/GapAdvertisingData.cpp
- Revision:
- 1:bdbf36f8408d
- Parent:
- 0:3d641e170a74
- Child:
- 2:b5166e24c7a6
--- a/BLE_API/common/GapAdvertisingData.cpp Tue May 19 16:43:59 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * 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 <stdio.h>
-#include <string.h>
-
-#include "GapAdvertisingData.h"
-
-/**************************************************************************/
-/*!
- \brief Creates a new GapAdvertisingData instance
-
- \par EXAMPLE
-
- \code
-
- \endcode
-*/
-/**************************************************************************/
-GapAdvertisingData::GapAdvertisingData(void) : _payload(), _payloadLen(0), _appearance(GENERIC_TAG) {
- /* empty */
-}
-
-/**************************************************************************/
-/*!
- Destructor
-*/
-/**************************************************************************/
-GapAdvertisingData::~GapAdvertisingData(void)
-{
-}
-
-/**************************************************************************/
-/*!
- \brief Adds advertising data based on the specified AD type (see
- DataType)
-
- \args[in] advDataType The Advertising 'DataType' to add
- \args[in] payload Pointer to the payload contents
- \args[in] len Size of the payload in bytes
-
- \returns ble_error_t
-
- \retval BLE_ERROR_NONE
- Everything executed properly
-
- \retval BLE_ERROR_BUFFER_OVERFLOW
- The specified data would cause the advertising buffer
- to overflow
-
- \par EXAMPLE
-
- \code
-
- \endcode
-*/
-/**************************************************************************/
-ble_error_t GapAdvertisingData::addData(DataType advDataType, const uint8_t *payload, uint8_t len)
-{
- /* ToDo: Check if an AD type already exists and if the existing */
- /* value is exclusive or not (flags, etc.) */
-
- /* Make sure we don't exceed the 31 byte payload limit */
- if (_payloadLen + len + 2 > GAP_ADVERTISING_DATA_MAX_PAYLOAD) {
- return BLE_ERROR_BUFFER_OVERFLOW;
- }
-
- /* Field length */
- memset(&_payload[_payloadLen], len + 1, 1);
- _payloadLen++;
-
- /* Field ID */
- memset(&_payload[_payloadLen], (uint8_t)advDataType, 1);
- _payloadLen++;
-
- /* Payload */
- memcpy(&_payload[_payloadLen], payload, len);
- _payloadLen += len;
-
- return BLE_ERROR_NONE;
-}
-
-/**************************************************************************/
-/*!
- \brief Helper function to add APPEARANCE data to the advertising
- payload
-
- \args[in] appearance The APPEARANCE value to add
-
- \returns ble_error_t
-
- \retval BLE_ERROR_NONE
- Everything executed properly
-
- \retval BLE_ERROR_BUFFER_OVERFLOW
- The specified data would cause the advertising buffer
- to overflow
-
- \par EXAMPLE
-
- \code
-
- \endcode
-*/
-/**************************************************************************/
-ble_error_t GapAdvertisingData::addAppearance(Appearance appearance)
-{
- _appearance = appearance;
- return addData(GapAdvertisingData::APPEARANCE, (uint8_t *)&appearance, 2);
-}
-
-/**************************************************************************/
-/*!
- \brief Helper function to add FLAGS data to the advertising
- payload
-
- \args[in] flag The FLAGS value to add
-
- \par LE_LIMITED_DISCOVERABLE
- The peripheral is discoverable for a limited period of
- time
-
- \par LE_GENERAL_DISCOVERABLE
- The peripheral is permanently discoverable
-
- \par BREDR_NOT_SUPPORTED
- This peripheral is a Bluetooth Low Energy only device
- (no EDR support)
-
- \returns ble_error_t
-
- \retval BLE_ERROR_NONE
- Everything executed properly
-
- \retval BLE_ERROR_BUFFER_OVERFLOW
- The specified data would cause the advertising buffer
- to overflow
-
- \par EXAMPLE
-
- \code
-
- \endcode
-*/
-/**************************************************************************/
-ble_error_t GapAdvertisingData::addFlags(uint8_t flags)
-{
- return addData(GapAdvertisingData::FLAGS, &flags, 1);
-}
-
-/**************************************************************************/
-/*!
- \brief Helper function to add TX_POWER_LEVEL data to the
- advertising payload
-
- \args[in] flag The TX_POWER_LEVEL value to add
-
- \returns ble_error_t
-
- \retval BLE_ERROR_NONE
- Everything executed properly
-
- \retval BLE_ERROR_BUFFER_OVERFLOW
- The specified data would cause the advertising buffer
- to overflow
-
- \par EXAMPLE
-
- \code
-
- \endcode
-*/
-/**************************************************************************/
-ble_error_t GapAdvertisingData::addTxPower(int8_t txPower)
-{
- /* ToDo: Basic error checking to make sure txPower is in range */
- return addData(GapAdvertisingData::TX_POWER_LEVEL, (uint8_t *)&txPower, 1);
-}
-
-/**************************************************************************/
-/*!
- \brief Clears the payload and resets the payload length counter
-*/
-/**************************************************************************/
-void GapAdvertisingData::clear(void)
-{
- memset(&_payload, 0, GAP_ADVERTISING_DATA_MAX_PAYLOAD);
- _payloadLen = 0;
-}
-
-/**************************************************************************/
-/*!
- \brief Returns a pointer to the the current payload
-
- \returns A pointer to the payload
-*/
-/**************************************************************************/
-const uint8_t *GapAdvertisingData::getPayload(void) const
-{
- return (_payloadLen > 0) ? _payload : NULL;
-}
-
-/**************************************************************************/
-/*!
- \brief Returns the current payload length (0..31 bytes)
-
- \returns The payload length in bytes
-*/
-/**************************************************************************/
-uint8_t GapAdvertisingData::getPayloadLen(void) const
-{
- return _payloadLen;
-}
-
-/**************************************************************************/
-/*!
- \brief Returns the 16-bit appearance value for this device
-
- \returns The 16-bit appearance value
-*/
-/**************************************************************************/
-uint16_t GapAdvertisingData::getAppearance(void) const
-{
- return (uint16_t)_appearance;
-}
