Subversion Repositories HomeAutomation

Rev

Rev 125 | Blame | Last modification | View Log | SVN | RSS feed

MP2COD 4.02, COFF to COD File Converter
Copyright (c) 2006 Microchip Technology Inc.
Listing File Generated: Mon Nov 20 17:42:34 2006


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canIR\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canIR\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canIR\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canIR/Source/Main.c $ F:\MCP\projects\CAN\canIR\Source\Main.c
                                            * Last changed: $LastChangedDate: 2006-11-19 15:59:01 +0100 (sö, 19 nov 2006) $ F:\MCP\projects\CAN\canIR\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                            * Revision:     $Revision: 125 $                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
                                            #include <CAN.h>                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #ifdef USE_IREC                                                                  F:\MCP\projects\CAN\canIR\Source\Main.c
                                            #include <IRec.h>                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
001050   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canIR\Source\Main.c
001052   ffe6                                                                                                               
001054   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001056   ffd9                                                                                                               
001058   0e0f     MOVLW     0xf                                                                                             
00105a   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                            static TICK t = 0;                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
00105c   d975     RCALL     0x1348          mainInit();                                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canIR\Source\Main.c
00105e   ec3c     CALL      0x1a78,0x0          canInit();                                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
001060   f00d                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            #ifdef USE_IREC                                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
001062   ecda     CALL      0x15b4,0x0          irecInit();                                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
001064   f00a                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
001066   ecc7     CALL      0x1f8e,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
001068   f00f                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
00106a   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canIR\Source\Main.c
00106c   6ee6     MOVWF     0xe6,0x0                                                                                        
00106e   6ae6     CLRF      0xe6,0x0                                                                                        
001070   ec22     CALL      0x1e44,0x0                                                                                      
001072   f00f                                                                                                               
001074   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001076   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001078   082a     SUBLW     0x2a                                                                                            
00107a   e12b     BNZ       0x10d2                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
00107c   0e01     MOVLW     0x1                 MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canIR\Source\Main.c
00107e   6ee6     MOVWF     0xe6,0x0                                                                                        
001080   6ae6     CLRF      0xe6,0x0                                                                                        
001082   ec22     CALL      0x1e44,0x0                                                                                      
001084   f00f                                                                                                               
001086   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001088   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00108a   6e00     MOVWF     0x0,0x0                                                                                         
00108c   c000     MOVFF     0x0,0x1                                                                                         
00108e   f001                                                                                                               
001090   6a00     CLRF      0x0,0x0                                                                                         
001092   c000     MOVFF     0x0,0xfe6                                                                                       
001094   ffe6                                                                                                               
001096   c001     MOVFF     0x1,0xfe6                                                                                       
001098   ffe6                                                                                                               
00109a   0e02     MOVLW     0x2                                                                                             
00109c   6ee6     MOVWF     0xe6,0x0                                                                                        
00109e   6ae6     CLRF      0xe6,0x0                                                                                        
0010a0   ec22     CALL      0x1e44,0x0                                                                                      
0010a2   f00f                                                                                                               
0010a4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010a6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010a8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010aa   cfe7     MOVFF     0xfe7,0x1                                                                                       
0010ac   f001                                                                                                               
0010ae   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b0   cfe7     MOVFF     0xfe7,0x0                                                                                       
0010b2   f000                                                                                                               
0010b4   0100     MOVLB     0x0                                                                                             
0010b6   2400     ADDWF     0x0,0x0,0x0                                                                                     
0010b8   6f60     MOVWF     0x60,0x1                                                                                        
0010ba   0e00     MOVLW     0x0                                                                                             
0010bc   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0010be   6f61     MOVWF     0x61,0x1                                                                                        
0010c0   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
0010c2   6ee6     MOVWF     0xe6,0x0                                                                                        
0010c4   6ae6     CLRF      0xe6,0x0                                                                                        
0010c6   ec22     CALL      0x1e44,0x0                                                                                      
0010c8   f00f                                                                                                               
0010ca   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010cc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010ce   0100     MOVLB     0x0                                                                                             
0010d0   6f62     MOVWF     0x62,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            // Send user program startup heatbeat                                           F:\MCP\projects\CAN\canIR\Source\Main.c
0010d2   6adf     CLRF      0xdf,0x0        outCm.funct                     = FUNCT_BOOTLOADER;                                            F:\MCP\projects\CAN\canIR\Source\Main.c
0010d4   0e08     MOVLW     0x8             outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                        F:\MCP\projects\CAN\canIR\Source\Main.c
0010d6   6ef3     MOVWF     0xf3,0x0                                                                                        
0010d8   0e01     MOVLW     0x1                                                                                             
0010da   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010dc   ffdb                                                                                                               
0010de   0e02     MOVLW     0x2                                                                                             
0010e0   6adb     CLRF      0xdb,0x0                                                                                        
0010e2   0e03     MOVLW     0x3             outCm.nid                       = MY_NID;                                                      F:\MCP\projects\CAN\canIR\Source\Main.c
0010e4   c062     MOVFF     0x62,0xfdb                                                                                      
0010e6   ffdb                                                                                                               
0010e8   0e04     MOVLW     0x4             outCm.sid                       = MY_ID;                                                       F:\MCP\projects\CAN\canIR\Source\Main.c
0010ea   c060     MOVFF     0x60,0xfdb                                                                                      
0010ec   ffdb                                                                                                               
0010ee   0e05     MOVLW     0x5                                                                                             
0010f0   c061     MOVFF     0x61,0xfdb                                                                                      
0010f2   ffdb                                                                                                               
0010f4   0e01     MOVLW     0x1             outCm.data_length               = 1;                                                      F:\MCP\projects\CAN\canIR\Source\Main.c
0010f6   6ef3     MOVWF     0xf3,0x0                                                                                        
0010f8   0e06     MOVLW     0x6                                                                                             
0010fa   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010fc   ffdb                                                                                                               
0010fe   0e01     MOVLW     0x1             outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_USER_STARTUP;                 F:\MCP\projects\CAN\canIR\Source\Main.c
001100   6ef3     MOVWF     0xf3,0x0                                                                                        
001102   0e07     MOVLW     0x7                                                                                             
001104   cff3     MOVFF     0xff3,0xfdb                                                                                     
001106   ffdb                                                                                                               
001108   0e02     MOVLW     0x2             while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canIR\Source\Main.c
00110a   6ee6     MOVWF     0xe6,0x0                                                                                        
00110c   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
00110e   ffe9                                                                                                               
001110   cfda     MOVFF     0xfda,0xfea                                                                                     
001112   ffea                                                                                                               
001114   cfee     MOVFF     0xfee,0xfe6                                                                                     
001116   ffe6                                                                                                               
001118   cfee     MOVFF     0xfee,0xfe6                                                                                     
00111a   ffe6                                                                                                               
00111c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00111e   ffe6                                                                                                               
001120   cfee     MOVFF     0xfee,0xfe6                                                                                     
001122   ffe6                                                                                                               
001124   cfee     MOVFF     0xfee,0xfe6                                                                                     
001126   ffe6                                                                                                               
001128   cfee     MOVFF     0xfee,0xfe6                                                                                     
00112a   ffe6                                                                                                               
00112c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00112e   ffe6                                                                                                               
001130   cfee     MOVFF     0xfee,0xfe6                                                                                     
001132   ffe6                                                                                                               
001134   cfee     MOVFF     0xfee,0xfe6                                                                                     
001136   ffe6                                                                                                               
001138   cfee     MOVFF     0xfee,0xfe6                                                                                     
00113a   ffe6                                                                                                               
00113c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00113e   ffe6                                                                                                               
001140   cfee     MOVFF     0xfee,0xfe6                                                                                     
001142   ffe6                                                                                                               
001144   cfee     MOVFF     0xfee,0xfe6                                                                                     
001146   ffe6                                                                                                               
001148   cfee     MOVFF     0xfee,0xfe6                                                                                     
00114a   ffe6                                                                                                               
00114c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00114e   ffe6                                                                                                               
001150   ec52     CALL      0x1ca4,0x0                                                                                      
001152   f00e                                                                                                               
001154   6e00     MOVWF     0x0,0x0                                                                                         
001156   0e10     MOVLW     0x10                                                                                            
001158   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00115a   5000     MOVF      0x0,0x0,0x0                                                                                     
00115c   0900     IORLW     0x0                                                                                             
00115e   e101     BNZ       0x1162                                                                                          
001160   d7d3     BRA       0x1108                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
001280   d770     BRA       0x1162          while(1)                                                                        F:\MCP\projects\CAN\canIR\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                                static TICK t = 0;                                                             F:\MCP\projects\CAN\canIR\Source\Main.c
                                                static TICK heartbeat = 0;                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
001162   ecd1     CALL      0x1fa2,0x0          if ((tickGet()-heartbeat)>TICK_SECOND*5)                                       F:\MCP\projects\CAN\canIR\Source\Main.c
001164   f00f                                                                                                               
001166   0100     MOVLB     0x0                                                                                             
001168   516b     MOVF      0x6b,0x0,0x1                                                                                    
00116a   5c12     SUBWF     0x12,0x0,0x0                                                                                    
00116c   6e00     MOVWF     0x0,0x0                                                                                         
00116e   516c     MOVF      0x6c,0x0,0x1                                                                                    
001170   5813     SUBWFB    0x13,0x0,0x0                                                                                    
001172   6e01     MOVWF     0x1,0x0                                                                                         
001174   516d     MOVF      0x6d,0x0,0x1                                                                                    
001176   5814     SUBWFB    0x14,0x0,0x0                                                                                    
001178   6e02     MOVWF     0x2,0x0                                                                                         
00117a   516e     MOVF      0x6e,0x0,0x1                                                                                    
00117c   5815     SUBWFB    0x15,0x0,0x0                                                                                    
00117e   6e03     MOVWF     0x3,0x0                                                                                         
001180   80d8     BSF       0xd8,0x0,0x0                                                                                    
001182   0ef4     MOVLW     0xf4                                                                                            
001184   5400     SUBFWB    0x0,0x0,0x0                                                                                     
001186   0e01     MOVLW     0x1                                                                                             
001188   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00118a   0e00     MOVLW     0x0                                                                                             
00118c   5402     SUBFWB    0x2,0x0,0x0                                                                                     
00118e   0e00     MOVLW     0x0                                                                                             
001190   5403     SUBFWB    0x3,0x0,0x0                                                                                     
001192   e252     BC        0x1238                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
                                                    // Send alive heartbeat                                                       F:\MCP\projects\CAN\canIR\Source\Main.c
001194   6adf     CLRF      0xdf,0x0                outCm.funct                     = FUNCT_BOOTLOADER;                                          F:\MCP\projects\CAN\canIR\Source\Main.c
001196   0e08     MOVLW     0x8                     outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                      F:\MCP\projects\CAN\canIR\Source\Main.c
001198   6ef3     MOVWF     0xf3,0x0                                                                                        
00119a   0e01     MOVLW     0x1                                                                                             
00119c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00119e   ffdb                                                                                                               
0011a0   0e02     MOVLW     0x2                                                                                             
0011a2   6adb     CLRF      0xdb,0x0                                                                                        
0011a4   0e03     MOVLW     0x3                     outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
0011a6   c062     MOVFF     0x62,0xfdb                                                                                      
0011a8   ffdb                                                                                                               
0011aa   0e04     MOVLW     0x4                     outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
0011ac   c060     MOVFF     0x60,0xfdb                                                                                      
0011ae   ffdb                                                                                                               
0011b0   0e05     MOVLW     0x5                                                                                             
0011b2   c061     MOVFF     0x61,0xfdb                                                                                      
0011b4   ffdb                                                                                                               
0011b6   0e01     MOVLW     0x1                     outCm.data_length               = 1;                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
0011b8   6ef3     MOVWF     0xf3,0x0                                                                                        
0011ba   0e06     MOVLW     0x6                                                                                             
0011bc   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011be   ffdb                                                                                                               
0011c0   0e02     MOVLW     0x2                     outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_ALIVE;                      F:\MCP\projects\CAN\canIR\Source\Main.c
0011c2   6ef3     MOVWF     0xf3,0x0                                                                                        
0011c4   0e07     MOVLW     0x7                                                                                             
0011c6   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011c8   ffdb                                                                                                               
0011ca   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canIR\Source\Main.c
0011cc   6ee6     MOVWF     0xe6,0x0                                                                                        
0011ce   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0011d0   ffe9                                                                                                               
0011d2   cfda     MOVFF     0xfda,0xfea                                                                                     
0011d4   ffea                                                                                                               
0011d6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011d8   ffe6                                                                                                               
0011da   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011dc   ffe6                                                                                                               
0011de   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e0   ffe6                                                                                                               
0011e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e4   ffe6                                                                                                               
0011e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e8   ffe6                                                                                                               
0011ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011ec   ffe6                                                                                                               
0011ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011f0   ffe6                                                                                                               
0011f2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011f4   ffe6                                                                                                               
0011f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011f8   ffe6                                                                                                               
0011fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011fc   ffe6                                                                                                               
0011fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
001200   ffe6                                                                                                               
001202   cfee     MOVFF     0xfee,0xfe6                                                                                     
001204   ffe6                                                                                                               
001206   cfee     MOVFF     0xfee,0xfe6                                                                                     
001208   ffe6                                                                                                               
00120a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00120c   ffe6                                                                                                               
00120e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001210   ffe6                                                                                                               
001212   ec52     CALL      0x1ca4,0x0                                                                                      
001214   f00e                                                                                                               
001216   6e00     MOVWF     0x0,0x0                                                                                         
001218   0e10     MOVLW     0x10                                                                                            
00121a   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00121c   5000     MOVF      0x0,0x0,0x0                                                                                     
00121e   0900     IORLW     0x0                                                                                             
001220   e101     BNZ       0x1224                                                                                          
001222   d7d3     BRA       0x11ca                                                                                          
                                                                                                                                  F:\MCP\projects\CAN\canIR\Source\Main.c
