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