Subversion Repositories HomeAutomation

Rev

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

MP2COD 4.02, COFF to COD File Converter
Copyright (c) 2006 Microchip Technology Inc.
Listing File Generated: Sat Oct 21 10:45:47 2006


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           #include "../Include/compiler.h"                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #include "../Include/stackTasks.h"                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #include "../Include/Tick.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 "../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
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
                                            #include "../Include/uart.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
                                                                                                                            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
000044   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
000046   ffe6                                                                                                               
000048   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00004a   ffd9                                                                                                               
00004c   0e0e     MOVLW     0xe                                                                                             
00004e   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
                                                                                                                            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
000050   d8d6     RCALL     0x1fe           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
000052   eced     CALL      0x5da,0x0           canInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
000054   f002                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            #ifdef USE_UART                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
000056   ec3c     CALL      0xa78,0x0           uartInit();                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
000058   f005                                                                                                               
00005a   0e60     MOVLW     0x60                uartPutrs("BOOT OK!");                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
00005c   6ee6     MOVWF     0xe6,0x0                                                                                        
00005e   0e0c     MOVLW     0xc                                                                                             
000060   6ee6     MOVWF     0xe6,0x0                                                                                        
000062   ec76     CALL      0xaec,0x0                                                                                       
000064   f005                                                                                                               
000066   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000068   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00006a   ecfc     CALL      0xbf8,0x0       tickInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
00006c   f005                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            while(1)                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00006e   ec06     CALL      0xc0c,0x0           if ((tickGet()-t)>=10*TICK_SECOND)                                             F:\MCP\projects\CAN\canNode\Source\Main.c
000070   f006                                                                                                               
000072   0100     MOVLB     0x0                                                                                             
000074   516e     MOVF      0x6e,0x0,0x1                                                                                    
000076   5c18     SUBWF     0x18,0x0,0x0                                                                                    
000078   6e00     MOVWF     0x0,0x0                                                                                         
00007a   516f     MOVF      0x6f,0x0,0x1                                                                                    
00007c   5819     SUBWFB    0x19,0x0,0x0                                                                                    
00007e   6e01     MOVWF     0x1,0x0                                                                                         
000080   5170     MOVF      0x70,0x0,0x1                                                                                    
000082   581a     SUBWFB    0x1a,0x0,0x0                                                                                    
000084   6e02     MOVWF     0x2,0x0                                                                                         
000086   5171     MOVF      0x71,0x0,0x1                                                                                    
000088   581b     SUBWFB    0x1b,0x0,0x0                                                                                    
00008a   6e03     MOVWF     0x3,0x0                                                                                         
00008c   0ee8     MOVLW     0xe8                                                                                            
00008e   5c00     SUBWF     0x0,0x0,0x0                                                                                     
000090   0e03     MOVLW     0x3                                                                                             
000092   5801     SUBWFB    0x1,0x0,0x0                                                                                     
000094   0e00     MOVLW     0x0                                                                                             
000096   5802     SUBWFB    0x2,0x0,0x0                                                                                     
000098   0e00     MOVLW     0x0                                                                                             
00009a   5803     SUBWFB    0x3,0x0,0x0                                                                                     
00009c   e3e8     BNC       0x6e                                                                                            
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    CAN_MESSAGE cm;                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00009e   ec06     CALL      0xc0c,0x0               t = tickGet();                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0000a0   f006                                                                                                               
0000a2   c018     MOVFF     0x18,0x6e                                                                                       
0000a4   f06e                                                                                                               
0000a6   c019     MOVFF     0x19,0x6f                                                                                       
0000a8   f06f                                                                                                               
0000aa   c01a     MOVFF     0x1a,0x70                                                                                       
0000ac   f070                                                                                                               
0000ae   c01b     MOVFF     0x1b,0x71                                                                                       
0000b0   f071                                                                                                               
                                                                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    // Send heartbeat                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0000b2   0e07     MOVLW     0x7                     cm.ident=0x00000707;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
0000b4   6ede     MOVWF     0xde,0x0                                                                                        
0000b6   6ede     MOVWF     0xde,0x0                                                                                        
0000b8   6ade     CLRF      0xde,0x0                                                                                        
0000ba   6add     CLRF      0xdd,0x0                                                                                        
0000bc   52dd     MOVF      0xdd,0x1,0x0                                                                                    
0000be   52dd     MOVF      0xdd,0x1,0x0                                                                                    
0000c0   0e04     MOVLW     0x4                     cm.extended=FALSE;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0000c2   6adb     CLRF      0xdb,0x0                                                                                        
0000c4   0e01     MOVLW     0x1                     cm.data_length=1;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0000c6   6ef3     MOVWF     0xf3,0x0                                                                                        
0000c8   0e05     MOVLW     0x5                                                                                             
0000ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
0000cc   ffdb                                                                                                               
0000ce   0e48     MOVLW     0x48                    cm.data[0]='H';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0000d0   6ef3     MOVWF     0xf3,0x0                                                                                        
0000d2   0e06     MOVLW     0x6                                                                                             
0000d4   cff3     MOVFF     0xff3,0xfdb                                                                                     
0000d6   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0000d8   cfd9     MOVFF     0xfd9,0xfe9             while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
0000da   ffe9                                                                                                               
0000dc   cfda     MOVFF     0xfda,0xfea                                                                                     
0000de   ffea                                                                                                               
0000e0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000e2   ffe6                                                                                                               
0000e4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000e6   ffe6                                                                                                               
0000e8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000ea   ffe6                                                                                                               
0000ec   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000ee   ffe6                                                                                                               
0000f0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000f2   ffe6                                                                                                               
0000f4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000f6   ffe6                                                                                                               
0000f8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000fa   ffe6                                                                                                               
0000fc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000fe   ffe6                                                                                                               
000100   cfee     MOVFF     0xfee,0xfe6                                                                                     
000102   ffe6                                                                                                               
000104   cfee     MOVFF     0xfee,0xfe6                                                                                     
000106   ffe6                                                                                                               
000108   cfee     MOVFF     0xfee,0xfe6                                                                                     
00010a   ffe6                                                                                                               
00010c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00010e   ffe6                                                                                                               
000110   cfee     MOVFF     0xfee,0xfe6                                                                                     
000112   ffe6                                                                                                               
000114   cfee     MOVFF     0xfee,0xfe6                                                                                     
000116   ffe6                                                                                                               
000118   ec52     CALL      0x8a4,0x0                                                                                       
00011a   f004                                                                                                               
00011c   6e00     MOVWF     0x0,0x0                                                                                         
00011e   0e0e     MOVLW     0xe                                                                                             
000120   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000122   5000     MOVF      0x0,0x0,0x0                                                                                     
000124   0900     IORLW     0x0                                                                                             
000126   e1a3     BNZ       0x6e                                                                                            
000128   d7d7     BRA       0xd8                                                                                            
                                                                                                                            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
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma interruptlow HighISR                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
00012a   cfd8     MOVFF     0xfd8,0xfe4    void HighISR(void)                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00012c   ffe4                                                                                                               
00012e   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
000130   ffe4                                                                                                               
000132   6ee4     MOVWF     0xe4,0x0                                                                                        
000134   cfda     MOVFF     0xfda,0xfe4                                                                                     
000136   ffe4                                                                                                               
000138   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00013a   ffda                                                                                                               
00013c   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
00013e   ffe4                                                                                                               
000140   cfea     MOVFF     0xfea,0xfe4                                                                                     
000142   ffe4                                                                                                               
000144   cff6     MOVFF     0xff6,0xfe4                                                                                     
000146   ffe4                                                                                                               
000148   cff7     MOVFF     0xff7,0xfe4                                                                                     
00014a   ffe4                                                                                                               
00014c   cff5     MOVFF     0xff5,0xfe4                                                                                     
00014e   ffe4                                                                                                               
000150   cff3     MOVFF     0xff3,0xfe4                                                                                     
000152   ffe4                                                                                                               
000154   cff4     MOVFF     0xff4,0xfe4                                                                                     
000156   ffe4                                                                                                               
000158   cffa     MOVFF     0xffa,0xfe4                                                                                     
00015a   ffe4                                                                                                               
00015c   ee00     LFSR      0x0,0x14                                                                                        
00015e   f014                                                                                                               
000160   0e0b     MOVLW     0xb                                                                                             
000162   04e8     DECF      0xe8,0x0,0x0                                                                                    
000164   e303     BNC       0x16c                                                                                           
000166   cfee     MOVFF     0xfee,0xfe4                                                                                     
000168   ffe4                                                                                                               
00016a   d7fb     BRA       0x162                                                                                           
00016c   ee00     LFSR      0x0,0x0                                                                                         
00016e   f000                                                                                                               
000170   0e14     MOVLW     0x14                                                                                            
000172   04e8     DECF      0xe8,0x0,0x0                                                                                    
000174   e303     BNC       0x17c                                                                                           
000176   cfee     MOVFF     0xfee,0xfe4                                                                                     
000178   ffe4                                                                                                               
00017a   d7fb     BRA       0x172                                                                                           
00017c   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
00017e   ec18     CALL      0x630,0x0           canISR();                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
000180   f003                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            #ifdef USE_UART                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
000182   eca0     CALL      0xb40,0x0           uartISR();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
000184   f005                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000186   ec0f     CALL      0xc1e,0x0       tickUpdate();                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
000188   f006                                                                                                               
00018a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
00018c   ee00     LFSR      0x0,0x13                                                                                        
00018e   f013                                                                                                               
000190   0e14     MOVLW     0x14                                                                                            
000192   04e8     DECF      0xe8,0x0,0x0                                                                                    
000194   e303     BNC       0x19c                                                                                           
000196   cfe5     MOVFF     0xfe5,0xfed                                                                                     
000198   ffed                                                                                                               
00019a   d7fb     BRA       0x192                                                                                           
00019c   ee00     LFSR      0x0,0x1e                                                                                        
00019e   f01e                                                                                                               
0001a0   0e0b     MOVLW     0xb                                                                                             
0001a2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0001a4   e303     BNC       0x1ac                                                                                           
0001a6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0001a8   ffed                                                                                                               
0001aa   d7fb     BRA       0x1a2                                                                                           
0001ac   cfe5     MOVFF     0xfe5,0xffa                                                                                     
0001ae   fffa                                                                                                               
0001b0   cfe5     MOVFF     0xfe5,0xff4                                                                                     
0001b2   fff4                                                                                                               
0001b4   cfe5     MOVFF     0xfe5,0xff3                                                                                     
0001b6   fff3                                                                                                               
0001b8   cfe5     MOVFF     0xfe5,0xff5                                                                                     
0001ba   fff5                                                                                                               
0001bc   cfe5     MOVFF     0xfe5,0xff7                                                                                     
0001be   fff7                                                                                                               
0001c0   cfe5     MOVFF     0xfe5,0xff6                                                                                     
0001c2   fff6                                                                                                               
0001c4   cfe5     MOVFF     0xfe5,0xfea                                                                                     
0001c6   ffea                                                                                                               
0001c8   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
0001ca   ffe9                                                                                                               
0001cc   cfe5     MOVFF     0xfe5,0xfda                                                                                     
0001ce   ffda                                                                                                               
0001d0   50e5     MOVF      0xe5,0x0,0x0                                                                                    
0001d2   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
0001d4   ffe0                                                                                                               
0001d6   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
0001d8   ffd8                                                                                                               
0001da   0010     RETFIE    0x0                                                                                             
                                           #pragma code highVector=0x08                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                           void HighVector (void)                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000008   ef95     GOTO      0x12a              _asm goto HighISR _endasm                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