001224   ecd1     CALL      0x1fa2,0x0              heartbeat = tickGet();                                                        F:\MCP\projects\CAN\canIR\Source\Main.c
001226   f00f                                                                                                               
001228   c012     MOVFF     0x12,0x6b                                                                                       
00122a   f06b                                                                                                               
00122c   c013     MOVFF     0x13,0x6c                                                                                       
00122e   f06c                                                                                                               
001230   c014     MOVFF     0x14,0x6d                                                                                       
001232   f06d                                                                                                               
001234   c015     MOVFF     0x15,0x6e                                                                                       
001236   f06e                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
001238   ecd1     CALL      0x1fa2,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
00123a   f00f                                                                                                               
00123c   0100     MOVLB     0x0                                                                                             
00123e   5167     MOVF      0x67,0x0,0x1                                                                                    
001240   5c12     SUBWF     0x12,0x0,0x0                                                                                    
001242   6e00     MOVWF     0x0,0x0                                                                                         
001244   5168     MOVF      0x68,0x0,0x1                                                                                    
001246   5813     SUBWFB    0x13,0x0,0x0                                                                                    
001248   6e01     MOVWF     0x1,0x0                                                                                         
00124a   5169     MOVF      0x69,0x0,0x1                                                                                    
00124c   5814     SUBWFB    0x14,0x0,0x0                                                                                    
00124e   6e02     MOVWF     0x2,0x0                                                                                         
001250   516a     MOVF      0x6a,0x0,0x1                                                                                    
001252   5815     SUBWFB    0x15,0x0,0x0                                                                                    
001254   6e03     MOVWF     0x3,0x0                                                                                         
001256   80d8     BSF       0xd8,0x0,0x0                                                                                    
001258   0e64     MOVLW     0x64                                                                                            
00125a   5400     SUBFWB    0x0,0x0,0x0                                                                                     
00125c   0e00     MOVLW     0x0                                                                                             
00125e   5401     SUBFWB    0x1,0x0,0x0                                                                                     
001260   0e00     MOVLW     0x0                                                                                             
001262   5402     SUBFWB    0x2,0x0,0x0                                                                                     
001264   0e00     MOVLW     0x0                                                                                             
001266   5403     SUBFWB    0x3,0x0,0x0                                                                                     
001268   e20b     BC        0x1280                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
00126a   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canIR\Source\Main.c
00126c   ecd1     CALL      0x1fa2,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
00126e   f00f                                                                                                               
001270   c012     MOVFF     0x12,0x67                                                                                       
001272   f067                                                                                                               
001274   c013     MOVFF     0x13,0x68                                                                                       
001276   f068                                                                                                               
001278   c014     MOVFF     0x14,0x69                                                                                       
00127a   f069                                                                                                               
00127c   c015     MOVFF     0x15,0x6a                                                                                       
00127e   f06a                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
001282   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
001284   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001286   e202     BC        0x128c                                                                                          
001288   6ae1     CLRF      0xe1,0x0                                                                                        
00128a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00128c   6ee1     MOVWF     0xe1,0x0                                                                                        
00128e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001290   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001292   ffd9                                                                                                               
001294   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #pragma interrupt high_isr                                                       F:\MCP\projects\CAN\canIR\Source\Main.c
001296   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
001298   ffe4                                                                                                               
00129a   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00129c   ffda                                                                                                               
00129e   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
0012a0   ffe4                                                                                                               
0012a2   cfea     MOVFF     0xfea,0xfe4                                                                                     
0012a4   ffe4                                                                                                               
0012a6   cff6     MOVFF     0xff6,0xfe4                                                                                     
0012a8   ffe4                                                                                                               
0012aa   cff7     MOVFF     0xff7,0xfe4                                                                                     
0012ac   ffe4                                                                                                               
0012ae   cff5     MOVFF     0xff5,0xfe4                                                                                     
0012b0   ffe4                                                                                                               
0012b2   cff3     MOVFF     0xff3,0xfe4                                                                                     
0012b4   ffe4                                                                                                               
0012b6   cff4     MOVFF     0xff4,0xfe4                                                                                     
0012b8   ffe4                                                                                                               
0012ba   cffa     MOVFF     0xffa,0xfe4                                                                                     
0012bc   ffe4                                                                                                               
0012be   ee00     LFSR      0x0,0xe                                                                                         
0012c0   f00e                                                                                                               
0012c2   0e0b     MOVLW     0xb                                                                                             
0012c4   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012c6   e303     BNC       0x12ce                                                                                          
0012c8   cfee     MOVFF     0xfee,0xfe4                                                                                     
0012ca   ffe4                                                                                                               
0012cc   d7fb     BRA       0x12c4                                                                                          
0012ce   ee00     LFSR      0x0,0x0                                                                                         
0012d0   f000                                                                                                               
0012d2   0e0e     MOVLW     0xe                                                                                             
0012d4   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012d6   e303     BNC       0x12de                                                                                          
0012d8   cfee     MOVFF     0xfee,0xfe4                                                                                     
0012da   ffe4                                                                                                               
0012dc   d7fb     BRA       0x12d4                                                                                          
0012de   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
0012e0   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canIR\Source\Main.c
0012e2   ec67     CALL      0x1ace,0x0          canISR();                                                                      F:\MCP\projects\CAN\canIR\Source\Main.c
0012e4   f00d                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            #ifdef USE_IREC                                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
0012e6   ece5     CALL      0x15ca,0x0          irecISR();                                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
0012e8   f00a                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
0012ea   ecdb     CALL      0x1fb6,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
0012ec   f00f                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
0012ee   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
0012f0   ee00     LFSR      0x0,0xd                                                                                         
0012f2   f00d                                                                                                               
0012f4   0e0e     MOVLW     0xe                                                                                             
0012f6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012f8   e303     BNC       0x1300                                                                                          
0012fa   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0012fc   ffed                                                                                                               
0012fe   d7fb     BRA       0x12f6                                                                                          
001300   ee00     LFSR      0x0,0x18                                                                                        
001302   f018                                                                                                               
001304   0e0b     MOVLW     0xb                                                                                             
001306   04e8     DECF      0xe8,0x0,0x0                                                                                    
001308   e303     BNC       0x1310                                                                                          
00130a   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00130c   ffed                                                                                                               
00130e   d7fb     BRA       0x1306                                                                                          
001310   cfe5     MOVFF     0xfe5,0xffa                                                                                     
001312   fffa                                                                                                               
001314   cfe5     MOVFF     0xfe5,0xff4                                                                                     
001316   fff4                                                                                                               
001318   cfe5     MOVFF     0xfe5,0xff3                                                                                     
00131a   fff3                                                                                                               
00131c   cfe5     MOVFF     0xfe5,0xff5                                                                                     
00131e   fff5                                                                                                               
001320   cfe5     MOVFF     0xfe5,0xff7                                                                                     
001322   fff7                                                                                                               
001324   cfe5     MOVFF     0xfe5,0xff6                                                                                     
001326   fff6                                                                                                               
001328   cfe5     MOVFF     0xfe5,0xfea                                                                                     
00132a   ffea                                                                                                               
00132c   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
00132e   ffe9                                                                                                               
001330   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001332   ffda                                                                                                               
001334   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #pragma interrupt low_isr                                                        F:\MCP\projects\CAN\canIR\Source\Main.c
001336   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
001338   ffe4                                                                                                               
00133a   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00133c   ffda                                                                                                               
00133e   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
001340   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
001342   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001344   ffda                                                                                                               
001346   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canIR\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
001348   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                       F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
00134a   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canIR\Source\Main.c
00134c   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
00134e   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
001350   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Function: canParse                                                             F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Input:  Received can message                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
001352   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
001354   ffe6                                                                                                               
001356   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001358   ffd9                                                                                                               
00135a   0e0f     MOVLW     0xf                                                                                             
00135c   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
00135e   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
001360   0ef0     MOVLW     0xf0            switch(cm.funct)                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
001362   50db     MOVF      0xdb,0x0,0x0                                                                                    
001364   e001     BZ        0x1368                                                                                          
001366   d0b2     BRA       0x14cc                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                                case FUNCT_BOOTLOADER:                                                         F:\MCP\projects\CAN\canIR\Source\Main.c
001368   0ef3     MOVLW     0xf3                    if (cm.nid==MY_NID && ((((unsigned int)cm.data[BOOT_DATA_RID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_RID_LOW_INDEX])==MY_ID)  F:\MCP\projects\CAN\canIR\Source\Main.c
00136a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00136c   0100     MOVLB     0x0                                                                                             
00136e   5d62     SUBWF     0x62,0x0,0x1                                                                                    
001370   e001     BZ        0x1374                                                                                          
001372   d0ab     BRA       0x14ca                                                                                          
001374   0efc     MOVLW     0xfc                                                                                            
001376   cfdb     MOVFF     0xfdb,0x2                                                                                       
001378   f002                                                                                                               
00137a   c002     MOVFF     0x2,0x3                                                                                         
00137c   f003                                                                                                               
00137e   6a02     CLRF      0x2,0x0                                                                                         
001380   0efb     MOVLW     0xfb                                                                                            
001382   50db     MOVF      0xdb,0x0,0x0                                                                                    
001384   0100     MOVLB     0x0                                                                                             
001386   2402     ADDWF     0x2,0x0,0x0                                                                                     
001388   6e00     MOVWF     0x0,0x0                                                                                         
00138a   0e00     MOVLW     0x0                                                                                             
00138c   2003     ADDWFC    0x3,0x0,0x0                                                                                     
00138e   6e01     MOVWF     0x1,0x0                                                                                         
001390   0100     MOVLB     0x0                                                                                             
001392   5160     MOVF      0x60,0x0,0x1                                                                                    
001394   1800     XORWF     0x0,0x0,0x0                                                                                     
001396   e102     BNZ       0x139c                                                                                          
001398   5161     MOVF      0x61,0x0,0x1                                                                                    
00139a   1801     XORWF     0x1,0x0,0x0                                                                                     
00139c   e001     BZ        0x13a0                                                                                          
00139e   d095     BRA       0x14ca                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\Main.c
0013a0   0ef1     MOVLW     0xf1                        switch(cm.funcc)                                                             F:\MCP\projects\CAN\canIR\Source\Main.c
0013a2   cfdb     MOVFF     0xfdb,0x14                                                                                      
0013a4   f014                                                                                                               
0013a6   0ef2     MOVLW     0xf2                                                                                            
0013a8   cfdb     MOVFF     0xfdb,0x15                                                                                      
0013aa   f015                                                                                                               
0013ac   0e06     MOVLW     0x6                                                                                             
0013ae   1814     XORWF     0x14,0x0,0x0                                                                                    
0013b0   e101     BNZ       0x13b4                                                                                          
0013b2   5015     MOVF      0x15,0x0,0x0                                                                                    
0013b4   e008     BZ        0x13c6                                                                                          
0013b6   0e01     MOVLW     0x1                                                                                             
0013b8   1814     XORWF     0x14,0x0,0x0                                                                                    
0013ba   e101     BNZ       0x13be                                                                                          
0013bc   5015     MOVF      0x15,0x0,0x0                                                                                    
0013be   e001     BZ        0x13c2                                                                                          
0013c0   d084     BRA       0x14ca                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
0013c2   00ff     RESET                                     case FUNCC_BOOT_INIT: Reset(); break; //User whant to program me, reset me. F:\MCP\projects\CAN\canIR\Source\Main.c
0013c4   d082     BRA       0x14ca                                                                                          
                                                            case FUNCC_BOOT_SET_ID:                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
0013c6   0ef8     MOVLW     0xf8                                MY_ID=(((WORD)cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]; F:\MCP\projects\CAN\canIR\Source\Main.c
0013c8   cfdb     MOVFF     0xfdb,0x0                                                                                       
0013ca   f000                                                                                                               
0013cc   c000     MOVFF     0x0,0x1                                                                                         
0013ce   f001                                                                                                               
0013d0   6a00     CLRF      0x0,0x0                                                                                         
0013d2   0ef7     MOVLW     0xf7                                                                                            
0013d4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0013d6   0100     MOVLB     0x0                                                                                             
0013d8   2400     ADDWF     0x0,0x0,0x0                                                                                     
0013da   6f60     MOVWF     0x60,0x1                                                                                        
0013dc   0e00     MOVLW     0x0                                                                                             
0013de   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0013e0   6f61     MOVWF     0x61,0x1                                                                                        
0013e2   0ef9     MOVLW     0xf9                                MY_NID=cm.data[BOOT_DATA_NEW_NID_INDEX];                                   F:\MCP\projects\CAN\canIR\Source\Main.c
0013e4   cfdb     MOVFF     0xfdb,0x62                                                                                      
0013e6   f062                                                                                                               
0013e8   0ef8     MOVLW     0xf8                                EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX]);                F:\MCP\projects\CAN\canIR\Source\Main.c
0013ea   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0013ec   ffe6                                                                                                               
0013ee   0e01     MOVLW     0x1                                                                                             
0013f0   6ee6     MOVWF     0xe6,0x0                                                                                        
0013f2   6ae6     CLRF      0xe6,0x0                                                                                        
0013f4   ec47     CALL      0x1e8e,0x0                                                                                      
0013f6   f00f                                                                                                               
0013f8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013fa   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013fc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013fe   0ef7     MOVLW     0xf7                                EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]);                 F:\MCP\projects\CAN\canIR\Source\Main.c
001400   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001402   ffe6                                                                                                               
001404   0e02     MOVLW     0x2                                                                                             
001406   6ee6     MOVWF     0xe6,0x0                                                                                        
001408   6ae6     CLRF      0xe6,0x0                                                                                        
00140a   ec47     CALL      0x1e8e,0x0                                                                                      
00140c   f00f                                                                                                               
00140e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001410   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001412   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001414   0ef9     MOVLW     0xf9                                EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID_INDEX]);                    F:\MCP\projects\CAN\canIR\Source\Main.c
001416   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001418   ffe6                                                                                                               
00141a   0e03     MOVLW     0x3                                                                                             
00141c   6ee6     MOVWF     0xe6,0x0                                                                                        
00141e   6ae6     CLRF      0xe6,0x0                                                                                        
001420   ec47     CALL      0x1e8e,0x0                                                                                      
001422   f00f                                                                                                               
001424   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001426   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001428   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00142a   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canIR\Source\Main.c
00142c   6ee6     MOVWF     0xe6,0x0                                                                                        
00142e   0e00     MOVLW     0x0                                                                                             
001430   6ee6     MOVWF     0xe6,0x0                                                                                        
001432   6ae6     CLRF      0xe6,0x0                                                                                        
001434   ec47     CALL      0x1e8e,0x0                                                                                      
001436   f00f                                                                                                               
001438   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00143a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00143c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
00143e   6adf     CLRF      0xdf,0x0                            outCm.funct                     = FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canIR\Source\Main.c
001440   0e04     MOVLW     0x4                                 outCm.funcc                     = FUNCC_BOOT_ACK;                                         F:\MCP\projects\CAN\canIR\Source\Main.c
001442   6ef3     MOVWF     0xf3,0x0                                                                                        
001444   0e01     MOVLW     0x1                                                                                             
001446   cff3     MOVFF     0xff3,0xfdb                                                                                     
001448   ffdb                                                                                                               
00144a   0e02     MOVLW     0x2                                                                                             
00144c   6adb     CLRF      0xdb,0x0                                                                                        
00144e   0e03     MOVLW     0x3                                 outCm.nid                       = MY_NID;                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
001450   c062     MOVFF     0x62,0xfdb                                                                                      
001452   ffdb                                                                                                               
001454   0e04     MOVLW     0x4                                 outCm.sid                       = MY_ID;                                                  F:\MCP\projects\CAN\canIR\Source\Main.c
001456   c060     MOVFF     0x60,0xfdb                                                                                      
001458   ffdb                                                                                                               
00145a   0e05     MOVLW     0x5                                                                                             
00145c   c061     MOVFF     0x61,0xfdb                                                                                      
00145e   ffdb                                                                                                               
001460   0e08     MOVLW     0x8                                 outCm.data_length               = 8;                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
001462   6ef3     MOVWF     0xf3,0x0                                                                                        
001464   0e06     MOVLW     0x6                                                                                             
001466   cff3     MOVFF     0xff3,0xfdb                                                                                     
001468   ffdb                                                                                                               
00146a   0e0b     MOVLW     0xb                                 outCm.data[BOOT_DATA_ERR_INDEX] = ACK_ERR_NO_ERROR;                        F:\MCP\projects\CAN\canIR\Source\Main.c
00146c   6adb     CLRF      0xdb,0x0                                                                                        
00146e   0e02     MOVLW     0x2                                 while(!canSendMessage(outCm,PRIO_HIGH));                                   F:\MCP\projects\CAN\canIR\Source\Main.c
001470   6ee6     MOVWF     0xe6,0x0                                                                                        
001472   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
001474   ffe9                                                                                                               
001476   cfda     MOVFF     0xfda,0xfea                                                                                     
001478   ffea                                                                                                               
00147a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00147c   ffe6                                                                                                               
00147e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001480   ffe6                                                                                                               
001482   cfee     MOVFF     0xfee,0xfe6                                                                                     
001484   ffe6                                                                                                               
001486   cfee     MOVFF     0xfee,0xfe6                                                                                     
001488   ffe6                                                                                                               
00148a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00148c   ffe6                                                                                                               
00148e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001490   ffe6                                                                                                               
001492   cfee     MOVFF     0xfee,0xfe6                                                                                     
001494   ffe6                                                                                                               
001496   cfee     MOVFF     0xfee,0xfe6                                                                                     
001498   ffe6                                                                                                               
00149a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00149c   ffe6                                                                                                               
00149e   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014a0   ffe6                                                                                                               
0014a2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014a4   ffe6                                                                                                               
0014a6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014a8   ffe6                                                                                                               
0014aa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014ac   ffe6                                                                                                               
0014ae   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014b0   ffe6                                                                                                               
0014b2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014b4   ffe6                                                                                                               
0014b6   ec52     CALL      0x1ca4,0x0                                                                                      
0014b8   f00e                                                                                                               
0014ba   6e00     MOVWF     0x0,0x0                                                                                         
0014bc   0e10     MOVLW     0x10                                                                                            
0014be   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0014c0   5000     MOVF      0x0,0x0,0x0                                                                                     
0014c2   0900     IORLW     0x0                                                                                             
0014c4   e101     BNZ       0x14c8                                                                                          
0014c6   d7d3     BRA       0x146e                                                                                          
0014c8   d000     BRA       0x14ca                          break;                                                                      F:\MCP\projects\CAN\canIR\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
0014ca   d000     BRA       0x14cc              break;                                                                         F:\MCP\projects\CAN\canIR\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
0014cc   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
0014ce   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0014d0   e202     BC        0x14d6                                                                                          
0014d2   6ae1     CLRF      0xe1,0x0                                                                                        
0014d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0014d6   6ee1     MOVWF     0xe1,0x0                                                                                        
0014d8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0014da   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0014dc   ffd9                                                                                                               
0014de   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Function: irecParse                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Input:  Received IR message                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Pre-conditions: irecInit                                                       F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canIR\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canIR\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #ifdef USE_IREC                                                                  F:\MCP\projects\CAN\canIR\Source\Main.c
0014e0   cfd9     MOVFF     0xfd9,0xfe6    void irecParse(IR_TYPE type, BYTE toggle, BYTE addr, BYTE data)                  F:\MCP\projects\CAN\canIR\Source\Main.c
0014e2   ffe6                                                                                                               
0014e4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0014e6   ffd9                                                                                                               
0014e8   0e0f     MOVLW     0xf                                                                                             
0014ea   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canIR\Source\Main.c
0014ec   0e01     MOVLW     0x1             outCm.funct         = FUNCT_SENSORS;                                                  F:\MCP\projects\CAN\canIR\Source\Main.c
0014ee   6edf     MOVWF     0xdf,0x0                                                                                        
0014f0   6ef3     MOVWF     0xf3,0x0        outCm.funcc         = FUNCC_SENSORS_IR;                                               F:\MCP\projects\CAN\canIR\Source\Main.c
0014f2   cff3     MOVFF     0xff3,0xfdb                                                                                     
0014f4   ffdb                                                                                                               
0014f6   0e02     MOVLW     0x2                                                                                             
0014f8   6adb     CLRF      0xdb,0x0                                                                                        
0014fa   0e03     MOVLW     0x3             outCm.nid           = MY_NID;                                                         F:\MCP\projects\CAN\canIR\Source\Main.c
0014fc   c062     MOVFF     0x62,0xfdb                                                                                      
0014fe   ffdb                                                                                                               
001500   0e04     MOVLW     0x4             outCm.sid           = MY_ID;                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
001502   c060     MOVFF     0x60,0xfdb                                                                                      
001504   ffdb                                                                                                               
001506   0e05     MOVLW     0x5                                                                                             
001508   c061     MOVFF     0x61,0xfdb                                                                                      
00150a   ffdb                                                                                                               
00150c   0e04     MOVLW     0x4             outCm.data_length   = 4;                                                         F:\MCP\projects\CAN\canIR\Source\Main.c
00150e   6ef3     MOVWF     0xf3,0x0                                                                                        
001510   0e06     MOVLW     0x6                                                                                             
001512   cff3     MOVFF     0xff3,0xfdb                                                                                     
001514   ffdb                                                                                                               
001516   0efe     MOVLW     0xfe            outCm.data[3]       = type;                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
001518   50db     MOVF      0xdb,0x0,0x0                                                                                    
00151a   6ee7     MOVWF     0xe7,0x0                                                                                        
00151c   0e0a     MOVLW     0xa                                                                                             
00151e   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001520   ffdb                                                                                                               
001522   0efd     MOVLW     0xfd            outCm.data[2]       = toggle;                                                        F:\MCP\projects\CAN\canIR\Source\Main.c
001524   50db     MOVF      0xdb,0x0,0x0                                                                                    
001526   6ee7     MOVWF     0xe7,0x0                                                                                        
001528   0e09     MOVLW     0x9                                                                                             
00152a   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00152c   ffdb                                                                                                               
00152e   0efc     MOVLW     0xfc            outCm.data[1]       = addr;                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
001530   50db     MOVF      0xdb,0x0,0x0                                                                                    
001532   6ee7     MOVWF     0xe7,0x0                                                                                        
001534   0e08     MOVLW     0x8                                                                                             
001536   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001538   ffdb                                                                                                               
00153a   0efb     MOVLW     0xfb            outCm.data[0]       = data;                                                          F:\MCP\projects\CAN\canIR\Source\Main.c
00153c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00153e   6ee7     MOVWF     0xe7,0x0                                                                                        
001540   0e07     MOVLW     0x7                                                                                             
001542   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001544   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
001546   0e02     MOVLW     0x2             while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canIR\Source\Main.c
001548   6ee6     MOVWF     0xe6,0x0                                                                                        
00154a   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
00154c   ffe9                                                                                                               
00154e   cfda     MOVFF     0xfda,0xfea                                                                                     
001550   ffea                                                                                                               
001552   cfee     MOVFF     0xfee,0xfe6                                                                                     
001554   ffe6                                                                                                               
001556   cfee     MOVFF     0xfee,0xfe6                                                                                     
001558   ffe6                                                                                                               
00155a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00155c   ffe6                                                                                                               
00155e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001560   ffe6                                                                                                               
001562   cfee     MOVFF     0xfee,0xfe6                                                                                     
001564   ffe6                                                                                                               
001566   cfee     MOVFF     0xfee,0xfe6                                                                                     
001568   ffe6                                                                                                               
00156a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00156c   ffe6                                                                                                               
00156e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001570   ffe6                                                                                                               
001572   cfee     MOVFF     0xfee,0xfe6                                                                                     
001574   ffe6                                                                                                               
001576   cfee     MOVFF     0xfee,0xfe6                                                                                     
001578   ffe6                                                                                                               
00157a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00157c   ffe6                                                                                                               
00157e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001580   ffe6                                                                                                               
001582   cfee     MOVFF     0xfee,0xfe6                                                                                     
001584   ffe6                                                                                                               
001586   cfee     MOVFF     0xfee,0xfe6                                                                                     
001588   ffe6                                                                                                               
00158a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00158c   ffe6                                                                                                               
00158e   ec52     CALL      0x1ca4,0x0                                                                                      
001590   f00e                                                                                                               
001592   6e00     MOVWF     0x0,0x0                                                                                         
001594   0e10     MOVLW     0x10                                                                                            
001596   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001598   5000     MOVF      0x0,0x0,0x0                                                                                     
00159a   0900     IORLW     0x0                                                                                             
00159c   e101     BNZ       0x15a0                                                                                          
00159e   d7d3     BRA       0x1546                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
0015a0   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
0015a2   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0015a4   e202     BC        0x15aa                                                                                          
0015a6   6ae1     CLRF      0xe1,0x0                                                                                        
0015a8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015aa   6ee1     MOVWF     0xe1,0x0                                                                                        
0015ac   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015ae   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0015b0   ffd9                                                                                                               
0015b2   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           // Below are mandantory when using bootloader                                    F:\MCP\projects\CAN\canIR\Source\Main.c
                                           // define DEBUG_MODE to use without bootloader.                                  F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #ifndef DEBUG_MODE                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           extern void _startup (void);                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #pragma code _RESET_INTERRUPT_VECTOR = 0x001000                                  F:\MCP\projects\CAN\canIR\Source\Main.c
                                           void _reset (void)                                                               F:\MCP\projects\CAN\canIR\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
