| [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 | } | 
|---|