Subversion Repositories HomeAutomation

Rev

Rev 117 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

MP2COD 4.02, COFF to COD File Converter
Copyright (c) 2006 Microchip Technology Inc.
Listing File Generated: Sat Nov 18 14:20:08 2006


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/Main.c $ F:\MCP\projects\CAN\canNode\Source\Main.c
                                            * Last changed: $LastChangedDate: 2006-11-15 18:49:55 +0100 (on, 15 nov 2006) $ F:\MCP\projects\CAN\canNode\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                            * Revision:     $Revision: 109 $                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                            #include <CAN.h>                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
001044   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
001046   ffe6                                                                                                               
001048   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00104a   ffd9                                                                                                               
00104c   0e0f     MOVLW     0xf                                                                                             
00104e   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                            static TICK t = 0;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
001050   d971     RCALL     0x1334          mainInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
001052   ec66     CALL      0x14cc,0x0          canInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
001054   f00a                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
001056   ecf1     CALL      0x19e2,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
001058   f00c                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
00105a   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00105c   6ee6     MOVWF     0xe6,0x0                                                                                        
00105e   6ae6     CLRF      0xe6,0x0                                                                                        
001060   ec4c     CALL      0x1898,0x0                                                                                      
001062   f00c                                                                                                               
001064   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001066   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001068   082a     SUBLW     0x2a                                                                                            
00106a   e12b     BNZ       0x10c2                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00106c   0e01     MOVLW     0x1                 MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canNode\Source\Main.c
00106e   6ee6     MOVWF     0xe6,0x0                                                                                        
001070   6ae6     CLRF      0xe6,0x0                                                                                        
001072   ec4c     CALL      0x1898,0x0                                                                                      
001074   f00c                                                                                                               
001076   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001078   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00107a   6e00     MOVWF     0x0,0x0                                                                                         
00107c   c000     MOVFF     0x0,0x1                                                                                         
00107e   f001                                                                                                               
001080   6a00     CLRF      0x0,0x0                                                                                         
001082   c000     MOVFF     0x0,0xfe6                                                                                       
001084   ffe6                                                                                                               
001086   c001     MOVFF     0x1,0xfe6                                                                                       
001088   ffe6                                                                                                               
00108a   0e02     MOVLW     0x2                                                                                             
00108c   6ee6     MOVWF     0xe6,0x0                                                                                        
00108e   6ae6     CLRF      0xe6,0x0                                                                                        
001090   ec4c     CALL      0x1898,0x0                                                                                      
001092   f00c                                                                                                               
001094   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001096   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001098   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00109a   cfe7     MOVFF     0xfe7,0x1                                                                                       
00109c   f001                                                                                                               
00109e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010a0   cfe7     MOVFF     0xfe7,0x0                                                                                       
0010a2   f000                                                                                                               
0010a4   0100     MOVLB     0x0                                                                                             
0010a6   2400     ADDWF     0x0,0x0,0x0                                                                                     
0010a8   6f60     MOVWF     0x60,0x1                                                                                        
0010aa   0e00     MOVLW     0x0                                                                                             
0010ac   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0010ae   6f61     MOVWF     0x61,0x1                                                                                        
0010b0   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
0010b2   6ee6     MOVWF     0xe6,0x0                                                                                        
0010b4   6ae6     CLRF      0xe6,0x0                                                                                        
0010b6   ec4c     CALL      0x1898,0x0                                                                                      
0010b8   f00c                                                                                                               
0010ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010bc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010be   0100     MOVLB     0x0                                                                                             
0010c0   6f62     MOVWF     0x62,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            // Send user program startup heatbeat                                           F:\MCP\projects\CAN\canNode\Source\Main.c
0010c2   6adf     CLRF      0xdf,0x0        outCm.funct                     = FUNCT_BOOTLOADER;                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0010c4   0e08     MOVLW     0x8             outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                        F:\MCP\projects\CAN\canNode\Source\Main.c
0010c6   6ef3     MOVWF     0xf3,0x0                                                                                        
0010c8   0e01     MOVLW     0x1                                                                                             
0010ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010cc   ffdb                                                                                                               
0010ce   0e02     MOVLW     0x2                                                                                             
0010d0   6adb     CLRF      0xdb,0x0                                                                                        
0010d2   0e03     MOVLW     0x3             outCm.nid                       = MY_NID;                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
0010d4   c062     MOVFF     0x62,0xfdb                                                                                      
0010d6   ffdb                                                                                                               
0010d8   0e04     MOVLW     0x4             outCm.sid                       = MY_ID;                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
0010da   c060     MOVFF     0x60,0xfdb                                                                                      
0010dc   ffdb                                                                                                               
0010de   0e05     MOVLW     0x5                                                                                             
0010e0   c061     MOVFF     0x61,0xfdb                                                                                      
0010e2   ffdb                                                                                                               
0010e4   0e01     MOVLW     0x1             outCm.data_length               = 1;                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
0010e6   6ef3     MOVWF     0xf3,0x0                                                                                        
0010e8   0e06     MOVLW     0x6                                                                                             
0010ea   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010ec   ffdb                                                                                                               
0010ee   0e01     MOVLW     0x1             outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_USER_STARTUP;                 F:\MCP\projects\CAN\canNode\Source\Main.c
0010f0   6ef3     MOVWF     0xf3,0x0                                                                                        
0010f2   0e07     MOVLW     0x7                                                                                             
0010f4   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010f6   ffdb                                                                                                               
0010f8   0e02     MOVLW     0x2             while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canNode\Source\Main.c
0010fa   6ee6     MOVWF     0xe6,0x0                                                                                        
0010fc   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0010fe   ffe9                                                                                                               
001100   cfda     MOVFF     0xfda,0xfea                                                                                     
001102   ffea                                                                                                               
001104   cfee     MOVFF     0xfee,0xfe6                                                                                     
001106   ffe6                                                                                                               
001108   cfee     MOVFF     0xfee,0xfe6                                                                                     
00110a   ffe6                                                                                                               
00110c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00110e   ffe6                                                                                                               
001110   cfee     MOVFF     0xfee,0xfe6                                                                                     
001112   ffe6                                                                                                               
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   ec7c     CALL      0x16f8,0x0                                                                                      
001142   f00b                                                                                                               
001144   6e00     MOVWF     0x0,0x0                                                                                         
001146   0e10     MOVLW     0x10                                                                                            
001148   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00114a   5000     MOVF      0x0,0x0,0x0                                                                                     
00114c   0900     IORLW     0x0                                                                                             
00114e   e101     BNZ       0x1152                                                                                          
001150   d7d3     BRA       0x10f8                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
001270   d770     BRA       0x1152          while(1)                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                static TICK t = 0;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                                static TICK heartbeat = 0;                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
001152   ecfb     CALL      0x19f6,0x0          if ((tickGet()-heartbeat)>TICK_SECOND*5)                                       F:\MCP\projects\CAN\canNode\Source\Main.c
001154   f00c                                                                                                               
001156   0100     MOVLB     0x0                                                                                             
001158   516b     MOVF      0x6b,0x0,0x1                                                                                    
00115a   5c12     SUBWF     0x12,0x0,0x0                                                                                    
00115c   6e00     MOVWF     0x0,0x0                                                                                         
00115e   516c     MOVF      0x6c,0x0,0x1                                                                                    
001160   5813     SUBWFB    0x13,0x0,0x0                                                                                    
001162   6e01     MOVWF     0x1,0x0                                                                                         
001164   516d     MOVF      0x6d,0x0,0x1                                                                                    
001166   5814     SUBWFB    0x14,0x0,0x0                                                                                    
001168   6e02     MOVWF     0x2,0x0                                                                                         
00116a   516e     MOVF      0x6e,0x0,0x1                                                                                    
00116c   5815     SUBWFB    0x15,0x0,0x0                                                                                    
00116e   6e03     MOVWF     0x3,0x0                                                                                         
001170   80d8     BSF       0xd8,0x0,0x0                                                                                    
001172   0ef4     MOVLW     0xf4                                                                                            
001174   5400     SUBFWB    0x0,0x0,0x0                                                                                     
001176   0e01     MOVLW     0x1                                                                                             
001178   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00117a   0e00     MOVLW     0x0                                                                                             
00117c   5402     SUBFWB    0x2,0x0,0x0                                                                                     
00117e   0e00     MOVLW     0x0                                                                                             
001180   5403     SUBFWB    0x3,0x0,0x0                                                                                     
001182   e252     BC        0x1228                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    // Send alive heartbeat                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
001184   6adf     CLRF      0xdf,0x0                outCm.funct                     = FUNCT_BOOTLOADER;                                          F:\MCP\projects\CAN\canNode\Source\Main.c
001186   0e08     MOVLW     0x8                     outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                      F:\MCP\projects\CAN\canNode\Source\Main.c
001188   6ef3     MOVWF     0xf3,0x0                                                                                        
00118a   0e01     MOVLW     0x1                                                                                             
00118c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00118e   ffdb                                                                                                               
001190   0e02     MOVLW     0x2                                                                                             
001192   6adb     CLRF      0xdb,0x0                                                                                        
001194   0e03     MOVLW     0x3                     outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
001196   c062     MOVFF     0x62,0xfdb                                                                                      
001198   ffdb                                                                                                               
00119a   0e04     MOVLW     0x4                     outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
00119c   c060     MOVFF     0x60,0xfdb                                                                                      
00119e   ffdb                                                                                                               
0011a0   0e05     MOVLW     0x5                                                                                             
0011a2   c061     MOVFF     0x61,0xfdb                                                                                      
0011a4   ffdb                                                                                                               
0011a6   0e01     MOVLW     0x1                     outCm.data_length               = 1;                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
0011a8   6ef3     MOVWF     0xf3,0x0                                                                                        
0011aa   0e06     MOVLW     0x6                                                                                             
0011ac   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011ae   ffdb                                                                                                               
0011b0   0e02     MOVLW     0x2                     outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_ALIVE;                      F:\MCP\projects\CAN\canNode\Source\Main.c
0011b2   6ef3     MOVWF     0xf3,0x0                                                                                        
0011b4   0e07     MOVLW     0x7                                                                                             
0011b6   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011b8   ffdb                                                                                                               
0011ba   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canNode\Source\Main.c
0011bc   6ee6     MOVWF     0xe6,0x0                                                                                        
0011be   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0011c0   ffe9                                                                                                               
0011c2   cfda     MOVFF     0xfda,0xfea                                                                                     
0011c4   ffea                                                                                                               
0011c6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011c8   ffe6                                                                                                               
0011ca   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011cc   ffe6                                                                                                               
0011ce   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011d0   ffe6                                                                                                               
0011d2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011d4   ffe6                                                                                                               
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   ec7c     CALL      0x16f8,0x0                                                                                      
001204   f00b                                                                                                               
001206   6e00     MOVWF     0x0,0x0                                                                                         
001208   0e10     MOVLW     0x10                                                                                            
00120a   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00120c   5000     MOVF      0x0,0x0,0x0                                                                                     
00120e   0900     IORLW     0x0                                                                                             
001210   e101     BNZ       0x1214                                                                                          
001212   d7d3     BRA       0x11ba                                                                                          
                                                                                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