00000a   f000                                                                                                               
00000c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma code // Return to default code section                                   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
                                           #pragma interruptlow LowISR                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
0001dc   cfd8     MOVFF     0xfd8,0xfe4    void LowISR(void)                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0001de   ffe4                                                                                                               
0001e0   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
0001e2   ffe4                                                                                                               
0001e4   6ee4     MOVWF     0xe4,0x0                                                                                        
0001e6   cfda     MOVFF     0xfda,0xfe4                                                                                     
0001e8   ffe4                                                                                                               
0001ea   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0001ec   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0001ee   cfe5     MOVFF     0xfe5,0xfda                                                                                     
0001f0   ffda                                                                                                               
0001f2   50e5     MOVF      0xe5,0x0,0x0                                                                                    
0001f4   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
0001f6   ffe0                                                                                                               
0001f8   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
0001fa   ffd8                                                                                                               
0001fc   0010     RETFIE    0x0                                                                                             
                                           #pragma code lowVector=0x18                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                           void LowVector (void)                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000018   efee     GOTO      0x1dc              _asm goto LowISR _endasm                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
00001a   f000                                                                                                               
00001c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #pragma code // Return to default code section                                   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
0001fe   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 internal PORTB pull-ups                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000200   9ef1     BCF       0xf1,0x7,0x0       INTCON2bits.RBPU = 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
000202   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
000204   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000206   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
000208   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
00020a   ffe6                                                                                                               
00020c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00020e   ffd9                                                                                                               
000210   0e02     MOVLW     0x2                                                                                             
000212   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000214   6ade     CLRF      0xde,0x0        int i=0;                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
000216   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000218   0ef5     MOVLW     0xf5            if (cm.extended==TRUE)                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
00021a   04db     DECF      0xdb,0x0,0x0                                                                                    
00021c   e132     BNZ       0x282                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00021e   0ef1     MOVLW     0xf1                uartPutc((BYTE)(cm.ident>>24));                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000220   cfdb     MOVFF     0xfdb,0x0                                                                                       
000222   f000                                                                                                               
000224   0ef2     MOVLW     0xf2                                                                                            
000226   cfdb     MOVFF     0xfdb,0x1                                                                                       
000228   f001                                                                                                               
00022a   0ef3     MOVLW     0xf3                                                                                            
00022c   cfdb     MOVFF     0xfdb,0x2                                                                                       
00022e   f002                                                                                                               
000230   0ef4     MOVLW     0xf4                                                                                            
000232   cfdb     MOVFF     0xfdb,0x3                                                                                       
000234   f003                                                                                                               
000236   0e18     MOVLW     0x18                                                                                            
000238   90d8     BCF       0xd8,0x0,0x0                                                                                    
00023a   3203     RRCF      0x3,0x1,0x0                                                                                     
00023c   3202     RRCF      0x2,0x1,0x0                                                                                     
00023e   3201     RRCF      0x1,0x1,0x0                                                                                     
000240   3200     RRCF      0x0,0x1,0x0                                                                                     
000242   06e8     DECF      0xe8,0x1,0x0                                                                                    
000244   e1f9     BNZ       0x238                                                                                           
000246   5000     MOVF      0x0,0x0,0x0                                                                                     
000248   6ee6     MOVWF     0xe6,0x0                                                                                        
00024a   ec48     CALL      0xa90,0x0                                                                                       
00024c   f005                                                                                                               
00024e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000250   0ef1     MOVLW     0xf1                uartPutc((BYTE)(cm.ident>>16));                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000252   cfdb     MOVFF     0xfdb,0x0                                                                                       
000254   f000                                                                                                               
000256   0ef2     MOVLW     0xf2                                                                                            
000258   cfdb     MOVFF     0xfdb,0x1                                                                                       
00025a   f001                                                                                                               
00025c   0ef3     MOVLW     0xf3                                                                                            
00025e   cfdb     MOVFF     0xfdb,0x2                                                                                       
000260   f002                                                                                                               
000262   0ef4     MOVLW     0xf4                                                                                            
000264   cfdb     MOVFF     0xfdb,0x3                                                                                       
000266   f003                                                                                                               
000268   0e10     MOVLW     0x10                                                                                            
00026a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00026c   3203     RRCF      0x3,0x1,0x0                                                                                     
00026e   3202     RRCF      0x2,0x1,0x0                                                                                     
000270   3201     RRCF      0x1,0x1,0x0                                                                                     
000272   3200     RRCF      0x0,0x1,0x0                                                                                     
000274   06e8     DECF      0xe8,0x1,0x0                                                                                    
000276   e1f9     BNZ       0x26a                                                                                           
000278   5000     MOVF      0x0,0x0,0x0                                                                                     
00027a   6ee6     MOVWF     0xe6,0x0                                                                                        
00027c   ec48     CALL      0xa90,0x0                                                                                       
00027e   f005                                                                                                               
000280   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000282   0ef1     MOVLW     0xf1            uartPutc((BYTE)(cm.ident>>8));                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
000284   cfdb     MOVFF     0xfdb,0x0                                                                                       
000286   f000                                                                                                               
000288   0ef2     MOVLW     0xf2                                                                                            
00028a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00028c   f001                                                                                                               
00028e   0ef3     MOVLW     0xf3                                                                                            
000290   cfdb     MOVFF     0xfdb,0x2                                                                                       
000292   f002                                                                                                               
000294   0ef4     MOVLW     0xf4                                                                                            
000296   cfdb     MOVFF     0xfdb,0x3                                                                                       
000298   f003                                                                                                               
00029a   0e08     MOVLW     0x8                                                                                             
00029c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00029e   3203     RRCF      0x3,0x1,0x0                                                                                     
0002a0   3202     RRCF      0x2,0x1,0x0                                                                                     
0002a2   3201     RRCF      0x1,0x1,0x0                                                                                     
0002a4   3200     RRCF      0x0,0x1,0x0                                                                                     
0002a6   06e8     DECF      0xe8,0x1,0x0                                                                                    
0002a8   e1f9     BNZ       0x29c                                                                                           
0002aa   5000     MOVF      0x0,0x0,0x0                                                                                     
0002ac   6ee6     MOVWF     0xe6,0x0                                                                                        
0002ae   ec48     CALL      0xa90,0x0                                                                                       
0002b0   f005                                                                                                               
0002b2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0002b4   0ef1     MOVLW     0xf1            uartPutc((BYTE)(cm.ident));                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
0002b6   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0002b8   ffe6                                                                                                               
0002ba   ec48     CALL      0xa90,0x0                                                                                       
0002bc   f005                                                                                                               
0002be   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0002c0   6ade     CLRF      0xde,0x0        for(i=0;i<cm.data_length && i<8;i++)                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0002c2   6add     CLRF      0xdd,0x0                                                                                        
0002c4   cfde     MOVFF     0xfde,0x0                                                                                       
0002c6   f000                                                                                                               
0002c8   cfdd     MOVFF     0xfdd,0x1                                                                                       
0002ca   f001                                                                                                               
0002cc   0ef6     MOVLW     0xf6                                                                                            
0002ce   50db     MOVF      0xdb,0x0,0x0                                                                                    
0002d0   0100     MOVLB     0x0                                                                                             
0002d2   ae01     BTFSS     0x1,0x7,0x0                                                                                     
0002d4   d002     BRA       0x2da                                                                                           
0002d6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0002d8   d003     BRA       0x2e0                                                                                           
0002da   5c00     SUBWF     0x0,0x0,0x0                                                                                     
0002dc   0e00     MOVLW     0x0                                                                                             
0002de   5801     SUBWFB    0x1,0x0,0x0                                                                                     
0002e0   e22f     BC        0x340                                                                                           
0002e2   cfde     MOVFF     0xfde,0x2                                                                                       
0002e4   f002                                                                                                               
0002e6   cfdd     MOVFF     0xfdd,0x3                                                                                       
0002e8   f003                                                                                                               
0002ea   90d8     BCF       0xd8,0x0,0x0                                                                                    
0002ec   5003     MOVF      0x3,0x0,0x0                                                                                     
0002ee   e604     BN        0x2f8                                                                                           
0002f0   0e08     MOVLW     0x8                                                                                             
0002f2   5c02     SUBWF     0x2,0x0,0x0                                                                                     
0002f4   0e00     MOVLW     0x0                                                                                             
0002f6   5803     SUBWFB    0x3,0x0,0x0                                                                                     
0002f8   e223     BC        0x340                                                                                           
000336   2adf     INCF      0xdf,0x1,0x0                                                                                    
000338   0e01     MOVLW     0x1                                                                                             
00033a   e3c4     BNC       0x2c4                                                                                           
00033c   2adb     INCF      0xdb,0x1,0x0                                                                                    
00033e   d7c2     BRA       0x2c4                                                                                           
0002fa   50d9     MOVF      0xd9,0x0,0x0        uartPutc(cm.data[cm.data_length-i-1]);                                         F:\MCP\projects\CAN\canNode\Source\Main.c
0002fc   0ff7     ADDLW     0xf7                                                                                            
0002fe   6e00     MOVWF     0x0,0x0                                                                                         
000300   0eff     MOVLW     0xff                                                                                            
000302   20da     ADDWFC    0xda,0x0,0x0                                                                                    
000304   6e01     MOVWF     0x1,0x0                                                                                         
000306   0ef6     MOVLW     0xf6                                                                                            
000308   50db     MOVF      0xdb,0x0,0x0                                                                                    
00030a   6e04     MOVWF     0x4,0x0                                                                                         
00030c   6a05     CLRF      0x5,0x0                                                                                         
00030e   50de     MOVF      0xde,0x0,0x0                                                                                    
000310   5c04     SUBWF     0x4,0x0,0x0                                                                                     
000312   6e02     MOVWF     0x2,0x0                                                                                         
000314   50dd     MOVF      0xdd,0x0,0x0                                                                                    
000316   5805     SUBWFB    0x5,0x0,0x0                                                                                     
000318   6e03     MOVWF     0x3,0x0                                                                                         
00031a   0602     DECF      0x2,0x1,0x0                                                                                     
00031c   0e00     MOVLW     0x0                                                                                             
00031e   5a03     SUBWFB    0x3,0x1,0x0                                                                                     
000320   5000     MOVF      0x0,0x0,0x0                                                                                     
000322   2402     ADDWF     0x2,0x0,0x0                                                                                     
000324   6ee9     MOVWF     0xe9,0x0                                                                                        
000326   5001     MOVF      0x1,0x0,0x0                                                                                     
000328   2003     ADDWFC    0x3,0x0,0x0                                                                                     
00032a   6eea     MOVWF     0xea,0x0                                                                                        
00032c   50ef     MOVF      0xef,0x0,0x0                                                                                    
00032e   6ee6     MOVWF     0xe6,0x0                                                                                        
000330   ec48     CALL      0xa90,0x0                                                                                       
000332   f005                                                                                                               
000334   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000340   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000342   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000344   e202     BC        0x34a                                                                                           
000346   6ae1     CLRF      0xe1,0x0                                                                                        
000348   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00034a   6ee1     MOVWF     0xe1,0x0                                                                                        
00034c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00034e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000350   ffd9                                                                                                               
000352   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
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Function: uartParse                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Input:  Received uart message                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
                                           *    Pre-conditions: uartInit and received byte.                                    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_UART                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
