source: trunk/firmware/Debug125A/sysdata_PP.c @ 6

Last change on this file since 6 was 6, checked in by f.jahn, 3 months ago
File size: 44.6 KB
RevLine 
[6]1# 1 "D:\\projekte\\ecs_smartSwitch\\trunk\\firmware\\Src\\sysdata.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\\sysdata.c" 2
8
9
10
11
12
13
14# 1 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\sysdata.h" 1
15# 15 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\sysdata.h"
16# 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdint.h" 1 3
17# 20 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdint.h" 3
18# 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 1 3
19# 17 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3
20# 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_ConfDefaults.h" 1 3
21# 67 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_ConfDefaults.h" 3
22# 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Conf.h" 1 3
23# 35 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Conf.h" 3
24# 1 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 1 3
25# 748 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3
26static __inline__ __attribute__((__always_inline__)) void __SEGGER_RTL_WR_PARTIAL_WORD_func(char *addr, unsigned w, int n) {
27  switch (n) {
28  default: addr[3] = (-1) > 0 ? w : w >> 24;
29  case 3: addr[2] = (-1) > 0 ? w >> 8 : w >> 16;
30  case 2: addr[1] = (-1) > 0 ? w >> 16 : w >> 8;
31  case 1: addr[0] = (-1) > 0 ? w >> 24 : w;
32  case 0: ;
33  }
34}
35
36static __inline__ __attribute__((__always_inline__)) void __SEGGER_RTL_WR_WORD_func(char *addr, unsigned w) {
37  __SEGGER_RTL_WR_PARTIAL_WORD_func(addr, w, 4);
38}
39
40static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_RD_WORD_func(const void *addr) {
41  const unsigned char *pAddr = (const unsigned char *)addr;
42
43  return pAddr[0] * ((-1) > 0 ? 0x1000000u : 0x1u) +
44         pAddr[1] * ((-1) > 0 ? 0x10000u : 0x100u) +
45         pAddr[2] * ((-1) > 0 ? 0x100u : 0x10000u) +
46         pAddr[3] * ((-1) > 0 ? 0x1u : 0x1000000u);
47}
48
49static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_BYTE_PATTERN_func(unsigned x) {
50  return x * 0x01010101uL;
51}
52
53static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_FILL_HEAD_func(const void *pOrigin, unsigned Word, unsigned Standin) {
54  unsigned Mask;
55  unsigned Fill;
56
57  (void)pOrigin;
58
59  Fill = __SEGGER_RTL_BYTE_PATTERN_func(Standin);
60# 792 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3
61  Mask = 0xFFFFFFFFu;
62  Mask <<= 8 * (((unsigned)(pOrigin)) & 3u);
63
64  return (Word & Mask) | (Fill & ~Mask);
65
66
67}
68
69static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_FILL_TAIL_func(unsigned n, unsigned Word, unsigned Standin) {
70  unsigned Mask;
71  unsigned Fill;
72# 817 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3
73  if (n >= 4) {
74    return Word;
75  } else {
76    Fill = __SEGGER_RTL_BYTE_PATTERN_func(Standin);
77    Mask = 0xFFFFFFFFu << (8 * n);
78
79    return (Fill & Mask) | (Word & ~Mask);
80  }
81
82
83}
84
85static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_ZBYTE_CHECK_func(unsigned x) {
86
87
88
89
90
91
92
93  return ((x-0x01010101u) & ~x & 0x80808080u);
94
95
96}
97
98static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_DIFF_INDEX_func(unsigned x, unsigned y) {
99# 866 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3
100  if ((x & 0x000000FFuL) != (y & 0x000000FFuL)) { return 0; }
101  if ((x & 0x0000FF00uL) != (y & 0x0000FF00uL)) { return 1; }
102  if ((x & 0x00FF0000uL) != (y & 0x00FF0000uL)) { return 2; }
103  if ((x & 0xFF000000uL) != (y & 0xFF000000uL)) { return 3; }
104  return 4;
105
106
107}
108
109static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_DIFF_BYTE_func(unsigned x, int Index) {
110
111
112
113  return (x >> (8*Index)) & 0xFF;
114
115}
116
117static __inline__ __attribute__((__always_inline__)) unsigned __SEGGER_RTL_ZBYTE_INDEX_func(unsigned x) {
118# 919 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3
119  if ((x & 0x000000FFuL) == 0) { return 0; }
120  if ((x & 0x0000FF00uL) == 0) { return 1; }
121  if ((x & 0x00FF0000uL) == 0) { return 2; }
122  if ((x & 0xFF000000uL) == 0) { return 3; }
123  return 4;
124
125
126}
127
128static __inline__ __attribute__((__always_inline__)) _Bool __SEGGER_RTL_atomic_is_lock_free(unsigned size, const volatile void *ptr) {
129  switch (size) {
130  case 1: return 1;
131  case 2: return ((unsigned)ptr & 1) == 0;
132  case 4: return ((unsigned)ptr & 3) == 0;
133  default: return 0;
134  }
135}
136# 946 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Arm_Conf.h" 3
137extern const int __aeabi_SIGABRT;
138extern const int __aeabi_SIGINT;
139extern const int __aeabi_SIGILL;
140extern const int __aeabi_SIGFPE;
141extern const int __aeabi_SIGSEGV;
142extern const int __aeabi_SIGTERM;
143
144void __aeabi_SIG_DFL(int sig);
145void __aeabi_SIG_IGN(int sig);
146void __aeabi_SIG_ERR(int sig);
147# 36 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_Conf.h" 2 3
148# 68 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL_ConfDefaults.h" 2 3
149# 18 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 2 3
150# 38 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3
151  typedef struct __SEGGER_RTL_FILE_impl __SEGGER_RTL_FILE;
152
153
154typedef struct __SEGGER_RTL_locale_data_s __SEGGER_RTL_locale_t;
155typedef struct __SEGGER_RTL_locale_codeset_s __SEGGER_RTL_locale_codeset_t;
156
157typedef struct {
158
159
160
161  const char * decimal_point;
162  const char * thousands_sep;
163  const char * grouping;
164
165  const char * int_curr_symbol;
166  const char * currency_symbol;
167  const char * mon_decimal_point;
168  const char * mon_thousands_sep;
169  const char * mon_grouping;
170  const char * positive_sign;
171  const char * negative_sign;
172
173  char int_frac_digits;
174  char frac_digits;
175  char p_cs_precedes;
176  char p_sep_by_space;
177  char n_cs_precedes;
178  char n_sep_by_space;
179  char p_sign_posn;
180  char n_sign_posn;
181  char int_p_cs_precedes;
182  char int_n_cs_precedes;
183  char int_p_sep_by_space;
184  char int_n_sep_by_space;
185  char int_p_sign_posn;
186  char int_n_sign_posn;
187
188
189
190
191  const char *day_names;
192  const char *abbrev_day_names;
193  const char *month_names;
194  const char *abbrev_month_names;
195  const char *am_pm_indicator;
196  const char *date_format;
197  const char *time_format;
198  const char *date_time_format;
199} __SEGGER_RTL_locale_data_t;
200
201struct __SEGGER_RTL_locale_data_s {
202  const char * name;
203  const __SEGGER_RTL_locale_data_t * data;
204  const __SEGGER_RTL_locale_codeset_t * codeset;
205};
206
207struct __SEGGER_RTL_POSIX_locale_s {
208  const __SEGGER_RTL_locale_t *__category[5];
209};
210
211struct timeval;
212# 107 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3
213extern struct __SEGGER_RTL_POSIX_locale_s __SEGGER_RTL_global_locale;
214extern struct __SEGGER_RTL_POSIX_locale_s * __SEGGER_RTL_locale_ptr;
215extern char * __SEGGER_RTL_locale_name_buffer;
216# 118 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3
217extern const __SEGGER_RTL_locale_t __SEGGER_RTL_c_locale;
218extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_1;
219extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_2;
220extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_3;
221extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_4;
222extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_5;
223extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_6;
224extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_7;
225extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_8;
226extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_9;
227extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_10;
228extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_11;
229extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_13;
230extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_14;
231extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_15;
232extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_iso8859_16;
233extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1250;
234extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1251;
235extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1252;
236extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1253;
237extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1254;
238extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1255;
239extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1256;
240extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1257;
241extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_cp1258;
242
243extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_c_locale_data;
244extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_aa_DJ_locale;
245extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_aa_ER_locale;
246extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_aa_ET_locale;
247extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_af_NA_locale;
248extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_af_ZA_locale;
249extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ak_GH_locale;
250extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_am_ET_locale;
251extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_AE_locale;
252extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_BH_locale;
253extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_DZ_locale;
254extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_EG_locale;
255extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_IQ_locale;
256extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_JO_locale;
257extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_KW_locale;
258extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_LB_locale;
259extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_LY_locale;
260extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_MA_locale;
261extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_OM_locale;
262extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_QA_locale;
263extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_SA_locale;
264extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_SD_locale;
265extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_SY_locale;
266extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_TN_locale;
267extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ar_YE_locale;
268extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_as_IN_locale;
269extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_asa_TZ_locale;
270extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_Arab_IR_locale;
271extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_AZ_locale;
272extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_Cyrl_AZ_locale;
273extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_IR_locale;
274extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_az_Latn_AZ_locale;
275extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_be_BY_locale;
276extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bem_ZM_locale;
277extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bez_TZ_locale;
278extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bg_BG_locale;
279extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bm_ML_locale;
280extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bn_BD_locale;
281extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bn_IN_locale;
282extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bo_CN_locale;
283extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bo_IN_locale;
284extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_br_FR_locale;
285extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_brx_IN_locale;
286extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_bs_BA_locale;
287extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_byn_ER_locale;
288extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ca_ES_locale;
289extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_cch_NG_locale;
290extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_cgg_UG_locale;
291extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_chr_US_locale;
292extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_cs_CZ_locale;
293extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_cy_GB_locale;
294extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_da_DK_locale;
295extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_dav_KE_locale;
296extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_AT_locale;
297extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_BE_locale;
298extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_CH_locale;
299extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_DE_locale;
300extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_LI_locale;
301extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_de_LU_locale;
302extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_dv_MV_locale;
303extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_dz_BT_locale;
304extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ebu_KE_locale;
305extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ee_GH_locale;
306extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ee_TG_locale;
307extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_el_CY_locale;
308extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_el_GR_locale;
309extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_AS_locale;
310extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_AU_locale;
311extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_BE_locale;
312extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_BW_locale;
313extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_BZ_locale;
314extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_CA_locale;
315extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_Dsrt_US_locale;
316extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_GB_locale;
317extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_GU_locale;
318extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_HK_locale;
319extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_IE_locale;
320extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_IN_locale;
321extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_JM_locale;
322extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_MH_locale;
323extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_MP_locale;
324extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_MT_locale;
325extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_MU_locale;
326extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_NA_locale;
327extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_NZ_locale;
328extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_PH_locale;
329extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_PK_locale;
330extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_SG_locale;
331extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_TT_locale;
332extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_UM_locale;
333extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_US_locale;
334extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_US_POSIX_locale;
335extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_VI_locale;
336extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_ZA_locale;
337extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_ZW_locale;
338extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_en_ZZ_locale;
339extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_AR_locale;
340extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_BO_locale;
341extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_CL_locale;
342extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_CO_locale;
343extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_CR_locale;
344extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_DO_locale;
345extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_EC_locale;
346extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_ES_locale;
347extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_GQ_locale;
348extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_GT_locale;
349extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_HN_locale;
350extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_MX_locale;
351extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_NI_locale;
352extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_PA_locale;
353extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_PE_locale;
354extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_PR_locale;
355extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_PY_locale;
356extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_SV_locale;
357extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_US_locale;
358extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_UY_locale;
359extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_es_VE_locale;
360extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_et_EE_locale;
361extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_eu_ES_locale;
362extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fa_AF_locale;
363extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fa_IR_locale;
364extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ff_SN_locale;
365extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fi_FI_locale;
366extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fil_PH_locale;
367extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fo_FO_locale;
368extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BE_locale;
369extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BF_locale;
370extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BI_locale;
371extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BJ_locale;
372extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_BL_locale;
373extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CA_locale;
374extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CD_locale;
375extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CF_locale;
376extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CG_locale;
377extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CH_locale;
378extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CI_locale;
379extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_CM_locale;
380extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_DJ_locale;
381extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_FR_locale;
382extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_GA_locale;
383extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_GN_locale;
384extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_GP_locale;
385extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_GQ_locale;
386extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_KM_locale;
387extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_LU_locale;
388extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_MC_locale;
389extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_MF_locale;
390extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_MG_locale;
391extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_ML_locale;
392extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_MQ_locale;
393extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_NE_locale;
394extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_RE_locale;
395extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_RW_locale;
396extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_SN_locale;
397extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_TD_locale;
398extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fr_TG_locale;
399extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_fur_IT_locale;
400extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ga_IE_locale;
401extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gaa_GH_locale;
402extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gez_ER_locale;
403extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gez_ET_locale;
404extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gl_ES_locale;
405extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gsw_CH_locale;
406extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gu_IN_locale;
407extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_guz_KE_locale;
408extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_gv_GB_locale;
409extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Arab_NG_locale;
410extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Arab_SD_locale;
411extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_GH_locale;
412extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Latn_GH_locale;
413extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Latn_NE_locale;
414extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_Latn_NG_locale;
415extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_NE_locale;
416extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_NG_locale;
417extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ha_SD_locale;
418extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_haw_US_locale;
419extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_he_IL_locale;
420extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_hi_IN_locale;
421extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_hr_HR_locale;
422extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_hu_HU_locale;
423extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_hy_AM_locale;
424extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_id_ID_locale;
425extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ig_NG_locale;
426extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ii_CN_locale;
427extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_is_IS_locale;
428extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_it_CH_locale;
429extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_it_IT_locale;
430extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ja_JP_locale;
431extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_jmc_TZ_locale;
432extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ka_GE_locale;
433extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kab_DZ_locale;
434extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kaj_NG_locale;
435extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kam_KE_locale;
436extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kcg_NG_locale;
437extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kde_TZ_locale;
438extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kea_CV_locale;
439extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kfo_CI_locale;
440extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_khq_ML_locale;
441extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ki_KE_locale;
442extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kk_Cyrl_KZ_locale;
443extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kk_KZ_locale;
444extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kl_GL_locale;
445extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kln_KE_locale;
446extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_km_KH_locale;
447extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kn_IN_locale;
448extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ko_KR_locale;
449extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kok_IN_locale;
450extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kpe_GN_locale;
451extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kpe_LR_locale;
452extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ksb_TZ_locale;
453extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ksh_DE_locale;
454extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_Arab_IQ_locale;
455extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_Arab_IR_locale;
456extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_IQ_locale;
457extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_IR_locale;
458extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_Latn_SY_locale;
459extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_Latn_TR_locale;
460extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_SY_locale;
461extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ku_TR_locale;
462extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_kw_GB_locale;
463extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ky_KG_locale;
464extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lag_TZ_locale;
465extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lg_UG_locale;
466extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ln_CD_locale;
467extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ln_CG_locale;
468extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lo_LA_locale;
469extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lt_LT_locale;
470extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_luo_KE_locale;
471extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_luy_KE_locale;
472extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_lv_LV_locale;
473extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mas_KE_locale;
474extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mas_TZ_locale;
475extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mer_KE_locale;
476extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mfe_MU_locale;
477extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mg_MG_locale;
478extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mi_NZ_locale;
479extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mk_MK_locale;
480extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ml_IN_locale;
481extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mn_CN_locale;
482extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mn_Cyrl_MN_locale;
483extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mn_MN_locale;
484extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mn_Mong_CN_locale;
485extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mr_IN_locale;
486extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ms_BN_locale;
487extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ms_MY_locale;
488extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_mt_MT_locale;
489extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_my_MM_locale;
490extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_naq_NA_locale;
491extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nb_NO_locale;
492extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nd_ZW_locale;
493extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nds_DE_locale;
494extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ne_IN_locale;
495extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ne_NP_locale;
496extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nl_BE_locale;
497extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nl_NL_locale;
498extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nn_NO_locale;
499extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nr_ZA_locale;
500extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nso_ZA_locale;
501extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ny_MW_locale;
502extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_nyn_UG_locale;
503extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_oc_FR_locale;
504extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_om_ET_locale;
505extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_om_KE_locale;
506extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_or_IN_locale;
507extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pa_Arab_PK_locale;
508extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pa_Guru_IN_locale;
509extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pa_IN_locale;
510extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pa_PK_locale;
511extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pl_PL_locale;
512extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ps_AF_locale;
513extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_AO_locale;
514extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_BR_locale;
515extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_GW_locale;
516extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_MZ_locale;
517extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_pt_PT_locale;
518extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_rm_CH_locale;
519extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ro_MD_locale;
520extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ro_RO_locale;
521extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_rof_TZ_locale;
522extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ru_MD_locale;
523extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ru_RU_locale;
524extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ru_UA_locale;
525extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_rw_RW_locale;
526extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_rwk_TZ_locale;
527extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sa_IN_locale;
528extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_saq_KE_locale;
529extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_se_FI_locale;
530extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_se_NO_locale;
531extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_seh_MZ_locale;
532extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ses_ML_locale;
533extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sg_CF_locale;
534extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sh_BA_locale;
535extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sh_CS_locale;
536extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sh_YU_locale;
537extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_shi_Latn_MA_locale;
538extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_shi_MA_locale;
539extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_shi_Tfng_MA_locale;
540extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_si_LK_locale;
541extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sid_ET_locale;
542extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sk_SK_locale;
543extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sl_SI_locale;
544extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sn_ZW_locale;
545extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_so_DJ_locale;
546extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_so_ET_locale;
547extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_so_KE_locale;
548extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_so_SO_locale;
549extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sq_AL_locale;
550extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_BA_locale;
551extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_CS_locale;
552extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_BA_locale;
553extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_CS_locale;
554extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_ME_locale;
555extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_RS_locale;
556extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Cyrl_YU_locale;
557extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_BA_locale;
558extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_CS_locale;
559extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_ME_locale;
560extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_RS_locale;
561extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_Latn_YU_locale;
562extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_ME_locale;
563extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_RS_locale;
564extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sr_YU_locale;
565extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ss_SZ_locale;
566extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ss_ZA_locale;
567extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ssy_ER_locale;
568extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_st_LS_locale;
569extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_st_ZA_locale;
570extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sv_FI_locale;
571extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sv_SE_locale;
572extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sw_KE_locale;
573extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_sw_TZ_locale;
574extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_syr_SY_locale;
575extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ta_IN_locale;
576extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ta_LK_locale;
577extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_te_IN_locale;
578extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_teo_KE_locale;
579extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_teo_UG_locale;
580extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tg_Cyrl_TJ_locale;
581extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tg_TJ_locale;
582extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_th_TH_locale;
583extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ti_ER_locale;
584extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ti_ET_locale;
585extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tig_ER_locale;
586extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tl_PH_locale;
587extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tn_ZA_locale;
588extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_to_TO_locale;
589extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tr_TR_locale;
590extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_trv_TW_locale;
591extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ts_ZA_locale;
592extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tt_RU_locale;
593extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tzm_Latn_MA_locale;
594extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_tzm_MA_locale;
595extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ug_Arab_CN_locale;
596extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ug_CN_locale;
597extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uk_UA_locale;
598extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ur_IN_locale;
599extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ur_PK_locale;
600extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_AF_locale;
601extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_Arab_AF_locale;
602extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_Cyrl_UZ_locale;
603extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_Latn_UZ_locale;
604extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_uz_UZ_locale;
605extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_ve_ZA_locale;
606extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_vi_VN_locale;
607extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_vun_TZ_locale;
608extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_wal_ET_locale;
609extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_wo_Latn_SN_locale;
610extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_wo_SN_locale;
611extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_xh_ZA_locale;
612extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_xog_UG_locale;
613extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_yo_NG_locale;
614extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_CN_locale;
615extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hans_CN_locale;
616extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hans_HK_locale;
617extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hans_MO_locale;
618extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hans_SG_locale;
619extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hant_HK_locale;
620extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hant_MO_locale;
621extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_Hant_TW_locale;
622extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_HK_locale;
623extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_MO_locale;
624extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_SG_locale;
625extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zh_TW_locale;
626extern const __SEGGER_RTL_locale_data_t __SEGGER_RTL_zu_ZA_locale;
627
628extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_ascii;
629extern const __SEGGER_RTL_locale_codeset_t __SEGGER_RTL_codeset_utf8;
630
631extern const char __SEGGER_RTL_data_utf8_period [];
632extern const char __SEGGER_RTL_data_utf8_comma [];
633extern const char __SEGGER_RTL_data_utf8_space [];
634extern const char __SEGGER_RTL_data_utf8_plus [];
635extern const char __SEGGER_RTL_data_utf8_minus [];
636extern const char __SEGGER_RTL_data_empty_string[];
637# 546 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3
638int __SEGGER_RTL_X_set_time_of_day (const struct timeval *__tp);
639int __SEGGER_RTL_X_get_time_of_day (struct timeval *__tp);
640const __SEGGER_RTL_locale_t * __SEGGER_RTL_X_find_locale (const char *__locale);
641__SEGGER_RTL_FILE * __SEGGER_RTL_X_file_open (const char *__filename, const char *__mode);
642__SEGGER_RTL_FILE * __SEGGER_RTL_X_file_dopen (int __descriptor, const char *__mode);
643int __SEGGER_RTL_X_file_stat (__SEGGER_RTL_FILE *__stream);
644int __SEGGER_RTL_X_file_read (__SEGGER_RTL_FILE *__stream, char *__s, unsigned __len);
645int __SEGGER_RTL_X_file_write (__SEGGER_RTL_FILE *__stream, const char *__s, unsigned __len);
646int __SEGGER_RTL_X_file_unget (__SEGGER_RTL_FILE *__stream, int __c);
647int __SEGGER_RTL_X_file_close (__SEGGER_RTL_FILE *__stream);
648int __SEGGER_RTL_X_file_error (__SEGGER_RTL_FILE *__stream);
649int __SEGGER_RTL_X_file_flush (__SEGGER_RTL_FILE *__stream);
650int __SEGGER_RTL_X_file_eof (__SEGGER_RTL_FILE *__stream);
651void __SEGGER_RTL_X_file_clrerr (__SEGGER_RTL_FILE *__stream);
652int __SEGGER_RTL_X_file_seek (__SEGGER_RTL_FILE *__stream, long __offset, int __whence);
653int __SEGGER_RTL_X_file_getpos (__SEGGER_RTL_FILE *__stream, long *__pos);
654int __SEGGER_RTL_X_file_bufsize (__SEGGER_RTL_FILE *__stream);
655__SEGGER_RTL_FILE * __SEGGER_RTL_X_file_tmpfile (void);
656char * __SEGGER_RTL_X_file_tmpnam (char *__s, unsigned __max);
657int __SEGGER_RTL_X_file_remove (const char *__filename);
658int __SEGGER_RTL_X_file_rename (const char *__old, const char *__new);
659void __attribute__((__weak__)) __SEGGER_RTL_X_heap_lock (void);
660void __attribute__((__weak__)) __SEGGER_RTL_X_heap_unlock (void);
661int __attribute__((__weak__)) __SEGGER_RTL_X_atomic_lock (void);
662void __attribute__((__weak__)) __SEGGER_RTL_X_atomic_unlock (int __state);
663int __attribute__((__weak__)) __SEGGER_RTL_X_atomic_is_lock_free (unsigned int __size, void *__ptr);
664void __attribute__((__weak__)) __SEGGER_RTL_X_atomic_synchronize (void);
665volatile int * __aeabi_errno_addr (void);
666void __aeabi_assert (const char *__expression, const char *__filename, int __line);
667# 584 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\__SEGGER_RTL.h" 3
668void __SEGGER_RTL_execute_at_exit_fns (void);
669void __SEGGER_RTL_set_locale_name_buffer (char *__buffer);
670int __SEGGER_RTL_mb_max (const struct __SEGGER_RTL_POSIX_locale_s *__loc);
671int __SEGGER_RTL_mb_cur_max (void);
672void __SEGGER_RTL_init_heap (void *__ptr, unsigned int __size);
673# 21 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdint.h" 2 3
674# 272 "C:/Program Files/SEGGER/SEGGER Embedded Studio 8.22a/include\\stdint.h" 3
675typedef signed char int8_t;
676typedef unsigned char uint8_t;
677typedef short int16_t;
678typedef unsigned short uint16_t;
679typedef int int32_t;
680typedef unsigned int uint32_t;
681typedef long long int int64_t;
682typedef long long unsigned int uint64_t;
683
684typedef signed char int_least8_t;
685typedef short int_least16_t;
686typedef int int_least32_t;
687typedef long long int int_least64_t;
688typedef unsigned char uint_least8_t;
689typedef unsigned short uint_least16_t;
690typedef unsigned int uint_least32_t;
691typedef long long unsigned int uint_least64_t;
692
693typedef signed char int_fast8_t;
694typedef short int_fast16_t;
695typedef int int_fast32_t;
696typedef long long int int_fast64_t;
697typedef unsigned char uint_fast8_t;
698typedef unsigned short uint_fast16_t;
699typedef unsigned int uint_fast32_t;
700typedef long long unsigned int uint_fast64_t;
701
702typedef int intptr_t;
703typedef unsigned int uintptr_t;
704
705typedef long long int intmax_t;
706typedef long long unsigned int uintmax_t;
707# 16 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\sysdata.h" 2
708# 25 "D:/projekte/ecs_smartSwitch/trunk/firmware/Inc\\sysdata.h"
709typedef union
710{
711 uint16_t w;
712 int16_t sw;
713 uint8_t b[2];
714 int8_t sb[2];
715} bword_t;
716
717
718
719typedef struct
720{
721
722 uint16_t device_type;
723 uint16_t reserved0;
724 uint32_t sn;
725
726 uint16_t fw_revision_major;
727 uint16_t fw_revision_minor;
728
729 uint16_t fw_revision_revision;
730 uint16_t reserved1;
731
732 uint32_t baudrate;
733
734 uint16_t parityMode;
735 uint16_t stopBit;
736
737 uint16_t slave_address;
738 uint16_t command;
739
740 uint16_t ibn_day;
741 uint16_t ibn_month;
742 uint16_t ibn_year;
743 uint16_t user_id;
744 uint16_t reserved2[8];
745
746
747 uint16_t lvpStart;
748 uint16_t lvpStop;
749
750 uint16_t ovpStart;
751 uint16_t ovpStop;
752
753 int16_t loadCurrentLimit;
754 int16_t chargeCurrentLimit;
755
756
757 int16_t chargeStopHighTemperatureStart;
758 int16_t chargeStopHighTemperatureStop;
759
760 int16_t chargeStopLowTemperatureStart;
761 int16_t chargeStopLowTemperatureStop;
762
763 int16_t dischargeStopHighTemperatureStart;
764 int16_t dischargeStopHighTemperatureStop;
765
766 int16_t dischargeStopLowTemperatureStart;
767 int16_t dischargeStopLowTemperatureStop;
768
769
770
771 uint16_t peukert;
772 uint16_t cef;
773
774 uint16_t iBatFull;
775 uint16_t tBatFull;
776
777 uint16_t uBatFull;
778 uint16_t uBatEmpty;
779 uint32_t cellCapacity;
780 uint32_t battEnergy;
781 uint16_t socCalcMode;
782 uint16_t reserved3;
783 uint16_t cellRatedDischargeTime;
784 int16_t uBatEmptyCompStartTemp;
785 int16_t uBatEmptyCompStopTemp;
786 uint16_t uBatEmptyCompStopVolt;
787 int16_t extraDischargeStrom_mA;
788 uint16_t cefW;
789 uint16_t lvpMode;
790 uint16_t ovpMode;
791
792
793 int32_t batteryCurrentOffset;
794 int16_t batteryCurrentOffsetRefTemperatureShunt;
795 int16_t batteryCurrentOffsetRefTemperatureChip;
796 int32_t batteryCurrentOffsetRefshuntVoltage;
797
798 int32_t batteryCurrentOffsetCommonModeCalibrationVoltage;
799 int32_t batteryCurrentOffsetCommonModeCompensationFactor;
800
801 int16_t batteryCurrentOffsetTemperatureCalibrationTemperature;
802 int16_t reserved4;
803 int32_t batteryCurrentOffsetTemperatureCompensationFactor;
804
805 int32_t batteryCurrentGainCorrectionFaktor;
806 int16_t batteryCurrentGainRefTempShunt;
807 int16_t batteryCurrentGainRefTempChip;
808 int32_t batteryCurrentGainRefCurrent;
809
810 int16_t batteryCurrentGainTemperatureCalibrationShuntTemperature;
811 int16_t reserved5;
812 int32_t batteryCurrentGainTemperatureCompensationShuntFactor;
813 int16_t batteryCurrentGainTemperatureCalibrationChipTemperature;
814 int16_t reserved6;
815 int32_t batteryCurrentGainTemperatureCompensationChipFactor;
816
817 uint32_t reserved7[6];
818
819} device_parameter_t;
820
821
822
823typedef struct
824{
825              uint16_t voltageVref;
826              uint16_t realVdd;
827              int16_t chipTemperature;
828              int16_t shuntTemperature;
829              int16_t shuntTemperatureMax;
830              int16_t shuntTemperatureMin;
831              uint32_t shuntVoltage;
832              int32_t batteryVoltage;
833              int32_t batteryVoltageMax;
834              int32_t batteryVoltageMin;
835              int32_t batteryCurrent;
836              int32_t batteryCurrentMax;
837              int32_t batteryCurrentMin;
838              int32_t batteryCurrentCorrected;
839              int32_t mAhCounter;
840              int64_t mAsCounter;
841              int32_t soc;
842              int16_t ovpState;
843              int16_t lvpState;
844              int32_t batteryPower;
845              int32_t detectedCapacity;
846              int32_t detectedEnergy;
847              int16_t SoH;
848              int16_t efficiency;
849              int16_t selfDischarge;
850              int16_t selfDischargeAvg;
851              int16_t esr;
852              int16_t esr_fast;
853              uint32_t lastTimeVbatFull;
854              uint32_t lastTimeVbatEmpty;
855              uint32_t onTime;
856              uint32_t dischargeTotalAh;
857              uint32_t chargeTotalAh;
858              uint32_t dischargeTotalWh;
859              uint32_t chargeTotalWh;
860              uint16_t fullCyclesCnt;
861              uint16_t reserved8;
862              int64_t mAs_AutoMode;
863              int64_t mWs_AutoMode;
864              uint16_t ovp_sense;
865              uint16_t lvp_sense;
866              uint16_t reserved9;
867              uint16_t reserved10;
868              uint16_t reserved11;
869              uint16_t reserved12;
870              uint16_t reserved13;
871              uint16_t reserved14;
872              uint16_t reserved15;
873              uint16_t reserved16;
874              uint16_t reserved17;
875              uint16_t reserved18;
876
877
878              int32_t mAh_AutoMode;
879              int32_t mWh_AutoMode;
880              int64_t mWsCounter;
881              int32_t mWhCounter;
882              int32_t correctedStromForChargeWhCnt;
883              uint16_t uBatEmptyTempComp;
884              uint16_t adc_restarts;
885              int16_t reserved19;
886              int16_t reserved20;
887              int32_t battryCurrentRaw;
888              int32_t batteryCurrentOffsetCommonModeCorrectionADCSteps;
889              int32_t fast_current;
890              int32_t fast_voltage;
891              int16_t esrCalcStatus;
892              uint16_t esrCalcTime;
893              int16_t selfDischargeStatus;
894              uint16_t selfDischargeTime;
895              uint8_t message[24];
896              int32_t current_buffer[32];
897              int32_t voltage_buffer[32];
898              int32_t current_buffer_fast[32];
899              int32_t voltage_buffer_fast[32];
900
901} device_values_t;
902
903
904
905typedef struct
906{
907 device_parameter_t parameter;
908 device_values_t values;
909} sys_data_struct_t;
910
911
912typedef volatile union
913{
914 sys_data_struct_t s;
915 bword_t mb[sizeof(sys_data_struct_t) / 2];
916} sys_data_t;
917
918
919
920extern sys_data_t sys_data;
921
922
923
924void SYS_DATA_Init(void);
925# 8 "D:\\projekte\\ecs_smartSwitch\\trunk\\firmware\\Src\\sysdata.c" 2
926
927volatile sys_data_t sys_data;
928
929void SYS_DATA_Init(void)
930{
931
932
933
934
935
936
937 sys_data.s.parameter.device_type = 512;
938
939
940
941
942 sys_data.s.values.lastTimeVbatEmpty = 0;
943 sys_data.s.values.lastTimeVbatFull = 0;
944 sys_data.s.values.SoH = -1;
945
946 sys_data.s.values.detectedCapacity = -1;
947 sys_data.s.values.detectedEnergy = -1;
948
949 sys_data.s.values.esr = -1;
950 sys_data.s.values.esr_fast = -1;
951
952 sys_data.s.values.selfDischarge = -1;
953 sys_data.s.values.selfDischargeAvg = -1;
954
955
956
957
958 sys_data.s.parameter.fw_revision_major = 2;
959 sys_data.s.parameter.fw_revision_minor = 1;
960 sys_data.s.parameter.fw_revision_revision = 5;
961
962 sys_data.s.values.batteryCurrentMax = (-2147483647 - 1);
963 sys_data.s.values.batteryCurrentMin = 2147483647;
964 sys_data.s.values.shuntTemperatureMax = (-32767 - 1);
965 sys_data.s.values.shuntTemperatureMin = 32767;
966 sys_data.s.values.batteryVoltageMax = (-32767 - 1);
967 sys_data.s.values.batteryVoltageMin = 32767;
968
969 sys_data.s.values.adc_restarts = 0U;
970}
Note: See TracBrowser for help on using the repository browser.