001214   ecfb     CALL      0x19f6,0x0              heartbeat = tickGet();                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
001216   f00c                                                                                                               
001218   c012     MOVFF     0x12,0x6b                                                                                       
00121a   f06b                                                                                                               
00121c   c013     MOVFF     0x13,0x6c                                                                                       
00121e   f06c                                                                                                               
001220   c014     MOVFF     0x14,0x6d                                                                                       
001222   f06d                                                                                                               
001224   c015     MOVFF     0x15,0x6e                                                                                       
001226   f06e                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
001228   ecfb     CALL      0x19f6,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
00122a   f00c                                                                                                               
00122c   0100     MOVLB     0x0                                                                                             
00122e   5167     MOVF      0x67,0x0,0x1                                                                                    
001230   5c12     SUBWF     0x12,0x0,0x0                                                                                    
001232   6e00     MOVWF     0x0,0x0                                                                                         
001234   5168     MOVF      0x68,0x0,0x1                                                                                    
001236   5813     SUBWFB    0x13,0x0,0x0                                                                                    
001238   6e01     MOVWF     0x1,0x0                                                                                         
00123a   5169     MOVF      0x69,0x0,0x1                                                                                    
00123c   5814     SUBWFB    0x14,0x0,0x0                                                                                    
00123e   6e02     MOVWF     0x2,0x0                                                                                         
001240   516a     MOVF      0x6a,0x0,0x1                                                                                    
001242   5815     SUBWFB    0x15,0x0,0x0                                                                                    
001244   6e03     MOVWF     0x3,0x0                                                                                         
001246   80d8     BSF       0xd8,0x0,0x0                                                                                    
001248   0e64     MOVLW     0x64                                                                                            
00124a   5400     SUBFWB    0x0,0x0,0x0                                                                                     
00124c   0e00     MOVLW     0x0                                                                                             
00124e   5401     SUBFWB    0x1,0x0,0x0                                                                                     
001250   0e00     MOVLW     0x0                                                                                             
001252   5402     SUBFWB    0x2,0x0,0x0                                                                                     
001254   0e00     MOVLW     0x0                                                                                             
001256   5403     SUBFWB    0x3,0x0,0x0                                                                                     
001258   e20b     BC        0x1270                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
00125a   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
00125c   ecfb     CALL      0x19f6,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
00125e   f00c                                                                                                               
001260   c012     MOVFF     0x12,0x67                                                                                       
001262   f067                                                                                                               
001264   c013     MOVFF     0x13,0x68                                                                                       
001266   f068                                                                                                               
001268   c014     MOVFF     0x14,0x69                                                                                       
00126a   f069                                                                                                               
00126c   c015     MOVFF     0x15,0x6a                                                                                       
00126e   f06a                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
001272   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
001274   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001276   e202     BC        0x127c                                                                                          
001278   6ae1     CLRF      0xe1,0x0                                                                                        
00127a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00127c   6ee1     MOVWF     0xe1,0x0                                                                                        
00127e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001280   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001282   ffd9                                                                                                               
001284   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma interrupt high_isr                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
001286   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
001288   ffe4                                                                                                               
00128a   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00128c   ffda                                                                                                               
00128e   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
001290   ffe4                                                                                                               
001292   cfea     MOVFF     0xfea,0xfe4                                                                                     
001294   ffe4                                                                                                               
001296   cff6     MOVFF     0xff6,0xfe4                                                                                     
001298   ffe4                                                                                                               
00129a   cff7     MOVFF     0xff7,0xfe4                                                                                     
00129c   ffe4                                                                                                               
00129e   cff5     MOVFF     0xff5,0xfe4                                                                                     
0012a0   ffe4                                                                                                               
0012a2   cff3     MOVFF     0xff3,0xfe4                                                                                     
0012a4   ffe4                                                                                                               
0012a6   cff4     MOVFF     0xff4,0xfe4                                                                                     
0012a8   ffe4                                                                                                               
0012aa   cffa     MOVFF     0xffa,0xfe4                                                                                     
0012ac   ffe4                                                                                                               
0012ae   ee00     LFSR      0x0,0xe                                                                                         
0012b0   f00e                                                                                                               
0012b2   0e0b     MOVLW     0xb                                                                                             
0012b4   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012b6   e303     BNC       0x12be                                                                                          
0012b8   cfee     MOVFF     0xfee,0xfe4                                                                                     
0012ba   ffe4                                                                                                               
0012bc   d7fb     BRA       0x12b4                                                                                          
0012be   ee00     LFSR      0x0,0x0                                                                                         
0012c0   f000                                                                                                               
0012c2   0e0e     MOVLW     0xe                                                                                             
0012c4   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012c6   e303     BNC       0x12ce                                                                                          
0012c8   cfee     MOVFF     0xfee,0xfe4                                                                                     
0012ca   ffe4                                                                                                               
0012cc   d7fb     BRA       0x12c4                                                                                          
0012ce   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0012d0   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
0012d2   ec91     CALL      0x1522,0x0          canISR();                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
0012d4   f00a                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0012d6   ec05     CALL      0x1a0a,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
0012d8   f00d                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0012da   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0012dc   ee00     LFSR      0x0,0xd                                                                                         
0012de   f00d                                                                                                               
0012e0   0e0e     MOVLW     0xe                                                                                             
0012e2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012e4   e303     BNC       0x12ec                                                                                          
0012e6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0012e8   ffed                                                                                                               
0012ea   d7fb     BRA       0x12e2                                                                                          
0012ec   ee00     LFSR      0x0,0x18                                                                                        
0012ee   f018                                                                                                               
0012f0   0e0b     MOVLW     0xb                                                                                             
0012f2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012f4   e303     BNC       0x12fc                                                                                          
0012f6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0012f8   ffed                                                                                                               
0012fa   d7fb     BRA       0x12f2                                                                                          
0012fc   cfe5     MOVFF     0xfe5,0xffa                                                                                     
0012fe   fffa                                                                                                               
001300   cfe5     MOVFF     0xfe5,0xff4                                                                                     
001302   fff4                                                                                                               
001304   cfe5     MOVFF     0xfe5,0xff3                                                                                     
001306   fff3                                                                                                               
001308   cfe5     MOVFF     0xfe5,0xff5                                                                                     
00130a   fff5                                                                                                               
00130c   cfe5     MOVFF     0xfe5,0xff7                                                                                     
00130e   fff7                                                                                                               
001310   cfe5     MOVFF     0xfe5,0xff6                                                                                     
001312   fff6                                                                                                               
001314   cfe5     MOVFF     0xfe5,0xfea                                                                                     
001316   ffea                                                                                                               
001318   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
00131a   ffe9                                                                                                               
00131c   cfe5     MOVFF     0xfe5,0xfda                                                                                     
00131e   ffda                                                                                                               
001320   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma interrupt low_isr                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
001322   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
001324   ffe4                                                                                                               
001326   cfe2     MOVFF     0xfe2,0xfda                                                                                     
001328   ffda                                                                                                               
00132a   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00132c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
00132e   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001330   ffda                                                                                                               
001332   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
001334   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
001336   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
001338   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
00133a   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00133c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Function: canParse                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Input:  Received can message                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
00133e   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
001340   ffe6                                                                                                               
001342   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001344   ffd9                                                                                                               
001346   0e0f     MOVLW     0xf                                                                                             
001348   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00134a   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00134c   0ef0     MOVLW     0xf0            switch(cm.funct)                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
00134e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001350   e001     BZ        0x1354                                                                                          
001352   d0b2     BRA       0x14b8                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                case FUNCT_BOOTLOADER:                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
001354   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\canNode\Source\Main.c
001356   50db     MOVF      0xdb,0x0,0x0                                                                                    
001358   0100     MOVLB     0x0                                                                                             
00135a   5d62     SUBWF     0x62,0x0,0x1                                                                                    
00135c   e001     BZ        0x1360                                                                                          
00135e   d0ab     BRA       0x14b6                                                                                          
001360   0efc     MOVLW     0xfc                                                                                            
001362   cfdb     MOVFF     0xfdb,0x2                                                                                       
001364   f002                                                                                                               
001366   c002     MOVFF     0x2,0x3                                                                                         
001368   f003                                                                                                               
00136a   6a02     CLRF      0x2,0x0                                                                                         
00136c   0efb     MOVLW     0xfb                                                                                            
00136e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001370   0100     MOVLB     0x0                                                                                             
001372   2402     ADDWF     0x2,0x0,0x0                                                                                     
001374   6e00     MOVWF     0x0,0x0                                                                                         
001376   0e00     MOVLW     0x0                                                                                             
001378   2003     ADDWFC    0x3,0x0,0x0                                                                                     
00137a   6e01     MOVWF     0x1,0x0                                                                                         
00137c   0100     MOVLB     0x0                                                                                             
00137e   5160     MOVF      0x60,0x0,0x1                                                                                    
001380   1800     XORWF     0x0,0x0,0x0                                                                                     
001382   e102     BNZ       0x1388                                                                                          
001384   5161     MOVF      0x61,0x0,0x1                                                                                    
001386   1801     XORWF     0x1,0x0,0x0                                                                                     
001388   e001     BZ        0x138c                                                                                          
00138a   d095     BRA       0x14b6                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
00138c   0ef1     MOVLW     0xf1                        switch(cm.funcc)                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
00138e   cfdb     MOVFF     0xfdb,0x14                                                                                      
001390   f014                                                                                                               
001392   0ef2     MOVLW     0xf2                                                                                            
001394   cfdb     MOVFF     0xfdb,0x15                                                                                      
001396   f015                                                                                                               
001398   0e06     MOVLW     0x6                                                                                             
00139a   1814     XORWF     0x14,0x0,0x0                                                                                    
00139c   e101     BNZ       0x13a0                                                                                          
00139e   5015     MOVF      0x15,0x0,0x0                                                                                    
0013a0   e008     BZ        0x13b2                                                                                          
0013a2   0e01     MOVLW     0x1                                                                                             
0013a4   1814     XORWF     0x14,0x0,0x0                                                                                    
0013a6   e101     BNZ       0x13aa                                                                                          
0013a8   5015     MOVF      0x15,0x0,0x0                                                                                    
0013aa   e001     BZ        0x13ae                                                                                          
0013ac   d084     BRA       0x14b6                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0013ae   00ff     RESET                                     case FUNCC_BOOT_INIT: Reset(); break; //User whant to program me, reset me. F:\MCP\projects\CAN\canNode\Source\Main.c
0013b0   d082     BRA       0x14b6                                                                                          
                                                            case FUNCC_BOOT_SET_ID:                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
