fix nrf51822 i2c & spi conflict

Dependencies:   BLE_API eMPL_MPU6050 nRF51822

Fork of Seeed_Tiny_BLE_Flash by Darren Huang

Committer:
yihui
Date:
Tue Nov 17 07:48:56 2015 +0000
Revision:
5:b8c02645e6af
fix i2c & spi conflict

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yihui 5:b8c02645e6af 1 /* mbed Microcontroller Library
yihui 5:b8c02645e6af 2 * Copyright (c) 2006-2013 ARM Limited
yihui 5:b8c02645e6af 3 *
yihui 5:b8c02645e6af 4 * Licensed under the Apache License, Version 2.0 (the "License");
yihui 5:b8c02645e6af 5 * you may not use this file except in compliance with the License.
yihui 5:b8c02645e6af 6 * You may obtain a copy of the License at
yihui 5:b8c02645e6af 7 *
yihui 5:b8c02645e6af 8 * http://www.apache.org/licenses/LICENSE-2.0
yihui 5:b8c02645e6af 9 *
yihui 5:b8c02645e6af 10 * Unless required by applicable law or agreed to in writing, software
yihui 5:b8c02645e6af 11 * distributed under the License is distributed on an "AS IS" BASIS,
yihui 5:b8c02645e6af 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
yihui 5:b8c02645e6af 13 * See the License for the specific language governing permissions and
yihui 5:b8c02645e6af 14 * limitations under the License.
yihui 5:b8c02645e6af 15 */
yihui 5:b8c02645e6af 16 #ifndef MBED_ANALOGIN_H
yihui 5:b8c02645e6af 17 #define MBED_ANALOGIN_H
yihui 5:b8c02645e6af 18
yihui 5:b8c02645e6af 19 #include "platform.h"
yihui 5:b8c02645e6af 20
yihui 5:b8c02645e6af 21 #if DEVICE_ANALOGIN
yihui 5:b8c02645e6af 22
yihui 5:b8c02645e6af 23 #include "analogin_api.h"
yihui 5:b8c02645e6af 24
yihui 5:b8c02645e6af 25 namespace mbed {
yihui 5:b8c02645e6af 26
yihui 5:b8c02645e6af 27 /** An analog input, used for reading the voltage on a pin
yihui 5:b8c02645e6af 28 *
yihui 5:b8c02645e6af 29 * Example:
yihui 5:b8c02645e6af 30 * @code
yihui 5:b8c02645e6af 31 * // Print messages when the AnalogIn is greater than 50%
yihui 5:b8c02645e6af 32 *
yihui 5:b8c02645e6af 33 * #include "mbed.h"
yihui 5:b8c02645e6af 34 *
yihui 5:b8c02645e6af 35 * AnalogIn temperature(p20);
yihui 5:b8c02645e6af 36 *
yihui 5:b8c02645e6af 37 * int main() {
yihui 5:b8c02645e6af 38 * while(1) {
yihui 5:b8c02645e6af 39 * if(temperature > 0.5) {
yihui 5:b8c02645e6af 40 * printf("Too hot! (%f)", temperature.read());
yihui 5:b8c02645e6af 41 * }
yihui 5:b8c02645e6af 42 * }
yihui 5:b8c02645e6af 43 * }
yihui 5:b8c02645e6af 44 * @endcode
yihui 5:b8c02645e6af 45 */
yihui 5:b8c02645e6af 46 class AnalogIn {
yihui 5:b8c02645e6af 47
yihui 5:b8c02645e6af 48 public:
yihui 5:b8c02645e6af 49
yihui 5:b8c02645e6af 50 /** Create an AnalogIn, connected to the specified pin
yihui 5:b8c02645e6af 51 *
yihui 5:b8c02645e6af 52 * @param pin AnalogIn pin to connect to
yihui 5:b8c02645e6af 53 * @param name (optional) A string to identify the object
yihui 5:b8c02645e6af 54 */
yihui 5:b8c02645e6af 55 AnalogIn(PinName pin) {
yihui 5:b8c02645e6af 56 analogin_init(&_adc, pin);
yihui 5:b8c02645e6af 57 }
yihui 5:b8c02645e6af 58
yihui 5:b8c02645e6af 59 /** Read the input voltage, represented as a float in the range [0.0, 1.0]
yihui 5:b8c02645e6af 60 *
yihui 5:b8c02645e6af 61 * @returns A floating-point value representing the current input voltage, measured as a percentage
yihui 5:b8c02645e6af 62 */
yihui 5:b8c02645e6af 63 float read() {
yihui 5:b8c02645e6af 64 return analogin_read(&_adc);
yihui 5:b8c02645e6af 65 }
yihui 5:b8c02645e6af 66
yihui 5:b8c02645e6af 67 /** Read the input voltage, represented as an unsigned short in the range [0x0, 0xFFFF]
yihui 5:b8c02645e6af 68 *
yihui 5:b8c02645e6af 69 * @returns
yihui 5:b8c02645e6af 70 * 16-bit unsigned short representing the current input voltage, normalised to a 16-bit value
yihui 5:b8c02645e6af 71 */
yihui 5:b8c02645e6af 72 unsigned short read_u16() {
yihui 5:b8c02645e6af 73 return analogin_read_u16(&_adc);
yihui 5:b8c02645e6af 74 }
yihui 5:b8c02645e6af 75
yihui 5:b8c02645e6af 76 #ifdef MBED_OPERATORS
yihui 5:b8c02645e6af 77 /** An operator shorthand for read()
yihui 5:b8c02645e6af 78 *
yihui 5:b8c02645e6af 79 * The float() operator can be used as a shorthand for read() to simplify common code sequences
yihui 5:b8c02645e6af 80 *
yihui 5:b8c02645e6af 81 * Example:
yihui 5:b8c02645e6af 82 * @code
yihui 5:b8c02645e6af 83 * float x = volume.read();
yihui 5:b8c02645e6af 84 * float x = volume;
yihui 5:b8c02645e6af 85 *
yihui 5:b8c02645e6af 86 * if(volume.read() > 0.25) { ... }
yihui 5:b8c02645e6af 87 * if(volume > 0.25) { ... }
yihui 5:b8c02645e6af 88 * @endcode
yihui 5:b8c02645e6af 89 */
yihui 5:b8c02645e6af 90 operator float() {
yihui 5:b8c02645e6af 91 return read();
yihui 5:b8c02645e6af 92 }
yihui 5:b8c02645e6af 93 #endif
yihui 5:b8c02645e6af 94
yihui 5:b8c02645e6af 95 protected:
yihui 5:b8c02645e6af 96 analogin_t _adc;
yihui 5:b8c02645e6af 97 };
yihui 5:b8c02645e6af 98
yihui 5:b8c02645e6af 99 } // namespace mbed
yihui 5:b8c02645e6af 100
yihui 5:b8c02645e6af 101 #endif
yihui 5:b8c02645e6af 102
yihui 5:b8c02645e6af 103 #endif