takashi kadono / Mbed OS Nucleo446_SSD1331

Dependencies:   ssd1331

Committer:
kadonotakashi
Date:
Wed Oct 10 00:33:53 2018 +0000
Revision:
0:8fdf9a60065b
how to make mbed librry

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kadonotakashi 0:8fdf9a60065b 1 /* mbed Microcontroller Library
kadonotakashi 0:8fdf9a60065b 2 * Copyright (c) 2006-2013 ARM Limited
kadonotakashi 0:8fdf9a60065b 3 *
kadonotakashi 0:8fdf9a60065b 4 * Licensed under the Apache License, Version 2.0 (the "License");
kadonotakashi 0:8fdf9a60065b 5 * you may not use this file except in compliance with the License.
kadonotakashi 0:8fdf9a60065b 6 * You may obtain a copy of the License at
kadonotakashi 0:8fdf9a60065b 7 *
kadonotakashi 0:8fdf9a60065b 8 * http://www.apache.org/licenses/LICENSE-2.0
kadonotakashi 0:8fdf9a60065b 9 *
kadonotakashi 0:8fdf9a60065b 10 * Unless required by applicable law or agreed to in writing, software
kadonotakashi 0:8fdf9a60065b 11 * distributed under the License is distributed on an "AS IS" BASIS,
kadonotakashi 0:8fdf9a60065b 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
kadonotakashi 0:8fdf9a60065b 13 * See the License for the specific language governing permissions and
kadonotakashi 0:8fdf9a60065b 14 * limitations under the License.
kadonotakashi 0:8fdf9a60065b 15 */
kadonotakashi 0:8fdf9a60065b 16
kadonotakashi 0:8fdf9a60065b 17 #include "ble/Gap.h"
kadonotakashi 0:8fdf9a60065b 18 #include "ble/GapScanningParams.h"
kadonotakashi 0:8fdf9a60065b 19
kadonotakashi 0:8fdf9a60065b 20 GapScanningParams::GapScanningParams(uint16_t interval, uint16_t window, uint16_t timeout, bool activeScanning) :
kadonotakashi 0:8fdf9a60065b 21 _interval(MSEC_TO_SCAN_DURATION_UNITS(interval)),
kadonotakashi 0:8fdf9a60065b 22 _window(MSEC_TO_SCAN_DURATION_UNITS(window)),
kadonotakashi 0:8fdf9a60065b 23 _timeout(timeout),
kadonotakashi 0:8fdf9a60065b 24 _activeScanning(activeScanning) {
kadonotakashi 0:8fdf9a60065b 25 /* stay within limits */
kadonotakashi 0:8fdf9a60065b 26 if (_interval < SCAN_INTERVAL_MIN) {
kadonotakashi 0:8fdf9a60065b 27 _interval = SCAN_INTERVAL_MIN;
kadonotakashi 0:8fdf9a60065b 28 }
kadonotakashi 0:8fdf9a60065b 29 if (_interval > SCAN_INTERVAL_MAX) {
kadonotakashi 0:8fdf9a60065b 30 _interval = SCAN_INTERVAL_MAX;
kadonotakashi 0:8fdf9a60065b 31 }
kadonotakashi 0:8fdf9a60065b 32 if (_window < SCAN_WINDOW_MIN) {
kadonotakashi 0:8fdf9a60065b 33 _window = SCAN_WINDOW_MIN;
kadonotakashi 0:8fdf9a60065b 34 }
kadonotakashi 0:8fdf9a60065b 35 if (_window > SCAN_WINDOW_MAX) {
kadonotakashi 0:8fdf9a60065b 36 _window = SCAN_WINDOW_MAX;
kadonotakashi 0:8fdf9a60065b 37 }
kadonotakashi 0:8fdf9a60065b 38 }
kadonotakashi 0:8fdf9a60065b 39
kadonotakashi 0:8fdf9a60065b 40 ble_error_t
kadonotakashi 0:8fdf9a60065b 41 GapScanningParams::setInterval(uint16_t newIntervalInMS)
kadonotakashi 0:8fdf9a60065b 42 {
kadonotakashi 0:8fdf9a60065b 43 uint16_t newInterval = MSEC_TO_SCAN_DURATION_UNITS(newIntervalInMS);
kadonotakashi 0:8fdf9a60065b 44 if ((newInterval >= SCAN_INTERVAL_MIN) && (newInterval < SCAN_INTERVAL_MAX)) {
kadonotakashi 0:8fdf9a60065b 45 _interval = newInterval;
kadonotakashi 0:8fdf9a60065b 46 return BLE_ERROR_NONE;
kadonotakashi 0:8fdf9a60065b 47 }
kadonotakashi 0:8fdf9a60065b 48
kadonotakashi 0:8fdf9a60065b 49 return BLE_ERROR_PARAM_OUT_OF_RANGE;
kadonotakashi 0:8fdf9a60065b 50 }
kadonotakashi 0:8fdf9a60065b 51
kadonotakashi 0:8fdf9a60065b 52 ble_error_t
kadonotakashi 0:8fdf9a60065b 53 GapScanningParams::setWindow(uint16_t newWindowInMS)
kadonotakashi 0:8fdf9a60065b 54 {
kadonotakashi 0:8fdf9a60065b 55 uint16_t newWindow = MSEC_TO_SCAN_DURATION_UNITS(newWindowInMS);
kadonotakashi 0:8fdf9a60065b 56 if ((newWindow >= SCAN_WINDOW_MIN) && (newWindow < SCAN_WINDOW_MAX)) {
kadonotakashi 0:8fdf9a60065b 57 _window = newWindow;
kadonotakashi 0:8fdf9a60065b 58 return BLE_ERROR_NONE;
kadonotakashi 0:8fdf9a60065b 59 }
kadonotakashi 0:8fdf9a60065b 60
kadonotakashi 0:8fdf9a60065b 61 return BLE_ERROR_PARAM_OUT_OF_RANGE;
kadonotakashi 0:8fdf9a60065b 62 }
kadonotakashi 0:8fdf9a60065b 63
kadonotakashi 0:8fdf9a60065b 64 ble_error_t
kadonotakashi 0:8fdf9a60065b 65 GapScanningParams::setTimeout(uint16_t newTimeout)
kadonotakashi 0:8fdf9a60065b 66 {
kadonotakashi 0:8fdf9a60065b 67 _timeout = newTimeout;
kadonotakashi 0:8fdf9a60065b 68 return BLE_ERROR_NONE;
kadonotakashi 0:8fdf9a60065b 69 }
kadonotakashi 0:8fdf9a60065b 70
kadonotakashi 0:8fdf9a60065b 71 void
kadonotakashi 0:8fdf9a60065b 72 GapScanningParams::setActiveScanning(bool activeScanning)
kadonotakashi 0:8fdf9a60065b 73 {
kadonotakashi 0:8fdf9a60065b 74 _activeScanning = activeScanning;
kadonotakashi 0:8fdf9a60065b 75 }