0013b2   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\canNode\Source\Main.c
0013b4   cfdb     MOVFF     0xfdb,0x0                                                                                       
0013b6   f000                                                                                                               
0013b8   c000     MOVFF     0x0,0x1                                                                                         
0013ba   f001                                                                                                               
0013bc   6a00     CLRF      0x0,0x0                                                                                         
0013be   0ef7     MOVLW     0xf7                                                                                            
0013c0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0013c2   0100     MOVLB     0x0                                                                                             
0013c4   2400     ADDWF     0x0,0x0,0x0                                                                                     
0013c6   6f60     MOVWF     0x60,0x1                                                                                        
0013c8   0e00     MOVLW     0x0                                                                                             
0013ca   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0013cc   6f61     MOVWF     0x61,0x1                                                                                        
0013ce   0ef9     MOVLW     0xf9                                MY_NID=cm.data[BOOT_DATA_NEW_NID_INDEX];                                   F:\MCP\projects\CAN\canNode\Source\Main.c
0013d0   cfdb     MOVFF     0xfdb,0x62                                                                                      
0013d2   f062                                                                                                               
0013d4   0ef8     MOVLW     0xf8                                EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX]);                F:\MCP\projects\CAN\canNode\Source\Main.c
0013d6   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0013d8   ffe6                                                                                                               
0013da   0e01     MOVLW     0x1                                                                                             
0013dc   6ee6     MOVWF     0xe6,0x0                                                                                        
0013de   6ae6     CLRF      0xe6,0x0                                                                                        
0013e0   ec71     CALL      0x18e2,0x0                                                                                      
0013e2   f00c                                                                                                               
0013e4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013e6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013e8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013ea   0ef7     MOVLW     0xf7                                EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]);                 F:\MCP\projects\CAN\canNode\Source\Main.c
0013ec   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0013ee   ffe6                                                                                                               
0013f0   0e02     MOVLW     0x2                                                                                             
0013f2   6ee6     MOVWF     0xe6,0x0                                                                                        
0013f4   6ae6     CLRF      0xe6,0x0                                                                                        
0013f6   ec71     CALL      0x18e2,0x0                                                                                      
0013f8   f00c                                                                                                               
0013fa   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013fc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013fe   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001400   0ef9     MOVLW     0xf9                                EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID_INDEX]);                    F:\MCP\projects\CAN\canNode\Source\Main.c
001402   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001404   ffe6                                                                                                               
001406   0e03     MOVLW     0x3                                                                                             
001408   6ee6     MOVWF     0xe6,0x0                                                                                        
00140a   6ae6     CLRF      0xe6,0x0                                                                                        
00140c   ec71     CALL      0x18e2,0x0                                                                                      
00140e   f00c                                                                                                               
001410   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001412   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001414   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001416   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canNode\Source\Main.c
001418   6ee6     MOVWF     0xe6,0x0                                                                                        
00141a   0e00     MOVLW     0x0                                                                                             
00141c   6ee6     MOVWF     0xe6,0x0                                                                                        
00141e   6ae6     CLRF      0xe6,0x0                                                                                        
001420   ec71     CALL      0x18e2,0x0                                                                                      
001422   f00c                                                                                                               
001424   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001426   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001428   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
00142a   6adf     CLRF      0xdf,0x0                            outCm.funct                     = FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canNode\Source\Main.c
00142c   0e04     MOVLW     0x4                                 outCm.funcc                     = FUNCC_BOOT_ACK;                                         F:\MCP\projects\CAN\canNode\Source\Main.c
00142e   6ef3     MOVWF     0xf3,0x0                                                                                        
001430   0e01     MOVLW     0x1                                                                                             
001432   cff3     MOVFF     0xff3,0xfdb                                                                                     
001434   ffdb                                                                                                               
001436   0e02     MOVLW     0x2                                                                                             
001438   6adb     CLRF      0xdb,0x0                                                                                        
00143a   0e03     MOVLW     0x3                                 outCm.nid                       = MY_NID;                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
00143c   c062     MOVFF     0x62,0xfdb                                                                                      
00143e   ffdb                                                                                                               
001440   0e04     MOVLW     0x4                                 outCm.sid                       = MY_ID;                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
001442   c060     MOVFF     0x60,0xfdb                                                                                      
001444   ffdb                                                                                                               
001446   0e05     MOVLW     0x5                                                                                             
001448   c061     MOVFF     0x61,0xfdb                                                                                      
00144a   ffdb                                                                                                               
00144c   0e08     MOVLW     0x8                                 outCm.data_length               = 8;                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
00144e   6ef3     MOVWF     0xf3,0x0                                                                                        
001450   0e06     MOVLW     0x6                                                                                             
001452   cff3     MOVFF     0xff3,0xfdb                                                                                     
001454   ffdb                                                                                                               
001456   0e0b     MOVLW     0xb                                 outCm.data[BOOT_DATA_ERR_INDEX] = ACK_ERR_NO_ERROR;                        F:\MCP\projects\CAN\canNode\Source\Main.c
001458   6adb     CLRF      0xdb,0x0                                                                                        
00145a   0e02     MOVLW     0x2                                 while(!canSendMessage(outCm,PRIO_HIGH));                                   F:\MCP\projects\CAN\canNode\Source\Main.c
00145c   6ee6     MOVWF     0xe6,0x0                                                                                        
00145e   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
001460   ffe9                                                                                                               
001462   cfda     MOVFF     0xfda,0xfea                                                                                     
001464   ffea                                                                                                               
001466   cfee     MOVFF     0xfee,0xfe6                                                                                     
001468   ffe6                                                                                                               
00146a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00146c   ffe6                                                                                                               
00146e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001470   ffe6                                                                                                               
001472   cfee     MOVFF     0xfee,0xfe6                                                                                     
001474   ffe6                                                                                                               
001476   cfee     MOVFF     0xfee,0xfe6                                                                                     
001478   ffe6                                                                                                               
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   ec7c     CALL      0x16f8,0x0                                                                                      
0014a4   f00b                                                                                                               
0014a6   6e00     MOVWF     0x0,0x0                                                                                         
0014a8   0e10     MOVLW     0x10                                                                                            
0014aa   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0014ac   5000     MOVF      0x0,0x0,0x0                                                                                     
0014ae   0900     IORLW     0x0                                                                                             
0014b0   e101     BNZ       0x14b4                                                                                          
0014b2   d7d3     BRA       0x145a                                                                                          
0014b4   d000     BRA       0x14b6                          break;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    }                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0014b6   d000     BRA       0x14b8              break;                                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0014b8   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0014ba   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0014bc   e202     BC        0x14c2                                                                                          
0014be   6ae1     CLRF      0xe1,0x0                                                                                        
0014c0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0014c2   6ee1     MOVWF     0xe1,0x0                                                                                        
0014c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0014c6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0014c8   ffd9                                                                                                               
0014ca   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           // Below are mandantory when using bootloader                                    F:\MCP\projects\CAN\canNode\Source\Main.c
                                           // define DEBUG_MODE to use without bootloader.                                  F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #ifndef DEBUG_MODE                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           extern void _startup (void);                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma code _RESET_INTERRUPT_VECTOR = 0x001000                                  F:\MCP\projects\CAN\canNode\Source\Main.c
                                           void _reset (void)                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
