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