001000   efe9     GOTO      0x1fd2             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canIR\Source\Main.c
001002   f00f                                                                                                               
001004   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #pragma code _HIGH_INTERRUPT_VECTOR = 0x001008                                   F:\MCP\projects\CAN\canIR\Source\Main.c
                                           void _high_ISR (void)                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
001008   ef4b     GOTO      0x1296          _asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canIR\Source\Main.c
00100a   f009                                                                                                               
00100c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #pragma code _LOW_INTERRUPT_VECTOR = 0x001018                                    F:\MCP\projects\CAN\canIR\Source\Main.c
                                           void _low_ISR (void)                                                             F:\MCP\projects\CAN\canIR\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
001018   ef9b     GOTO      0x1336             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canIR\Source\Main.c
00101a   f009                                                                                                               
00101c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canIR\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canIR\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                  Ticker module service                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/Tick.c $ F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * Last changed: $LastChangedDate: 2006-11-14 10:55:38 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * Revision:     $Revision: 86 $                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #include <Compiler.h>                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #else                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           TICK TickCount = 0;  // 10ms/unit                                                 F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Function: TickInit                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
001f8e   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
001f90   6ed6     MOVWF     0xd6,0x0                                                                                        
001f92   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
001f94   6ed7     MOVWF     0xd7,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // 16-BIT, internal timer, PSA set to 1:256                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
001f96   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
001f98   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
001f9a   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001f9c   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
001f9e   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
001fa0   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Function: TickGet                                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Output: Current tick value is given, 1 tick represents approximately 10ms      F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           TICK tickGet(void)                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001fa2   c083     MOVFF     0x83,0x12          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001fa4   f012                                                                                                               
001fa6   c084     MOVFF     0x84,0x13                                                                                       
001fa8   f013                                                                                                               
001faa   c085     MOVFF     0x85,0x14                                                                                       
001fac   f014                                                                                                               
001fae   c086     MOVFF     0x86,0x15                                                                                       
001fb0   f015                                                                                                               
001fb2   d000     BRA       0x1fb4                                                                                          
001fb4   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Function: tickUpdate                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           void tickUpdate(void)                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001fb6   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
001fb8   d00b     BRA       0x1fd0                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001fba   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
001fbc   6ed7     MOVWF     0xd7,0x0                                                                                        
001fbe   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001fc0   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001fc2   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
001fc4   2b83     INCF      0x83,0x1,0x1                                                                                    
001fc6   0e00     MOVLW     0x0                                                                                             
001fc8   2384     ADDWFC    0x84,0x1,0x1                                                                                    
001fca   2385     ADDWFC    0x85,0x1,0x1                                                                                    
001fcc   2386     ADDWFC    0x86,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001fce   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001fd0   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                  CAN module                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/CAN.c $ F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * Last changed: $LastChangedDate: 2006-11-14 21:11:28 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * Revision:     $Revision: 95 $                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <CANdefs.h>                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canInit                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: Changes can registers.                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           void canInit()                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001a78   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001a7a   6e6f     MOVWF     0x6f,0x0                                                                                        
001a7c   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
001a7e   146e     ANDWF     0x6e,0x0,0x0                                                                                    
001a80   0880     SUBLW     0x80                                                                                            
001a82   e001     BZ        0x1a86                                                                                          
001a84   d7fb     BRA       0x1a7c                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // BAUD AND TQS                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001a86   6a70     CLRF      0x70,0x0        BRGCON1=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001a88   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001a8a   8c70     BSF       0x70,0x6,0x0    BRGCON1bits.SJW0=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Setting BRP.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001a8c   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001a8e   1070     IORWF     0x70,0x0,0x0                                                                                    
001a90   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001a92   8e71     BSF       0x71,0x7,0x0    BRGCON2bits.SEG2PHTS = 1;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001a94   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001a96   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001a98   8671     BSF       0x71,0x3,0x0    BRGCON2bits.SEG1PH0 = 1;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001a9a   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001a9c   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001a9e   8071     BSF       0x71,0x0,0x0    BRGCON2bits.PRSEG0 = 1;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001aa0   9e72     BCF       0x72,0x7,0x0    BRGCON3bits.WAKDIS = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001aa2   9c72     BCF       0x72,0x6,0x0    BRGCON3bits.WAKFIL = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001aa4   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001aa6   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001aa8   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001aaa   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001aac   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001aae   9c77     BCF       0x77,0x6,0x0    ECANCONbits.MDSEL0 = 0; // 1  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001ab0   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001ab2   9a60     BCF       0x60,0x5,0x0    RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // INTERRUPTS                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Diable transmit interrupt                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
001ab4   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001ab6   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001ab8   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001aba   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001abc   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001abe   6ea5     MOVWF     0xa5,0x0        IPR3 =0b00000011;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Programmable buffers interrupt                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001ac0   69fa     SETF      0xfa,0x1        BIE0  = 0xFF;                                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //loopback mode or not                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            #ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            #else                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001ac2   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001ac4   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001ac6   146e     ANDWF     0x6e,0x0,0x0                                                                                    
001ac8   e001     BZ        0x1acc                                                                                          
001aca   d7fc     BRA       0x1ac4                                                                                          
                                            #endif                                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001acc   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canISR                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: a call to canInit()                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: interrupt registers and receive data buffers                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           void canISR()                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001ace   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001ad0   0b02     ANDLW     0x2                                                                                             