000354   cfd9     MOVFF     0xfd9,0xfe6    void uartParse(BYTE c)                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
000356   ffe6                                                                                                               
000358   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00035a   ffd9                                                                                                               
00035c   0e0e     MOVLW     0xe                                                                                             
00035e   26e1     ADDWF     0xe1,0x1,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
000360   0efe     MOVLW     0xfe            if (c=='1')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
000362   50db     MOVF      0xdb,0x0,0x0                                                                                    
000364   0831     SUBLW     0x31                                                                                            
000366   e14d     BNZ       0x402                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000368   68de     SETF      0xde,0x0            cm.ident=0x1FFF07FF;                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
00036a   0e07     MOVLW     0x7                                                                                             
00036c   6ede     MOVWF     0xde,0x0                                                                                        
00036e   68de     SETF      0xde,0x0                                                                                        
000370   0e1f     MOVLW     0x1f                                                                                            
000372   6edd     MOVWF     0xdd,0x0                                                                                        
000374   52dd     MOVF      0xdd,0x1,0x0                                                                                    
000376   52dd     MOVF      0xdd,0x1,0x0                                                                                    
000378   0e01     MOVLW     0x1                 cm.extended=TRUE;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
00037a   6ef3     MOVWF     0xf3,0x0                                                                                        
00037c   0e04     MOVLW     0x4                                                                                             
00037e   cff3     MOVFF     0xff3,0xfdb                                                                                     
000380   ffdb                                                                                                               
000382   6ef3     MOVWF     0xf3,0x0            cm.data_length=4;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
000384   0e05     MOVLW     0x5                                                                                             
000386   cff3     MOVFF     0xff3,0xfdb                                                                                     
000388   ffdb                                                                                                               
00038a   0e61     MOVLW     0x61                cm.data[0]='a';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
00038c   6ef3     MOVWF     0xf3,0x0                                                                                        
00038e   0e06     MOVLW     0x6                                                                                             
000390   cff3     MOVFF     0xff3,0xfdb                                                                                     
000392   ffdb                                                                                                               
000394   0e62     MOVLW     0x62                cm.data[1]='b';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000396   6ef3     MOVWF     0xf3,0x0                                                                                        
000398   0e07     MOVLW     0x7                                                                                             
00039a   cff3     MOVFF     0xff3,0xfdb                                                                                     
00039c   ffdb                                                                                                               
00039e   0e63     MOVLW     0x63                cm.data[2]='c';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0003a0   6ef3     MOVWF     0xf3,0x0                                                                                        
0003a2   0e08     MOVLW     0x8                                                                                             
0003a4   cff3     MOVFF     0xff3,0xfdb                                                                                     
0003a6   ffdb                                                                                                               
0003a8   0e64     MOVLW     0x64                cm.data[3]='d';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0003aa   6ef3     MOVWF     0xf3,0x0                                                                                        
0003ac   0e09     MOVLW     0x9                                                                                             
0003ae   cff3     MOVFF     0xff3,0xfdb                                                                                     
0003b0   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0003b2   cfd9     MOVFF     0xfd9,0xfe9         while(!canSendMessage(cm));                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
0003b4   ffe9                                                                                                               
0003b6   cfda     MOVFF     0xfda,0xfea                                                                                     
0003b8   ffea                                                                                                               
0003ba   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003bc   ffe6                                                                                                               
0003be   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003c0   ffe6                                                                                                               
0003c2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003c4   ffe6                                                                                                               
0003c6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003c8   ffe6                                                                                                               
0003ca   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003cc   ffe6                                                                                                               
0003ce   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003d0   ffe6                                                                                                               
0003d2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003d4   ffe6                                                                                                               
0003d6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003d8   ffe6                                                                                                               
0003da   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003dc   ffe6                                                                                                               
0003de   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003e0   ffe6                                                                                                               
0003e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003e4   ffe6                                                                                                               
0003e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003e8   ffe6                                                                                                               
0003ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003ec   ffe6                                                                                                               
0003ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003f0   ffe6                                                                                                               
0003f2   ec52     CALL      0x8a4,0x0                                                                                       
0003f4   f004                                                                                                               
0003f6   6e00     MOVWF     0x0,0x0                                                                                         
0003f8   0e0e     MOVLW     0xe                                                                                             
0003fa   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0003fc   5000     MOVF      0x0,0x0,0x0                                                                                     
0003fe   0900     IORLW     0x0                                                                                             
000400   e0d8     BZ        0x3b2                                                                                           
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000402   0efe     MOVLW     0xfe            if (c=='d')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
000404   50db     MOVF      0xdb,0x0,0x0                                                                                    
000406   0864     SUBLW     0x64                                                                                            
000408   e105     BNZ       0x414                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00040a   0e44     MOVLW     0x44                uartPutc('D');                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
00040c   6ee6     MOVWF     0xe6,0x0                                                                                        
00040e   ec48     CALL      0xa90,0x0                                                                                       
000410   f005                                                                                                               
000412   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000414   0efe     MOVLW     0xfe            if (c=='D')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
000416   50db     MOVF      0xdb,0x0,0x0                                                                                    
000418   0844     SUBLW     0x44                                                                                            
00041a   e108     BNZ       0x42c                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00041c   0e52     MOVLW     0x52                uartPutrs("Debug? Debug!");                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
00041e   6ee6     MOVWF     0xe6,0x0                                                                                        
000420   0e0c     MOVLW     0xc                                                                                             
000422   6ee6     MOVWF     0xe6,0x0                                                                                        
000424   ec76     CALL      0xaec,0x0                                                                                       
000426   f005                                                                                                               
000428   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00042a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00042c   0efe     MOVLW     0xfe            if (c=='2')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
00042e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000430   0832     SUBLW     0x32                                                                                            
000432   e001     BZ        0x436                                                                                           
000434   d0c8     BRA       0x5c6                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000436   5060     MOVF      0x60,0x0,0x0        uartPutc(RXB0CON);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
000438   6ee6     MOVWF     0xe6,0x0                                                                                        
00043a   ec48     CALL      0xa90,0x0                                                                                       
00043c   f005                                                                                                               
00043e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000440   cf50     MOVFF     0xf50,0xfe6         uartPutc(RXB1CON);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
000442   ffe6                                                                                                               
000444   ec48     CALL      0xa90,0x0                                                                                       
000446   f005                                                                                                               
000448   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00044a   0e7b     MOVLW     0x7b                uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
00044c   6ee6     MOVWF     0xe6,0x0                                                                                        
00044e   ec48     CALL      0xa90,0x0                                                                                       
000450   f005                                                                                                               
000452   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000454   ce20     MOVFF     0xe20,0xfe6         uartPutc(B0CON);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000456   ffe6                                                                                                               
000458   ec48     CALL      0xa90,0x0                                                                                       
00045a   f005                                                                                                               
00045c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00045e   ce30     MOVFF     0xe30,0xfe6         uartPutc(B1CON);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000460   ffe6                                                                                                               
000462   ec48     CALL      0xa90,0x0                                                                                       
000464   f005                                                                                                               
000466   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000468   ce40     MOVFF     0xe40,0xfe6         uartPutc(B2CON);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00046a   ffe6                                                                                                               
00046c   ec48     CALL      0xa90,0x0                                                                                       
00046e   f005                                                                                                               
000470   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000472   0e7b     MOVLW     0x7b                uartPutc(123);                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
000474   6ee6     MOVWF     0xe6,0x0                                                                                        
000476   ec48     CALL      0xa90,0x0                                                                                       
000478   f005                                                                                                               
00047a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00047c   ce50     MOVFF     0xe50,0xfe6         uartPutc(B3CON);                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
00047e   ffe6                                                                                                               
000480   ec48     CALL      0xa90,0x0                                                                                       
000482   f005                                                                                                               
000484   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000486   ce60     MOVFF     0xe60,0xfe6         uartPutc(B4CON);                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
000488   ffe6                                                                                                               
00048a   ec48     CALL      0xa90,0x0                                                                                       
00048c   f005                                                                                                               
00048e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000490   ce70     MOVFF     0xe70,0xfe6         uartPutc(B5CON);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000492   ffe6                                                                                                               
000494   ec48     CALL      0xa90,0x0                                                                                       
000496   f005                                                                                                               
000498   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00049a   0e7b     MOVLW     0x7b                uartPutc(123);                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
00049c   6ee6     MOVWF     0xe6,0x0                                                                                        
00049e   ec48     CALL      0xa90,0x0                                                                                       
0004a0   f005                                                                                                               
0004a2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004a4   506e     MOVF      0x6e,0x0,0x0        uartPutc(CANSTAT);                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
0004a6   6ee6     MOVWF     0xe6,0x0                                                                                        
0004a8   ec48     CALL      0xa90,0x0                                                                                       
0004aa   f005                                                                                                               
0004ac   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004ae   5074     MOVF      0x74,0x0,0x0        uartPutc(COMSTAT);                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
0004b0   6ee6     MOVWF     0xe6,0x0                                                                                        
0004b2   ec48     CALL      0xa90,0x0                                                                                       
0004b4   f005                                                                                                               
0004b6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004b8   5077     MOVF      0x77,0x0,0x0        uartPutc(ECANCON);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0004ba   6ee6     MOVWF     0xe6,0x0                                                                                        
0004bc   ec48     CALL      0xa90,0x0                                                                                       
0004be   f005                                                                                                               
0004c0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004c2   0e7b     MOVLW     0x7b                uartPutc(123);                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
0004c4   6ee6     MOVWF     0xe6,0x0                                                                                        
0004c6   ec48     CALL      0xa90,0x0                                                                                       
0004c8   f005                                                                                                               
0004ca   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004cc   cf40     MOVFF     0xf40,0xfe6         uartPutc(TXB0CON);                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
0004ce   ffe6                                                                                                               
0004d0   ec48     CALL      0xa90,0x0                                                                                       
0004d2   f005                                                                                                               
0004d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004d6   cf30     MOVFF     0xf30,0xfe6         uartPutc(TXB1CON);                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
0004d8   ffe6                                                                                                               
0004da   ec48     CALL      0xa90,0x0                                                                                       
0004dc   f005                                                                                                               
0004de   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004e0   cf20     MOVFF     0xf20,0xfe6         uartPutc(TXB2CON);                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
0004e2   ffe6                                                                                                               
0004e4   ec48     CALL      0xa90,0x0                                                                                       
0004e6   f005                                                                                                               
0004e8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004ea   0e7b     MOVLW     0x7b                uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
0004ec   6ee6     MOVWF     0xe6,0x0                                                                                        
0004ee   ec48     CALL      0xa90,0x0                                                                                       
0004f0   f005                                                                                                               
0004f2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004f4   50a4     MOVF      0xa4,0x0,0x0        uartPutc(PIR3);                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0004f6   6ee6     MOVWF     0xe6,0x0                                                                                        
0004f8   ec48     CALL      0xa90,0x0                                                                                       
0004fa   f005                                                                                                               
0004fc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0004fe   50a3     MOVF      0xa3,0x0,0x0        uartPutc(PIE3);                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000500   6ee6     MOVWF     0xe6,0x0                                                                                        
000502   ec48     CALL      0xa90,0x0                                                                                       
000504   f005                                                                                                               
000506   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000508   0e7b     MOVLW     0x7b                uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
00050a   6ee6     MOVWF     0xe6,0x0                                                                                        
00050c   ec48     CALL      0xa90,0x0                                                                                       
00050e   f005                                                                                                               
000510   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000512   5070     MOVF      0x70,0x0,0x0        uartPutc(BRGCON1);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
000514   6ee6     MOVWF     0xe6,0x0                                                                                        
000516   ec48     CALL      0xa90,0x0                                                                                       
000518   f005                                                                                                               
00051a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00051c   5071     MOVF      0x71,0x0,0x0        uartPutc(BRGCON2);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
00051e   6ee6     MOVWF     0xe6,0x0                                                                                        
000520   ec48     CALL      0xa90,0x0                                                                                       
000522   f005                                                                                                               
000524   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000526   5072     MOVF      0x72,0x0,0x0        uartPutc(BRGCON3);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
000528   6ee6     MOVWF     0xe6,0x0                                                                                        
00052a   ec48     CALL      0xa90,0x0                                                                                       
00052c   f005                                                                                                               
00052e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000530   0e7b     MOVLW     0x7b                uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
000532   6ee6     MOVWF     0xe6,0x0                                                                                        
000534   ec48     CALL      0xa90,0x0                                                                                       
000536   f005                                                                                                               
000538   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00053a   cdd4     MOVFF     0xdd4,0xfe6         uartPutc(RXFCON0);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
00053c   ffe6                                                                                                               
00053e   ec48     CALL      0xa90,0x0                                                                                       
000540   f005                                                                                                               
000542   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000544   cdd5     MOVFF     0xdd5,0xfe6         uartPutc(RXFCON1);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
000546   ffe6                                                                                                               
000548   ec48     CALL      0xa90,0x0                                                                                       
00054a   f005                                                                                                               
00054c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00054e   0e7b     MOVLW     0x7b                uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
000550   6ee6     MOVWF     0xe6,0x0                                                                                        
000552   ec48     CALL      0xa90,0x0                                                                                       
000554   f005                                                                                                               
000556   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000558   cde0     MOVFF     0xde0,0xfe6         uartPutc(RXFBCON0);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00055a   ffe6                                                                                                               
00055c   ec48     CALL      0xa90,0x0                                                                                       
00055e   f005                                                                                                               
000560   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000562   cde1     MOVFF     0xde1,0xfe6         uartPutc(RXFBCON1);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000564   ffe6                                                                                                               
000566   ec48     CALL      0xa90,0x0                                                                                       
000568   f005                                                                                                               
00056a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00056c   cde2     MOVFF     0xde2,0xfe6         uartPutc(RXFBCON2);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00056e   ffe6                                                                                                               
000570   ec48     CALL      0xa90,0x0                                                                                       
000572   f005                                                                                                               
000574   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000576   cde3     MOVFF     0xde3,0xfe6         uartPutc(RXFBCON3);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000578   ffe6                                                                                                               
00057a   ec48     CALL      0xa90,0x0                                                                                       
00057c   f005                                                                                                               
00057e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000580   cde4     MOVFF     0xde4,0xfe6         uartPutc(RXFBCON4);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000582   ffe6                                                                                                               
000584   ec48     CALL      0xa90,0x0                                                                                       
000586   f005                                                                                                               
000588   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00058a   cde5     MOVFF     0xde5,0xfe6         uartPutc(RXFBCON5);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00058c   ffe6                                                                                                               
00058e   ec48     CALL      0xa90,0x0                                                                                       
000590   f005                                                                                                               
000592   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000594   cde6     MOVFF     0xde6,0xfe6         uartPutc(RXFBCON6);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000596   ffe6                                                                                                               
000598   ec48     CALL      0xa90,0x0                                                                                       
00059a   f005                                                                                                               
00059c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00059e   cde7     MOVFF     0xde7,0xfe6         uartPutc(RXFBCON7);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0005a0   ffe6                                                                                                               
0005a2   ec48     CALL      0xa90,0x0                                                                                       
0005a4   f005                                                                                                               
0005a6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0005a8   0e7b     MOVLW     0x7b                uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
0005aa   6ee6     MOVWF     0xe6,0x0                                                                                        
0005ac   ec48     CALL      0xa90,0x0                                                                                       
0005ae   f005                                                                                                               
0005b0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0005b2   cdfc     MOVFF     0xdfc,0xfe6         uartPutc(TXBIE);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0005b4   ffe6                                                                                                               
0005b6   ec48     CALL      0xa90,0x0                                                                                       
0005b8   f005                                                                                                               
0005ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0005bc   cdfa     MOVFF     0xdfa,0xfe6         uartPutc(BIE0);                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0005be   ffe6                                                                                                               
0005c0   ec48     CALL      0xa90,0x0                                                                                       
0005c2   f005                                                                                                               
0005c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0005c6   0e0e     MOVLW     0xe            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0005c8   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0005ca   e202     BC        0x5d0                                                                                           
0005cc   6ae1     CLRF      0xe1,0x0                                                                                        
0005ce   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0005d0   6ee1     MOVWF     0xe1,0x0                                                                                        
0005d2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0005d4   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0005d6   ffd9                                                                                                               
0005d8   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #include "../Include/CANdefs.h"                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           #include "../Include/stackTasks.h"                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           #include "../Include/CAN.h"                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           #include "../Include/uart.h"                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Function: canInit                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Affects: Changes can registers.                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           void canInit()                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
0005da   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0005dc   6e6f     MOVWF     0x6f,0x0                                                                                        
0005de   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canNode\Source\CAN.c
0005e0   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0005e2   0880     SUBLW     0x80                                                                                            
0005e4   e1fc     BNZ       0x5de                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // BAUD AND TQS                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0005e6   6a70     CLRF      0x70,0x0        BRGCON1=0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
0005e8   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
0005ea   8c70     BSF       0x70,0x6,0x0    BRGCON1bits.SJW0=1;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Setting BRP.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
0005ec   0e09     MOVLW     0x9             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
0005ee   1070     IORWF     0x70,0x0,0x0                                                                                    
0005f0   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
0005f2   8e71     BSF       0x71,0x7,0x0    BRGCON2bits.SEG2PHTS = 1;                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
0005f4   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
0005f6   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
0005f8   8671     BSF       0x71,0x3,0x0    BRGCON2bits.SEG1PH0 = 1;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
0005fa   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0005fc   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0005fe   8071     BSF       0x71,0x0,0x0    BRGCON2bits.PRSEG0 = 1;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            //  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
000600   9e72     BCF       0x72,0x7,0x0    BRGCON3bits.WAKDIS = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
000602   9c72     BCF       0x72,0x6,0x0    BRGCON3bits.WAKFIL = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
000604   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
000606   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
000608   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
00060a   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
00060c   9e77     BCF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
00060e   8c77     BSF       0x77,0x6,0x0    ECANCONbits.MDSEL0 = 1;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000610   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
000612   9a60     BCF       0x60,0x5,0x0    RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // INTERRUPTS                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Diable transmit interrupt                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
000614   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
000616   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
000618   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
00061a   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
00061c   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
00061e   6ea5     MOVWF     0xa5,0x0        IPR3 =0b00000011;                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Programmable buffers interrupt                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
000620   69fa     SETF      0xfa,0x1        BIE0  = 0xFF;                                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            //loopback mode or not                                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            #ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
000622   0e40     MOVLW     0x40                CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
000624   6e6f     MOVWF     0x6f,0x0                                                                                        
000626   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canNode\Source\CAN.c
000628   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00062a   0840     SUBLW     0x40                                                                                            
00062c   e1fc     BNZ       0x626                                                                                           
                                            #else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
