Zephyr API Documentation
3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ina237.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2021 Grinn
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_INA237_H_
7
#define ZEPHYR_INCLUDE_DT_BINDINGS_INA237_H_
8
9
#include <
zephyr/dt-bindings/dt-util.h
>
10
11
/* Operating Mode */
12
#define INA237_CFG_HIGH_PRECISION BIT(4)
13
#define INA237_OPER_MODE_SHUTDOWN 0x00
14
#define INA237_OPER_MODE_BUS_VOLTAGE_TRIG 0x01
15
#define INA237_OPER_MODE_SHUNT_VOLTAGE_TRIG 0x02
16
#define INA237_OPER_MODE_SHUNT_BUS_VOLTAGE_TRIG 0x03
17
#define INA237_OPER_MODE_TEMP_TRIG 0x04
18
#define INA237_OPER_MODE_TEMP_BUS_VOLTAGE_TRIG 0x05
19
#define INA237_OPER_MODE_TEMP_SHUNT_VOLTAGE_TRIG 0x06
20
#define INA237_OPER_MODE_BUS_SHUNT_VOLTAGE_TEMP_TRIG 0x07
21
#define INA237_OPER_MODE_BUS_VOLTAGE_CONT 0x09
22
#define INA237_OPER_MODE_SHUNT_VOLTAGE_CONT 0x0A
23
#define INA237_OPER_MODE_SHUNT_BUS_VOLTAGE_CONT 0x0B
24
#define INA237_OPER_MODE_TEMP_CONT 0x0C
25
#define INA237_OPER_MODE_BUS_VOLTAGE_TEMP_CONT 0x0D
26
#define INA237_OPER_MODE_TEMP_SHUNT_VOLTAGE_CONT 0x0E
27
#define INA237_OPER_MODE_BUS_SHUNT_VOLTAGE_TEMP_CONT 0x0F
28
29
/* Conversion time for bus, shunt and temp in micro-seconds */
30
#define INA237_CONV_TIME_50 0x00
31
#define INA237_CONV_TIME_84 0x01
32
#define INA237_CONV_TIME_150 0x02
33
#define INA237_CONV_TIME_280 0x03
34
#define INA237_CONV_TIME_540 0x04
35
#define INA237_CONV_TIME_1052 0x05
36
#define INA237_CONV_TIME_2074 0x06
37
#define INA237_CONV_TIME_4120 0x07
38
39
/* Averaging Mode */
40
#define INA237_AVG_MODE_1 0x00
41
#define INA237_AVG_MODE_4 0x01
42
#define INA237_AVG_MODE_16 0x02
43
#define INA237_AVG_MODE_64 0x03
44
#define INA237_AVG_MODE_128 0x04
45
#define INA237_AVG_MODE_256 0x05
46
#define INA237_AVG_MODE_512 0x06
47
#define INA237_AVG_MODE_1024 0x07
48
49
/* Reset Mode */
50
#define INA237_RST_NORMAL_OPERATION 0x00
51
#define INA237_RST_SYSTEM_RESET 0x01
52
53
/* Delay for initial ADC conversion in steps of 2 ms */
54
#define INA237_INIT_ADC_DELAY_0_S 0x00
55
#define INA237_INIT_ADC_DELAY_2_MS 0x01
56
#define INA237_INIT_ADC_DELAY_510_MS 0xFF
57
58
/* Shunt full scale range selection across IN+ and IN–. */
59
#define INA237_ADC_RANGE_163_84 0x00
60
#define INA237_ADC_RANGE_40_96 0x01
61
70
#define INA237_CONFIG(rst_mode, \
71
convdly, \
72
adc_range) \
73
(((rst_mode) << 15) | ((convdly) << 6) | ((adc_range) << 4))
74
84
#define INA237_ADC_CONFIG(mode, \
85
vshct, \
86
vbusct, \
87
vtct, \
88
avg) \
89
(((mode) << 12) | ((vbusct) << 9) | ((vshct) << 6) | ((vtct) << 3) | (avg))
90
91
#endif
/* ZEPHYR_INCLUDE_DT_BINDINGS_INA237_H_ */
dt-util.h
zephyr
dt-bindings
sensor
ina237.h
Generated on Fri Jul 26 2024 14:01:57 for Zephyr API Documentation by
1.9.6