001000   ef13     GOTO      0x1a26             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
001002   f00d                                                                                                               
001004   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma code _HIGH_INTERRUPT_VECTOR = 0x001008                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                           void _high_ISR (void)                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
001008   ef43     GOTO      0x1286          _asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
00100a   f009                                                                                                               
00100c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma code _LOW_INTERRUPT_VECTOR = 0x001018                                    F:\MCP\projects\CAN\canNode\Source\Main.c
                                           void _low_ISR (void)                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
001018   ef91     GOTO      0x1322             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
00101a   f009                                                                                                               
00101c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canNode\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
0019e2   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
0019e4   6ed6     MOVWF     0xd6,0x0                                                                                        
0019e6   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
0019e8   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
0019ea   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
0019ec   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
0019ee   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
0019f0   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
0019f2   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
0019f4   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
0019f6   c079     MOVFF     0x79,0x12          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
0019f8   f012                                                                                                               
0019fa   c07a     MOVFF     0x7a,0x13                                                                                       
0019fc   f013                                                                                                               
0019fe   c07b     MOVFF     0x7b,0x14                                                                                       
001a00   f014                                                                                                               
001a02   c07c     MOVFF     0x7c,0x15                                                                                       
001a04   f015                                                                                                               
001a06   d000     BRA       0x1a08                                                                                          
001a08   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
001a0a   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
001a0c   d00b     BRA       0x1a24                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001a0e   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
001a10   6ed7     MOVWF     0xd7,0x0                                                                                        
001a12   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001a14   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001a16   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
001a18   2b79     INCF      0x79,0x1,0x1                                                                                    
001a1a   0e00     MOVLW     0x0                                                                                             
001a1c   237a     ADDWFC    0x7a,0x1,0x1                                                                                    
001a1e   237b     ADDWFC    0x7b,0x1,0x1                                                                                    
001a20   237c     ADDWFC    0x7c,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001a22   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001a24   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
0014cc   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0014ce   6e6f     MOVWF     0x6f,0x0                                                                                        
0014d0   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
0014d2   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0014d4   0880     SUBLW     0x80                                                                                            
0014d6   e001     BZ        0x14da                                                                                          
0014d8   d7fb     BRA       0x14d0                                                                                          
                                                                                                                            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
