HW layer for the Nucleo board, it only work with old BLE_API

Dependents:   Hello_BLE F446RE-BLE

Fork of X_NUCLEO_IDB0XA1 by ST

Committer:
hemddabral
Date:
Tue Aug 05 06:33:39 2014 +0000
Revision:
12:a5d7db4a1e49
Child:
14:baa7a1464517
support for setting tx power level

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hemddabral 12:a5d7db4a1e49 1 /* mbed Microcontroller Library
hemddabral 12:a5d7db4a1e49 2 * Copyright (c) 2006-2013 ARM Limited
hemddabral 12:a5d7db4a1e49 3 *
hemddabral 12:a5d7db4a1e49 4 * Licensed under the Apache License, Version 2.0 (the "License");
hemddabral 12:a5d7db4a1e49 5 * you may not use this file except in compliance with the License.
hemddabral 12:a5d7db4a1e49 6 * You may obtain a copy of the License at
hemddabral 12:a5d7db4a1e49 7 *
hemddabral 12:a5d7db4a1e49 8 * http://www.apache.org/licenses/LICENSE-2.0
hemddabral 12:a5d7db4a1e49 9 *
hemddabral 12:a5d7db4a1e49 10 * Unless required by applicable law or agreed to in writing, software
hemddabral 12:a5d7db4a1e49 11 * distributed under the License is distributed on an "AS IS" BASIS,
hemddabral 12:a5d7db4a1e49 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
hemddabral 12:a5d7db4a1e49 13 * See the License for the specific language governing permissions and
hemddabral 12:a5d7db4a1e49 14 * limitations under the License.
hemddabral 12:a5d7db4a1e49 15 */
hemddabral 12:a5d7db4a1e49 16
hemddabral 12:a5d7db4a1e49 17 #include <Payload.h>
hemddabral 12:a5d7db4a1e49 18
hemddabral 12:a5d7db4a1e49 19 Payload::Payload() {
hemddabral 12:a5d7db4a1e49 20 stringLength = 0;
hemddabral 12:a5d7db4a1e49 21 payloadUnitCount = 0;
hemddabral 12:a5d7db4a1e49 22 payload = NULL;
hemddabral 12:a5d7db4a1e49 23 }
hemddabral 12:a5d7db4a1e49 24
hemddabral 12:a5d7db4a1e49 25 Payload::Payload(const uint8_t *tokenString, uint8_t string_ength) {
hemddabral 12:a5d7db4a1e49 26 // initialize private data members
hemddabral 12:a5d7db4a1e49 27 stringLength = string_ength;
hemddabral 12:a5d7db4a1e49 28 payloadUnitCount = 0;
hemddabral 12:a5d7db4a1e49 29 payload = NULL;
hemddabral 12:a5d7db4a1e49 30
hemddabral 12:a5d7db4a1e49 31 int index = 0;
hemddabral 12:a5d7db4a1e49 32 while( index!=stringLength) {
hemddabral 12:a5d7db4a1e49 33 int len=tokenString[index];
hemddabral 12:a5d7db4a1e49 34 index=index+1+len;
hemddabral 12:a5d7db4a1e49 35 payloadUnitCount++;
hemddabral 12:a5d7db4a1e49 36 }
hemddabral 12:a5d7db4a1e49 37
hemddabral 12:a5d7db4a1e49 38 UnitPayload *obj = new UnitPayload[payloadUnitCount];
hemddabral 12:a5d7db4a1e49 39 int i=0;
hemddabral 12:a5d7db4a1e49 40 int c=0;
hemddabral 12:a5d7db4a1e49 41 int j,k;
hemddabral 12:a5d7db4a1e49 42
hemddabral 12:a5d7db4a1e49 43 while(i<payloadUnitCount)
hemddabral 12:a5d7db4a1e49 44 {
hemddabral 12:a5d7db4a1e49 45 obj[i].length=tokenString[c];
hemddabral 12:a5d7db4a1e49 46 obj[i].id=tokenString[c+1];
hemddabral 12:a5d7db4a1e49 47
hemddabral 12:a5d7db4a1e49 48 obj[i].data = new uint8_t[obj[i].length];
hemddabral 12:a5d7db4a1e49 49 for(j=c+2,k=0;(j<(c+obj[i].length+1))&&(k<obj[i].length-1);j++,k++)
hemddabral 12:a5d7db4a1e49 50 {
hemddabral 12:a5d7db4a1e49 51 obj[i].data[k]=tokenString[j];
hemddabral 12:a5d7db4a1e49 52
hemddabral 12:a5d7db4a1e49 53 }
hemddabral 12:a5d7db4a1e49 54
hemddabral 12:a5d7db4a1e49 55 c=c+obj[i].length+1;
hemddabral 12:a5d7db4a1e49 56 i++;
hemddabral 12:a5d7db4a1e49 57
hemddabral 12:a5d7db4a1e49 58 }
hemddabral 12:a5d7db4a1e49 59 payload = obj;
hemddabral 12:a5d7db4a1e49 60 }
hemddabral 12:a5d7db4a1e49 61
hemddabral 12:a5d7db4a1e49 62 uint8_t Payload::getPayloadUnitCount() {
hemddabral 12:a5d7db4a1e49 63 return payloadUnitCount;
hemddabral 12:a5d7db4a1e49 64 }
hemddabral 12:a5d7db4a1e49 65
hemddabral 12:a5d7db4a1e49 66 uint8_t Payload::getIDAtIndex(int index) {
hemddabral 12:a5d7db4a1e49 67 return payload[index].get_id();
hemddabral 12:a5d7db4a1e49 68 }
hemddabral 12:a5d7db4a1e49 69
hemddabral 12:a5d7db4a1e49 70 uint8_t Payload::getLengthAtIndex(int index) {
hemddabral 12:a5d7db4a1e49 71 return payload[index].get_length();
hemddabral 12:a5d7db4a1e49 72 }
hemddabral 12:a5d7db4a1e49 73
hemddabral 12:a5d7db4a1e49 74 uint8_t* Payload::getDataAtIndex(int index) {
hemddabral 12:a5d7db4a1e49 75 return payload[index].get_data();
hemddabral 12:a5d7db4a1e49 76 }
hemddabral 12:a5d7db4a1e49 77
hemddabral 12:a5d7db4a1e49 78 int8_t Payload::getInt8AtIndex(int index) {
hemddabral 12:a5d7db4a1e49 79 uint8_t* str = payload[index].get_data();
hemddabral 12:a5d7db4a1e49 80 int8_t value = (int8_t)str[0];
hemddabral 12:a5d7db4a1e49 81 return value;
hemddabral 12:a5d7db4a1e49 82 }