mbed library sources. Supersedes mbed-src.

Fork of mbed by teralytic

Committer:
rodriguise
Date:
Mon Oct 17 18:47:01 2016 +0000
Revision:
148:4802eb17e82b
Parent:
147:30b64687e01f
backup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 /**
<> 144:ef7eb2e8f9f7 2 ******************************************************************************
<> 144:ef7eb2e8f9f7 3 * @file adc_sar.h
<> 144:ef7eb2e8f9f7 4 * @internal
<> 144:ef7eb2e8f9f7 5 * @author ON Semiconductor
<> 144:ef7eb2e8f9f7 6 * $Rev: 3426 $
<> 144:ef7eb2e8f9f7 7 * $Date: 2015-06-15 16:46:35 +0530 (Mon, 15 Jun 2015) $
<> 144:ef7eb2e8f9f7 8 * @brief Definitions and API for the SAR ADC driver.
<> 144:ef7eb2e8f9f7 9 ******************************************************************************
<> 147:30b64687e01f 10 * Copyright 2016 Semiconductor Components Industries LLC (d/b/a “ON Semiconductor”).
<> 147:30b64687e01f 11 * All rights reserved. This software and/or documentation is licensed by ON Semiconductor
<> 147:30b64687e01f 12 * under limited terms and conditions. The terms and conditions pertaining to the software
<> 147:30b64687e01f 13 * and/or documentation are available at http://www.onsemi.com/site/pdf/ONSEMI_T&C.pdf
<> 147:30b64687e01f 14 * (“ON Semiconductor Standard Terms and Conditions of Sale, Section 8 Software”) and
<> 147:30b64687e01f 15 * if applicable the software license agreement. Do not use this software and/or
<> 147:30b64687e01f 16 * documentation unless you have carefully read and you agree to the limited terms and
<> 147:30b64687e01f 17 * conditions. By using this software and/or documentation, you agree to the limited
<> 147:30b64687e01f 18 * terms and conditions.
<> 144:ef7eb2e8f9f7 19 *
<> 144:ef7eb2e8f9f7 20 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
<> 144:ef7eb2e8f9f7 21 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
<> 144:ef7eb2e8f9f7 22 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
<> 144:ef7eb2e8f9f7 23 * ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL,
<> 144:ef7eb2e8f9f7 24 * INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
<> 144:ef7eb2e8f9f7 25 * @endinternal
<> 144:ef7eb2e8f9f7 26 *
<> 144:ef7eb2e8f9f7 27 * @ingroup adc_sar
<> 144:ef7eb2e8f9f7 28 *
<> 144:ef7eb2e8f9f7 29 * @details
<> 144:ef7eb2e8f9f7 30 * <p>
<> 144:ef7eb2e8f9f7 31 * </p>
<> 144:ef7eb2e8f9f7 32 */
<> 144:ef7eb2e8f9f7 33
<> 144:ef7eb2e8f9f7 34 #ifndef ADC_DRIVER_H_
<> 144:ef7eb2e8f9f7 35 #define ADC_DRIVER_H_
<> 144:ef7eb2e8f9f7 36
<> 144:ef7eb2e8f9f7 37 #include "adc_sar_map.h"
<> 144:ef7eb2e8f9f7 38
<> 144:ef7eb2e8f9f7 39 #if DEVICE_ANALOGIN
<> 144:ef7eb2e8f9f7 40
<> 144:ef7eb2e8f9f7 41 #ifdef __cplusplus
<> 144:ef7eb2e8f9f7 42 extern "C" {
<> 144:ef7eb2e8f9f7 43 #endif
<> 144:ef7eb2e8f9f7 44
<> 144:ef7eb2e8f9f7 45 /* ADC register bits */
<> 144:ef7eb2e8f9f7 46 #define ADC_CONTROL_MODE_BIT_POS 0
<> 144:ef7eb2e8f9f7 47 #define ADC_CONTROL_MEASTYPE_BIT_POS 3
<> 144:ef7eb2e8f9f7 48 #define ADC_CONTROL_INPUTSCALE_BIT_POS 4
<> 144:ef7eb2e8f9f7 49 #define ADC_CONTROL_MEAS_CH_BIT_POS 8
<> 144:ef7eb2e8f9f7 50 #define ADC_CONTROL_REF_CH_BIT_POS 12
<> 144:ef7eb2e8f9f7 51 #define ADC_PRESCALE_VAL_BIT_POS 0
<> 144:ef7eb2e8f9f7 52 #define ADC_PRESCALE_EN_BIT_POS 8
<> 144:ef7eb2e8f9f7 53 #define ADC_DELAY_SAMPLE_RATE_BIT_POS 0
<> 144:ef7eb2e8f9f7 54 #define ADC_DELAY_WARMUP_BIT_POS 16
<> 144:ef7eb2e8f9f7 55 #define ADC_DELAY_SAMPLE_TIME_BIT_POS 24
<> 144:ef7eb2e8f9f7 56
<> 144:ef7eb2e8f9f7 57 typedef enum {
<> 144:ef7eb2e8f9f7 58 ADC_CHANNEL0 = 0,
<> 144:ef7eb2e8f9f7 59 ADC_CHANNEL1,
<> 144:ef7eb2e8f9f7 60 ADC_CHANNEL2,
<> 144:ef7eb2e8f9f7 61 ADC_CHANNEL3,
<> 144:ef7eb2e8f9f7 62 ADC_TEMPSENSR = 6,
<> 144:ef7eb2e8f9f7 63 ADC_BATTERY
<> 144:ef7eb2e8f9f7 64 } Type_RefCh_ConvCh;
<> 144:ef7eb2e8f9f7 65
<> 144:ef7eb2e8f9f7 66 typedef enum {
<> 144:ef7eb2e8f9f7 67 ADC_RELATIVE_MEAS = 0,
<> 144:ef7eb2e8f9f7 68 ADC_ABSOLUTE_MEAS
<> 144:ef7eb2e8f9f7 69 } Type_Meastype;
<> 144:ef7eb2e8f9f7 70
<> 144:ef7eb2e8f9f7 71 typedef enum {
<> 144:ef7eb2e8f9f7 72 ADC_SINGLE_SAMPLE = 0,
<> 144:ef7eb2e8f9f7 73 ADC_CONTINUOUS_SAMPLE
<> 144:ef7eb2e8f9f7 74 } Type_Mode;
<> 144:ef7eb2e8f9f7 75
<> 144:ef7eb2e8f9f7 76 typedef enum {
<> 144:ef7eb2e8f9f7 77 ADC_INT_DISABLE = 0,
<> 144:ef7eb2e8f9f7 78 ADC_INT_ENABLE
<> 144:ef7eb2e8f9f7 79 } Type_Intrpt;
<> 144:ef7eb2e8f9f7 80
<> 144:ef7eb2e8f9f7 81 typedef enum {
<> 144:ef7eb2e8f9f7 82 ADC_IP_SCALE_1_0 = 0,
<> 144:ef7eb2e8f9f7 83 ADC_IP_SCALE_0_6923,
<> 144:ef7eb2e8f9f7 84 ADC_IP_SCALE_0_5294,
<> 144:ef7eb2e8f9f7 85 ADC_IP_SCALE_0_4286,
<> 144:ef7eb2e8f9f7 86 ADC_IP_SCALE_0_3600,
<> 144:ef7eb2e8f9f7 87 ADC_IP_SCALE_0_3103,
<> 144:ef7eb2e8f9f7 88 ADC_IP_SCALE_0_2728,
<> 144:ef7eb2e8f9f7 89 ADC_IP_SCALE_0_2432
<> 144:ef7eb2e8f9f7 90 } Ip_Scale_Type;
<> 144:ef7eb2e8f9f7 91
<> 144:ef7eb2e8f9f7 92 void fAdcHandler(void);
<> 144:ef7eb2e8f9f7 93
<> 144:ef7eb2e8f9f7 94 #ifdef __cplusplus
<> 144:ef7eb2e8f9f7 95 }
<> 144:ef7eb2e8f9f7 96 #endif
<> 144:ef7eb2e8f9f7 97
<> 144:ef7eb2e8f9f7 98 #endif /* DEVICE_ANALOGIN */
<> 144:ef7eb2e8f9f7 99
<> 144:ef7eb2e8f9f7 100 #endif /* ADC_DRIVER_H_ */