0014da   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
0014dc   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0014de   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
0014e0   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0014e2   1070     IORWF     0x70,0x0,0x0                                                                                    
0014e4   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0014e6   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
0014e8   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0014ea   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0014ec   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
0014ee   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0014f0   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0014f2   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
0014f4   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
0014f6   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
0014f8   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0014fa   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0014fc   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0014fe   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001500   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001502   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
001504   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001506   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
001508   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00150a   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00150c   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00150e   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001510   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001512   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
001514   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
001516   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001518   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00151a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00151c   e001     BZ        0x1520                                                                                          
00151e   d7fc     BRA       0x1518                                                                                          
                                            #endif                                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001520   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
001522   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001524   0b02     ANDLW     0x2                                                                                             
001526   e106     BNZ       0x1534                                                                                          
001528   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00152a   0b02     ANDLW     0x2                                                                                             
00152c   e103     BNZ       0x1534                                                                                          
00152e   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001530   0b01     ANDLW     0x1                                                                                             
001532   e016     BZ        0x1560                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001534   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001536   146f     ANDWF     0x6f,0x0,0x0                                                                                    
001538   0910     IORLW     0x10                                                                                            
00153a   6e00     MOVWF     0x0,0x0                                                                                         
00153c   0e00     MOVLW     0x0                                                                                             
00153e   1477     ANDWF     0x77,0x0,0x0                                                                                    
001540   1000     IORWF     0x0,0x0,0x0                                                                                     
001542   6e77     MOVWF     0x77,0x0                                                                                        
001544   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001546   d80d     RCALL     0x1562                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001548   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00154a   d002     BRA       0x1550                                                                                          
00154c   92a4     BCF       0xa4,0x1,0x0                                                                                    
00154e   d008     BRA       0x1560                                                                                          
001550   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001552   d002     BRA       0x1558                                                                                          
001554   92a4     BCF       0xa4,0x1,0x0                                                                                    
001556   d004     BRA       0x1560                                                                                          
001558   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00155a   d002     BRA       0x1560                                                                                          
00155c   90a4     BCF       0xa4,0x0,0x0                                                                                    
00155e   d000     BRA       0x1560                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001560   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
001562   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001564   ffe6                                                                                                               
001566   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001568   ffd9                                                                                                               
00156a   0e0f     MOVLW     0xf                                                                                             
00156c   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
00156e   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001570   1461     ANDWF     0x61,0x0,0x0                                                                                    
001572   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
001574   0b0f     ANDLW     0xf                                                                                             
001576   6edf     MOVWF     0xdf,0x0                                                                                        
001578   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
00157a   1461     ANDWF     0x61,0x0,0x0                                                                                    
00157c   6e06     MOVWF     0x6,0x0                                                                                         
00157e   6a07     CLRF      0x7,0x0                                                                                         
001580   0e06     MOVLW     0x6                                                                                             
001582   90d8     BCF       0xd8,0x0,0x0                                                                                    
001584   3606     RLCF      0x6,0x1,0x0                                                                                     
001586   3607     RLCF      0x7,0x1,0x0                                                                                     
001588   04e8     DECF      0xe8,0x0,0x0                                                                                    
00158a   e1fb     BNZ       0x1582                                                                                          
00158c   0ee0     MOVLW     0xe0                                                                                            
00158e   1462     ANDWF     0x62,0x0,0x0                                                                                    
001590   6e08     MOVWF     0x8,0x0                                                                                         
001592   6a09     CLRF      0x9,0x0                                                                                         
001594   90d8     BCF       0xd8,0x0,0x0                                                                                    
001596   3209     RRCF      0x9,0x1,0x0                                                                                     
001598   3208     RRCF      0x8,0x1,0x0                                                                                     
00159a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00159c   3209     RRCF      0x9,0x1,0x0                                                                                     
00159e   3208     RRCF      0x8,0x1,0x0                                                                                     
0015a0   5006     MOVF      0x6,0x0,0x0                                                                                     
0015a2   2408     ADDWF     0x8,0x0,0x0                                                                                     
0015a4   6e04     MOVWF     0x4,0x0                                                                                         
0015a6   5007     MOVF      0x7,0x0,0x0                                                                                     
0015a8   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0015aa   6e05     MOVWF     0x5,0x0                                                                                         
0015ac   0e03     MOVLW     0x3                                                                                             
0015ae   1462     ANDWF     0x62,0x0,0x0                                                                                    
0015b0   6e0a     MOVWF     0xa,0x0                                                                                         
0015b2   6a0b     CLRF      0xb,0x0                                                                                         
0015b4   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015b6   360a     RLCF      0xa,0x1,0x0                                                                                     
0015b8   360b     RLCF      0xb,0x1,0x0                                                                                     
0015ba   5004     MOVF      0x4,0x0,0x0                                                                                     
0015bc   240a     ADDWF     0xa,0x0,0x0                                                                                     
0015be   6e02     MOVWF     0x2,0x0                                                                                         
0015c0   5005     MOVF      0x5,0x0,0x0                                                                                     
0015c2   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0015c4   6e03     MOVWF     0x3,0x0                                                                                         
0015c6   0e80     MOVLW     0x80                                                                                            
0015c8   1463     ANDWF     0x63,0x0,0x0                                                                                    
0015ca   6e0c     MOVWF     0xc,0x0                                                                                         
0015cc   6a0d     CLRF      0xd,0x0                                                                                         
0015ce   0e07     MOVLW     0x7                                                                                             
0015d0   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015d2   320d     RRCF      0xd,0x1,0x0                                                                                     
0015d4   320c     RRCF      0xc,0x1,0x0                                                                                     
0015d6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0015d8   e1fb     BNZ       0x15d0                                                                                          
0015da   5002     MOVF      0x2,0x0,0x0                                                                                     
0015dc   240c     ADDWF     0xc,0x0,0x0                                                                                     
0015de   6e00     MOVWF     0x0,0x0                                                                                         
0015e0   5003     MOVF      0x3,0x0,0x0                                                                                     
0015e2   200d     ADDWFC    0xd,0x0,0x0                                                                                     
0015e4   6e01     MOVWF     0x1,0x0                                                                                         
0015e6   0e01     MOVLW     0x1                                                                                             
0015e8   c000     MOVFF     0x0,0xfdb                                                                                       
0015ea   ffdb                                                                                                               
0015ec   0e02     MOVLW     0x2                                                                                             
0015ee   c001     MOVFF     0x1,0xfdb                                                                                       
0015f0   ffdb                                                                                                               
0015f2   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0015f4   1463     ANDWF     0x63,0x0,0x0                                                                                    
0015f6   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0015f8   0b7f     ANDLW     0x7f                                                                                            
0015fa   6ee7     MOVWF     0xe7,0x0                                                                                        
0015fc   0e03     MOVLW     0x3                                                                                             
0015fe   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001600   ffdb                                                                                                               
001602   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001604   1463     ANDWF     0x63,0x0,0x0                                                                                    
001606   6e02     MOVWF     0x2,0x0                                                                                         
001608   c002     MOVFF     0x2,0x3                                                                                         
00160a   f003                                                                                                               
00160c   6a02     CLRF      0x2,0x0                                                                                         
00160e   5064     MOVF      0x64,0x0,0x0                                                                                    
001610   0100     MOVLB     0x0                                                                                             
001612   2402     ADDWF     0x2,0x0,0x0                                                                                     
001614   6e00     MOVWF     0x0,0x0                                                                                         
001616   0e00     MOVLW     0x0                                                                                             
001618   2003     ADDWFC    0x3,0x0,0x0                                                                                     
00161a   6e01     MOVWF     0x1,0x0                                                                                         
00161c   0e04     MOVLW     0x4                                                                                             
00161e   c000     MOVFF     0x0,0xfdb                                                                                       
001620   ffdb                                                                                                               
001622   0e05     MOVLW     0x5                                                                                             
001624   c001     MOVFF     0x1,0xfdb                                                                                       
001626   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
001628   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
00162a   0b01     ANDLW     0x1                                                                                             
00162c   6e02     MOVWF     0x2,0x0                                                                                         
00162e   5065     MOVF      0x65,0x0,0x0                                                                                    
001630   0b02     ANDLW     0x2                                                                                             
001632   e001     BZ        0x1636                                                                                          
001634   0e01     MOVLW     0x1                                                                                             
001636   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001638   6e01     MOVWF     0x1,0x0                                                                                         
00163a   5065     MOVF      0x65,0x0,0x0                                                                                    
00163c   0b04     ANDLW     0x4                                                                                             
00163e   e001     BZ        0x1642                                                                                          
001640   0e01     MOVLW     0x1                                                                                             
001642   0d04     MULLW     0x4                                                                                             
001644   cff3     MOVFF     0xff3,0x0                                                                                       
001646   f000                                                                                                               
001648   5065     MOVF      0x65,0x0,0x0                                                                                    
00164a   0b08     ANDLW     0x8                                                                                             
00164c   e001     BZ        0x1650                                                                                          
00164e   0e01     MOVLW     0x1                                                                                             
001650   0d08     MULLW     0x8                                                                                             
001652   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001654   2400     ADDWF     0x0,0x0,0x0                                                                                     
001656   2401     ADDWF     0x1,0x0,0x0                                                                                     
001658   2402     ADDWF     0x2,0x0,0x0                                                                                     
00165a   6ee7     MOVWF     0xe7,0x0                                                                                        
00165c   0e06     MOVLW     0x6                                                                                             
00165e   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001660   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001662   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001664   cf66     MOVFF     0xf66,0xfdb                                                                                     
001666   ffdb                                                                                                               
001668   0e08     MOVLW     0x8                                                                                             
00166a   cf67     MOVFF     0xf67,0xfdb                                                                                     
00166c   ffdb                                                                                                               
00166e   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001670   cf68     MOVFF     0xf68,0xfdb                                                                                     
001672   ffdb                                                                                                               
001674   0e0a     MOVLW     0xa                                                                                             
001676   cf69     MOVFF     0xf69,0xfdb                                                                                     
001678   ffdb                                                                                                               
00167a   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00167c   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
00167e   ffdb                                                                                                               
001680   0e0c     MOVLW     0xc                                                                                             
001682   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
001684   ffdb                                                                                                               
001686   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001688   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
00168a   ffdb                                                                                                               
00168c   0e0e     MOVLW     0xe                                                                                             
00168e   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
001690   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001692   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
001694   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001696   ffe9                                                                                                               
001698   cfda     MOVFF     0xfda,0xfea                                                                                     
00169a   ffea                                                                                                               
00169c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00169e   ffe6                                                                                                               
0016a0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016a2   ffe6                                                                                                               
0016a4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016a6   ffe6                                                                                                               
0016a8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016aa   ffe6                                                                                                               
0016ac   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ae   ffe6                                                                                                               
0016b0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016b2   ffe6                                                                                                               
0016b4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016b6   ffe6                                                                                                               
0016b8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ba   ffe6                                                                                                               
0016bc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016be   ffe6                                                                                                               
0016c0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016c2   ffe6                                                                                                               
0016c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016c6   ffe6                                                                                                               
0016c8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ca   ffe6                                                                                                               
0016cc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ce   ffe6                                                                                                               
0016d0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016d2   ffe6                                                                                                               
0016d4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016d6   ffe6                                                                                                               
0016d8   ec9f     CALL      0x133e,0x0                                                                                      
0016da   f009                                                                                                               
0016dc   6e00     MOVWF     0x0,0x0                                                                                         
0016de   0e0f     MOVLW     0xf                                                                                             
0016e0   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0016e2   5000     MOVF      0x0,0x0,0x0                                                                                     
0016e4   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0016e6   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0016e8   e202     BC        0x16ee                                                                                          
0016ea   6ae1     CLRF      0xe1,0x0                                                                                        
0016ec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0016ee   6ee1     MOVWF     0xe1,0x0                                                                                        
0016f0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0016f2   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0016f4   ffd9                                                                                                               
0016f6   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
0016f8   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016fa   ffe6                                                                                                               
0016fc   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0016fe   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001700   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001702   b740     BTFSC     0x40,0x3,0x1                                                                                    
001704   d004     BRA       0x170e                                                                                          
001706   0e00     MOVLW     0x0                                                                                             
001708   1477     ANDWF     0x77,0x0,0x0                                                                                    
00170a   0903     IORLW     0x3                                                                                             
00170c   6e77     MOVWF     0x77,0x0                                                                                        
00170e   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001710   b730     BTFSC     0x30,0x3,0x1                                                                                    
001712   d004     BRA       0x171c                                                                                          
001714   0e00     MOVLW     0x0                                                                                             
001716   1477     ANDWF     0x77,0x0,0x0                                                                                    
001718   0904     IORLW     0x4                                                                                             
00171a   6e77     MOVWF     0x77,0x0                                                                                        
00171c   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
00171e   b720     BTFSC     0x20,0x3,0x1                                                                                    
001720   d005     BRA       0x172c                                                                                          
001722   0e00     MOVLW     0x0                                                                                             
001724   1477     ANDWF     0x77,0x0,0x0                                                                                    
001726   0905     IORLW     0x5                                                                                             
001728   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
00172a   d002     BRA       0x1730          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00172c   0e00     MOVLW     0x0                                                                                             
00172e   d0b0     BRA       0x1890                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001730   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001732   cfdb     MOVFF     0xfdb,0x0                                                                                       
001734   f000                                                                                                               
001736   3400     RLCF      0x0,0x0,0x0                                                                                     
001738   e20e     BC        0x1756                                                                                          
00173a   0eef     MOVLW     0xef                                                                                            
00173c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00173e   f001                                                                                                               
001740   0e03     MOVLW     0x3                                                                                             
001742   6ee7     MOVWF     0xe7,0x0                                                                                        
001744   1801     XORWF     0x1,0x0,0x0                                                                                     
001746   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
001748   d002     BRA       0x174e                                                                                          
00174a   3401     RLCF      0x1,0x0,0x0                                                                                     
00174c   d003     BRA       0x1754                                                                                          
00174e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001750   80d8     BSF       0xd8,0x0,0x0                                                                                    
001752   5401     SUBFWB    0x1,0x0,0x0                                                                                     
001754   e202     BC        0x175a                                                                                          
001756   0eef     MOVLW     0xef                                                                                            
001758   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
00175a   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBase\Source\CAN.c
00175c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00175e   f000                                                                                                               
001760   0ef2     MOVLW     0xf2                                                                                            
001762   cfdb     MOVFF     0xfdb,0x1                                                                                       
001764   f001                                                                                                               
001766   0ec0     MOVLW     0xc0                                                                                            
001768   1600     ANDWF     0x0,0x1,0x0                                                                                     
00176a   0e03     MOVLW     0x3                                                                                             
00176c   1601     ANDWF     0x1,0x1,0x0                                                                                     
00176e   0e06     MOVLW     0x6                                                                                             
001770   90d8     BCF       0xd8,0x0,0x0                                                                                    
001772   3201     RRCF      0x1,0x1,0x0                                                                                     
001774   3200     RRCF      0x0,0x1,0x0                                                                                     
001776   04e8     DECF      0xe8,0x0,0x0                                                                                    
001778   e1fb     BNZ       0x1770                                                                                          
00177a   0ef0     MOVLW     0xf0                                                                                            
00177c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00177e   0b0f     ANDLW     0xf                                                                                             
001780   0d10     MULLW     0x10                                                                                            
001782   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001784   2400     ADDWF     0x0,0x0,0x0                                                                                     
001786   6e61     MOVWF     0x61,0x0                                                                                        
001788   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBase\Source\CAN.c
00178a   6ee7     MOVWF     0xe7,0x0                                                                                        
00178c   0ef1     MOVLW     0xf1                                                                                            
00178e   cfdb     MOVFF     0xfdb,0x2                                                                                       
001790   f002                                                                                                               
001792   0ef2     MOVLW     0xf2                                                                                            
001794   cfdb     MOVFF     0xfdb,0x3                                                                                       
001796   f003                                                                                                               
001798   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00179a   1602     ANDWF     0x2,0x1,0x0                                                                                     
00179c   6a03     CLRF      0x3,0x0                                                                                         
00179e   90d8     BCF       0xd8,0x0,0x0                                                                                    
0017a0   3203     RRCF      0x3,0x1,0x0                                                                                     
0017a2   3202     RRCF      0x2,0x1,0x0                                                                                     
0017a4   0e3f     MOVLW     0x3f                                                                                            
0017a6   6ee7     MOVWF     0xe7,0x0                                                                                        
0017a8   0ef1     MOVLW     0xf1                                                                                            
0017aa   cfdb     MOVFF     0xfdb,0x0                                                                                       
0017ac   f000                                                                                                               
0017ae   0ef2     MOVLW     0xf2                                                                                            
0017b0   cfdb     MOVFF     0xfdb,0x1                                                                                       
0017b2   f001                                                                                                               
0017b4   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0017b6   1600     ANDWF     0x0,0x1,0x0                                                                                     
0017b8   6a01     CLRF      0x1,0x0                                                                                         
0017ba   90d8     BCF       0xd8,0x0,0x0                                                                                    
0017bc   3600     RLCF      0x0,0x1,0x0                                                                                     
0017be   3601     RLCF      0x1,0x1,0x0                                                                                     
0017c0   90d8     BCF       0xd8,0x0,0x0                                                                                    
0017c2   3600     RLCF      0x0,0x1,0x0                                                                                     
0017c4   3601     RLCF      0x1,0x1,0x0                                                                                     
0017c6   5000     MOVF      0x0,0x0,0x0                                                                                     
0017c8   2402     ADDWF     0x2,0x0,0x0                                                                                     
0017ca   6e62     MOVWF     0x62,0x0                                                                                        
0017cc   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
0017ce   cfdb     MOVFF     0xfdb,0x2                                                                                       
0017d0   f002                                                                                                               
0017d2   0ef5     MOVLW     0xf5                                                                                            
0017d4   cfdb     MOVFF     0xfdb,0x3                                                                                       
0017d6   f003                                                                                                               
0017d8   0e00     MOVLW     0x0                                                                                             
0017da   1602     ANDWF     0x2,0x1,0x0                                                                                     
0017dc   0e01     MOVLW     0x1                                                                                             
0017de   1603     ANDWF     0x3,0x1,0x0                                                                                     
0017e0   c003     MOVFF     0x3,0x2                                                                                         
0017e2   f002                                                                                                               
0017e4   6a03     CLRF      0x3,0x0                                                                                         
0017e6   0e01     MOVLW     0x1                                                                                             
0017e8   6ee7     MOVWF     0xe7,0x0                                                                                        
0017ea   0ef1     MOVLW     0xf1                                                                                            
0017ec   cfdb     MOVFF     0xfdb,0x0                                                                                       
0017ee   f000                                                                                                               
0017f0   0ef2     MOVLW     0xf2                                                                                            
0017f2   cfdb     MOVFF     0xfdb,0x1                                                                                       
0017f4   f001                                                                                                               
0017f6   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0017f8   1600     ANDWF     0x0,0x1,0x0                                                                                     
0017fa   6a01     CLRF      0x1,0x0                                                                                         
0017fc   0e07     MOVLW     0x7                                                                                             
0017fe   90d8     BCF       0xd8,0x0,0x0                                                                                    
001800   3600     RLCF      0x0,0x1,0x0                                                                                     
001802   3601     RLCF      0x1,0x1,0x0                                                                                     
001804   04e8     DECF      0xe8,0x0,0x0                                                                                    
001806   e1fb     BNZ       0x17fe                                                                                          
001808   0ef3     MOVLW     0xf3                                                                                            
00180a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00180c   0b3f     ANDLW     0x3f                                                                                            
00180e   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001810   2400     ADDWF     0x0,0x0,0x0                                                                                     
001812   2402     ADDWF     0x2,0x0,0x0                                                                                     
001814   6e63     MOVWF     0x63,0x0                                                                                        
001816   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001818   6ee7     MOVWF     0xe7,0x0                                                                                        
00181a   0ef4     MOVLW     0xf4                                                                                            
00181c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00181e   f000                                                                                                               
001820   0ef5     MOVLW     0xf5                                                                                            
001822   cfdb     MOVFF     0xfdb,0x1                                                                                       
001824   f001                                                                                                               
001826   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001828   1600     ANDWF     0x0,0x1,0x0                                                                                     
00182a   6a01     CLRF      0x1,0x0                                                                                         
00182c   5000     MOVF      0x0,0x0,0x0                                                                                     
00182e   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001830   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001832   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001834   50db     MOVF      0xdb,0x0,0x0                                                                                    
001836   0808     SUBLW     0x8                                                                                             
001838   e203     BC        0x1840                                                                                          
00183a   0e08     MOVLW     0x8                                                                                             
00183c   6e65     MOVWF     0x65,0x0                                                                                        
00183e   d003     BRA       0x1846                                                                                          
001840   0ef6     MOVLW     0xf6                                                                                            
001842   50db     MOVF      0xdb,0x0,0x0                                                                                    
001844   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
001846   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
001848   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00184a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00184c   6e66     MOVWF     0x66,0x0                                                                                        
00184e   0ef8     MOVLW     0xf8                                                                                            
001850   50db     MOVF      0xdb,0x0,0x0                                                                                    
001852   6e67     MOVWF     0x67,0x0                                                                                        
001854   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001856   50db     MOVF      0xdb,0x0,0x0                                                                                    
001858   6e68     MOVWF     0x68,0x0                                                                                        
00185a   0efa     MOVLW     0xfa                                                                                            
00185c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00185e   6e69     MOVWF     0x69,0x0                                                                                        
001860   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001862   50db     MOVF      0xdb,0x0,0x0                                                                                    
001864   6e6a     MOVWF     0x6a,0x0                                                                                        
001866   0efc     MOVLW     0xfc                                                                                            
001868   50db     MOVF      0xdb,0x0,0x0                                                                                    
00186a   6e6b     MOVWF     0x6b,0x0                                                                                        
00186c   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00186e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001870   6e6c     MOVWF     0x6c,0x0                                                                                        
001872   0efe     MOVLW     0xfe                                                                                            
001874   50db     MOVF      0xdb,0x0,0x0                                                                                    
001876   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // set extended                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001878   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
00187a   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00187c   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00187e   ffe6                                                                                                               
001880   0efc     MOVLW     0xfc                                                                                            
001882   1460     ANDWF     0x60,0x0,0x0                                                                                    
001884   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001886   10e7     IORWF     0xe7,0x0,0x0                                                                                    
001888   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
00188a   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
00188c   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00188e   d000     BRA       0x1890                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001890   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001892   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001894   ffd9                                                                                                               
001896   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
001898   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
00189a   ffe6                                                                                                               
00189c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00189e   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
0018a0   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
0018a2   cfdb     MOVFF     0xfdb,0x0                                                                                       
0018a4   f000                                                                                                               
0018a6   0efe     MOVLW     0xfe                                                                                            
0018a8   cfdb     MOVFF     0xfdb,0x1                                                                                       
0018aa   f001                                                                                                               
0018ac   c001     MOVFF     0x1,0x0                                                                                         
0018ae   f000                                                                                                               
0018b0   6a01     CLRF      0x1,0x0                                                                                         
0018b2   5000     MOVF      0x0,0x0,0x0                                                                                     
0018b4   6eaa     MOVWF     0xaa,0x0                                                                                        
0018b6   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
0018b8   6ee7     MOVWF     0xe7,0x0                                                                                        
0018ba   0efd     MOVLW     0xfd                                                                                            
0018bc   cfdb     MOVFF     0xfdb,0x0                                                                                       
0018be   f000                                                                                                               
0018c0   0efe     MOVLW     0xfe                                                                                            
0018c2   cfdb     MOVFF     0xfdb,0x1                                                                                       
0018c4   f001                                                                                                               
0018c6   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0018c8   1600     ANDWF     0x0,0x1,0x0                                                                                     
0018ca   6a01     CLRF      0x1,0x0                                                                                         
0018cc   5000     MOVF      0x0,0x0,0x0                                                                                     
0018ce   6ea9     MOVWF     0xa9,0x0                                                                                        
0018d0   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
0018d2   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
0018d4   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
0018d6   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
0018d8   d000     BRA       0x18da                                                                                          
0018da   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
0018dc   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0018de   ffd9                                                                                                               
0018e0   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
0018e2   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
0018e4   ffe6                                                                                                               
0018e6   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0018e8   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
0018ea   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
0018ec   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
0018ee   cfdb     MOVFF     0xfdb,0x0                                                                                       
0018f0   f000                                                                                                               
0018f2   0efe     MOVLW     0xfe                                                                                            
0018f4   cfdb     MOVFF     0xfdb,0x1                                                                                       
0018f6   f001                                                                                                               
0018f8   c001     MOVFF     0x1,0x0                                                                                         
0018fa   f000                                                                                                               
0018fc   6a01     CLRF      0x1,0x0                                                                                         
0018fe   5000     MOVF      0x0,0x0,0x0                                                                                     
001900   6eaa     MOVWF     0xaa,0x0                                                                                        
001902   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001904   6ee7     MOVWF     0xe7,0x0                                                                                        
001906   0efd     MOVLW     0xfd                                                                                            
001908   cfdb     MOVFF     0xfdb,0x0                                                                                       
00190a   f000                                                                                                               
00190c   0efe     MOVLW     0xfe                                                                                            
00190e   cfdb     MOVFF     0xfdb,0x1                                                                                       
001910   f001                                                                                                               
001912   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001914   1600     ANDWF     0x0,0x1,0x0                                                                                     
001916   6a01     CLRF      0x1,0x0                                                                                         
001918   5000     MOVF      0x0,0x0,0x0                                                                                     
00191a   6ea9     MOVWF     0xa9,0x0                                                                                        
00191c   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
00191e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001920   6ea8     MOVWF     0xa8,0x0                                                                                        
001922   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001924   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001926   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001928   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
00192a   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
00192c   6ea7     MOVWF     0xa7,0x0                                                                                        
00192e   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001930   6ea7     MOVWF     0xa7,0x0                                                                                        
001932   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001934   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001936   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
001938   d7fe     BRA       0x1936                                                                                          
00193a   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
00193c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
00193e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001940   ffd9                                                                                                               
001942   0012     RETURN    0x0