
_interrupt:

;SimPLC.mbas,127 :: 		sub procedure interrupt()
;SimPLC.mbas,130 :: 		if (USBIF_bit) then
	BTFSS       USBIF_bit+0, BitPos(USBIF_bit+0) 
	GOTO        L__interrupt2
;SimPLC.mbas,131 :: 		USB_Interrupt_Proc()
	CALL        _USB_Interrupt_Proc+0, 0
L__interrupt2:
;SimPLC.mbas,136 :: 		if (T0IF_bit) then ' 1ms Interrupt
	BTFSS       T0IF_bit+0, BitPos(T0IF_bit+0) 
	GOTO        L__interrupt5
;SimPLC.mbas,140 :: 		TMR0H = 0xD1
	MOVLW       209
	MOVWF       TMR0H+0 
;SimPLC.mbas,141 :: 		TMR0L = 0x20
	MOVLW       32
	MOVWF       TMR0L+0 
;SimPLC.mbas,142 :: 		gsm1msPing()
	CALL        _gsm1msPing+0, 0
;SimPLC.mbas,143 :: 		if (wrdRB7Tmr < 65535) then
	MOVLW       255
	SUBWF       _wrdRB7Tmr+1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__interrupt125
	MOVLW       255
	SUBWF       _wrdRB7Tmr+0, 0 
L__interrupt125:
	BTFSC       STATUS+0, 0 
	GOTO        L__interrupt8
;SimPLC.mbas,144 :: 		Inc(wrdRB7Tmr)
	INFSNZ      _wrdRB7Tmr+0, 1 
	INCF        _wrdRB7Tmr+1, 1 
L__interrupt8:
;SimPLC.mbas,147 :: 		if (wrdLcdTmr <> 0) then
	MOVLW       0
	XORWF       _wrdLcdTmr+1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__interrupt126
	MOVLW       0
	XORWF       _wrdLcdTmr+0, 0 
L__interrupt126:
	BTFSC       STATUS+0, 2 
	GOTO        L__interrupt11
;SimPLC.mbas,148 :: 		Dec(wrdLcdTmr)
	MOVLW       1
	SUBWF       _wrdLcdTmr+0, 1 
	MOVLW       0
	SUBWFB      _wrdLcdTmr+1, 1 
L__interrupt11:
;SimPLC.mbas,151 :: 		T0IF_bit = 0 ' Clear interrupt flag
	BCF         T0IF_bit+0, BitPos(T0IF_bit+0) 
L__interrupt5:
;SimPLC.mbas,154 :: 		end sub
L_end_interrupt:
L__interrupt124:
	RETFIE      1
; end of _interrupt

_setup:

;SimPLC.mbas,156 :: 		sub procedure setup()
;SimPLC.mbas,157 :: 		OSCCON = %01110000 '8MHz
	MOVLW       112
	MOVWF       OSCCON+0 
;SimPLC.mbas,158 :: 		PLLEN_bit = 1 'Enable PLL (48MHz now)
	BSF         PLLEN_bit+0, BitPos(PLLEN_bit+0) 
;SimPLC.mbas,159 :: 		TRISD = %00000000 'PortD all outputs
	CLRF        TRISD+0 
;SimPLC.mbas,160 :: 		LATD = %00000000 'PortD all off by default
	CLRF        LATD+0 
;SimPLC.mbas,163 :: 		LCD_BL_Direction = 0 'Output
	BCF         TRISA5_bit+0, BitPos(TRISA5_bit+0) 
;SimPLC.mbas,165 :: 		TRISB = %11111111 'PortB all inputs
	MOVLW       255
	MOVWF       TRISB+0 
;SimPLC.mbas,166 :: 		GSM_Pwr_Key_Dir = 0
	BCF         TRISE2_bit+0, BitPos(TRISE2_bit+0) 
;SimPLC.mbas,167 :: 		GSM_Stat_Dir = 1
	BSF         TRISE0_bit+0, BitPos(TRISE0_bit+0) 
;SimPLC.mbas,168 :: 		ANCON0 = %11111111 'All pins digital
	MOVLW       255
	MOVWF       ANCON0+0 
;SimPLC.mbas,169 :: 		ANCON1 = %00011111 'All pins digital
	MOVLW       31
	MOVWF       ANCON1+0 
;SimPLC.mbas,170 :: 		RBPU_bit = 0 'PortB Weak Pull-Ups Enabled
	BCF         RBPU_bit+0, BitPos(RBPU_bit+0) 
;SimPLC.mbas,171 :: 		IPEN_bit = 0 'Interrupt priority disable
	BCF         IPEN_bit+0, BitPos(IPEN_bit+0) 
;SimPLC.mbas,172 :: 		GIE_bit = 1 'Global interrupt enable
	BSF         GIE_bit+0, BitPos(GIE_bit+0) 
;SimPLC.mbas,173 :: 		PEIE_bit = 1 'Peripheral interrupt enable
	BSF         PEIE_bit+0, BitPos(PEIE_bit+0) 
;SimPLC.mbas,175 :: 		HID_Enable(@USBin,@USBout) ' Enable HID communication
	MOVLW       _USBin+0
	MOVWF       FARG_HID_Enable_readbuff+0 
	MOVLW       hi_addr(_USBin+0)
	MOVWF       FARG_HID_Enable_readbuff+1 
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Enable_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Enable_writebuff+1 
	CALL        _HID_Enable+0, 0
;SimPLC.mbas,178 :: 		T0CON = %10001000 'Timer0 On, 16-bit, internal clock, pre-scaler not assgnd
	MOVLW       136
	MOVWF       T0CON+0 
;SimPLC.mbas,179 :: 		T0IE_bit = 1 'Enable Timer0 overflow interrupts
	BSF         T0IE_bit+0, BitPos(T0IE_bit+0) 
;SimPLC.mbas,180 :: 		end sub
L_end_setup:
	RETURN      0
; end of _setup

_startup:

;SimPLC.mbas,182 :: 		sub procedure startup()
;SimPLC.mbas,188 :: 		UART1_Init(9600)
	BSF         BAUDCON+0, 3, 0
	MOVLW       4
	MOVWF       SPBRGH+0 
	MOVLW       225
	MOVWF       SPBRG+0 
	BSF         TXSTA+0, 2, 0
	CALL        _UART1_Init+0, 0
;SimPLC.mbas,189 :: 		gsmInit()
	CALL        _gsmInit+0, 0
;SimPLC.mbas,190 :: 		gsm_MS_Init()
	CALL        _gsm_MS_Init+0, 0
;SimPLC.mbas,191 :: 		gsm_Msg_Init() ' Requires GSM_Msg module
	CALL        _gsm_Msg_Init+0, 0
;SimPLC.mbas,192 :: 		gsm_GPRS_Init() ' Requires GSM_GPRS module
	CALL        _gsm_GPRS_Init+0, 0
;SimPLC.mbas,193 :: 		strDestID = ""
	CLRF        _strDestID+0 
;SimPLC.mbas,194 :: 		wrdRB7Tmr = 65535
	MOVLW       255
	MOVWF       _wrdRB7Tmr+0 
	MOVLW       255
	MOVWF       _wrdRB7Tmr+1 
;SimPLC.mbas,195 :: 		RTCC_Init()
	CALL        _RTCC_Init+0, 0
;SimPLC.mbas,196 :: 		dtmRTCC.Year = 14
	MOVLW       14
	MOVWF       _dtmRTCC+0 
;SimPLC.mbas,197 :: 		dtmRTCC.Month = 1
	MOVLW       1
	MOVWF       _dtmRTCC+1 
;SimPLC.mbas,198 :: 		dtmRTCC.Day = 1
	MOVLW       1
	MOVWF       _dtmRTCC+2 
;SimPLC.mbas,199 :: 		dtmRTCC.Hour = 0
	CLRF        _dtmRTCC+3 
;SimPLC.mbas,200 :: 		dtmRTCC.Minute = 0
	CLRF        _dtmRTCC+4 
;SimPLC.mbas,201 :: 		dtmRTCC.Second = 0
	CLRF        _dtmRTCC+5 
;SimPLC.mbas,202 :: 		RTCC_Write()
	CALL        _RTCC_Write+0, 0
;SimPLC.mbas,203 :: 		bitRTCC_Set = 0
	BCF         _bitRTCC_Set+0, BitPos(_bitRTCC_Set+0) 
;SimPLC.mbas,205 :: 		LCD_BL = 1
	BSF         LATA5_bit+0, BitPos(LATA5_bit+0) 
;SimPLC.mbas,206 :: 		LCD_Init()
	CALL        _Lcd_Init+0, 0
