1 /* 2 * Copyright (c) 2024 Linumiz 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_INCLUDE_DRIVERS_ADC_ADS131M02_H_ 8 #define ZEPHYR_INCLUDE_DRIVERS_ADC_ADS131M02_H_ 9 10 #include <zephyr/device.h> 11 12 enum ads131m02_adc_mode { 13 ADS131M02_CONTINUOUS_MODE, /* Continuous conversion mode */ 14 ADS131M02_GLOBAL_CHOP_MODE /* Global chop mode */ 15 }; 16 17 enum ads131m02_adc_power_mode { 18 ADS131M02_VLP, /* Very Low Power */ 19 ADS131M02_LP, /* Low Power */ 20 ADS131M02_HR /* High Resolution */ 21 }; 22 23 enum ads131m02_gc_delay { 24 ADS131M02_GC_DELAY_2, 25 ADS131M02_GC_DELAY_4, 26 ADS131M02_GC_DELAY_8, 27 ADS131M02_GC_DELAY_16, 28 ADS131M02_GC_DELAY_32, 29 ADS131M02_GC_DELAY_64, 30 ADS131M02_GC_DELAY_128, 31 ADS131M02_GC_DELAY_256, 32 ADS131M02_GC_DELAY_512, 33 ADS131M02_GC_DELAY_1024, 34 ADS131M02_GC_DELAY_2048, 35 ADS131M02_GC_DELAY_4096, 36 ADS131M02_GC_DELAY_8192, 37 ADS131M02_GC_DELAY_16384, 38 ADS131M02_GC_DELAY_32768, 39 ADS131M02_GC_DELAY_65536 40 }; 41 42 int ads131m02_set_adc_mode(const struct device *dev, enum ads131m02_adc_mode mode, 43 enum ads131m02_gc_delay gc_delay); 44 45 int ads131m02_set_power_mode(const struct device *dev, 46 enum ads131m02_adc_power_mode mode); 47 48 #endif 49