001ad2   e106     BNZ       0x1ae0                                                                                          
001ad4   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001ad6   0b02     ANDLW     0x2                                                                                             
001ad8   e103     BNZ       0x1ae0                                                                                          
001ada   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001adc   0b01     ANDLW     0x1                                                                                             
001ade   e016     BZ        0x1b0c                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001ae0   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001ae2   146f     ANDWF     0x6f,0x0,0x0                                                                                    
001ae4   0910     IORLW     0x10                                                                                            
001ae6   6e00     MOVWF     0x0,0x0                                                                                         
001ae8   0e00     MOVLW     0x0                                                                                             
001aea   1477     ANDWF     0x77,0x0,0x0                                                                                    
001aec   1000     IORWF     0x0,0x0,0x0                                                                                     
001aee   6e77     MOVWF     0x77,0x0                                                                                        
001af0   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001af2   d80d     RCALL     0x1b0e                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001af4   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001af6   d002     BRA       0x1afc                                                                                          
001af8   92a4     BCF       0xa4,0x1,0x0                                                                                    
001afa   d008     BRA       0x1b0c                                                                                          
001afc   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001afe   d002     BRA       0x1b04                                                                                          
001b00   92a4     BCF       0xa4,0x1,0x0                                                                                    
001b02   d004     BRA       0x1b0c                                                                                          
001b04   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001b06   d002     BRA       0x1b0c                                                                                          
001b08   90a4     BCF       0xa4,0x0,0x0                                                                                    
001b0a   d000     BRA       0x1b0c                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001b0c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canGetPacket                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001b0e   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001b10   ffe6                                                                                                               
001b12   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001b14   ffd9                                                                                                               
001b16   0e0f     MOVLW     0xf                                                                                             
001b18   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001b1a   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001b1c   1461     ANDWF     0x61,0x0,0x0                                                                                    
001b1e   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
001b20   0b0f     ANDLW     0xf                                                                                             
001b22   6edf     MOVWF     0xdf,0x0                                                                                        
001b24   0e0f     MOVLW     0xf                    cm.funcc=(((WORD)(RXB0SIDH & 0x0F))<<6)+(((WORD)(RXB0SIDL & 0xE0))>>2)+(((WORD)(RXB0SIDL & 0x03))<<1)+(((WORD)(RXB0EIDH & 0x80))>>7); F:\MCP\projects\CAN\canBase\Source\CAN.c
001b26   1461     ANDWF     0x61,0x0,0x0                                                                                    
001b28   6e06     MOVWF     0x6,0x0                                                                                         
001b2a   6a07     CLRF      0x7,0x0                                                                                         
001b2c   0e06     MOVLW     0x6                                                                                             
001b2e   90d8     BCF       0xd8,0x0,0x0                                                                                    
001b30   3606     RLCF      0x6,0x1,0x0                                                                                     
001b32   3607     RLCF      0x7,0x1,0x0                                                                                     
001b34   04e8     DECF      0xe8,0x0,0x0                                                                                    
001b36   e1fb     BNZ       0x1b2e                                                                                          
001b38   0ee0     MOVLW     0xe0                                                                                            
001b3a   1462     ANDWF     0x62,0x0,0x0                                                                                    
001b3c   6e08     MOVWF     0x8,0x0                                                                                         
001b3e   6a09     CLRF      0x9,0x0                                                                                         
001b40   90d8     BCF       0xd8,0x0,0x0                                                                                    
001b42   3209     RRCF      0x9,0x1,0x0                                                                                     
001b44   3208     RRCF      0x8,0x1,0x0                                                                                     
001b46   90d8     BCF       0xd8,0x0,0x0                                                                                    
001b48   3209     RRCF      0x9,0x1,0x0                                                                                     
001b4a   3208     RRCF      0x8,0x1,0x0                                                                                     
001b4c   5006     MOVF      0x6,0x0,0x0                                                                                     
001b4e   2408     ADDWF     0x8,0x0,0x0                                                                                     
001b50   6e04     MOVWF     0x4,0x0                                                                                         
001b52   5007     MOVF      0x7,0x0,0x0                                                                                     
001b54   2009     ADDWFC    0x9,0x0,0x0                                                                                     
001b56   6e05     MOVWF     0x5,0x0                                                                                         
001b58   0e03     MOVLW     0x3                                                                                             
001b5a   1462     ANDWF     0x62,0x0,0x0                                                                                    
001b5c   6e0a     MOVWF     0xa,0x0                                                                                         
001b5e   6a0b     CLRF      0xb,0x0                                                                                         
001b60   90d8     BCF       0xd8,0x0,0x0                                                                                    
001b62   360a     RLCF      0xa,0x1,0x0                                                                                     
001b64   360b     RLCF      0xb,0x1,0x0                                                                                     
001b66   5004     MOVF      0x4,0x0,0x0                                                                                     
001b68   240a     ADDWF     0xa,0x0,0x0                                                                                     
001b6a   6e02     MOVWF     0x2,0x0                                                                                         
001b6c   5005     MOVF      0x5,0x0,0x0                                                                                     
001b6e   200b     ADDWFC    0xb,0x0,0x0                                                                                     
001b70   6e03     MOVWF     0x3,0x0                                                                                         
001b72   0e80     MOVLW     0x80                                                                                            
001b74   1463     ANDWF     0x63,0x0,0x0                                                                                    
001b76   6e0c     MOVWF     0xc,0x0                                                                                         
001b78   6a0d     CLRF      0xd,0x0                                                                                         
001b7a   0e07     MOVLW     0x7                                                                                             
001b7c   90d8     BCF       0xd8,0x0,0x0                                                                                    
001b7e   320d     RRCF      0xd,0x1,0x0                                                                                     
001b80   320c     RRCF      0xc,0x1,0x0                                                                                     
001b82   04e8     DECF      0xe8,0x0,0x0                                                                                    
001b84   e1fb     BNZ       0x1b7c                                                                                          
001b86   5002     MOVF      0x2,0x0,0x0                                                                                     
001b88   240c     ADDWF     0xc,0x0,0x0                                                                                     
001b8a   6e00     MOVWF     0x0,0x0                                                                                         
001b8c   5003     MOVF      0x3,0x0,0x0                                                                                     
001b8e   200d     ADDWFC    0xd,0x0,0x0                                                                                     
001b90   6e01     MOVWF     0x1,0x0                                                                                         
001b92   0e01     MOVLW     0x1                                                                                             
001b94   c000     MOVFF     0x0,0xfdb                                                                                       
001b96   ffdb                                                                                                               
001b98   0e02     MOVLW     0x2                                                                                             
001b9a   c001     MOVFF     0x1,0xfdb                                                                                       
001b9c   ffdb                                                                                                               
001b9e   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001ba0   1463     ANDWF     0x63,0x0,0x0                                                                                    
001ba2   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001ba4   0b7f     ANDLW     0x7f                                                                                            
001ba6   6ee7     MOVWF     0xe7,0x0                                                                                        
001ba8   0e03     MOVLW     0x3                                                                                             
001baa   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001bac   ffdb                                                                                                               
001bae   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001bb0   1463     ANDWF     0x63,0x0,0x0                                                                                    
001bb2   6e02     MOVWF     0x2,0x0                                                                                         
001bb4   c002     MOVFF     0x2,0x3                                                                                         
001bb6   f003                                                                                                               
001bb8   6a02     CLRF      0x2,0x0                                                                                         
001bba   5064     MOVF      0x64,0x0,0x0                                                                                    
001bbc   0100     MOVLB     0x0                                                                                             
001bbe   2402     ADDWF     0x2,0x0,0x0                                                                                     
001bc0   6e00     MOVWF     0x0,0x0                                                                                         
001bc2   0e00     MOVLW     0x0                                                                                             
001bc4   2003     ADDWFC    0x3,0x0,0x0                                                                                     
001bc6   6e01     MOVWF     0x1,0x0                                                                                         
001bc8   0e04     MOVLW     0x4                                                                                             
001bca   c000     MOVFF     0x0,0xfdb                                                                                       
001bcc   ffdb                                                                                                               
001bce   0e05     MOVLW     0x5                                                                                             
001bd0   c001     MOVFF     0x1,0xfdb                                                                                       
001bd2   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001bd4   5065     MOVF      0x65,0x0,0x0        cm.data_length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canBase\Source\CAN.c
001bd6   0b01     ANDLW     0x1                                                                                             
001bd8   6e02     MOVWF     0x2,0x0                                                                                         
001bda   5065     MOVF      0x65,0x0,0x0                                                                                    
001bdc   0b02     ANDLW     0x2                                                                                             
001bde   e001     BZ        0x1be2                                                                                          
001be0   0e01     MOVLW     0x1                                                                                             
001be2   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001be4   6e01     MOVWF     0x1,0x0                                                                                         
001be6   5065     MOVF      0x65,0x0,0x0                                                                                    
001be8   0b04     ANDLW     0x4                                                                                             
001bea   e001     BZ        0x1bee                                                                                          
001bec   0e01     MOVLW     0x1                                                                                             
001bee   0d04     MULLW     0x4                                                                                             
001bf0   cff3     MOVFF     0xff3,0x0                                                                                       
001bf2   f000                                                                                                               
001bf4   5065     MOVF      0x65,0x0,0x0                                                                                    
001bf6   0b08     ANDLW     0x8                                                                                             
001bf8   e001     BZ        0x1bfc                                                                                          
001bfa   0e01     MOVLW     0x1                                                                                             
001bfc   0d08     MULLW     0x8                                                                                             
001bfe   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001c00   2400     ADDWF     0x0,0x0,0x0                                                                                     
001c02   2401     ADDWF     0x1,0x0,0x0                                                                                     
001c04   2402     ADDWF     0x2,0x0,0x0                                                                                     
001c06   6ee7     MOVWF     0xe7,0x0                                                                                        
001c08   0e06     MOVLW     0x6                                                                                             
001c0a   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001c0c   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001c0e   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001c10   cf66     MOVFF     0xf66,0xfdb                                                                                     
001c12   ffdb                                                                                                               
001c14   0e08     MOVLW     0x8                                                                                             
001c16   cf67     MOVFF     0xf67,0xfdb                                                                                     
001c18   ffdb                                                                                                               
001c1a   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001c1c   cf68     MOVFF     0xf68,0xfdb                                                                                     
001c1e   ffdb                                                                                                               
001c20   0e0a     MOVLW     0xa                                                                                             
001c22   cf69     MOVFF     0xf69,0xfdb                                                                                     
001c24   ffdb                                                                                                               
001c26   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001c28   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
001c2a   ffdb                                                                                                               
001c2c   0e0c     MOVLW     0xc                                                                                             
001c2e   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
001c30   ffdb                                                                                                               
001c32   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001c34   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
001c36   ffdb                                                                                                               
001c38   0e0e     MOVLW     0xe                                                                                             
001c3a   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
001c3c   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001c3e   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //Call main parser                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001c40   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001c42   ffe9                                                                                                               
001c44   cfda     MOVFF     0xfda,0xfea                                                                                     
001c46   ffea                                                                                                               
001c48   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c4a   ffe6                                                                                                               
001c4c   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c4e   ffe6                                                                                                               
001c50   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c52   ffe6                                                                                                               
001c54   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c56   ffe6                                                                                                               
001c58   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c5a   ffe6                                                                                                               
001c5c   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c5e   ffe6                                                                                                               
001c60   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c62   ffe6                                                                                                               
001c64   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c66   ffe6                                                                                                               
001c68   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c6a   ffe6                                                                                                               
001c6c   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c6e   ffe6                                                                                                               
001c70   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c72   ffe6                                                                                                               
001c74   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c76   ffe6                                                                                                               
001c78   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c7a   ffe6                                                                                                               
001c7c   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c7e   ffe6                                                                                                               
001c80   cfee     MOVFF     0xfee,0xfe6                                                                                     
001c82   ffe6                                                                                                               
001c84   eca9     CALL      0x1352,0x0                                                                                      
001c86   f009                                                                                                               
001c88   6e00     MOVWF     0x0,0x0                                                                                         
001c8a   0e0f     MOVLW     0xf                                                                                             
001c8c   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001c8e   5000     MOVF      0x0,0x0,0x0                                                                                     
001c90   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001c92   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001c94   e202     BC        0x1c9a                                                                                          
001c96   6ae1     CLRF      0xe1,0x0                                                                                        
001c98   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001c9a   6ee1     MOVWF     0xe1,0x0                                                                                        
001c9c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001c9e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001ca0   ffd9                                                                                                               
001ca2   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canSendMessage                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001ca4   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001ca6   ffe6                                                                                                               
001ca8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001caa   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001cac   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001cae   b740     BTFSC     0x40,0x3,0x1                                                                                    
001cb0   d004     BRA       0x1cba                                                                                          
001cb2   0e00     MOVLW     0x0                                                                                             
001cb4   1477     ANDWF     0x77,0x0,0x0                                                                                    
001cb6   0903     IORLW     0x3                                                                                             
001cb8   6e77     MOVWF     0x77,0x0                                                                                        
001cba   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001cbc   b730     BTFSC     0x30,0x3,0x1                                                                                    
001cbe   d004     BRA       0x1cc8                                                                                          
001cc0   0e00     MOVLW     0x0                                                                                             
001cc2   1477     ANDWF     0x77,0x0,0x0                                                                                    
001cc4   0904     IORLW     0x4                                                                                             
001cc6   6e77     MOVWF     0x77,0x0                                                                                        
001cc8   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001cca   b720     BTFSC     0x20,0x3,0x1                                                                                    
001ccc   d005     BRA       0x1cd8                                                                                          
001cce   0e00     MOVLW     0x0                                                                                             
001cd0   1477     ANDWF     0x77,0x0,0x0                                                                                    
001cd2   0905     IORLW     0x5                                                                                             
001cd4   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
001cd6   d002     BRA       0x1cdc          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001cd8   0e00     MOVLW     0x0                                                                                             
001cda   d0b0     BRA       0x1e3c                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001cdc   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001cde   cfdb     MOVFF     0xfdb,0x0                                                                                       
001ce0   f000                                                                                                               
001ce2   3400     RLCF      0x0,0x0,0x0                                                                                     
001ce4   e20e     BC        0x1d02                                                                                          
001ce6   0eef     MOVLW     0xef                                                                                            
001ce8   cfdb     MOVFF     0xfdb,0x1                                                                                       
001cea   f001                                                                                                               
001cec   0e03     MOVLW     0x3                                                                                             
001cee   6ee7     MOVWF     0xe7,0x0                                                                                        
001cf0   1801     XORWF     0x1,0x0,0x0                                                                                     
001cf2   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
001cf4   d002     BRA       0x1cfa                                                                                          
001cf6   3401     RLCF      0x1,0x0,0x0                                                                                     
001cf8   d003     BRA       0x1d00                                                                                          
001cfa   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001cfc   80d8     BSF       0xd8,0x0,0x0                                                                                    
001cfe   5401     SUBFWB    0x1,0x0,0x0                                                                                     
001d00   e202     BC        0x1d06                                                                                          
001d02   0eef     MOVLW     0xef                                                                                            
001d04   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001d06   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBase\Source\CAN.c
001d08   cfdb     MOVFF     0xfdb,0x0                                                                                       
001d0a   f000                                                                                                               
001d0c   0ef2     MOVLW     0xf2                                                                                            
001d0e   cfdb     MOVFF     0xfdb,0x1                                                                                       
001d10   f001                                                                                                               
001d12   0ec0     MOVLW     0xc0                                                                                            
001d14   1600     ANDWF     0x0,0x1,0x0                                                                                     
001d16   0e03     MOVLW     0x3                                                                                             
001d18   1601     ANDWF     0x1,0x1,0x0                                                                                     
001d1a   0e06     MOVLW     0x6                                                                                             
001d1c   90d8     BCF       0xd8,0x0,0x0                                                                                    
001d1e   3201     RRCF      0x1,0x1,0x0                                                                                     
001d20   3200     RRCF      0x0,0x1,0x0                                                                                     
001d22   04e8     DECF      0xe8,0x0,0x0                                                                                    
001d24   e1fb     BNZ       0x1d1c                                                                                          
001d26   0ef0     MOVLW     0xf0                                                                                            
001d28   50db     MOVF      0xdb,0x0,0x0                                                                                    
001d2a   0b0f     ANDLW     0xf                                                                                             
001d2c   0d10     MULLW     0x10                                                                                            
001d2e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001d30   2400     ADDWF     0x0,0x0,0x0                                                                                     
001d32   6e61     MOVWF     0x61,0x0                                                                                        
001d34   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBase\Source\CAN.c
001d36   6ee7     MOVWF     0xe7,0x0                                                                                        
001d38   0ef1     MOVLW     0xf1                                                                                            
001d3a   cfdb     MOVFF     0xfdb,0x2                                                                                       
001d3c   f002                                                                                                               
001d3e   0ef2     MOVLW     0xf2                                                                                            
001d40   cfdb     MOVFF     0xfdb,0x3                                                                                       
001d42   f003                                                                                                               
001d44   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001d46   1602     ANDWF     0x2,0x1,0x0                                                                                     
001d48   6a03     CLRF      0x3,0x0                                                                                         
001d4a   90d8     BCF       0xd8,0x0,0x0                                                                                    
001d4c   3203     RRCF      0x3,0x1,0x0                                                                                     
001d4e   3202     RRCF      0x2,0x1,0x0                                                                                     
001d50   0e3f     MOVLW     0x3f                                                                                            
001d52   6ee7     MOVWF     0xe7,0x0                                                                                        
001d54   0ef1     MOVLW     0xf1                                                                                            
001d56   cfdb     MOVFF     0xfdb,0x0                                                                                       
001d58   f000                                                                                                               
001d5a   0ef2     MOVLW     0xf2                                                                                            
001d5c   cfdb     MOVFF     0xfdb,0x1                                                                                       
001d5e   f001                                                                                                               
001d60   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001d62   1600     ANDWF     0x0,0x1,0x0                                                                                     
001d64   6a01     CLRF      0x1,0x0                                                                                         
001d66   90d8     BCF       0xd8,0x0,0x0                                                                                    
001d68   3600     RLCF      0x0,0x1,0x0                                                                                     
001d6a   3601     RLCF      0x1,0x1,0x0                                                                                     
001d6c   90d8     BCF       0xd8,0x0,0x0                                                                                    
001d6e   3600     RLCF      0x0,0x1,0x0                                                                                     
001d70   3601     RLCF      0x1,0x1,0x0                                                                                     
001d72   5000     MOVF      0x0,0x0,0x0                                                                                     
001d74   2402     ADDWF     0x2,0x0,0x0                                                                                     
001d76   6e62     MOVWF     0x62,0x0                                                                                        
001d78   0ef4     MOVLW     0xf4                RXB0EIDH = (BYTE)((cm.funcc & 0x0001)<<7)+(BYTE)((cm.nid & 0x3F)<<1)+(BYTE)((cm.sid & 0x0100)>>8); F:\MCP\projects\CAN\canBase\Source\CAN.c
001d7a   cfdb     MOVFF     0xfdb,0x2                                                                                       
001d7c   f002                                                                                                               
001d7e   0ef5     MOVLW     0xf5                                                                                            
001d80   cfdb     MOVFF     0xfdb,0x3                                                                                       
001d82   f003                                                                                                               
001d84   0e00     MOVLW     0x0                                                                                             
001d86   1602     ANDWF     0x2,0x1,0x0                                                                                     
001d88   0e01     MOVLW     0x1                                                                                             
001d8a   1603     ANDWF     0x3,0x1,0x0                                                                                     
001d8c   c003     MOVFF     0x3,0x2                                                                                         
001d8e   f002                                                                                                               
001d90   6a03     CLRF      0x3,0x0                                                                                         
001d92   0e01     MOVLW     0x1                                                                                             
001d94   6ee7     MOVWF     0xe7,0x0                                                                                        
001d96   0ef1     MOVLW     0xf1                                                                                            
001d98   cfdb     MOVFF     0xfdb,0x0                                                                                       
001d9a   f000                                                                                                               
001d9c   0ef2     MOVLW     0xf2                                                                                            
001d9e   cfdb     MOVFF     0xfdb,0x1                                                                                       
001da0   f001                                                                                                               
001da2   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001da4   1600     ANDWF     0x0,0x1,0x0                                                                                     
001da6   6a01     CLRF      0x1,0x0                                                                                         
001da8   0e07     MOVLW     0x7                                                                                             
001daa   90d8     BCF       0xd8,0x0,0x0                                                                                    
001dac   3600     RLCF      0x0,0x1,0x0                                                                                     
001dae   3601     RLCF      0x1,0x1,0x0                                                                                     
001db0   04e8     DECF      0xe8,0x0,0x0                                                                                    
001db2   e1fb     BNZ       0x1daa                                                                                          
001db4   0ef3     MOVLW     0xf3                                                                                            
001db6   50db     MOVF      0xdb,0x0,0x0                                                                                    
001db8   0b3f     ANDLW     0x3f                                                                                            
001dba   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001dbc   2400     ADDWF     0x0,0x0,0x0                                                                                     
001dbe   2402     ADDWF     0x2,0x0,0x0                                                                                     
001dc0   6e63     MOVWF     0x63,0x0                                                                                        
001dc2   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001dc4   6ee7     MOVWF     0xe7,0x0                                                                                        
001dc6   0ef4     MOVLW     0xf4                                                                                            
001dc8   cfdb     MOVFF     0xfdb,0x0                                                                                       
001dca   f000                                                                                                               
001dcc   0ef5     MOVLW     0xf5                                                                                            
001dce   cfdb     MOVFF     0xfdb,0x1                                                                                       
001dd0   f001                                                                                                               
001dd2   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001dd4   1600     ANDWF     0x0,0x1,0x0                                                                                     
001dd6   6a01     CLRF      0x1,0x0                                                                                         
001dd8   5000     MOVF      0x0,0x0,0x0                                                                                     
001dda   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001ddc   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001dde   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001de0   50db     MOVF      0xdb,0x0,0x0                                                                                    
001de2   0808     SUBLW     0x8                                                                                             
001de4   e203     BC        0x1dec                                                                                          
001de6   0e08     MOVLW     0x8                                                                                             
001de8   6e65     MOVWF     0x65,0x0                                                                                        
001dea   d003     BRA       0x1df2                                                                                          
001dec   0ef6     MOVLW     0xf6                                                                                            
001dee   50db     MOVF      0xdb,0x0,0x0                                                                                    
001df0   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // NOT Remote request                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                _asm                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001df2   9c65     BCF       0x65,0x6,0x0            bcf RXB0DLC, 6, 0                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001df4   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001df6   50db     MOVF      0xdb,0x0,0x0                                                                                    
001df8   6e66     MOVWF     0x66,0x0                                                                                        
001dfa   0ef8     MOVLW     0xf8                                                                                            
001dfc   50db     MOVF      0xdb,0x0,0x0                                                                                    
001dfe   6e67     MOVWF     0x67,0x0                                                                                        
001e00   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001e02   50db     MOVF      0xdb,0x0,0x0                                                                                    
001e04   6e68     MOVWF     0x68,0x0                                                                                        
001e06   0efa     MOVLW     0xfa                                                                                            
001e08   50db     MOVF      0xdb,0x0,0x0                                                                                    
001e0a   6e69     MOVWF     0x69,0x0                                                                                        
001e0c   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001e0e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001e10   6e6a     MOVWF     0x6a,0x0                                                                                        
001e12   0efc     MOVLW     0xfc                                                                                            
001e14   50db     MOVF      0xdb,0x0,0x0                                                                                    
001e16   6e6b     MOVWF     0x6b,0x0                                                                                        
001e18   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001e1a   50db     MOVF      0xdb,0x0,0x0                                                                                    
001e1c   6e6c     MOVWF     0x6c,0x0                                                                                        
001e1e   0efe     MOVLW     0xfe                                                                                            
001e20   50db     MOVF      0xdb,0x0,0x0                                                                                    
001e22   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // set extended                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001e24   8662     BSF       0x62,0x3,0x0        RXB0SIDLbits.EXID=1;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Priority                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
001e26   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001e28   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001e2a   ffe6                                                                                                               
001e2c   0efc     MOVLW     0xfc                                                                                            
001e2e   1460     ANDWF     0x60,0x0,0x0                                                                                    
001e30   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001e32   10e7     IORWF     0xe7,0x0,0x0                                                                                    
001e34   6e60     MOVWF     0x60,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // mark as redy to transmit                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                _asm                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001e36   8660     BSF       0x60,0x3,0x0            bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001e38   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001e3a   d000     BRA       0x1e3c                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001e3c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001e3e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001e40   ffd9                                                                                                               
001e42   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *   Functions for reading and writing to EEPROM.                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            * FileName:         $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/EEAccess.c $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Last changed: $LastChangedDate: 2006-11-14 20:15:02 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * By:           $LastChangedBy: johboh $                                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Revision:     $Revision: 94 $                                                    F:\MCP\projects\CAN\Include\EEAccess.c
                                            ********************************************************************/           F:\MCP\projects\CAN\Include\EEAccess.c
                                           #include <p18cxxx.h>                                                             F:\MCP\projects\CAN\Include\EEAccess.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