;SimPLC.mbas,207 :: 		LCD_Cmd(_LCD_CURSOR_OFF)
	MOVLW       12
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;SimPLC.mbas,208 :: 		LCD_Cmd(_LCD_CLEAR)
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;SimPLC.mbas,209 :: 		Lcd_Out(1,6,"SimPLC")
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       6
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       83
	MOVWF       ?LocalText_startup_0+0 
	MOVLW       105
	MOVWF       ?LocalText_startup_0+1 
	MOVLW       109
	MOVWF       ?LocalText_startup_0+2 
	MOVLW       80
	MOVWF       ?LocalText_startup_0+3 
	MOVLW       76
	MOVWF       ?LocalText_startup_0+4 
	MOVLW       67
	MOVWF       ?LocalText_startup_0+5 
	CLRF        ?LocalText_startup_0+6 
	MOVLW       ?LocalText_startup_0+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?LocalText_startup_0+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,210 :: 		Lcd_Out(2,1,"www.dizzy.co.za")
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       119
	MOVWF       ?LocalText_startup_1+0 
	MOVLW       119
	MOVWF       ?LocalText_startup_1+1 
	MOVLW       119
	MOVWF       ?LocalText_startup_1+2 
	MOVLW       46
	MOVWF       ?LocalText_startup_1+3 
	MOVLW       100
	MOVWF       ?LocalText_startup_1+4 
	MOVLW       105
	MOVWF       ?LocalText_startup_1+5 
	MOVLW       122
	MOVWF       ?LocalText_startup_1+6 
	MOVLW       122
	MOVWF       ?LocalText_startup_1+7 
	MOVLW       121
	MOVWF       ?LocalText_startup_1+8 
	MOVLW       46
	MOVWF       ?LocalText_startup_1+9 
	MOVLW       99
	MOVWF       ?LocalText_startup_1+10 
	MOVLW       111
	MOVWF       ?LocalText_startup_1+11 
	MOVLW       46
	MOVWF       ?LocalText_startup_1+12 
	MOVLW       122
	MOVWF       ?LocalText_startup_1+13 
	MOVLW       97
	MOVWF       ?LocalText_startup_1+14 
	CLRF        ?LocalText_startup_1+15 
	MOVLW       ?LocalText_startup_1+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?LocalText_startup_1+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,211 :: 		wrdLcdTmr = 5000
	MOVLW       136
	MOVWF       _wrdLcdTmr+0 
	MOVLW       19
	MOVWF       _wrdLcdTmr+1 
;SimPLC.mbas,213 :: 		end sub
L_end_startup:
	RETURN      0
; end of _startup

_rtccSet:

;SimPLC.mbas,232 :: 		sub procedure rtccSet()
;SimPLC.mbas,242 :: 		RTCC_Write()
	CALL        _RTCC_Write+0, 0
;SimPLC.mbas,243 :: 		bitRTCC_Set = 1
	BSF         _bitRTCC_Set+0, BitPos(_bitRTCC_Set+0) 
;SimPLC.mbas,244 :: 		end sub
L_end_rtccSet:
	RETURN      0
; end of _rtccSet

_ByteToBin:

;SimPLC.mbas,248 :: 		dim ctr as char
;SimPLC.mbas,249 :: 		mask = %10000000
	MOVLW       128
	MOVWF       R1 
;SimPLC.mbas,250 :: 		ctr = 0
	CLRF        R2 
;SimPLC.mbas,251 :: 		while mask <> 0
L__ByteToBin18:
	MOVF        R1, 0 
	XORLW       0
	BTFSC       STATUS+0, 2 
	GOTO        L__ByteToBin19
;SimPLC.mbas,252 :: 		if (in and mask) then
	MOVF        R1, 0 
	ANDWF       FARG_ByteToBin_in+0, 0 
	MOVWF       R0 
	BTFSC       STATUS+0, 2 
	GOTO        L__ByteToBin23
;SimPLC.mbas,253 :: 		output[ctr] = "1"
	MOVF        R2, 0 
	ADDWF       FARG_ByteToBin_output+0, 0 
	MOVWF       FSR1 
	MOVLW       0
	ADDWFC      FARG_ByteToBin_output+1, 0 
	MOVWF       FSR1H 
	MOVLW       49
	MOVWF       POSTINC1+0 
	GOTO        L__ByteToBin24
;SimPLC.mbas,254 :: 		else
L__ByteToBin23:
;SimPLC.mbas,255 :: 		output[ctr] = "0"
	MOVF        R2, 0 
	ADDWF       FARG_ByteToBin_output+0, 0 
	MOVWF       FSR1 
	MOVLW       0
	ADDWFC      FARG_ByteToBin_output+1, 0 
	MOVWF       FSR1H 
	MOVLW       48
	MOVWF       POSTINC1+0 
;SimPLC.mbas,256 :: 		end if
L__ByteToBin24:
;SimPLC.mbas,257 :: 		Inc(ctr)
	INCF        R2, 1 
;SimPLC.mbas,258 :: 		mask = mask >> 1
	RRCF        R1, 1 
	BCF         R1, 7 
;SimPLC.mbas,259 :: 		wend
	GOTO        L__ByteToBin18
L__ByteToBin19:
;SimPLC.mbas,260 :: 		output[ctr] = 0 ' Mark the end of the string
	MOVF        R2, 0 
	ADDWF       FARG_ByteToBin_output+0, 0 
	MOVWF       FSR1 
	MOVLW       0
	ADDWFC      FARG_ByteToBin_output+1, 0 
	MOVWF       FSR1H 
	CLRF        POSTINC1+0 
;SimPLC.mbas,261 :: 		end sub
L_end_ByteToBin:
	RETURN      0
; end of _ByteToBin

_generateStatusReport:

;SimPLC.mbas,264 :: 		dim pos as ^char 'Pointer to position within string
;SimPLC.mbas,265 :: 		pos = @dest
	MOVF        FARG_generateStatusReport_dest+0, 0 
	MOVWF       generateStatusReport_pos+0 
	MOVF        FARG_generateStatusReport_dest+1, 0 
	MOVWF       generateStatusReport_pos+1 
;SimPLC.mbas,266 :: 		strcpy(pos, "PORTA:")
	MOVF        FARG_generateStatusReport_dest+0, 0 
	MOVWF       FARG_strcpy_s1+0 
	MOVF        FARG_generateStatusReport_dest+1, 0 
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       80
	MOVWF       ?LocalText_generateStatusReport_2+0 
	MOVLW       79
	MOVWF       ?LocalText_generateStatusReport_2+1 
	MOVLW       82
	MOVWF       ?LocalText_generateStatusReport_2+2 
	MOVLW       84
	MOVWF       ?LocalText_generateStatusReport_2+3 
	MOVLW       65
	MOVWF       ?LocalText_generateStatusReport_2+4 
	MOVLW       58
	MOVWF       ?LocalText_generateStatusReport_2+5 
	CLRF        ?LocalText_generateStatusReport_2+6 
	MOVLW       ?LocalText_generateStatusReport_2+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_generateStatusReport_2+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,267 :: 		pos = pos + 6
	MOVLW       6
	ADDWF       generateStatusReport_pos+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      generateStatusReport_pos+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       generateStatusReport_pos+0 
	MOVF        R1, 0 
	MOVWF       generateStatusReport_pos+1 
;SimPLC.mbas,268 :: 		ByteToBin(PORTA, pos)
	MOVF        PORTA+0, 0 
	MOVWF       FARG_ByteToBin_in+0 
	MOVF        R0, 0 
	MOVWF       FARG_ByteToBin_output+0 
	MOVF        R1, 0 
	MOVWF       FARG_ByteToBin_output+1 
	CALL        _ByteToBin+0, 0
;SimPLC.mbas,269 :: 		pos = pos + 8
	MOVLW       8
	ADDWF       generateStatusReport_pos+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      generateStatusReport_pos+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       generateStatusReport_pos+0 
	MOVF        R1, 0 
	MOVWF       generateStatusReport_pos+1 
;SimPLC.mbas,270 :: 		pos^ = ","
	MOVFF       R0, FSR1
	MOVFF       R1, FSR1H
	MOVLW       44
	MOVWF       POSTINC1+0 
;SimPLC.mbas,271 :: 		Inc(pos)
	INFSNZ      generateStatusReport_pos+0, 1 
	INCF        generateStatusReport_pos+1, 1 
;SimPLC.mbas,272 :: 		strcpy(pos, "PORTB:")
	MOVF        generateStatusReport_pos+0, 0 
	MOVWF       FARG_strcpy_s1+0 
	MOVF        generateStatusReport_pos+1, 0 
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       80
	MOVWF       ?LocalText_generateStatusReport_3+0 
	MOVLW       79
	MOVWF       ?LocalText_generateStatusReport_3+1 
	MOVLW       82
	MOVWF       ?LocalText_generateStatusReport_3+2 
	MOVLW       84
	MOVWF       ?LocalText_generateStatusReport_3+3 
	MOVLW       66
	MOVWF       ?LocalText_generateStatusReport_3+4 
	MOVLW       58
	MOVWF       ?LocalText_generateStatusReport_3+5 
	CLRF        ?LocalText_generateStatusReport_3+6 
	MOVLW       ?LocalText_generateStatusReport_3+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_generateStatusReport_3+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,273 :: 		pos = pos + 6
	MOVLW       6
	ADDWF       generateStatusReport_pos+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      generateStatusReport_pos+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       generateStatusReport_pos+0 
	MOVF        R1, 0 
	MOVWF       generateStatusReport_pos+1 
;SimPLC.mbas,274 :: 		ByteToBin(PORTB, pos)
	MOVF        PORTB+0, 0 
	MOVWF       FARG_ByteToBin_in+0 
	MOVF        R0, 0 
	MOVWF       FARG_ByteToBin_output+0 
	MOVF        R1, 0 
	MOVWF       FARG_ByteToBin_output+1 
	CALL        _ByteToBin+0, 0
