-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbq27220_8h_source.html
215 lines (213 loc) · 27.3 KB
/
bq27220_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FlipperZero Firmware: lib/drivers/bq27220.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">FlipperZero Firmware
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_47dd3e7e38a2e0ce703a37c1012486e7.html">drivers</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">bq27220.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include <stdint.h></span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include <stdbool.h></span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include <<a class="code" href="furi__hal__i2c_8h.html">furi_hal_i2c.h</a>></span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#define BQ27220_ERROR 0x0</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#define BQ27220_SUCCESS 0x1</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"><a class="line" href="struct_battery_status.html"> 10</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// Low byte, Low bit first</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> <span class="keywordtype">bool</span> DSG : 1; <span class="comment">// The device is in DISCHARGE</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> <span class="keywordtype">bool</span> SYSDWN : 1; <span class="comment">// System down bit indicating the system should shut down</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> <span class="keywordtype">bool</span> TDA : 1; <span class="comment">// Terminate Discharge Alarm</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <span class="keywordtype">bool</span> BATTPRES : 1; <span class="comment">// Battery Present detected</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keywordtype">bool</span> AUTH_GD : 1; <span class="comment">// Detect inserted battery</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keywordtype">bool</span> OCVGD : 1; <span class="comment">// Good OCV measurement taken</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keywordtype">bool</span> TCA : 1; <span class="comment">// Terminate Charge Alarm</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keywordtype">bool</span> RSVD : 1; <span class="comment">// Reserved</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// High byte, Low bit first</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordtype">bool</span> CHGINH : 1; <span class="comment">// Charge inhibit</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordtype">bool</span> FC : 1; <span class="comment">// Full-charged is detected</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keywordtype">bool</span> OTD : 1; <span class="comment">// Overtemperature in discharge condition is detected</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keywordtype">bool</span> OTC : 1; <span class="comment">// Overtemperature in charge condition is detected</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordtype">bool</span> SLEEP : 1; <span class="comment">// Device is operating in SLEEP mode when set</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keywordtype">bool</span> OCVFAIL : 1; <span class="comment">// Status bit indicating that the OCV reading failed due to current</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordtype">bool</span> OCVCOMP : 1; <span class="comment">// An OCV measurement update is complete</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">bool</span> FD : 1; <span class="comment">// Full-discharge is detected</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>} <a class="code hl_struct" href="struct_battery_status.html">BatteryStatus</a>;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>_Static_assert(<span class="keyword">sizeof</span>(<a class="code hl_struct" href="struct_battery_status.html">BatteryStatus</a>) == 2, <span class="stringliteral">"Incorrect structure size"</span>);</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="struct_operation_status.html"> 33</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// Low byte, Low bit first</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="struct_operation_status.html#a8b13a1715febafbb5953aa5c0282a0c1"> 35</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="struct_operation_status.html#a8b13a1715febafbb5953aa5c0282a0c1">CALMD</a> : 1; </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="struct_operation_status.html#a9902a1f1bfb31b122fa182dce069d5af"> 36</a></span> uint8_t <a class="code hl_variable" href="struct_operation_status.html#a9902a1f1bfb31b122fa182dce069d5af">SEC</a> : 2; </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="struct_operation_status.html#a9c0d5604bf6757df0d370b1feb32a21d"> 37</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="struct_operation_status.html#a9c0d5604bf6757df0d370b1feb32a21d">EDV2</a> : 1; </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="struct_operation_status.html#aec1e34038a7b9e1da66aec1f1a046ffa"> 38</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="struct_operation_status.html#aec1e34038a7b9e1da66aec1f1a046ffa">VDQ</a> : 1; </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="struct_operation_status.html#a8e2bfcae000ad6bac868ecaf92e371a4"> 39</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="struct_operation_status.html#a8e2bfcae000ad6bac868ecaf92e371a4">INITCOMP</a> : 1; </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="struct_operation_status.html#a7f00a23fc41b2a23c9f0f8d0114eb50a"> 40</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="struct_operation_status.html#a7f00a23fc41b2a23c9f0f8d0114eb50a">SMTH</a> : 1; </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="struct_operation_status.html#a2931ca981b4fe08009a08bc36b2fc930"> 41</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="struct_operation_status.html#a2931ca981b4fe08009a08bc36b2fc930">BTPINT</a> : 1; </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// High byte, Low bit first</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> uint8_t RSVD1 : 2;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="struct_operation_status.html#a5cfb2ba3040be83e7bab475c2fbdd70b"> 44</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="struct_operation_status.html#a5cfb2ba3040be83e7bab475c2fbdd70b">CFGUPDATE</a> : 1; </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> uint8_t RSVD0 : 5;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>} <a class="code hl_struct" href="struct_operation_status.html">OperationStatus</a>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span>_Static_assert(<span class="keyword">sizeof</span>(<a class="code hl_struct" href="struct_operation_status.html">OperationStatus</a>) == 2, <span class="stringliteral">"Incorrect structure size"</span>);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="struct_gauging_config.html"> 50</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// Low byte, Low bit first</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">bool</span> CCT : 1;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">bool</span> CSYNC : 1;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">bool</span> RSVD0 : 1;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">bool</span> EDV_CMP : 1;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">bool</span> SC : 1;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">bool</span> FIXED_EDV0 : 1;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> uint8_t RSVD1 : 2;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="comment">// High byte, Low bit first</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">bool</span> FCC_LIM : 1;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">bool</span> RSVD2 : 1;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">bool</span> FC_FOR_VDQ : 1;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">bool</span> IGNORE_SD : 1;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">bool</span> SME0 : 1;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> uint8_t RSVD3 : 3;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>} <a class="code hl_struct" href="struct_gauging_config.html">GaugingConfig</a>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>_Static_assert(<span class="keyword">sizeof</span>(<a class="code hl_struct" href="struct_gauging_config.html">GaugingConfig</a>) == 2, <span class="stringliteral">"Incorrect structure size"</span>);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="struct_param_c_e_d_v.html"> 70</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_struct" href="struct_gauging_config.html">GaugingConfig</a> gauge_conf;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> uint16_t gauge_conf_raw;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> } cedv_conf;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> uint16_t full_charge_cap;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> uint16_t design_cap;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> uint16_t EDV0;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> uint16_t EDV1;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> uint16_t EDV2;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> uint16_t EMF;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> uint16_t C0;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> uint16_t R0;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> uint16_t T0;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> uint16_t R1;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> uint8_t TC;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> uint8_t C1;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> uint16_t DOD0;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> uint16_t DOD10;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> uint16_t DOD20;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> uint16_t DOD30;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> uint16_t DOD40;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> uint16_t DOD50;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> uint16_t DOD60;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> uint16_t DOD70;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> uint16_t DOD80;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> uint16_t DOD90;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> uint16_t DOD100;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>} <a class="code hl_struct" href="struct_param_c_e_d_v.html">ParamCEDV</a>;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="keywordtype">bool</span> bq27220_init(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle, <span class="keyword">const</span> <a class="code hl_struct" href="struct_param_c_e_d_v.html">ParamCEDV</a>* cedv);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span>uint16_t bq27220_get_voltage(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span>int16_t bq27220_get_current(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle);</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>uint8_t bq27220_get_battery_status(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle, <a class="code hl_struct" href="struct_battery_status.html">BatteryStatus</a>* battery_status);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span>uint8_t</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> bq27220_get_operation_status(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle, <a class="code hl_struct" href="struct_operation_status.html">OperationStatus</a>* operation_status);</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>uint16_t bq27220_get_temperature(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle);</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>uint16_t bq27220_get_full_charge_capacity(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle);</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span>uint16_t bq27220_get_design_capacity(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span>uint16_t bq27220_get_remaining_capacity(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle);</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span>uint16_t bq27220_get_state_of_charge(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>uint16_t bq27220_get_state_of_health(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="keywordtype">void</span> bq27220_change_design_capacity(<a class="code hl_struct" href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a>* handle, uint16_t capacity);</div>
<div class="ttc" id="afuri__hal__i2c_8h_html"><div class="ttname"><a href="furi__hal__i2c_8h.html">furi_hal_i2c.h</a></div><div class="ttdoc">I2C HAL API.</div></div>
<div class="ttc" id="astruct_battery_status_html"><div class="ttname"><a href="struct_battery_status.html">BatteryStatus</a></div><div class="ttdef"><b>Definition:</b> bq27220.h:10</div></div>
<div class="ttc" id="astruct_furi_hal_i2c_bus_handle_html"><div class="ttname"><a href="struct_furi_hal_i2c_bus_handle.html">FuriHalI2cBusHandle</a></div><div class="ttdoc">FuriHal i2c handle.</div><div class="ttdef"><b>Definition:</b> furi_hal_i2c_types.h:44</div></div>
<div class="ttc" id="astruct_gauging_config_html"><div class="ttname"><a href="struct_gauging_config.html">GaugingConfig</a></div><div class="ttdef"><b>Definition:</b> bq27220.h:50</div></div>
<div class="ttc" id="astruct_operation_status_html"><div class="ttname"><a href="struct_operation_status.html">OperationStatus</a></div><div class="ttdef"><b>Definition:</b> bq27220.h:33</div></div>
<div class="ttc" id="astruct_operation_status_html_a2931ca981b4fe08009a08bc36b2fc930"><div class="ttname"><a href="struct_operation_status.html#a2931ca981b4fe08009a08bc36b2fc930">OperationStatus::BTPINT</a></div><div class="ttdeci">bool BTPINT</div><div class="ttdoc">BTP threshold has been crossed.</div><div class="ttdef"><b>Definition:</b> bq27220.h:41</div></div>
<div class="ttc" id="astruct_operation_status_html_a5cfb2ba3040be83e7bab475c2fbdd70b"><div class="ttname"><a href="struct_operation_status.html#a5cfb2ba3040be83e7bab475c2fbdd70b">OperationStatus::CFGUPDATE</a></div><div class="ttdeci">bool CFGUPDATE</div><div class="ttdoc">Gauge is in CONFIG UPDATE mode.</div><div class="ttdef"><b>Definition:</b> bq27220.h:44</div></div>
<div class="ttc" id="astruct_operation_status_html_a7f00a23fc41b2a23c9f0f8d0114eb50a"><div class="ttname"><a href="struct_operation_status.html#a7f00a23fc41b2a23c9f0f8d0114eb50a">OperationStatus::SMTH</a></div><div class="ttdeci">bool SMTH</div><div class="ttdoc">RemainingCapacity is scaled by smooth engine.</div><div class="ttdef"><b>Definition:</b> bq27220.h:40</div></div>
<div class="ttc" id="astruct_operation_status_html_a8b13a1715febafbb5953aa5c0282a0c1"><div class="ttname"><a href="struct_operation_status.html#a8b13a1715febafbb5953aa5c0282a0c1">OperationStatus::CALMD</a></div><div class="ttdeci">bool CALMD</div><div class="ttdoc">Calibration mode enabled.</div><div class="ttdef"><b>Definition:</b> bq27220.h:35</div></div>
<div class="ttc" id="astruct_operation_status_html_a8e2bfcae000ad6bac868ecaf92e371a4"><div class="ttname"><a href="struct_operation_status.html#a8e2bfcae000ad6bac868ecaf92e371a4">OperationStatus::INITCOMP</a></div><div class="ttdeci">bool INITCOMP</div><div class="ttdoc">gauge initialization is complete</div><div class="ttdef"><b>Definition:</b> bq27220.h:39</div></div>
<div class="ttc" id="astruct_operation_status_html_a9902a1f1bfb31b122fa182dce069d5af"><div class="ttname"><a href="struct_operation_status.html#a9902a1f1bfb31b122fa182dce069d5af">OperationStatus::SEC</a></div><div class="ttdeci">uint8_t SEC</div><div class="ttdoc">Current security access.</div><div class="ttdef"><b>Definition:</b> bq27220.h:36</div></div>
<div class="ttc" id="astruct_operation_status_html_a9c0d5604bf6757df0d370b1feb32a21d"><div class="ttname"><a href="struct_operation_status.html#a9c0d5604bf6757df0d370b1feb32a21d">OperationStatus::EDV2</a></div><div class="ttdeci">bool EDV2</div><div class="ttdoc">EDV2 threshold exceeded.</div><div class="ttdef"><b>Definition:</b> bq27220.h:37</div></div>
<div class="ttc" id="astruct_operation_status_html_aec1e34038a7b9e1da66aec1f1a046ffa"><div class="ttname"><a href="struct_operation_status.html#aec1e34038a7b9e1da66aec1f1a046ffa">OperationStatus::VDQ</a></div><div class="ttdeci">bool VDQ</div><div class="ttdoc">Indicates if Current discharge cycle is NOT qualified or qualified for an FCC updated.</div><div class="ttdef"><b>Definition:</b> bq27220.h:38</div></div>
<div class="ttc" id="astruct_param_c_e_d_v_html"><div class="ttname"><a href="struct_param_c_e_d_v.html">ParamCEDV</a></div><div class="ttdef"><b>Definition:</b> bq27220.h:70</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
</small></address>
</body>
</html>