1 | # 1 "D:\\projekte\\ecs_smartSwitch\\trunk\\firmware\\Src\\esr.c" |
---|
2 | # 1 "<built-in>" 1 |
---|
3 | # 1 "<built-in>" 3 |
---|
4 | # 380 "<built-in>" 3 |
---|
5 | # 1 "<command line>" 1 |
---|
6 | # 1 "<built-in>" 2 |
---|
7 | # 1 "D:\\projekte\\ecs_smartSwitch\\trunk\\firmware\\Src\\esr.c" 2 |
---|
8 | |
---|
9 | |
---|
10 | # 1 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\sysdata.h" 1 |
---|
11 | # 15 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\sysdata.h" |
---|
12 | # 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdint.h" 1 3 |
---|
13 | # 20 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdint.h" 3 |
---|
14 | # 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 1 3 |
---|
15 | # 17 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3 |
---|
16 | # 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_ConfDefaults.h" 1 3 |
---|
17 | # 67 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_ConfDefaults.h" 3 |
---|
18 | # 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Conf.h" 1 3 |
---|
19 | # 35 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Conf.h" 3 |
---|
20 | # 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 1 3 |
---|
21 | # 748 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3 |
---|
22 | static __inline__ __attribute__((__always_inline__)) void __SEGGER_RTL_WR_PARTIAL_WORD_func(char *addr, unsigned w, int n) { |
---|
23 | switch (n) { |
---|
24 | default: addr[3] = (-1) > 0 ? w : w >> 24; |
---|
25 | case 3: addr[2] = (-1) > 0 ? w >> 8 : w >> 16; |
---|
26 | case 2: addr[1] = (-1) > 0 ? w >> 16 : w >> 8; |
---|
27 | case 1: addr[0] = (-1) > 0 ? w >> 24 : w; |
---|
28 | case 0: ; |
---|
29 | } |
---|
30 | } |
---|
31 | |
---|
32 | static __inline__ __attribute__((__always_inline__)) void __SEGGER_RTL_WR_WORD_func(char *addr, unsigned w) { |
---|
33 | __SEGGER_RTL_WR_PARTIAL_WORD_func(addr, w, 4); |
---|
34 | } |
---|
35 | |
---|
36 | static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_RD_WORD_func(const void *addr) { |
---|
37 | const unsigned char *pAddr = (const unsigned char *)addr; |
---|
38 | |
---|
39 | return pAddr[0] * ((-1) > 0 ? 0x1000000u : 0x1u) + |
---|
40 | pAddr[1] * ((-1) > 0 ? 0x10000u : 0x100u) + |
---|
41 | pAddr[2] * ((-1) > 0 ? 0x100u : 0x10000u) + |
---|
42 | pAddr[3] * ((-1) > 0 ? 0x1u : 0x1000000u); |
---|
43 | } |
---|
44 | |
---|
45 | static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_BYTE_PATTERN_func(unsigned x) { |
---|
46 | return x * 0x01010101uL; |
---|
47 | } |
---|
48 | |
---|
49 | static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_FILL_HEAD_func(const void *pOrigin, unsigned Word, unsigned Standin) { |
---|
50 | unsigned Mask; |
---|
51 | unsigned Fill; |
---|
52 | |
---|
53 | (void)pOrigin; |
---|
54 | |
---|
55 | Fill = __SEGGER_RTL_BYTE_PATTERN_func(Standin); |
---|
56 | # 792 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3 |
---|
57 | Mask = 0xFFFFFFFFu; |
---|
58 | Mask <<= 8 * (((unsigned)(pOrigin)) & 3u); |
---|
59 | |
---|
60 | return (Word & Mask) | (Fill & ~Mask); |
---|
61 | |
---|
62 | |
---|
63 | } |
---|
64 | |
---|
65 | static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_FILL_TAIL_func(unsigned n, unsigned Word, unsigned Standin) { |
---|
66 | unsigned Mask; |
---|
67 | unsigned Fill; |
---|
68 | # 817 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3 |
---|
69 | if (n >= 4) { |
---|
70 | return Word; |
---|
71 | } else { |
---|
72 | Fill = __SEGGER_RTL_BYTE_PATTERN_func(Standin); |
---|
73 | Mask = 0xFFFFFFFFu << (8 * n); |
---|
74 | |
---|
75 | return (Fill & Mask) | (Word & ~Mask); |
---|
76 | } |
---|
77 | |
---|
78 | |
---|
79 | } |
---|
80 | |
---|
81 | static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_ZBYTE_CHECK_func(unsigned x) { |
---|
82 | |
---|
83 | |
---|
84 | |
---|
85 | |
---|
86 | |
---|
87 | |
---|
88 | |
---|
89 | return ((x-0x01010101u) & ~x & 0x80808080u); |
---|
90 | |
---|
91 | |
---|
92 | } |
---|
93 | |
---|
94 | static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_DIFF_INDEX_func(unsigned x, unsigned y) { |
---|
95 | # 866 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3 |
---|
96 | if ((x & 0x000000FFuL) != (y & 0x000000FFuL)) { return 0; } |
---|
97 | if ((x & 0x0000FF00uL) != (y & 0x0000FF00uL)) { return 1; } |
---|
98 | if ((x & 0x00FF0000uL) != (y & 0x00FF0000uL)) { return 2; } |
---|
99 | if ((x & 0xFF000000uL) != (y & 0xFF000000uL)) { return 3; } |
---|
100 | return 4; |
---|
101 | |
---|
102 | |
---|
103 | } |
---|
104 | |
---|
105 | static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_DIFF_BYTE_func(unsigned x, int Index) { |
---|
106 | |
---|
107 | |
---|
108 | |
---|
109 | return (x >> (8*Index)) & 0xFF; |
---|
110 | |
---|
111 | } |
---|
112 | |
---|
113 | static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_ZBYTE_INDEX_func(unsigned x) { |
---|
114 | # 919 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3 |
---|
115 | if ((x & 0x000000FFuL) == 0) { return 0; } |
---|
116 | if ((x & 0x0000FF00uL) == 0) { return 1; } |
---|
117 | if ((x & 0x00FF0000uL) == 0) { return 2; } |
---|
118 | if ((x & 0xFF000000uL) == 0) { return 3; } |
---|
119 | return 4; |
---|
120 | |
---|
121 | |
---|
122 | } |
---|
123 | |
---|
124 | static __inline__ __attribute__((__always_inline__)) _Bool __SEGGER_RTL_atomic_is_lock_free(unsigned size, const volatile void *ptr) { |
---|
125 | switch (size) { |
---|
126 | case 1: return 1; |
---|
127 | case 2: return ((unsigned)ptr & 1) == 0; |
---|
128 | case 4: return ((unsigned)ptr & 3) == 0; |
---|
129 | default: return 0; |
---|
130 | } |
---|
131 | } |
---|
132 | # 946 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3 |
---|
133 | extern const int __aeabi_SIGABRT; |
---|
134 | extern const int __aeabi_SIGINT; |
---|
135 | extern const int __aeabi_SIGILL; |
---|
136 | extern const int __aeabi_SIGFPE; |
---|
137 | extern const int __aeabi_SIGSEGV; |
---|
138 | extern const int __aeabi_SIGTERM; |
---|
139 | |
---|
140 | void __aeabi_SIG_DFL(int sig); |
---|
141 | void __aeabi_SIG_IGN(int sig); |
---|
142 | void __aeabi_SIG_ERR(int sig); |
---|
143 | # 36 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Conf.h" 2 3 |
---|
144 | # 68 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_ConfDefaults.h" 2 3 |
---|
145 | # 18 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 2 3 |
---|
146 | # 38 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3 |
---|
147 | typedef struct __SEGGER_RTL_FILE_impl __SEGGER_RTL_FILE; |
---|
148 | |
---|
149 | |
---|
150 | typedef struct __SEGGER_RTL_locale_data_s __SEGGER_RTL_locale_t; |
---|
151 | typedef struct __SEGGER_RTL_locale_codeset_s __SEGGER_RTL_locale_codeset_t; |
---|
152 | |
---|
153 | typedef struct { |
---|
154 | |
---|
155 | |
---|
156 | |
---|
157 | const char * decimal_point; |
---|
158 | const char * thousands_sep; |
---|
159 | const char * grouping; |
---|
160 | |
---|
161 | const char * int_curr_symbol; |
---|
162 | const char * currency_symbol; |
---|
163 | const char * mon_decimal_point; |
---|
164 | const char * mon_thousands_sep; |
---|
165 | const char * mon_grouping; |
---|
166 | const char * positive_sign; |
---|
167 | const char * negative_sign; |
---|
168 | |
---|
169 | char int_frac_digits; |
---|
170 | char frac_digits; |
---|
171 | char p_cs_precedes; |
---|
172 | char p_sep_by_space; |
---|
173 | char n_cs_precedes; |
---|
174 | char n_sep_by_space; |
---|
175 | char p_sign_posn; |
---|
176 | char n_sign_posn; |
---|
177 | char int_p_cs_precedes; |
---|
178 | char int_n_cs_precedes; |
---|
179 | char int_p_sep_by_space; |
---|
180 | char int_n_sep_by_space; |
---|
181 | char int_p_sign_posn; |
---|
182 | char int_n_sign_posn; |
---|
183 | |
---|
184 | |
---|
185 | |
---|
186 | |
---|
187 | const char *day_names; |
---|
188 | const char *abbrev_day_names; |
---|
189 | const char *month_names; |
---|
190 | const char *abbrev_month_names; |
---|
191 | const char *am_pm_indicator; |
---|
192 | const char *date_format; |
---|
193 | const char *time_format; |
---|
194 | const char *date_time_format; |
---|
195 | } __SEGGER_RTL_locale_data_t; |
---|
196 | |
---|
197 | struct __SEGGER_RTL_locale_data_s { |
---|
198 | const char * name; |
---|
199 | const __SEGGER_RTL_locale_data_t * data; |
---|
200 | const __SEGGER_RTL_locale_codeset_t * codeset; |
---|
201 | }; |
---|
202 | |
---|
203 | struct __SEGGER_RTL_POSIX_locale_s { |
---|
204 | const __SEGGER_RTL_locale_t *__category[5]; |
---|
205 | }; |
---|
206 | |
---|
207 | struct timeval; |
---|
208 | # 107 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3 |
---|
209 | extern struct __SEGGER_RTL_POSIX_locale_s __SEGGER_RTL_global_locale; |
---|
210 | extern struct __SEGGER_RTL_POSIX_locale_s * __SEGGER_RTL_locale_ptr; |
---|
211 | extern char * __SEGGER_RTL_locale_name_buffer; |
---|
212 | # 118 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3 |
---|
213 | extern const __SEGGER_RTL_locale_t __SEGGER_RTL_c_locale; |
---|
214 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_1; |
---|
215 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_2; |
---|
216 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_3; |
---|
217 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_4; |
---|
218 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_5; |
---|
219 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_6; |
---|
220 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_7; |
---|
221 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_8; |
---|
222 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_9; |
---|
223 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_10; |
---|
224 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_11; |
---|
225 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_13; |
---|
226 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_14; |
---|
227 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_15; |
---|
228 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_16; |
---|
229 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1250; |
---|
230 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1251; |
---|
231 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1252; |
---|
232 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1253; |
---|
233 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1254; |
---|
234 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1255; |
---|
235 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1256; |
---|
236 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1257; |
---|
237 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1258; |
---|
238 | |
---|
239 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_c_locale_data; |
---|
240 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_aa_DJ_locale; |
---|
241 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_aa_ER_locale; |
---|
242 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_aa_ET_locale; |
---|
243 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_af_NA_locale; |
---|
244 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_af_ZA_locale; |
---|
245 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ak_GH_locale; |
---|
246 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_am_ET_locale; |
---|
247 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_AE_locale; |
---|
248 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_BH_locale; |
---|
249 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_DZ_locale; |
---|
250 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_EG_locale; |
---|
251 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_IQ_locale; |
---|
252 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_JO_locale; |
---|
253 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_KW_locale; |
---|
254 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_LB_locale; |
---|
255 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_LY_locale; |
---|
256 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_MA_locale; |
---|
257 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_OM_locale; |
---|
258 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_QA_locale; |
---|
259 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_SA_locale; |
---|
260 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_SD_locale; |
---|
261 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_SY_locale; |
---|
262 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_TN_locale; |
---|
263 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_YE_locale; |
---|
264 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_as_IN_locale; |
---|
265 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_asa_TZ_locale; |
---|
266 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_Arab_IR_locale; |
---|
267 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_AZ_locale; |
---|
268 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_Cyrl_AZ_locale; |
---|
269 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_IR_locale; |
---|
270 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_Latn_AZ_locale; |
---|
271 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_be_BY_locale; |
---|
272 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bem_ZM_locale; |
---|
273 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bez_TZ_locale; |
---|
274 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bg_BG_locale; |
---|
275 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bm_ML_locale; |
---|
276 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bn_BD_locale; |
---|
277 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bn_IN_locale; |
---|
278 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bo_CN_locale; |
---|
279 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bo_IN_locale; |
---|
280 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_br_FR_locale; |
---|
281 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_brx_IN_locale; |
---|
282 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bs_BA_locale; |
---|
283 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_byn_ER_locale; |
---|
284 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ca_ES_locale; |
---|
285 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_cch_NG_locale; |
---|
286 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_cgg_UG_locale; |
---|
287 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_chr_US_locale; |
---|
288 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_cs_CZ_locale; |
---|
289 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_cy_GB_locale; |
---|
290 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_da_DK_locale; |
---|
291 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_dav_KE_locale; |
---|
292 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_AT_locale; |
---|
293 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_BE_locale; |
---|
294 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_CH_locale; |
---|
295 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_DE_locale; |
---|
296 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_LI_locale; |
---|
297 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_LU_locale; |
---|
298 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_dv_MV_locale; |
---|
299 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_dz_BT_locale; |
---|
300 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ebu_KE_locale; |
---|
301 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ee_GH_locale; |
---|
302 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ee_TG_locale; |
---|
303 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_el_CY_locale; |
---|
304 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_el_GR_locale; |
---|
305 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_AS_locale; |
---|
306 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_AU_locale; |
---|
307 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_BE_locale; |
---|
308 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_BW_locale; |
---|
309 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_BZ_locale; |
---|
310 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_CA_locale; |
---|
311 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_Dsrt_US_locale; |
---|
312 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_GB_locale; |
---|
313 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_GU_locale; |
---|
314 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_HK_locale; |
---|
315 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_IE_locale; |
---|
316 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_IN_locale; |
---|
317 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_JM_locale; |
---|
318 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_MH_locale; |
---|
319 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_MP_locale; |
---|
320 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_MT_locale; |
---|
321 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_MU_locale; |
---|
322 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_NA_locale; |
---|
323 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_NZ_locale; |
---|
324 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_PH_locale; |
---|
325 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_PK_locale; |
---|
326 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_SG_locale; |
---|
327 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_TT_locale; |
---|
328 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_UM_locale; |
---|
329 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_US_locale; |
---|
330 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_US_POSIX_locale; |
---|
331 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_VI_locale; |
---|
332 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_ZA_locale; |
---|
333 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_ZW_locale; |
---|
334 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_ZZ_locale; |
---|
335 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_AR_locale; |
---|
336 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_BO_locale; |
---|
337 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_CL_locale; |
---|
338 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_CO_locale; |
---|
339 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_CR_locale; |
---|
340 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_DO_locale; |
---|
341 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_EC_locale; |
---|
342 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_ES_locale; |
---|
343 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_GQ_locale; |
---|
344 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_GT_locale; |
---|
345 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_HN_locale; |
---|
346 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_MX_locale; |
---|
347 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_NI_locale; |
---|
348 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_PA_locale; |
---|
349 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_PE_locale; |
---|
350 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_PR_locale; |
---|
351 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_PY_locale; |
---|
352 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_SV_locale; |
---|
353 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_US_locale; |
---|
354 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_UY_locale; |
---|
355 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_VE_locale; |
---|
356 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_et_EE_locale; |
---|
357 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_eu_ES_locale; |
---|
358 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fa_AF_locale; |
---|
359 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fa_IR_locale; |
---|
360 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ff_SN_locale; |
---|
361 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fi_FI_locale; |
---|
362 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fil_PH_locale; |
---|
363 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fo_FO_locale; |
---|
364 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BE_locale; |
---|
365 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BF_locale; |
---|
366 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BI_locale; |
---|
367 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BJ_locale; |
---|
368 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BL_locale; |
---|
369 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CA_locale; |
---|
370 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CD_locale; |
---|
371 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CF_locale; |
---|
372 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CG_locale; |
---|
373 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CH_locale; |
---|
374 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CI_locale; |
---|
375 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CM_locale; |
---|
376 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_DJ_locale; |
---|
377 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_FR_locale; |
---|
378 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_GA_locale; |
---|
379 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_GN_locale; |
---|
380 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_GP_locale; |
---|
381 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_GQ_locale; |
---|
382 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_KM_locale; |
---|
383 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_LU_locale; |
---|
384 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_MC_locale; |
---|
385 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_MF_locale; |
---|
386 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_MG_locale; |
---|
387 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_ML_locale; |
---|
388 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_MQ_locale; |
---|
389 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_NE_locale; |
---|
390 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_RE_locale; |
---|
391 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_RW_locale; |
---|
392 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_SN_locale; |
---|
393 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_TD_locale; |
---|
394 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_TG_locale; |
---|
395 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fur_IT_locale; |
---|
396 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ga_IE_locale; |
---|
397 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gaa_GH_locale; |
---|
398 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gez_ER_locale; |
---|
399 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gez_ET_locale; |
---|
400 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gl_ES_locale; |
---|
401 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gsw_CH_locale; |
---|
402 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gu_IN_locale; |
---|
403 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_guz_KE_locale; |
---|
404 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gv_GB_locale; |
---|
405 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Arab_NG_locale; |
---|
406 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Arab_SD_locale; |
---|
407 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_GH_locale; |
---|
408 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Latn_GH_locale; |
---|
409 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Latn_NE_locale; |
---|
410 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Latn_NG_locale; |
---|
411 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_NE_locale; |
---|
412 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_NG_locale; |
---|
413 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_SD_locale; |
---|
414 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_haw_US_locale; |
---|
415 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_he_IL_locale; |
---|
416 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_hi_IN_locale; |
---|
417 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_hr_HR_locale; |
---|
418 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_hu_HU_locale; |
---|
419 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_hy_AM_locale; |
---|
420 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_id_ID_locale; |
---|
421 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ig_NG_locale; |
---|
422 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ii_CN_locale; |
---|
423 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_is_IS_locale; |
---|
424 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_it_CH_locale; |
---|
425 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_it_IT_locale; |
---|
426 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ja_JP_locale; |
---|
427 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_jmc_TZ_locale; |
---|
428 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ka_GE_locale; |
---|
429 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kab_DZ_locale; |
---|
430 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kaj_NG_locale; |
---|
431 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kam_KE_locale; |
---|
432 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kcg_NG_locale; |
---|
433 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kde_TZ_locale; |
---|
434 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kea_CV_locale; |
---|
435 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kfo_CI_locale; |
---|
436 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_khq_ML_locale; |
---|
437 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ki_KE_locale; |
---|
438 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kk_Cyrl_KZ_locale; |
---|
439 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kk_KZ_locale; |
---|
440 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kl_GL_locale; |
---|
441 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kln_KE_locale; |
---|
442 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_km_KH_locale; |
---|
443 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kn_IN_locale; |
---|
444 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ko_KR_locale; |
---|
445 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kok_IN_locale; |
---|
446 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kpe_GN_locale; |
---|
447 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kpe_LR_locale; |
---|
448 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ksb_TZ_locale; |
---|
449 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ksh_DE_locale; |
---|
450 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_Arab_IQ_locale; |
---|
451 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_Arab_IR_locale; |
---|
452 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_IQ_locale; |
---|
453 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_IR_locale; |
---|
454 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_Latn_SY_locale; |
---|
455 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_Latn_TR_locale; |
---|
456 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_SY_locale; |
---|
457 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_TR_locale; |
---|
458 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kw_GB_locale; |
---|
459 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ky_KG_locale; |
---|
460 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lag_TZ_locale; |
---|
461 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lg_UG_locale; |
---|
462 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ln_CD_locale; |
---|
463 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ln_CG_locale; |
---|
464 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lo_LA_locale; |
---|
465 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lt_LT_locale; |
---|
466 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_luo_KE_locale; |
---|
467 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_luy_KE_locale; |
---|
468 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lv_LV_locale; |
---|
469 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mas_KE_locale; |
---|
470 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mas_TZ_locale; |
---|
471 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mer_KE_locale; |
---|
472 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mfe_MU_locale; |
---|
473 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mg_MG_locale; |
---|
474 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mi_NZ_locale; |
---|
475 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mk_MK_locale; |
---|
476 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ml_IN_locale; |
---|
477 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mn_CN_locale; |
---|
478 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mn_Cyrl_MN_locale; |
---|
479 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mn_MN_locale; |
---|
480 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mn_Mong_CN_locale; |
---|
481 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mr_IN_locale; |
---|
482 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ms_BN_locale; |
---|
483 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ms_MY_locale; |
---|
484 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mt_MT_locale; |
---|
485 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_my_MM_locale; |
---|
486 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_naq_NA_locale; |
---|
487 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nb_NO_locale; |
---|
488 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nd_ZW_locale; |
---|
489 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nds_DE_locale; |
---|
490 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ne_IN_locale; |
---|
491 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ne_NP_locale; |
---|
492 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nl_BE_locale; |
---|
493 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nl_NL_locale; |
---|
494 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nn_NO_locale; |
---|
495 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nr_ZA_locale; |
---|
496 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nso_ZA_locale; |
---|
497 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ny_MW_locale; |
---|
498 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nyn_UG_locale; |
---|
499 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_oc_FR_locale; |
---|
500 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_om_ET_locale; |
---|
501 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_om_KE_locale; |
---|
502 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_or_IN_locale; |
---|
503 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pa_Arab_PK_locale; |
---|
504 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pa_Guru_IN_locale; |
---|
505 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pa_IN_locale; |
---|
506 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pa_PK_locale; |
---|
507 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pl_PL_locale; |
---|
508 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ps_AF_locale; |
---|
509 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_AO_locale; |
---|
510 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_BR_locale; |
---|
511 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_GW_locale; |
---|
512 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_MZ_locale; |
---|
513 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_PT_locale; |
---|
514 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_rm_CH_locale; |
---|
515 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ro_MD_locale; |
---|
516 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ro_RO_locale; |
---|
517 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_rof_TZ_locale; |
---|
518 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ru_MD_locale; |
---|
519 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ru_RU_locale; |
---|
520 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ru_UA_locale; |
---|
521 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_rw_RW_locale; |
---|
522 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_rwk_TZ_locale; |
---|
523 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sa_IN_locale; |
---|
524 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_saq_KE_locale; |
---|
525 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_se_FI_locale; |
---|
526 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_se_NO_locale; |
---|
527 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_seh_MZ_locale; |
---|
528 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ses_ML_locale; |
---|
529 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sg_CF_locale; |
---|
530 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sh_BA_locale; |
---|
531 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sh_CS_locale; |
---|
532 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sh_YU_locale; |
---|
533 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_shi_Latn_MA_locale; |
---|
534 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_shi_MA_locale; |
---|
535 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_shi_Tfng_MA_locale; |
---|
536 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_si_LK_locale; |
---|
537 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sid_ET_locale; |
---|
538 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sk_SK_locale; |
---|
539 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sl_SI_locale; |
---|
540 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sn_ZW_locale; |
---|
541 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_so_DJ_locale; |
---|
542 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_so_ET_locale; |
---|
543 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_so_KE_locale; |
---|
544 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_so_SO_locale; |
---|
545 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sq_AL_locale; |
---|
546 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_BA_locale; |
---|
547 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_CS_locale; |
---|
548 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_BA_locale; |
---|
549 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_CS_locale; |
---|
550 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_ME_locale; |
---|
551 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_RS_locale; |
---|
552 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_YU_locale; |
---|
553 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_BA_locale; |
---|
554 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_CS_locale; |
---|
555 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_ME_locale; |
---|
556 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_RS_locale; |
---|
557 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_YU_locale; |
---|
558 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_ME_locale; |
---|
559 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_RS_locale; |
---|
560 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_YU_locale; |
---|
561 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ss_SZ_locale; |
---|
562 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ss_ZA_locale; |
---|
563 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ssy_ER_locale; |
---|
564 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_st_LS_locale; |
---|
565 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_st_ZA_locale; |
---|
566 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sv_FI_locale; |
---|
567 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sv_SE_locale; |
---|
568 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sw_KE_locale; |
---|
569 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sw_TZ_locale; |
---|
570 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_syr_SY_locale; |
---|
571 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ta_IN_locale; |
---|
572 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ta_LK_locale; |
---|
573 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_te_IN_locale; |
---|
574 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_teo_KE_locale; |
---|
575 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_teo_UG_locale; |
---|
576 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tg_Cyrl_TJ_locale; |
---|
577 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tg_TJ_locale; |
---|
578 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_th_TH_locale; |
---|
579 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ti_ER_locale; |
---|
580 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ti_ET_locale; |
---|
581 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tig_ER_locale; |
---|
582 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tl_PH_locale; |
---|
583 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tn_ZA_locale; |
---|
584 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_to_TO_locale; |
---|
585 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tr_TR_locale; |
---|
586 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_trv_TW_locale; |
---|
587 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ts_ZA_locale; |
---|
588 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tt_RU_locale; |
---|
589 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tzm_Latn_MA_locale; |
---|
590 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tzm_MA_locale; |
---|
591 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ug_Arab_CN_locale; |
---|
592 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ug_CN_locale; |
---|
593 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uk_UA_locale; |
---|
594 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ur_IN_locale; |
---|
595 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ur_PK_locale; |
---|
596 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_AF_locale; |
---|
597 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_Arab_AF_locale; |
---|
598 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_Cyrl_UZ_locale; |
---|
599 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_Latn_UZ_locale; |
---|
600 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_UZ_locale; |
---|
601 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ve_ZA_locale; |
---|
602 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_vi_VN_locale; |
---|
603 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_vun_TZ_locale; |
---|
604 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_wal_ET_locale; |
---|
605 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_wo_Latn_SN_locale; |
---|
606 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_wo_SN_locale; |
---|
607 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_xh_ZA_locale; |
---|
608 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_xog_UG_locale; |
---|
609 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_yo_NG_locale; |
---|
610 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_CN_locale; |
---|
611 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hans_CN_locale; |
---|
612 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hans_HK_locale; |
---|
613 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hans_MO_locale; |
---|
614 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hans_SG_locale; |
---|
615 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hant_HK_locale; |
---|
616 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hant_MO_locale; |
---|
617 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hant_TW_locale; |
---|
618 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_HK_locale; |
---|
619 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_MO_locale; |
---|
620 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_SG_locale; |
---|
621 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_TW_locale; |
---|
622 | extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zu_ZA_locale; |
---|
623 | |
---|
624 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_ascii; |
---|
625 | extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_utf8; |
---|
626 | |
---|
627 | extern const char __SEGGER_RTL_data_utf8_period []; |
---|
628 | extern const char __SEGGER_RTL_data_utf8_comma []; |
---|
629 | extern const char __SEGGER_RTL_data_utf8_space []; |
---|
630 | extern const char __SEGGER_RTL_data_utf8_plus []; |
---|
631 | extern const char __SEGGER_RTL_data_utf8_minus []; |
---|
632 | extern const char __SEGGER_RTL_data_empty_string[]; |
---|
633 | # 546 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3 |
---|
634 | int __SEGGER_RTL_X_set_time_of_day (const struct timeval *__tp); |
---|
635 | int __SEGGER_RTL_X_get_time_of_day (struct timeval *__tp); |
---|
636 | const __SEGGER_RTL_locale_t * __SEGGER_RTL_X_find_locale (const char *__locale); |
---|
637 | __SEGGER_RTL_FILE * __SEGGER_RTL_X_file_open (const char *__filename, const char *__mode); |
---|
638 | __SEGGER_RTL_FILE * __SEGGER_RTL_X_file_dopen (int __descriptor, const char *__mode); |
---|
639 | int __SEGGER_RTL_X_file_stat (__SEGGER_RTL_FILE *__stream); |
---|
640 | int __SEGGER_RTL_X_file_read (__SEGGER_RTL_FILE *__stream, char *__s, unsigned __len); |
---|
641 | int __SEGGER_RTL_X_file_write (__SEGGER_RTL_FILE *__stream, const char *__s, unsigned __len); |
---|
642 | int __SEGGER_RTL_X_file_unget (__SEGGER_RTL_FILE *__stream, int __c); |
---|
643 | int __SEGGER_RTL_X_file_close (__SEGGER_RTL_FILE *__stream); |
---|
644 | int __SEGGER_RTL_X_file_error (__SEGGER_RTL_FILE *__stream); |
---|
645 | int __SEGGER_RTL_X_file_flush (__SEGGER_RTL_FILE *__stream); |
---|
646 | int __SEGGER_RTL_X_file_eof (__SEGGER_RTL_FILE *__stream); |
---|
647 | void __SEGGER_RTL_X_file_clrerr (__SEGGER_RTL_FILE *__stream); |
---|
648 | int __SEGGER_RTL_X_file_seek (__SEGGER_RTL_FILE *__stream, long __offset, int __whence); |
---|
649 | int __SEGGER_RTL_X_file_getpos (__SEGGER_RTL_FILE *__stream, long *__pos); |
---|
650 | int __SEGGER_RTL_X_file_bufsize (__SEGGER_RTL_FILE *__stream); |
---|
651 | __SEGGER_RTL_FILE * __SEGGER_RTL_X_file_tmpfile (void); |
---|
652 | char * __SEGGER_RTL_X_file_tmpnam (char *__s, unsigned __max); |
---|
653 | int __SEGGER_RTL_X_file_remove (const char *__filename); |
---|
654 | int __SEGGER_RTL_X_file_rename (const char *__old, const char *__new); |
---|
655 | void __attribute__((__weak__)) __SEGGER_RTL_X_heap_lock (void); |
---|
656 | void __attribute__((__weak__)) __SEGGER_RTL_X_heap_unlock (void); |
---|
657 | int __attribute__((__weak__)) __SEGGER_RTL_X_atomic_lock (void); |
---|
658 | void __attribute__((__weak__)) __SEGGER_RTL_X_atomic_unlock (int __state); |
---|
659 | int __attribute__((__weak__)) __SEGGER_RTL_X_atomic_is_lock_free (unsigned int __size, void *__ptr); |
---|
660 | void __attribute__((__weak__)) __SEGGER_RTL_X_atomic_synchronize (void); |
---|
661 | volatile int * __aeabi_errno_addr (void); |
---|
662 | void __aeabi_assert (const char *__expression, const char *__filename, int __line); |
---|
663 | # 584 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3 |
---|
664 | void __SEGGER_RTL_execute_at_exit_fns (void); |
---|
665 | void __SEGGER_RTL_set_locale_name_buffer (char *__buffer); |
---|
666 | int __SEGGER_RTL_mb_max (const struct __SEGGER_RTL_POSIX_locale_s *__loc); |
---|
667 | int __SEGGER_RTL_mb_cur_max (void); |
---|
668 | void __SEGGER_RTL_init_heap (void *__ptr, unsigned int __size); |
---|
669 | # 21 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdint.h" 2 3 |
---|
670 | # 272 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdint.h" 3 |
---|
671 | typedef signed char int8_t; |
---|
672 | typedef unsigned char uint8_t; |
---|
673 | typedef short int16_t; |
---|
674 | typedef unsigned short uint16_t; |
---|
675 | typedef int int32_t; |
---|
676 | typedef unsigned int uint32_t; |
---|
677 | typedef long long int int64_t; |
---|
678 | typedef long long unsigned int uint64_t; |
---|
679 | |
---|
680 | typedef signed char int_least8_t; |
---|
681 | typedef short int_least16_t; |
---|
682 | typedef int int_least32_t; |
---|
683 | typedef long long int int_least64_t; |
---|
684 | typedef unsigned char uint_least8_t; |
---|
685 | typedef unsigned short uint_least16_t; |
---|
686 | typedef unsigned int uint_least32_t; |
---|
687 | typedef long long unsigned int uint_least64_t; |
---|
688 | |
---|
689 | typedef signed char int_fast8_t; |
---|
690 | typedef short int_fast16_t; |
---|
691 | typedef int int_fast32_t; |
---|
692 | typedef long long int int_fast64_t; |
---|
693 | typedef unsigned char uint_fast8_t; |
---|
694 | typedef unsigned short uint_fast16_t; |
---|
695 | typedef unsigned int uint_fast32_t; |
---|
696 | typedef long long unsigned int uint_fast64_t; |
---|
697 | |
---|
698 | typedef int intptr_t; |
---|
699 | typedef unsigned int uintptr_t; |
---|
700 | |
---|
701 | typedef long long int intmax_t; |
---|
702 | typedef long long unsigned int uintmax_t; |
---|
703 | # 16 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\sysdata.h" 2 |
---|
704 | # 25 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\sysdata.h" |
---|
705 | typedef union |
---|
706 | { |
---|
707 | uint16_t w; |
---|
708 | int16_t sw; |
---|
709 | uint8_t b[2]; |
---|
710 | int8_t sb[2]; |
---|
711 | } bword_t; |
---|
712 | |
---|
713 | |
---|
714 | |
---|
715 | typedef struct |
---|
716 | { |
---|
717 | |
---|
718 | uint16_t device_type; |
---|
719 | uint16_t reserved0; |
---|
720 | uint32_t sn; |
---|
721 | |
---|
722 | uint16_t fw_revision_major; |
---|
723 | uint16_t fw_revision_minor; |
---|
724 | |
---|
725 | uint16_t fw_revision_revision; |
---|
726 | uint16_t reserved1; |
---|
727 | |
---|
728 | uint32_t baudrate; |
---|
729 | |
---|
730 | uint16_t parityMode; |
---|
731 | uint16_t stopBit; |
---|
732 | |
---|
733 | uint16_t slave_address; |
---|
734 | uint16_t command; |
---|
735 | |
---|
736 | uint16_t ibn_day; |
---|
737 | uint16_t ibn_month; |
---|
738 | uint16_t ibn_year; |
---|
739 | uint16_t user_id; |
---|
740 | uint16_t reserved2[8]; |
---|
741 | |
---|
742 | |
---|
743 | uint16_t lvpStart; |
---|
744 | uint16_t lvpStop; |
---|
745 | |
---|
746 | uint16_t ovpStart; |
---|
747 | uint16_t ovpStop; |
---|
748 | |
---|
749 | int16_t loadCurrentLimit; |
---|
750 | int16_t chargeCurrentLimit; |
---|
751 | |
---|
752 | |
---|
753 | int16_t chargeStopHighTemperatureStart; |
---|
754 | int16_t chargeStopHighTemperatureStop; |
---|
755 | |
---|
756 | int16_t chargeStopLowTemperatureStart; |
---|
757 | int16_t chargeStopLowTemperatureStop; |
---|
758 | |
---|
759 | int16_t dischargeStopHighTemperatureStart; |
---|
760 | int16_t dischargeStopHighTemperatureStop; |
---|
761 | |
---|
762 | int16_t dischargeStopLowTemperatureStart; |
---|
763 | int16_t dischargeStopLowTemperatureStop; |
---|
764 | |
---|
765 | |
---|
766 | |
---|
767 | uint16_t peukert; |
---|
768 | uint16_t cef; |
---|
769 | |
---|
770 | uint16_t iBatFull; |
---|
771 | uint16_t tBatFull; |
---|
772 | |
---|
773 | uint16_t uBatFull; |
---|
774 | uint16_t uBatEmpty; |
---|
775 | uint32_t cellCapacity; |
---|
776 | uint32_t battEnergy; |
---|
777 | uint16_t socCalcMode; |
---|
778 | uint16_t reserved3; |
---|
779 | uint16_t cellRatedDischargeTime; |
---|
780 | int16_t uBatEmptyCompStartTemp; |
---|
781 | int16_t uBatEmptyCompStopTemp; |
---|
782 | uint16_t uBatEmptyCompStopVolt; |
---|
783 | int16_t extraDischargeStrom_mA; |
---|
784 | uint16_t cefW; |
---|
785 | uint16_t lvpMode; |
---|
786 | uint16_t ovpMode; |
---|
787 | |
---|
788 | |
---|
789 | int32_t batteryCurrentOffset; |
---|
790 | int16_t batteryCurrentOffsetRefTemperatureShunt; |
---|
791 | int16_t batteryCurrentOffsetRefTemperatureChip; |
---|
792 | int32_t batteryCurrentOffsetRefshuntVoltage; |
---|
793 | |
---|
794 | int32_t batteryCurrentOffsetCommonModeCalibrationVoltage; |
---|
795 | int32_t batteryCurrentOffsetCommonModeCompensationFactor; |
---|
796 | |
---|
797 | int16_t batteryCurrentOffsetTemperatureCalibrationTemperature; |
---|
798 | int16_t reserved4; |
---|
799 | int32_t batteryCurrentOffsetTemperatureCompensationFactor; |
---|
800 | |
---|
801 | int32_t batteryCurrentGainCorrectionFaktor; |
---|
802 | int16_t batteryCurrentGainRefTempShunt; |
---|
803 | int16_t batteryCurrentGainRefTempChip; |
---|
804 | int32_t batteryCurrentGainRefCurrent; |
---|
805 | |
---|
806 | int16_t batteryCurrentGainTemperatureCalibrationShuntTemperature; |
---|
807 | int16_t reserved5; |
---|
808 | int32_t batteryCurrentGainTemperatureCompensationShuntFactor; |
---|
809 | int16_t batteryCurrentGainTemperatureCalibrationChipTemperature; |
---|
810 | int16_t reserved6; |
---|
811 | int32_t batteryCurrentGainTemperatureCompensationChipFactor; |
---|
812 | |
---|
813 | uint32_t reserved7[6]; |
---|
814 | |
---|
815 | } device_parameter_t; |
---|
816 | |
---|
817 | |
---|
818 | |
---|
819 | typedef struct |
---|
820 | { |
---|
821 | uint16_t voltageVref; |
---|
822 | uint16_t realVdd; |
---|
823 | int16_t chipTemperature; |
---|
824 | int16_t shuntTemperature; |
---|
825 | int16_t shuntTemperatureMax; |
---|
826 | int16_t shuntTemperatureMin; |
---|
827 | uint32_t shuntVoltage; |
---|
828 | int32_t batteryVoltage; |
---|
829 | int32_t batteryVoltageMax; |
---|
830 | int32_t batteryVoltageMin; |
---|
831 | int32_t batteryCurrent; |
---|
832 | int32_t batteryCurrentMax; |
---|
833 | int32_t batteryCurrentMin; |
---|
834 | int32_t batteryCurrentCorrected; |
---|
835 | int32_t mAhCounter; |
---|
836 | int64_t mAsCounter; |
---|
837 | int32_t soc; |
---|
838 | int16_t ovpState; |
---|
839 | int16_t lvpState; |
---|
840 | int32_t batteryPower; |
---|
841 | int32_t detectedCapacity; |
---|
842 | int32_t detectedEnergy; |
---|
843 | int16_t SoH; |
---|
844 | int16_t efficiency; |
---|
845 | int16_t selfDischarge; |
---|
846 | int16_t selfDischargeAvg; |
---|
847 | int16_t esr; |
---|
848 | int16_t esr_fast; |
---|
849 | uint32_t lastTimeVbatFull; |
---|
850 | uint32_t lastTimeVbatEmpty; |
---|
851 | uint32_t onTime; |
---|
852 | uint32_t dischargeTotalAh; |
---|
853 | uint32_t chargeTotalAh; |
---|
854 | uint32_t dischargeTotalWh; |
---|
855 | uint32_t chargeTotalWh; |
---|
856 | uint16_t fullCyclesCnt; |
---|
857 | uint16_t reserved8; |
---|
858 | int64_t mAs_AutoMode; |
---|
859 | int64_t mWs_AutoMode; |
---|
860 | uint16_t ovp_sense; |
---|
861 | uint16_t lvp_sense; |
---|
862 | uint16_t reserved9; |
---|
863 | uint16_t reserved10; |
---|
864 | uint16_t reserved11; |
---|
865 | uint16_t reserved12; |
---|
866 | uint16_t reserved13; |
---|
867 | uint16_t reserved14; |
---|
868 | uint16_t reserved15; |
---|
869 | uint16_t reserved16; |
---|
870 | uint16_t reserved17; |
---|
871 | uint16_t reserved18; |
---|
872 | |
---|
873 | |
---|
874 | int32_t mAh_AutoMode; |
---|
875 | int32_t mWh_AutoMode; |
---|
876 | int64_t mWsCounter; |
---|
877 | int32_t mWhCounter; |
---|
878 | int32_t correctedStromForChargeWhCnt; |
---|
879 | uint16_t uBatEmptyTempComp; |
---|
880 | uint16_t adc_restarts; |
---|
881 | int16_t reserved19; |
---|
882 | int16_t reserved20; |
---|
883 | int32_t battryCurrentRaw; |
---|
884 | int32_t batteryCurrentOffsetCommonModeCorrectionADCSteps; |
---|
885 | int32_t fast_current; |
---|
886 | int32_t fast_voltage; |
---|
887 | int16_t esrCalcStatus; |
---|
888 | uint16_t esrCalcTime; |
---|
889 | int16_t selfDischargeStatus; |
---|
890 | uint16_t selfDischargeTime; |
---|
891 | uint8_t message[24]; |
---|
892 | int32_t current_buffer[32]; |
---|
893 | int32_t voltage_buffer[32]; |
---|
894 | int32_t current_buffer_fast[32]; |
---|
895 | int32_t voltage_buffer_fast[32]; |
---|
896 | |
---|
897 | } device_values_t; |
---|
898 | |
---|
899 | |
---|
900 | |
---|
901 | typedef struct |
---|
902 | { |
---|
903 | device_parameter_t parameter; |
---|
904 | device_values_t values; |
---|
905 | } sys_data_struct_t; |
---|
906 | |
---|
907 | |
---|
908 | typedef volatile union |
---|
909 | { |
---|
910 | sys_data_struct_t s; |
---|
911 | bword_t mb[sizeof(sys_data_struct_t) / 2]; |
---|
912 | } sys_data_t; |
---|
913 | |
---|
914 | |
---|
915 | |
---|
916 | extern sys_data_t sys_data; |
---|
917 | |
---|
918 | |
---|
919 | |
---|
920 | void SYS_DATA_Init(void); |
---|
921 | # 4 "D:\\projekte\\ecs_smartSwitch\\trunk\\firmware\\Src\\esr.c" 2 |
---|
922 | # 1 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\esr.h" 1 |
---|
923 | # 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\inttypes.h" 1 3 |
---|
924 | # 2 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\esr.h" 2 |
---|
925 | |
---|
926 | int16_t ESR_Exec(void); |
---|
927 | int16_t ESR_FAST_Exec(void); |
---|
928 | # 5 "D:\\projekte\\ecs_smartSwitch\\trunk\\firmware\\Src\\esr.c" 2 |
---|
929 | # 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdlib.h" 1 3 |
---|
930 | # 39 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdlib.h" 3 |
---|
931 | typedef unsigned int size_t; |
---|
932 | |
---|
933 | |
---|
934 | |
---|
935 | |
---|
936 | typedef unsigned int wchar_t; |
---|
937 | |
---|
938 | |
---|
939 | |
---|
940 | |
---|
941 | typedef struct __SEGGER_RTL_POSIX_locale_s *locale_t; |
---|
942 | # 64 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdlib.h" 3 |
---|
943 | typedef struct { |
---|
944 | int quot; |
---|
945 | int rem; |
---|
946 | } div_t; |
---|
947 | |
---|
948 | typedef struct { |
---|
949 | long quot; |
---|
950 | long rem; |
---|
951 | } ldiv_t; |
---|
952 | |
---|
953 | typedef struct { |
---|
954 | long long quot; |
---|
955 | long rem; |
---|
956 | } lldiv_t; |
---|
957 | # 86 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdlib.h" 3 |
---|
958 | int abs (int __j); |
---|
959 | int at_quick_exit (void (*__func)(void)); |
---|
960 | long int labs (long int __j); |
---|
961 | long long int llabs (long long int __j); |
---|
962 | div_t div (int __numer, int __denom); |
---|
963 | ldiv_t ldiv (long int __numer, long int __denom); |
---|
964 | lldiv_t lldiv (long long int __numer, long long int __denom); |
---|
965 | void * malloc (size_t __size); |
---|
966 | void * aligned_alloc (size_t alignment, size_t __size); |
---|
967 | void * calloc (size_t __nobj, size_t __size); |
---|
968 | void * realloc (void *__p, size_t __size); |
---|
969 | void free (void *__p); |
---|
970 | double atof (const char *__nptr); |
---|
971 | double strtod (const char *__nptr, char **__endptr); |
---|
972 | float strtof (const char *__nptr, char **__endptr); |
---|
973 | long double strtold (const char *__nptr, char **__endptr); |
---|
974 | int atoi (const char *__nptr); |
---|
975 | long int atol (const char *__nptr); |
---|
976 | long long int atoll (const char *__nptr); |
---|
977 | long int strtol (const char *__nptr, char **__endptr, int __base); |
---|
978 | long long int strtoll (const char *__nptr, char **__endptr, int __base); |
---|
979 | unsigned long int strtoul (const char *__nptr, char **__endptr, int __base); |
---|
980 | unsigned long long int strtoull (const char *__nptr, char **__endptr, int __base); |
---|
981 | int rand (void); |
---|
982 | void srand (unsigned int __seed); |
---|
983 | void * bsearch (const void *__key, const void *__buf, size_t __num, size_t __size, int (*__compare)(const void *, const void *)); |
---|
984 | void qsort (void *__buf, size_t __num, size_t __size, int (*__compare)(const void *, const void *)); |
---|
985 | int atexit (void (*__func)(void)); |
---|
986 | char * getenv (const char *__name); |
---|
987 | int system (const char *__command); |
---|
988 | char * itoa (int __val, char *__buf, int __radix); |
---|
989 | char * utoa (unsigned val, char *buf, int radix); |
---|
990 | char * ltoa (long __val, char *__buf, int __radix); |
---|
991 | char * ultoa (unsigned long __val, char *__buf, int __radix); |
---|
992 | char * lltoa (long long __val, char *__buf, int __radix); |
---|
993 | char * ulltoa (unsigned long long __val, char *__buf, int __radix); |
---|
994 | int mblen (const char *__s, size_t __n); |
---|
995 | int mblen_l (const char *__s, size_t __n, locale_t __loc); |
---|
996 | size_t mbstowcs (wchar_t *__pwcs, const char *__s, size_t __n); |
---|
997 | size_t mbstowcs_l (wchar_t *__pwcs, const char *__s, size_t __n, locale_t __loc); |
---|
998 | int mbtowc (wchar_t *__pwc, const char *__s, size_t __n); |
---|
999 | int mbtowc_l (wchar_t *__pwc, const char *__s, size_t __n, locale_t __loc); |
---|
1000 | int wctomb (char *__s, wchar_t __wc); |
---|
1001 | int wctomb_l (char *__s, wchar_t __wc, locale_t __loc); |
---|
1002 | size_t wcstombs (char *__s, const wchar_t *__pwcs, size_t __n); |
---|
1003 | size_t wcstombs_l (char *__s, const wchar_t *__pwcs, size_t __n, locale_t __loc); |
---|
1004 | |
---|
1005 | _Noreturn void abort (void); |
---|
1006 | _Noreturn void exit (int __exit_code); |
---|
1007 | _Noreturn void _Exit (int __exit_code); |
---|
1008 | _Noreturn void quick_exit (int __exit_code); |
---|
1009 | # 6 "D:\\projekte\\ecs_smartSwitch\\trunk\\firmware\\Src\\esr.c" 2 |
---|
1010 | # 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdio.h" 1 3 |
---|
1011 | # 77 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdio.h" 3 |
---|
1012 | typedef long fpos_t; |
---|
1013 | |
---|
1014 | |
---|
1015 | |
---|
1016 | |
---|
1017 | typedef struct __SEGGER_RTL_FILE_impl FILE; |
---|
1018 | # 97 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdio.h" 3 |
---|
1019 | extern FILE *stdin; |
---|
1020 | extern FILE *stdout; |
---|
1021 | extern FILE *stderr; |
---|
1022 | # 108 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdio.h" 3 |
---|
1023 | int putchar (int __c); |
---|
1024 | int getchar (void); |
---|
1025 | int puts (const char *__s); |
---|
1026 | char * gets (char *__s); |
---|
1027 | int sprintf (char *__s, const char *__format, ...); |
---|
1028 | int sprintf_l (char *__s, locale_t __loc, const char *__format, ...); |
---|
1029 | int snprintf (char *__s, size_t __n, const char *__format, ...); |
---|
1030 | int snprintf_l (char *__s, size_t __n, locale_t __loc, const char *__format, ...); |
---|
1031 | int vsnprintf (char *__s, size_t __n, const char *__format, __builtin_va_list __arg); |
---|
1032 | int vsnprintf_l (char *__s, size_t __n, locale_t __loc, const char *__format, __builtin_va_list __arg); |
---|
1033 | int printf (const char *__format, ...); |
---|
1034 | int printf_l (locale_t __loc, const char *__format, ...); |
---|
1035 | int vprintf (const char *__format, __builtin_va_list __arg); |
---|
1036 | int vprintf_l (locale_t __loc, const char *__format, __builtin_va_list __arg); |
---|
1037 | int vsprintf (char *__s, const char *__format, __builtin_va_list __arg); |
---|
1038 | int vsprintf_l (char *__s, locale_t __loc, const char *__format, __builtin_va_list __arg); |
---|
1039 | int vasprintf (char **__strp, const char *__format, __builtin_va_list __ap); |
---|
1040 | int vasprintf_l (char **__strp, locale_t __loc, const char *__format, __builtin_va_list __ap); |
---|
1041 | int asprintf (char **__strp, const char *__format, ...); |
---|
1042 | int asprintf_l (char **__strp, locale_t __loc, const char *__format, ...); |
---|
1043 | |
---|
1044 | int scanf (const char *__format, ...); |
---|
1045 | int scanf_l (locale_t __loc, const char *__format, ...); |
---|
1046 | int sscanf (const char *__s, const char *__format, ...); |
---|
1047 | int sscanf_l (const char *__s, locale_t __loc, const char *__format, ...); |
---|
1048 | int vscanf (const char *__format, __builtin_va_list __arg); |
---|
1049 | int vscanf_l (locale_t __loc, const char *__format, __builtin_va_list __arg); |
---|
1050 | int vsscanf (const char *__s, const char *__format, __builtin_va_list __arg); |
---|
1051 | int vsscanf_l (const char *__s, locale_t __loc, const char *__format, __builtin_va_list __arg); |
---|
1052 | |
---|
1053 | void clearerr (FILE *); |
---|
1054 | int fclose (FILE *); |
---|
1055 | int feof (FILE *); |
---|
1056 | int ferror (FILE *); |
---|
1057 | int fflush (FILE *); |
---|
1058 | int fgetc (FILE *); |
---|
1059 | int fgetpos (FILE *, fpos_t *); |
---|
1060 | char * fgets (char *, int, FILE *); |
---|
1061 | int fileno (FILE *); |
---|
1062 | FILE * fopen (const char *, const char *); |
---|
1063 | int fprintf (FILE *, const char *, ...); |
---|
1064 | int fprintf_l (FILE *, locale_t, const char *, ...); |
---|
1065 | int vfprintf (FILE *__stream, const char *__format, __builtin_va_list __arg); |
---|
1066 | int vfprintf_l (FILE *__stream, locale_t loc, const char *__format, __builtin_va_list __arg); |
---|
1067 | int fputc (int, FILE *); |
---|
1068 | int fputs (const char *, FILE *); |
---|
1069 | size_t fread (void *, size_t, size_t, FILE *); |
---|
1070 | FILE * freopen (const char *, const char *, FILE *); |
---|
1071 | int fscanf (FILE *, const char *, ...); |
---|
1072 | int fscanf_l (FILE *, locale_t, const char *, ...); |
---|
1073 | int vfscanf (FILE *, const char *, __builtin_va_list); |
---|
1074 | int vfscanf_l (FILE *, locale_t, const char *, __builtin_va_list); |
---|
1075 | int fseek (FILE *, long, int); |
---|
1076 | int fsetpos (FILE *, const fpos_t *); |
---|
1077 | long ftell (FILE *); |
---|
1078 | size_t fwrite (const void *, size_t, size_t, FILE *); |
---|
1079 | int getc (FILE *); |
---|
1080 | void perror (const char *); |
---|
1081 | int putc (int, FILE *); |
---|
1082 | int remove (const char *); |
---|
1083 | int rename (const char *, const char *); |
---|
1084 | void rewind (FILE *); |
---|
1085 | void setbuf (FILE *, char *); |
---|
1086 | int setvbuf (FILE *, char *, int, size_t); |
---|
1087 | FILE * tmpfile (void); |
---|
1088 | char * tmpnam (char *); |
---|
1089 | int ungetc (int, FILE *); |
---|
1090 | |
---|
1091 | |
---|
1092 | |
---|
1093 | |
---|
1094 | |
---|
1095 | int dprintf (int, const char *, ...); |
---|
1096 | int vdprintf (int, const char *, __builtin_va_list); |
---|
1097 | FILE * fdopen (int, const char *); |
---|
1098 | # 7 "D:\\projekte\\ecs_smartSwitch\\trunk\\firmware\\Src\\esr.c" 2 |
---|
1099 | |
---|
1100 | |
---|
1101 | int32_t current_buffer[32]; |
---|
1102 | int32_t voltage_buffer[32]; |
---|
1103 | int32_t current_buffer_fast[32]; |
---|
1104 | int32_t voltage_buffer_fast[32]; |
---|
1105 | |
---|
1106 | |
---|
1107 | int16_t ESR_Exec(void) |
---|
1108 | { |
---|
1109 | |
---|
1110 | |
---|
1111 | static int32_t last_refresh; |
---|
1112 | int x; |
---|
1113 | |
---|
1114 | |
---|
1115 | sys_data.s.values.esrCalcTime = sys_data.s.values.onTime - last_refresh; |
---|
1116 | |
---|
1117 | for (x=32 -1; x>0; x--) |
---|
1118 | { |
---|
1119 | current_buffer[x] = current_buffer[x-1]; |
---|
1120 | voltage_buffer[x] = voltage_buffer[x-1]; |
---|
1121 | } |
---|
1122 | |
---|
1123 | |
---|
1124 | current_buffer[0] = sys_data.s.values.batteryCurrent; |
---|
1125 | voltage_buffer[0] = sys_data.s.values.batteryVoltage; |
---|
1126 | |
---|
1127 | |
---|
1128 | |
---|
1129 | int32_t minU=2147483647; |
---|
1130 | int32_t maxU=0; |
---|
1131 | int32_t minI=2147483647; |
---|
1132 | int32_t maxI=0; |
---|
1133 | int32_t minIPos = -1; |
---|
1134 | int32_t maxdIPos = -1; |
---|
1135 | int32_t minUPos = -1; |
---|
1136 | int32_t maxUPos = -1; |
---|
1137 | |
---|
1138 | |
---|
1139 | for (x=0; x < 32; x++) |
---|
1140 | { |
---|
1141 | if (abs(current_buffer[x]) < minI) { minI = abs(current_buffer[x]); minIPos = x; } |
---|
1142 | if (abs(current_buffer[x]) >= maxI) { maxI = abs(current_buffer[x]); maxdIPos = x; } |
---|
1143 | if (abs(voltage_buffer[x]) < minU) { minU = abs(voltage_buffer[x]); minUPos = x; } |
---|
1144 | if (abs(voltage_buffer[x]) > maxU) { maxU = abs(voltage_buffer[x]); maxUPos = x; } |
---|
1145 | } |
---|
1146 | |
---|
1147 | |
---|
1148 | |
---|
1149 | |
---|
1150 | |
---|
1151 | int32_t dI = abs (maxI - minI); |
---|
1152 | int32_t dU = abs (maxU - minU); |
---|
1153 | |
---|
1154 | |
---|
1155 | |
---|
1156 | |
---|
1157 | int32_t min_dI; |
---|
1158 | min_dI = sys_data.s.parameter.cellCapacity / sys_data.s.parameter.cellRatedDischargeTime; |
---|
1159 | min_dI = min_dI / 20 ; |
---|
1160 | |
---|
1161 | int32_t min_dU = 25; |
---|
1162 | |
---|
1163 | if( dI < min_dI) |
---|
1164 | { |
---|
1165 | |
---|
1166 | return -1; |
---|
1167 | } |
---|
1168 | |
---|
1169 | |
---|
1170 | |
---|
1171 | if (dU < min_dU) { |
---|
1172 | return -2; |
---|
1173 | } |
---|
1174 | |
---|
1175 | |
---|
1176 | |
---|
1177 | |
---|
1178 | int32_t dIMax=-1; |
---|
1179 | int32_t dIx=-1;; |
---|
1180 | int32_t dIMaxPos=-1; |
---|
1181 | |
---|
1182 | for (x=0; x < (32 -1); x++) |
---|
1183 | { |
---|
1184 | dIx = abs(current_buffer[x+1] - current_buffer[x]); |
---|
1185 | if (dIx > dIMax) { dIMax = dIx; dIMaxPos = x; } |
---|
1186 | } |
---|
1187 | |
---|
1188 | |
---|
1189 | |
---|
1190 | if (dIMaxPos == 32 / 2) |
---|
1191 | { |
---|
1192 | |
---|
1193 | sys_data.s.values.esr = ( (double)dU / (double) dI) * 1000; |
---|
1194 | last_refresh = sys_data.s.values.onTime; |
---|
1195 | |
---|
1196 | |
---|
1197 | for (x=0; x < 32; x++) |
---|
1198 | { |
---|
1199 | sys_data.s.values.current_buffer[(32 -1)-x] = current_buffer[x]; |
---|
1200 | sys_data.s.values.voltage_buffer[(32 -1)-x] = voltage_buffer[x]; |
---|
1201 | } |
---|
1202 | |
---|
1203 | |
---|
1204 | |
---|
1205 | } |
---|
1206 | return 0; |
---|
1207 | } |
---|
1208 | |
---|
1209 | |
---|
1210 | int16_t ESR_FAST_Exec(void) |
---|
1211 | { |
---|
1212 | |
---|
1213 | |
---|
1214 | static int32_t last_refresh; |
---|
1215 | int x; |
---|
1216 | |
---|
1217 | |
---|
1218 | sys_data.s.values.esrCalcTime = sys_data.s.values.onTime - last_refresh; |
---|
1219 | |
---|
1220 | for (x=32 -1; x>0; x--) |
---|
1221 | { |
---|
1222 | current_buffer_fast[x] = current_buffer_fast[x-1]; |
---|
1223 | voltage_buffer_fast[x] = voltage_buffer_fast[x-1]; |
---|
1224 | } |
---|
1225 | |
---|
1226 | |
---|
1227 | current_buffer_fast[0] = sys_data.s.values.fast_current; |
---|
1228 | voltage_buffer_fast[0] = sys_data.s.values.shuntVoltage; |
---|
1229 | |
---|
1230 | |
---|
1231 | |
---|
1232 | int32_t minU=2147483647; |
---|
1233 | int32_t maxU=0; |
---|
1234 | int32_t minI=2147483647; |
---|
1235 | int32_t maxI=0; |
---|
1236 | int32_t minIPos = -1; |
---|
1237 | int32_t maxdIPos = -1; |
---|
1238 | int32_t minUPos = -1; |
---|
1239 | int32_t maxUPos = -1; |
---|
1240 | |
---|
1241 | |
---|
1242 | for (x=0; x < 32; x++) |
---|
1243 | { |
---|
1244 | if (abs(current_buffer_fast[x]) < minI) { minI = abs(current_buffer_fast[x]); minIPos = x; } |
---|
1245 | if (abs(current_buffer_fast[x]) >= maxI) { maxI = abs(current_buffer_fast[x]); maxdIPos = x; } |
---|
1246 | if (abs(voltage_buffer_fast[x]) < minU) { minU = abs(voltage_buffer_fast[x]); minUPos = x; } |
---|
1247 | if (abs(voltage_buffer_fast[x]) > maxU) { maxU = abs(voltage_buffer_fast[x]); maxUPos = x; } |
---|
1248 | } |
---|
1249 | |
---|
1250 | |
---|
1251 | |
---|
1252 | |
---|
1253 | |
---|
1254 | int32_t dI = abs (maxI - minI); |
---|
1255 | int32_t dU = abs (maxU - minU); |
---|
1256 | |
---|
1257 | |
---|
1258 | |
---|
1259 | |
---|
1260 | int32_t min_dI; |
---|
1261 | min_dI = sys_data.s.parameter.cellCapacity / sys_data.s.parameter.cellRatedDischargeTime; |
---|
1262 | min_dI = min_dI / 4 ; |
---|
1263 | |
---|
1264 | int32_t min_dU = 100; |
---|
1265 | |
---|
1266 | if( dI < min_dI) |
---|
1267 | { |
---|
1268 | |
---|
1269 | return -1; |
---|
1270 | } |
---|
1271 | |
---|
1272 | |
---|
1273 | |
---|
1274 | if (dU < min_dU) { |
---|
1275 | return -2; |
---|
1276 | } |
---|
1277 | |
---|
1278 | |
---|
1279 | |
---|
1280 | |
---|
1281 | int32_t dIMax=-1; |
---|
1282 | int32_t dIx=-1;; |
---|
1283 | int32_t dIMaxPos=-1; |
---|
1284 | |
---|
1285 | for (x=0; x < (32 -1); x++) |
---|
1286 | { |
---|
1287 | dIx = abs(current_buffer_fast[x+1] - current_buffer_fast[x]); |
---|
1288 | if (dIx > dIMax) { dIMax = dIx; dIMaxPos = x; } |
---|
1289 | } |
---|
1290 | |
---|
1291 | |
---|
1292 | |
---|
1293 | if (dIMaxPos == 32 / 2) |
---|
1294 | { |
---|
1295 | |
---|
1296 | sys_data.s.values.esr_fast = ( (double)dU / (double) dI) * 1000; |
---|
1297 | last_refresh = sys_data.s.values.onTime; |
---|
1298 | |
---|
1299 | |
---|
1300 | for (x=0; x < 32; x++) |
---|
1301 | { |
---|
1302 | sys_data.s.values.current_buffer_fast[(32 -1)-x] = current_buffer_fast[x]; |
---|
1303 | sys_data.s.values.voltage_buffer_fast[(32 -1)-x] = voltage_buffer_fast[x]; |
---|
1304 | } |
---|
1305 | |
---|
1306 | |
---|
1307 | |
---|
1308 | |
---|
1309 | } |
---|
1310 | return 0; |
---|
1311 | } |
---|