;SimPLC.mbas,275 :: 		pos = pos + 8
	MOVLW       8
	ADDWF       generateStatusReport_pos+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      generateStatusReport_pos+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       generateStatusReport_pos+0 
	MOVF        R1, 0 
	MOVWF       generateStatusReport_pos+1 
;SimPLC.mbas,276 :: 		pos^ = ","
	MOVFF       R0, FSR1
	MOVFF       R1, FSR1H
	MOVLW       44
	MOVWF       POSTINC1+0 
;SimPLC.mbas,277 :: 		Inc(pos)
	INFSNZ      generateStatusReport_pos+0, 1 
	INCF        generateStatusReport_pos+1, 1 
;SimPLC.mbas,278 :: 		strcpy(pos, "LATD:")
	MOVF        generateStatusReport_pos+0, 0 
	MOVWF       FARG_strcpy_s1+0 
	MOVF        generateStatusReport_pos+1, 0 
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       76
	MOVWF       ?LocalText_generateStatusReport_4+0 
	MOVLW       65
	MOVWF       ?LocalText_generateStatusReport_4+1 
	MOVLW       84
	MOVWF       ?LocalText_generateStatusReport_4+2 
	MOVLW       68
	MOVWF       ?LocalText_generateStatusReport_4+3 
	MOVLW       58
	MOVWF       ?LocalText_generateStatusReport_4+4 
	CLRF        ?LocalText_generateStatusReport_4+5 
	MOVLW       ?LocalText_generateStatusReport_4+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_generateStatusReport_4+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,279 :: 		pos = pos + 5
	MOVLW       5
	ADDWF       generateStatusReport_pos+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      generateStatusReport_pos+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       generateStatusReport_pos+0 
	MOVF        R1, 0 
	MOVWF       generateStatusReport_pos+1 
;SimPLC.mbas,280 :: 		ByteToBin(LATD, pos)
	MOVF        LATD+0, 0 
	MOVWF       FARG_ByteToBin_in+0 
	MOVF        R0, 0 
	MOVWF       FARG_ByteToBin_output+0 
	MOVF        R1, 0 
	MOVWF       FARG_ByteToBin_output+1 
	CALL        _ByteToBin+0, 0
;SimPLC.mbas,281 :: 		end sub
L_end_generateStatusReport:
	RETURN      0
; end of _generateStatusReport

_msgSend:

;SimPLC.mbas,283 :: 		sub procedure msgSend()
;SimPLC.mbas,285 :: 		strcpy(USBout, "Sending message to ")
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       83
	MOVWF       ?LocalText_msgSend_5+0 
	MOVLW       101
	MOVWF       ?LocalText_msgSend_5+1 
	MOVLW       110
	MOVWF       ?LocalText_msgSend_5+2 
	MOVLW       100
	MOVWF       ?LocalText_msgSend_5+3 
	MOVLW       105
	MOVWF       ?LocalText_msgSend_5+4 
	MOVLW       110
	MOVWF       ?LocalText_msgSend_5+5 
	MOVLW       103
	MOVWF       ?LocalText_msgSend_5+6 
	MOVLW       32
	MOVWF       ?LocalText_msgSend_5+7 
	MOVLW       109
	MOVWF       ?LocalText_msgSend_5+8 
	MOVLW       101
	MOVWF       ?LocalText_msgSend_5+9 
	MOVLW       115
	MOVWF       ?LocalText_msgSend_5+10 
	MOVLW       115
	MOVWF       ?LocalText_msgSend_5+11 
	MOVLW       97
	MOVWF       ?LocalText_msgSend_5+12 
	MOVLW       103
	MOVWF       ?LocalText_msgSend_5+13 
	MOVLW       101
	MOVWF       ?LocalText_msgSend_5+14 
	MOVLW       32
	MOVWF       ?LocalText_msgSend_5+15 
	MOVLW       116
	MOVWF       ?LocalText_msgSend_5+16 
	MOVLW       111
	MOVWF       ?LocalText_msgSend_5+17 
	MOVLW       32
	MOVWF       ?LocalText_msgSend_5+18 
	CLRF        ?LocalText_msgSend_5+19 
	MOVLW       ?LocalText_msgSend_5+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_msgSend_5+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,286 :: 		strcat(USBout, strDestID)
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_s1+1 
	MOVLW       _strDestID+0
	MOVWF       FARG_strcat_s2+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_strcat_s2+1 
	CALL        _strcat+0, 0
;SimPLC.mbas,287 :: 		strcat(USBout, ":" + Chr(13) + Chr(10))
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_s1+1 
	MOVLW       58
	MOVWF       ?LocalText_msgSend_6+0 
	MOVLW       13
	MOVWF       ?LocalText_msgSend_6+1 
	MOVLW       10
	MOVWF       ?LocalText_msgSend_6+2 
	MOVLW       0
	MOVWF       ?LocalText_msgSend_6+3 
	MOVLW       ?LocalText_msgSend_6+0
	MOVWF       FARG_strcat_s2+0 
	MOVLW       hi_addr(?LocalText_msgSend_6+0)
	MOVWF       FARG_strcat_s2+1 
	CALL        _strcat+0, 0
