ON Semiconductor / mbed-os

Dependents:   mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510

Committer:
jacobjohnson
Date:
Mon Feb 27 17:45:05 2017 +0000
Revision:
1:f30bdcd2b33b
Parent:
0:098463de4c5d
changed the inputscale from 1 to 7 in analogin_api.c.  This will need to be changed later, and accessed from the main level, but for now this allows the  adc to read a value from 0 to 3.7V, instead of just up to 1V.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-onsemi 0:098463de4c5d 1 /* mbed Microcontroller Library
group-onsemi 0:098463de4c5d 2 * Copyright (c) 2006-2015 ARM Limited
group-onsemi 0:098463de4c5d 3 *
group-onsemi 0:098463de4c5d 4 * Licensed under the Apache License, Version 2.0 (the "License");
group-onsemi 0:098463de4c5d 5 * you may not use this file except in compliance with the License.
group-onsemi 0:098463de4c5d 6 * You may obtain a copy of the License at
group-onsemi 0:098463de4c5d 7 *
group-onsemi 0:098463de4c5d 8 * http://www.apache.org/licenses/LICENSE-2.0
group-onsemi 0:098463de4c5d 9 *
group-onsemi 0:098463de4c5d 10 * Unless required by applicable law or agreed to in writing, software
group-onsemi 0:098463de4c5d 11 * distributed under the License is distributed on an "AS IS" BASIS,
group-onsemi 0:098463de4c5d 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
group-onsemi 0:098463de4c5d 13 * See the License for the specific language governing permissions and
group-onsemi 0:098463de4c5d 14 * limitations under the License.
group-onsemi 0:098463de4c5d 15 */
group-onsemi 0:098463de4c5d 16 #ifndef PINMAP_FUNCTION_H
group-onsemi 0:098463de4c5d 17 #define PINMAP_FUNCTION_H
group-onsemi 0:098463de4c5d 18
group-onsemi 0:098463de4c5d 19 #include <compiler.h>
group-onsemi 0:098463de4c5d 20 #include "cmsis.h"
group-onsemi 0:098463de4c5d 21 #include "PinNames.h"
group-onsemi 0:098463de4c5d 22 #include "pinmux.h"
group-onsemi 0:098463de4c5d 23 #include "pinmap.h"
group-onsemi 0:098463de4c5d 24
group-onsemi 0:098463de4c5d 25 #include "PeripheralPins.h"
group-onsemi 0:098463de4c5d 26
group-onsemi 0:098463de4c5d 27 #ifdef __cplusplus
group-onsemi 0:098463de4c5d 28 extern "C" {
group-onsemi 0:098463de4c5d 29 #endif
group-onsemi 0:098463de4c5d 30
group-onsemi 0:098463de4c5d 31 enum sercom_pad_selection {
group-onsemi 0:098463de4c5d 32 SERCOM_USE_DEFAULT_PAD,
group-onsemi 0:098463de4c5d 33 SERCOM_USE_EXTENDED_PAD,
group-onsemi 0:098463de4c5d 34 };
group-onsemi 0:098463de4c5d 35
group-onsemi 0:098463de4c5d 36 /** Find the SERCOM peripheral of given pin
group-onsemi 0:098463de4c5d 37 *
group-onsemi 0:098463de4c5d 38 * Find and return the SERCOM peripheral of input pin, either from default pas, or from extended pads
group-onsemi 0:098463de4c5d 39 * @param[in] pin1 First pin
group-onsemi 0:098463de4c5d 40 * @param[in] pad_select Second pin
group-onsemi 0:098463de4c5d 41 * @return SERCOM peripheral if found, else, NC
group-onsemi 0:098463de4c5d 42 */
group-onsemi 0:098463de4c5d 43 uint32_t pinmap_find_peripheral_from_pad(PinName pin, enum sercom_pad_selection pad_select);
group-onsemi 0:098463de4c5d 44
group-onsemi 0:098463de4c5d 45 /** Find the common SERCOM shared by two pins
group-onsemi 0:098463de4c5d 46 *
group-onsemi 0:098463de4c5d 47 * Finds the common SERCOM index of two input pins.
group-onsemi 0:098463de4c5d 48 * If swapping the input argument gives different result, it means, two SERCOMs share both pins
group-onsemi 0:098463de4c5d 49 * @param[in] pin1 First pin
group-onsemi 0:098463de4c5d 50 * @param[in] pin2 Second pin
group-onsemi 0:098463de4c5d 51 * @return SERCOM index if found, else, NC
group-onsemi 0:098463de4c5d 52 */
group-onsemi 0:098463de4c5d 53 uint32_t pinmap_merge_sercom(PinName pin1, PinName pin2);
group-onsemi 0:098463de4c5d 54
group-onsemi 0:098463de4c5d 55 /** Find the common SERCOM shared by four pins
group-onsemi 0:098463de4c5d 56 *
group-onsemi 0:098463de4c5d 57 * Finds the common SERCOM index shared by four input pins.
group-onsemi 0:098463de4c5d 58 * If reversing the input argument order gives different result, it means, two SERCOMs share the pins
group-onsemi 0:098463de4c5d 59 * @param[in] pin1 First pin
group-onsemi 0:098463de4c5d 60 * @param[in] pin2 Second pin
group-onsemi 0:098463de4c5d 61 * @param[in] pin3 Third pin
group-onsemi 0:098463de4c5d 62 * @param[in] pin4 Fourth pin
group-onsemi 0:098463de4c5d 63 * @return SERCOM index if found, else, NC
group-onsemi 0:098463de4c5d 64 */
group-onsemi 0:098463de4c5d 65 uint32_t pinmap_find_sercom(PinName pin1, PinName pin2, PinName pin3, PinName pin4);
group-onsemi 0:098463de4c5d 66
group-onsemi 0:098463de4c5d 67 /** Find the MUX function of input pin specific to given SERCOM index
group-onsemi 0:098463de4c5d 68 *
group-onsemi 0:098463de4c5d 69 * @param[in] pin Pin whose function is to be found out
group-onsemi 0:098463de4c5d 70 * @param[in] sercom_index SERCOM index
group-onsemi 0:098463de4c5d 71 * @return MUX function if found, else, NC
group-onsemi 0:098463de4c5d 72 */
group-onsemi 0:098463de4c5d 73 uint32_t pinmap_function_sercom(PinName pin, uint32_t sercom_index);
group-onsemi 0:098463de4c5d 74
group-onsemi 0:098463de4c5d 75 /** Find the MUX pad of input pin specific to given SERCOM index
group-onsemi 0:098463de4c5d 76 *
group-onsemi 0:098463de4c5d 77 * @param[in] pin Pin whose function is to be found out
group-onsemi 0:098463de4c5d 78 * @param[in] sercom_index SERCOM index
group-onsemi 0:098463de4c5d 79 * @return MUX pad if found, else, NC
group-onsemi 0:098463de4c5d 80 */
group-onsemi 0:098463de4c5d 81 uint32_t pinmap_pad_sercom(PinName pin, uint32_t sercom_index);
group-onsemi 0:098463de4c5d 82
group-onsemi 0:098463de4c5d 83 /** Find the MUX function of input pin specific to given SERCOM index
group-onsemi 0:098463de4c5d 84 *
group-onsemi 0:098463de4c5d 85 * @param[in] pin unused
group-onsemi 0:098463de4c5d 86 * @param[in] sercom_index SERCOM index
group-onsemi 0:098463de4c5d 87 * @return base address to SERCOM if found, else NC
group-onsemi 0:098463de4c5d 88 */
group-onsemi 0:098463de4c5d 89 uint32_t pinmap_peripheral_sercom(PinName pin, uint32_t sercom_index);
group-onsemi 0:098463de4c5d 90
group-onsemi 0:098463de4c5d 91 /** Find the channel index of a pin specific to a PWM instance
group-onsemi 0:098463de4c5d 92 *
group-onsemi 0:098463de4c5d 93 * @param[in] pin pin name
group-onsemi 0:098463de4c5d 94 * @param[in] pwm pwm peripheral (unused now)
group-onsemi 0:098463de4c5d 95 * @return Channel index of the specified pin
group-onsemi 0:098463de4c5d 96 */
group-onsemi 0:098463de4c5d 97 uint32_t pinmap_channel_pwm(PinName pin, PWMName pwm);
group-onsemi 0:098463de4c5d 98
group-onsemi 0:098463de4c5d 99 #ifdef __cplusplus
group-onsemi 0:098463de4c5d 100 }
group-onsemi 0:098463de4c5d 101 #endif
group-onsemi 0:098463de4c5d 102
group-onsemi 0:098463de4c5d 103 #endif /* PINMAP_FUNCTION_H */