mikroSDK Reference Manual
drv_analog_in.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2023 MikroElektronika d.o.o.
4 ** Contact: https://www.mikroe.com/contact
5 **
6 ** This file is part of the mikroSDK package
7 **
8 ** Commercial License Usage
9 **
10 ** Licensees holding valid commercial NECTO compilers AI licenses may use this
11 ** file in accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The MikroElektronika Company.
14 ** For licensing terms and conditions see
15 ** https://www.mikroe.com/legal/software-license-agreement.
16 ** For further information use the contact form at
17 ** https://www.mikroe.com/contact.
18 **
19 **
20 ** GNU Lesser General Public License Usage
21 **
22 ** Alternatively, this file may be used for
23 ** non-commercial projects under the terms of the GNU Lesser
24 ** General Public License version 3 as published by the Free Software
25 ** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html.
26 **
27 ** The above copyright notice and this permission notice shall be
28 ** included in all copies or substantial portions of the Software.
29 **
30 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31 ** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
32 ** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
33 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
34 ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
35 ** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
36 ** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
37 **
38 ****************************************************************************/
44 #ifndef _DRV_ANALOG_IN_H_
45 #define _DRV_ANALOG_IN_H_
46 
47 #ifdef __cplusplus
48 extern "C"{
49 #endif
50 
51 #include "drv_name.h"
52 #include "hal_adc.h"
53 
57 typedef enum
58 {
60  ADC_ERROR = (-1)
62 
66 typedef enum
67 {
71 
75 typedef enum
76 {
85  ANALOG_IN_RESOLUTION_DEFAULT = ANALOG_IN_RESOLUTION_CMAKE
87 
106 typedef struct
107 {
111  float vref_value;
113 
126 typedef struct
127 {
128  handle_t handle;
130 } analog_in_t;
131 
207 
246 
282 
318 
355 err_t analog_in_set_vref_value( analog_in_t *obj, float vref_value );
356 
385 err_t analog_in_read( analog_in_t *obj, uint16_t *readDatabuf );
386 
416 err_t analog_in_read_voltage( analog_in_t *obj, float *readDatabuf );
417 
440  // drvadcgroup // drvgroup // pergroup
444 
445 #ifdef __cplusplus
446 }
447 #endif
448 
449 #endif // _DRV_ANALOG_IN_H_
450 // ------------------------------------------------------------------------- END
drv_name.h
Pin and port name type definitions.
ADC_ERROR
Definition: drv_analog_in.h:60
analog_in_close
err_t analog_in_close(analog_in_t *obj)
Close ADC driver context object.
analog_in_resolution_t
analog_in_resolution_t
Definition: drv_analog_in.h:75
ANALOG_IN_RESOLUTION_12_BIT
Definition: drv_analog_in.h:81
analog_in_config_t
Analog input driver configuration structure.
Definition: drv_analog_in.h:106
ANALOG_IN_RESOLUTION_16_BIT
Definition: drv_analog_in.h:83
analog_in_config_t::resolution
analog_in_resolution_t resolution
Definition: drv_analog_in.h:109
analog_in_t::config
analog_in_config_t config
Definition: drv_analog_in.h:129
ANALOG_IN_VREF_EXTERNAL
Definition: drv_analog_in.h:68
analog_in_t
Analog input driver context structure, consisted of the following fields :
Definition: drv_analog_in.h:126
analog_in_set_vref_input
err_t analog_in_set_vref_input(analog_in_t *obj, analog_in_vref_t vref)
Set ADC driver voltage reference source.
analog_in_set_vref_value
err_t analog_in_set_vref_value(analog_in_t *obj, float vref_value)
Set ADC driver voltage reference value.
hal_adc.h
This file contains all the functions prototypes for the ADC library.
ANALOG_IN_RESOLUTION_14_BIT
Definition: drv_analog_in.h:82
ANALOG_IN_RESOLUTION_6_BIT
Definition: drv_analog_in.h:78
ANALOG_IN_VREF_INTERNAL
Definition: drv_analog_in.h:69
analog_in_config_t::vref_input
analog_in_vref_t vref_input
Definition: drv_analog_in.h:110
analog_in_t::handle
handle_t handle
Definition: drv_analog_in.h:128
analog_in_vref_t
analog_in_vref_t
Definition: drv_analog_in.h:66
analog_in_read
err_t analog_in_read(analog_in_t *obj, uint16_t *readDatabuf)
Read analog value from pin.
analog_in_config_t::vref_value
float vref_value
Definition: drv_analog_in.h:111
analog_in_config_t::input_pin
pin_name_t input_pin
Definition: drv_analog_in.h:108
ANALOG_IN_RESOLUTION_DEFAULT
Definition: drv_analog_in.h:85
ANALOG_IN_RESOLUTION_8_BIT
Definition: drv_analog_in.h:79
analog_in_open
err_t analog_in_open(analog_in_t *obj, analog_in_config_t *config)
Open the ADC driver object on selected pin.
analog_in_read_voltage
err_t analog_in_read_voltage(analog_in_t *obj, float *readDatabuf)
Read analog voltage value from pin.
ADC_SUCCESS
Definition: drv_analog_in.h:59
pin_name_t
hal_pin_name_t pin_name_t
Definition: drv_name.h:73
analog_in_configure_default
void analog_in_configure_default(analog_in_config_t *config)
Configure ADC configuration structure.
analog_in_err_t
analog_in_err_t
Definition: drv_analog_in.h:57
err_t
int32_t err_t
Definition: hal_target.h:63
ANALOG_IN_RESOLUTION_NOT_SET
Definition: drv_analog_in.h:77
analog_in_set_resolution
err_t analog_in_set_resolution(analog_in_t *obj, analog_in_resolution_t resolution)
Set ADC driver sample resolution.
ANALOG_IN_RESOLUTION_10_BIT
Definition: drv_analog_in.h:80