Henrik,

It is using DHCP but the lease time is a couple days, so it's maintaining the same IP when it reconnects. The AP just drops it when it sits quiet for a while.

I ran a test and set up a regular loop running with a counter and periodically spitting the hserout and it worked fine.

The code I'm having an issue with is using Darrell Taylors interrupt setup. I don't think the interrupt is running as I can't get the light to flash.

Please see the two code samples below.
Code:
'****************************************************************
'*  Name    : Heartbeat No Interrupt.PBP                        *
'*          : All Rights Reserved                               *
'*  Date    : 10-29-15                                          *
'*  Version : 1.0                                               *
'****************************************************************
 #config
 __CONFIG _CONFIG1H, _OSCS_OFF_1H & _OSC_XT_1H
 __CONFIG _CONFIG2L, _BOR_ON_2L & _BORV_27_2L & _PWRT_ON_2L
 __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
 __CONFIG _CONFIG3H, _CCP2MUX_OFF_3H
 __CONFIG _CONFIG4L, _LVP_OFF_4L 
#endconfig

CLEAR   

DEFINE ADC_BITS 10          ' 10 Bit Resolution
DEFINE ADC_CLOCK 3          ' Internal RC A/D Oscillator
DEFINE ADC_SAMPLEUS 50      ' Delay before A/D Conversion
DEFINE OSC 4                ' 4 MHz Internal Oscillator
DEFINE HSER_RCSTA 90h       ' Serial Input Enabled
DEFINE HSER_TXSTA 24h       ' Serial Output Enabled (High Speed)
DEFINE HSER_BAUD 9600       ' Serial Baud Rate (9600 BPS)

D           CON 10          ' Divide by D (10 for 4MHz, 2 for 20MHz) 

LED1        VAR PortG.0     ' Test LED
LED2        VAR PortG.4     ' Piezo Output

Awake       var byte        ' variable for counting to keep unit alive on network
Awake1      var byte        ' variable for counting to keep unit alive on network
ID1         var byte
Buffer1     var byte
Buffer2     var byte
                            
PortA   =   %00100000       ' PortA All Off 
PortB   =   %00000000       ' PortB All Off
PortC   =   %00000000       ' PortC All Off
PortD   =   %00000000       ' PortD All Off
PortE   =   %00000000       ' PortE All Off
PortF   =   %00000000       ' PortF All Off
PortG   =   %00000000       ' PortG All Off
TRISA   =   %00011111       ' Inputs = 1, Outputs = 0 
TRISB   =   %11111111       ' Inputs = 1, Outputs = 0
TRISC   =   %10000010       ' Inputs = 1, Outputs = 0
TRISD   =   %11111111       ' Inputs = 1, Outputs = 0
TRISE   =   %11111111       ' Inputs = 1, Outputs = 0
TRISF   =   %11111111       ' Inputs = 1, Outputs = 0
TRISG   =   %00000000       ' Inputs = 1, Outputs = 0 RG(7-5) NA
ADCON0  =   %00000001       ' A/D Enabled, Channel 0 (AN0)
ADCON1  =   %00001110       ' AN0 Analog Input (Rest Digital I/O) 
ADCON2.7 = 1                ' Right Justify 10 Bit Word
CMCON   =   %00000111       ' Both Comparators Disabled
INTCON2.7 = 0               ' Turn ON PortB Pull-Ups
T1CON   =   %00110100       ' 1:8 Prescale
'****************************************************************

Awake = 0

Buffer2 = %11111111             'wifi heartbeat 
'***********************************************************************

Main:
                      
hserin 200,TimeOut,[dec2 ID1, skip 1, bin8 Buffer1]
TimeOut:
'***********************************************************************
ID1 = ID1 + 1
if ID1 = 99 then ID1 = 0

    Awake = Awake + 1
    if Awake > 50 then                          'sends out 
            Awake = 0                          ' reset count
            toggle LED1
            gosub Heartbeat 
    endif

goto Main

Heartbeat:              'periodically send out current status to keep wifi alive              
Toggle LED2                     ' toggle on Beep to see frequency
Hserout ["y"]
HSEROUT [dec2 ID1, " "]         ' Decimal 2 Characters, Space
HSEROUT [bin8 Buffer2]          ' Binary 8 Characters, Space
Hserout ["z"]
return
Code:
'****************************************************************
'*  Name    : Heartbeat Interrupt.PBP                        *
'*          : All Rights Reserved                               *
'*  Date    : 10-29-15                                          *
'*  Version : 1.0                                               *
'****************************************************************

#config
 __CONFIG _CONFIG1H, _OSCS_OFF_1H & _OSC_XT_1H
 __CONFIG _CONFIG2L, _BOR_ON_2L & _BORV_27_2L & _PWRT_ON_2L
 __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
 __CONFIG _CONFIG3H, _CCP2MUX_OFF_3H
 __CONFIG _CONFIG4L, _LVP_OFF_4L 
