   1              		.cpu cortex-m0plus
   2              		.fpu softvfp
   3              		.eabi_attribute 20, 1
   4              		.eabi_attribute 21, 1
   5              		.eabi_attribute 23, 3
   6              		.eabi_attribute 24, 1
   7              		.eabi_attribute 25, 1
   8              		.eabi_attribute 26, 1
   9              		.eabi_attribute 30, 6
  10              		.eabi_attribute 34, 0
  11              		.eabi_attribute 18, 4
  12              		.code	16
  13              		.file	"PowerManager.c"
  14              		.text
  15              	.Ltext0:
  16              		.cfi_sections	.debug_frame
  17              		.comm	PowerManagerCtrl,2,4
  18              		.section	.text.PORTA_IRQHandler,"ax",%progbits
  19              		.align	2
  20              		.global	PORTA_IRQHandler
  21              		.code	16
  22              		.thumb_func
  24              	PORTA_IRQHandler:
  25              	.LFB33:
  26              		.file 1 "../Application/PowerManager/PowerManager.c"
   1:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
   2:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
   3:../Application/PowerManager/PowerManager.c **** /**
   4:../Application/PowerManager/PowerManager.c ****  * \file    PowerManager.c
   5:../Application/PowerManager/PowerManager.c ****  * \author  Thibaut LALUQUE 3D-Ouest
   6:../Application/PowerManager/PowerManager.c ****  * \date    20/11/2014
   7:../Application/PowerManager/PowerManager.c ****  * \version 1.0
   8:../Application/PowerManager/PowerManager.c ****  * \brief 	Source file for power management.
   9:../Application/PowerManager/PowerManager.c ****  * \details All Right Reserved.
  10:../Application/PowerManager/PowerManager.c ****  */
  11:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  12:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  13:../Application/PowerManager/PowerManager.c **** 
  14:../Application/PowerManager/PowerManager.c **** 
  15:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  16:../Application/PowerManager/PowerManager.c **** /*## INCLUDES ################################################################################*/
  17:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  18:../Application/PowerManager/PowerManager.c **** #include "PowerManager.h"
  19:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  20:../Application/PowerManager/PowerManager.c **** /*## END INCLUDES ############################################################################*/
  21:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  22:../Application/PowerManager/PowerManager.c **** 
  23:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  24:../Application/PowerManager/PowerManager.c **** /*## CONFIGURATION BITS ######################################################################*/
  25:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  26:../Application/PowerManager/PowerManager.c **** 
  27:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  28:../Application/PowerManager/PowerManager.c **** /*## END CONFIGURATION BITS ##################################################################*/
  29:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  30:../Application/PowerManager/PowerManager.c **** 
  31:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  32:../Application/PowerManager/PowerManager.c **** /*## LOCAL DEFINES ###########################################################################*/
  33:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  34:../Application/PowerManager/PowerManager.c **** 
  35:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  36:../Application/PowerManager/PowerManager.c **** /*## END LOCAL DEFINES ######################################################################*/
  37:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  38:../Application/PowerManager/PowerManager.c **** 
  39:../Application/PowerManager/PowerManager.c **** 
  40:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  41:../Application/PowerManager/PowerManager.c **** /*## LOCAL FONCTIONS DECLARATION #############################################################*/
  42:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  43:../Application/PowerManager/PowerManager.c **** void PowerManagerDisplayLoading (void);
  44:../Application/PowerManager/PowerManager.c **** void PowerManagerDisplayLoadingError (void);
  45:../Application/PowerManager/PowerManager.c **** void PowerManagerDisplayLoaded (void);
  46:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  47:../Application/PowerManager/PowerManager.c **** /*## END LOCAL FONCTIONS DECLARATION #########################################################*/
  48:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  49:../Application/PowerManager/PowerManager.c **** 
  50:../Application/PowerManager/PowerManager.c **** 
  51:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  52:../Application/PowerManager/PowerManager.c **** /*## LOCAL VARIABLES #########################################################################*/
  53:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  54:../Application/PowerManager/PowerManager.c **** 
  55:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  56:../Application/PowerManager/PowerManager.c **** /*## END LOCAL VARIABLES #####################################################################*/
  57:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  58:../Application/PowerManager/PowerManager.c **** 
  59:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  60:../Application/PowerManager/PowerManager.c **** /*## GLOBAL VARIABLES ########################################################################*/
  61:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  62:../Application/PowerManager/PowerManager.c **** tPowerManagerCtrl	PowerManagerCtrl;
  63:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  64:../Application/PowerManager/PowerManager.c **** /*## END GLOBAL VARIABLES ####################################################################*/
  65:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  66:../Application/PowerManager/PowerManager.c **** 
  67:../Application/PowerManager/PowerManager.c **** 
  68:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  69:../Application/PowerManager/PowerManager.c **** /*## LOCAL FONCTIONS #########################################################################*/
  70:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  71:../Application/PowerManager/PowerManager.c **** void PORTA_IRQHandler (void) {
  27              		.loc 1 71 0
  28              		.cfi_startproc
  29 0000 80B5     		push	{r7, lr}
  30              		.cfi_def_cfa_offset 8
  31              		.cfi_offset 7, -8
  32              		.cfi_offset 14, -4
  33 0002 00AF     		add	r7, sp, #0
  34              		.cfi_def_cfa_register 7
  72:../Application/PowerManager/PowerManager.c **** 
  73:../Application/PowerManager/PowerManager.c **** 	/*=== Clear all interrupt Wake Up interrupt ===*/
  74:../Application/PowerManager/PowerManager.c **** 	PowerManagerClearWakeUpInterruptFlag();
  35              		.loc 1 74 0
  36 0004 FFF7FEFF 		bl	PowerManagerClearWakeUpInterruptFlag
  75:../Application/PowerManager/PowerManager.c **** 
  76:../Application/PowerManager/PowerManager.c **** 	// Do not disable interrupt here. Disable interrupt only from LPM exit to make sure
  77:../Application/PowerManager/PowerManager.c **** 	// device have not handle interrupt before entering LPM mode
  78:../Application/PowerManager/PowerManager.c **** 
  79:../Application/PowerManager/PowerManager.c **** }
  37              		.loc 1 79 0
  38 0008 BD46     		mov	sp, r7
  39              		@ sp needed
  40 000a 80BD     		pop	{r7, pc}
  41              		.cfi_endproc
  42              	.LFE33:
  44              		.section	.text.PowerManagerInit,"ax",%progbits
  45              		.align	2
  46              		.global	PowerManagerInit
  47              		.code	16
  48              		.thumb_func
  50              	PowerManagerInit:
  51              	.LFB34:
  80:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  81:../Application/PowerManager/PowerManager.c **** /*## END LOCAL FONCTIONS #####################################################################*/
  82:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  83:../Application/PowerManager/PowerManager.c **** 
  84:../Application/PowerManager/PowerManager.c **** 
  85:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  86:../Application/PowerManager/PowerManager.c **** /*## EXTERNAL FONCTIONS ######################################################################*/
  87:../Application/PowerManager/PowerManager.c **** /*############################################################################################*/
  88:../Application/PowerManager/PowerManager.c **** void PowerManagerInit (void) {
  52              		.loc 1 88 0
  53              		.cfi_startproc
  54 0000 80B5     		push	{r7, lr}
  55              		.cfi_def_cfa_offset 8
  56              		.cfi_offset 7, -8
  57              		.cfi_offset 14, -4
  58 0002 00AF     		add	r7, sp, #0
  59              		.cfi_def_cfa_register 7
  89:../Application/PowerManager/PowerManager.c **** 	LTC4160Init();
  60              		.loc 1 89 0
  61 0004 FFF7FEFF 		bl	LTC4160Init
  90:../Application/PowerManager/PowerManager.c **** 	BQ27510DRZRG2_Init();
  62              		.loc 1 90 0
  63 0008 FFF7FEFF 		bl	BQ27510DRZRG2_Init
  91:../Application/PowerManager/PowerManager.c **** 
  92:../Application/PowerManager/PowerManager.c **** 	LTC4160SetILimit(LTCUSBCurrent5xMode);
  64              		.loc 1 92 0
  65 000c 0320     		mov	r0, #3
  66 000e FFF7FEFF 		bl	LTC4160SetILimit
  93:../Application/PowerManager/PowerManager.c **** 
  94:../Application/PowerManager/PowerManager.c **** 	PowerManagerCtrl.flags.all = 0;
  67              		.loc 1 94 0
  68 0012 124B     		ldr	r3, .L3
  69 0014 0022     		mov	r2, #0
  70 0016 1A80     		strh	r2, [r3]
  95:../Application/PowerManager/PowerManager.c **** 
  96:../Application/PowerManager/PowerManager.c **** 	/*=== Configure external wake-up interrupt ===*/
  97:../Application/PowerManager/PowerManager.c **** 	SIM->SCGC5 |= SIM_SCGC5_PORTA_MASK;
  71              		.loc 1 97 0
  72 0018 114A     		ldr	r2, .L3+4
  73 001a 1149     		ldr	r1, .L3+4
  74 001c 114B     		ldr	r3, .L3+8
  75 001e CB58     		ldr	r3, [r1, r3]
  76 0020 8021     		mov	r1, #128
  77 0022 8900     		lsl	r1, r1, #2
  78 0024 1943     		orr	r1, r3
  79 0026 0F4B     		ldr	r3, .L3+8
  80 0028 D150     		str	r1, [r2, r3]
  98:../Application/PowerManager/PowerManager.c **** 	PowerManagerClearWakeUpInterruptFlag();
  81              		.loc 1 98 0
  82 002a FFF7FEFF 		bl	PowerManagerClearWakeUpInterruptFlag
  99:../Application/PowerManager/PowerManager.c **** 	NVIC->IP[IPR_NVIC_PORTA_REG] = (NVIC->IP[IPR_NVIC_PORTA_REG] & ~IPR_NVIC_PORTA_MASK) | ( (WAKEUP_I
  83              		.loc 1 99 0
  84 002e 0E4A     		ldr	r2, .L3+12
  85 0030 0D49     		ldr	r1, .L3+12
  86 0032 C723     		mov	r3, #199
  87 0034 9B00     		lsl	r3, r3, #2
  88 0036 C958     		ldr	r1, [r1, r3]
  89 0038 0C4B     		ldr	r3, .L3+16
  90 003a 0B40     		and	r3, r1
  91 003c 8021     		mov	r1, #128
  92 003e 0904     		lsl	r1, r1, #16
  93 0040 1943     		orr	r1, r3
  94 0042 C723     		mov	r3, #199
  95 0044 9B00     		lsl	r3, r3, #2
  96 0046 D150     		str	r1, [r2, r3]
 100:../Application/PowerManager/PowerManager.c **** 	NVIC->ISER[NVIC_PORTA_REG] |= NVIC_PORTA_MASK;
  97              		.loc 1 100 0
  98 0048 074B     		ldr	r3, .L3+12
  99 004a 074A     		ldr	r2, .L3+12
 100 004c 1268     		ldr	r2, [r2]
 101 004e 8021     		mov	r1, #128
 102 0050 C905     		lsl	r1, r1, #23
 103 0052 0A43     		orr	r2, r1
 104 0054 1A60     		str	r2, [r3]
 101:../Application/PowerManager/PowerManager.c **** 
 102:../Application/PowerManager/PowerManager.c **** }
 105              		.loc 1 102 0
 106 0056 BD46     		mov	sp, r7
 107              		@ sp needed
 108 0058 80BD     		pop	{r7, pc}
 109              	.L4:
 110 005a C046     		.align	2
 111              	.L3:
 112 005c 00000000 		.word	PowerManagerCtrl
 113 0060 00700440 		.word	1074032640
 114 0064 38100000 		.word	4152
 115 0068 00E100E0 		.word	-536813312
 116 006c FFFF7F3F 		.word	1065353215
 117              		.cfi_endproc
 118              	.LFE34:
 120              		.section	.text.PowerManager,"ax",%progbits
 121              		.align	2
 122              		.global	PowerManager
 123              		.code	16
 124              		.thumb_func
 126              	PowerManager:
 127              	.LFB35:
 103:../Application/PowerManager/PowerManager.c **** 
 104:../Application/PowerManager/PowerManager.c **** void PowerManager (void) {
 128              		.loc 1 104 0
 129              		.cfi_startproc
 130 0000 90B5     		push	{r4, r7, lr}
 131              		.cfi_def_cfa_offset 12
 132              		.cfi_offset 4, -12
 133              		.cfi_offset 7, -8
 134              		.cfi_offset 14, -4
 135 0002 83B0     		sub	sp, sp, #12
 136              		.cfi_def_cfa_offset 24
 137 0004 00AF     		add	r7, sp, #0
 138              		.cfi_def_cfa_register 7
 105:../Application/PowerManager/PowerManager.c **** 
 106:../Application/PowerManager/PowerManager.c **** 	signed short batteryDetected = BQ_getFullInfo();			//Read all info
 139              		.loc 1 106 0
 140 0006 BC1D     		add	r4, r7, #6
 141 0008 FFF7FEFF 		bl	BQ_getFullInfo
 142 000c 031C     		mov	r3, r0
 143 000e 2380     		strh	r3, [r4]
 107:../Application/PowerManager/PowerManager.c **** 
 108:../Application/PowerManager/PowerManager.c **** 	/*=== Device is connected on USB -> charge mode ===*/
 109:../Application/PowerManager/PowerManager.c **** 	if(LTC4160GetVBusGood() == LTC_VBUS_VBusGood) {
 144              		.loc 1 109 0
 145 0010 394B     		ldr	r3, .L13
 146 0012 1A69     		ldr	r2, [r3, #16]
 147 0014 8023     		mov	r3, #128
 148 0016 9B01     		lsl	r3, r3, #6
 149 0018 1340     		and	r3, r2
 150 001a 5B0B     		lsr	r3, r3, #13
 151 001c 52D1     		bne	.L6
 110:../Application/PowerManager/PowerManager.c **** 
 111:../Application/PowerManager/PowerManager.c **** 		PowerManagerCtrl.flags.bits.usbConnected = 1;
 152              		.loc 1 111 0
 153 001e 374B     		ldr	r3, .L13+4
 154 0020 1A78     		ldrb	r2, [r3]
 155 0022 0121     		mov	r1, #1
 156 0024 0A43     		orr	r2, r1
 157 0026 1A70     		strb	r2, [r3]
 112:../Application/PowerManager/PowerManager.c **** 
 113:../Application/PowerManager/PowerManager.c **** 		LTC4160EnableCharge();
 158              		.loc 1 113 0
 159 0028 354B     		ldr	r3, .L13+8
 160 002a 354A     		ldr	r2, .L13+8
 161 002c 9268     		ldr	r2, [r2, #8]
 162 002e 8021     		mov	r1, #128
 163 0030 0906     		lsl	r1, r1, #24
 164 0032 0A43     		orr	r2, r1
 165 0034 9A60     		str	r2, [r3, #8]
 114:../Application/PowerManager/PowerManager.c **** 
 115:../Application/PowerManager/PowerManager.c **** 		if(batteryDetected == 0) {
 166              		.loc 1 115 0
 167 0036 BB1D     		add	r3, r7, #6
 168 0038 0022     		mov	r2, #0
 169 003a 9B5E     		ldrsh	r3, [r3, r2]
 170 003c 002B     		cmp	r3, #0
 171 003e 34D1     		bne	.L7
 116:../Application/PowerManager/PowerManager.c **** 			if(LTC4160GetChargerState() == LTC_CHARGER_isCharging) {		//Is charging
 172              		.loc 1 116 0
 173 0040 2F4B     		ldr	r3, .L13+8
 174 0042 1A69     		ldr	r2, [r3, #16]
 175 0044 8023     		mov	r3, #128
 176 0046 9B05     		lsl	r3, r3, #22
 177 0048 1340     		and	r3, r2
 178 004a 5B0F     		lsr	r3, r3, #29
 179 004c 0CD1     		bne	.L8
 117:../Application/PowerManager/PowerManager.c **** 				PowerManagerDisplayLoading();
 180              		.loc 1 117 0
 181 004e FFF7FEFF 		bl	PowerManagerDisplayLoading
 118:../Application/PowerManager/PowerManager.c **** 				PowerManagerCtrl.flags.bits.batteryCharging = 1;
 182              		.loc 1 118 0
 183 0052 2A4B     		ldr	r3, .L13+4
 184 0054 1A78     		ldrb	r2, [r3]
 185 0056 0421     		mov	r1, #4
 186 0058 0A43     		orr	r2, r1
 187 005a 1A70     		strb	r2, [r3]
 119:../Application/PowerManager/PowerManager.c **** 				PowerManagerCtrl.flags.bits.batteryError = 0;
 188              		.loc 1 119 0
 189 005c 274B     		ldr	r3, .L13+4
 190 005e 1A78     		ldrb	r2, [r3]
 191 0060 0221     		mov	r1, #2
 192 0062 8A43     		bic	r2, r1
 193 0064 1A70     		strb	r2, [r3]
 194 0066 43E0     		b	.L5
 195              	.L8:
 120:../Application/PowerManager/PowerManager.c **** 
 121:../Application/PowerManager/PowerManager.c **** 			} else if (LTC4160GetFaultState() == LTC_FAULT_FaultPending) {	//Error
 196              		.loc 1 121 0
 197 0068 234B     		ldr	r3, .L13
 198 006a 1A69     		ldr	r2, [r3, #16]
 199 006c 8023     		mov	r3, #128
 200 006e 5B01     		lsl	r3, r3, #5
 201 0070 1340     		and	r3, r2
 202 0072 1B0B     		lsr	r3, r3, #12
 203 0074 0CD1     		bne	.L10
 122:../Application/PowerManager/PowerManager.c **** 				PowerManagerDisplayLoadingError();
 204              		.loc 1 122 0
 205 0076 FFF7FEFF 		bl	PowerManagerDisplayLoadingError
 123:../Application/PowerManager/PowerManager.c **** 				PowerManagerCtrl.flags.bits.batteryCharging = 0;
 206              		.loc 1 123 0
 207 007a 204B     		ldr	r3, .L13+4
 208 007c 1A78     		ldrb	r2, [r3]
 209 007e 0421     		mov	r1, #4
 210 0080 8A43     		bic	r2, r1
 211 0082 1A70     		strb	r2, [r3]
 124:../Application/PowerManager/PowerManager.c **** 				PowerManagerCtrl.flags.bits.batteryError = 1;
 212              		.loc 1 124 0
 213 0084 1D4B     		ldr	r3, .L13+4
 214 0086 1A78     		ldrb	r2, [r3]
 215 0088 0221     		mov	r1, #2
 216 008a 0A43     		orr	r2, r1
 217 008c 1A70     		strb	r2, [r3]
 218 008e 2FE0     		b	.L5
 219              	.L10:
 125:../Application/PowerManager/PowerManager.c **** 
 126:../Application/PowerManager/PowerManager.c **** 			} else {									//Charged
 127:../Application/PowerManager/PowerManager.c **** 				PowerManagerDisplayLoaded();
 220              		.loc 1 127 0
 221 0090 FFF7FEFF 		bl	PowerManagerDisplayLoaded
 128:../Application/PowerManager/PowerManager.c **** 				PowerManagerCtrl.flags.bits.batteryCharging = 0;
 222              		.loc 1 128 0
 223 0094 194B     		ldr	r3, .L13+4
 224 0096 1A78     		ldrb	r2, [r3]
 225 0098 0421     		mov	r1, #4
 226 009a 8A43     		bic	r2, r1
 227 009c 1A70     		strb	r2, [r3]
 129:../Application/PowerManager/PowerManager.c **** 				PowerManagerCtrl.flags.bits.batteryError = 0;
 228              		.loc 1 129 0
 229 009e 174B     		ldr	r3, .L13+4
 230 00a0 1A78     		ldrb	r2, [r3]
 231 00a2 0221     		mov	r1, #2
 232 00a4 8A43     		bic	r2, r1
 233 00a6 1A70     		strb	r2, [r3]
 234 00a8 22E0     		b	.L5
 235              	.L7:
 130:../Application/PowerManager/PowerManager.c **** 			}
 131:../Application/PowerManager/PowerManager.c **** 		} else {
 132:../Application/PowerManager/PowerManager.c **** 			PowerManagerDisplayLoadingError();		//No Battery -> errror
 236              		.loc 1 132 0
 237 00aa FFF7FEFF 		bl	PowerManagerDisplayLoadingError
 133:../Application/PowerManager/PowerManager.c **** 			PowerManagerCtrl.flags.bits.batteryCharging = 0;
 238              		.loc 1 133 0
 239 00ae 134B     		ldr	r3, .L13+4
 240 00b0 1A78     		ldrb	r2, [r3]
 241 00b2 0421     		mov	r1, #4
 242 00b4 8A43     		bic	r2, r1
 243 00b6 1A70     		strb	r2, [r3]
 134:../Application/PowerManager/PowerManager.c **** 			PowerManagerCtrl.flags.bits.batteryError = 1;
 244              		.loc 1 134 0
 245 00b8 104B     		ldr	r3, .L13+4
 246 00ba 1A78     		ldrb	r2, [r3]
 247 00bc 0221     		mov	r1, #2
 248 00be 0A43     		orr	r2, r1
 249 00c0 1A70     		strb	r2, [r3]
 250 00c2 15E0     		b	.L5
 251              	.L6:
 135:../Application/PowerManager/PowerManager.c **** 		}
 136:../Application/PowerManager/PowerManager.c **** 
 137:../Application/PowerManager/PowerManager.c **** 	/*=== Device work on battery -> use LPM ===*/
 138:../Application/PowerManager/PowerManager.c **** 	} else {
 139:../Application/PowerManager/PowerManager.c **** 		PowerManagerCtrl.flags.bits.usbConnected = 0;
 252              		.loc 1 139 0
 253 00c4 0D4B     		ldr	r3, .L13+4
 254 00c6 1A78     		ldrb	r2, [r3]
 255 00c8 0121     		mov	r1, #1
 256 00ca 8A43     		bic	r2, r1
 257 00cc 1A70     		strb	r2, [r3]
 140:../Application/PowerManager/PowerManager.c **** 		PowerManagerCtrl.flags.bits.batteryCharging = 0;
 258              		.loc 1 140 0
 259 00ce 0B4B     		ldr	r3, .L13+4
 260 00d0 1A78     		ldrb	r2, [r3]
 261 00d2 0421     		mov	r1, #4
 262 00d4 8A43     		bic	r2, r1
 263 00d6 1A70     		strb	r2, [r3]
 141:../Application/PowerManager/PowerManager.c **** 		PowerManagerCtrl.flags.bits.batteryError = 0;
 264              		.loc 1 141 0
 265 00d8 084B     		ldr	r3, .L13+4
 266 00da 1A78     		ldrb	r2, [r3]
 267 00dc 0221     		mov	r1, #2
 268 00de 8A43     		bic	r2, r1
 269 00e0 1A70     		strb	r2, [r3]
 142:../Application/PowerManager/PowerManager.c **** 
 143:../Application/PowerManager/PowerManager.c **** 		LTC4160DisableCharge();
 270              		.loc 1 143 0
 271 00e2 074B     		ldr	r3, .L13+8
 272 00e4 064A     		ldr	r2, .L13+8
 273 00e6 5268     		ldr	r2, [r2, #4]
 274 00e8 8021     		mov	r1, #128
 275 00ea 0906     		lsl	r1, r1, #24
 276 00ec 0A43     		orr	r2, r1
 277 00ee 5A60     		str	r2, [r3, #4]
 278              	.L5:
 144:../Application/PowerManager/PowerManager.c **** 
 145:../Application/PowerManager/PowerManager.c **** 	}
 146:../Application/PowerManager/PowerManager.c **** }
 279              		.loc 1 146 0
 280 00f0 BD46     		mov	sp, r7
 281 00f2 03B0     		add	sp, sp, #12
 282              		@ sp needed
 283 00f4 90BD     		pop	{r4, r7, pc}
 284              	.L14:
 285 00f6 C046     		.align	2
 286              	.L13:
 287 00f8 00F00F40 		.word	1074786304
 288 00fc 00000000 		.word	PowerManagerCtrl
 289 0100 00F10F40 		.word	1074786560
 290              		.cfi_endproc
 291              	.LFE35:
 293              		.section	.text.PowerManagerDisplayLoading,"ax",%progbits
 294              		.align	2
 295              		.global	PowerManagerDisplayLoading
 296              		.code	16
 297              		.thumb_func
 299              	PowerManagerDisplayLoading:
 300              	.LFB36:
 147:../Application/PowerManager/PowerManager.c **** 
 148:../Application/PowerManager/PowerManager.c **** void PowerManagerDisplayLoading (void) {
 301              		.loc 1 148 0
 302              		.cfi_startproc
 303 0000 80B5     		push	{r7, lr}
 304              		.cfi_def_cfa_offset 8
 305              		.cfi_offset 7, -8
 306              		.cfi_offset 14, -4
 307 0002 82B0     		sub	sp, sp, #8
 308              		.cfi_def_cfa_offset 16
 309 0004 00AF     		add	r7, sp, #0
 310              		.cfi_def_cfa_register 7
 149:../Application/PowerManager/PowerManager.c **** 
 150:../Application/PowerManager/PowerManager.c **** 	unsigned char data[4];
 151:../Application/PowerManager/PowerManager.c **** 	static unsigned char locCounter = 0;
 152:../Application/PowerManager/PowerManager.c **** 
 153:../Application/PowerManager/PowerManager.c **** 	DisplayGetDataDisplayed(data);
 311              		.loc 1 153 0
 312 0006 3B1D     		add	r3, r7, #4
 313 0008 181C     		mov	r0, r3
 314 000a FFF7FEFF 		bl	DisplayGetDataDisplayed
 154:../Application/PowerManager/PowerManager.c **** 
 155:../Application/PowerManager/PowerManager.c **** 	DisplaySetPower(DISPLAY_POWER_ON);
 315              		.loc 1 155 0
 316 000e 0120     		mov	r0, #1
 317 0010 FFF7FEFF 		bl	DisplaySetPower
 156:../Application/PowerManager/PowerManager.c **** 
 157:../Application/PowerManager/PowerManager.c **** 	if(locCounter == 0) {
 318              		.loc 1 157 0
 319 0014 1B4B     		ldr	r3, .L20
 320 0016 1B78     		ldrb	r3, [r3]
 321 0018 002B     		cmp	r3, #0
 322 001a 09D1     		bne	.L16
 158:../Application/PowerManager/PowerManager.c **** 		data[0] = '|';
 323              		.loc 1 158 0
 324 001c 3B1D     		add	r3, r7, #4
 325 001e 7C22     		mov	r2, #124
 326 0020 1A70     		strb	r2, [r3]
 159:../Application/PowerManager/PowerManager.c **** 		locCounter++;
 327              		.loc 1 159 0
 328 0022 184B     		ldr	r3, .L20
 329 0024 1B78     		ldrb	r3, [r3]
 330 0026 0133     		add	r3, r3, #1
 331 0028 DAB2     		uxtb	r2, r3
 332 002a 164B     		ldr	r3, .L20
 333 002c 1A70     		strb	r2, [r3]
 334 002e 21E0     		b	.L17
 335              	.L16:
 160:../Application/PowerManager/PowerManager.c **** 	}
 161:../Application/PowerManager/PowerManager.c **** 	else if(locCounter == 1) {
 336              		.loc 1 161 0
 337 0030 144B     		ldr	r3, .L20
 338 0032 1B78     		ldrb	r3, [r3]
 339 0034 012B     		cmp	r3, #1
 340 0036 09D1     		bne	.L18
 162:../Application/PowerManager/PowerManager.c **** 		data[0] = '/';
 341              		.loc 1 162 0
 342 0038 3B1D     		add	r3, r7, #4
 343 003a 2F22     		mov	r2, #47
 344 003c 1A70     		strb	r2, [r3]
 163:../Application/PowerManager/PowerManager.c **** 		locCounter++;
 345              		.loc 1 163 0
 346 003e 114B     		ldr	r3, .L20
 347 0040 1B78     		ldrb	r3, [r3]
 348 0042 0133     		add	r3, r3, #1
 349 0044 DAB2     		uxtb	r2, r3
 350 0046 0F4B     		ldr	r3, .L20
 351 0048 1A70     		strb	r2, [r3]
 352 004a 13E0     		b	.L17
 353              	.L18:
 164:../Application/PowerManager/PowerManager.c **** 	}
 165:../Application/PowerManager/PowerManager.c **** 	else if(locCounter == 2) {
 354              		.loc 1 165 0
 355 004c 0D4B     		ldr	r3, .L20
 356 004e 1B78     		ldrb	r3, [r3]
 357 0050 022B     		cmp	r3, #2
 358 0052 09D1     		bne	.L19
 166:../Application/PowerManager/PowerManager.c **** 		data[0] = '-';
 359              		.loc 1 166 0
 360 0054 3B1D     		add	r3, r7, #4
 361 0056 2D22     		mov	r2, #45
 362 0058 1A70     		strb	r2, [r3]
 167:../Application/PowerManager/PowerManager.c **** 		locCounter++;
 363              		.loc 1 167 0
 364 005a 0A4B     		ldr	r3, .L20
 365 005c 1B78     		ldrb	r3, [r3]
 366 005e 0133     		add	r3, r3, #1
 367 0060 DAB2     		uxtb	r2, r3
 368 0062 084B     		ldr	r3, .L20
 369 0064 1A70     		strb	r2, [r3]
 370 0066 05E0     		b	.L17
 371              	.L19:
 168:../Application/PowerManager/PowerManager.c **** 	}
 169:../Application/PowerManager/PowerManager.c **** 	else {
 170:../Application/PowerManager/PowerManager.c **** 		data[0] = '\\';
 372              		.loc 1 170 0
 373 0068 3B1D     		add	r3, r7, #4
 374 006a 5C22     		mov	r2, #92
 375 006c 1A70     		strb	r2, [r3]
 171:../Application/PowerManager/PowerManager.c **** 		locCounter = 0;
 376              		.loc 1 171 0
 377 006e 054B     		ldr	r3, .L20
 378 0070 0022     		mov	r2, #0
 379 0072 1A70     		strb	r2, [r3]
 380              	.L17:
 172:../Application/PowerManager/PowerManager.c **** 	}
 173:../Application/PowerManager/PowerManager.c **** 
 174:../Application/PowerManager/PowerManager.c **** 	DisplaySetDataDisplayed(data);
 381              		.loc 1 174 0
 382 0074 3B1D     		add	r3, r7, #4
 383 0076 181C     		mov	r0, r3
 384 0078 FFF7FEFF 		bl	DisplaySetDataDisplayed
 175:../Application/PowerManager/PowerManager.c **** 
 176:../Application/PowerManager/PowerManager.c **** }
 385              		.loc 1 176 0
 386 007c BD46     		mov	sp, r7
 387 007e 02B0     		add	sp, sp, #8
 388              		@ sp needed
 389 0080 80BD     		pop	{r7, pc}
 390              	.L21:
 391 0082 C046     		.align	2
 392              	.L20:
 393 0084 00000000 		.word	locCounter.5630
 394              		.cfi_endproc
 395              	.LFE36:
 397              		.section	.rodata
 398              		.align	2
 399              	.LC0:
 400 0000 42       		.byte	66
 401 0001 45       		.byte	69
 402 0002 72       		.byte	114
 403 0003 72       		.byte	114
 404              		.section	.text.PowerManagerDisplayLoadingError,"ax",%progbits
 405              		.align	2
 406              		.global	PowerManagerDisplayLoadingError
 407              		.code	16
 408              		.thumb_func
 410              	PowerManagerDisplayLoadingError:
 411              	.LFB37:
 177:../Application/PowerManager/PowerManager.c **** 
 178:../Application/PowerManager/PowerManager.c **** void PowerManagerDisplayLoadingError (void) {
 412              		.loc 1 178 0
 413              		.cfi_startproc
 414 0000 80B5     		push	{r7, lr}
 415              		.cfi_def_cfa_offset 8
 416              		.cfi_offset 7, -8
 417              		.cfi_offset 14, -4
 418 0002 82B0     		sub	sp, sp, #8
 419              		.cfi_def_cfa_offset 16
 420 0004 00AF     		add	r7, sp, #0
 421              		.cfi_def_cfa_register 7
 179:../Application/PowerManager/PowerManager.c **** 
 180:../Application/PowerManager/PowerManager.c **** 	unsigned char data[4] = {'B','E','r','r'};
 422              		.loc 1 180 0
 423 0006 3A1D     		add	r2, r7, #4
 424 0008 094B     		ldr	r3, .L23
 425 000a 111C     		mov	r1, r2
 426 000c 1A1C     		mov	r2, r3
 427 000e 0423     		mov	r3, #4
 428 0010 081C     		mov	r0, r1
 429 0012 111C     		mov	r1, r2
 430 0014 1A1C     		mov	r2, r3
 431 0016 FFF7FEFF 		bl	memcpy
 181:../Application/PowerManager/PowerManager.c **** 
 182:../Application/PowerManager/PowerManager.c **** 	DisplaySetPower(DISPLAY_POWER_ON);
 432              		.loc 1 182 0
 433 001a 0120     		mov	r0, #1
 434 001c FFF7FEFF 		bl	DisplaySetPower
 183:../Application/PowerManager/PowerManager.c **** 
 184:../Application/PowerManager/PowerManager.c **** 	DisplaySetDataDisplayed(data);
 435              		.loc 1 184 0
 436 0020 3B1D     		add	r3, r7, #4
 437 0022 181C     		mov	r0, r3
 438 0024 FFF7FEFF 		bl	DisplaySetDataDisplayed
 185:../Application/PowerManager/PowerManager.c **** }
 439              		.loc 1 185 0
 440 0028 BD46     		mov	sp, r7
 441 002a 02B0     		add	sp, sp, #8
 442              		@ sp needed
 443 002c 80BD     		pop	{r7, pc}
 444              	.L24:
 445 002e C046     		.align	2
 446              	.L23:
 447 0030 00000000 		.word	.LC0
 448              		.cfi_endproc
 449              	.LFE37:
 451              		.section	.text.PowerManagerDisplayLoaded,"ax",%progbits
 452              		.align	2
 453              		.global	PowerManagerDisplayLoaded
 454              		.code	16
 455              		.thumb_func
 457              	PowerManagerDisplayLoaded:
 458              	.LFB38:
 186:../Application/PowerManager/PowerManager.c **** 
 187:../Application/PowerManager/PowerManager.c **** void PowerManagerDisplayLoaded (void) {
 459              		.loc 1 187 0
 460              		.cfi_startproc
 461 0000 80B5     		push	{r7, lr}
 462              		.cfi_def_cfa_offset 8
 463              		.cfi_offset 7, -8
 464              		.cfi_offset 14, -4
 465 0002 82B0     		sub	sp, sp, #8
 466              		.cfi_def_cfa_offset 16
 467 0004 00AF     		add	r7, sp, #0
 468              		.cfi_def_cfa_register 7
 188:../Application/PowerManager/PowerManager.c **** 
 189:../Application/PowerManager/PowerManager.c **** 	char data[DISPLAY_TOTAL_DIGIT];
 190:../Application/PowerManager/PowerManager.c **** 
 191:../Application/PowerManager/PowerManager.c **** 	DisplayGetDataDisplayed(data);
 469              		.loc 1 191 0
 470 0006 3B1D     		add	r3, r7, #4
 471 0008 181C     		mov	r0, r3
 472 000a FFF7FEFF 		bl	DisplayGetDataDisplayed
 192:../Application/PowerManager/PowerManager.c **** 
 193:../Application/PowerManager/PowerManager.c **** 	if(data[0] != 0) {
 473              		.loc 1 193 0
 474 000e 3B1D     		add	r3, r7, #4
 475 0010 1B78     		ldrb	r3, [r3]
 476 0012 002B     		cmp	r3, #0
 477 0014 06D0     		beq	.L25
 194:../Application/PowerManager/PowerManager.c **** 		data[0] = 0;
 478              		.loc 1 194 0
 479 0016 3B1D     		add	r3, r7, #4
 480 0018 0022     		mov	r2, #0
 481 001a 1A70     		strb	r2, [r3]
 195:../Application/PowerManager/PowerManager.c **** 		DisplaySetDataDisplayed(data);
 482              		.loc 1 195 0
 483 001c 3B1D     		add	r3, r7, #4
 484 001e 181C     		mov	r0, r3
 485 0020 FFF7FEFF 		bl	DisplaySetDataDisplayed
 486              	.L25:
 196:../Application/PowerManager/PowerManager.c **** 	}
 197:../Application/PowerManager/PowerManager.c **** 
 198:../Application/PowerManager/PowerManager.c **** 	//DisplaySetPower(DISPLAY_POWER_OFF);
 199:../Application/PowerManager/PowerManager.c **** 
 200:../Application/PowerManager/PowerManager.c **** }
 487              		.loc 1 200 0
 488 0024 BD46     		mov	sp, r7
 489 0026 02B0     		add	sp, sp, #8
 490              		@ sp needed
 491 0028 80BD     		pop	{r7, pc}
 492              		.cfi_endproc
 493              	.LFE38:
 495 002a C046     		.section	.rodata
 496              		.align	2
 497              	.LC5:
 498 0004 543D00   		.ascii	"T=\000"
 499 0007 00       		.align	2
 500              	.LC8:
 501 0008 B0430A0D 		.ascii	"\260C\012\015\000"
 501      00
 502 000d 000000   		.align	2
 503              	.LC10:
 504 0010 563D00   		.ascii	"V=\000"
 505 0013 00       		.align	2
 506              	.LC12:
 507 0014 6D560A0D 		.ascii	"mV\012\015\000"
 507      00
 508 0019 000000   		.align	2
 509              	.LC14:
 510 001c 546F7461 		.ascii	"Total Load=\000"
 510      6C204C6F 
 510      61643D00 
 511              		.align	2
 512              	.LC16:
 513 0028 6D41680A 		.ascii	"mAh\012\015\000"
 513      0D00
 514 002e 0000     		.align	2
 515              	.LC18:
 516 0030 43757272 		.ascii	"Current Load=\000"
 516      656E7420 
 516      4C6F6164 
 516      3D00
 517 003e 0000     		.align	2
 518              	.LC20:
 519 0040 54656D70 		.ascii	"Tempty=\000"
 519      74793D00 
 520              		.align	2
 521              	.LC22:
 522 0048 6D696E0A 		.ascii	"min\012\015\000"
 522      0D00
 523 004e 0000     		.align	2
 524              	.LC24:
 525 0050 546C6F61 		.ascii	"Tloaded=\000"
 525      6465643D 
 525      00
 526 0059 000000   		.align	2
 527              	.LC26:
 528 005c 43686172 		.ascii	"Charge=\000"
 528      67653D00 
 529              		.align	2
 530              	.LC28:
 531 0064 250A0D00 		.ascii	"%\012\015\000"
 532              		.section	.text.PowerManagerSendBatteryInfo,"ax",%progbits
 533              		.align	2
 534              		.global	PowerManagerSendBatteryInfo
 535              		.code	16
 536              		.thumb_func
 538              	PowerManagerSendBatteryInfo:
 539              	.LFB39:
 201:../Application/PowerManager/PowerManager.c **** 
 202:../Application/PowerManager/PowerManager.c **** 
 203:../Application/PowerManager/PowerManager.c **** void PowerManagerSendBatteryInfo (void) {
 540              		.loc 1 203 0
 541              		.cfi_startproc
 542 0000 80B5     		push	{r7, lr}
 543              		.cfi_def_cfa_offset 8
 544              		.cfi_offset 7, -8
 545              		.cfi_offset 14, -4
 546 0002 84B0     		sub	sp, sp, #16
 547              		.cfi_def_cfa_offset 24
 548 0004 00AF     		add	r7, sp, #0
 549              		.cfi_def_cfa_register 7
 204:../Application/PowerManager/PowerManager.c **** 	char data[10];
 205:../Application/PowerManager/PowerManager.c **** 
 206:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("T=");
 550              		.loc 1 206 0
 551 0006 594B     		ldr	r3, .L28
 552 0008 181C     		mov	r0, r3
 553 000a FFF7FEFF 		bl	Uart1SendString
 207:../Application/PowerManager/PowerManager.c **** 	StrTool_ClearString(data,10);
 554              		.loc 1 207 0
 555 000e 3B1D     		add	r3, r7, #4
 556 0010 181C     		mov	r0, r3
 557 0012 0A21     		mov	r1, #10
 558 0014 FFF7FEFF 		bl	StrTool_ClearString
 208:../Application/PowerManager/PowerManager.c **** 	StrTool_SignedLongToString(BQBatteryStatus.cellTemperature,data);
 559              		.loc 1 208 0
 560 0018 554B     		ldr	r3, .L28+4
 561 001a 1B88     		ldrh	r3, [r3]
 562 001c 1AB2     		sxth	r2, r3
 563 001e 3B1D     		add	r3, r7, #4
 564 0020 101C     		mov	r0, r2
 565 0022 191C     		mov	r1, r3
 566 0024 FFF7FEFF 		bl	StrTool_SignedLongToString
 209:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString(data);
 567              		.loc 1 209 0
 568 0028 3B1D     		add	r3, r7, #4
 569 002a 181C     		mov	r0, r3
 570 002c FFF7FEFF 		bl	Uart1SendString
 210:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("°C\n\r");
 571              		.loc 1 210 0
 572 0030 504B     		ldr	r3, .L28+8
 573 0032 181C     		mov	r0, r3
 574 0034 FFF7FEFF 		bl	Uart1SendString
 211:../Application/PowerManager/PowerManager.c **** 
 212:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("V=");
 575              		.loc 1 212 0
 576 0038 4F4B     		ldr	r3, .L28+12
 577 003a 181C     		mov	r0, r3
 578 003c FFF7FEFF 		bl	Uart1SendString
 213:../Application/PowerManager/PowerManager.c **** 	StrTool_ClearString(data,10);
 579              		.loc 1 213 0
 580 0040 3B1D     		add	r3, r7, #4
 581 0042 181C     		mov	r0, r3
 582 0044 0A21     		mov	r1, #10
 583 0046 FFF7FEFF 		bl	StrTool_ClearString
 214:../Application/PowerManager/PowerManager.c **** 	StrTool_SignedLongToString(BQBatteryStatus.cellVoltage,data);
 584              		.loc 1 214 0
 585 004a 494B     		ldr	r3, .L28+4
 586 004c 5B88     		ldrh	r3, [r3, #2]
 587 004e 1A1C     		mov	r2, r3
 588 0050 3B1D     		add	r3, r7, #4
 589 0052 101C     		mov	r0, r2
 590 0054 191C     		mov	r1, r3
 591 0056 FFF7FEFF 		bl	StrTool_SignedLongToString
 215:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString(data);
 592              		.loc 1 215 0
 593 005a 3B1D     		add	r3, r7, #4
 594 005c 181C     		mov	r0, r3
 595 005e FFF7FEFF 		bl	Uart1SendString
 216:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("mV\n\r");
 596              		.loc 1 216 0
 597 0062 464B     		ldr	r3, .L28+16
 598 0064 181C     		mov	r0, r3
 599 0066 FFF7FEFF 		bl	Uart1SendString
 217:../Application/PowerManager/PowerManager.c **** 
 218:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("Total Load=");
 600              		.loc 1 218 0
 601 006a 454B     		ldr	r3, .L28+20
 602 006c 181C     		mov	r0, r3
 603 006e FFF7FEFF 		bl	Uart1SendString
 219:../Application/PowerManager/PowerManager.c **** 	StrTool_ClearString(data,10);
 604              		.loc 1 219 0
 605 0072 3B1D     		add	r3, r7, #4
 606 0074 181C     		mov	r0, r3
 607 0076 0A21     		mov	r1, #10
 608 0078 FFF7FEFF 		bl	StrTool_ClearString
 220:../Application/PowerManager/PowerManager.c **** 	StrTool_SignedLongToString(BQBatteryStatus.fullCapacity,data);
 609              		.loc 1 220 0
 610 007c 3C4B     		ldr	r3, .L28+4
 611 007e 5B89     		ldrh	r3, [r3, #10]
 612 0080 1A1C     		mov	r2, r3
 613 0082 3B1D     		add	r3, r7, #4
 614 0084 101C     		mov	r0, r2
 615 0086 191C     		mov	r1, r3
 616 0088 FFF7FEFF 		bl	StrTool_SignedLongToString
 221:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString(data);
 617              		.loc 1 221 0
 618 008c 3B1D     		add	r3, r7, #4
 619 008e 181C     		mov	r0, r3
 620 0090 FFF7FEFF 		bl	Uart1SendString
 222:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("mAh\n\r");
 621              		.loc 1 222 0
 622 0094 3B4B     		ldr	r3, .L28+24
 623 0096 181C     		mov	r0, r3
 624 0098 FFF7FEFF 		bl	Uart1SendString
 223:../Application/PowerManager/PowerManager.c **** 
 224:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("Current Load=");
 625              		.loc 1 224 0
 626 009c 3A4B     		ldr	r3, .L28+28
 627 009e 181C     		mov	r0, r3
 628 00a0 FFF7FEFF 		bl	Uart1SendString
 225:../Application/PowerManager/PowerManager.c **** 	StrTool_ClearString(data,10);
 629              		.loc 1 225 0
 630 00a4 3B1D     		add	r3, r7, #4
 631 00a6 181C     		mov	r0, r3
 632 00a8 0A21     		mov	r1, #10
 633 00aa FFF7FEFF 		bl	StrTool_ClearString
 226:../Application/PowerManager/PowerManager.c **** 	StrTool_SignedLongToString(BQBatteryStatus.remainingCapacity,data);
 634              		.loc 1 226 0
 635 00ae 304B     		ldr	r3, .L28+4
 636 00b0 1B89     		ldrh	r3, [r3, #8]
 637 00b2 1A1C     		mov	r2, r3
 638 00b4 3B1D     		add	r3, r7, #4
 639 00b6 101C     		mov	r0, r2
 640 00b8 191C     		mov	r1, r3
 641 00ba FFF7FEFF 		bl	StrTool_SignedLongToString
 227:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString(data);
 642              		.loc 1 227 0
 643 00be 3B1D     		add	r3, r7, #4
 644 00c0 181C     		mov	r0, r3
 645 00c2 FFF7FEFF 		bl	Uart1SendString
 228:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("mAh\n\r");
 646              		.loc 1 228 0
 647 00c6 2F4B     		ldr	r3, .L28+24
 648 00c8 181C     		mov	r0, r3
 649 00ca FFF7FEFF 		bl	Uart1SendString
 229:../Application/PowerManager/PowerManager.c **** 
 230:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("Tempty=");
 650              		.loc 1 230 0
 651 00ce 2F4B     		ldr	r3, .L28+32
 652 00d0 181C     		mov	r0, r3
 653 00d2 FFF7FEFF 		bl	Uart1SendString
 231:../Application/PowerManager/PowerManager.c **** 	StrTool_ClearString(data,10);
 654              		.loc 1 231 0
 655 00d6 3B1D     		add	r3, r7, #4
 656 00d8 181C     		mov	r0, r3
 657 00da 0A21     		mov	r1, #10
 658 00dc FFF7FEFF 		bl	StrTool_ClearString
 232:../Application/PowerManager/PowerManager.c **** 	StrTool_SignedLongToString(BQBatteryStatus.timeToEmpty,data);
 659              		.loc 1 232 0
 660 00e0 234B     		ldr	r3, .L28+4
 661 00e2 DB89     		ldrh	r3, [r3, #14]
 662 00e4 1A1C     		mov	r2, r3
 663 00e6 3B1D     		add	r3, r7, #4
 664 00e8 101C     		mov	r0, r2
 665 00ea 191C     		mov	r1, r3
 666 00ec FFF7FEFF 		bl	StrTool_SignedLongToString
 233:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString(data);
 667              		.loc 1 233 0
 668 00f0 3B1D     		add	r3, r7, #4
 669 00f2 181C     		mov	r0, r3
 670 00f4 FFF7FEFF 		bl	Uart1SendString
 234:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("min\n\r");
 671              		.loc 1 234 0
 672 00f8 254B     		ldr	r3, .L28+36
 673 00fa 181C     		mov	r0, r3
 674 00fc FFF7FEFF 		bl	Uart1SendString
 235:../Application/PowerManager/PowerManager.c **** 
 236:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("Tloaded=");
 675              		.loc 1 236 0
 676 0100 244B     		ldr	r3, .L28+40
 677 0102 181C     		mov	r0, r3
 678 0104 FFF7FEFF 		bl	Uart1SendString
 237:../Application/PowerManager/PowerManager.c **** 	StrTool_ClearString(data,10);
 679              		.loc 1 237 0
 680 0108 3B1D     		add	r3, r7, #4
 681 010a 181C     		mov	r0, r3
 682 010c 0A21     		mov	r1, #10
 683 010e FFF7FEFF 		bl	StrTool_ClearString
 238:../Application/PowerManager/PowerManager.c **** 	StrTool_SignedLongToString(BQBatteryStatus.timeToFull,data);
 684              		.loc 1 238 0
 685 0112 174B     		ldr	r3, .L28+4
 686 0114 1B8A     		ldrh	r3, [r3, #16]
 687 0116 1A1C     		mov	r2, r3
 688 0118 3B1D     		add	r3, r7, #4
 689 011a 101C     		mov	r0, r2
 690 011c 191C     		mov	r1, r3
 691 011e FFF7FEFF 		bl	StrTool_SignedLongToString
 239:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString(data);
 692              		.loc 1 239 0
 693 0122 3B1D     		add	r3, r7, #4
 694 0124 181C     		mov	r0, r3
 695 0126 FFF7FEFF 		bl	Uart1SendString
 240:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("min\n\r");
 696              		.loc 1 240 0
 697 012a 194B     		ldr	r3, .L28+36
 698 012c 181C     		mov	r0, r3
 699 012e FFF7FEFF 		bl	Uart1SendString
 241:../Application/PowerManager/PowerManager.c **** 
 242:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("Charge=");
 700              		.loc 1 242 0
 701 0132 194B     		ldr	r3, .L28+44
 702 0134 181C     		mov	r0, r3
 703 0136 FFF7FEFF 		bl	Uart1SendString
 243:../Application/PowerManager/PowerManager.c **** 	StrTool_ClearString(data,10);
 704              		.loc 1 243 0
 705 013a 3B1D     		add	r3, r7, #4
 706 013c 181C     		mov	r0, r3
 707 013e 0A21     		mov	r1, #10
 708 0140 FFF7FEFF 		bl	StrTool_ClearString
 244:../Application/PowerManager/PowerManager.c **** 	StrTool_SignedLongToString(BQBatteryStatus.stateOfCharge,data);
 709              		.loc 1 244 0
 710 0144 0A4B     		ldr	r3, .L28+4
 711 0146 DB8C     		ldrh	r3, [r3, #38]
 712 0148 1A1C     		mov	r2, r3
 713 014a 3B1D     		add	r3, r7, #4
 714 014c 101C     		mov	r0, r2
 715 014e 191C     		mov	r1, r3
 716 0150 FFF7FEFF 		bl	StrTool_SignedLongToString
 245:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString(data);
 717              		.loc 1 245 0
 718 0154 3B1D     		add	r3, r7, #4
 719 0156 181C     		mov	r0, r3
 720 0158 FFF7FEFF 		bl	Uart1SendString
 246:../Application/PowerManager/PowerManager.c **** 	UsbUartSendString("%\n\r");
 721              		.loc 1 246 0
 722 015c 0F4B     		ldr	r3, .L28+48
 723 015e 181C     		mov	r0, r3
 724 0160 FFF7FEFF 		bl	Uart1SendString
 247:../Application/PowerManager/PowerManager.c **** 
 248:../Application/PowerManager/PowerManager.c **** }
 725              		.loc 1 248 0
 726 0164 BD46     		mov	sp, r7
 727 0166 04B0     		add	sp, sp, #16
 728              		@ sp needed
 729 0168 80BD     		pop	{r7, pc}
 730              	.L29:
 731 016a C046     		.align	2
 732              	.L28:
 733 016c 04000000 		.word	.LC5
 734 0170 00000000 		.word	BQBatteryStatus
 735 0174 08000000 		.word	.LC8
 736 0178 10000000 		.word	.LC10
 737 017c 14000000 		.word	.LC12
 738 0180 1C000000 		.word	.LC14
 739 0184 28000000 		.word	.LC16
 740 0188 30000000 		.word	.LC18
 741 018c 40000000 		.word	.LC20
 742 0190 48000000 		.word	.LC22
 743 0194 50000000 		.word	.LC24
 744 0198 5C000000 		.word	.LC26
 745 019c 64000000 		.word	.LC28
 746              		.cfi_endproc
 747              	.LFE39:
 749              		.section	.text.PowerManagerEnterLPM,"ax",%progbits
 750              		.align	2
 751              		.global	PowerManagerEnterLPM
 752              		.code	16
 753              		.thumb_func
 755              	PowerManagerEnterLPM:
 756              	.LFB40:
 249:../Application/PowerManager/PowerManager.c **** 
 250:../Application/PowerManager/PowerManager.c **** void PowerManagerEnterLPM (void) {
 757              		.loc 1 250 0
 758              		.cfi_startproc
 759 0000 80B5     		push	{r7, lr}
 760              		.cfi_def_cfa_offset 8
 761              		.cfi_offset 7, -8
 762              		.cfi_offset 14, -4
 763 0002 00AF     		add	r7, sp, #0
 764              		.cfi_def_cfa_register 7
 251:../Application/PowerManager/PowerManager.c **** 
 252:../Application/PowerManager/PowerManager.c **** 	/*=== Make sure that cherger is off ===*/
 253:../Application/PowerManager/PowerManager.c **** 	LTC4160DisableCharge();
 765              		.loc 1 253 0
 766 0004 304B     		ldr	r3, .L31
 767 0006 304A     		ldr	r2, .L31
 768 0008 5268     		ldr	r2, [r2, #4]
 769 000a 8021     		mov	r1, #128
 770 000c 0906     		lsl	r1, r1, #24
 771 000e 0A43     		orr	r2, r1
 772 0010 5A60     		str	r2, [r3, #4]
 254:../Application/PowerManager/PowerManager.c **** 
 255:../Application/PowerManager/PowerManager.c **** 	/*=== Turn off all device ===*/
 256:../Application/PowerManager/PowerManager.c **** 	LedClear(LED_GREEN | LED_RED);		//Turn off led before LPM
 773              		.loc 1 256 0
 774 0012 2E4B     		ldr	r3, .L31+4
 775 0014 2D4A     		ldr	r2, .L31+4
 776 0016 5268     		ldr	r2, [r2, #4]
 777 0018 3021     		mov	r1, #48
 778 001a 0A43     		orr	r2, r1
 779 001c 5A60     		str	r2, [r3, #4]
 257:../Application/PowerManager/PowerManager.c **** 	FM25V20LPM();						//Put FRAM in low power mode
 780              		.loc 1 257 0
 781 001e FFF7FEFF 		bl	FM25V20LPM
 258:../Application/PowerManager/PowerManager.c **** 	DisplaySetPower(DISPLAY_POWER_OFF);	//Display off
 782              		.loc 1 258 0
 783 0022 0020     		mov	r0, #0
 784 0024 FFF7FEFF 		bl	DisplaySetPower
 259:../Application/PowerManager/PowerManager.c **** 	WatchdogKick();
 785              		.loc 1 259 0
 786 0028 FFF7FEFF 		bl	WatchdogKick
 260:../Application/PowerManager/PowerManager.c **** 
 261:../Application/PowerManager/PowerManager.c **** 	UART0ClockGate(0);		//Turn off uart0
 787              		.loc 1 261 0
 788 002c 0020     		mov	r0, #0
 789 002e FFF7FEFF 		bl	UART0ClockGate
 262:../Application/PowerManager/PowerManager.c **** 	UART1ClockGate(0);		//Turn off uart1
 790              		.loc 1 262 0
 791 0032 0020     		mov	r0, #0
 792 0034 FFF7FEFF 		bl	UART1ClockGate
 263:../Application/PowerManager/PowerManager.c **** 	UART2ClockGate(0);		//Turn off uart2
 793              		.loc 1 263 0
 794 0038 0020     		mov	r0, #0
 795 003a FFF7FEFF 		bl	UART2ClockGate
 264:../Application/PowerManager/PowerManager.c **** 
 265:../Application/PowerManager/PowerManager.c **** 
 266:../Application/PowerManager/PowerManager.c **** 	//PORTD->PCR[5] |= PORT_PCR_MUX(1);
 267:../Application/PowerManager/PowerManager.c **** 	//PTD->PDDR &= ~(1UL<<5);
 268:../Application/PowerManager/PowerManager.c **** 	//PORTB->PCR[17] |= PORT_PCR_MUX(1);
 269:../Application/PowerManager/PowerManager.c **** 	//PTB->PDDR &= ~(1UL<<17);
 270:../Application/PowerManager/PowerManager.c **** 	//PORTB->PCR[16] |= PORT_PCR_MUX(1);
 271:../Application/PowerManager/PowerManager.c **** 	//PTB->PDDR &= ~(1UL<<16);
 272:../Application/PowerManager/PowerManager.c **** 
 273:../Application/PowerManager/PowerManager.c **** 	PORTE->PCR[17] &= ~PORT_PCR_MUX_MASK;
 796              		.loc 1 273 0
 797 003e 244B     		ldr	r3, .L31+8
 798 0040 234A     		ldr	r2, .L31+8
 799 0042 516C     		ldr	r1, [r2, #68]
 800 0044 234A     		ldr	r2, .L31+12
 801 0046 0A40     		and	r2, r1
 802 0048 5A64     		str	r2, [r3, #68]
 274:../Application/PowerManager/PowerManager.c **** 	PORTE->PCR[17] |= PORT_PCR_MUX(1);
 803              		.loc 1 274 0
 804 004a 214B     		ldr	r3, .L31+8
 805 004c 204A     		ldr	r2, .L31+8
 806 004e 526C     		ldr	r2, [r2, #68]
 807 0050 8021     		mov	r1, #128
 808 0052 4900     		lsl	r1, r1, #1
 809 0054 0A43     		orr	r2, r1
 810 0056 5A64     		str	r2, [r3, #68]
 275:../Application/PowerManager/PowerManager.c **** 	PTE->PCOR |= (1UL<<17);
 811              		.loc 1 275 0
 812 0058 1B4B     		ldr	r3, .L31
 813 005a 1B4A     		ldr	r2, .L31
 814 005c 9268     		ldr	r2, [r2, #8]
 815 005e 8021     		mov	r1, #128
 816 0060 8902     		lsl	r1, r1, #10
 817 0062 0A43     		orr	r2, r1
 818 0064 9A60     		str	r2, [r3, #8]
 276:../Application/PowerManager/PowerManager.c **** 	PTE->PDDR |= (1UL<<17);
 819              		.loc 1 276 0
 820 0066 184B     		ldr	r3, .L31
 821 0068 174A     		ldr	r2, .L31
 822 006a 5269     		ldr	r2, [r2, #20]
 823 006c 8021     		mov	r1, #128
 824 006e 8902     		lsl	r1, r1, #10
 825 0070 0A43     		orr	r2, r1
 826 0072 5A61     		str	r2, [r3, #20]
 277:../Application/PowerManager/PowerManager.c **** 	PORTE->PCR[18] &= ~PORT_PCR_MUX_MASK;
 827              		.loc 1 277 0
 828 0074 164B     		ldr	r3, .L31+8
 829 0076 164A     		ldr	r2, .L31+8
 830 0078 916C     		ldr	r1, [r2, #72]
 831 007a 164A     		ldr	r2, .L31+12
 832 007c 0A40     		and	r2, r1
 833 007e 9A64     		str	r2, [r3, #72]
 278:../Application/PowerManager/PowerManager.c **** 	PORTE->PCR[18] |= PORT_PCR_MUX(1);
 834              		.loc 1 278 0
 835 0080 134B     		ldr	r3, .L31+8
 836 0082 134A     		ldr	r2, .L31+8
 837 0084 926C     		ldr	r2, [r2, #72]
 838 0086 8021     		mov	r1, #128
 839 0088 4900     		lsl	r1, r1, #1
 840 008a 0A43     		orr	r2, r1
 841 008c 9A64     		str	r2, [r3, #72]
 279:../Application/PowerManager/PowerManager.c **** 	PTE->PCOR |= (1UL<<18);
 842              		.loc 1 279 0
 843 008e 0E4B     		ldr	r3, .L31
 844 0090 0D4A     		ldr	r2, .L31
 845 0092 9268     		ldr	r2, [r2, #8]
 846 0094 8021     		mov	r1, #128
 847 0096 C902     		lsl	r1, r1, #11
 848 0098 0A43     		orr	r2, r1
 849 009a 9A60     		str	r2, [r3, #8]
 280:../Application/PowerManager/PowerManager.c **** 	PTE->PDDR |= (1UL<<18);
 850              		.loc 1 280 0
 851 009c 0A4B     		ldr	r3, .L31
 852 009e 0A4A     		ldr	r2, .L31
 853 00a0 5269     		ldr	r2, [r2, #20]
 854 00a2 8021     		mov	r1, #128
 855 00a4 C902     		lsl	r1, r1, #11
 856 00a6 0A43     		orr	r2, r1
 857 00a8 5A61     		str	r2, [r3, #20]
 281:../Application/PowerManager/PowerManager.c **** 	DisplaySetCmd(DISPLAY_CMD_ON);
 858              		.loc 1 281 0
 859 00aa 074B     		ldr	r3, .L31
 860 00ac 064A     		ldr	r2, .L31
 861 00ae 1168     		ldr	r1, [r2]
 862 00b0 094A     		ldr	r2, .L31+16
 863 00b2 0A40     		and	r2, r1
 864 00b4 1A60     		str	r2, [r3]
 282:../Application/PowerManager/PowerManager.c **** 
 283:../Application/PowerManager/PowerManager.c **** 
 284:../Application/PowerManager/PowerManager.c **** 	/*=== Configure wake up ===*/
 285:../Application/PowerManager/PowerManager.c **** 	PowerManagerEnableWakeUpInterrupt();
 865              		.loc 1 285 0
 866 00b6 FFF7FEFF 		bl	PowerManagerEnableWakeUpInterrupt
 286:../Application/PowerManager/PowerManager.c **** 
 287:../Application/PowerManager/PowerManager.c **** 	/*=== Enter LPM ===*/
 288:../Application/PowerManager/PowerManager.c **** 	WatchdogKick();
 867              		.loc 1 288 0
 868 00ba FFF7FEFF 		bl	WatchdogKick
 289:../Application/PowerManager/PowerManager.c **** 	LPM_VLPS();
 869              		.loc 1 289 0
 870 00be FFF7FEFF 		bl	LPM_VLPS
 290:../Application/PowerManager/PowerManager.c **** }
 871              		.loc 1 290 0
 872 00c2 BD46     		mov	sp, r7
 873              		@ sp needed
 874 00c4 80BD     		pop	{r7, pc}
 875              	.L32:
 876 00c6 C046     		.align	2
 877              	.L31:
 878 00c8 00F10F40 		.word	1074786560
 879 00cc 00F00F40 		.word	1074786304
 880 00d0 00D00440 		.word	1074057216
 881 00d4 FFF8FFFF 		.word	-1793
 882 00d8 FFFFFEFF 		.word	-65537
 883              		.cfi_endproc
 884              	.LFE40:
 886              		.section	.text.PowerManagerExitLPM,"ax",%progbits
 887              		.align	2
 888              		.global	PowerManagerExitLPM
 889              		.code	16
 890              		.thumb_func
 892              	PowerManagerExitLPM:
 893              	.LFB41:
 291:../Application/PowerManager/PowerManager.c **** 
 292:../Application/PowerManager/PowerManager.c **** void PowerManagerExitLPM (void) {
 894              		.loc 1 292 0
 895              		.cfi_startproc
 896 0000 80B5     		push	{r7, lr}
 897              		.cfi_def_cfa_offset 8
 898              		.cfi_offset 7, -8
 899              		.cfi_offset 14, -4
 900 0002 00AF     		add	r7, sp, #0
 901              		.cfi_def_cfa_register 7
 293:../Application/PowerManager/PowerManager.c **** 
 294:../Application/PowerManager/PowerManager.c **** 	WatchdogKick();
 902              		.loc 1 294 0
 903 0004 FFF7FEFF 		bl	WatchdogKick
 295:../Application/PowerManager/PowerManager.c **** 	PowerManagerDisableWakeUpInterrupt();
 904              		.loc 1 295 0
 905 0008 FFF7FEFF 		bl	PowerManagerDisableWakeUpInterrupt
 296:../Application/PowerManager/PowerManager.c **** 	PowerManagerClearWakeUpInterruptFlag();
 906              		.loc 1 296 0
 907 000c FFF7FEFF 		bl	PowerManagerClearWakeUpInterruptFlag
 297:../Application/PowerManager/PowerManager.c **** 	WatchdogKick();
 908              		.loc 1 297 0
 909 0010 FFF7FEFF 		bl	WatchdogKick
 298:../Application/PowerManager/PowerManager.c **** 	DeviceClockSwitchHighPower();
 910              		.loc 1 298 0
 911 0014 FFF7FEFF 		bl	DeviceClockSwitchHighPower
 299:../Application/PowerManager/PowerManager.c **** 	WatchdogKick();
 912              		.loc 1 299 0
 913 0018 FFF7FEFF 		bl	WatchdogKick
 300:../Application/PowerManager/PowerManager.c **** 
 301:../Application/PowerManager/PowerManager.c **** 	//SPI1PinMappingPeripheral();
 302:../Application/PowerManager/PowerManager.c **** 	DisplaySetCmd(DISPLAY_CMD_OFF);
 914              		.loc 1 302 0
 915 001c 0A4B     		ldr	r3, .L34
 916 001e 0A4A     		ldr	r2, .L34
 917 0020 1268     		ldr	r2, [r2]
 918 0022 8021     		mov	r1, #128
 919 0024 4902     		lsl	r1, r1, #9
 920 0026 0A43     		orr	r2, r1
 921 0028 1A60     		str	r2, [r3]
 303:../Application/PowerManager/PowerManager.c **** 	SPI0PinMappingPeripheral();
 922              		.loc 1 303 0
 923 002a FFF7FEFF 		bl	SPI0PinMappingPeripheral
 304:../Application/PowerManager/PowerManager.c **** 
 305:../Application/PowerManager/PowerManager.c **** 	/*=== Restore clock on peripheral ===*/
 306:../Application/PowerManager/PowerManager.c **** 	UART0ClockGate(1);		//Turn off uart0
 924              		.loc 1 306 0
 925 002e 0120     		mov	r0, #1
 926 0030 FFF7FEFF 		bl	UART0ClockGate
 307:../Application/PowerManager/PowerManager.c **** 	UART1ClockGate(1);		//Turn off uart1
 927              		.loc 1 307 0
 928 0034 0120     		mov	r0, #1
 929 0036 FFF7FEFF 		bl	UART1ClockGate
 308:../Application/PowerManager/PowerManager.c **** 	UART2ClockGate(1);		//Turn off uart2
 930              		.loc 1 308 0
 931 003a 0120     		mov	r0, #1
 932 003c FFF7FEFF 		bl	UART2ClockGate
 309:../Application/PowerManager/PowerManager.c **** 
 310:../Application/PowerManager/PowerManager.c **** 	PowerManager();		// Force PowerManager for update power status in no connected mode
 933              		.loc 1 310 0
 934 0040 FFF7FEFF 		bl	PowerManager
 311:../Application/PowerManager/PowerManager.c **** }
 935              		.loc 1 311 0
 936 0044 BD46     		mov	sp, r7
 937              		@ sp needed
 938 0046 80BD     		pop	{r7, pc}
 939              	.L35:
 940              		.align	2
 941              	.L34:
 942 0048 00F10F40 		.word	1074786560
 943              		.cfi_endproc
 944              	.LFE41:
 946              		.section	.text.PowerManagerEnableWakeUpInterrupt,"ax",%progbits
 947              		.align	2
 948              		.global	PowerManagerEnableWakeUpInterrupt
 949              		.code	16
 950              		.thumb_func
 952              	PowerManagerEnableWakeUpInterrupt:
 953              	.LFB42:
 312:../Application/PowerManager/PowerManager.c **** 
 313:../Application/PowerManager/PowerManager.c **** void PowerManagerEnableWakeUpInterrupt (void) {
 954              		.loc 1 313 0
 955              		.cfi_startproc
 956 0000 80B5     		push	{r7, lr}
 957              		.cfi_def_cfa_offset 8
 958              		.cfi_offset 7, -8
 959              		.cfi_offset 14, -4
 960 0002 00AF     		add	r7, sp, #0
 961              		.cfi_def_cfa_register 7
 314:../Application/PowerManager/PowerManager.c **** 	PowerManagerClearWakeUpInterruptFlag();
 962              		.loc 1 314 0
 963 0004 FFF7FEFF 		bl	PowerManagerClearWakeUpInterruptFlag
 315:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[BUTTON_READ_SHIFT] = (PORTA->PCR[BUTTON_READ_SHIFT] & ~PORT_PCR_IRQC_MASK) | PORT_PCR_I
 964              		.loc 1 315 0
 965 0008 0E4B     		ldr	r3, .L37
 966 000a 0E4A     		ldr	r2, .L37
 967 000c 9168     		ldr	r1, [r2, #8]
 968 000e 0E4A     		ldr	r2, .L37+4
 969 0010 0A40     		and	r2, r1
 970 0012 9021     		mov	r1, #144
 971 0014 0903     		lsl	r1, r1, #12
 972 0016 0A43     		orr	r2, r1
 973 0018 9A60     		str	r2, [r3, #8]
 316:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[BUTTON_WRITE_SHIFT] = (PORTA->PCR[BUTTON_WRITE_SHIFT] & ~PORT_PCR_IRQC_MASK) | PORT_PCR
 974              		.loc 1 316 0
 975 001a 0A4B     		ldr	r3, .L37
 976 001c 094A     		ldr	r2, .L37
 977 001e 5168     		ldr	r1, [r2, #4]
 978 0020 094A     		ldr	r2, .L37+4
 979 0022 0A40     		and	r2, r1
 980 0024 9021     		mov	r1, #144
 981 0026 0903     		lsl	r1, r1, #12
 982 0028 0A43     		orr	r2, r1
 983 002a 5A60     		str	r2, [r3, #4]
 317:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[LTC4160_VBUSGD_SHIFT] = (PORTA->PCR[LTC4160_VBUSGD_SHIFT] & ~PORT_PCR_IRQC_MASK) | PORT
 984              		.loc 1 317 0
 985 002c 054B     		ldr	r3, .L37
 986 002e 054A     		ldr	r2, .L37
 987 0030 516B     		ldr	r1, [r2, #52]
 988 0032 054A     		ldr	r2, .L37+4
 989 0034 0A40     		and	r2, r1
 990 0036 A021     		mov	r1, #160
 991 0038 0903     		lsl	r1, r1, #12
 992 003a 0A43     		orr	r2, r1
 993 003c 5A63     		str	r2, [r3, #52]
 318:../Application/PowerManager/PowerManager.c **** }
 994              		.loc 1 318 0
 995 003e BD46     		mov	sp, r7
 996              		@ sp needed
 997 0040 80BD     		pop	{r7, pc}
 998              	.L38:
 999 0042 C046     		.align	2
 1000              	.L37:
 1001 0044 00900440 		.word	1074040832
 1002 0048 FFFFF0FF 		.word	-983041
 1003              		.cfi_endproc
 1004              	.LFE42:
 1006              		.section	.text.PowerManagerDisableWakeUpInterrupt,"ax",%progbits
 1007              		.align	2
 1008              		.global	PowerManagerDisableWakeUpInterrupt
 1009              		.code	16
 1010              		.thumb_func
 1012              	PowerManagerDisableWakeUpInterrupt:
 1013              	.LFB43:
 319:../Application/PowerManager/PowerManager.c **** 
 320:../Application/PowerManager/PowerManager.c **** void PowerManagerDisableWakeUpInterrupt (void) {
 1014              		.loc 1 320 0
 1015              		.cfi_startproc
 1016 0000 80B5     		push	{r7, lr}
 1017              		.cfi_def_cfa_offset 8
 1018              		.cfi_offset 7, -8
 1019              		.cfi_offset 14, -4
 1020 0002 00AF     		add	r7, sp, #0
 1021              		.cfi_def_cfa_register 7
 321:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[BUTTON_READ_SHIFT] = (PORTA->PCR[BUTTON_READ_SHIFT] & ~PORT_PCR_IRQC_MASK);
 1022              		.loc 1 321 0
 1023 0004 094B     		ldr	r3, .L40
 1024 0006 094A     		ldr	r2, .L40
 1025 0008 9168     		ldr	r1, [r2, #8]
 1026 000a 094A     		ldr	r2, .L40+4
 1027 000c 0A40     		and	r2, r1
 1028 000e 9A60     		str	r2, [r3, #8]
 322:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[BUTTON_WRITE_SHIFT] = (PORTA->PCR[BUTTON_WRITE_SHIFT] & ~PORT_PCR_IRQC_MASK);
 1029              		.loc 1 322 0
 1030 0010 064B     		ldr	r3, .L40
 1031 0012 064A     		ldr	r2, .L40
 1032 0014 5168     		ldr	r1, [r2, #4]
 1033 0016 064A     		ldr	r2, .L40+4
 1034 0018 0A40     		and	r2, r1
 1035 001a 5A60     		str	r2, [r3, #4]
 323:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[LTC4160_VBUSGD_SHIFT] = (PORTA->PCR[LTC4160_VBUSGD_SHIFT] & ~PORT_PCR_IRQC_MASK);
 1036              		.loc 1 323 0
 1037 001c 034B     		ldr	r3, .L40
 1038 001e 034A     		ldr	r2, .L40
 1039 0020 516B     		ldr	r1, [r2, #52]
 1040 0022 034A     		ldr	r2, .L40+4
 1041 0024 0A40     		and	r2, r1
 1042 0026 5A63     		str	r2, [r3, #52]
 324:../Application/PowerManager/PowerManager.c **** }
 1043              		.loc 1 324 0
 1044 0028 BD46     		mov	sp, r7
 1045              		@ sp needed
 1046 002a 80BD     		pop	{r7, pc}
 1047              	.L41:
 1048              		.align	2
 1049              	.L40:
 1050 002c 00900440 		.word	1074040832
 1051 0030 FFFFF0FF 		.word	-983041
 1052              		.cfi_endproc
 1053              	.LFE43:
 1055              		.section	.text.PowerManagerClearWakeUpInterruptFlag,"ax",%progbits
 1056              		.align	2
 1057              		.global	PowerManagerClearWakeUpInterruptFlag
 1058              		.code	16
 1059              		.thumb_func
 1061              	PowerManagerClearWakeUpInterruptFlag:
 1062              	.LFB44:
 325:../Application/PowerManager/PowerManager.c **** 
 326:../Application/PowerManager/PowerManager.c **** void PowerManagerClearWakeUpInterruptFlag (void) {
 1063              		.loc 1 326 0
 1064              		.cfi_startproc
 1065 0000 80B5     		push	{r7, lr}
 1066              		.cfi_def_cfa_offset 8
 1067              		.cfi_offset 7, -8
 1068              		.cfi_offset 14, -4
 1069 0002 00AF     		add	r7, sp, #0
 1070              		.cfi_def_cfa_register 7
 327:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[BUTTON_READ_SHIFT] |= PORT_PCR_ISF_MASK;
 1071              		.loc 1 327 0
 1072 0004 0B4B     		ldr	r3, .L43
 1073 0006 0B4A     		ldr	r2, .L43
 1074 0008 9268     		ldr	r2, [r2, #8]
 1075 000a 8021     		mov	r1, #128
 1076 000c 4904     		lsl	r1, r1, #17
 1077 000e 0A43     		orr	r2, r1
 1078 0010 9A60     		str	r2, [r3, #8]
 328:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[BUTTON_WRITE_SHIFT] |= PORT_PCR_ISF_MASK;
 1079              		.loc 1 328 0
 1080 0012 084B     		ldr	r3, .L43
 1081 0014 074A     		ldr	r2, .L43
 1082 0016 5268     		ldr	r2, [r2, #4]
 1083 0018 8021     		mov	r1, #128
 1084 001a 4904     		lsl	r1, r1, #17
 1085 001c 0A43     		orr	r2, r1
 1086 001e 5A60     		str	r2, [r3, #4]
 329:../Application/PowerManager/PowerManager.c **** 	PORTA->PCR[LTC4160_VBUSGD_SHIFT] |= PORT_PCR_ISF_MASK;
 1087              		.loc 1 329 0
 1088 0020 044B     		ldr	r3, .L43
 1089 0022 044A     		ldr	r2, .L43
 1090 0024 526B     		ldr	r2, [r2, #52]
 1091 0026 8021     		mov	r1, #128
 1092 0028 4904     		lsl	r1, r1, #17
 1093 002a 0A43     		orr	r2, r1
 1094 002c 5A63     		str	r2, [r3, #52]
 330:../Application/PowerManager/PowerManager.c **** }
 1095              		.loc 1 330 0
 1096 002e BD46     		mov	sp, r7
 1097              		@ sp needed
 1098 0030 80BD     		pop	{r7, pc}
 1099              	.L44:
 1100 0032 C046     		.align	2
 1101              	.L43:
 1102 0034 00900440 		.word	1074040832
 1103              		.cfi_endproc
 1104              	.LFE44:
 1106              		.section	.text.PowerManagerLPMController,"ax",%progbits
 1107              		.align	2
 1108              		.global	PowerManagerLPMController
 1109              		.code	16
 1110              		.thumb_func
 1112              	PowerManagerLPMController:
 1113              	.LFB45:
 331:../Application/PowerManager/PowerManager.c **** 
 332:../Application/PowerManager/PowerManager.c **** void PowerManagerLPMController (void) {
 1114              		.loc 1 332 0
 1115              		.cfi_startproc
 1116 0000 80B5     		push	{r7, lr}
 1117              		.cfi_def_cfa_offset 8
 1118              		.cfi_offset 7, -8
 1119              		.cfi_offset 14, -4
 1120 0002 00AF     		add	r7, sp, #0
 1121              		.cfi_def_cfa_register 7
 333:../Application/PowerManager/PowerManager.c **** 
 334:../Application/PowerManager/PowerManager.c **** 	if(PowerManagerCtrl.flags.bits.usbConnected == 0 && LTC4160GetVBusGood() == LTC_VBUS_VBusError) {
 1122              		.loc 1 334 0
 1123 0004 144B     		ldr	r3, .L47
 1124 0006 1B78     		ldrb	r3, [r3]
 1125 0008 DB07     		lsl	r3, r3, #31
 1126 000a DB0F     		lsr	r3, r3, #31
 1127 000c DBB2     		uxtb	r3, r3
 1128 000e 002B     		cmp	r3, #0
 1129 0010 1FD1     		bne	.L45
 1130              		.loc 1 334 0 is_stmt 0 discriminator 1
 1131 0012 124B     		ldr	r3, .L47+4
 1132 0014 1A69     		ldr	r2, [r3, #16]
 1133 0016 8023     		mov	r3, #128
 1134 0018 9B01     		lsl	r3, r3, #6
 1135 001a 1340     		and	r3, r2
 1136 001c 5B0B     		lsr	r3, r3, #13
 1137 001e 012B     		cmp	r3, #1
 1138 0020 17D1     		bne	.L45
 335:../Application/PowerManager/PowerManager.c **** 
 336:../Application/PowerManager/PowerManager.c **** 		if(ButtonManagerCtrl.lpm == BUTTONMANAGER_READY_FOR_LPM && RFIDCtrl.lpm == RFID_READY_FOR_LPM) {	
 1139              		.loc 1 336 0 is_stmt 1
 1140 0022 0F4B     		ldr	r3, .L47+8
 1141 0024 DB78     		ldrb	r3, [r3, #3]
 1142 0026 012B     		cmp	r3, #1
 1143 0028 13D1     		bne	.L45
 1144              		.loc 1 336 0 is_stmt 0 discriminator 1
 1145 002a 0E4B     		ldr	r3, .L47+12
 1146 002c 5B7A     		ldrb	r3, [r3, #9]
 1147 002e 012B     		cmp	r3, #1
 1148 0030 0FD1     		bne	.L45
 337:../Application/PowerManager/PowerManager.c **** 
 338:../Application/PowerManager/PowerManager.c **** 			if(ButtonReadGetState() == BUTTON_RELEASED && ButtonWriteGetState() == BUTTON_RELEASED) {	//No o
 1149              		.loc 1 338 0 is_stmt 1
 1150 0032 0A4B     		ldr	r3, .L47+4
 1151 0034 1A69     		ldr	r2, [r3, #16]
 1152 0036 0423     		mov	r3, #4
 1153 0038 1340     		and	r3, r2
 1154 003a 9B08     		lsr	r3, r3, #2
 1155 003c 09D1     		bne	.L45
 1156              		.loc 1 338 0 is_stmt 0 discriminator 1
 1157 003e 074B     		ldr	r3, .L47+4
 1158 0040 1A69     		ldr	r2, [r3, #16]
 1159 0042 0223     		mov	r3, #2
 1160 0044 1340     		and	r3, r2
 1161 0046 5B08     		lsr	r3, r3, #1
 1162 0048 03D1     		bne	.L45
 339:../Application/PowerManager/PowerManager.c **** 
 340:../Application/PowerManager/PowerManager.c **** 				/*-- All condition validate for LPM --*/
 341:../Application/PowerManager/PowerManager.c **** 				PowerManagerEnterLPM();
 1163              		.loc 1 341 0 is_stmt 1
 1164 004a FFF7FEFF 		bl	PowerManagerEnterLPM
 342:../Application/PowerManager/PowerManager.c **** 				PowerManagerExitLPM();
 1165              		.loc 1 342 0
 1166 004e FFF7FEFF 		bl	PowerManagerExitLPM
 1167              	.L45:
 343:../Application/PowerManager/PowerManager.c **** 			}
 344:../Application/PowerManager/PowerManager.c **** 		}
 345:../Application/PowerManager/PowerManager.c **** 	}
 346:../Application/PowerManager/PowerManager.c **** }
 1168              		.loc 1 346 0
 1169 0052 BD46     		mov	sp, r7
 1170              		@ sp needed
 1171 0054 80BD     		pop	{r7, pc}
 1172              	.L48:
 1173 0056 C046     		.align	2
 1174              	.L47:
 1175 0058 00000000 		.word	PowerManagerCtrl
 1176 005c 00F00F40 		.word	1074786304
 1177 0060 00000000 		.word	ButtonManagerCtrl
 1178 0064 00000000 		.word	RFIDCtrl
 1179              		.cfi_endproc
 1180              	.LFE45:
 1182              		.section	.bss.locCounter.5630,"aw",%nobits
 1185              	locCounter.5630:
 1186 0000 00       		.space	1
 1187              		.text
 1188              	.Letext0:
 1189              		.file 2 "e:\\logiciels\\freescale\\kinetis design studio v2.0.0\\toolchain\\arm-none-eabi\\include
 1190              		.file 3 "../DSP/Processor/core_cm0plus.h"
 1191              		.file 4 "../DSP/Processor/MKL16Z4.h"
 1192              		.file 5 "../BSP/BatteryManagement/BQ27510DRZRG2.h"
 1193              		.file 6 "../BSP/BatteryManagement/LTC4160.h"
 1194              		.file 7 "../BSP/Display/display.h"
 1195              		.file 8 "../BSP/Button/Button.h"
 1196              		.file 9 "../BSP/Led/Led.h"
 1197              		.file 10 "../Application/RFIDManager/RFIDManager.h"
 1198              		.file 11 "../Application/ButtonManager/ButtonManager.h"
 1199              		.file 12 "../Application/PowerManager/PowerManager.h"
DEFINED SYMBOLS
                            *ABS*:00000000 PowerManager.c
                            *COM*:00000002 PowerManagerCtrl
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:19     .text.PORTA_IRQHandler:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:24     .text.PORTA_IRQHandler:00000000 PORTA_IRQHandler
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1061   .text.PowerManagerClearWakeUpInterruptFlag:00000000 PowerManagerClearWakeUpInterruptFlag
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:45     .text.PowerManagerInit:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:50     .text.PowerManagerInit:00000000 PowerManagerInit
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:112    .text.PowerManagerInit:0000005c $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:121    .text.PowerManager:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:126    .text.PowerManager:00000000 PowerManager
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:299    .text.PowerManagerDisplayLoading:00000000 PowerManagerDisplayLoading
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:410    .text.PowerManagerDisplayLoadingError:00000000 PowerManagerDisplayLoadingError
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:457    .text.PowerManagerDisplayLoaded:00000000 PowerManagerDisplayLoaded
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:287    .text.PowerManager:000000f8 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:294    .text.PowerManagerDisplayLoading:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:393    .text.PowerManagerDisplayLoading:00000084 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1185   .bss.locCounter.5630:00000000 locCounter.5630
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:398    .rodata:00000000 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:405    .text.PowerManagerDisplayLoadingError:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:447    .text.PowerManagerDisplayLoadingError:00000030 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:452    .text.PowerManagerDisplayLoaded:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:533    .text.PowerManagerSendBatteryInfo:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:538    .text.PowerManagerSendBatteryInfo:00000000 PowerManagerSendBatteryInfo
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:733    .text.PowerManagerSendBatteryInfo:0000016c $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:750    .text.PowerManagerEnterLPM:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:755    .text.PowerManagerEnterLPM:00000000 PowerManagerEnterLPM
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:952    .text.PowerManagerEnableWakeUpInterrupt:00000000 PowerManagerEnableWakeUpInterrupt
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:878    .text.PowerManagerEnterLPM:000000c8 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:887    .text.PowerManagerExitLPM:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:892    .text.PowerManagerExitLPM:00000000 PowerManagerExitLPM
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1012   .text.PowerManagerDisableWakeUpInterrupt:00000000 PowerManagerDisableWakeUpInterrupt
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:942    .text.PowerManagerExitLPM:00000048 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:947    .text.PowerManagerEnableWakeUpInterrupt:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1001   .text.PowerManagerEnableWakeUpInterrupt:00000044 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1007   .text.PowerManagerDisableWakeUpInterrupt:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1050   .text.PowerManagerDisableWakeUpInterrupt:0000002c $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1056   .text.PowerManagerClearWakeUpInterruptFlag:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1102   .text.PowerManagerClearWakeUpInterruptFlag:00000034 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1107   .text.PowerManagerLPMController:00000000 $t
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1112   .text.PowerManagerLPMController:00000000 PowerManagerLPMController
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1175   .text.PowerManagerLPMController:00000058 $d
C:\Users\Thibaut\AppData\Local\Temp\cc2XX5nf.s:1186   .bss.locCounter.5630:00000000 $d
                     .debug_frame:00000010 $d
                           .group:00000000 wm4.1.e04ac588437856bc6ef5393c7523eb9b
                           .group:00000000 wm4.MKL16Z4.h.90.bfde7d3466e2aaae63e51401b8102c97
                           .group:00000000 wm4.stdint.h.10.90b695f550ca6cc3fb08fa83baf01e05
                           .group:00000000 wm4.MKL16Z4.h.103.3e71c13f67b70bf817331938e7ca6a21
                           .group:00000000 wm4.core_cm0plus.h.43.8a4a713129c4559638c90873d349aea7
                           .group:00000000 wm4.core_cmInstr.h.39.983ab10f37e3e59f2988e58e0e4c2ffe
                           .group:00000000 wm4.core_cm0plus.h.155.59f470bcbcb3497af7bb725005dd1359
                           .group:00000000 wm4.system_MKL16Z4.h.88.72b1d1936df247599ee4cea7d4cce2ba
                           .group:00000000 wm4.MKL16Z4.h.269.abf5f141593110fd4167c1d7382def80
                           .group:00000000 wm4.DSP_mkl16z256vlh4.h.41.eda3ab3179e3d55e14f47eb53566a464
                           .group:00000000 wm4.i2c0.h.37.2b2098a180a30784011003ce8cd823b6
                           .group:00000000 wm4.BQ27510DRZRG2.h.34.6e915514b865ff93634917ae057cba84
                           .group:00000000 wm4.LTC4160.h.15.6238cd06ad496f86f76fe362fdbbaf9e
                           .group:00000000 wm4.spi0.h.16.b09c181484b9e78aa2dadee88ba56f8f
                           .group:00000000 wm4.decoder7Seg.h.14.271fb9849289ac3941da1376be6ecd45
                           .group:00000000 wm4.decoder16Seg.h.14.56393bd9ac56e1585c24452caa62a917
                           .group:00000000 wm4.display.h.36.df8fb08902ce0c7101c5e4f884bb1235
                           .group:00000000 wm4.Uart1.h.37.6fef97192d2ff3e9d94e3c83386fe98a
                           .group:00000000 wm4.UsbUart.h.34.01b359f06951367d9bca1b2430378c68
                           .group:00000000 wm4.device.h.14.5ba5d7257eda9269d01eaccffebc5e2e
                           .group:00000000 wm4.spi1.h.16.6602a6214774aff179c2aacc28b164ab
                           .group:00000000 wm4.FM25V20.h.37.bab310bac0b9fe3c9b553014d8517875
                           .group:00000000 wm4.Button.h.14.acc58615cd9d09f1d7b252a255dd32ee
                           .group:00000000 wm4.Led.h.14.395357503168da9d297680815ea21079
                           .group:00000000 wm4.pit.h.16.22e9304d181f27ae9bdca78be05bb5ff
                           .group:00000000 wm4.Tick.h.35.9becc5b46723cd15f4eb8d237aca386c
                           .group:00000000 wm4.SRDMemorymapping.h.14.0f57e1c6dbbba59a11bbccc2f434d3a9
                           .group:00000000 wm4.MemoryManager.h.40.8798350820305da8d39f9c88fc625152
                           .group:00000000 wm4.rtc.h.14.3918d22d7824c1bf824923ad6f2f53ca
                           .group:00000000 wm4.Uart0.h.16.c0e517c0e55953fff90932f3da2c6846
                           .group:00000000 wm4.Uart2.h.16.da116fa320383d156efd68eb5ce0f4d2
                           .group:00000000 wm4.CR95UartMapper.h.36.25902f2c49f620d2ecb69bf8e87e5532
                           .group:00000000 wm4.CR95HF.h.36.fd1c797c05e0f4d9510764e2aff8f9f5
                           .group:00000000 wm4.globalParameters.h.14.6323ff6ea83f006a35e638965267dc7f
                           .group:00000000 wm4.UsbManager.h.40.511f52543de15c9293aafe28c6123460
                           .group:00000000 wm4.ButtonManager.h.42.ffafdf87c11dba91387998218ca29115

UNDEFINED SYMBOLS
LTC4160Init
BQ27510DRZRG2_Init
LTC4160SetILimit
BQ_getFullInfo
DisplayGetDataDisplayed
DisplaySetPower
DisplaySetDataDisplayed
memcpy
Uart1SendString
StrTool_ClearString
StrTool_SignedLongToString
BQBatteryStatus
FM25V20LPM
WatchdogKick
UART0ClockGate
UART1ClockGate
UART2ClockGate
LPM_VLPS
DeviceClockSwitchHighPower
SPI0PinMappingPeripheral
ButtonManagerCtrl
RFIDCtrl