;SimPLC.mbas,288 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;SimPLC.mbas,289 :: 		strncpyExNewLine(USBout, strMsgSendTxt, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_strncpyExNewLine_dest+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strncpyExNewLine_dest+1 
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_strncpyExNewLine_from+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_strncpyExNewLine_from+1 
	MOVLW       64
	MOVWF       FARG_strncpyExNewLine_size+0 
	CALL        _strncpyExNewLine+0, 0
;SimPLC.mbas,290 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;SimPLC.mbas,292 :: 		if strDestID[0] <> 0 then
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSC       STATUS+0, 2 
	GOTO        L__msgSend28
;SimPLC.mbas,293 :: 		if gsmMsgSendPending() then
	CALL        _gsmMsgSendPending+0, 0
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L__msgSend31
;SimPLC.mbas,294 :: 		gsmMsgSendCancel() ' Cancel any message waiting to be sent
	CALL        _gsmMsgSendCancel+0, 0
L__msgSend31:
;SimPLC.mbas,296 :: 		gsmMsgSend(strMsgSendTxt, strDestID)
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_gsmMsgSend_Message+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_gsmMsgSend_Message+1 
	MOVLW       _strDestID+0
	MOVWF       FARG_gsmMsgSend_DestinationID+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_gsmMsgSend_DestinationID+1 
	CALL        _gsmMsgSend+0, 0
L__msgSend28:
;SimPLC.mbas,298 :: 		end sub
L_end_msgSend:
	RETURN      0
; end of _msgSend

_gsmMissedCall:

;SimPLC.mbas,300 :: 		sub procedure gsmMissedCall(dim byref OriginatorID as string)
;SimPLC.mbas,302 :: 		LCD_Cmd(_LCD_Clear)
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;SimPLC.mbas,303 :: 		LCD_Out(1,1,OriginatorID)
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVF        FARG_gsmMissedCall_OriginatorID+0, 0 
	MOVWF       FARG_Lcd_Out_text+0 
	MOVF        FARG_gsmMissedCall_OriginatorID+1, 0 
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,304 :: 		LCD_Out(2,1,"(Missed call)")
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       40
	MOVWF       ?LocalText_gsmMissedCall_7+0 
	MOVLW       77
	MOVWF       ?LocalText_gsmMissedCall_7+1 
	MOVLW       105
	MOVWF       ?LocalText_gsmMissedCall_7+2 
	MOVLW       115
	MOVWF       ?LocalText_gsmMissedCall_7+3 
	MOVLW       115
	MOVWF       ?LocalText_gsmMissedCall_7+4 
	MOVLW       101
	MOVWF       ?LocalText_gsmMissedCall_7+5 
	MOVLW       100
	MOVWF       ?LocalText_gsmMissedCall_7+6 
	MOVLW       32
	MOVWF       ?LocalText_gsmMissedCall_7+7 
	MOVLW       99
	MOVWF       ?LocalText_gsmMissedCall_7+8 
	MOVLW       97
	MOVWF       ?LocalText_gsmMissedCall_7+9 
	MOVLW       108
	MOVWF       ?LocalText_gsmMissedCall_7+10 
	MOVLW       108
	MOVWF       ?LocalText_gsmMissedCall_7+11 
	MOVLW       41
	MOVWF       ?LocalText_gsmMissedCall_7+12 
	CLRF        ?LocalText_gsmMissedCall_7+13 
	MOVLW       ?LocalText_gsmMissedCall_7+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?LocalText_gsmMissedCall_7+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,305 :: 		wrdLcdTmr = 2500
	MOVLW       196
	MOVWF       _wrdLcdTmr+0 
	MOVLW       9
	MOVWF       _wrdLcdTmr+1 
;SimPLC.mbas,307 :: 		LATD0_bit = not LATD0_bit ' Toggle PortD.0
	BTG         LATD0_bit+0, BitPos(LATD0_bit+0) 
;SimPLC.mbas,308 :: 		if strDestID[0] = 0 then
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMissedCall35
;SimPLC.mbas,309 :: 		strcpy(strDestID, OriginatorID)
	MOVLW       _strDestID+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVF        FARG_gsmMissedCall_OriginatorID+0, 0 
	MOVWF       FARG_strcpy_s2+0 
	MOVF        FARG_gsmMissedCall_OriginatorID+1, 0 
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
L__gsmMissedCall35:
;SimPLC.mbas,311 :: 		end sub
L_end_gsmMissedCall:
	RETURN      0
; end of _gsmMissedCall

_gsmMsgRcvd:

;SimPLC.mbas,313 :: 		sub procedure gsmMsgRcvd(dim byref MessageText as string, dim byref OriginatorID as string)
;SimPLC.mbas,315 :: 		LCD_Cmd(_LCD_Clear)
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;SimPLC.mbas,316 :: 		LCD_Out(1,1,OriginatorID)
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVF        FARG_gsmMsgRcvd_OriginatorID+0, 0 
	MOVWF       FARG_Lcd_Out_text+0 
	MOVF        FARG_gsmMsgRcvd_OriginatorID+1, 0 
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,317 :: 		LCD_Out(2,1,MessageText)
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_Lcd_Out_text+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,318 :: 		wrdLcdTmr = 2500
	MOVLW       196
	MOVWF       _wrdLcdTmr+0 
	MOVLW       9
	MOVWF       _wrdLcdTmr+1 
;SimPLC.mbas,320 :: 		if strDestID[0] = 0 then ' If the destination ID has not yet been set then
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd39
;SimPLC.mbas,321 :: 		strcpy(strDestID, OriginatorID) ' Copy it from the originator ID
	MOVLW       _strDestID+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVF        FARG_gsmMsgRcvd_OriginatorID+0, 0 
	MOVWF       FARG_strcpy_s2+0 
	MOVF        FARG_gsmMsgRcvd_OriginatorID+1, 0 
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
L__gsmMsgRcvd39:
;SimPLC.mbas,323 :: 		if gsmMsgJustArrived() = 1 then
	CALL        _gsmMsgJustArrived+0, 0
	MOVF        R0, 0 
	XORLW       1
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd42
;SimPLC.mbas,326 :: 		dtmRTCC = dtmGsmEvent
	MOVLW       _dtmRTCC+0
	MOVWF       FSR1 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FSR1H 
	MOVLW       _dtmGsmEvent+0
	MOVWF       FSR2 
	MOVLW       hi_addr(_dtmGsmEvent+0)
	MOVWF       FSR2H 
	MOVLW       6
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	CALL        ___CA2AW+0, 0
;SimPLC.mbas,327 :: 		rtccSet()
	CALL        _rtccSet+0, 0
;SimPLC.mbas,328 :: 		gsmDateTimeWrite()
	CALL        _gsmDateTimeWrite+0, 0
L__gsmMsgRcvd42:
;SimPLC.mbas,330 :: 		lowcase(MessageText) ' Convert the entire message to lower case
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_lowcase_str+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_lowcase_str+1 
	CALL        _lowcase+0, 0
;SimPLC.mbas,332 :: 		if MessageText[1] = "n" then ' Looking for "on"
	MOVLW       1
	ADDWF       FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FSR0 
	MOVLW       0
	ADDWFC      FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	XORLW       110
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd45
;SimPLC.mbas,333 :: 		LATD = 0xFF
	MOVLW       255
	MOVWF       LATD+0 
	GOTO        L__gsmMsgRcvd46
;SimPLC.mbas,334 :: 		else
L__gsmMsgRcvd45:
;SimPLC.mbas,335 :: 		if MessageText[1] = "f" then ' Looking for "off"
	MOVLW       1
	ADDWF       FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FSR0 
	MOVLW       0
	ADDWFC      FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	XORLW       102
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd48
;SimPLC.mbas,336 :: 		LATD = 0x00
	CLRF        LATD+0 
	GOTO        L__gsmMsgRcvd49
;SimPLC.mbas,337 :: 		else
L__gsmMsgRcvd48:
;SimPLC.mbas,338 :: 		if MessageText[0] = "c" then ' Query clock
	MOVFF       FARG_gsmMsgRcvd_MessageText+0, FSR0
	MOVFF       FARG_gsmMsgRcvd_MessageText+1, FSR0H
	MOVF        POSTINC0+0, 0 
	XORLW       99
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd51
;SimPLC.mbas,339 :: 		strcpy(strMsgSendTxt, "SimPLC Date/Time: ")
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       83
	MOVWF       ?LocalText_gsmMsgRcvd_8+0 
	MOVLW       105
	MOVWF       ?LocalText_gsmMsgRcvd_8+1 
	MOVLW       109
	MOVWF       ?LocalText_gsmMsgRcvd_8+2 
	MOVLW       80
	MOVWF       ?LocalText_gsmMsgRcvd_8+3 
	MOVLW       76
	MOVWF       ?LocalText_gsmMsgRcvd_8+4 
	MOVLW       67
	MOVWF       ?LocalText_gsmMsgRcvd_8+5 
	MOVLW       32
	MOVWF       ?LocalText_gsmMsgRcvd_8+6 
	MOVLW       68
	MOVWF       ?LocalText_gsmMsgRcvd_8+7 
	MOVLW       97
	MOVWF       ?LocalText_gsmMsgRcvd_8+8 
	MOVLW       116
	MOVWF       ?LocalText_gsmMsgRcvd_8+9 
	MOVLW       101
	MOVWF       ?LocalText_gsmMsgRcvd_8+10 
	MOVLW       47
	MOVWF       ?LocalText_gsmMsgRcvd_8+11 
	MOVLW       84
	MOVWF       ?LocalText_gsmMsgRcvd_8+12 
	MOVLW       105
	MOVWF       ?LocalText_gsmMsgRcvd_8+13 
	MOVLW       109
	MOVWF       ?LocalText_gsmMsgRcvd_8+14 
	MOVLW       101
	MOVWF       ?LocalText_gsmMsgRcvd_8+15 
	MOVLW       58
	MOVWF       ?LocalText_gsmMsgRcvd_8+16 
	MOVLW       32
	MOVWF       ?LocalText_gsmMsgRcvd_8+17 
	CLRF        ?LocalText_gsmMsgRcvd_8+18 
	MOVLW       ?LocalText_gsmMsgRcvd_8+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_gsmMsgRcvd_8+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,340 :: 		pstr = @strMsgSendTxt + 18 'Point past the first 18 characters of the string
	MOVLW       18
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	MOVLW       _strMsgSendTxt+0
	ADDWF       R0, 1 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	ADDWFC      R1, 1 
	MOVF        R0, 0 
	MOVWF       _pstr+0 
	MOVF        R1, 0 
	MOVWF       _pstr+1 
;SimPLC.mbas,341 :: 		RTCC_GenerateString(dtmRTCC, pstr)
	MOVLW       _dtmRTCC+0
	MOVWF       FARG_RTCC_GenerateString_dt+0 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FARG_RTCC_GenerateString_dt+1 
	MOVF        R0, 0 
	MOVWF       FARG_RTCC_GenerateString_rtccstring+0 
	MOVF        R1, 0 
	MOVWF       FARG_RTCC_GenerateString_rtccstring+1 
	CALL        _RTCC_GenerateString+0, 0
;SimPLC.mbas,342 :: 		msgSend()
	CALL        _msgSend+0, 0
	GOTO        L__gsmMsgRcvd52
;SimPLC.mbas,343 :: 		else
L__gsmMsgRcvd51:
;SimPLC.mbas,344 :: 		if strncmp(MessageText, "stat", 4) = 0 then 'Status report
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_strncmp_s1+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_strncmp_s1+1 
	MOVLW       115
	MOVWF       ?LocalText_gsmMsgRcvd_9+0 
	MOVLW       116
	MOVWF       ?LocalText_gsmMsgRcvd_9+1 
	MOVLW       97
	MOVWF       ?LocalText_gsmMsgRcvd_9+2 
	MOVLW       116
	MOVWF       ?LocalText_gsmMsgRcvd_9+3 
	CLRF        ?LocalText_gsmMsgRcvd_9+4 
	MOVLW       ?LocalText_gsmMsgRcvd_9+0
	MOVWF       FARG_strncmp_s2+0 
	MOVLW       hi_addr(?LocalText_gsmMsgRcvd_9+0)
	MOVWF       FARG_strncmp_s2+1 
	MOVLW       4
	MOVWF       FARG_strncmp_len+0 
	MOVLW       0
	MOVWF       FARG_strncmp_len+1 
	CALL        _strncmp+0, 0
	MOVLW       0
	XORWF       R1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd135
	MOVLW       0
	XORWF       R0, 0 
L__gsmMsgRcvd135:
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd54
;SimPLC.mbas,345 :: 		generateStatusReport(strMsgSendTxt)
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_generateStatusReport_dest+1 
	CALL        _generateStatusReport+0, 0
;SimPLC.mbas,346 :: 		msgSend()
	CALL        _msgSend+0, 0
	GOTO        L__gsmMsgRcvd55
;SimPLC.mbas,347 :: 		else
L__gsmMsgRcvd54:
;SimPLC.mbas,348 :: 		if strncmp(MessageText, "please call ", 12) = 0 then ' "Please Call Me"
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_strncmp_s1+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_strncmp_s1+1 
	MOVLW       112
	MOVWF       ?LocalText_gsmMsgRcvd_10+0 
	MOVLW       108
	MOVWF       ?LocalText_gsmMsgRcvd_10+1 
	MOVLW       101
	MOVWF       ?LocalText_gsmMsgRcvd_10+2 
	MOVLW       97
	MOVWF       ?LocalText_gsmMsgRcvd_10+3 
	MOVLW       115
	MOVWF       ?LocalText_gsmMsgRcvd_10+4 
	MOVLW       101
	MOVWF       ?LocalText_gsmMsgRcvd_10+5 
	MOVLW       32
	MOVWF       ?LocalText_gsmMsgRcvd_10+6 
	MOVLW       99
	MOVWF       ?LocalText_gsmMsgRcvd_10+7 
	MOVLW       97
	MOVWF       ?LocalText_gsmMsgRcvd_10+8 
	MOVLW       108
	MOVWF       ?LocalText_gsmMsgRcvd_10+9 
	MOVLW       108
	MOVWF       ?LocalText_gsmMsgRcvd_10+10 
	MOVLW       32
	MOVWF       ?LocalText_gsmMsgRcvd_10+11 
	CLRF        ?LocalText_gsmMsgRcvd_10+12 
	MOVLW       ?LocalText_gsmMsgRcvd_10+0
	MOVWF       FARG_strncmp_s2+0 
	MOVLW       hi_addr(?LocalText_gsmMsgRcvd_10+0)
	MOVWF       FARG_strncmp_s2+1 
	MOVLW       12
	MOVWF       FARG_strncmp_len+0 
	MOVLW       0
	MOVWF       FARG_strncmp_len+1 
	CALL        _strncmp+0, 0
	MOVLW       0
	XORWF       R1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd136
	MOVLW       0
	XORWF       R0, 0 
L__gsmMsgRcvd136:
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd57
;SimPLC.mbas,349 :: 		LATD1_bit = not LATD1_bit
	BTG         LATD1_bit+0, BitPos(LATD1_bit+0) 
;SimPLC.mbas,350 :: 		generateStatusReport(strMsgSendTxt)
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_generateStatusReport_dest+1 
	CALL        _generateStatusReport+0, 0
;SimPLC.mbas,351 :: 		msgSend()
	CALL        _msgSend+0, 0
L__gsmMsgRcvd57:
;SimPLC.mbas,353 :: 		end if
L__gsmMsgRcvd55:
;SimPLC.mbas,354 :: 		end if
L__gsmMsgRcvd52:
;SimPLC.mbas,355 :: 		end if
L__gsmMsgRcvd49:
;SimPLC.mbas,356 :: 		end if
L__gsmMsgRcvd46:
;SimPLC.mbas,357 :: 		end sub
L_end_gsmMsgRcvd:
	RETURN      0
; end of _gsmMsgRcvd

_gsmEvent:

;SimPLC.mbas,359 :: 		sub procedure gsmEvent(dim GsmEventType as char)
;SimPLC.mbas,361 :: 		case gsmevntPIN_Request
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       30
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent63
	GOTO        L__gsmEvent60
L__gsmEvent63:
;SimPLC.mbas,363 :: 		case gsmevntPIN_Fail
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       31
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent66
;SimPLC.mbas,365 :: 		strcpy(USBout, "PIN entry failed" + Chr(13) + Chr(10))
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       80
	MOVWF       ?LocalText_gsmEvent_11+0 
	MOVLW       73
	MOVWF       ?LocalText_gsmEvent_11+1 
	MOVLW       78
	MOVWF       ?LocalText_gsmEvent_11+2 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_11+3 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_11+4 
	MOVLW       110
	MOVWF       ?LocalText_gsmEvent_11+5 
	MOVLW       116
	MOVWF       ?LocalText_gsmEvent_11+6 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_11+7 
	MOVLW       121
	MOVWF       ?LocalText_gsmEvent_11+8 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_11+9 
	MOVLW       102
	MOVWF       ?LocalText_gsmEvent_11+10 
	MOVLW       97
	MOVWF       ?LocalText_gsmEvent_11+11 
	MOVLW       105
	MOVWF       ?LocalText_gsmEvent_11+12 
	MOVLW       108
	MOVWF       ?LocalText_gsmEvent_11+13 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_11+14 
	MOVLW       100
	MOVWF       ?LocalText_gsmEvent_11+15 
	MOVLW       13
	MOVWF       ?LocalText_gsmEvent_11+16 
	MOVLW       10
	MOVWF       ?LocalText_gsmEvent_11+17 
	MOVLW       0
	MOVWF       ?LocalText_gsmEvent_11+18 
	MOVLW       ?LocalText_gsmEvent_11+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_11+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,366 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent66:
;SimPLC.mbas,368 :: 		case gsmevntMissedCall
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       70
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent69
;SimPLC.mbas,369 :: 		gsmMissedCall(pstrGsmEventOriginatorID)
	MOVF        _pstrGsmEventOriginatorID+0, 0 
	MOVWF       FARG_gsmMissedCall_OriginatorID+0 
	MOVF        _pstrGsmEventOriginatorID+1, 0 
	MOVWF       FARG_gsmMissedCall_OriginatorID+1 
	CALL        _gsmMissedCall+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent69:
;SimPLC.mbas,370 :: 		case gsmevntMsgRcvd
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       80
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent72
;SimPLC.mbas,371 :: 		gsmMsgRcvd(pstrGsmEventData, pstrGsmEventOriginatorID)
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_gsmMsgRcvd_MessageText+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_gsmMsgRcvd_MessageText+1 
	MOVF        _pstrGsmEventOriginatorID+0, 0 
	MOVWF       FARG_gsmMsgRcvd_OriginatorID+0 
	MOVF        _pstrGsmEventOriginatorID+1, 0 
	MOVWF       FARG_gsmMsgRcvd_OriginatorID+1 
	CALL        _gsmMsgRcvd+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent72:
;SimPLC.mbas,372 :: 		case gsmevntMsgSent
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       83
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent75
;SimPLC.mbas,374 :: 		strcpy(USBout, "Message sent" + Chr(13) + Chr(10))
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       77
	MOVWF       ?LocalText_gsmEvent_12+0 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_12+1 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_12+2 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_12+3 
	MOVLW       97
	MOVWF       ?LocalText_gsmEvent_12+4 
	MOVLW       103
	MOVWF       ?LocalText_gsmEvent_12+5 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_12+6 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_12+7 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_12+8 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_12+9 
	MOVLW       110
	MOVWF       ?LocalText_gsmEvent_12+10 
	MOVLW       116
	MOVWF       ?LocalText_gsmEvent_12+11 
	MOVLW       13
	MOVWF       ?LocalText_gsmEvent_12+12 
	MOVLW       10
	MOVWF       ?LocalText_gsmEvent_12+13 
	MOVLW       0
	MOVWF       ?LocalText_gsmEvent_12+14 
	MOVLW       ?LocalText_gsmEvent_12+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_12+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,375 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent75:
;SimPLC.mbas,377 :: 		case gsmevntMsgDiscarded, gsmevntMsgSendFailed
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       82
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent78
	GOTO        L__gsmEvent76
L__gsmEvent78:
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       84
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent79
L__gsmEvent76:
;SimPLC.mbas,379 :: 		strcpy(USBout, "Message send failed" + Chr(13) + Chr(10))
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       77
	MOVWF       ?LocalText_gsmEvent_13+0 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_13+1 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_13+2 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_13+3 
	MOVLW       97
	MOVWF       ?LocalText_gsmEvent_13+4 
	MOVLW       103
	MOVWF       ?LocalText_gsmEvent_13+5 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_13+6 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_13+7 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_13+8 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_13+9 
	MOVLW       110
	MOVWF       ?LocalText_gsmEvent_13+10 
	MOVLW       100
	MOVWF       ?LocalText_gsmEvent_13+11 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_13+12 
	MOVLW       102
	MOVWF       ?LocalText_gsmEvent_13+13 
	MOVLW       97
	MOVWF       ?LocalText_gsmEvent_13+14 
	MOVLW       105
	MOVWF       ?LocalText_gsmEvent_13+15 
	MOVLW       108
	MOVWF       ?LocalText_gsmEvent_13+16 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_13+17 
	MOVLW       100
	MOVWF       ?LocalText_gsmEvent_13+18 
	MOVLW       13
	MOVWF       ?LocalText_gsmEvent_13+19 
	MOVLW       10
	MOVWF       ?LocalText_gsmEvent_13+20 
	MOVLW       0
	MOVWF       ?LocalText_gsmEvent_13+21 
	MOVLW       ?LocalText_gsmEvent_13+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_13+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,380 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent79:
;SimPLC.mbas,382 :: 		case gsmevntGprsHttpResponseLine
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       112
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent82
;SimPLC.mbas,383 :: 		if (bitGsmGprsFirstLine) then
	BTFSS       _bitGsmGprsFirstLine+0, BitPos(_bitGsmGprsFirstLine+0) 
	GOTO        L__gsmEvent84
;SimPLC.mbas,385 :: 		LCD_Cmd(_LCD_Clear)
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;SimPLC.mbas,386 :: 		LCD_Out(1,1,"HTTP Result:")
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       72
	MOVWF       ?LocalText_gsmEvent_14+0 
	MOVLW       84
	MOVWF       ?LocalText_gsmEvent_14+1 
	MOVLW       84
	MOVWF       ?LocalText_gsmEvent_14+2 
	MOVLW       80
	MOVWF       ?LocalText_gsmEvent_14+3 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_14+4 
	MOVLW       82
	MOVWF       ?LocalText_gsmEvent_14+5 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_14+6 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_14+7 
	MOVLW       117
	MOVWF       ?LocalText_gsmEvent_14+8 
	MOVLW       108
	MOVWF       ?LocalText_gsmEvent_14+9 
	MOVLW       116
	MOVWF       ?LocalText_gsmEvent_14+10 
	MOVLW       58
	MOVWF       ?LocalText_gsmEvent_14+11 
	CLRF        ?LocalText_gsmEvent_14+12 
	MOVLW       ?LocalText_gsmEvent_14+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_14+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,387 :: 		LCD_Out(2,1,pstrGsmEventData)
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_Lcd_Out_text+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,388 :: 		wrdLcdTmr = 2500
	MOVLW       196
	MOVWF       _wrdLcdTmr+0 
	MOVLW       9
	MOVWF       _wrdLcdTmr+1 
;SimPLC.mbas,390 :: 		bitGsmGprsFirstLine = 0
	BCF         _bitGsmGprsFirstLine+0, BitPos(_bitGsmGprsFirstLine+0) 
L__gsmEvent84:
;SimPLC.mbas,393 :: 		strcpy(USBout, "HTTP response line: ")
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       72
	MOVWF       ?LocalText_gsmEvent_15+0 
	MOVLW       84
	MOVWF       ?LocalText_gsmEvent_15+1 
	MOVLW       84
	MOVWF       ?LocalText_gsmEvent_15+2 
	MOVLW       80
	MOVWF       ?LocalText_gsmEvent_15+3 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_15+4 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_15+5 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_15+6 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_15+7 
	MOVLW       112
	MOVWF       ?LocalText_gsmEvent_15+8 
	MOVLW       111
	MOVWF       ?LocalText_gsmEvent_15+9 
	MOVLW       110
	MOVWF       ?LocalText_gsmEvent_15+10 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_15+11 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_15+12 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_15+13 
	MOVLW       108
	MOVWF       ?LocalText_gsmEvent_15+14 
	MOVLW       105
	MOVWF       ?LocalText_gsmEvent_15+15 
	MOVLW       110
	MOVWF       ?LocalText_gsmEvent_15+16 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_15+17 
	MOVLW       58
	MOVWF       ?LocalText_gsmEvent_15+18 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_15+19 
	CLRF        ?LocalText_gsmEvent_15+20 
	MOVLW       ?LocalText_gsmEvent_15+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_15+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,394 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;SimPLC.mbas,395 :: 		strcpyTillChar(pstrGsmEventData, @USBout, 0, 61)
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_strcpyTillChar_source+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_strcpyTillChar_source+1 
	MOVLW       _USBout+0
	MOVWF       FARG_strcpyTillChar_dest+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpyTillChar_dest+1 
	CLRF        FARG_strcpyTillChar_stop_char+0 
	MOVLW       61
	MOVWF       FARG_strcpyTillChar_max_len+0 
	CALL        _strcpyTillChar+0, 0
;SimPLC.mbas,396 :: 		strcat(USBout, "" + Chr(13) + Chr(10))
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_s1+1 
	MOVLW       13
	MOVWF       ?LocalText_gsmEvent_16+0 
	MOVLW       10
	MOVWF       ?LocalText_gsmEvent_16+1 
	MOVLW       0
	MOVWF       ?LocalText_gsmEvent_16+2 
	MOVLW       ?LocalText_gsmEvent_16+0
	MOVWF       FARG_strcat_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_16+0)
	MOVWF       FARG_strcat_s2+1 
	CALL        _strcat+0, 0