#endconfig

INCLUDE "DT_INTS-18.bas"     ; Base Interrupt System
INCLUDE "ReEnterPBP-18.bas"     ; Include if using PBP interrupts
INCLUDE "MODEDEFS.BAS"       ' Include Shiftin/out modes
'INCLUDE "Elapsed_INT-18.bas"  ; Elapsed Timer Routines

'GOSUB ResetTime               ; Reset Time to  0d-00:00:00.00   
'GOSUB StartTimer              ; Start the Elapsed Timer

CLEAR 
  
DEFINE ADC_BITS 10          ' 10 Bit Resolution
DEFINE ADC_CLOCK 3          ' Internal RC A/D Oscillator
DEFINE ADC_SAMPLEUS 50      ' Delay before A/D Conversion
DEFINE OSC 4                ' 4 MHz Internal Oscillator
DEFINE LOADER_USED 1        ' 
DEFINE HSER_RCSTA 90h       ' Serial Input Enabled
DEFINE HSER_TXSTA 24h       ' Serial Output Enabled (High Speed)
DEFINE HSER_BAUD 9600       ' Serial Baud Rate (9600 BPS)
DEFINE HSER_CLOERR  1       ' automatic clear overrun error 

D           CON 10          ' Divide by D (10 for 4MHz, 2 for 20MHz) 
'                           

'******************************************************************************
Awake       var byte        ' variable for counting to keep unit alive on network
Awake1      var byte        ' variable for counting to keep unit alive on network
LED1        VAR PortG.0     ' Test LED
LED2        VAR PortG.4     ' Piezo Output
InBuffer1   VAR BYTE        ' Input Buffer 1
InBuffer2   VAR BYTE        ' Input Buffer 2
Buffer1     VAR BYTE        ' Output Buffer 1
Buffer2     VAR BYTE        ' Output Buffer 2
ID1         var byte
ID2         var byte
ID3         var byte
'***********************************************************************
ASM
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
        INT_Handler    RX_INT,    _serialin,   PBP,  no       
    endm
    INT_CREATE                ; Creates the interrupt processor
ENDASM

T0CON  = %10010010             ; T0 = 16-bit, Prescaler 8
@   INT_ENABLE   RX_INT     ; enable external (INT) interrupts 
'***********************************************************************
PortA   =   %00100000       ' PortA All Off (Rx Enabled/RF Switch = Receive)
PortB   =   %00000000       ' PortB All Off
PortC   =   %00000000       ' PortC All Off
PortD   =   %00000000       ' PortD All Off
PortE   =   %00000000       ' PortE All Off
PortF   =   %00000000       ' PortF All Off
PortG   =   %00000000       ' PortG All Off
TRISA   =   %00011111       ' Inputs = 1, Outputs = 0 
TRISB   =   %11111111       ' Inputs = 1, Outputs = 0
TRISC   =   %10000010       ' Inputs = 1, Outputs = 0
TRISD   =   %11111111       ' Inputs = 1, Outputs = 0
TRISE   =   %11111111       ' Inputs = 1, Outputs = 0
TRISF   =   %11111111       ' Inputs = 1, Outputs = 0
TRISG   =   %00000000       ' Inputs = 1, Outputs = 0 
ADCON0  =   %00000001       ' A/D Enabled, Channel 0 (AN0)
ADCON1  =   %00001111       ' AN0 Analog Input (Rest Digital I/O) 
ADCON2.7 = 1                ' Right Justify 10 Bit Word
CMCON   =   %00000111       ' Both Comparators Disabled
INTCON2.7 = 0               ' Turn ON PortB Pull-Ups
T1CON   =   %00110100       ' 1:8 Prescale, T1OSCEN Off (524.288mS)
'******************************************************************************
Awake = 0
Buffer2 = %11111111             'wifi heartbeat 
'***********************************************************************
Main:

ID1 = ID1 + 1
if ID1 = 99 then ID1 = 0

    Awake = Awake + 1
    if Awake > 50 then                          'sends out 
            Awake = 0                          ' reset count
            toggle LED1
            'INTCON.6 = 0  'Interrupt 0=OFF, 1=ON
            gosub Heartbeat 
            'INTCON.6 = 1  'Interrupt 0=OFF, 1=ON
    endif

goto Main

Heartbeat:              'periodically send out current status to keep wifi alive              
Toggle LED2                     ' toggle on Beep to see frequency
Hserout ["y"]
HSEROUT [dec2 ID1, " "]         ' Decimal 2 Characters, Space
HSEROUT [bin8 Buffer2]          ' Binary 8 Characters, Space
Hserout ["z"]
return

serialin:
hserin [dec2 ID1, skip 1, bin8 Buffer1]
'hserin 2,NoSignal,[dec2 ID1, skip 1, bin8 Buffer1]

@ INT_RETURN
'NoSignal:
'@ INT_RETURN
Thanks,
Hylan