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.
Fork of X_NUCLEO_IDB0XA1 by
source/utils/ble_utils.cpp@309:42e0b6ff504d, 2017-09-04 (annotated)
- Committer:
- wkleunen
- Date:
- Mon Sep 04 14:21:08 2017 +0000
- Revision:
- 309:42e0b6ff504d
- Parent:
- 293:5a1f577bf92f
Allow override of IDB0XA1_PIN_SPI_IRQ from mbed_app.json
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Wolfgang Betz |
132:51056160fa4a | 1 | /* mbed Microcontroller Library |
Wolfgang Betz |
132:51056160fa4a | 2 | * Copyright (c) 2006-2013 ARM Limited |
Wolfgang Betz |
132:51056160fa4a | 3 | * |
Wolfgang Betz |
132:51056160fa4a | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
Wolfgang Betz |
132:51056160fa4a | 5 | * you may not use this file except in compliance with the License. |
Wolfgang Betz |
132:51056160fa4a | 6 | * You may obtain a copy of the License at |
Wolfgang Betz |
132:51056160fa4a | 7 | * |
Wolfgang Betz |
132:51056160fa4a | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
Wolfgang Betz |
132:51056160fa4a | 9 | * |
Wolfgang Betz |
132:51056160fa4a | 10 | * Unless required by applicable law or agreed to in writing, software |
Wolfgang Betz |
132:51056160fa4a | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
Wolfgang Betz |
132:51056160fa4a | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
Wolfgang Betz |
132:51056160fa4a | 13 | * See the License for the specific language governing permissions and |
Wolfgang Betz |
132:51056160fa4a | 14 | * limitations under the License. |
Wolfgang Betz |
132:51056160fa4a | 15 | */ |
Wolfgang Betz |
132:51056160fa4a | 16 | |
Vincent Coubard |
293:5a1f577bf92f | 17 | #include "ble_utils.h" |
Wolfgang Betz |
132:51056160fa4a | 18 | |
Wolfgang Betz |
132:51056160fa4a | 19 | /**************************************************************************/ |
Wolfgang Betz |
132:51056160fa4a | 20 | /*! |
Wolfgang Betz |
132:51056160fa4a | 21 | @brief sets values of EN_HIGH_POWER and PA_LEVEL corresponding to dBMLevel of tx power |
Wolfgang Betz |
132:51056160fa4a | 22 | |
Wolfgang Betz |
132:51056160fa4a | 23 | */ |
Wolfgang Betz |
132:51056160fa4a | 24 | /**************************************************************************/ |
Andrea Palmieri |
226:be2f4e1d0515 | 25 | tBleStatus getHighPowerAndPALevelValue(int8_t dBMLevel, int8_t& EN_HIGH_POWER, int8_t& PA_LEVEL) { |
Andrea Palmieri |
226:be2f4e1d0515 | 26 | tBleStatus ret = BLE_STATUS_SUCCESS; |
Andrea Palmieri |
226:be2f4e1d0515 | 27 | |
Andrea Palmieri |
226:be2f4e1d0515 | 28 | if(dBMLevel==-18) { |
Wolfgang Betz |
132:51056160fa4a | 29 | EN_HIGH_POWER = 0; |
Wolfgang Betz |
132:51056160fa4a | 30 | PA_LEVEL = 0; |
Wolfgang Betz |
132:51056160fa4a | 31 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 32 | else if(dBMLevel==-15) { |
Andrea Palmieri |
226:be2f4e1d0515 | 33 | EN_HIGH_POWER = 0; |
Andrea Palmieri |
226:be2f4e1d0515 | 34 | PA_LEVEL = 1; |
Wolfgang Betz |
132:51056160fa4a | 35 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 36 | else if(dBMLevel==-14) { |
Andrea Palmieri |
226:be2f4e1d0515 | 37 | EN_HIGH_POWER = 1; |
Wolfgang Betz |
132:51056160fa4a | 38 | PA_LEVEL = 0; |
Wolfgang Betz |
132:51056160fa4a | 39 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 40 | else if(dBMLevel==-12) { |
Wolfgang Betz |
132:51056160fa4a | 41 | EN_HIGH_POWER = 0; |
Andrea Palmieri |
226:be2f4e1d0515 | 42 | PA_LEVEL = 2; |
Wolfgang Betz |
132:51056160fa4a | 43 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 44 | else if(dBMLevel==-11) { |
Wolfgang Betz |
132:51056160fa4a | 45 | EN_HIGH_POWER = 1; |
Andrea Palmieri |
226:be2f4e1d0515 | 46 | PA_LEVEL = 1; |
Andrea Palmieri |
226:be2f4e1d0515 | 47 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 48 | else if(dBMLevel==-9) { |
Wolfgang Betz |
132:51056160fa4a | 49 | EN_HIGH_POWER = 0; |
Andrea Palmieri |
226:be2f4e1d0515 | 50 | PA_LEVEL = 3; |
Wolfgang Betz |
132:51056160fa4a | 51 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 52 | else if(dBMLevel==-8) { |
Wolfgang Betz |
132:51056160fa4a | 53 | EN_HIGH_POWER = 1; |
Andrea Palmieri |
226:be2f4e1d0515 | 54 | PA_LEVEL = 2; |
Wolfgang Betz |
132:51056160fa4a | 55 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 56 | else if(dBMLevel==-6) { |
Andrea Palmieri |
226:be2f4e1d0515 | 57 | EN_HIGH_POWER = 0; |
Andrea Palmieri |
226:be2f4e1d0515 | 58 | PA_LEVEL = 4; |
Andrea Palmieri |
226:be2f4e1d0515 | 59 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 60 | else if(dBMLevel==-5) { |
Wolfgang Betz |
132:51056160fa4a | 61 | EN_HIGH_POWER = 1; |
Andrea Palmieri |
226:be2f4e1d0515 | 62 | PA_LEVEL = 3; |
Wolfgang Betz |
132:51056160fa4a | 63 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 64 | else if(dBMLevel==-2) { |
Wolfgang Betz |
132:51056160fa4a | 65 | EN_HIGH_POWER = 1; |
Andrea Palmieri |
226:be2f4e1d0515 | 66 | PA_LEVEL = 4; |
Wolfgang Betz |
132:51056160fa4a | 67 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 68 | else if(dBMLevel==0) { |
Wolfgang Betz |
132:51056160fa4a | 69 | EN_HIGH_POWER = 0; |
Andrea Palmieri |
226:be2f4e1d0515 | 70 | PA_LEVEL = 6; |
Wolfgang Betz |
132:51056160fa4a | 71 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 72 | else if(dBMLevel==2) { |
Wolfgang Betz |
132:51056160fa4a | 73 | EN_HIGH_POWER = 1; |
Andrea Palmieri |
226:be2f4e1d0515 | 74 | PA_LEVEL = 5; |
Andrea Palmieri |
226:be2f4e1d0515 | 75 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 76 | else if(dBMLevel==4) { |
Andrea Palmieri |
226:be2f4e1d0515 | 77 | EN_HIGH_POWER = 1; |
Andrea Palmieri |
226:be2f4e1d0515 | 78 | PA_LEVEL = 6; |
Andrea Palmieri |
226:be2f4e1d0515 | 79 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 80 | else if(dBMLevel==5) { |
Wolfgang Betz |
132:51056160fa4a | 81 | EN_HIGH_POWER = 0; |
Andrea Palmieri |
226:be2f4e1d0515 | 82 | PA_LEVEL = 7; |
Wolfgang Betz |
132:51056160fa4a | 83 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 84 | else if(dBMLevel==8) { |
Wolfgang Betz |
132:51056160fa4a | 85 | EN_HIGH_POWER = 1; |
Andrea Palmieri |
226:be2f4e1d0515 | 86 | PA_LEVEL = 7; |
Andrea Palmieri |
226:be2f4e1d0515 | 87 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 88 | else { |
Andrea Palmieri |
226:be2f4e1d0515 | 89 | ret = ERR_INVALID_HCI_CMD_PARAMS; |
Andrea Palmieri |
226:be2f4e1d0515 | 90 | } |
Andrea Palmieri |
226:be2f4e1d0515 | 91 | |
Andrea Palmieri |
226:be2f4e1d0515 | 92 | return ret; |
Vincent Coubard |
293:5a1f577bf92f | 93 | } |