;SimPLC.mbas,397 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent82:
;SimPLC.mbas,399 :: 		case gsmevntGprsHttpResultErr
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       111
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent88
;SimPLC.mbas,401 :: 		LCD_Cmd(_LCD_Clear)
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;SimPLC.mbas,402 :: 		LCD_Out(1,1,"HTTP Error:")
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       72
	MOVWF       ?LocalText_gsmEvent_17+0 
	MOVLW       84
	MOVWF       ?LocalText_gsmEvent_17+1 
	MOVLW       84
	MOVWF       ?LocalText_gsmEvent_17+2 
	MOVLW       80
	MOVWF       ?LocalText_gsmEvent_17+3 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_17+4 
	MOVLW       69
	MOVWF       ?LocalText_gsmEvent_17+5 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_17+6 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_17+7 
	MOVLW       111
	MOVWF       ?LocalText_gsmEvent_17+8 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_17+9 
	MOVLW       58
	MOVWF       ?LocalText_gsmEvent_17+10 
	CLRF        ?LocalText_gsmEvent_17+11 
	MOVLW       ?LocalText_gsmEvent_17+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_17+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,403 :: 		LCD_Out(2,1,pstrGsmEventData)
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_Lcd_Out_text+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,404 :: 		wrdLcdTmr = 2500
	MOVLW       196
	MOVWF       _wrdLcdTmr+0 
	MOVLW       9
	MOVWF       _wrdLcdTmr+1 
