Run on TY51822r3 board with ACC sensor (LIS3DH or BMC050)

Dependencies:   BLE_API LIS3DH mbed nRF51822 BMC050 nRF51_LowPwr nRF51_Vdd

Fork of BLE_EddystoneBeacon_Service by Bluetooth Low Energy

Committer:
kenjiArai
Date:
Sat Jun 11 01:51:59 2016 +0000
Revision:
37:ea459e6c6a35
Parent:
34:f6d4a699a1ea
Added low power mode (use nRF51_LowPwr library) for reduce Idle Current

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andresag 34:f6d4a699a1ea 1 /* mbed Microcontroller Library
andresag 34:f6d4a699a1ea 2 * Copyright (c) 2006-2015 ARM Limited
andresag 34:f6d4a699a1ea 3 *
andresag 34:f6d4a699a1ea 4 * Licensed under the Apache License, Version 2.0 (the "License");
andresag 34:f6d4a699a1ea 5 * you may not use this file except in compliance with the License.
andresag 34:f6d4a699a1ea 6 * You may obtain a copy of the License at
andresag 34:f6d4a699a1ea 7 *
andresag 34:f6d4a699a1ea 8 * http://www.apache.org/licenses/LICENSE-2.0
andresag 34:f6d4a699a1ea 9 *
andresag 34:f6d4a699a1ea 10 * Unless required by applicable law or agreed to in writing, software
andresag 34:f6d4a699a1ea 11 * distributed under the License is distributed on an "AS IS" BASIS,
andresag 34:f6d4a699a1ea 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
andresag 34:f6d4a699a1ea 13 * See the License for the specific language governing permissions and
andresag 34:f6d4a699a1ea 14 * limitations under the License.
andresag 34:f6d4a699a1ea 15 */
andresag 34:f6d4a699a1ea 16
andresag 34:f6d4a699a1ea 17 #ifndef __URLFRAME_H__
andresag 34:f6d4a699a1ea 18 #define __URLFRAME_H__
andresag 34:f6d4a699a1ea 19
andresag 34:f6d4a699a1ea 20 #include "EddystoneTypes.h"
andresag 34:f6d4a699a1ea 21 #include <string.h>
andresag 34:f6d4a699a1ea 22
andresag 34:f6d4a699a1ea 23 class URLFrame
andresag 34:f6d4a699a1ea 24 {
andresag 34:f6d4a699a1ea 25 public:
andresag 34:f6d4a699a1ea 26 URLFrame(void);
andresag 34:f6d4a699a1ea 27
andresag 34:f6d4a699a1ea 28 URLFrame(const char *urlDataIn);
andresag 34:f6d4a699a1ea 29
andresag 34:f6d4a699a1ea 30 URLFrame(UrlData_t urlDataIn, uint8_t urlDataLength);
andresag 34:f6d4a699a1ea 31
andresag 34:f6d4a699a1ea 32 void constructURLFrame(uint8_t* rawFrame, int8_t advPowerLevel);
andresag 34:f6d4a699a1ea 33
andresag 34:f6d4a699a1ea 34 size_t getRawFrameSize(void) const;
andresag 34:f6d4a699a1ea 35
andresag 34:f6d4a699a1ea 36 uint8_t* getEncodedURLData(void);
andresag 34:f6d4a699a1ea 37
andresag 34:f6d4a699a1ea 38 uint8_t getEncodedURLDataLength(void) const;
andresag 34:f6d4a699a1ea 39
andresag 34:f6d4a699a1ea 40 void setURLData(const char *urlDataIn);
andresag 34:f6d4a699a1ea 41
andresag 34:f6d4a699a1ea 42 void setEncodedURLData(const uint8_t* urlEncodedDataIn, const uint8_t urlEncodedDataLengthIn);
andresag 34:f6d4a699a1ea 43
andresag 34:f6d4a699a1ea 44 private:
andresag 34:f6d4a699a1ea 45 void encodeURL(const char *urlDataIn);
andresag 34:f6d4a699a1ea 46
andresag 34:f6d4a699a1ea 47 static const uint8_t FRAME_TYPE_URL = 0x10;
andresag 34:f6d4a699a1ea 48 /* Even if the URL is 0 bytes we still need to include the type and txPower i.e. 2 bytes */
andresag 34:f6d4a699a1ea 49 static const uint8_t FRAME_MIN_SIZE_URL = 2;
andresag 34:f6d4a699a1ea 50
andresag 34:f6d4a699a1ea 51 uint8_t urlDataLength;
andresag 34:f6d4a699a1ea 52 UrlData_t urlData;
andresag 34:f6d4a699a1ea 53
andresag 34:f6d4a699a1ea 54 };
andresag 34:f6d4a699a1ea 55
andresag 34:f6d4a699a1ea 56 #endif /* __URLFRAME_H__ */