001e44   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
001e46   ffe6                                                                                                               
001e48   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001e4a   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001e4c   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001e4e   cfdb     MOVFF     0xfdb,0x0                                                                                       
001e50   f000                                                                                                               
001e52   0efe     MOVLW     0xfe                                                                                            
001e54   cfdb     MOVFF     0xfdb,0x1                                                                                       
001e56   f001                                                                                                               
001e58   c001     MOVFF     0x1,0x0                                                                                         
001e5a   f000                                                                                                               
001e5c   6a01     CLRF      0x1,0x0                                                                                         
001e5e   5000     MOVF      0x0,0x0,0x0                                                                                     
001e60   6eaa     MOVWF     0xaa,0x0                                                                                        
001e62   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001e64   6ee7     MOVWF     0xe7,0x0                                                                                        
001e66   0efd     MOVLW     0xfd                                                                                            
001e68   cfdb     MOVFF     0xfdb,0x0                                                                                       
001e6a   f000                                                                                                               
001e6c   0efe     MOVLW     0xfe                                                                                            
001e6e   cfdb     MOVFF     0xfdb,0x1                                                                                       
001e70   f001                                                                                                               
001e72   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001e74   1600     ANDWF     0x0,0x1,0x0                                                                                     
001e76   6a01     CLRF      0x1,0x0                                                                                         
001e78   5000     MOVF      0x0,0x0,0x0                                                                                     
001e7a   6ea9     MOVWF     0xa9,0x0                                                                                        
001e7c   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001e7e   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001e80   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001e82   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
001e84   d000     BRA       0x1e86                                                                                          
001e86   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001e88   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001e8a   ffd9                                                                                                               
001e8c   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
001e8e   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
001e90   ffe6                                                                                                               
001e92   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001e94   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001e96   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001e98   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001e9a   cfdb     MOVFF     0xfdb,0x0                                                                                       
001e9c   f000                                                                                                               
001e9e   0efe     MOVLW     0xfe                                                                                            
001ea0   cfdb     MOVFF     0xfdb,0x1                                                                                       
001ea2   f001                                                                                                               
001ea4   c001     MOVFF     0x1,0x0                                                                                         
001ea6   f000                                                                                                               
001ea8   6a01     CLRF      0x1,0x0                                                                                         
001eaa   5000     MOVF      0x0,0x0,0x0                                                                                     
001eac   6eaa     MOVWF     0xaa,0x0                                                                                        
001eae   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001eb0   6ee7     MOVWF     0xe7,0x0                                                                                        
001eb2   0efd     MOVLW     0xfd                                                                                            
001eb4   cfdb     MOVFF     0xfdb,0x0                                                                                       
001eb6   f000                                                                                                               
001eb8   0efe     MOVLW     0xfe                                                                                            
001eba   cfdb     MOVFF     0xfdb,0x1                                                                                       
001ebc   f001                                                                                                               
001ebe   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001ec0   1600     ANDWF     0x0,0x1,0x0                                                                                     
001ec2   6a01     CLRF      0x1,0x0                                                                                         
001ec4   5000     MOVF      0x0,0x0,0x0                                                                                     
001ec6   6ea9     MOVWF     0xa9,0x0                                                                                        
001ec8   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001eca   50db     MOVF      0xdb,0x0,0x0                                                                                    
001ecc   6ea8     MOVWF     0xa8,0x0                                                                                        
001ece   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001ed0   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001ed2   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001ed4   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001ed6   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001ed8   6ea7     MOVWF     0xa7,0x0                                                                                        
001eda   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001edc   6ea7     MOVWF     0xa7,0x0                                                                                        
001ede   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001ee0   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001ee2   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
001ee4   d7fe     BRA       0x1ee2                                                                                          
001ee6   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001ee8   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001eea   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001eec   ffd9                                                                                                               
001eee   0012     RETURN    0x0                                                                                             
                                           /*********************************************************************           F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            *                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            *                  IR reciver module                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            *                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            *********************************************************************           F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canIR/Source/IRec.c $ F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            * Last changed: $LastChangedDate: 2006-11-18 22:14:33 +0100 (lö, 18 nov 2006) $ F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            * Revision:     $Revision: 124 $                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           #include <IRec.h>                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           #ifdef USE_IREC                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           static BYTE toggle = 0;                                                          F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           static BYTE addr = 0;                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           static BYTE data = 0;                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           static BYTE bitIndex = 0;                                                        F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           static IR_TYPE type = IR_NONE;                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           /*                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Function: irecInit                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *                                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Depends: TIMER 3 is free                                                       F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           */                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           void irecInit()                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            // Setup timer 3 to be source for CCP1                                          F:\MCP\projects\CAN\canIR\Source\IRec.c