;SimPLC.mbas,407 :: 		strcpy(USBout, "HTTP response error, code ")
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       72
	MOVWF       ?LocalText_gsmEvent_18+0 
	MOVLW       84
	MOVWF       ?LocalText_gsmEvent_18+1 
	MOVLW       84
	MOVWF       ?LocalText_gsmEvent_18+2 
	MOVLW       80
	MOVWF       ?LocalText_gsmEvent_18+3 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_18+4 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_18+5 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_18+6 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_18+7 
	MOVLW       112
	MOVWF       ?LocalText_gsmEvent_18+8 
	MOVLW       111
	MOVWF       ?LocalText_gsmEvent_18+9 
	MOVLW       110
	MOVWF       ?LocalText_gsmEvent_18+10 
	MOVLW       115
	MOVWF       ?LocalText_gsmEvent_18+11 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_18+12 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_18+13 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_18+14 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_18+15 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_18+16 
	MOVLW       111
	MOVWF       ?LocalText_gsmEvent_18+17 
	MOVLW       114
	MOVWF       ?LocalText_gsmEvent_18+18 
	MOVLW       44
	MOVWF       ?LocalText_gsmEvent_18+19 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_18+20 
	MOVLW       99
	MOVWF       ?LocalText_gsmEvent_18+21 
	MOVLW       111
	MOVWF       ?LocalText_gsmEvent_18+22 
	MOVLW       100
	MOVWF       ?LocalText_gsmEvent_18+23 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_18+24 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_18+25 
	CLRF        ?LocalText_gsmEvent_18+26 
	MOVLW       ?LocalText_gsmEvent_18+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_18+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,408 :: 		strcat(USBout, pstrGsmEventData)
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_s1+1 
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_strcat_s2+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_strcat_s2+1 
	CALL        _strcat+0, 0
;SimPLC.mbas,409 :: 		strcat(USBout, "" + Chr(13) + Chr(10))
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_s1+1 
	MOVLW       13
	MOVWF       ?LocalText_gsmEvent_19+0 
	MOVLW       10
	MOVWF       ?LocalText_gsmEvent_19+1 
	MOVLW       0
	MOVWF       ?LocalText_gsmEvent_19+2 
	MOVLW       ?LocalText_gsmEvent_19+0
	MOVWF       FARG_strcat_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_19+0)
	MOVWF       FARG_strcat_s2+1 
	CALL        _strcat+0, 0
;SimPLC.mbas,410 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent88:
;SimPLC.mbas,412 :: 		case gsmevntGprsFailed
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       110
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent91
;SimPLC.mbas,414 :: 		LCD_Cmd(_LCD_Clear)
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;SimPLC.mbas,415 :: 		LCD_Out(1,1,"GPRS Failed")
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       71
	MOVWF       ?LocalText_gsmEvent_20+0 
	MOVLW       80
	MOVWF       ?LocalText_gsmEvent_20+1 
	MOVLW       82
	MOVWF       ?LocalText_gsmEvent_20+2 
	MOVLW       83
	MOVWF       ?LocalText_gsmEvent_20+3 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_20+4 
	MOVLW       70
	MOVWF       ?LocalText_gsmEvent_20+5 
	MOVLW       97
	MOVWF       ?LocalText_gsmEvent_20+6 
	MOVLW       105
	MOVWF       ?LocalText_gsmEvent_20+7 
	MOVLW       108
	MOVWF       ?LocalText_gsmEvent_20+8 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_20+9 
	MOVLW       100
	MOVWF       ?LocalText_gsmEvent_20+10 
	CLRF        ?LocalText_gsmEvent_20+11 
	MOVLW       ?LocalText_gsmEvent_20+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_20+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,416 :: 		wrdLcdTmr = 2500
	MOVLW       196
	MOVWF       _wrdLcdTmr+0 
	MOVLW       9
	MOVWF       _wrdLcdTmr+1 