00062e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Function: canISR                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Pre-conditions: a call to canInit()                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Affects: interrupt registers and receive data buffers                          F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           void canISR()                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
000630   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canNode\Source\CAN.c
000632   0b02     ANDLW     0x2                                                                                             
000634   e106     BNZ       0x642                                                                                           
000636   50a4     MOVF      0xa4,0x0,0x0                                                                                    
000638   0b02     ANDLW     0x2                                                                                             
00063a   e103     BNZ       0x642                                                                                           
00063c   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00063e   0b01     ANDLW     0x1                                                                                             
000640   e03a     BZ        0x6b6                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Get which buffer that is ful.                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
000642   ae60     BTFSS     0x60,0x7,0x0             if (RXB0CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10000; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
000644   d004     BRA       0x64e                                                                                           
000646   0e00     MOVLW     0x0                                                                                             
000648   1477     ANDWF     0x77,0x0,0x0                                                                                    
00064a   0910     IORLW     0x10                                                                                            
00064c   d02b     BRA       0x6a4               else if (RXB1CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10001; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
00064e   010f     MOVLB     0xf                                                                                             
000650   af50     BTFSS     0x50,0x7,0x1                                                                                    
000652   d004     BRA       0x65c                                                                                           
000654   0e00     MOVLW     0x0                                                                                             
000656   1477     ANDWF     0x77,0x0,0x0                                                                                    
000658   0911     IORLW     0x11                                                                                            
00065a   d024     BRA       0x6a4               else if (B0CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10010; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
00065c   010e     MOVLB     0xe                                                                                             
00065e   af20     BTFSS     0x20,0x7,0x1                                                                                    
000660   d004     BRA       0x66a                                                                                           
000662   0e00     MOVLW     0x0                                                                                             
000664   1477     ANDWF     0x77,0x0,0x0                                                                                    
000666   0912     IORLW     0x12                                                                                            
000668   d01d     BRA       0x6a4               else if (B1CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10011; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
00066a   af30     BTFSS     0x30,0x7,0x1                                                                                    
00066c   d004     BRA       0x676                                                                                           
00066e   0e00     MOVLW     0x0                                                                                             
000670   1477     ANDWF     0x77,0x0,0x0                                                                                    
000672   0913     IORLW     0x13                                                                                            
000674   d017     BRA       0x6a4               else if (B2CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10100; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
000676   af40     BTFSS     0x40,0x7,0x1                                                                                    
000678   d004     BRA       0x682                                                                                           
00067a   0e00     MOVLW     0x0                                                                                             
00067c   1477     ANDWF     0x77,0x0,0x0                                                                                    
00067e   0914     IORLW     0x14                                                                                            
000680   d011     BRA       0x6a4               else if (B3CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10101; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
000682   af50     BTFSS     0x50,0x7,0x1                                                                                    
000684   d004     BRA       0x68e                                                                                           
000686   0e00     MOVLW     0x0                                                                                             
000688   1477     ANDWF     0x77,0x0,0x0                                                                                    
00068a   0915     IORLW     0x15                                                                                            
00068c   d00b     BRA       0x6a4               else if (B4CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10110; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
00068e   af60     BTFSS     0x60,0x7,0x1                                                                                    
000690   d004     BRA       0x69a                                                                                           
000692   0e00     MOVLW     0x0                                                                                             
000694   1477     ANDWF     0x77,0x0,0x0                                                                                    
000696   0916     IORLW     0x16                                                                                            
000698   d005     BRA       0x6a4               else if (B5CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10111; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
00069a   af70     BTFSS     0x70,0x7,0x1                                                                                    
00069c   d005     BRA       0x6a8                                                                                           
00069e   0e00     MOVLW     0x0                                                                                             
0006a0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0006a2   0917     IORLW     0x17                                                                                            
0006a4   6e77     MOVWF     0x77,0x0                                                                                        
0006a6   d808     RCALL     0x6b8                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0006a8   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
0006aa   d003     BRA       0x6b2                                                                                           
0006ac   92a4     BCF       0xa4,0x1,0x0                                                                                    
0006ae   b2a4     BTFSC     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
0006b0   92a4     BCF       0xa4,0x1,0x0                                                                                    
0006b2   b0a4     BTFSC     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
0006b4   90a4     BCF       0xa4,0x0,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
0006b6   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Function: canGetPacket                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
0006b8   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0006ba   ffe6                                                                                                               
0006bc   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0006be   ffd9                                                                                                               
0006c0   0e0e     MOVLW     0xe                                                                                             
0006c2   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Set extended mode or not.                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
0006c4   5062     MOVF      0x62,0x0,0x0        cm.extended=(RXB0SIDLbits.EXID==0?FALSE:TRUE);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
0006c6   0b08     ANDLW     0x8                                                                                             
0006c8   e102     BNZ       0x6ce                                                                                           
0006ca   0e00     MOVLW     0x0                                                                                             
0006cc   d001     BRA       0x6d0                                                                                           
0006ce   0e01     MOVLW     0x1                                                                                             
0006d0   6ee7     MOVWF     0xe7,0x0                                                                                        
0006d2   0e04     MOVLW     0x4                                                                                             
0006d4   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0006d6   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Clear                                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
0006d8   6ade     CLRF      0xde,0x0            cm.ident=0;                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
0006da   6ade     CLRF      0xde,0x0                                                                                        
0006dc   6ade     CLRF      0xde,0x0                                                                                        
0006de   6add     CLRF      0xdd,0x0                                                                                        
0006e0   52dd     MOVF      0xdd,0x1,0x0                                                                                    
0006e2   52dd     MOVF      0xdd,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0006e4   04db     DECF      0xdb,0x0,0x0        if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0006e6   e163     BNZ       0x7ae                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //Read extended ident.                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //cm.ident[3] = RXB0SIDH>>3;                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //cm.ident[2] = (RXB0SIDL & 0x03) + ((RXB0SIDL & 0xE0)>>3) + (BYTE)(RXB0SIDH<<5); F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //cm.ident[1] = RXB0EIDH;                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //cm.ident[0] = RXB0EIDL;                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //xx xx xx 28 27 26 25 24   23 22 21 20 19 18 17 16   15 14 13 12 11 10 09 08   07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0006e8   5061     MOVF      0x61,0x0,0x0            cm.ident = (((DWORD)RXB0SIDH)<<21) + (((DWORD)(RXB0SIDL & 0xE0))<<13) + (((DWORD)(RXB0SIDL & 0x03))<<16) + (((DWORD)RXB0EIDH)<<8) + (BYTE)RXB0EIDL; F:\MCP\projects\CAN\canNode\Source\CAN.c
0006ea   6e00     MOVWF     0x0,0x0                                                                                         
0006ec   6a01     CLRF      0x1,0x0                                                                                         
0006ee   6a02     CLRF      0x2,0x0                                                                                         
0006f0   6a03     CLRF      0x3,0x0                                                                                         
0006f2   0e15     MOVLW     0x15                                                                                            
0006f4   0b1f     ANDLW     0x1f                                                                                            
0006f6   e007     BZ        0x706                                                                                           
0006f8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006fa   3600     RLCF      0x0,0x1,0x0                                                                                     
0006fc   3601     RLCF      0x1,0x1,0x0                                                                                     
0006fe   3602     RLCF      0x2,0x1,0x0                                                                                     
000700   3603     RLCF      0x3,0x1,0x0                                                                                     
000702   06e8     DECF      0xe8,0x1,0x0                                                                                    
000704   e1f9     BNZ       0x6f8                                                                                           
000706   0ee0     MOVLW     0xe0                                                                                            
000708   1462     ANDWF     0x62,0x0,0x0                                                                                    
00070a   6e04     MOVWF     0x4,0x0                                                                                         
00070c   6a05     CLRF      0x5,0x0                                                                                         
00070e   6a06     CLRF      0x6,0x0                                                                                         
000710   6a07     CLRF      0x7,0x0                                                                                         
000712   0e0d     MOVLW     0xd                                                                                             
000714   0b1f     ANDLW     0x1f                                                                                            
000716   e007     BZ        0x726                                                                                           
000718   90d8     BCF       0xd8,0x0,0x0                                                                                    
00071a   3604     RLCF      0x4,0x1,0x0                                                                                     
00071c   3605     RLCF      0x5,0x1,0x0                                                                                     
00071e   3606     RLCF      0x6,0x1,0x0                                                                                     
000720   3607     RLCF      0x7,0x1,0x0                                                                                     
000722   06e8     DECF      0xe8,0x1,0x0                                                                                    
000724   e1f9     BNZ       0x718                                                                                           
000726   5004     MOVF      0x4,0x0,0x0                                                                                     
000728   2600     ADDWF     0x0,0x1,0x0                                                                                     
00072a   5005     MOVF      0x5,0x0,0x0                                                                                     
00072c   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00072e   5006     MOVF      0x6,0x0,0x0                                                                                     
000730   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000732   5007     MOVF      0x7,0x0,0x0                                                                                     
000734   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000736   0e03     MOVLW     0x3                                                                                             
000738   1462     ANDWF     0x62,0x0,0x0                                                                                    
00073a   6e08     MOVWF     0x8,0x0                                                                                         
00073c   6a09     CLRF      0x9,0x0                                                                                         
00073e   6a0a     CLRF      0xa,0x0                                                                                         
000740   6a0b     CLRF      0xb,0x0                                                                                         
000742   0e10     MOVLW     0x10                                                                                            
000744   0b1f     ANDLW     0x1f                                                                                            
000746   e007     BZ        0x756                                                                                           
000748   90d8     BCF       0xd8,0x0,0x0                                                                                    
00074a   3608     RLCF      0x8,0x1,0x0                                                                                     
00074c   3609     RLCF      0x9,0x1,0x0                                                                                     
00074e   360a     RLCF      0xa,0x1,0x0                                                                                     
000750   360b     RLCF      0xb,0x1,0x0                                                                                     
000752   06e8     DECF      0xe8,0x1,0x0                                                                                    
000754   e1f9     BNZ       0x748                                                                                           
000756   5008     MOVF      0x8,0x0,0x0                                                                                     
000758   2600     ADDWF     0x0,0x1,0x0                                                                                     
00075a   5009     MOVF      0x9,0x0,0x0                                                                                     
00075c   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00075e   500a     MOVF      0xa,0x0,0x0                                                                                     
000760   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000762   500b     MOVF      0xb,0x0,0x0                                                                                     
000764   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000766   5063     MOVF      0x63,0x0,0x0                                                                                    
000768   6e0c     MOVWF     0xc,0x0                                                                                         
00076a   6a0d     CLRF      0xd,0x0                                                                                         
00076c   6a0e     CLRF      0xe,0x0                                                                                         
00076e   6a0f     CLRF      0xf,0x0                                                                                         
000770   0e08     MOVLW     0x8                                                                                             
000772   0b1f     ANDLW     0x1f                                                                                            
000774   e007     BZ        0x784                                                                                           
000776   90d8     BCF       0xd8,0x0,0x0                                                                                    
000778   360c     RLCF      0xc,0x1,0x0                                                                                     
00077a   360d     RLCF      0xd,0x1,0x0                                                                                     
00077c   360e     RLCF      0xe,0x1,0x0                                                                                     
00077e   360f     RLCF      0xf,0x1,0x0                                                                                     
000780   06e8     DECF      0xe8,0x1,0x0                                                                                    
000782   e1f9     BNZ       0x776                                                                                           
000784   500c     MOVF      0xc,0x0,0x0                                                                                     
000786   2600     ADDWF     0x0,0x1,0x0                                                                                     
000788   500d     MOVF      0xd,0x0,0x0                                                                                     
00078a   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00078c   500e     MOVF      0xe,0x0,0x0                                                                                     
00078e   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000790   500f     MOVF      0xf,0x0,0x0                                                                                     
000792   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000794   5064     MOVF      0x64,0x0,0x0                                                                                    
000796   6e10     MOVWF     0x10,0x0                                                                                        
000798   6a11     CLRF      0x11,0x0                                                                                        
00079a   6a12     CLRF      0x12,0x0                                                                                        
00079c   6a13     CLRF      0x13,0x0                                                                                        
00079e   50e8     MOVF      0xe8,0x0,0x0                                                                                    
0007a0   2600     ADDWF     0x0,0x1,0x0                                                                                     
0007a2   5011     MOVF      0x11,0x0,0x0                                                                                    
0007a4   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0007a6   5012     MOVF      0x12,0x0,0x0                                                                                    
0007a8   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0007aa   5013     MOVF      0x13,0x0,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0007ac   d023     BRA       0x7f4               else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //Read standard ident.                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //cm.ident[1]=RXB0SIDH>>5;                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //cm.ident[0]=((RXB0SIDL & 0b11100000)>>5)+(BYTE)(RXB0SIDH<<3);               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0007ae   5061     MOVF      0x61,0x0,0x0            cm.ident = (((DWORD)RXB0SIDH)<<3) + (((DWORD)RXB0SIDL)>>5);                   F:\MCP\projects\CAN\canNode\Source\CAN.c
0007b0   6e00     MOVWF     0x0,0x0                                                                                         
0007b2   6a01     CLRF      0x1,0x0                                                                                         
0007b4   6a02     CLRF      0x2,0x0                                                                                         
0007b6   6a03     CLRF      0x3,0x0                                                                                         
0007b8   0e03     MOVLW     0x3                                                                                             
0007ba   0b1f     ANDLW     0x1f                                                                                            
0007bc   e007     BZ        0x7cc                                                                                           
0007be   90d8     BCF       0xd8,0x0,0x0                                                                                    
0007c0   3600     RLCF      0x0,0x1,0x0                                                                                     
0007c2   3601     RLCF      0x1,0x1,0x0                                                                                     
0007c4   3602     RLCF      0x2,0x1,0x0                                                                                     
0007c6   3603     RLCF      0x3,0x1,0x0                                                                                     
0007c8   06e8     DECF      0xe8,0x1,0x0                                                                                    
0007ca   e1f9     BNZ       0x7be                                                                                           
0007cc   5062     MOVF      0x62,0x0,0x0                                                                                    
0007ce   6e04     MOVWF     0x4,0x0                                                                                         
0007d0   6a05     CLRF      0x5,0x0                                                                                         
0007d2   6a06     CLRF      0x6,0x0                                                                                         
0007d4   6a07     CLRF      0x7,0x0                                                                                         
0007d6   0e05     MOVLW     0x5                                                                                             
0007d8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0007da   3207     RRCF      0x7,0x1,0x0                                                                                     
0007dc   3206     RRCF      0x6,0x1,0x0                                                                                     
0007de   3205     RRCF      0x5,0x1,0x0                                                                                     
0007e0   3204     RRCF      0x4,0x1,0x0                                                                                     
0007e2   06e8     DECF      0xe8,0x1,0x0                                                                                    
0007e4   e1f9     BNZ       0x7d8                                                                                           
0007e6   5004     MOVF      0x4,0x0,0x0                                                                                     
0007e8   2600     ADDWF     0x0,0x1,0x0                                                                                     
0007ea   5005     MOVF      0x5,0x0,0x0                                                                                     
0007ec   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0007ee   5006     MOVF      0x6,0x0,0x0                                                                                     
0007f0   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0007f2   5007     MOVF      0x7,0x0,0x0                                                                                     
0007f4   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0007f6   c000     MOVFF     0x0,0xfdf                                                                                       
0007f8   ffdf                                                                                                               
0007fa   0e01     MOVLW     0x1                                                                                             
0007fc   c001     MOVFF     0x1,0xfdb                                                                                       
0007fe   ffdb                                                                                                               
000800   0e02     MOVLW     0x2                                                                                             
000802   c002     MOVFF     0x2,0xfdb                                                                                       
000804   ffdb                                                                                                               
000806   0e03     MOVLW     0x3                                                                                             
000808   c003     MOVFF     0x3,0xfdb                                                                                       
00080a   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
00080c   0e05     MOVLW     0x5                 cm.data_length=RXB0DLC;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
00080e   cf65     MOVFF     0xf65,0xfdb                                                                                     
000810   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
000812   0e06     MOVLW     0x6                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
000814   cf66     MOVFF     0xf66,0xfdb                                                                                     
000816   ffdb                                                                                                               
000818   0e07     MOVLW     0x7                                                                                             
00081a   cf67     MOVFF     0xf67,0xfdb                                                                                     
00081c   ffdb                                                                                                               
00081e   0e08     MOVLW     0x8                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000820   cf68     MOVFF     0xf68,0xfdb                                                                                     
000822   ffdb                                                                                                               
000824   0e09     MOVLW     0x9                                                                                             
000826   cf69     MOVFF     0xf69,0xfdb                                                                                     
000828   ffdb                                                                                                               
00082a   0e0a     MOVLW     0xa                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
00082c   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
00082e   ffdb                                                                                                               
000830   0e0b     MOVLW     0xb                                                                                             
000832   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
000834   ffdb                                                                                                               
000836   0e0c     MOVLW     0xc                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000838   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
00083a   ffdb                                                                                                               
00083c   0e0d     MOVLW     0xd                                                                                             
00083e   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
000840   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000842   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                //Call main parser                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
000844   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
000846   ffe9                                                                                                               
000848   cfda     MOVFF     0xfda,0xfea                                                                                     
00084a   ffea                                                                                                               
00084c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00084e   ffe6                                                                                                               
000850   cfee     MOVFF     0xfee,0xfe6                                                                                     
000852   ffe6                                                                                                               
000854   cfee     MOVFF     0xfee,0xfe6                                                                                     
000856   ffe6                                                                                                               
000858   cfee     MOVFF     0xfee,0xfe6                                                                                     
00085a   ffe6                                                                                                               
00085c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00085e   ffe6                                                                                                               
000860   cfee     MOVFF     0xfee,0xfe6                                                                                     
000862   ffe6                                                                                                               
000864   cfee     MOVFF     0xfee,0xfe6                                                                                     
000866   ffe6                                                                                                               
000868   cfee     MOVFF     0xfee,0xfe6                                                                                     
00086a   ffe6                                                                                                               
00086c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00086e   ffe6                                                                                                               
000870   cfee     MOVFF     0xfee,0xfe6                                                                                     
000872   ffe6                                                                                                               
000874   cfee     MOVFF     0xfee,0xfe6                                                                                     
000876   ffe6                                                                                                               
000878   cfee     MOVFF     0xfee,0xfe6                                                                                     
00087a   ffe6                                                                                                               
00087c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00087e   ffe6                                                                                                               
000880   cfee     MOVFF     0xfee,0xfe6                                                                                     
000882   ffe6                                                                                                               
000884   ec04     CALL      0x208,0x0                                                                                       
000886   f001                                                                                                               
000888   6e00     MOVWF     0x0,0x0                                                                                         
00088a   0e0e     MOVLW     0xe                                                                                             
00088c   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00088e   5000     MOVF      0x0,0x0,0x0                                                                                     
000890   0e0e     MOVLW     0xe            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
000892   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000894   e202     BC        0x89a                                                                                           
000896   6ae1     CLRF      0xe1,0x0                                                                                        
000898   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00089a   6ee1     MOVWF     0xe1,0x0                                                                                        
00089c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00089e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0008a0   ffd9                                                                                                               
0008a2   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Function: canSendMessage                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Input:  CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Affects: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
0008a4   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm)                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0008a6   ffe6                                                                                                               
0008a8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0008aa   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0008ac   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
0008ae   b740     BTFSC     0x40,0x3,0x1                                                                                    
0008b0   d004     BRA       0x8ba                                                                                           
0008b2   0e00     MOVLW     0x0                                                                                             
0008b4   1477     ANDWF     0x77,0x0,0x0                                                                                    
0008b6   0903     IORLW     0x3                                                                                             
0008b8   6e77     MOVWF     0x77,0x0                                                                                        
0008ba   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
0008bc   b730     BTFSC     0x30,0x3,0x1                                                                                    
0008be   d004     BRA       0x8c8                                                                                           
0008c0   0e00     MOVLW     0x0                                                                                             
0008c2   1477     ANDWF     0x77,0x0,0x0                                                                                    
0008c4   0904     IORLW     0x4                                                                                             
0008c6   6e77     MOVWF     0x77,0x0                                                                                        
0008c8   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
0008ca   b720     BTFSC     0x20,0x3,0x1                                                                                    
0008cc   d005     BRA       0x8d8                                                                                           
0008ce   0e00     MOVLW     0x0                                                                                             
0008d0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0008d2   0905     IORLW     0x5                                                                                             
0008d4   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
0008d6   d002     BRA       0x8dc           else { return FALSE;}                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
0008d8   0e00     MOVLW     0x0                                                                                             
0008da   d0ca     BRA       0xa70                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Set extended mode or not.                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
0008dc   0ef5     MOVLW     0xf5            RXB0SIDLbits.EXID=(cm.extended==TRUE?1:0);                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
0008de   04db     DECF      0xdb,0x0,0x0                                                                                    
0008e0   e102     BNZ       0x8e6                                                                                           
0008e2   0e01     MOVLW     0x1                                                                                             
0008e4   d001     BRA       0x8e8                                                                                           
0008e6   0e00     MOVLW     0x0                                                                                             
0008e8   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
0008ea   8662     BSF       0x62,0x3,0x0                                                                                    
0008ec   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
0008ee   9662     BCF       0x62,0x3,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0008f0   0ef5     MOVLW     0xf5                if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0008f2   04db     DECF      0xdb,0x0,0x0                                                                                    
0008f4   e104     BNZ       0x8fe                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0008f6   0e08     MOVLW     0x8                     RXB0SIDL=RXB0SIDL|0b00001000;                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
0008f8   1062     IORWF     0x62,0x0,0x0                                                                                    
0008fa   6e62     MOVWF     0x62,0x0                                                                                        
                                                //  _asm                                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                //      bsf RXB0SIDL, 3, 0                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                //  _endasm                                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0008fc   d003     BRA       0x904               else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0008fe   0ef7     MOVLW     0xf7                    RXB0SIDL=RXB0SIDL&0b11110111;                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
000900   1462     ANDWF     0x62,0x0,0x0                                                                                    
000902   6e62     MOVWF     0x62,0x0                                                                                        
                                                //  _asm                                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                //      bcf RXB0SIDL, 3, 0                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                //  _endasm                                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000904   0ef5     MOVLW     0xf5                if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000906   04db     DECF      0xdb,0x0,0x0                                                                                    
000908   e15f     BNZ       0x9c8                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //Write extended ident.                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDH = (BYTE)(cm.ident[3]<<3)+((cm.ident[2] & 0xE0)>>5);                F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDL = (BYTE)((cm.ident[2] & 0x1C)<<3)+(cm.ident[2] & 0x03);            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0EIDH = cm.ident[1];                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0EIDL = cm.ident[0];                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //xx xx xx 28 27 26 25 24   23 22 21 20 19 18 17 16   15 14 13 12 11 10 09 08   07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
00090a   0ef1     MOVLW     0xf1                    RXB0SIDH =  (BYTE)((cm.ident>>21));                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
00090c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00090e   f000                                                                                                               
000910   0ef2     MOVLW     0xf2                                                                                            
000912   cfdb     MOVFF     0xfdb,0x1                                                                                       
000914   f001                                                                                                               
000916   0ef3     MOVLW     0xf3                                                                                            
000918   cfdb     MOVFF     0xfdb,0x2                                                                                       
00091a   f002                                                                                                               
00091c   0ef4     MOVLW     0xf4                                                                                            
00091e   cfdb     MOVFF     0xfdb,0x3                                                                                       
000920   f003                                                                                                               
000922   0e15     MOVLW     0x15                                                                                            
000924   90d8     BCF       0xd8,0x0,0x0                                                                                    
000926   3203     RRCF      0x3,0x1,0x0                                                                                     
000928   3202     RRCF      0x2,0x1,0x0                                                                                     
00092a   3201     RRCF      0x1,0x1,0x0                                                                                     
00092c   3200     RRCF      0x0,0x1,0x0                                                                                     
00092e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000930   e1f9     BNZ       0x924                                                                                           
000932   5000     MOVF      0x0,0x0,0x0                                                                                     
000934   6e61     MOVWF     0x61,0x0                                                                                        
000936   0ef1     MOVLW     0xf1                    RXB0SIDL = ((BYTE)(cm.ident>>16) & 0x03) + ((BYTE)(cm.ident>>13) & 0xE0); F:\MCP\projects\CAN\canNode\Source\CAN.c
000938   cfdb     MOVFF     0xfdb,0x5                                                                                       
00093a   f005                                                                                                               
00093c   0ef2     MOVLW     0xf2                                                                                            
00093e   cfdb     MOVFF     0xfdb,0x6                                                                                       
000940   f006                                                                                                               
000942   0ef3     MOVLW     0xf3                                                                                            
000944   cfdb     MOVFF     0xfdb,0x7                                                                                       
000946   f007                                                                                                               
000948   0ef4     MOVLW     0xf4                                                                                            
00094a   cfdb     MOVFF     0xfdb,0x8                                                                                       
00094c   f008                                                                                                               
00094e   0e0d     MOVLW     0xd                                                                                             
000950   90d8     BCF       0xd8,0x0,0x0                                                                                    
000952   3208     RRCF      0x8,0x1,0x0                                                                                     
000954   3207     RRCF      0x7,0x1,0x0                                                                                     
000956   3206     RRCF      0x6,0x1,0x0                                                                                     
000958   3205     RRCF      0x5,0x1,0x0                                                                                     
00095a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00095c   e1f9     BNZ       0x950                                                                                           
00095e   0ee0     MOVLW     0xe0                                                                                            
000960   1405     ANDWF     0x5,0x0,0x0                                                                                     
000962   6e04     MOVWF     0x4,0x0                                                                                         
000964   0ef1     MOVLW     0xf1                                                                                            
000966   cfdb     MOVFF     0xfdb,0x0                                                                                       
000968   f000                                                                                                               
00096a   0ef2     MOVLW     0xf2                                                                                            
00096c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00096e   f001                                                                                                               
000970   0ef3     MOVLW     0xf3                                                                                            
000972   cfdb     MOVFF     0xfdb,0x2                                                                                       
000974   f002                                                                                                               
000976   0ef4     MOVLW     0xf4                                                                                            
000978   cfdb     MOVFF     0xfdb,0x3                                                                                       
00097a   f003                                                                                                               
00097c   0e10     MOVLW     0x10                                                                                            
00097e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000980   3203     RRCF      0x3,0x1,0x0                                                                                     
000982   3202     RRCF      0x2,0x1,0x0                                                                                     
000984   3201     RRCF      0x1,0x1,0x0                                                                                     
000986   3200     RRCF      0x0,0x1,0x0                                                                                     
000988   06e8     DECF      0xe8,0x1,0x0                                                                                    
00098a   e1f9     BNZ       0x97e                                                                                           
00098c   0e03     MOVLW     0x3                                                                                             
00098e   1400     ANDWF     0x0,0x0,0x0                                                                                     
000990   2404     ADDWF     0x4,0x0,0x0                                                                                     
000992   6e62     MOVWF     0x62,0x0                                                                                        
000994   0ef1     MOVLW     0xf1                    RXB0EIDH =  (BYTE)(cm.ident>>8);                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
000996   cfdb     MOVFF     0xfdb,0x0                                                                                       
000998   f000                                                                                                               
00099a   0ef2     MOVLW     0xf2                                                                                            
00099c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00099e   f001                                                                                                               
0009a0   0ef3     MOVLW     0xf3                                                                                            
0009a2   cfdb     MOVFF     0xfdb,0x2                                                                                       
0009a4   f002                                                                                                               
0009a6   0ef4     MOVLW     0xf4                                                                                            
0009a8   cfdb     MOVFF     0xfdb,0x3                                                                                       
0009aa   f003                                                                                                               
0009ac   0e08     MOVLW     0x8                                                                                             
0009ae   90d8     BCF       0xd8,0x0,0x0                                                                                    
0009b0   3203     RRCF      0x3,0x1,0x0                                                                                     
0009b2   3202     RRCF      0x2,0x1,0x0                                                                                     
0009b4   3201     RRCF      0x1,0x1,0x0                                                                                     
0009b6   3200     RRCF      0x0,0x1,0x0                                                                                     
0009b8   06e8     DECF      0xe8,0x1,0x0                                                                                    
0009ba   e1f9     BNZ       0x9ae                                                                                           
0009bc   5000     MOVF      0x0,0x0,0x0                                                                                     
0009be   6e63     MOVWF     0x63,0x0                                                                                        
0009c0   0ef1     MOVLW     0xf1                    RXB0EIDL =  (BYTE)cm.ident;                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
0009c2   50db     MOVF      0xdb,0x0,0x0                                                                                    
0009c4   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0009c6   d02f     BRA       0xa26               else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //Write standard ident.                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDH=(cm.ident[1]<<5)+(cm.ident[0]>>3);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDL=(RXB0SIDL & 0b00011111)+(BYTE)(cm.ident[0]<<5);                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0009c8   0ef1     MOVLW     0xf1                        RXB0SIDH=  (BYTE)(cm.ident>>3);                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0009ca   cfdb     MOVFF     0xfdb,0x0                                                                                       
0009cc   f000                                                                                                               
0009ce   0ef2     MOVLW     0xf2                                                                                            
0009d0   cfdb     MOVFF     0xfdb,0x1                                                                                       
0009d2   f001                                                                                                               
0009d4   0ef3     MOVLW     0xf3                                                                                            
0009d6   cfdb     MOVFF     0xfdb,0x2                                                                                       
0009d8   f002                                                                                                               
0009da   0ef4     MOVLW     0xf4                                                                                            
0009dc   cfdb     MOVFF     0xfdb,0x3                                                                                       
0009de   f003                                                                                                               
0009e0   0e03     MOVLW     0x3                                                                                             
0009e2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0009e4   3203     RRCF      0x3,0x1,0x0                                                                                     
0009e6   3202     RRCF      0x2,0x1,0x0                                                                                     
0009e8   3201     RRCF      0x1,0x1,0x0                                                                                     
0009ea   3200     RRCF      0x0,0x1,0x0                                                                                     
0009ec   06e8     DECF      0xe8,0x1,0x0                                                                                    
0009ee   e1f9     BNZ       0x9e2                                                                                           
0009f0   5000     MOVF      0x0,0x0,0x0                                                                                     
0009f2   6e61     MOVWF     0x61,0x0                                                                                        
0009f4   0ef1     MOVLW     0xf1                    RXB0SIDL= ((BYTE)(cm.ident<<5) & 0xE0);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
0009f6   cfdb     MOVFF     0xfdb,0x0                                                                                       
0009f8   f000                                                                                                               
0009fa   0ef2     MOVLW     0xf2                                                                                            
0009fc   cfdb     MOVFF     0xfdb,0x1                                                                                       
0009fe   f001                                                                                                               
000a00   0ef3     MOVLW     0xf3                                                                                            
000a02   cfdb     MOVFF     0xfdb,0x2                                                                                       
000a04   f002                                                                                                               
000a06   0ef4     MOVLW     0xf4                                                                                            
000a08   cfdb     MOVFF     0xfdb,0x3                                                                                       
000a0a   f003                                                                                                               
000a0c   0e05     MOVLW     0x5                                                                                             
000a0e   0b1f     ANDLW     0x1f                                                                                            
000a10   e007     BZ        0xa20                                                                                           
000a12   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a14   3600     RLCF      0x0,0x1,0x0                                                                                     
000a16   3601     RLCF      0x1,0x1,0x0                                                                                     
000a18   3602     RLCF      0x2,0x1,0x0                                                                                     
000a1a   3603     RLCF      0x3,0x1,0x0                                                                                     
000a1c   06e8     DECF      0xe8,0x1,0x0                                                                                    
000a1e   e1f9     BNZ       0xa12                                                                                           
000a20   0ee0     MOVLW     0xe0                                                                                            
000a22   1400     ANDWF     0x0,0x0,0x0                                                                                     
000a24   6e62     MOVWF     0x62,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
000a26   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canNode\Source\CAN.c
000a28   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a2a   0808     SUBLW     0x8                                                                                             
000a2c   e203     BC        0xa34                                                                                           
000a2e   0e08     MOVLW     0x8                                                                                             
000a30   6e65     MOVWF     0x65,0x0                                                                                        
000a32   d003     BRA       0xa3a                                                                                           
000a34   0ef6     MOVLW     0xf6                                                                                            
000a36   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a38   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
000a3a   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
000a3c   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a3e   6e66     MOVWF     0x66,0x0                                                                                        
000a40   0ef8     MOVLW     0xf8                                                                                            
000a42   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a44   6e67     MOVWF     0x67,0x0                                                                                        
000a46   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000a48   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a4a   6e68     MOVWF     0x68,0x0                                                                                        
000a4c   0efa     MOVLW     0xfa                                                                                            
000a4e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a50   6e69     MOVWF     0x69,0x0                                                                                        
000a52   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000a54   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a56   6e6a     MOVWF     0x6a,0x0                                                                                        
000a58   0efc     MOVLW     0xfc                                                                                            
000a5a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a5c   6e6b     MOVWF     0x6b,0x0                                                                                        
000a5e   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000a60   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a62   6e6c     MOVWF     0x6c,0x0                                                                                        
000a64   0efe     MOVLW     0xfe                                                                                            
000a66   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a68   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // mark as redy to transmit                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                _asm                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
000a6a   8660     BSF       0x60,0x3,0x0            bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000a6c   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
000a6e   d000     BRA       0xa70                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000a70   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
000a72   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000a74   ffd9                                                                                                               
000a76   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
                                           #include "../Include/stackTasks.h"                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           #include "../Include/uart.h"                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           static char uartBusy(void);                                                      F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Function: uartInit                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           void uartInit()                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                                // Configure USART                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
000a78   8e94     BSF       0x94,0x7,0x0        TRISCbits.TRISC7=1;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000a7a   9c94     BCF       0x94,0x6,0x0        TRISCbits.TRISC6=0;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000a7c   0e20     MOVLW     0x20                TXSTA=0b00100000; // Low BRG speed                                             F:\MCP\projects\CAN\canNode\Source\uart.c
000a7e   6eac     MOVWF     0xac,0x0                                                                                        
000a80   0e90     MOVLW     0x90                RCSTA=0b10010000;                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000a82   6eab     MOVWF     0xab,0x0                                                                                        
000a84   0e1f     MOVLW     0x1f                SPBRG = SPBRG_VAL;                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
000a86   6eaf     MOVWF     0xaf,0x0                                                                                        
                                                // USART RX interrupt                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000a88   9a9e     BCF       0x9e,0x5,0x0        PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000a8a   8a9d     BSF       0x9d,0x5,0x0        PIE1bits.RCIE=1;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                                // High interrupt                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000a8c   8a9f     BSF       0x9f,0x5,0x0        IPR1bits.RCIP=1;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000a8e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Function: uartPutc                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Input:  BYTE c to send on uart                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000a90   cfd9     MOVFF     0xfd9,0xfe6    void uartPutc(BYTE c)                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000a92   ffe6                                                                                                               
000a94   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000a96   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                            // Write the data byte to the USART                                             F:\MCP\projects\CAN\canNode\Source\uart.c
000a98   0efe     MOVLW     0xfe            TXREG = c;                                                                      F:\MCP\projects\CAN\canNode\Source\uart.c
000a9a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a9c   6ead     MOVWF     0xad,0x0                                                                                        
000a9e   d848     RCALL     0xb30           while(uartBusy());                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000aa0   0900     IORLW     0x0                                                                                             
000aa2   e1fd     BNZ       0xa9e                                                                                           
000aa4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000aa6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000aa8   ffd9                                                                                                               
000aaa   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Function: uartPuts                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Input:  Byte array to send on uart                                              F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000aac   cfd9     MOVFF     0xfd9,0xfe6    void uartPuts(BYTE c[])                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000aae   ffe6                                                                                                               
000ab0   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000ab2   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                            do                                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
                                                {  // Transmit a byte                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
000ab4   d83d     RCALL     0xb30               while(uartBusy());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000ab6   0900     IORLW     0x0                                                                                             
000ab8   e1fd     BNZ       0xab4                                                                                           
000aba   0efd     MOVLW     0xfd                uartPutc(*c);                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000abc   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000abe   ffe9                                                                                                               
000ac0   0efe     MOVLW     0xfe                                                                                            
000ac2   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000ac4   ffea                                                                                                               
000ac6   50ef     MOVF      0xef,0x0,0x0                                                                                    
000ac8   6ee6     MOVWF     0xe6,0x0                                                                                        
000aca   dfe2     RCALL     0xa90                                                                                           
000acc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000ace   0efd     MOVLW     0xfd                } while( *c++ );                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000ad0   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000ad2   ffe9                                                                                                               
000ad4   2adb     INCF      0xdb,0x1,0x0                                                                                    
000ad6   0efe     MOVLW     0xfe                                                                                            
000ad8   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000ada   ffea                                                                                                               
000adc   e301     BNC       0xae0                                                                                           
000ade   2adb     INCF      0xdb,0x1,0x0                                                                                    
000ae0   50ef     MOVF      0xef,0x0,0x0                                                                                    
000ae2   e1e8     BNZ       0xab4                                                                                           
000ae4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000ae6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000ae8   ffd9                                                                                                               
000aea   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Function: uartPutrs                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Input:  Byte array to send on uart (static)                                     F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000aec   cfd9     MOVFF     0xfd9,0xfe6    void uartPutrs(const rom char *c)                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000aee   ffe6                                                                                                               
000af0   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000af2   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                            do                                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
                                                {  // Transmit a byte                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
000af4   d81d     RCALL     0xb30               while(uartBusy());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000af6   0900     IORLW     0x0                                                                                             
000af8   e1fd     BNZ       0xaf4                                                                                           
000afa   0efd     MOVLW     0xfd                uartPutc(*c);                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000afc   cfdb     MOVFF     0xfdb,0xff6                                                                                     
000afe   fff6                                                                                                               
000b00   0efe     MOVLW     0xfe                                                                                            
000b02   cfdb     MOVFF     0xfdb,0xff7                                                                                     
000b04   fff7                                                                                                               
000b06   0008     TBLRD                                                                                                     
000b08   50f5     MOVF      0xf5,0x0,0x0                                                                                    
000b0a   6ee6     MOVWF     0xe6,0x0                                                                                        
000b0c   dfc1     RCALL     0xa90                                                                                           
000b0e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000b10   0efd     MOVLW     0xfd                } while( *c++ );                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000b12   cfdb     MOVFF     0xfdb,0xff6                                                                                     
000b14   fff6                                                                                                               
000b16   2adb     INCF      0xdb,0x1,0x0                                                                                    
000b18   0efe     MOVLW     0xfe                                                                                            
000b1a   cfdb     MOVFF     0xfdb,0xff7                                                                                     
000b1c   fff7                                                                                                               
000b1e   e301     BNC       0xb22                                                                                           
000b20   2adb     INCF      0xdb,0x1,0x0                                                                                    
000b22   0008     TBLRD                                                                                                     
000b24   50f5     MOVF      0xf5,0x0,0x0                                                                                    
000b26   e1e6     BNZ       0xaf4                                                                                           
000b28   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000b2a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000b2c   ffd9                                                                                                               
000b2e   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Function: uartBusy                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Output: If usart busy or not.                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           char uartBusy(void)                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000b30   50ac     MOVF      0xac,0x0,0x0    return !TXSTAbits.TRMT;                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
000b32   0b02     ANDLW     0x2                                                                                             
000b34   0a02     XORLW     0x2                                                                                             
000b36   e001     BZ        0xb3a                                                                                           
000b38   0e01     MOVLW     0x1                                                                                             
000b3a   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Function: uartGet                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Output: Byte read                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           BYTE uartGet(void)                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                            // Return the received data                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
000b3c   50ae     MOVF      0xae,0x0,0x0    return RCREG;                                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
000b3e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Function: uartISR                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Affects: call to uartParse                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           void uartISR(void)                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000b40   509e     MOVF      0x9e,0x0,0x0    if (PIR1bits.RCIF==1 && PIE1bits.RCIE==1)                                       F:\MCP\projects\CAN\canNode\Source\uart.c
000b42   0b20     ANDLW     0x20                                                                                            
000b44   e009     BZ        0xb58                                                                                           
000b46   509d     MOVF      0x9d,0x0,0x0                                                                                    
000b48   0b20     ANDLW     0x20                                                                                            
000b4a   e006     BZ        0xb58                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000b4c   dff7     RCALL     0xb3c               uartParse(uartGet());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000b4e   6ee6     MOVWF     0xe6,0x0                                                                                        
000b50   ecaa     CALL      0x354,0x0                                                                                       
000b52   f001                                                                                                               
000b54   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000b56   9a9e     BCF       0x9e,0x5,0x0        PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000b58   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\uart.c
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #include "..\Include\Tick.h"                                                     F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #include "..\Include\Compiler.h"                                                 F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #else                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           TICK TickCount = 0;  // 10ms/unit                                                 F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Function: TickInit                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
000bf8   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
000bfa   6ed6     MOVWF     0xd6,0x0                                                                                        
000bfc   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
000bfe   6ed7     MOVWF     0xd7,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               // 16-BIT, internal timer, PSA set to 1:256                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
000c00   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canNode\Source\Tick.c
000c02   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
000c04   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000c06   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
000c08   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
000c0a   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Function: TickGet                                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Output: Current tick value is given, 1 tick represents approximately 10ms      F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           TICK tickGet(void)                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
000c0c   c06a     MOVFF     0x6a,0x18          return TickCount;                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000c0e   f018                                                                                                               
000c10   c06b     MOVFF     0x6b,0x19                                                                                       
000c12   f019                                                                                                               
000c14   c06c     MOVFF     0x6c,0x1a                                                                                       
000c16   f01a                                                                                                               
000c18   c06d     MOVFF     0x6d,0x1b                                                                                       
000c1a   f01b                                                                                                               
000c1c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Function: tickUpdate                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           void tickUpdate(void)                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
000c1e   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canNode\Source\Tick.c
000c20   d00b     BRA       0xc38                                                                                           
                                               {                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000c22   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
000c24   6ed7     MOVWF     0xd7,0x0                                                                                        
000c26   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
000c28   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000c2a   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
000c2c   2b6a     INCF      0x6a,0x1,0x1                                                                                    
000c2e   0e00     MOVLW     0x0                                                                                             
000c30   236b     ADDWFC    0x6b,0x1,0x1                                                                                    
000c32   236c     ADDWFC    0x6c,0x1,0x1                                                                                    
000c34   236d     ADDWFC    0x6d,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000c36   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000c38   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c