0015b4   0ef9     MOVLW     0xf9            T3CON = 0b11111001;                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0015b6   6eb1     MOVWF     0xb1,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            // configure timer 3 interrupt (for overflow)                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
0015b8   92a1     BCF       0xa1,0x1,0x0    PIR2bits.TMR3IF = 0;                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0015ba   82a0     BSF       0xa0,0x1,0x0    PIE2bits.TMR3IE = 1;                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0015bc   82a2     BSF       0xa2,0x1,0x0    IPR2bits.TMR3IP = 1;                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            // Setup CCP1 to use capture on falling edge                                    F:\MCP\projects\CAN\canIR\Source\IRec.c
0015be   0e04     MOVLW     0x4             CCP1CON=0x04;                                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
0015c0   6ebd     MOVWF     0xbd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            // Enable CCP1 interrupt and set priority to high.                              F:\MCP\projects\CAN\canIR\Source\IRec.c
0015c2   949e     BCF       0x9e,0x2,0x0    PIR1bits.CCP1IF=0;                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
0015c4   849d     BSF       0x9d,0x2,0x0    PIE1bits.CCP1IE=1;                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
0015c6   849f     BSF       0x9f,0x2,0x0    IPR1bits.CCP1IP=1;                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0015c8   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           /*                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Function: irecISR                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *                                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Pre-conditions: a call to irecInit()                                           F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Affects: ...                                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           *    Depends: ...                                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           */                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           void irecISR()                                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           {                                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            static WORD timediff = 0;                                                       F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            static BOOL started = FALSE;                                                    F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            static BYTE lastbit = 1;                                                        F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            static BOOL second = FALSE;                                                     F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            // If IR bit                                                                    F:\MCP\projects\CAN\canIR\Source\IRec.c
0015ca   509e     MOVF      0x9e,0x0,0x0    if(PIR1bits.CCP1IF && PIE1bits.CCP1IE)                                          F:\MCP\projects\CAN\canIR\Source\IRec.c
0015cc   0b04     ANDLW     0x4                                                                                             
0015ce   e101     BNZ       0x15d2                                                                                          
0015d0   d232     BRA       0x1a36                                                                                          
0015d2   509d     MOVF      0x9d,0x0,0x0                                                                                    
0015d4   0b04     ANDLW     0x4                                                                                             
0015d6   e101     BNZ       0x15da                                                                                          
0015d8   d22e     BRA       0x1a36                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                // Read timediff                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
0015da   50b2     MOVF      0xb2,0x0,0x0        timediff  = TMR3L;                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0015dc   0100     MOVLB     0x0                                                                                             
0015de   6f7e     MOVWF     0x7e,0x1                                                                                        
0015e0   6b7f     CLRF      0x7f,0x1                                                                                        
0015e2   50b3     MOVF      0xb3,0x0,0x0        timediff += (((WORD)TMR3H)<<8);                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
0015e4   6e00     MOVWF     0x0,0x0                                                                                         
0015e6   c000     MOVFF     0x0,0x1                                                                                         
0015e8   f001                                                                                                               
0015ea   6a00     CLRF      0x0,0x0                                                                                         
0015ec   5000     MOVF      0x0,0x0,0x0                                                                                     
0015ee   277e     ADDWF     0x7e,0x1,0x1                                                                                    
0015f0   5001     MOVF      0x1,0x0,0x0                                                                                     
0015f2   237f     ADDWFC    0x7f,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                // Clear timer.                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
0015f4   6ab3     CLRF      0xb3,0x0            TMR3H = 0;                                                                     F:\MCP\projects\CAN\canIR\Source\IRec.c
0015f6   6ab2     CLRF      0xb2,0x0            TMR3L = 0;                                                                     F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                // Wait on inverse edge                                                        F:\MCP\projects\CAN\canIR\Source\IRec.c
0015f8   70bd     BTG       0xbd,0x0,0x0        CCP1CONbits.CCP1M0=~CCP1CONbits.CCP1M0;                                        F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                // Disable interrupt                                                           F:\MCP\projects\CAN\canIR\Source\IRec.c
0015fa   949e     BCF       0x9e,0x2,0x0        PIR1bits.CCP1IF=0;                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                // If found RC5 och RC5X startbit...                                           F:\MCP\projects\CAN\canIR\Source\IRec.c
0015fc   0580     DECF      0x80,0x0,0x1        if (started==TRUE && (type==IR_RC5 || type==IR_RC5X))                          F:\MCP\projects\CAN\canIR\Source\IRec.c
0015fe   e001     BZ        0x1602                                                                                          
001600   d0d0     BRA       0x17a2                                                                                          
001602   057d     DECF      0x7d,0x0,0x1                                                                                    
001604   e004     BZ        0x160e                                                                                          
001606   0e02     MOVLW     0x2                                                                                             
001608   5d7d     SUBWF     0x7d,0x0,0x1                                                                                    
00160a   e001     BZ        0x160e                                                                                          
00160c   d0ca     BRA       0x17a2                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    // Parse message                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
00160e   0e33     MOVLW     0x33                    if ((t2-250)<timediff && timediff<(t2+250) && second==FALSE)                  F:\MCP\projects\CAN\canIR\Source\IRec.c
001610   80d8     BSF       0xd8,0x0,0x0                                                                                    
001612   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
001614   0e03     MOVLW     0x3                                                                                             
001616   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
001618   e235     BC        0x1684                                                                                          
00161a   0e27     MOVLW     0x27                                                                                            
00161c   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
00161e   0e05     MOVLW     0x5                                                                                             
001620   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
001622   e230     BC        0x1684                                                                                          
001624   5182     MOVF      0x82,0x0,0x1                                                                                    
001626   e12e     BNZ       0x1684                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
001628   517c     MOVF      0x7c,0x0,0x1                if (bitIndex==0) toggle=lastbit;                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
00162a   e102     BNZ       0x1630                                                                                          
00162c   c081     MOVFF     0x81,0x79                                                                                       
00162e   f079                                                                                                               
001630   0e01     MOVLW     0x1                         if (bitIndex>=1 && bitIndex<=5) addr+=(lastbit<<(5-bitIndex));               F:\MCP\projects\CAN\canIR\Source\IRec.c
001632   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
001634   e310     BNC       0x1656                                                                                          
001636   517c     MOVF      0x7c,0x0,0x1                                                                                    
001638   0805     SUBLW     0x5                                                                                             
00163a   e30d     BNC       0x1656                                                                                          
00163c   0e05     MOVLW     0x5                                                                                             
00163e   80d8     BSF       0xd8,0x0,0x0                                                                                    
001640   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
001642   6e00     MOVWF     0x0,0x0                                                                                         
001644   5181     MOVF      0x81,0x0,0x1                                                                                    
001646   5200     MOVF      0x0,0x1,0x0                                                                                     
001648   e004     BZ        0x1652                                                                                          
00164a   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
00164c   0bfe     ANDLW     0xfe                                                                                            
00164e   0600     DECF      0x0,0x1,0x0                                                                                     
001650   e1fc     BNZ       0x164a                                                                                          
001652   0100     MOVLB     0x0                                                                                             
001654   277a     ADDWF     0x7a,0x1,0x1                                                                                    
001656   0e06     MOVLW     0x6                         if (bitIndex>=6 && bitIndex<=11) data+=(lastbit<<(11-bitIndex));             F:\MCP\projects\CAN\canIR\Source\IRec.c
001658   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
00165a   e310     BNC       0x167c                                                                                          
00165c   517c     MOVF      0x7c,0x0,0x1                                                                                    
00165e   080b     SUBLW     0xb                                                                                             
001660   e30d     BNC       0x167c                                                                                          
001662   0e0b     MOVLW     0xb                                                                                             
001664   80d8     BSF       0xd8,0x0,0x0                                                                                    
001666   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
001668   6e00     MOVWF     0x0,0x0                                                                                         
00166a   5181     MOVF      0x81,0x0,0x1                                                                                    
00166c   5200     MOVF      0x0,0x1,0x0                                                                                     
00166e   e004     BZ        0x1678                                                                                          
001670   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
001672   0bfe     ANDLW     0xfe                                                                                            
001674   0600     DECF      0x0,0x1,0x0                                                                                     
001676   e1fc     BNZ       0x1670                                                                                          
001678   0100     MOVLB     0x0                                                                                             
00167a   277b     ADDWF     0x7b,0x1,0x1                                                                                    
00167c   2b7c     INCF      0x7c,0x1,0x1                bitIndex++;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
00167e   0e01     MOVLW     0x1                         second = TRUE;                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
001680   6f82     MOVWF     0x82,0x1                                                                                        
001682   d1f9     BRA       0x1a76                      return;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001684   0e8f     MOVLW     0x8f                    if ((t4-250)<timediff && timediff<(t4+250) && second==FALSE)                  F:\MCP\projects\CAN\canIR\Source\IRec.c
001686   80d8     BSF       0xd8,0x0,0x0                                                                                    
001688   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
00168a   0e07     MOVLW     0x7                                                                                             
00168c   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
00168e   e23b     BC        0x1706                                                                                          
001690   0e83     MOVLW     0x83                                                                                            
001692   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
001694   0e09     MOVLW     0x9                                                                                             
001696   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
001698   e236     BC        0x1706                                                                                          
00169a   5182     MOVF      0x82,0x0,0x1                                                                                    
00169c   e134     BNZ       0x1706                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
00169e   5181     MOVF      0x81,0x0,0x1                lastbit=(lastbit?0:1);                                                       F:\MCP\projects\CAN\canIR\Source\IRec.c
0016a0   e002     BZ        0x16a6                                                                                          
0016a2   0e00     MOVLW     0x0                                                                                             
0016a4   d001     BRA       0x16a8                                                                                          
0016a6   0e01     MOVLW     0x1                                                                                             
0016a8   6f81     MOVWF     0x81,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0016aa   517c     MOVF      0x7c,0x0,0x1                if (bitIndex==0) toggle=lastbit;                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0016ac   e102     BNZ       0x16b2                                                                                          
0016ae   c081     MOVFF     0x81,0x79                                                                                       
0016b0   f079                                                                                                               
0016b2   0e01     MOVLW     0x1                         if (bitIndex>=1 && bitIndex<=5) addr+=(lastbit<<(5-bitIndex));               F:\MCP\projects\CAN\canIR\Source\IRec.c
0016b4   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
0016b6   e310     BNC       0x16d8                                                                                          
0016b8   517c     MOVF      0x7c,0x0,0x1                                                                                    
0016ba   0805     SUBLW     0x5                                                                                             
0016bc   e30d     BNC       0x16d8                                                                                          
0016be   0e05     MOVLW     0x5                                                                                             
0016c0   80d8     BSF       0xd8,0x0,0x0                                                                                    
0016c2   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
0016c4   6e00     MOVWF     0x0,0x0                                                                                         
0016c6   5181     MOVF      0x81,0x0,0x1                                                                                    
0016c8   5200     MOVF      0x0,0x1,0x0                                                                                     
0016ca   e004     BZ        0x16d4                                                                                          
0016cc   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
0016ce   0bfe     ANDLW     0xfe                                                                                            
0016d0   0600     DECF      0x0,0x1,0x0                                                                                     
0016d2   e1fc     BNZ       0x16cc                                                                                          
0016d4   0100     MOVLB     0x0                                                                                             
0016d6   277a     ADDWF     0x7a,0x1,0x1                                                                                    
0016d8   0e06     MOVLW     0x6                         if (bitIndex>=6 && bitIndex<=11) data+=(lastbit<<(11-bitIndex));             F:\MCP\projects\CAN\canIR\Source\IRec.c
0016da   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
0016dc   e310     BNC       0x16fe                                                                                          
0016de   517c     MOVF      0x7c,0x0,0x1                                                                                    
0016e0   080b     SUBLW     0xb                                                                                             
0016e2   e30d     BNC       0x16fe                                                                                          
0016e4   0e0b     MOVLW     0xb                                                                                             
0016e6   80d8     BSF       0xd8,0x0,0x0                                                                                    
0016e8   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
0016ea   6e00     MOVWF     0x0,0x0                                                                                         
0016ec   5181     MOVF      0x81,0x0,0x1                                                                                    
0016ee   5200     MOVF      0x0,0x1,0x0                                                                                     
0016f0   e004     BZ        0x16fa                                                                                          
0016f2   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
0016f4   0bfe     ANDLW     0xfe                                                                                            
0016f6   0600     DECF      0x0,0x1,0x0                                                                                     
0016f8   e1fc     BNZ       0x16f2                                                                                          
0016fa   0100     MOVLB     0x0                                                                                             
0016fc   277b     ADDWF     0x7b,0x1,0x1                                                                                    
0016fe   2b7c     INCF      0x7c,0x1,0x1                bitIndex++;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001700   0e01     MOVLW     0x1                         second = TRUE;                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
001702   6f82     MOVWF     0x82,0x1                                                                                        
001704   d1b8     BRA       0x1a76                      return;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001706   0e33     MOVLW     0x33                    if ((t2-250)<timediff && timediff<(t2+250) && second==TRUE)                   F:\MCP\projects\CAN\canIR\Source\IRec.c
001708   80d8     BSF       0xd8,0x0,0x0                                                                                    
00170a   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
00170c   0e03     MOVLW     0x3                                                                                             
00170e   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
001710   e209     BC        0x1724                                                                                          
001712   0e27     MOVLW     0x27                                                                                            
001714   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
001716   0e05     MOVLW     0x5                                                                                             
001718   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
00171a   e204     BC        0x1724                                                                                          
00171c   0582     DECF      0x82,0x0,0x1                                                                                    
00171e   e102     BNZ       0x1724                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
001720   6b82     CLRF      0x82,0x1                    second = FALSE;                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001722   d1a9     BRA       0x1a76                      return;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001724   0e8f     MOVLW     0x8f                    if ((t4-250)<timediff && timediff<(t4+250) && second==TRUE)                   F:\MCP\projects\CAN\canIR\Source\IRec.c
001726   80d8     BSF       0xd8,0x0,0x0                                                                                    
001728   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
00172a   0e07     MOVLW     0x7                                                                                             
00172c   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
00172e   e239     BC        0x17a2                                                                                          
001730   0e83     MOVLW     0x83                                                                                            
001732   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
001734   0e09     MOVLW     0x9                                                                                             
001736   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
001738   e234     BC        0x17a2                                                                                          
00173a   0582     DECF      0x82,0x0,0x1                                                                                    
00173c   e132     BNZ       0x17a2                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
00173e   5181     MOVF      0x81,0x0,0x1                lastbit=(lastbit?0:1);                                                       F:\MCP\projects\CAN\canIR\Source\IRec.c
001740   e002     BZ        0x1746                                                                                          
001742   0e00     MOVLW     0x0                                                                                             
001744   d001     BRA       0x1748                                                                                          
001746   0e01     MOVLW     0x1                                                                                             
001748   6f81     MOVWF     0x81,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
00174a   517c     MOVF      0x7c,0x0,0x1                if (bitIndex==0) toggle=lastbit;                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
00174c   e102     BNZ       0x1752                                                                                          
00174e   c081     MOVFF     0x81,0x79                                                                                       
001750   f079                                                                                                               
001752   0e01     MOVLW     0x1                         if (bitIndex>=1 && bitIndex<=5) addr+=(lastbit<<(5-bitIndex));               F:\MCP\projects\CAN\canIR\Source\IRec.c
001754   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
001756   e310     BNC       0x1778                                                                                          
001758   517c     MOVF      0x7c,0x0,0x1                                                                                    
00175a   0805     SUBLW     0x5                                                                                             
00175c   e30d     BNC       0x1778                                                                                          
00175e   0e05     MOVLW     0x5                                                                                             
001760   80d8     BSF       0xd8,0x0,0x0                                                                                    
001762   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
001764   6e00     MOVWF     0x0,0x0                                                                                         
001766   5181     MOVF      0x81,0x0,0x1                                                                                    
001768   5200     MOVF      0x0,0x1,0x0                                                                                     
00176a   e004     BZ        0x1774                                                                                          
00176c   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
00176e   0bfe     ANDLW     0xfe                                                                                            
001770   0600     DECF      0x0,0x1,0x0                                                                                     
001772   e1fc     BNZ       0x176c                                                                                          
001774   0100     MOVLB     0x0                                                                                             
001776   277a     ADDWF     0x7a,0x1,0x1                                                                                    
001778   0e06     MOVLW     0x6                         if (bitIndex>=6 && bitIndex<=11) data+=(lastbit<<(11-bitIndex));             F:\MCP\projects\CAN\canIR\Source\IRec.c
00177a   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
00177c   e310     BNC       0x179e                                                                                          
00177e   517c     MOVF      0x7c,0x0,0x1                                                                                    
001780   080b     SUBLW     0xb                                                                                             
001782   e30d     BNC       0x179e                                                                                          
001784   0e0b     MOVLW     0xb                                                                                             
001786   80d8     BSF       0xd8,0x0,0x0                                                                                    
001788   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
00178a   6e00     MOVWF     0x0,0x0                                                                                         
00178c   5181     MOVF      0x81,0x0,0x1                                                                                    
00178e   5200     MOVF      0x0,0x1,0x0                                                                                     
001790   e004     BZ        0x179a                                                                                          
001792   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
001794   0bfe     ANDLW     0xfe                                                                                            
001796   0600     DECF      0x0,0x1,0x0                                                                                     
001798   e1fc     BNZ       0x1792                                                                                          
00179a   0100     MOVLB     0x0                                                                                             
00179c   277b     ADDWF     0x7b,0x1,0x1                                                                                    
00179e   2b7c     INCF      0x7c,0x1,0x1                bitIndex++;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0017a0   d16a     BRA       0x1a76                      return;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                } // if started and type == RC5 or RC5X                                        F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                // If RC6...                                                                   F:\MCP\projects\CAN\canIR\Source\IRec.c
0017a2   0580     DECF      0x80,0x0,0x1        if (started==TRUE && type==IR_RC6)                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0017a4   e001     BZ        0x17a8                                                                                          
0017a6   d0ce     BRA       0x1944                                                                                          
0017a8   0e03     MOVLW     0x3                                                                                             
0017aa   5d7d     SUBWF     0x7d,0x0,0x1                                                                                    
0017ac   e001     BZ        0x17b0                                                                                          
0017ae   d0ca     BRA       0x1944                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0017b0   0e1c     MOVLW     0x1c                    if ((t1-250)<timediff && timediff<(t1+250) && second==FALSE)                  F:\MCP\projects\CAN\canIR\Source\IRec.c
0017b2   80d8     BSF       0xd8,0x0,0x0                                                                                    
0017b4   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
0017b6   0e01     MOVLW     0x1                                                                                             
0017b8   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
0017ba   e235     BC        0x1826                                                                                          
0017bc   0e10     MOVLW     0x10                                                                                            
0017be   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
0017c0   0e03     MOVLW     0x3                                                                                             
0017c2   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
0017c4   e230     BC        0x1826                                                                                          
0017c6   5182     MOVF      0x82,0x0,0x1                                                                                    
0017c8   e12e     BNZ       0x1826                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0017ca   517c     MOVF      0x7c,0x0,0x1                if (bitIndex==0) toggle=lastbit;                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0017cc   e102     BNZ       0x17d2                                                                                          
0017ce   c081     MOVFF     0x81,0x79                                                                                       
0017d0   f079                                                                                                               
0017d2   0e01     MOVLW     0x1                         if (bitIndex>=1 && bitIndex<=8) addr+=(lastbit<<(8-bitIndex));               F:\MCP\projects\CAN\canIR\Source\IRec.c
0017d4   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
0017d6   e310     BNC       0x17f8                                                                                          
0017d8   517c     MOVF      0x7c,0x0,0x1                                                                                    
0017da   0808     SUBLW     0x8                                                                                             
0017dc   e30d     BNC       0x17f8                                                                                          
0017de   0e08     MOVLW     0x8                                                                                             
0017e0   80d8     BSF       0xd8,0x0,0x0                                                                                    
0017e2   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
0017e4   6e00     MOVWF     0x0,0x0                                                                                         
0017e6   5181     MOVF      0x81,0x0,0x1                                                                                    
0017e8   5200     MOVF      0x0,0x1,0x0                                                                                     
0017ea   e004     BZ        0x17f4                                                                                          
0017ec   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
0017ee   0bfe     ANDLW     0xfe                                                                                            
0017f0   0600     DECF      0x0,0x1,0x0                                                                                     
0017f2   e1fc     BNZ       0x17ec                                                                                          
0017f4   0100     MOVLB     0x0                                                                                             
0017f6   277a     ADDWF     0x7a,0x1,0x1                                                                                    
0017f8   0e09     MOVLW     0x9                         if (bitIndex>=9 && bitIndex<=16) data+=(lastbit<<(16-bitIndex));             F:\MCP\projects\CAN\canIR\Source\IRec.c
0017fa   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
0017fc   e310     BNC       0x181e                                                                                          
0017fe   517c     MOVF      0x7c,0x0,0x1                                                                                    
001800   0810     SUBLW     0x10                                                                                            
001802   e30d     BNC       0x181e                                                                                          
001804   0e10     MOVLW     0x10                                                                                            
001806   80d8     BSF       0xd8,0x0,0x0                                                                                    
001808   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
00180a   6e00     MOVWF     0x0,0x0                                                                                         
00180c   5181     MOVF      0x81,0x0,0x1                                                                                    
00180e   5200     MOVF      0x0,0x1,0x0                                                                                     
001810   e004     BZ        0x181a                                                                                          
001812   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
001814   0bfe     ANDLW     0xfe                                                                                            
001816   0600     DECF      0x0,0x1,0x0                                                                                     
001818   e1fc     BNZ       0x1812                                                                                          
00181a   0100     MOVLB     0x0                                                                                             
00181c   277b     ADDWF     0x7b,0x1,0x1                                                                                    
00181e   2b7c     INCF      0x7c,0x1,0x1                bitIndex++;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001820   0e01     MOVLW     0x1                         second = TRUE;                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
001822   6f82     MOVWF     0x82,0x1                                                                                        
001824   d128     BRA       0x1a76                      return;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001826   0e33     MOVLW     0x33                    if ((t2-250)<timediff && timediff<(t2+250) && second==FALSE)                  F:\MCP\projects\CAN\canIR\Source\IRec.c
001828   80d8     BSF       0xd8,0x0,0x0                                                                                    
00182a   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
00182c   0e03     MOVLW     0x3                                                                                             
00182e   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
001830   e23b     BC        0x18a8                                                                                          
001832   0e27     MOVLW     0x27                                                                                            
001834   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
001836   0e05     MOVLW     0x5                                                                                             
001838   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
00183a   e236     BC        0x18a8                                                                                          
00183c   5182     MOVF      0x82,0x0,0x1                                                                                    
00183e   e134     BNZ       0x18a8                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
001840   5181     MOVF      0x81,0x0,0x1                lastbit=(lastbit?0:1);                                                       F:\MCP\projects\CAN\canIR\Source\IRec.c
001842   e002     BZ        0x1848                                                                                          
001844   0e00     MOVLW     0x0                                                                                             
001846   d001     BRA       0x184a                                                                                          
001848   0e01     MOVLW     0x1                                                                                             
00184a   6f81     MOVWF     0x81,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
00184c   517c     MOVF      0x7c,0x0,0x1                if (bitIndex==0) toggle=lastbit;                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
00184e   e102     BNZ       0x1854                                                                                          
001850   c081     MOVFF     0x81,0x79                                                                                       
001852   f079                                                                                                               
001854   0e01     MOVLW     0x1                         if (bitIndex>=1 && bitIndex<=8) addr+=(lastbit<<(8-bitIndex));               F:\MCP\projects\CAN\canIR\Source\IRec.c
001856   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
001858   e310     BNC       0x187a                                                                                          
00185a   517c     MOVF      0x7c,0x0,0x1                                                                                    
00185c   0808     SUBLW     0x8                                                                                             
00185e   e30d     BNC       0x187a                                                                                          
001860   0e08     MOVLW     0x8                                                                                             
001862   80d8     BSF       0xd8,0x0,0x0                                                                                    
001864   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
001866   6e00     MOVWF     0x0,0x0                                                                                         
001868   5181     MOVF      0x81,0x0,0x1                                                                                    
00186a   5200     MOVF      0x0,0x1,0x0                                                                                     
00186c   e004     BZ        0x1876                                                                                          
00186e   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
001870   0bfe     ANDLW     0xfe                                                                                            
001872   0600     DECF      0x0,0x1,0x0                                                                                     
001874   e1fc     BNZ       0x186e                                                                                          
001876   0100     MOVLB     0x0                                                                                             
001878   277a     ADDWF     0x7a,0x1,0x1                                                                                    
00187a   0e09     MOVLW     0x9                         if (bitIndex>=9 && bitIndex<=16) data+=(lastbit<<(16-bitIndex));             F:\MCP\projects\CAN\canIR\Source\IRec.c
00187c   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
00187e   e310     BNC       0x18a0                                                                                          
001880   517c     MOVF      0x7c,0x0,0x1                                                                                    
001882   0810     SUBLW     0x10                                                                                            
001884   e30d     BNC       0x18a0                                                                                          
001886   0e10     MOVLW     0x10                                                                                            
001888   80d8     BSF       0xd8,0x0,0x0                                                                                    
00188a   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
00188c   6e00     MOVWF     0x0,0x0                                                                                         
00188e   5181     MOVF      0x81,0x0,0x1                                                                                    
001890   5200     MOVF      0x0,0x1,0x0                                                                                     
001892   e004     BZ        0x189c                                                                                          
001894   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
001896   0bfe     ANDLW     0xfe                                                                                            
001898   0600     DECF      0x0,0x1,0x0                                                                                     
00189a   e1fc     BNZ       0x1894                                                                                          
00189c   0100     MOVLB     0x0                                                                                             
00189e   277b     ADDWF     0x7b,0x1,0x1                                                                                    
0018a0   2b7c     INCF      0x7c,0x1,0x1                bitIndex++;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0018a2   0e01     MOVLW     0x1                         second = TRUE;                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
0018a4   6f82     MOVWF     0x82,0x1                                                                                        
0018a6   d0e7     BRA       0x1a76                      return;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0018a8   0e1c     MOVLW     0x1c                    if ((t1-250)<timediff && timediff<(t1+250) && second==TRUE)                   F:\MCP\projects\CAN\canIR\Source\IRec.c
0018aa   80d8     BSF       0xd8,0x0,0x0                                                                                    
0018ac   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
0018ae   0e01     MOVLW     0x1                                                                                             
0018b0   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
0018b2   e209     BC        0x18c6                                                                                          
0018b4   0e10     MOVLW     0x10                                                                                            
0018b6   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
0018b8   0e03     MOVLW     0x3                                                                                             
0018ba   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
0018bc   e204     BC        0x18c6                                                                                          
0018be   0582     DECF      0x82,0x0,0x1                                                                                    
0018c0   e102     BNZ       0x18c6                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0018c2   6b82     CLRF      0x82,0x1                    second = FALSE;                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
0018c4   d0d8     BRA       0x1a76                      return;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0018c6   0e33     MOVLW     0x33                    if ((t2-250)<timediff && timediff<(t2+250) && second==TRUE)                   F:\MCP\projects\CAN\canIR\Source\IRec.c
0018c8   80d8     BSF       0xd8,0x0,0x0                                                                                    
0018ca   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
0018cc   0e03     MOVLW     0x3                                                                                             
0018ce   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
0018d0   e239     BC        0x1944                                                                                          
0018d2   0e27     MOVLW     0x27                                                                                            
0018d4   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
0018d6   0e05     MOVLW     0x5                                                                                             
0018d8   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
0018da   e234     BC        0x1944                                                                                          
0018dc   0582     DECF      0x82,0x0,0x1                                                                                    
0018de   e132     BNZ       0x1944                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0018e0   5181     MOVF      0x81,0x0,0x1                lastbit=(lastbit?0:1);                                                       F:\MCP\projects\CAN\canIR\Source\IRec.c
0018e2   e002     BZ        0x18e8                                                                                          
0018e4   0e00     MOVLW     0x0                                                                                             
0018e6   d001     BRA       0x18ea                                                                                          
0018e8   0e01     MOVLW     0x1                                                                                             
0018ea   6f81     MOVWF     0x81,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
0018ec   517c     MOVF      0x7c,0x0,0x1                if (bitIndex==0) toggle=lastbit;                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
0018ee   e102     BNZ       0x18f4                                                                                          
0018f0   c081     MOVFF     0x81,0x79                                                                                       
0018f2   f079                                                                                                               
0018f4   0e01     MOVLW     0x1                         if (bitIndex>=1 && bitIndex<=8) addr+=(lastbit<<(8-bitIndex));               F:\MCP\projects\CAN\canIR\Source\IRec.c
0018f6   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
0018f8   e310     BNC       0x191a                                                                                          
0018fa   517c     MOVF      0x7c,0x0,0x1                                                                                    
0018fc   0808     SUBLW     0x8                                                                                             
0018fe   e30d     BNC       0x191a                                                                                          
001900   0e08     MOVLW     0x8                                                                                             
001902   80d8     BSF       0xd8,0x0,0x0                                                                                    
001904   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
001906   6e00     MOVWF     0x0,0x0                                                                                         
001908   5181     MOVF      0x81,0x0,0x1                                                                                    
00190a   5200     MOVF      0x0,0x1,0x0                                                                                     
00190c   e004     BZ        0x1916                                                                                          
00190e   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
001910   0bfe     ANDLW     0xfe                                                                                            
001912   0600     DECF      0x0,0x1,0x0                                                                                     
001914   e1fc     BNZ       0x190e                                                                                          
001916   0100     MOVLB     0x0                                                                                             
001918   277a     ADDWF     0x7a,0x1,0x1                                                                                    
00191a   0e09     MOVLW     0x9                         if (bitIndex>=9 && bitIndex<=16) data+=(lastbit<<(16-bitIndex));             F:\MCP\projects\CAN\canIR\Source\IRec.c
00191c   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
00191e   e310     BNC       0x1940                                                                                          
001920   517c     MOVF      0x7c,0x0,0x1                                                                                    
001922   0810     SUBLW     0x10                                                                                            
001924   e30d     BNC       0x1940                                                                                          
001926   0e10     MOVLW     0x10                                                                                            
001928   80d8     BSF       0xd8,0x0,0x0                                                                                    
00192a   557c     SUBFWB    0x7c,0x0,0x1                                                                                    
00192c   6e00     MOVWF     0x0,0x0                                                                                         
00192e   5181     MOVF      0x81,0x0,0x1                                                                                    
001930   5200     MOVF      0x0,0x1,0x0                                                                                     
001932   e004     BZ        0x193c                                                                                          
001934   46e8     RLNCF     0xe8,0x1,0x0                                                                                    
001936   0bfe     ANDLW     0xfe                                                                                            
001938   0600     DECF      0x0,0x1,0x0                                                                                     
00193a   e1fc     BNZ       0x1934                                                                                          
00193c   0100     MOVLB     0x0                                                                                             
00193e   277b     ADDWF     0x7b,0x1,0x1                                                                                    
001940   2b7c     INCF      0x7c,0x1,0x1                bitIndex++;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001942   d099     BRA       0x1a76                      return;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                    }                                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                } // if started and type == RC6                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001944   2b7c     INCF      0x7c,0x1,0x1        bitIndex++;                                                                    F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001946   5180     MOVF      0x80,0x0,0x1        if (started==FALSE && type==IR_NONE && bitIndex==2 && (t2-250)<timediff && timediff<(t2+250)) F:\MCP\projects\CAN\canIR\Source\IRec.c
001948   e113     BNZ       0x1970                                                                                          
00194a   517d     MOVF      0x7d,0x0,0x1                                                                                    
00194c   e111     BNZ       0x1970                                                                                          
00194e   0e02     MOVLW     0x2                                                                                             
001950   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
001952   e10e     BNZ       0x1970                                                                                          
001954   0e33     MOVLW     0x33                                                                                            
001956   80d8     BSF       0xd8,0x0,0x0                                                                                    
001958   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
00195a   0e03     MOVLW     0x3                                                                                             
00195c   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
00195e   e208     BC        0x1970                                                                                          
001960   0e27     MOVLW     0x27                                                                                            
001962   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
001964   0e05     MOVLW     0x5                                                                                             
001966   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
001968   e203     BC        0x1970                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
00196a   0e01     MOVLW     0x1                     type=IR_RC5;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
00196c   6f7d     MOVWF     0x7d,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
00196e   d063     BRA       0x1a36              else if (started==FALSE && type==IR_NONE && bitIndex==2 && (t4-250)<timediff && timediff<(t4+250)) F:\MCP\projects\CAN\canIR\Source\IRec.c
001970   5180     MOVF      0x80,0x0,0x1                                                                                    
001972   e117     BNZ       0x19a2                                                                                          
001974   517d     MOVF      0x7d,0x0,0x1                                                                                    
001976   e115     BNZ       0x19a2                                                                                          
001978   0e02     MOVLW     0x2                                                                                             
00197a   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
00197c   e112     BNZ       0x19a2                                                                                          
00197e   0e8f     MOVLW     0x8f                                                                                            
001980   80d8     BSF       0xd8,0x0,0x0                                                                                    
001982   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
001984   0e07     MOVLW     0x7                                                                                             
001986   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
001988   e20c     BC        0x19a2                                                                                          
00198a   0e83     MOVLW     0x83                                                                                            
00198c   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
00198e   0e09     MOVLW     0x9                                                                                             
001990   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
001992   e207     BC        0x19a2                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001994   0e01     MOVLW     0x1                     started = TRUE;                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
001996   6f80     MOVWF     0x80,0x1                                                                                        
001998   6b7c     CLRF      0x7c,0x1                bitIndex = 0;                                                                 F:\MCP\projects\CAN\canIR\Source\IRec.c
00199a   6f81     MOVWF     0x81,0x1                lastbit = 1;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
00199c   0e02     MOVLW     0x2                     type=IR_RC5X;                                                                 F:\MCP\projects\CAN\canIR\Source\IRec.c
00199e   6f7d     MOVWF     0x7d,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
0019a0   d04a     BRA       0x1a36              else if (started==FALSE && type==IR_NONE && bitIndex==2 && (t6-250)<timediff && timediff<(t6+250)) F:\MCP\projects\CAN\canIR\Source\IRec.c
0019a2   5180     MOVF      0x80,0x0,0x1                                                                                    
0019a4   e113     BNZ       0x19cc                                                                                          
0019a6   517d     MOVF      0x7d,0x0,0x1                                                                                    
0019a8   e111     BNZ       0x19cc                                                                                          
0019aa   0e02     MOVLW     0x2                                                                                             
0019ac   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
0019ae   e10e     BNZ       0x19cc                                                                                          
0019b0   0e8a     MOVLW     0x8a                                                                                            
0019b2   80d8     BSF       0xd8,0x0,0x0                                                                                    
0019b4   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
0019b6   0e0b     MOVLW     0xb                                                                                             
0019b8   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
0019ba   e208     BC        0x19cc                                                                                          
0019bc   0e7e     MOVLW     0x7e                                                                                            
0019be   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
0019c0   0e0d     MOVLW     0xd                                                                                             
0019c2   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
0019c4   e203     BC        0x19cc                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
0019c6   0e03     MOVLW     0x3                     type=IR_RC6;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
0019c8   6f7d     MOVWF     0x7d,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
0019ca   d035     BRA       0x1a36              else if (started==FALSE && type==IR_RC6 && bitIndex==9)                        F:\MCP\projects\CAN\canIR\Source\IRec.c
0019cc   5180     MOVF      0x80,0x0,0x1                                                                                    
0019ce   e10f     BNZ       0x19ee                                                                                          
0019d0   0e03     MOVLW     0x3                                                                                             
0019d2   5d7d     SUBWF     0x7d,0x0,0x1                                                                                    
0019d4   e10c     BNZ       0x19ee                                                                                          
0019d6   0e09     MOVLW     0x9                                                                                             
0019d8   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
0019da   e109     BNZ       0x19ee                                                                                          
                                                {                                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
0019dc   0e01     MOVLW     0x1                     started = TRUE;                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
0019de   6f80     MOVWF     0x80,0x1                                                                                        
0019e0   6b7c     CLRF      0x7c,0x1                bitIndex = 0;                                                                 F:\MCP\projects\CAN\canIR\Source\IRec.c
0019e2   6b81     CLRF      0x81,0x1                lastbit = 0;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
0019e4   0e03     MOVLW     0x3                     type=IR_RC6;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
0019e6   6f7d     MOVWF     0x7d,0x1                                                                                        
0019e8   0e01     MOVLW     0x1                     second = TRUE;                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
0019ea   6f82     MOVWF     0x82,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
0019ec   d024     BRA       0x1a36              else if (started==FALSE && type==IR_RC5 && bitIndex==3 && (t2-250)<timediff && timediff<(t2+250)) F:\MCP\projects\CAN\canIR\Source\IRec.c
0019ee   5180     MOVF      0x80,0x0,0x1                                                                                    
0019f0   e116     BNZ       0x1a1e                                                                                          
0019f2   057d     DECF      0x7d,0x0,0x1                                                                                    
0019f4   e114     BNZ       0x1a1e                                                                                          
0019f6   0e03     MOVLW     0x3                                                                                             
0019f8   5d7c     SUBWF     0x7c,0x0,0x1                                                                                    
0019fa   e111     BNZ       0x1a1e                                                                                          
0019fc   0e33     MOVLW     0x33                                                                                            
0019fe   80d8     BSF       0xd8,0x0,0x0                                                                                    
001a00   557e     SUBFWB    0x7e,0x0,0x1                                                                                    
001a02   0e03     MOVLW     0x3                                                                                             
001a04   557f     SUBFWB    0x7f,0x0,0x1                                                                                    
001a06   e20b     BC        0x1a1e                                                                                          
001a08   0e27     MOVLW     0x27                                                                                            
001a0a   5d7e     SUBWF     0x7e,0x0,0x1                                                                                    
001a0c   0e05     MOVLW     0x5                                                                                             
001a0e   597f     SUBWFB    0x7f,0x0,0x1                                                                                    
001a10   e206     BC        0x1a1e                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001a12   0e01     MOVLW     0x1                     started = TRUE;                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
001a14   6f80     MOVWF     0x80,0x1                                                                                        
001a16   6b7c     CLRF      0x7c,0x1                bitIndex = 0;                                                                 F:\MCP\projects\CAN\canIR\Source\IRec.c
001a18   6f81     MOVWF     0x81,0x1                lastbit = 1;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
001a1a   6f7d     MOVWF     0x7d,0x1                type=IR_RC5;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001a1c   d00c     BRA       0x1a36              else if(bitIndex>2 && type!=IR_RC6)                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001a1e   517c     MOVF      0x7c,0x0,0x1                                                                                    
001a20   0802     SUBLW     0x2                                                                                             
001a22   e205     BC        0x1a2e                                                                                          
001a24   0e03     MOVLW     0x3                                                                                             
001a26   5d7d     SUBWF     0x7d,0x0,0x1                                                                                    
001a28   e002     BZ        0x1a2e                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001a2a   6b7d     CLRF      0x7d,0x1                type=IR_NONE;                                                                 F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001a2c   d004     BRA       0x1a36              else if(bitIndex>9)                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001a2e   517c     MOVF      0x7c,0x0,0x1                                                                                    
001a30   0809     SUBLW     0x9                                                                                             
001a32   e201     BC        0x1a36                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001a34   6b7d     CLRF      0x7d,0x1                type=IR_NONE;                                                                 F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            }                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            // If timer 3 overflow                                                          F:\MCP\projects\CAN\canIR\Source\IRec.c
001a36   50a1     MOVF      0xa1,0x0,0x0    if(PIR2bits.TMR3IF && PIE2bits.TMR3IE)                                          F:\MCP\projects\CAN\canIR\Source\IRec.c
001a38   0b02     ANDLW     0x2                                                                                             
001a3a   e01d     BZ        0x1a76                                                                                          
001a3c   50a0     MOVF      0xa0,0x0,0x0                                                                                    
001a3e   0b02     ANDLW     0x2                                                                                             
001a40   e01a     BZ        0x1a76                                                                                          
                                            {                                                                                 F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001a42   92a1     BCF       0xa1,0x1,0x0        PIR2bits.TMR3IF=0;                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001a44   0100     MOVLB     0x0                 if (type!=IR_NONE)                                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
001a46   517d     MOVF      0x7d,0x0,0x1                                                                                    
001a48   e00e     BZ        0x1a66                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001a4a   c07b     MOVFF     0x7b,0xfe6              irecParse(type,toggle,addr,data);                                             F:\MCP\projects\CAN\canIR\Source\IRec.c
001a4c   ffe6                                                                                                               
001a4e   c07a     MOVFF     0x7a,0xfe6                                                                                      
001a50   ffe6                                                                                                               
001a52   c079     MOVFF     0x79,0xfe6                                                                                      
001a54   ffe6                                                                                                               
001a56   c07d     MOVFF     0x7d,0xfe6                                                                                      
001a58   ffe6                                                                                                               
001a5a   ec70     CALL      0x14e0,0x0                                                                                      
001a5c   f00a                                                                                                               
001a5e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a60   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a62   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a64   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                }                                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001a66   0100     MOVLB     0x0                 started  = FALSE;                                                              F:\MCP\projects\CAN\canIR\Source\IRec.c
001a68   6b80     CLRF      0x80,0x1                                                                                        
001a6a   6b7c     CLRF      0x7c,0x1            bitIndex = 0;                                                                  F:\MCP\projects\CAN\canIR\Source\IRec.c
001a6c   6b7a     CLRF      0x7a,0x1            addr = 0;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
001a6e   6b79     CLRF      0x79,0x1            toggle = 0;                                                                    F:\MCP\projects\CAN\canIR\Source\IRec.c
001a70   6b7b     CLRF      0x7b,0x1            data = 0;                                                                      F:\MCP\projects\CAN\canIR\Source\IRec.c
001a72   6b7d     CLRF      0x7d,0x1            type = IR_NONE;                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                // wait in falling edge.                                                       F:\MCP\projects\CAN\canIR\Source\IRec.c
001a74   90bd     BCF       0xbd,0x0,0x0        CCP1CONbits.CCP1M0=0;                                                          F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                            }                                                                               F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
001a76   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                                                                                                            F:\MCP\projects\CAN\canIR\Source\IRec.c
                                           #endif                                                                           F:\MCP\projects\CAN\canIR\Source\IRec.c