;SimPLC.mbas,419 :: 		strcpy(USBout, "GPRS failed" + Chr(13) + Chr(10))
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       71
	MOVWF       ?LocalText_gsmEvent_21+0 
	MOVLW       80
	MOVWF       ?LocalText_gsmEvent_21+1 
	MOVLW       82
	MOVWF       ?LocalText_gsmEvent_21+2 
	MOVLW       83
	MOVWF       ?LocalText_gsmEvent_21+3 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_21+4 
	MOVLW       102
	MOVWF       ?LocalText_gsmEvent_21+5 
	MOVLW       97
	MOVWF       ?LocalText_gsmEvent_21+6 
	MOVLW       105
	MOVWF       ?LocalText_gsmEvent_21+7 
	MOVLW       108
	MOVWF       ?LocalText_gsmEvent_21+8 
	MOVLW       101
	MOVWF       ?LocalText_gsmEvent_21+9 
	MOVLW       100
	MOVWF       ?LocalText_gsmEvent_21+10 
	MOVLW       13
	MOVWF       ?LocalText_gsmEvent_21+11 
	MOVLW       10
	MOVWF       ?LocalText_gsmEvent_21+12 
	MOVLW       0
	MOVWF       ?LocalText_gsmEvent_21+13 
	MOVLW       ?LocalText_gsmEvent_21+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_21+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,420 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent91:
;SimPLC.mbas,422 :: 		case gsmevntDateTimeRead
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       150
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent94
;SimPLC.mbas,423 :: 		dtmRTCC = dtmGsmEvent
	MOVLW       _dtmRTCC+0
	MOVWF       FSR1 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FSR1H 
	MOVLW       _dtmGsmEvent+0
	MOVWF       FSR2 
	MOVLW       hi_addr(_dtmGsmEvent+0)
	MOVWF       FSR2H 
	MOVLW       6
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	CALL        ___CA2AW+0, 0
;SimPLC.mbas,424 :: 		rtccSet()
	CALL        _rtccSet+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent94:
;SimPLC.mbas,425 :: 		case gsmevntDateTimeWrite
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       151
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent97
;SimPLC.mbas,426 :: 		RTCC_Read()
	CALL        _RTCC_Read+0, 0
;SimPLC.mbas,427 :: 		dtmGsmEvent = dtmRTCC
	MOVLW       _dtmGsmEvent+0
	MOVWF       FSR1 
	MOVLW       hi_addr(_dtmGsmEvent+0)
	MOVWF       FSR1H 
	MOVLW       _dtmRTCC+0
	MOVWF       FSR2 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FSR2H 
	MOVLW       6
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	CALL        ___CA2AW+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent97:
;SimPLC.mbas,428 :: 		case gsmevntIMEI_Read
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       20
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmEvent100
;SimPLC.mbas,430 :: 		strcpy(USBout, "IMEI: ")
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       73
	MOVWF       ?LocalText_gsmEvent_22+0 
	MOVLW       77
	MOVWF       ?LocalText_gsmEvent_22+1 
	MOVLW       69
	MOVWF       ?LocalText_gsmEvent_22+2 
	MOVLW       73
	MOVWF       ?LocalText_gsmEvent_22+3 
	MOVLW       58
	MOVWF       ?LocalText_gsmEvent_22+4 
	MOVLW       32
	MOVWF       ?LocalText_gsmEvent_22+5 
	CLRF        ?LocalText_gsmEvent_22+6 
	MOVLW       ?LocalText_gsmEvent_22+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_22+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,431 :: 		strcat(USBout, pstrGsmEventData)
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_s1+1 
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_strcat_s2+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_strcat_s2+1 
	CALL        _strcat+0, 0
;SimPLC.mbas,432 :: 		strcat(USBout, "" + Chr(13) + Chr(10))
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_s1+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_s1+1 
	MOVLW       13
	MOVWF       ?LocalText_gsmEvent_23+0 
	MOVLW       10
	MOVWF       ?LocalText_gsmEvent_23+1 
	MOVLW       0
	MOVWF       ?LocalText_gsmEvent_23+2 
	MOVLW       ?LocalText_gsmEvent_23+0
	MOVWF       FARG_strcat_s2+0 
	MOVLW       hi_addr(?LocalText_gsmEvent_23+0)
	MOVWF       FARG_strcat_s2+1 
	CALL        _strcat+0, 0
;SimPLC.mbas,433 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	GOTO        L__gsmEvent60
L__gsmEvent100:
L__gsmEvent60:
;SimPLC.mbas,436 :: 		end sub
L_end_gsmEvent:
	RETURN      0
; end of _gsmEvent

_lcdRTCC:

;SimPLC.mbas,439 :: 		sub procedure lcdRTCC() ' Display the RTCC date/time on the LCD
;SimPLC.mbas,440 :: 		RTCC_Read()
	CALL        _RTCC_Read+0, 0
;SimPLC.mbas,441 :: 		memset(@strLCD, " ", 16)
	MOVLW       _strLcd+0
	MOVWF       FARG_memset_p+0 
	MOVLW       hi_addr(_strLcd+0)
	MOVWF       FARG_memset_p+1 
	MOVLW       32
	MOVWF       FARG_memset_character+0 
	MOVLW       16
	MOVWF       FARG_memset_n+0 
	MOVLW       0
	MOVWF       FARG_memset_n+1 
	CALL        _memset+0, 0
;SimPLC.mbas,442 :: 		strLCD[16] = 0
	CLRF        _strLcd+16 
;SimPLC.mbas,443 :: 		pstr = @strLCD + 4
	MOVLW       4
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	MOVLW       _strLcd+0
	ADDWF       R0, 1 
	MOVLW       hi_addr(_strLcd+0)
	ADDWFC      R1, 1 
	MOVF        R0, 0 
	MOVWF       _pstr+0 
	MOVF        R1, 0 
	MOVWF       _pstr+1 
;SimPLC.mbas,444 :: 		RTCC_GenerateTimeString(dtmRTCC, pstr, 1)
	MOVLW       _dtmRTCC+0
	MOVWF       FARG_RTCC_GenerateTimeString_dt+0 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FARG_RTCC_GenerateTimeString_dt+1 
	MOVF        R0, 0 
	MOVWF       FARG_RTCC_GenerateTimeString_rtccstring+0 
	MOVF        R1, 0 
	MOVWF       FARG_RTCC_GenerateTimeString_rtccstring+1 
	MOVLW       1
	MOVWF       FARG_RTCC_GenerateTimeString_incl_sec+0 
	CALL        _RTCC_GenerateTimeString+0, 0
;SimPLC.mbas,445 :: 		strLcd[12] = " "
	MOVLW       32
	MOVWF       _strLcd+12 
