_USB0Interrupt:
;GSM_STM32_M4_clicker.c,90 :: 		void USB0Interrupt() iv IVT_INT_OTG_FS {
SUB	SP, SP, #4
STR	LR, [SP, #0]
;GSM_STM32_M4_clicker.c,93 :: 		USB_Interrupt_Proc();
BL	_USB_Interrupt_Proc+0
;GSM_STM32_M4_clicker.c,96 :: 		}
L_end_USB0Interrupt:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _USB0Interrupt
_Timer2_interrupt:
;GSM_STM32_M4_clicker.c,98 :: 		void Timer2_interrupt() iv IVT_INT_TIM2 {
SUB	SP, SP, #4
STR	LR, [SP, #0]
;GSM_STM32_M4_clicker.c,103 :: 		gsm1msPing();
BL	_gsm1msPing+0
;GSM_STM32_M4_clicker.c,104 :: 		if (wrdButtonTmr < 65535) {wrdButtonTmr++;}
MOVW	R0, #lo_addr(_wrdButtonTmr+0)
MOVT	R0, #hi_addr(_wrdButtonTmr+0)
LDRH	R1, [R0, #0]
MOVW	R0, #65535
CMP	R1, R0
IT	CS
BCS	L_Timer2_interrupt0
MOVW	R1, #lo_addr(_wrdButtonTmr+0)
MOVT	R1, #hi_addr(_wrdButtonTmr+0)
LDRH	R0, [R1, #0]
ADDS	R0, R0, #1
STRH	R0, [R1, #0]
L_Timer2_interrupt0:
;GSM_STM32_M4_clicker.c,105 :: 		TIM2_SR.UIF = 0; // Clear interrupt flag
MOVS	R1, #0
SXTB	R1, R1
MOVW	R0, #lo_addr(TIM2_SR+0)
MOVT	R0, #hi_addr(TIM2_SR+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,107 :: 		}
L_end_Timer2_interrupt:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _Timer2_interrupt
_Timer2_init:
;GSM_STM32_M4_clicker.c,109 :: 		void Timer2_init(){
SUB	SP, SP, #4
STR	LR, [SP, #0]
;GSM_STM32_M4_clicker.c,110 :: 		RCC_APB1ENR.TIM2EN = 1;
MOVS	R1, #1
SXTB	R1, R1
MOVW	R0, #lo_addr(RCC_APB1ENR+0)
MOVT	R0, #hi_addr(RCC_APB1ENR+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,111 :: 		TIM2_CR1.CEN = 0;
MOVS	R1, #0
SXTB	R1, R1
MOVW	R0, #lo_addr(TIM2_CR1+0)
MOVT	R0, #hi_addr(TIM2_CR1+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,112 :: 		TIM2_PSC = 1;
MOVS	R1, #1
MOVW	R0, #lo_addr(TIM2_PSC+0)
MOVT	R0, #hi_addr(TIM2_PSC+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,113 :: 		TIM2_ARR = 59999;
MOVW	R1, #59999
MOVW	R0, #lo_addr(TIM2_ARR+0)
MOVT	R0, #hi_addr(TIM2_ARR+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,114 :: 		NVIC_IntEnable(IVT_INT_TIM2);
MOVW	R0, #44
BL	_NVIC_IntEnable+0
;GSM_STM32_M4_clicker.c,115 :: 		TIM2_DIER.UIE = 1;
MOVS	R1, #1
SXTB	R1, R1
MOVW	R0, #lo_addr(TIM2_DIER+0)
MOVT	R0, #hi_addr(TIM2_DIER+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,116 :: 		TIM2_CR1.CEN = 1;
MOVW	R0, #lo_addr(TIM2_CR1+0)
MOVT	R0, #hi_addr(TIM2_CR1+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,117 :: 		}
L_end_Timer2_init:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _Timer2_init
_setup:
;GSM_STM32_M4_clicker.c,119 :: 		void setup() {
SUB	SP, SP, #4
STR	LR, [SP, #0]
;GSM_STM32_M4_clicker.c,120 :: 		GPIO_Digital_Input(&GPIOC_BASE, _GPIO_PINMASK_0 | _GPIO_PINMASK_1); // Button inputs
MOVS	R1, #3
MOVW	R0, #lo_addr(GPIOC_BASE+0)
MOVT	R0, #hi_addr(GPIOC_BASE+0)
BL	_GPIO_Digital_Input+0
;GSM_STM32_M4_clicker.c,121 :: 		GPIO_Digital_Output(&GPIOA_BASE, _GPIO_PINMASK_1 | _GPIO_PINMASK_2); // LED outputs
MOVS	R1, #6
MOVW	R0, #lo_addr(GPIOA_BASE+0)
MOVT	R0, #hi_addr(GPIOA_BASE+0)
BL	_GPIO_Digital_Output+0
;GSM_STM32_M4_clicker.c,122 :: 		GPIO_Digital_Input(&GPIOA_BASE, _GPIO_PINMASK_0); // GSM Stat Input
MOVW	R1, #1
MOVW	R0, #lo_addr(GPIOA_BASE+0)
MOVT	R0, #hi_addr(GPIOA_BASE+0)
BL	_GPIO_Digital_Input+0
;GSM_STM32_M4_clicker.c,123 :: 		GPIO_Digital_Output(&GPIOB_BASE, _GPIO_PINMASK_5); // GSM Pwr_Key Output
MOVW	R1, #32
MOVW	R0, #lo_addr(GPIOB_BASE+0)
MOVT	R0, #hi_addr(GPIOB_BASE+0)
BL	_GPIO_Digital_Output+0
;GSM_STM32_M4_clicker.c,125 :: 		HID_Enable(&USBin,&USBout); // Enable HID communication
MOVW	R1, #lo_addr(_USBout+0)
MOVT	R1, #hi_addr(_USBout+0)
MOVW	R0, #lo_addr(_USBin+0)
MOVT	R0, #hi_addr(_USBin+0)
BL	_HID_Enable+0
;GSM_STM32_M4_clicker.c,128 :: 		Timer2_init();
BL	_Timer2_init+0
;GSM_STM32_M4_clicker.c,129 :: 		}
L_end_setup:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _setup
_startup:
;GSM_STM32_M4_clicker.c,131 :: 		void startup() {
SUB	SP, SP, #4
STR	LR, [SP, #0]
;GSM_STM32_M4_clicker.c,137 :: 		led1 = 0;
MOVS	R1, #0
SXTB	R1, R1
MOVW	R0, #lo_addr(ODR1_GPIOA_ODR_bit+0)
MOVT	R0, #hi_addr(ODR1_GPIOA_ODR_bit+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,138 :: 		led2 = 0;
MOVW	R0, #lo_addr(ODR2_GPIOA_ODR_bit+0)
MOVT	R0, #hi_addr(ODR2_GPIOA_ODR_bit+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,139 :: 		UART4_Init(9600);
MOVW	R0, #9600
BL	_UART4_Init+0
;GSM_STM32_M4_clicker.c,140 :: 		gsmInit();
BL	_gsmInit+0
;GSM_STM32_M4_clicker.c,141 :: 		gsm_MS_Init();
BL	_gsm_MS_Init+0
;GSM_STM32_M4_clicker.c,142 :: 		gsm_Msg_Init(); // Requires GSM_Msg module
BL	_gsm_Msg_Init+0
;GSM_STM32_M4_clicker.c,143 :: 		bitRTCC_Set = 0;
MOVS	R1, #0
SXTB	R1, R1
MOVW	R0, #lo_addr(_bitRTCC_Set+0)
MOVT	R0, #hi_addr(_bitRTCC_Set+0)
STR	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,144 :: 		}
L_end_startup:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _startup
_msgSend:
;GSM_STM32_M4_clicker.c,164 :: 		void msgSend() {
SUB	SP, SP, #4
STR	LR, [SP, #0]
;GSM_STM32_M4_clicker.c,167 :: 		strcpy(&USBout, "Sending message to ");
MOVW	R0, #lo_addr(?lstr1_GSM_STM32_M4_clicker+0)
MOVT	R0, #hi_addr(?lstr1_GSM_STM32_M4_clicker+0)
MOV	R1, R0
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,168 :: 		strcat(&USBout, &strDestID);
MOVW	R1, #lo_addr(_strDestID+0)
MOVT	R1, #hi_addr(_strDestID+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcat+0
;GSM_STM32_M4_clicker.c,169 :: 		strcat(&USBout, ":\r\n");
MOVW	R0, #lo_addr(?lstr2_GSM_STM32_M4_clicker+0)
MOVT	R0, #hi_addr(?lstr2_GSM_STM32_M4_clicker+0)
MOV	R1, R0
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcat+0
;GSM_STM32_M4_clicker.c,170 :: 		HID_Write(&USBout, 64);
MOVS	R1, #64
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_HID_Write+0
;GSM_STM32_M4_clicker.c,171 :: 		strncpyExNewLine(&USBout, &strMsgSendTxt, 64);
MOVS	R2, #64
MOVW	R1, #lo_addr(_strMsgSendTxt+0)
MOVT	R1, #hi_addr(_strMsgSendTxt+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strncpyExNewLine+0
;GSM_STM32_M4_clicker.c,172 :: 		HID_Write(&USBout, 64);
MOVS	R1, #64
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_HID_Write+0
;GSM_STM32_M4_clicker.c,174 :: 		if (strDestID[0] != 0) {
MOVW	R0, #lo_addr(_strDestID+0)
MOVT	R0, #hi_addr(_strDestID+0)
LDRB	R0, [R0, #0]
CMP	R0, #0
IT	EQ
BEQ	L_msgSend1
;GSM_STM32_M4_clicker.c,175 :: 		if (gsmMsgSendPending()) {gsmMsgSendCancel();} // Cancel any message waiting to be sent
BL	_gsmMsgSendPending+0
CMP	R0, #0
IT	EQ
BEQ	L_msgSend2
BL	_gsmMsgSendCancel+0
L_msgSend2:
;GSM_STM32_M4_clicker.c,176 :: 		gsmMsgSend(&strMsgSendTxt, &strDestID); // Send the message
MOVW	R1, #lo_addr(_strDestID+0)
MOVT	R1, #hi_addr(_strDestID+0)
MOVW	R0, #lo_addr(_strMsgSendTxt+0)
MOVT	R0, #hi_addr(_strMsgSendTxt+0)
BL	_gsmMsgSend+0
;GSM_STM32_M4_clicker.c,177 :: 		}
L_msgSend1:
;GSM_STM32_M4_clicker.c,178 :: 		}
L_end_msgSend:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _msgSend
_gsmMissedCall:
;GSM_STM32_M4_clicker.c,180 :: 		void gsmMissedCall(char *OriginatorID) {
; OriginatorID start address is: 0 (R0)
SUB	SP, SP, #4
STR	LR, [SP, #0]
; OriginatorID end address is: 0 (R0)
; OriginatorID start address is: 0 (R0)
;GSM_STM32_M4_clicker.c,181 :: 		led1 = !led1; // Toggle LED1
MOVW	R2, #lo_addr(ODR1_GPIOA_ODR_bit+0)
MOVT	R2, #hi_addr(ODR1_GPIOA_ODR_bit+0)
LDR	R1, [R2, #0]
EOR	R1, R1, #1
STR	R1, [R2, #0]
;GSM_STM32_M4_clicker.c,182 :: 		if (strDestID[0] == 0) { // If the destination ID has not yet been set then
MOVW	R1, #lo_addr(_strDestID+0)
MOVT	R1, #hi_addr(_strDestID+0)
LDRB	R1, [R1, #0]
CMP	R1, #0
IT	NE
BNE	L_gsmMissedCall3
;GSM_STM32_M4_clicker.c,183 :: 		strcpy(&strDestID, OriginatorID); // Copy it from the originator ID
MOV	R1, R0
; OriginatorID end address is: 0 (R0)
MOVW	R0, #lo_addr(_strDestID+0)
MOVT	R0, #hi_addr(_strDestID+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,184 :: 		}
L_gsmMissedCall3:
;GSM_STM32_M4_clicker.c,185 :: 		}
L_end_gsmMissedCall:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _gsmMissedCall
_gsmMsgRcvd:
;GSM_STM32_M4_clicker.c,187 :: 		void gsmMsgRcvd(char *MessageText, char *OriginatorID) {
; OriginatorID start address is: 4 (R1)
; MessageText start address is: 0 (R0)
SUB	SP, SP, #4
STR	LR, [SP, #0]
MOV	R6, R0
; OriginatorID end address is: 4 (R1)
; MessageText end address is: 0 (R0)
; MessageText start address is: 24 (R6)
; OriginatorID start address is: 4 (R1)
;GSM_STM32_M4_clicker.c,188 :: 		if (strDestID[0] == 0) { // If the destination ID has not yet been set then
MOVW	R2, #lo_addr(_strDestID+0)
MOVT	R2, #hi_addr(_strDestID+0)
LDRB	R2, [R2, #0]
CMP	R2, #0
IT	NE
BNE	L_gsmMsgRcvd4
;GSM_STM32_M4_clicker.c,189 :: 		strcpy(&strDestID, OriginatorID); // Copy it from the originator ID
; OriginatorID end address is: 4 (R1)
MOVW	R0, #lo_addr(_strDestID+0)
MOVT	R0, #hi_addr(_strDestID+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,190 :: 		}                                   // (reply to sender)
L_gsmMsgRcvd4:
;GSM_STM32_M4_clicker.c,191 :: 		if (gsmMsgJustArrived() == 1) {
BL	_gsmMsgJustArrived+0
CMP	R0, #1
IT	NE
BNE	L_gsmMsgRcvd5
;GSM_STM32_M4_clicker.c,194 :: 		if (!bitRTCC_Set) {
MOVW	R3, #lo_addr(_bitRTCC_Set+0)
MOVT	R3, #hi_addr(_bitRTCC_Set+0)
LDR	R2, [R3, #0]
CMP	R2, #0
IT	NE
BNE	L_gsmMsgRcvd6
;GSM_STM32_M4_clicker.c,195 :: 		memcpy(&dtmRTCC, &dtmGsmEvent, 6);
MOVS	R2, #6
SXTH	R2, R2
MOVW	R1, #lo_addr(_dtmGsmEvent+0)
MOVT	R1, #hi_addr(_dtmGsmEvent+0)
MOVW	R0, #lo_addr(_dtmRTCC+0)
MOVT	R0, #hi_addr(_dtmRTCC+0)
BL	_memcpy+0
;GSM_STM32_M4_clicker.c,197 :: 		gsmDateTimeWrite();
BL	_gsmDateTimeWrite+0
;GSM_STM32_M4_clicker.c,198 :: 		}
L_gsmMsgRcvd6:
;GSM_STM32_M4_clicker.c,199 :: 		}
L_gsmMsgRcvd5:
;GSM_STM32_M4_clicker.c,200 :: 		lcase(MessageText); // Convert the entire message to lower case
MOV	R0, R6
BL	_lcase+0
;GSM_STM32_M4_clicker.c,202 :: 		if (*(MessageText + 1) == 'n') { // Looking for "on"
ADDS	R2, R6, #1
LDRB	R2, [R2, #0]
CMP	R2, #110
IT	NE
BNE	L_gsmMsgRcvd7
; MessageText end address is: 24 (R6)
;GSM_STM32_M4_clicker.c,203 :: 		LED1 = 1;
MOVS	R3, #1
SXTB	R3, R3
MOVW	R2, #lo_addr(ODR1_GPIOA_ODR_bit+0)
MOVT	R2, #hi_addr(ODR1_GPIOA_ODR_bit+0)
STR	R3, [R2, #0]
;GSM_STM32_M4_clicker.c,204 :: 		LED2 = 1;
MOVW	R2, #lo_addr(ODR2_GPIOA_ODR_bit+0)
MOVT	R2, #hi_addr(ODR2_GPIOA_ODR_bit+0)
STR	R3, [R2, #0]
;GSM_STM32_M4_clicker.c,205 :: 		} else if (*(MessageText + 1) == 'f') { // Looking for "off"
IT	AL
BAL	L_gsmMsgRcvd8
L_gsmMsgRcvd7:
; MessageText start address is: 24 (R6)
ADDS	R2, R6, #1
LDRB	R2, [R2, #0]
CMP	R2, #102
IT	NE
BNE	L_gsmMsgRcvd9
; MessageText end address is: 24 (R6)
;GSM_STM32_M4_clicker.c,206 :: 		LED1 = 0;
MOVS	R3, #0
SXTB	R3, R3
MOVW	R2, #lo_addr(ODR1_GPIOA_ODR_bit+0)
MOVT	R2, #hi_addr(ODR1_GPIOA_ODR_bit+0)
STR	R3, [R2, #0]
;GSM_STM32_M4_clicker.c,207 :: 		LED2 = 0;
MOVW	R2, #lo_addr(ODR2_GPIOA_ODR_bit+0)
MOVT	R2, #hi_addr(ODR2_GPIOA_ODR_bit+0)
STR	R3, [R2, #0]
;GSM_STM32_M4_clicker.c,208 :: 		} else if (memcmp(MessageText, "please call ", 12) == 0) { // "Please Call Me"
IT	AL
BAL	L_gsmMsgRcvd10
L_gsmMsgRcvd9:
; MessageText start address is: 24 (R6)
MOVW	R2, #lo_addr(?lstr3_GSM_STM32_M4_clicker+0)
MOVT	R2, #hi_addr(?lstr3_GSM_STM32_M4_clicker+0)
MOV	R1, R2
MOVS	R2, #12
SXTH	R2, R2
MOV	R0, R6
; MessageText end address is: 24 (R6)
BL	_memcmp+0
CMP	R0, #0
IT	NE
BNE	L_gsmMsgRcvd11
;GSM_STM32_M4_clicker.c,209 :: 		LED2 = !LED2;
MOVW	R3, #lo_addr(ODR2_GPIOA_ODR_bit+0)
MOVT	R3, #hi_addr(ODR2_GPIOA_ODR_bit+0)
LDR	R2, [R3, #0]
EOR	R2, R2, #1
STR	R2, [R3, #0]
;GSM_STM32_M4_clicker.c,210 :: 		}
L_gsmMsgRcvd11:
L_gsmMsgRcvd10:
L_gsmMsgRcvd8:
;GSM_STM32_M4_clicker.c,211 :: 		}
L_end_gsmMsgRcvd:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _gsmMsgRcvd
_gsmEvent:
;GSM_STM32_M4_clicker.c,213 :: 		void gsmEvent(char GsmEventType) {
; GsmEventType start address is: 0 (R0)
SUB	SP, SP, #4
STR	LR, [SP, #0]
; GsmEventType end address is: 0 (R0)
; GsmEventType start address is: 0 (R0)
;GSM_STM32_M4_clicker.c,214 :: 		switch (GsmEventType) {
IT	AL
BAL	L_gsmEvent12
; GsmEventType end address is: 0 (R0)
;GSM_STM32_M4_clicker.c,215 :: 		case gsmevntPIN_Request:
L_gsmEvent14:
;GSM_STM32_M4_clicker.c,218 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,219 :: 		case gsmevntPIN_Fail:
L_gsmEvent15:
;GSM_STM32_M4_clicker.c,221 :: 		strcpy(&USBout, "PIN entry failed\r\n");
MOVW	R1, #lo_addr(?lstr4_GSM_STM32_M4_clicker+0)
MOVT	R1, #hi_addr(?lstr4_GSM_STM32_M4_clicker+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,222 :: 		HID_Write(&USBout, 64);
MOVS	R1, #64
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_HID_Write+0
;GSM_STM32_M4_clicker.c,224 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,225 :: 		case gsmevntMissedCall:
L_gsmEvent16:
;GSM_STM32_M4_clicker.c,226 :: 		gsmMissedCall(pstrGsmEventOriginatorID);
MOVW	R1, #lo_addr(_pstrGsmEventOriginatorID+0)
MOVT	R1, #hi_addr(_pstrGsmEventOriginatorID+0)
LDR	R1, [R1, #0]
MOV	R0, R1
BL	_gsmMissedCall+0
;GSM_STM32_M4_clicker.c,227 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,228 :: 		case gsmevntMsgRcvd:
L_gsmEvent17:
;GSM_STM32_M4_clicker.c,229 :: 		gsmMsgRcvd(pstrGsmEventData, pstrGsmEventOriginatorID);
MOVW	R1, #lo_addr(_pstrGsmEventOriginatorID+0)
MOVT	R1, #hi_addr(_pstrGsmEventOriginatorID+0)
LDR	R2, [R1, #0]
MOVW	R1, #lo_addr(_pstrGsmEventData+0)
MOVT	R1, #hi_addr(_pstrGsmEventData+0)
LDR	R1, [R1, #0]
MOV	R0, R1
MOV	R1, R2
BL	_gsmMsgRcvd+0
;GSM_STM32_M4_clicker.c,230 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,231 :: 		case gsmevntMsgSent:
L_gsmEvent18:
;GSM_STM32_M4_clicker.c,233 :: 		strcpy(&USBout, "Message sent\r\n");
MOVW	R1, #lo_addr(?lstr5_GSM_STM32_M4_clicker+0)
MOVT	R1, #hi_addr(?lstr5_GSM_STM32_M4_clicker+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,234 :: 		HID_Write(&USBout, 64);
MOVS	R1, #64
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_HID_Write+0
;GSM_STM32_M4_clicker.c,236 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,237 :: 		case gsmevntMsgDiscarded:
L_gsmEvent19:
;GSM_STM32_M4_clicker.c,238 :: 		case gsmevntMsgSendFailed:
L_gsmEvent20:
;GSM_STM32_M4_clicker.c,240 :: 		strcpy(&USBout, "Message send failed\r\n");
MOVW	R1, #lo_addr(?lstr6_GSM_STM32_M4_clicker+0)
MOVT	R1, #hi_addr(?lstr6_GSM_STM32_M4_clicker+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,241 :: 		HID_Write(&USBout, 64);
MOVS	R1, #64
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_HID_Write+0
;GSM_STM32_M4_clicker.c,243 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,244 :: 		case gsmevntDateTimeRead:
L_gsmEvent21:
;GSM_STM32_M4_clicker.c,245 :: 		if (dtmGsmEvent.Year > 10) { // If the GSM modules date/time is valid
MOVW	R1, #lo_addr(_dtmGsmEvent+0)
MOVT	R1, #hi_addr(_dtmGsmEvent+0)
LDRB	R1, [R1, #0]
CMP	R1, #10
IT	LS
BLS	L_gsmEvent22
;GSM_STM32_M4_clicker.c,249 :: 		strcpy(&USBout, "Date/Time: ");
MOVW	R1, #lo_addr(?lstr7_GSM_STM32_M4_clicker+0)
MOVT	R1, #hi_addr(?lstr7_GSM_STM32_M4_clicker+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,250 :: 		RTCC_GenerateString(&dtmGsmEvent, &USBout + 11);
MOVW	R1, #lo_addr(_USBout+11)
MOVT	R1, #hi_addr(_USBout+11)
MOVW	R0, #lo_addr(_dtmGsmEvent+0)
MOVT	R0, #hi_addr(_dtmGsmEvent+0)
BL	_RTCC_GenerateString+0
;GSM_STM32_M4_clicker.c,251 :: 		strcat(&USBout, "\r\n");
MOVW	R1, #lo_addr(?lstr8_GSM_STM32_M4_clicker+0)
MOVT	R1, #hi_addr(?lstr8_GSM_STM32_M4_clicker+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcat+0
;GSM_STM32_M4_clicker.c,252 :: 		HID_Write(&USBout, 64);
MOVS	R1, #64
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_HID_Write+0
;GSM_STM32_M4_clicker.c,254 :: 		memcpy(&dtmRTCC, &dtmGsmEvent, 6);
MOVS	R2, #6
SXTH	R2, R2
MOVW	R1, #lo_addr(_dtmGsmEvent+0)
MOVT	R1, #hi_addr(_dtmGsmEvent+0)
MOVW	R0, #lo_addr(_dtmRTCC+0)
MOVT	R0, #hi_addr(_dtmRTCC+0)
BL	_memcpy+0
;GSM_STM32_M4_clicker.c,255 :: 		bitRTCC_Set = 1;
MOVS	R2, #1
SXTB	R2, R2
MOVW	R1, #lo_addr(_bitRTCC_Set+0)
MOVT	R1, #hi_addr(_bitRTCC_Set+0)
STR	R2, [R1, #0]
;GSM_STM32_M4_clicker.c,256 :: 		} else {
IT	AL
BAL	L_gsmEvent23
L_gsmEvent22:
;GSM_STM32_M4_clicker.c,258 :: 		strcpy(&USBout, "Date/Time not yet set.\r\n");
MOVW	R1, #lo_addr(?lstr9_GSM_STM32_M4_clicker+0)
MOVT	R1, #hi_addr(?lstr9_GSM_STM32_M4_clicker+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,259 :: 		HID_Write(&USBout, 64);
MOVS	R1, #64
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_HID_Write+0
;GSM_STM32_M4_clicker.c,261 :: 		}
L_gsmEvent23:
;GSM_STM32_M4_clicker.c,262 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,263 :: 		case gsmevntDateTimeWrite:
L_gsmEvent24:
;GSM_STM32_M4_clicker.c,265 :: 		memcpy(&dtmGsmEvent, &dtmRTCC, 6);
MOVS	R2, #6
SXTH	R2, R2
MOVW	R1, #lo_addr(_dtmRTCC+0)
MOVT	R1, #hi_addr(_dtmRTCC+0)
MOVW	R0, #lo_addr(_dtmGsmEvent+0)
MOVT	R0, #hi_addr(_dtmGsmEvent+0)
BL	_memcpy+0
;GSM_STM32_M4_clicker.c,266 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,267 :: 		case gsmevntIMEI_Read:
L_gsmEvent25:
;GSM_STM32_M4_clicker.c,269 :: 		strcpy(&USBout, "IMEI: ");
MOVW	R1, #lo_addr(?lstr10_GSM_STM32_M4_clicker+0)
MOVT	R1, #hi_addr(?lstr10_GSM_STM32_M4_clicker+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,270 :: 		strcat(&USBout, pstrGsmEventData);
MOVW	R1, #lo_addr(_pstrGsmEventData+0)
MOVT	R1, #hi_addr(_pstrGsmEventData+0)
LDR	R1, [R1, #0]
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcat+0
;GSM_STM32_M4_clicker.c,271 :: 		strcat(&USBout, "\r\n");
MOVW	R1, #lo_addr(?lstr11_GSM_STM32_M4_clicker+0)
MOVT	R1, #hi_addr(?lstr11_GSM_STM32_M4_clicker+0)
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_strcat+0
;GSM_STM32_M4_clicker.c,272 :: 		HID_Write(&USBout, 64);
MOVS	R1, #64
MOVW	R0, #lo_addr(_USBout+0)
MOVT	R0, #hi_addr(_USBout+0)
BL	_HID_Write+0
;GSM_STM32_M4_clicker.c,274 :: 		break;
IT	AL
BAL	L_gsmEvent13
;GSM_STM32_M4_clicker.c,275 :: 		}
L_gsmEvent12:
; GsmEventType start address is: 0 (R0)
CMP	R0, #30
IT	EQ
BEQ	L_gsmEvent14
CMP	R0, #31
IT	EQ
BEQ	L_gsmEvent15
CMP	R0, #70
IT	EQ
BEQ	L_gsmEvent16
CMP	R0, #80
IT	EQ
BEQ	L_gsmEvent17
CMP	R0, #83
IT	EQ
BEQ	L_gsmEvent18
CMP	R0, #82
IT	EQ
BEQ	L_gsmEvent19
CMP	R0, #84
IT	EQ
BEQ	L_gsmEvent20
CMP	R0, #150
IT	EQ
BEQ	L_gsmEvent21
CMP	R0, #151
IT	EQ
BEQ	L_gsmEvent24
CMP	R0, #20
IT	EQ
BEQ	L_gsmEvent25
; GsmEventType end address is: 0 (R0)
L_gsmEvent13:
;GSM_STM32_M4_clicker.c,276 :: 		}
L_end_gsmEvent:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _gsmEvent
_main:
;GSM_STM32_M4_clicker.c,278 :: 		void main() {
;GSM_STM32_M4_clicker.c,280 :: 		setup();
BL	_setup+0
;GSM_STM32_M4_clicker.c,281 :: 		startup();
BL	_startup+0
;GSM_STM32_M4_clicker.c,282 :: 		gsmDateTimeRead();
BL	_gsmDateTimeRead+0
;GSM_STM32_M4_clicker.c,283 :: 		while (1) {
L_main26:
;GSM_STM32_M4_clicker.c,284 :: 		gsmPoll();
BL	_gsmPoll+0
;GSM_STM32_M4_clicker.c,287 :: 		if (wrdButtonTmr > 10000) {
MOVW	R0, #lo_addr(_wrdButtonTmr+0)
MOVT	R0, #hi_addr(_wrdButtonTmr+0)
LDRH	R1, [R0, #0]
MOVW	R0, #10000
CMP	R1, R0
IT	LS
BLS	L_main28
;GSM_STM32_M4_clicker.c,288 :: 		if (btn1 == 0) {
MOVW	R1, #lo_addr(IDR0_GPIOC_IDR_bit+0)
MOVT	R1, #hi_addr(IDR0_GPIOC_IDR_bit+0)
LDR	R0, [R1, #0]
CMP	R0, #0
IT	NE
BNE	L_main29
;GSM_STM32_M4_clicker.c,289 :: 		strcpy(&strMsgSendTxt, "Button T1 pressed.");
MOVW	R0, #lo_addr(?lstr12_GSM_STM32_M4_clicker+0)
MOVT	R0, #hi_addr(?lstr12_GSM_STM32_M4_clicker+0)
MOV	R1, R0
MOVW	R0, #lo_addr(_strMsgSendTxt+0)
MOVT	R0, #hi_addr(_strMsgSendTxt+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,290 :: 		msgSend();
BL	_msgSend+0
;GSM_STM32_M4_clicker.c,291 :: 		wrdButtonTmr = 0;
MOVS	R1, #0
MOVW	R0, #lo_addr(_wrdButtonTmr+0)
MOVT	R0, #hi_addr(_wrdButtonTmr+0)
STRH	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,292 :: 		} else if (btn2 == 0) {
IT	AL
BAL	L_main30
L_main29:
MOVW	R1, #lo_addr(IDR1_GPIOC_IDR_bit+0)
MOVT	R1, #hi_addr(IDR1_GPIOC_IDR_bit+0)
LDR	R0, [R1, #0]
CMP	R0, #0
IT	NE
BNE	L_main31
;GSM_STM32_M4_clicker.c,293 :: 		strcpy(&strMsgSendTxt, "Button T2 pressed.");
MOVW	R0, #lo_addr(?lstr13_GSM_STM32_M4_clicker+0)
MOVT	R0, #hi_addr(?lstr13_GSM_STM32_M4_clicker+0)
MOV	R1, R0
MOVW	R0, #lo_addr(_strMsgSendTxt+0)
MOVT	R0, #hi_addr(_strMsgSendTxt+0)
BL	_strcpy+0
;GSM_STM32_M4_clicker.c,294 :: 		msgSend();
BL	_msgSend+0
;GSM_STM32_M4_clicker.c,295 :: 		wrdButtonTmr = 0;
MOVS	R1, #0
MOVW	R0, #lo_addr(_wrdButtonTmr+0)
MOVT	R0, #hi_addr(_wrdButtonTmr+0)
STRH	R1, [R0, #0]
;GSM_STM32_M4_clicker.c,296 :: 		}
L_main31:
L_main30:
;GSM_STM32_M4_clicker.c,297 :: 		}
L_main28:
;GSM_STM32_M4_clicker.c,298 :: 		} // (while)
IT	AL
BAL	L_main26
;GSM_STM32_M4_clicker.c,299 :: 		} // (void)
L_end_main:
L__main_end_loop:
B	L__main_end_loop
; end of _main
