AD4130 Mbed IIO Firmware
Dependencies: tempsensors sdp_k1_sdram
app/ad4130_support.h@2:871d585d96ee, 2022-07-15 (annotated)
- Committer:
- MPhalke@MPHALKE-L02.ad.analog.com
- Date:
- Fri Jul 15 17:47:44 2022 +0530
- Revision:
- 2:871d585d96ee
AD4130 firmware - initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 1 | /***************************************************************************//** |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 2 | * @file ad4130_support.h |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 3 | * @brief Header for AD4130 No-OS driver supports |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 4 | ******************************************************************************** |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 5 | * Copyright (c) 2020-2022 Analog Devices, Inc. |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 6 | * All rights reserved. |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 7 | * |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 8 | * This software is proprietary to Analog Devices, Inc. and its licensors. |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 9 | * By using this software you agree to the terms of the associated |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 10 | * Analog Devices Software License Agreement. |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 11 | *******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 12 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 13 | #ifndef AD4130_SUPPORT_H_ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 14 | #define AD4130_SUPPORT_H_ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 15 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 16 | /******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 17 | /***************************** Include Files **********************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 18 | /******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 19 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 20 | #include <stdint.h> |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 21 | #include "ad413x.h" |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 22 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 23 | /******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 24 | /********************** Macros and Constants Definition ***********************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 25 | /******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 26 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 27 | #define AD413X_ADDR(x) ((x) & 0xFF) |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 28 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 29 | #define AD4130_INT_SRC_SEL_MSK NO_OS_GENMASK(9, 8) |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 30 | #define AD4130_FILTER_FS_MSK NO_OS_GENMASK(10, 0) |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 31 | #define AD4130_FIFO_MODE_MSK NO_OS_GENMASK(17, 16) |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 32 | #define AD413X_WATERMARK_MSK NO_OS_GENMASK(7, 0) |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 33 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 34 | #define AD413X_COMM_REG_RD NO_OS_BIT(6) |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 35 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 36 | /******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 37 | /********************** Variables and User Defined Data Types *****************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 38 | /******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 39 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 40 | /* FIFO modes */ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 41 | typedef enum { |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 42 | FIFO_DISABLED, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 43 | FIFO_OLDEST_SAVE_MODE, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 44 | FIFO_STREAM_MODE |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 45 | } fifo_mode_e; |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 46 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 47 | /* ADC conversion interrupt source */ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 48 | typedef enum { |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 49 | INT_PIN, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 50 | CLK_PIN, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 51 | GPIO1_PIN |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 52 | } adc_conv_int_source_e; |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 53 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 54 | /******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 55 | /************************ Public Declarations *********************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 56 | /******************************************************************************/ |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 57 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 58 | float ad4130_get_reference_voltage(struct ad413x_dev *dev, uint8_t chn); |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 59 | int32_t perform_sign_conversion(struct ad413x_dev *dev, uint32_t adc_raw_data, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 60 | uint8_t chn); |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 61 | float convert_adc_sample_into_voltage(void *dev, uint32_t adc_raw, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 62 | uint8_t chn); |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 63 | float convert_adc_raw_into_rtd_resistance(void *dev, uint32_t adc_raw, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 64 | float rtd_ref, uint8_t chn); |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 65 | int32_t ad4130_read_fifo(struct ad413x_dev *dev, uint32_t *data, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 66 | uint32_t adc_samples); |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 67 | int32_t ad413x_mon_conv_and_read_data(struct ad413x_dev *dev, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 68 | uint32_t *raw_data); |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 69 | int32_t ad413x_set_int_source(struct ad413x_dev *dev, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 70 | adc_conv_int_source_e conv_int_source); |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 71 | int32_t ad413x_set_filter_fs(struct ad413x_dev *dev, uint32_t fs, |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 72 | uint8_t preset); |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 73 | |
MPhalke@MPHALKE-L02.ad.analog.com | 2:871d585d96ee | 74 | #endif /* AD4130_SUPPORT_H_ */ |