;SimPLC.mbas,446 :: 		Lcd_Out(2,1,strLcd)
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       _strLcd+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(_strLcd+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,447 :: 		pstr = @strLCD + 3
	MOVLW       3
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	MOVLW       _strLcd+0
	ADDWF       R0, 1 
	MOVLW       hi_addr(_strLcd+0)
	ADDWFC      R1, 1 
	MOVF        R0, 0 
	MOVWF       _pstr+0 
	MOVF        R1, 0 
	MOVWF       _pstr+1 
;SimPLC.mbas,448 :: 		RTCC_GenerateDateStringDMY(dtmRTCC, pstr)
	MOVLW       _dtmRTCC+0
	MOVWF       FARG_RTCC_GenerateDateStringDMY_dt+0 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FARG_RTCC_GenerateDateStringDMY_dt+1 
	MOVF        R0, 0 
	MOVWF       FARG_RTCC_GenerateDateStringDMY_rtccstring+0 
	MOVF        R1, 0 
	MOVWF       FARG_RTCC_GenerateDateStringDMY_rtccstring+1 
	CALL        _RTCC_GenerateDateStringDMY+0, 0
;SimPLC.mbas,449 :: 		strLcd[13] = " "
	MOVLW       32
	MOVWF       _strLcd+13 
;SimPLC.mbas,450 :: 		Lcd_Out(1,1,strLcd)
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       _strLcd+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(_strLcd+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;SimPLC.mbas,451 :: 		end sub
L_end_lcdRTCC:
	RETURN      0
; end of _lcdRTCC

_main:

;SimPLC.mbas,454 :: 		main:
;SimPLC.mbas,455 :: 		setup()
	CALL        _setup+0, 0
;SimPLC.mbas,456 :: 		startup()
	CALL        _startup+0, 0
;SimPLC.mbas,457 :: 		gsmDateTimeRead() ' Request a read of the GSM modules date/time
	CALL        _gsmDateTimeRead+0, 0
;SimPLC.mbas,458 :: 		while true
L__main104:
;SimPLC.mbas,459 :: 		if (OERR1_bit) then ' Check for UART rx overflow
	BTFSS       OERR1_bit+0, BitPos(OERR1_bit+0) 
	GOTO        L__main109
;SimPLC.mbas,463 :: 		USBout = "UART rx overflow occurred." + Chr(13) + Chr(10)
	MOVLW       85
	MOVWF       1344 
	MOVLW       65
	MOVWF       1345 
	MOVLW       82
	MOVWF       1346 
	MOVLW       84
	MOVWF       1347 
	MOVLW       32
	MOVWF       1348 
	MOVLW       114
	MOVWF       1349 
	MOVLW       120
	MOVWF       1350 
	MOVLW       32
	MOVWF       1351 
	MOVLW       111
	MOVWF       1352 
	MOVLW       118
	MOVWF       1353 
	MOVLW       101
	MOVWF       1354 
	MOVLW       114
	MOVWF       1355 
	MOVLW       102
	MOVWF       1356 
	MOVLW       108
	MOVWF       1357 
	MOVLW       111
	MOVWF       1358 
	MOVLW       119
	MOVWF       1359 
	MOVLW       32
	MOVWF       1360 
	MOVLW       111
	MOVWF       1361 
	MOVLW       99
	MOVWF       1362 
	MOVLW       99
	MOVWF       1363 
	MOVLW       117
	MOVWF       1364 
	MOVLW       114
	MOVWF       1365 
	MOVLW       114
	MOVWF       1366 
	MOVLW       101
	MOVWF       1367 
	MOVLW       100
	MOVWF       1368 
	MOVLW       46
	MOVWF       1369 
	MOVLW       13
	MOVWF       1370 
	MOVLW       10
	MOVWF       1371 
	MOVLW       0
	MOVWF       1372 
;SimPLC.mbas,464 :: 		HID_Write(@USBout, 64)
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
L__main109:
;SimPLC.mbas,467 :: 		gsmPoll()
	CALL        _gsmPoll+0, 0
;SimPLC.mbas,470 :: 		if (wrdLcdTmr = 0) then
	MOVLW       0
	XORWF       _wrdLcdTmr+1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__main140
	MOVLW       0
	XORWF       _wrdLcdTmr+0, 0 
L__main140:
	BTFSS       STATUS+0, 2 
	GOTO        L__main112
;SimPLC.mbas,471 :: 		lcdRTCC()
	CALL        _lcdRTCC+0, 0
;SimPLC.mbas,472 :: 		wrdLcdTmr = 1000
	MOVLW       232
	MOVWF       _wrdLcdTmr+0 
	MOVLW       3
	MOVWF       _wrdLcdTmr+1 
L__main112:
;SimPLC.mbas,477 :: 		if (HID_Read() <> 0) then
	CALL        _HID_Read+0, 0
	MOVF        R0, 0 
	XORLW       0
	BTFSC       STATUS+0, 2 
	GOTO        L__main115
L__main115:
;SimPLC.mbas,485 :: 		if (RB7_bit = 0) and (wrdRB7Tmr > 10000) then
	BTFSC       RB7_bit+0, BitPos(RB7_bit+0) 
	GOTO        L__main141
	BSF         R2, 0 
	GOTO        L__main142
L__main141:
	BCF         R2, 0 
L__main142:
	MOVF        _wrdRB7Tmr+1, 0 
	SUBLW       39
	BTFSS       STATUS+0, 2 
	GOTO        L__main143
	MOVF        _wrdRB7Tmr+0, 0 
	SUBLW       16
L__main143:
	MOVLW       255
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R1 
	CLRF        R0 
	BTFSC       R2, 0 
	INCF        R0, 1 
	MOVF        R1, 0 
	ANDWF       R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L__main118
;SimPLC.mbas,487 :: 		strcpy(strMsgSendTxt, "SimPLC: RB7 pulled low.")
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_strcpy_s1+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_strcpy_s1+1 
	MOVLW       83
	MOVWF       ?LocalText_main_24+0 
	MOVLW       105
	MOVWF       ?LocalText_main_24+1 
	MOVLW       109
	MOVWF       ?LocalText_main_24+2 
	MOVLW       80
	MOVWF       ?LocalText_main_24+3 
	MOVLW       76
	MOVWF       ?LocalText_main_24+4 
	MOVLW       67
	MOVWF       ?LocalText_main_24+5 
	MOVLW       58
	MOVWF       ?LocalText_main_24+6 
	MOVLW       32
	MOVWF       ?LocalText_main_24+7 
	MOVLW       82
	MOVWF       ?LocalText_main_24+8 
	MOVLW       66
	MOVWF       ?LocalText_main_24+9 
	MOVLW       55
	MOVWF       ?LocalText_main_24+10 
	MOVLW       32
	MOVWF       ?LocalText_main_24+11 
	MOVLW       112
	MOVWF       ?LocalText_main_24+12 
	MOVLW       117
	MOVWF       ?LocalText_main_24+13 
	MOVLW       108
	MOVWF       ?LocalText_main_24+14 
	MOVLW       108
	MOVWF       ?LocalText_main_24+15 
	MOVLW       101
	MOVWF       ?LocalText_main_24+16 
	MOVLW       100
	MOVWF       ?LocalText_main_24+17 
	MOVLW       32
	MOVWF       ?LocalText_main_24+18 
	MOVLW       108
	MOVWF       ?LocalText_main_24+19 
	MOVLW       111
	MOVWF       ?LocalText_main_24+20 
	MOVLW       119
	MOVWF       ?LocalText_main_24+21 
	MOVLW       46
	MOVWF       ?LocalText_main_24+22 
	CLRF        ?LocalText_main_24+23 
	MOVLW       ?LocalText_main_24+0
	MOVWF       FARG_strcpy_s2+0 
	MOVLW       hi_addr(?LocalText_main_24+0)
	MOVWF       FARG_strcpy_s2+1 
	CALL        _strcpy+0, 0
;SimPLC.mbas,488 :: 		msgSend()
	CALL        _msgSend+0, 0
;SimPLC.mbas,491 :: 		if not gsmGprsPending() then
	CALL        _gsmGprsPending+0, 0
	COMF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L__main121
;SimPLC.mbas,492 :: 		bitGsmGprsFirstLine = 1
	BSF         _bitGsmGprsFirstLine+0, BitPos(_bitGsmGprsFirstLine+0) 
;SimPLC.mbas,494 :: 		gsmGprsHttpPost("www.dizzy.co.za/gprs_test.asp", "unit=SimPLC")
	MOVLW       119
	MOVWF       ?LocalText_main_25+0 
	MOVLW       119
	MOVWF       ?LocalText_main_25+1 
	MOVLW       119
	MOVWF       ?LocalText_main_25+2 
	MOVLW       46
	MOVWF       ?LocalText_main_25+3 
	MOVLW       100
	MOVWF       ?LocalText_main_25+4 
	MOVLW       105
	MOVWF       ?LocalText_main_25+5 
	MOVLW       122
	MOVWF       ?LocalText_main_25+6 
	MOVLW       122
	MOVWF       ?LocalText_main_25+7 
	MOVLW       121
	MOVWF       ?LocalText_main_25+8 
	MOVLW       46
	MOVWF       ?LocalText_main_25+9 
	MOVLW       99
	MOVWF       ?LocalText_main_25+10 
	MOVLW       111
	MOVWF       ?LocalText_main_25+11 
	MOVLW       46
	MOVWF       ?LocalText_main_25+12 
	MOVLW       122
	MOVWF       ?LocalText_main_25+13 
	MOVLW       97
	MOVWF       ?LocalText_main_25+14 
	MOVLW       47
	MOVWF       ?LocalText_main_25+15 
	MOVLW       103
	MOVWF       ?LocalText_main_25+16 
	MOVLW       112
	MOVWF       ?LocalText_main_25+17 
	MOVLW       114
	MOVWF       ?LocalText_main_25+18 
	MOVLW       115
	MOVWF       ?LocalText_main_25+19 
	MOVLW       95
	MOVWF       ?LocalText_main_25+20 
	MOVLW       116
	MOVWF       ?LocalText_main_25+21 
	MOVLW       101
	MOVWF       ?LocalText_main_25+22 
	MOVLW       115
	MOVWF       ?LocalText_main_25+23 
	MOVLW       116
	MOVWF       ?LocalText_main_25+24 
	MOVLW       46
	MOVWF       ?LocalText_main_25+25 
	MOVLW       97
	MOVWF       ?LocalText_main_25+26 
	MOVLW       115
	MOVWF       ?LocalText_main_25+27 
	MOVLW       112
	MOVWF       ?LocalText_main_25+28 
	CLRF        ?LocalText_main_25+29 
	MOVLW       ?LocalText_main_25+0
	MOVWF       FARG_gsmGprsHttpPost_url+0 
	MOVLW       hi_addr(?LocalText_main_25+0)
	MOVWF       FARG_gsmGprsHttpPost_url+1 
	MOVLW       117
	MOVWF       ?LocalText_main_26+0 
	MOVLW       110
	MOVWF       ?LocalText_main_26+1 
	MOVLW       105
	MOVWF       ?LocalText_main_26+2 
	MOVLW       116
	MOVWF       ?LocalText_main_26+3 
	MOVLW       61
	MOVWF       ?LocalText_main_26+4 
	MOVLW       83
	MOVWF       ?LocalText_main_26+5 
	MOVLW       105
	MOVWF       ?LocalText_main_26+6 
	MOVLW       109
	MOVWF       ?LocalText_main_26+7 
	MOVLW       80
	MOVWF       ?LocalText_main_26+8 
	MOVLW       76
	MOVWF       ?LocalText_main_26+9 
	MOVLW       67
	MOVWF       ?LocalText_main_26+10 
	CLRF        ?LocalText_main_26+11 
	MOVLW       ?LocalText_main_26+0
	MOVWF       FARG_gsmGprsHttpPost_postdata+0 
	MOVLW       hi_addr(?LocalText_main_26+0)
	MOVWF       FARG_gsmGprsHttpPost_postdata+1 
	CALL        _gsmGprsHttpPost+0, 0
L__main121:
;SimPLC.mbas,497 :: 		wrdRB7Tmr = 0
	CLRF        _wrdRB7Tmr+0 
	CLRF        _wrdRB7Tmr+1 
L__main118:
;SimPLC.mbas,500 :: 		wend ' (while)
	GOTO        L__main104
L_end_main:
	GOTO        $+0
; end of _main
