Subversion Repositories HomeAutomation

Rev

Rev 31 | 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 20:58:05 2006


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\Main.c
                                            * FileName:        Main.c                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\Main.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                           #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
                                           static BOOL heartBeatEnabled = FALSE;                                            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   d8d1     RCALL     0x1f4           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   ecba     CALL      0x774,0x0           canInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
000054   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
000056   ecff     CALL      0xbfe,0x0           uartInit();                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
000058   f005                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00005a   ec10     CALL      0xe20,0x0       tickInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
00005c   f007                                                                                                               
                                                                                                                            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
00005e   ec1a     CALL      0xe34,0x0           if ((tickGet()-t)>=5*TICK_SECOND && heartBeatEnabled==TRUE)                    F:\MCP\projects\CAN\canNode\Source\Main.c
000060   f007                                                                                                               
000062   0100     MOVLB     0x0                                                                                             
000064   516b     MOVF      0x6b,0x0,0x1                                                                                    
000066   5c18     SUBWF     0x18,0x0,0x0                                                                                    
000068   6e00     MOVWF     0x0,0x0                                                                                         
00006a   516c     MOVF      0x6c,0x0,0x1                                                                                    
00006c   5819     SUBWFB    0x19,0x0,0x0                                                                                    
00006e   6e01     MOVWF     0x1,0x0                                                                                         
000070   516d     MOVF      0x6d,0x0,0x1                                                                                    
000072   581a     SUBWFB    0x1a,0x0,0x0                                                                                    
000074   6e02     MOVWF     0x2,0x0                                                                                         
000076   516e     MOVF      0x6e,0x0,0x1                                                                                    
000078   581b     SUBWFB    0x1b,0x0,0x0                                                                                    
00007a   6e03     MOVWF     0x3,0x0                                                                                         
00007c   0ef4     MOVLW     0xf4                                                                                            
00007e   5c00     SUBWF     0x0,0x0,0x0                                                                                     
000080   0e01     MOVLW     0x1                                                                                             
000082   5801     SUBWFB    0x1,0x0,0x0                                                                                     
000084   0e00     MOVLW     0x0                                                                                             
000086   5802     SUBWFB    0x2,0x0,0x0                                                                                     
000088   0e00     MOVLW     0x0                                                                                             
00008a   5803     SUBWFB    0x3,0x0,0x0                                                                                     
00008c   e3e8     BNC       0x5e                                                                                            
00008e   056a     DECF      0x6a,0x0,0x1                                                                                    
000090   e1e6     BNZ       0x5e                                                                                            
                                                {                                                                              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
000092   ec1a     CALL      0xe34,0x0               t = tickGet();                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000094   f007                                                                                                               
000096   c018     MOVFF     0x18,0x6b                                                                                       
000098   f06b                                                                                                               
00009a   c019     MOVFF     0x19,0x6c                                                                                       
00009c   f06c                                                                                                               
00009e   c01a     MOVFF     0x1a,0x6d                                                                                       
0000a0   f06d                                                                                                               
0000a2   c01b     MOVFF     0x1b,0x6e                                                                                       
0000a4   f06e                                                                                                               
                                                                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    // Send heartbeat                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0000a6   0e66     MOVLW     0x66                    cm.ident=0x00000666;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
0000a8   6ede     MOVWF     0xde,0x0                                                                                        
0000aa   0e06     MOVLW     0x6                                                                                             
0000ac   6ede     MOVWF     0xde,0x0                                                                                        
0000ae   6ade     CLRF      0xde,0x0                                                                                        
0000b0   6add     CLRF      0xdd,0x0                                                                                        
0000b2   52dd     MOVF      0xdd,0x1,0x0                                                                                    
0000b4   52dd     MOVF      0xdd,0x1,0x0                                                                                    
0000b6   0e04     MOVLW     0x4                     cm.extended=FALSE;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0000b8   6adb     CLRF      0xdb,0x0                                                                                        
0000ba   0e01     MOVLW     0x1                     cm.data_length=1;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0000bc   6ef3     MOVWF     0xf3,0x0                                                                                        
0000be   0e05     MOVLW     0x5                                                                                             
0000c0   cff3     MOVFF     0xff3,0xfdb                                                                                     
0000c2   ffdb                                                                                                               
0000c4   0e48     MOVLW     0x48                    cm.data[0]='H';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0000c6   6ef3     MOVWF     0xf3,0x0                                                                                        
0000c8   0e06     MOVLW     0x6                                                                                             
0000ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
0000cc   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0000ce   cfd9     MOVFF     0xfd9,0xfe9             while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
0000d0   ffe9                                                                                                               
0000d2   cfda     MOVFF     0xfda,0xfea                                                                                     
0000d4   ffea                                                                                                               
0000d6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000d8   ffe6                                                                                                               
0000da   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000dc   ffe6                                                                                                               
0000de   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000e0   ffe6                                                                                                               
0000e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000e4   ffe6                                                                                                               
0000e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000e8   ffe6                                                                                                               
0000ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000ec   ffe6                                                                                                               
0000ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000f0   ffe6                                                                                                               
0000f2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000f4   ffe6                                                                                                               
0000f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000f8   ffe6                                                                                                               
0000fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0000fc   ffe6                                                                                                               
0000fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
000100   ffe6                                                                                                               
000102   cfee     MOVFF     0xfee,0xfe6                                                                                     
000104   ffe6                                                                                                               
000106   cfee     MOVFF     0xfee,0xfe6                                                                                     
000108   ffe6                                                                                                               
00010a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00010c   ffe6                                                                                                               
00010e   ec1f     CALL      0xa3e,0x0                                                                                       
000110   f005                                                                                                               
000112   6e00     MOVWF     0x0,0x0                                                                                         
000114   0e0e     MOVLW     0xe                                                                                             
000116   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000118   5000     MOVF      0x0,0x0,0x0                                                                                     
00011a   0900     IORLW     0x0                                                                                             
00011c   e1a0     BNZ       0x5e                                                                                            
00011e   d7d7     BRA       0xce                                                                                            
                                                                                                                            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
000120   cfd8     MOVFF     0xfd8,0xfe4    void HighISR(void)                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000122   ffe4                                                                                                               
000124   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
000126   ffe4                                                                                                               
000128   6ee4     MOVWF     0xe4,0x0                                                                                        
00012a   cfda     MOVFF     0xfda,0xfe4                                                                                     
00012c   ffe4                                                                                                               
00012e   cfe2     MOVFF     0xfe2,0xfda                                                                                     
000130   ffda                                                                                                               
000132   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
000134   ffe4                                                                                                               
000136   cfea     MOVFF     0xfea,0xfe4                                                                                     
000138   ffe4                                                                                                               
00013a   cff6     MOVFF     0xff6,0xfe4                                                                                     
00013c   ffe4                                                                                                               
00013e   cff7     MOVFF     0xff7,0xfe4                                                                                     
000140   ffe4                                                                                                               
000142   cff5     MOVFF     0xff5,0xfe4                                                                                     
000144   ffe4                                                                                                               
000146   cff3     MOVFF     0xff3,0xfe4                                                                                     
000148   ffe4                                                                                                               
00014a   cff4     MOVFF     0xff4,0xfe4                                                                                     
00014c   ffe4                                                                                                               
00014e   cffa     MOVFF     0xffa,0xfe4                                                                                     
000150   ffe4                                                                                                               
000152   ee00     LFSR      0x0,0x14                                                                                        
000154   f014                                                                                                               
000156   0e0b     MOVLW     0xb                                                                                             
000158   04e8     DECF      0xe8,0x0,0x0                                                                                    
00015a   e303     BNC       0x162                                                                                           
00015c   cfee     MOVFF     0xfee,0xfe4                                                                                     
00015e   ffe4                                                                                                               
000160   d7fb     BRA       0x158                                                                                           
000162   ee00     LFSR      0x0,0x0                                                                                         
000164   f000                                                                                                               
000166   0e14     MOVLW     0x14                                                                                            
000168   04e8     DECF      0xe8,0x0,0x0                                                                                    
00016a   e303     BNC       0x172                                                                                           
00016c   cfee     MOVFF     0xfee,0xfe4                                                                                     
00016e   ffe4                                                                                                               
000170   d7fb     BRA       0x168                                                                                           
000172   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
000174   ece5     CALL      0x7ca,0x0           canISR();                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
000176   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
000178   ecab     CALL      0xd56,0x0           uartISR();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
00017a   f006                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00017c   ec23     CALL      0xe46,0x0       tickUpdate();                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
00017e   f007                                                                                                               
000180   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000182   ee00     LFSR      0x0,0x13                                                                                        
000184   f013                                                                                                               
000186   0e14     MOVLW     0x14                                                                                            
000188   04e8     DECF      0xe8,0x0,0x0                                                                                    
00018a   e303     BNC       0x192                                                                                           
00018c   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00018e   ffed                                                                                                               
000190   d7fb     BRA       0x188                                                                                           
000192   ee00     LFSR      0x0,0x1e                                                                                        
000194   f01e                                                                                                               
000196   0e0b     MOVLW     0xb                                                                                             
000198   04e8     DECF      0xe8,0x0,0x0                                                                                    
00019a   e303     BNC       0x1a2                                                                                           
00019c   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00019e   ffed                                                                                                               
0001a0   d7fb     BRA       0x198                                                                                           
0001a2   cfe5     MOVFF     0xfe5,0xffa                                                                                     
0001a4   fffa                                                                                                               
0001a6   cfe5     MOVFF     0xfe5,0xff4                                                                                     
0001a8   fff4                                                                                                               
0001aa   cfe5     MOVFF     0xfe5,0xff3                                                                                     
0001ac   fff3                                                                                                               
0001ae   cfe5     MOVFF     0xfe5,0xff5                                                                                     
0001b0   fff5                                                                                                               
0001b2   cfe5     MOVFF     0xfe5,0xff7                                                                                     
0001b4   fff7                                                                                                               
0001b6   cfe5     MOVFF     0xfe5,0xff6                                                                                     
0001b8   fff6                                                                                                               
0001ba   cfe5     MOVFF     0xfe5,0xfea                                                                                     
0001bc   ffea                                                                                                               
0001be   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
0001c0   ffe9                                                                                                               
0001c2   cfe5     MOVFF     0xfe5,0xfda                                                                                     
0001c4   ffda                                                                                                               
0001c6   50e5     MOVF      0xe5,0x0,0x0                                                                                    
0001c8   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
0001ca   ffe0                                                                                                               
0001cc   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
0001ce   ffd8                                                                                                               
0001d0   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   ef90     GOTO      0x120              _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
0001d2   cfd8     MOVFF     0xfd8,0xfe4    void LowISR(void)                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0001d4   ffe4                                                                                                               
0001d6   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
0001d8   ffe4                                                                                                               
0001da   6ee4     MOVWF     0xe4,0x0                                                                                        
0001dc   cfda     MOVFF     0xfda,0xfe4                                                                                     
0001de   ffe4                                                                                                               
0001e0   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0001e2   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
0001e4   cfe5     MOVFF     0xfe5,0xfda                                                                                     
0001e6   ffda                                                                                                               
0001e8   50e5     MOVF      0xe5,0x0,0x0                                                                                    
0001ea   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
0001ec   ffe0                                                                                                               
0001ee   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
0001f0   ffd8                                                                                                               
0001f2   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   efe9     GOTO      0x1d2              _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
0001f4   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
0001f6   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
0001f8   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
0001fa   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0001fc   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
0001fe   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
000200   ffe6                                                                                                               
000202   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000204   ffd9                                                                                                               
000206   0e02     MOVLW     0x2                                                                                             
000208   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
00020a   6ade     CLRF      0xde,0x0        int i=0;                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
00020c   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00020e   0efd     MOVLW     0xfd            uartPutc(UART_START_BYTE);                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
000210   6ee6     MOVWF     0xe6,0x0                                                                                        
000212   ec0b     CALL      0xc16,0x0                                                                                       
000214   f006                                                                                                               
000216   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000218   0ef1     MOVLW     0xf1            uartPutc((BYTE)(cm.ident));                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
00021a   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00021c   ffe6                                                                                                               
00021e   ec0b     CALL      0xc16,0x0                                                                                       
000220   f006                                                                                                               
000222   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000224   0ef1     MOVLW     0xf1            uartPutc((BYTE)(cm.ident>>8));                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
000226   cfdb     MOVFF     0xfdb,0x0                                                                                       
000228   f000                                                                                                               
00022a   0ef2     MOVLW     0xf2                                                                                            
00022c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00022e   f001                                                                                                               
000230   0ef3     MOVLW     0xf3                                                                                            
000232   cfdb     MOVFF     0xfdb,0x2                                                                                       
000234   f002                                                                                                               
000236   0ef4     MOVLW     0xf4                                                                                            
000238   cfdb     MOVFF     0xfdb,0x3                                                                                       
00023a   f003                                                                                                               
00023c   0e08     MOVLW     0x8                                                                                             
00023e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000240   3203     RRCF      0x3,0x1,0x0                                                                                     
000242   3202     RRCF      0x2,0x1,0x0                                                                                     
000244   3201     RRCF      0x1,0x1,0x0                                                                                     
000246   3200     RRCF      0x0,0x1,0x0                                                                                     
000248   06e8     DECF      0xe8,0x1,0x0                                                                                    
00024a   e1f9     BNZ       0x23e                                                                                           
00024c   5000     MOVF      0x0,0x0,0x0                                                                                     
00024e   6ee6     MOVWF     0xe6,0x0                                                                                        
000250   ec0b     CALL      0xc16,0x0                                                                                       
000252   f006                                                                                                               
000254   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000256   0ef1     MOVLW     0xf1            uartPutc((BYTE)(cm.ident>>16));                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
000258   cfdb     MOVFF     0xfdb,0x0                                                                                       
00025a   f000                                                                                                               
00025c   0ef2     MOVLW     0xf2                                                                                            
00025e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000260   f001                                                                                                               
000262   0ef3     MOVLW     0xf3                                                                                            
000264   cfdb     MOVFF     0xfdb,0x2                                                                                       
000266   f002                                                                                                               
000268   0ef4     MOVLW     0xf4                                                                                            
00026a   cfdb     MOVFF     0xfdb,0x3                                                                                       
00026c   f003                                                                                                               
00026e   0e10     MOVLW     0x10                                                                                            
000270   90d8     BCF       0xd8,0x0,0x0                                                                                    
000272   3203     RRCF      0x3,0x1,0x0                                                                                     
000274   3202     RRCF      0x2,0x1,0x0                                                                                     
000276   3201     RRCF      0x1,0x1,0x0                                                                                     
000278   3200     RRCF      0x0,0x1,0x0                                                                                     
00027a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00027c   e1f9     BNZ       0x270                                                                                           
00027e   5000     MOVF      0x0,0x0,0x0                                                                                     
000280   6ee6     MOVWF     0xe6,0x0                                                                                        
000282   ec0b     CALL      0xc16,0x0                                                                                       
000284   f006                                                                                                               
000286   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000288   0ef1     MOVLW     0xf1            uartPutc((BYTE)(cm.ident>>24));                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
00028a   cfdb     MOVFF     0xfdb,0x0                                                                                       
00028c   f000                                                                                                               
00028e   0ef2     MOVLW     0xf2                                                                                            
000290   cfdb     MOVFF     0xfdb,0x1                                                                                       
000292   f001                                                                                                               
000294   0ef3     MOVLW     0xf3                                                                                            
000296   cfdb     MOVFF     0xfdb,0x2                                                                                       
000298   f002                                                                                                               
00029a   0ef4     MOVLW     0xf4                                                                                            
00029c   cfdb     MOVFF     0xfdb,0x3                                                                                       
00029e   f003                                                                                                               
0002a0   0e18     MOVLW     0x18                                                                                            
0002a2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0002a4   3203     RRCF      0x3,0x1,0x0                                                                                     
0002a6   3202     RRCF      0x2,0x1,0x0                                                                                     
0002a8   3201     RRCF      0x1,0x1,0x0                                                                                     
0002aa   3200     RRCF      0x0,0x1,0x0                                                                                     
0002ac   06e8     DECF      0xe8,0x1,0x0                                                                                    
0002ae   e1f9     BNZ       0x2a2                                                                                           
0002b0   5000     MOVF      0x0,0x0,0x0                                                                                     
0002b2   6ee6     MOVWF     0xe6,0x0                                                                                        
0002b4   ec0b     CALL      0xc16,0x0                                                                                       
0002b6   f006                                                                                                               
0002b8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0002ba   0ef5     MOVLW     0xf5            uartPutc(cm.extended);                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
0002bc   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0002be   ffe6                                                                                                               
0002c0   ec0b     CALL      0xc16,0x0                                                                                       
0002c2   f006                                                                                                               
0002c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0002c6   0ef6     MOVLW     0xf6            uartPutc(cm.data_length);                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
0002c8   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0002ca   ffe6                                                                                                               
0002cc   ec0b     CALL      0xc16,0x0                                                                                       
0002ce   f006                                                                                                               
0002d0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0002d2   6ade     CLRF      0xde,0x0        for(i=0;i<8;i++) uartPutc(cm.data[cm.data_length-i-1]);                         F:\MCP\projects\CAN\canNode\Source\Main.c
0002d4   6add     CLRF      0xdd,0x0                                                                                        
0002d6   cfde     MOVFF     0xfde,0x0                                                                                       
0002d8   f000                                                                                                               
0002da   cfdd     MOVFF     0xfdd,0x1                                                                                       
0002dc   f001                                                                                                               
0002de   90d8     BCF       0xd8,0x0,0x0                                                                                    
0002e0   5001     MOVF      0x1,0x0,0x0                                                                                     
0002e2   e604     BN        0x2ec                                                                                           
0002e4   0e08     MOVLW     0x8                                                                                             
0002e6   5c00     SUBWF     0x0,0x0,0x0                                                                                     
0002e8   0e00     MOVLW     0x0                                                                                             
0002ea   5801     SUBWFB    0x1,0x0,0x0                                                                                     
0002ec   e223     BC        0x334                                                                                           
0002ee   50d9     MOVF      0xd9,0x0,0x0                                                                                    
0002f0   0ff7     ADDLW     0xf7                                                                                            
0002f2   6e00     MOVWF     0x0,0x0                                                                                         
0002f4   0eff     MOVLW     0xff                                                                                            
0002f6   20da     ADDWFC    0xda,0x0,0x0                                                                                    
0002f8   6e01     MOVWF     0x1,0x0                                                                                         
0002fa   0ef6     MOVLW     0xf6                                                                                            
0002fc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0002fe   6e04     MOVWF     0x4,0x0                                                                                         
000300   6a05     CLRF      0x5,0x0                                                                                         
000302   50de     MOVF      0xde,0x0,0x0                                                                                    
000304   5c04     SUBWF     0x4,0x0,0x0                                                                                     
000306   6e02     MOVWF     0x2,0x0                                                                                         
000308   50dd     MOVF      0xdd,0x0,0x0                                                                                    
00030a   5805     SUBWFB    0x5,0x0,0x0                                                                                     
00030c   6e03     MOVWF     0x3,0x0                                                                                         
00030e   0602     DECF      0x2,0x1,0x0                                                                                     
000310   0e00     MOVLW     0x0                                                                                             
000312   5a03     SUBWFB    0x3,0x1,0x0                                                                                     
000314   5000     MOVF      0x0,0x0,0x0                                                                                     
000316   2402     ADDWF     0x2,0x0,0x0                                                                                     
000318   6ee9     MOVWF     0xe9,0x0                                                                                        
00031a   5001     MOVF      0x1,0x0,0x0                                                                                     
00031c   2003     ADDWFC    0x3,0x0,0x0                                                                                     
00031e   6eea     MOVWF     0xea,0x0                                                                                        
000320   50ef     MOVF      0xef,0x0,0x0                                                                                    
000322   6ee6     MOVWF     0xe6,0x0                                                                                        
000324   ec0b     CALL      0xc16,0x0                                                                                       
000326   f006                                                                                                               
000328   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00032a   2adf     INCF      0xdf,0x1,0x0                                                                                    
00032c   0e01     MOVLW     0x1                                                                                             
00032e   e3d3     BNC       0x2d6                                                                                           
000330   2adb     INCF      0xdb,0x1,0x0                                                                                    
000332   d7d1     BRA       0x2d6                                                                                           
000334   0efa     MOVLW     0xfa            uartPutc(UART_END_BYTE);                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
000336   6ee6     MOVWF     0xe6,0x0                                                                                        
000338   ec0b     CALL      0xc16,0x0                                                                                       
00033a   f006                                                                                                               
00033c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00033e   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000340   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000342   e202     BC        0x348                                                                                           
000344   6ae1     CLRF      0xe1,0x0                                                                                        
000346   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000348   6ee1     MOVWF     0xe1,0x0                                                                                        
00034a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00034c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00034e   ffd9                                                                                                               
000350   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
000352   cfd9     MOVFF     0xfd9,0xfe6    void uartParse(BYTE c)                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
000354   ffe6                                                                                                               
000356   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000358   ffd9                                                                                                               
00035a   0e11     MOVLW     0x11                                                                                            
00035c   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
                                            BYTE i;                                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
00035e   0e01     MOVLW     0x1             unsigned int wait = 0;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
000360   6adb     CLRF      0xdb,0x0                                                                                        
000362   0e02     MOVLW     0x2                                                                                             
000364   6adb     CLRF      0xdb,0x0                                                                                        
                                            CAN_MESSAGE cm;                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
                                            static BOOL waitingMessage = FALSE;                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                            static TICK timeout;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                            static BYTE count;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000366   0100     MOVLB     0x0             if (waitingMessage==TRUE && (tickGet()-timeout)>TICK_SECOND/20)                 F:\MCP\projects\CAN\canNode\Source\Main.c
000368   056f     DECF      0x6f,0x0,0x1                                                                                    
00036a   e11b     BNZ       0x3a2                                                                                           
00036c   ec1a     CALL      0xe34,0x0                                                                                       
00036e   f007                                                                                                               
000370   0100     MOVLB     0x0                                                                                             
000372   5170     MOVF      0x70,0x0,0x1                                                                                    
000374   5c18     SUBWF     0x18,0x0,0x0                                                                                    
000376   6e00     MOVWF     0x0,0x0                                                                                         
000378   5171     MOVF      0x71,0x0,0x1                                                                                    
00037a   5819     SUBWFB    0x19,0x0,0x0                                                                                    
00037c   6e01     MOVWF     0x1,0x0                                                                                         
00037e   5172     MOVF      0x72,0x0,0x1                                                                                    
000380   581a     SUBWFB    0x1a,0x0,0x0                                                                                    
000382   6e02     MOVWF     0x2,0x0                                                                                         
000384   5173     MOVF      0x73,0x0,0x1                                                                                    
000386   581b     SUBWFB    0x1b,0x0,0x0                                                                                    
000388   6e03     MOVWF     0x3,0x0                                                                                         
00038a   80d8     BSF       0xd8,0x0,0x0                                                                                    
00038c   0e05     MOVLW     0x5                                                                                             
00038e   5400     SUBFWB    0x0,0x0,0x0                                                                                     
000390   0e00     MOVLW     0x0                                                                                             
000392   5401     SUBFWB    0x1,0x0,0x0                                                                                     
000394   0e00     MOVLW     0x0                                                                                             
000396   5402     SUBFWB    0x2,0x0,0x0                                                                                     
000398   0e00     MOVLW     0x0                                                                                             
00039a   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00039c   e202     BC        0x3a2                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00039e   0100     MOVLB     0x0                 waitingMessage=FALSE;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
0003a0   6b6f     CLRF      0x6f,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0003a2   0100     MOVLB     0x0             if (waitingMessage==TRUE)                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
0003a4   056f     DECF      0x6f,0x0,0x1                                                                                    
0003a6   e001     BZ        0x3aa                                                                                           
0003a8   d08c     BRA       0x4c2                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0003aa   ec1a     CALL      0xe34,0x0           timeout=tickGet();                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0003ac   f007                                                                                                               
0003ae   c018     MOVFF     0x18,0x70                                                                                       
0003b0   f070                                                                                                               
0003b2   c019     MOVFF     0x19,0x71                                                                                       
0003b4   f071                                                                                                               
0003b6   c01a     MOVFF     0x1a,0x72                                                                                       
0003b8   f072                                                                                                               
0003ba   c01b     MOVFF     0x1b,0x73                                                                                       
0003bc   f073                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                // UART END                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
0003be   0e0e     MOVLW     0xe                 if(count>=14)                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
0003c0   0100     MOVLB     0x0                                                                                             
0003c2   5d74     SUBWF     0x74,0x0,0x1                                                                                    
0003c4   e335     BNC       0x430                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
0003c6   0efe     MOVLW     0xfe                    if (c==UART_END_BYTE)                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
0003c8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0003ca   6e00     MOVWF     0x0,0x0                                                                                         
0003cc   6a01     CLRF      0x1,0x0                                                                                         
0003ce   0efa     MOVLW     0xfa                                                                                            
0003d0   1800     XORWF     0x0,0x0,0x0                                                                                     
0003d2   e12b     BNZ       0x42a                                                                                           
0003d4   5001     MOVF      0x1,0x0,0x0                                                                                     
0003d6   e129     BNZ       0x42a                                                                                           
                                                    {                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0003d8   50d9     MOVF      0xd9,0x0,0x0                while(!canSendMessage(cm));                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
0003da   0f03     ADDLW     0x3                                                                                             
0003dc   6ee9     MOVWF     0xe9,0x0                                                                                        
0003de   cfda     MOVFF     0xfda,0xfea                                                                                     
0003e0   ffea                                                                                                               
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   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003f4   ffe6                                                                                                               
0003f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003f8   ffe6                                                                                                               
0003fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003fc   ffe6                                                                                                               
0003fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
000400   ffe6                                                                                                               
000402   cfee     MOVFF     0xfee,0xfe6                                                                                     
000404   ffe6                                                                                                               
000406   cfee     MOVFF     0xfee,0xfe6                                                                                     
000408   ffe6                                                                                                               
00040a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00040c   ffe6                                                                                                               
00040e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000410   ffe6                                                                                                               
000412   cfee     MOVFF     0xfee,0xfe6                                                                                     
000414   ffe6                                                                                                               
000416   cfee     MOVFF     0xfee,0xfe6                                                                                     
000418   ffe6                                                                                                               
00041a   ec1f     CALL      0xa3e,0x0                                                                                       
00041c   f005                                                                                                               
00041e   6e00     MOVWF     0x0,0x0                                                                                         
000420   0e0e     MOVLW     0xe                                                                                             
000422   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000424   5000     MOVF      0x0,0x0,0x0                                                                                     
000426   0900     IORLW     0x0                                                                                             
000428   e0d7     BZ        0x3d8                                                                                           
                                                    }                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
00042a   0100     MOVLB     0x0                     waitingMessage=FALSE;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
00042c   6b6f     CLRF      0x6f,0x1                                                                                        
00042e   d198     BRA       0x760                   return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                // data                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
000430   0e06     MOVLW     0x6                 if(count>=6)                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
000432   5d74     SUBWF     0x74,0x0,0x1                                                                                    
000434   e30f     BNC       0x454                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
000436   50d9     MOVF      0xd9,0x0,0x0            cm.data[count-6]=c;                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
000438   0f09     ADDLW     0x9                                                                                             
00043a   6e00     MOVWF     0x0,0x0                                                                                         
00043c   0e06     MOVLW     0x6                                                                                             
00043e   5d74     SUBWF     0x74,0x0,0x1                                                                                    
000440   010f     MOVLB     0xf                                                                                             
000442   2400     ADDWF     0x0,0x0,0x0                                                                                     
000444   6ee9     MOVWF     0xe9,0x0                                                                                        
000446   0e00     MOVLW     0x0                                                                                             
000448   20da     ADDWFC    0xda,0x0,0x0                                                                                    
00044a   6eea     MOVWF     0xea,0x0                                                                                        
00044c   0efe     MOVLW     0xfe                                                                                            
00044e   cfdb     MOVFF     0xfdb,0xfef                                                                                     
000450   ffef                                                                                                               
                                                    count++;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
000452   d034     BRA       0x4bc                   return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                // data length                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
000454   0e05     MOVLW     0x5                 if(count>=5)                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
000456   5d74     SUBWF     0x74,0x0,0x1                                                                                    
000458   e305     BNC       0x464                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
00045a   0efe     MOVLW     0xfe                    cm.data_length=c;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
00045c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00045e   6ee7     MOVWF     0xe7,0x0                                                                                        
000460   0e08     MOVLW     0x8                                                                                             
                                                    count++;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
000462   d007     BRA       0x472                   return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                // extended                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
000464   0e04     MOVLW     0x4                 if(count>=4)                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
000466   5d74     SUBWF     0x74,0x0,0x1                                                                                    
000468   e307     BNC       0x478                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
00046a   0efe     MOVLW     0xfe                    cm.extended=c;                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
00046c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00046e   6ee7     MOVWF     0xe7,0x0                                                                                        
000470   0e07     MOVLW     0x7                                                                                             
000472   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000474   ffdb                                                                                                               
                                                    count++;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
000476   d023     BRA       0x4be                   return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                // ident                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
000478   0e00     MOVLW     0x0                 if(count>=0)                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
00047a   5d74     SUBWF     0x74,0x0,0x1                                                                                    
00047c   e322     BNC       0x4c2                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
00047e   0efe     MOVLW     0xfe                    cm.ident+=((DWORD)c<<(count*8));                                              F:\MCP\projects\CAN\canNode\Source\Main.c
000480   cfdb     MOVFF     0xfdb,0x0                                                                                       
000482   f000                                                                                                               
000484   6a01     CLRF      0x1,0x0                                                                                         
000486   6a02     CLRF      0x2,0x0                                                                                         
000488   6a03     CLRF      0x3,0x0                                                                                         
00048a   0e08     MOVLW     0x8                                                                                             
00048c   0374     MULWF     0x74,0x1                                                                                        
00048e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000490   0b1f     ANDLW     0x1f                                                                                            
000492   e007     BZ        0x4a2                                                                                           
000494   90d8     BCF       0xd8,0x0,0x0                                                                                    
000496   3600     RLCF      0x0,0x1,0x0                                                                                     
000498   3601     RLCF      0x1,0x1,0x0                                                                                     
00049a   3602     RLCF      0x2,0x1,0x0                                                                                     
00049c   3603     RLCF      0x3,0x1,0x0                                                                                     
00049e   06e8     DECF      0xe8,0x1,0x0                                                                                    
0004a0   e1f9     BNZ       0x494                                                                                           
0004a2   50d9     MOVF      0xd9,0x0,0x0                                                                                    
0004a4   0f03     ADDLW     0x3                                                                                             
0004a6   6ee9     MOVWF     0xe9,0x0                                                                                        
0004a8   cfda     MOVFF     0xfda,0xfea                                                                                     
0004aa   ffea                                                                                                               
0004ac   5000     MOVF      0x0,0x0,0x0                                                                                     
0004ae   26ee     ADDWF     0xee,0x1,0x0                                                                                    
0004b0   5001     MOVF      0x1,0x0,0x0                                                                                     
0004b2   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
0004b4   5002     MOVF      0x2,0x0,0x0                                                                                     
0004b6   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
0004b8   5003     MOVF      0x3,0x0,0x0                                                                                     
0004ba   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
0004bc   0100     MOVLB     0x0                     count++;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
0004be   2b74     INCF      0x74,0x1,0x1                                                                                    
0004c0   d14f     BRA       0x760                   return;                                                                       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
0004c2   0efe     MOVLW     0xfe            if (c==UART_START_BYTE && waitingMessage==FALSE)                                F:\MCP\projects\CAN\canNode\Source\Main.c
0004c4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004c6   6e00     MOVWF     0x0,0x0                                                                                         
0004c8   6a01     CLRF      0x1,0x0                                                                                         
0004ca   0efd     MOVLW     0xfd                                                                                            
0004cc   1800     XORWF     0x0,0x0,0x0                                                                                     
0004ce   e11c     BNZ       0x508                                                                                           
0004d0   5001     MOVF      0x1,0x0,0x0                                                                                     
0004d2   e11a     BNZ       0x508                                                                                           
0004d4   0100     MOVLB     0x0                                                                                             
0004d6   516f     MOVF      0x6f,0x0,0x1                                                                                    
0004d8   e117     BNZ       0x508                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0004da   0e01     MOVLW     0x1                     waitingMessage=TRUE;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
0004dc   6f6f     MOVWF     0x6f,0x1                                                                                        
0004de   ec1a     CALL      0xe34,0x0               timeout=tickGet();                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0004e0   f007                                                                                                               
0004e2   c018     MOVFF     0x18,0x70                                                                                       
0004e4   f070                                                                                                               
0004e6   c019     MOVFF     0x19,0x71                                                                                       
0004e8   f071                                                                                                               
0004ea   c01a     MOVFF     0x1a,0x72                                                                                       
0004ec   f072                                                                                                               
0004ee   c01b     MOVFF     0x1b,0x73                                                                                       
0004f0   f073                                                                                                               
0004f2   0100     MOVLB     0x0                     count=0;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
0004f4   6b74     CLRF      0x74,0x1                                                                                        
0004f6   0e03     MOVLW     0x3                     cm.ident=0;                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
0004f8   6adb     CLRF      0xdb,0x0                                                                                        
0004fa   0e04     MOVLW     0x4                                                                                             
0004fc   6adb     CLRF      0xdb,0x0                                                                                        
0004fe   0e05     MOVLW     0x5                                                                                             
000500   6adb     CLRF      0xdb,0x0                                                                                        
000502   0e06     MOVLW     0x6                                                                                             
000504   6adb     CLRF      0xdb,0x0                                                                                        
000506   d12c     BRA       0x760                   return;                                                                       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
                                                    for(i=0;i<4;i++)                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    {                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        wait = 0;                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        while(!uartDataRedy())                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        {                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                                            if(wait < UART_READ_TIMEOUT) wait++;                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                            else return;                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        }                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        cm.ident += uartGet()<<(i*8);                                                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
                                                    wait = 0;                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    while(!uartDataRedy())                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    {                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        if(wait < UART_READ_TIMEOUT) wait++ ;                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        else return;                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    }                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    cm.extended= uartGet();                                                       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
                                                    wait = 0;                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    while(!uartDataRedy())                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    {                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        if(wait < UART_READ_TIMEOUT) wait++ ;                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        else return;                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    }                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    cm.data_length= uartGet();                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    for(i=0;i<4;i++)                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    {                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        wait = 0;                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        while(!uartDataRedy())                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        {                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                                            if(wait < UART_READ_TIMEOUT) wait++ ;                              F:\MCP\projects\CAN\canNode\Source\Main.c
                                                            else return;                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        }                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        cm.data[i]=uartGet();                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    }                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    wait = 0;                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    while(!uartDataRedy())                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    {                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        if(wait < UART_READ_TIMEOUT) wait++ ;                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                        else return;                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    }                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    if (uartGet()!=UART_END_BYTE) return;                                         F:\MCP\projects\CAN\canNode\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    /*                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    if (uartGets(&cm.ident,4,UART_READ_TIMEOUT)) return;                          F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    if (uartGets(&cm.extended,1,UART_READ_TIMEOUT)) return;                       F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    if (uartGets(&cm.data_length,1,UART_READ_TIMEOUT)) return;                    F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    if (uartGets(cm.data,8,UART_READ_TIMEOUT)) return;                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    if (uartGets(&i,1,UART_READ_TIMEOUT)) return;                                 F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    if (i!=UART_END_BYTE) return;                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
                                                    */                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
                                                //  while(!canSendMessage(cm));                                                 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
000508   0efe     MOVLW     0xfe            if(c=='1' && waitingMessage==FALSE)                                             F:\MCP\projects\CAN\canNode\Source\Main.c
00050a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00050c   0831     SUBLW     0x31                                                                                            
00050e   e155     BNZ       0x5ba                                                                                           
000510   0100     MOVLB     0x0                                                                                             
000512   516f     MOVF      0x6f,0x0,0x1                                                                                    
000514   e152     BNZ       0x5ba                                                                                           
                                            {                                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
000516   0e23     MOVLW     0x23                    cm.ident=0x00000123;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
000518   6ef3     MOVWF     0xf3,0x0                                                                                        
00051a   0e03     MOVLW     0x3                                                                                             
00051c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00051e   ffdb                                                                                                               
000520   0e01     MOVLW     0x1                                                                                             
000522   6ef3     MOVWF     0xf3,0x0                                                                                        
000524   0e04     MOVLW     0x4                                                                                             
000526   cff3     MOVFF     0xff3,0xfdb                                                                                     
000528   ffdb                                                                                                               
00052a   0e05     MOVLW     0x5                                                                                             
00052c   6adb     CLRF      0xdb,0x0                                                                                        
00052e   0e06     MOVLW     0x6                                                                                             
000530   6adb     CLRF      0xdb,0x0                                                                                        
000532   0e07     MOVLW     0x7                     cm.extended=FALSE;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000534   6adb     CLRF      0xdb,0x0                                                                                        
000536   0e04     MOVLW     0x4                     cm.data_length=4;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
000538   6ef3     MOVWF     0xf3,0x0                                                                                        
00053a   0e08     MOVLW     0x8                                                                                             
00053c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00053e   ffdb                                                                                                               
000540   0e21     MOVLW     0x21                    cm.data[0]='!';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000542   6ef3     MOVWF     0xf3,0x0                                                                                        
000544   0e09     MOVLW     0x9                                                                                             
000546   cff3     MOVFF     0xff3,0xfdb                                                                                     
000548   ffdb                                                                                                               
00054a   0e6a     MOVLW     0x6a                    cm.data[1]='j';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00054c   6ef3     MOVWF     0xf3,0x0                                                                                        
00054e   0e0a     MOVLW     0xa                                                                                             
000550   cff3     MOVFF     0xff3,0xfdb                                                                                     
000552   ffdb                                                                                                               
000554   0e65     MOVLW     0x65                    cm.data[2]='e';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000556   6ef3     MOVWF     0xf3,0x0                                                                                        
000558   0e0b     MOVLW     0xb                                                                                             
00055a   cff3     MOVFF     0xff3,0xfdb                                                                                     
00055c   ffdb                                                                                                               
00055e   0e48     MOVLW     0x48                    cm.data[3]='H';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000560   6ef3     MOVWF     0xf3,0x0                                                                                        
000562   0e0c     MOVLW     0xc                                                                                             
000564   cff3     MOVFF     0xff3,0xfdb                                                                                     
000566   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
000568   50d9     MOVF      0xd9,0x0,0x0            while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
00056a   0f03     ADDLW     0x3                                                                                             
00056c   6ee9     MOVWF     0xe9,0x0                                                                                        
00056e   cfda     MOVFF     0xfda,0xfea                                                                                     
000570   ffea                                                                                                               
000572   cfee     MOVFF     0xfee,0xfe6                                                                                     
000574   ffe6                                                                                                               
000576   cfee     MOVFF     0xfee,0xfe6                                                                                     
000578   ffe6                                                                                                               
00057a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00057c   ffe6                                                                                                               
00057e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000580   ffe6                                                                                                               
000582   cfee     MOVFF     0xfee,0xfe6                                                                                     
000584   ffe6                                                                                                               
000586   cfee     MOVFF     0xfee,0xfe6                                                                                     
000588   ffe6                                                                                                               
00058a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00058c   ffe6                                                                                                               
00058e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000590   ffe6                                                                                                               
000592   cfee     MOVFF     0xfee,0xfe6                                                                                     
000594   ffe6                                                                                                               
000596   cfee     MOVFF     0xfee,0xfe6                                                                                     
000598   ffe6                                                                                                               
00059a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00059c   ffe6                                                                                                               
00059e   cfee     MOVFF     0xfee,0xfe6                                                                                     
0005a0   ffe6                                                                                                               
0005a2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0005a4   ffe6                                                                                                               
0005a6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0005a8   ffe6                                                                                                               
0005aa   ec1f     CALL      0xa3e,0x0                                                                                       
0005ac   f005                                                                                                               
0005ae   6e00     MOVWF     0x0,0x0                                                                                         
0005b0   0e0e     MOVLW     0xe                                                                                             
0005b2   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0005b4   5000     MOVF      0x0,0x0,0x0                                                                                     
0005b6   0900     IORLW     0x0                                                                                             
0005b8   e0d7     BZ        0x568                                                                                           
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0005ba   0efe     MOVLW     0xfe            if(c=='2' && waitingMessage==FALSE)                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0005bc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0005be   0832     SUBLW     0x32                                                                                            
0005c0   e16f     BNZ       0x6a0                                                                                           
0005c2   0100     MOVLB     0x0                                                                                             
0005c4   516f     MOVF      0x6f,0x0,0x1                                                                                    
0005c6   e16c     BNZ       0x6a0                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0005c8   0ef0     MOVLW     0xf0                    cm.ident=0x0ABCDEF0;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
0005ca   6ef3     MOVWF     0xf3,0x0                                                                                        
0005cc   0e03     MOVLW     0x3                                                                                             
0005ce   cff3     MOVFF     0xff3,0xfdb                                                                                     
0005d0   ffdb                                                                                                               
0005d2   0ede     MOVLW     0xde                                                                                            
0005d4   6ef3     MOVWF     0xf3,0x0                                                                                        
0005d6   0e04     MOVLW     0x4                                                                                             
0005d8   cff3     MOVFF     0xff3,0xfdb                                                                                     
0005da   ffdb                                                                                                               
0005dc   0ebc     MOVLW     0xbc                                                                                            
0005de   6ef3     MOVWF     0xf3,0x0                                                                                        
0005e0   0e05     MOVLW     0x5                                                                                             
0005e2   cff3     MOVFF     0xff3,0xfdb                                                                                     
0005e4   ffdb                                                                                                               
0005e6   0e0a     MOVLW     0xa                                                                                             
0005e8   6ef3     MOVWF     0xf3,0x0                                                                                        
0005ea   0e06     MOVLW     0x6                                                                                             
0005ec   cff3     MOVFF     0xff3,0xfdb                                                                                     
0005ee   ffdb                                                                                                               
0005f0   0e01     MOVLW     0x1                     cm.extended=TRUE;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0005f2   6ef3     MOVWF     0xf3,0x0                                                                                        
0005f4   0e07     MOVLW     0x7                                                                                             
0005f6   cff3     MOVFF     0xff3,0xfdb                                                                                     
0005f8   ffdb                                                                                                               
0005fa   0e08     MOVLW     0x8                     cm.data_length=8;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0005fc   6edb     MOVWF     0xdb,0x0                                                                                        
0005fe   0e21     MOVLW     0x21                    cm.data[0]='!';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000600   6ef3     MOVWF     0xf3,0x0                                                                                        
000602   0e09     MOVLW     0x9                                                                                             
000604   cff3     MOVFF     0xff3,0xfdb                                                                                     
000606   ffdb                                                                                                               
000608   0e67     MOVLW     0x67                    cm.data[1]='g';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00060a   6ef3     MOVWF     0xf3,0x0                                                                                        
00060c   0e0a     MOVLW     0xa                                                                                             
00060e   cff3     MOVFF     0xff3,0xfdb                                                                                     
000610   ffdb                                                                                                               
000612   0e61     MOVLW     0x61                    cm.data[2]='a';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000614   6ef3     MOVWF     0xf3,0x0                                                                                        
000616   0e0b     MOVLW     0xb                                                                                             
000618   cff3     MOVFF     0xff3,0xfdb                                                                                     
00061a   ffdb                                                                                                               
00061c   0e64     MOVLW     0x64                    cm.data[3]='d';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00061e   6ef3     MOVWF     0xf3,0x0                                                                                        
000620   0e0c     MOVLW     0xc                                                                                             
000622   cff3     MOVFF     0xff3,0xfdb                                                                                     
000624   ffdb                                                                                                               
000626   0e20     MOVLW     0x20                    cm.data[4]=' ';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000628   6ef3     MOVWF     0xf3,0x0                                                                                        
00062a   0e0d     MOVLW     0xd                                                                                             
00062c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00062e   ffdb                                                                                                               
000630   0e64     MOVLW     0x64                    cm.data[5]='d';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000632   6ef3     MOVWF     0xf3,0x0                                                                                        
000634   0e0e     MOVLW     0xe                                                                                             
000636   cff3     MOVFF     0xff3,0xfdb                                                                                     
000638   ffdb                                                                                                               
00063a   0e6f     MOVLW     0x6f                    cm.data[6]='o';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
00063c   6ef3     MOVWF     0xf3,0x0                                                                                        
00063e   0e0f     MOVLW     0xf                                                                                             
000640   cff3     MOVFF     0xff3,0xfdb                                                                                     
000642   ffdb                                                                                                               
000644   0e47     MOVLW     0x47                    cm.data[7]='G';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000646   6ef3     MOVWF     0xf3,0x0                                                                                        
000648   0e10     MOVLW     0x10                                                                                            
00064a   cff3     MOVFF     0xff3,0xfdb                                                                                     
00064c   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00064e   50d9     MOVF      0xd9,0x0,0x0            while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
000650   0f03     ADDLW     0x3                                                                                             
000652   6ee9     MOVWF     0xe9,0x0                                                                                        
000654   cfda     MOVFF     0xfda,0xfea                                                                                     
000656   ffea                                                                                                               
000658   cfee     MOVFF     0xfee,0xfe6                                                                                     
00065a   ffe6                                                                                                               
00065c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00065e   ffe6                                                                                                               
000660   cfee     MOVFF     0xfee,0xfe6                                                                                     
000662   ffe6                                                                                                               
000664   cfee     MOVFF     0xfee,0xfe6                                                                                     
000666   ffe6                                                                                                               
000668   cfee     MOVFF     0xfee,0xfe6                                                                                     
00066a   ffe6                                                                                                               
00066c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00066e   ffe6                                                                                                               
000670   cfee     MOVFF     0xfee,0xfe6                                                                                     
000672   ffe6                                                                                                               
000674   cfee     MOVFF     0xfee,0xfe6                                                                                     
000676   ffe6                                                                                                               
000678   cfee     MOVFF     0xfee,0xfe6                                                                                     
00067a   ffe6                                                                                                               
00067c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00067e   ffe6                                                                                                               
000680   cfee     MOVFF     0xfee,0xfe6                                                                                     
000682   ffe6                                                                                                               
000684   cfee     MOVFF     0xfee,0xfe6                                                                                     
000686   ffe6                                                                                                               
000688   cfee     MOVFF     0xfee,0xfe6                                                                                     
00068a   ffe6                                                                                                               
00068c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00068e   ffe6                                                                                                               
000690   ec1f     CALL      0xa3e,0x0                                                                                       
000692   f005                                                                                                               
000694   6e00     MOVWF     0x0,0x0                                                                                         
000696   0e0e     MOVLW     0xe                                                                                             
000698   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00069a   5000     MOVF      0x0,0x0,0x0                                                                                     
00069c   0900     IORLW     0x0                                                                                             
00069e   e0d7     BZ        0x64e                                                                                           
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0006a0   0efe     MOVLW     0xfe            if(c=='3' && waitingMessage==FALSE)                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0006a2   50db     MOVF      0xdb,0x0,0x0                                                                                    
0006a4   0833     SUBLW     0x33                                                                                            
0006a6   e15c     BNZ       0x760                                                                                           
0006a8   0100     MOVLB     0x0                                                                                             
0006aa   516f     MOVF      0x6f,0x0,0x1                                                                                    
0006ac   e159     BNZ       0x760                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0006ae   0e10     MOVLW     0x10                    cm.ident=0x00000010;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
0006b0   6ef3     MOVWF     0xf3,0x0                                                                                        
0006b2   0e03     MOVLW     0x3                                                                                             
0006b4   cff3     MOVFF     0xff3,0xfdb                                                                                     
0006b6   ffdb                                                                                                               
0006b8   0e04     MOVLW     0x4                                                                                             
0006ba   6adb     CLRF      0xdb,0x0                                                                                        
0006bc   0e05     MOVLW     0x5                                                                                             
0006be   6adb     CLRF      0xdb,0x0                                                                                        
0006c0   0e06     MOVLW     0x6                                                                                             
0006c2   6adb     CLRF      0xdb,0x0                                                                                        
0006c4   0e07     MOVLW     0x7                     cm.extended=FALSE;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
0006c6   6adb     CLRF      0xdb,0x0                                                                                        
0006c8   0e06     MOVLW     0x6                     cm.data_length=6;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
0006ca   6ef3     MOVWF     0xf3,0x0                                                                                        
0006cc   0e08     MOVLW     0x8                                                                                             
0006ce   cff3     MOVFF     0xff3,0xfdb                                                                                     
0006d0   ffdb                                                                                                               
0006d2   0e30     MOVLW     0x30                    cm.data[0]='0';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0006d4   6ef3     MOVWF     0xf3,0x0                                                                                        
0006d6   0e09     MOVLW     0x9                                                                                             
0006d8   cff3     MOVFF     0xff3,0xfdb                                                                                     
0006da   ffdb                                                                                                               
0006dc   0e31     MOVLW     0x31                    cm.data[1]='1';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0006de   6ef3     MOVWF     0xf3,0x0                                                                                        
0006e0   0e0a     MOVLW     0xa                                                                                             
0006e2   cff3     MOVFF     0xff3,0xfdb                                                                                     
0006e4   ffdb                                                                                                               
0006e6   0e32     MOVLW     0x32                    cm.data[2]='2';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0006e8   6ef3     MOVWF     0xf3,0x0                                                                                        
0006ea   0e0b     MOVLW     0xb                                                                                             
0006ec   cff3     MOVFF     0xff3,0xfdb                                                                                     
0006ee   ffdb                                                                                                               
0006f0   0e33     MOVLW     0x33                    cm.data[3]='3';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0006f2   6ef3     MOVWF     0xf3,0x0                                                                                        
0006f4   0e0c     MOVLW     0xc                                                                                             
0006f6   cff3     MOVFF     0xff3,0xfdb                                                                                     
0006f8   ffdb                                                                                                               
0006fa   0e34     MOVLW     0x34                    cm.data[4]='4';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
0006fc   6ef3     MOVWF     0xf3,0x0                                                                                        
0006fe   0e0d     MOVLW     0xd                                                                                             
000700   cff3     MOVFF     0xff3,0xfdb                                                                                     
000702   ffdb                                                                                                               
000704   0e35     MOVLW     0x35                    cm.data[5]='5';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
000706   6ef3     MOVWF     0xf3,0x0                                                                                        
000708   0e0e     MOVLW     0xe                                                                                             
00070a   cff3     MOVFF     0xff3,0xfdb                                                                                     
00070c   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
00070e   50d9     MOVF      0xd9,0x0,0x0            while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
000710   0f03     ADDLW     0x3                                                                                             
000712   6ee9     MOVWF     0xe9,0x0                                                                                        
000714   cfda     MOVFF     0xfda,0xfea                                                                                     
000716   ffea                                                                                                               
000718   cfee     MOVFF     0xfee,0xfe6                                                                                     
00071a   ffe6                                                                                                               
00071c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00071e   ffe6                                                                                                               
000720   cfee     MOVFF     0xfee,0xfe6                                                                                     
000722   ffe6                                                                                                               
000724   cfee     MOVFF     0xfee,0xfe6                                                                                     
000726   ffe6                                                                                                               
000728   cfee     MOVFF     0xfee,0xfe6                                                                                     
00072a   ffe6                                                                                                               
00072c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00072e   ffe6                                                                                                               
000730   cfee     MOVFF     0xfee,0xfe6                                                                                     
000732   ffe6                                                                                                               
000734   cfee     MOVFF     0xfee,0xfe6                                                                                     
000736   ffe6                                                                                                               
000738   cfee     MOVFF     0xfee,0xfe6                                                                                     
00073a   ffe6                                                                                                               
00073c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00073e   ffe6                                                                                                               
000740   cfee     MOVFF     0xfee,0xfe6                                                                                     
000742   ffe6                                                                                                               
000744   cfee     MOVFF     0xfee,0xfe6                                                                                     
000746   ffe6                                                                                                               
000748   cfee     MOVFF     0xfee,0xfe6                                                                                     
00074a   ffe6                                                                                                               
00074c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00074e   ffe6                                                                                                               
000750   ec1f     CALL      0xa3e,0x0                                                                                       
000752   f005                                                                                                               
000754   6e00     MOVWF     0x0,0x0                                                                                         
000756   0e0e     MOVLW     0xe                                                                                             
000758   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00075a   5000     MOVF      0x0,0x0,0x0                                                                                     
00075c   0900     IORLW     0x0                                                                                             
00075e   e0d7     BZ        0x70e                                                                                           
                                            }                                                                               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
000760   0e11     MOVLW     0x11           }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
000762   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000764   e202     BC        0x76a                                                                                           
000766   6ae1     CLRF      0xe1,0x0                                                                                        
000768   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00076a   6ee1     MOVWF     0xe1,0x0                                                                                        
00076c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00076e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000770   ffd9                                                                                                               
000772   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            *                  CAN driver                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            * FileName:        CAN.c                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.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
                                           #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
000774   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000776   6e6f     MOVWF     0x6f,0x0                                                                                        
000778   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canNode\Source\CAN.c
00077a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00077c   0880     SUBLW     0x80                                                                                            
00077e   e1fc     BNZ       0x778                                                                                           
                                                                                                                            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
000780   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
000782   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
000784   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
000786   0e09     MOVLW     0x9             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
000788   1070     IORWF     0x70,0x0,0x0                                                                                    
00078a   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
00078c   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
00078e   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
000790   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
000792   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
000794   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000796   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000798   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
00079a   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
00079c   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
00079e   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
0007a0   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
0007a2   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0007a4   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
0007a6   9e77     BCF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0007a8   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
0007aa   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
0007ac   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
0007ae   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
0007b0   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0007b2   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
0007b4   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
0007b6   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
0007b8   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
0007ba   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
0007bc   0e40     MOVLW     0x40                CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
0007be   6e6f     MOVWF     0x6f,0x0                                                                                        
0007c0   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canNode\Source\CAN.c
0007c2   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0007c4   0840     SUBLW     0x40                                                                                            
0007c6   e1fc     BNZ       0x7c0                                                                                           
                                            #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
0007c8   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
0007ca   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canNode\Source\CAN.c
0007cc   0b02     ANDLW     0x2                                                                                             
0007ce   e106     BNZ       0x7dc                                                                                           
0007d0   50a4     MOVF      0xa4,0x0,0x0                                                                                    
0007d2   0b02     ANDLW     0x2                                                                                             
0007d4   e103     BNZ       0x7dc                                                                                           
0007d6   50a4     MOVF      0xa4,0x0,0x0                                                                                    
0007d8   0b01     ANDLW     0x1                                                                                             
0007da   e03a     BZ        0x850                                                                                           
                                            {                                                                               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
0007dc   ae60     BTFSS     0x60,0x7,0x0             if (RXB0CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10000; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
0007de   d004     BRA       0x7e8                                                                                           
0007e0   0e00     MOVLW     0x0                                                                                             
0007e2   1477     ANDWF     0x77,0x0,0x0                                                                                    
0007e4   0910     IORLW     0x10                                                                                            
0007e6   d02b     BRA       0x83e               else if (RXB1CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10001; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
0007e8   010f     MOVLB     0xf                                                                                             
0007ea   af50     BTFSS     0x50,0x7,0x1                                                                                    
0007ec   d004     BRA       0x7f6                                                                                           
0007ee   0e00     MOVLW     0x0                                                                                             
0007f0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0007f2   0911     IORLW     0x11                                                                                            
0007f4   d024     BRA       0x83e               else if (B0CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10010; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
0007f6   010e     MOVLB     0xe                                                                                             
0007f8   af20     BTFSS     0x20,0x7,0x1                                                                                    
0007fa   d004     BRA       0x804                                                                                           
0007fc   0e00     MOVLW     0x0                                                                                             
0007fe   1477     ANDWF     0x77,0x0,0x0                                                                                    
000800   0912     IORLW     0x12                                                                                            
000802   d01d     BRA       0x83e               else if (B1CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10011; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
000804   af30     BTFSS     0x30,0x7,0x1                                                                                    
000806   d004     BRA       0x810                                                                                           
000808   0e00     MOVLW     0x0                                                                                             
00080a   1477     ANDWF     0x77,0x0,0x0                                                                                    
00080c   0913     IORLW     0x13                                                                                            
00080e   d017     BRA       0x83e               else if (B2CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10100; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
000810   af40     BTFSS     0x40,0x7,0x1                                                                                    
000812   d004     BRA       0x81c                                                                                           
000814   0e00     MOVLW     0x0                                                                                             
000816   1477     ANDWF     0x77,0x0,0x0                                                                                    
000818   0914     IORLW     0x14                                                                                            
00081a   d011     BRA       0x83e               else if (B3CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10101; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
00081c   af50     BTFSS     0x50,0x7,0x1                                                                                    
00081e   d004     BRA       0x828                                                                                           
000820   0e00     MOVLW     0x0                                                                                             
000822   1477     ANDWF     0x77,0x0,0x0                                                                                    
000824   0915     IORLW     0x15                                                                                            
000826   d00b     BRA       0x83e               else if (B4CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10110; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
000828   af60     BTFSS     0x60,0x7,0x1                                                                                    
00082a   d004     BRA       0x834                                                                                           
00082c   0e00     MOVLW     0x0                                                                                             
00082e   1477     ANDWF     0x77,0x0,0x0                                                                                    
000830   0916     IORLW     0x16                                                                                            
000832   d005     BRA       0x83e               else if (B5CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10111; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
000834   af70     BTFSS     0x70,0x7,0x1                                                                                    
000836   d005     BRA       0x842                                                                                           
000838   0e00     MOVLW     0x0                                                                                             
00083a   1477     ANDWF     0x77,0x0,0x0                                                                                    
00083c   0917     IORLW     0x17                                                                                            
00083e   6e77     MOVWF     0x77,0x0                                                                                        
000840   d808     RCALL     0x852                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000842   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
000844   d003     BRA       0x84c                                                                                           
000846   92a4     BCF       0xa4,0x1,0x0                                                                                    
000848   b2a4     BTFSC     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
00084a   92a4     BCF       0xa4,0x1,0x0                                                                                    
00084c   b0a4     BTFSC     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
00084e   90a4     BCF       0xa4,0x0,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
000850   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
000852   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
000854   ffe6                                                                                                               
000856   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000858   ffd9                                                                                                               
00085a   0e0e     MOVLW     0xe                                                                                             
00085c   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
00085e   5062     MOVF      0x62,0x0,0x0        cm.extended=(RXB0SIDLbits.EXID==0?FALSE:TRUE);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
000860   0b08     ANDLW     0x8                                                                                             
000862   e102     BNZ       0x868                                                                                           
000864   0e00     MOVLW     0x0                                                                                             
000866   d001     BRA       0x86a                                                                                           
000868   0e01     MOVLW     0x1                                                                                             
00086a   6ee7     MOVWF     0xe7,0x0                                                                                        
00086c   0e04     MOVLW     0x4                                                                                             
00086e   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000870   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Clear                                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
000872   6ade     CLRF      0xde,0x0            cm.ident=0;                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
000874   6ade     CLRF      0xde,0x0                                                                                        
000876   6ade     CLRF      0xde,0x0                                                                                        
000878   6add     CLRF      0xdd,0x0                                                                                        
00087a   52dd     MOVF      0xdd,0x1,0x0                                                                                    
00087c   52dd     MOVF      0xdd,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
00087e   04db     DECF      0xdb,0x0,0x0        if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000880   e163     BNZ       0x948                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //Read extended ident.                                                        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
000882   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
000884   6e00     MOVWF     0x0,0x0                                                                                         
000886   6a01     CLRF      0x1,0x0                                                                                         
000888   6a02     CLRF      0x2,0x0                                                                                         
00088a   6a03     CLRF      0x3,0x0                                                                                         
00088c   0e15     MOVLW     0x15                                                                                            
00088e   0b1f     ANDLW     0x1f                                                                                            
000890   e007     BZ        0x8a0                                                                                           
000892   90d8     BCF       0xd8,0x0,0x0                                                                                    
000894   3600     RLCF      0x0,0x1,0x0                                                                                     
000896   3601     RLCF      0x1,0x1,0x0                                                                                     
000898   3602     RLCF      0x2,0x1,0x0                                                                                     
00089a   3603     RLCF      0x3,0x1,0x0                                                                                     
00089c   06e8     DECF      0xe8,0x1,0x0                                                                                    
00089e   e1f9     BNZ       0x892                                                                                           
0008a0   0ee0     MOVLW     0xe0                                                                                            
0008a2   1462     ANDWF     0x62,0x0,0x0                                                                                    
0008a4   6e04     MOVWF     0x4,0x0                                                                                         
0008a6   6a05     CLRF      0x5,0x0                                                                                         
0008a8   6a06     CLRF      0x6,0x0                                                                                         
0008aa   6a07     CLRF      0x7,0x0                                                                                         
0008ac   0e0d     MOVLW     0xd                                                                                             
0008ae   0b1f     ANDLW     0x1f                                                                                            
0008b0   e007     BZ        0x8c0                                                                                           
0008b2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008b4   3604     RLCF      0x4,0x1,0x0                                                                                     
0008b6   3605     RLCF      0x5,0x1,0x0                                                                                     
0008b8   3606     RLCF      0x6,0x1,0x0                                                                                     
0008ba   3607     RLCF      0x7,0x1,0x0                                                                                     
0008bc   06e8     DECF      0xe8,0x1,0x0                                                                                    
0008be   e1f9     BNZ       0x8b2                                                                                           
0008c0   5004     MOVF      0x4,0x0,0x0                                                                                     
0008c2   2600     ADDWF     0x0,0x1,0x0                                                                                     
0008c4   5005     MOVF      0x5,0x0,0x0                                                                                     
0008c6   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0008c8   5006     MOVF      0x6,0x0,0x0                                                                                     
0008ca   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0008cc   5007     MOVF      0x7,0x0,0x0                                                                                     
0008ce   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0008d0   0e03     MOVLW     0x3                                                                                             
0008d2   1462     ANDWF     0x62,0x0,0x0                                                                                    
0008d4   6e08     MOVWF     0x8,0x0                                                                                         
0008d6   6a09     CLRF      0x9,0x0                                                                                         
0008d8   6a0a     CLRF      0xa,0x0                                                                                         
0008da   6a0b     CLRF      0xb,0x0                                                                                         
0008dc   0e10     MOVLW     0x10                                                                                            
0008de   0b1f     ANDLW     0x1f                                                                                            
0008e0   e007     BZ        0x8f0                                                                                           
0008e2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008e4   3608     RLCF      0x8,0x1,0x0                                                                                     
0008e6   3609     RLCF      0x9,0x1,0x0                                                                                     
0008e8   360a     RLCF      0xa,0x1,0x0                                                                                     
0008ea   360b     RLCF      0xb,0x1,0x0                                                                                     
0008ec   06e8     DECF      0xe8,0x1,0x0                                                                                    
0008ee   e1f9     BNZ       0x8e2                                                                                           
0008f0   5008     MOVF      0x8,0x0,0x0                                                                                     
0008f2   2600     ADDWF     0x0,0x1,0x0                                                                                     
0008f4   5009     MOVF      0x9,0x0,0x0                                                                                     
0008f6   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0008f8   500a     MOVF      0xa,0x0,0x0                                                                                     
0008fa   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0008fc   500b     MOVF      0xb,0x0,0x0                                                                                     
0008fe   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000900   5063     MOVF      0x63,0x0,0x0                                                                                    
000902   6e0c     MOVWF     0xc,0x0                                                                                         
000904   6a0d     CLRF      0xd,0x0                                                                                         
000906   6a0e     CLRF      0xe,0x0                                                                                         
000908   6a0f     CLRF      0xf,0x0                                                                                         
00090a   0e08     MOVLW     0x8                                                                                             
00090c   0b1f     ANDLW     0x1f                                                                                            
00090e   e007     BZ        0x91e                                                                                           
000910   90d8     BCF       0xd8,0x0,0x0                                                                                    
000912   360c     RLCF      0xc,0x1,0x0                                                                                     
000914   360d     RLCF      0xd,0x1,0x0                                                                                     
000916   360e     RLCF      0xe,0x1,0x0                                                                                     
000918   360f     RLCF      0xf,0x1,0x0                                                                                     
00091a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00091c   e1f9     BNZ       0x910                                                                                           
00091e   500c     MOVF      0xc,0x0,0x0                                                                                     
000920   2600     ADDWF     0x0,0x1,0x0                                                                                     
000922   500d     MOVF      0xd,0x0,0x0                                                                                     
000924   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000926   500e     MOVF      0xe,0x0,0x0                                                                                     
000928   2202     ADDWFC    0x2,0x1,0x0                                                                                     
00092a   500f     MOVF      0xf,0x0,0x0                                                                                     
00092c   2203     ADDWFC    0x3,0x1,0x0                                                                                     
00092e   5064     MOVF      0x64,0x0,0x0                                                                                    
000930   6e10     MOVWF     0x10,0x0                                                                                        
000932   6a11     CLRF      0x11,0x0                                                                                        
000934   6a12     CLRF      0x12,0x0                                                                                        
000936   6a13     CLRF      0x13,0x0                                                                                        
000938   50e8     MOVF      0xe8,0x0,0x0                                                                                    
00093a   2600     ADDWF     0x0,0x1,0x0                                                                                     
00093c   5011     MOVF      0x11,0x0,0x0                                                                                    
00093e   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000940   5012     MOVF      0x12,0x0,0x0                                                                                    
000942   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000944   5013     MOVF      0x13,0x0,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
000946   d023     BRA       0x98e               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
                                                                                                                            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
000948   5061     MOVF      0x61,0x0,0x0            cm.ident = (((DWORD)RXB0SIDH)<<3) + (((DWORD)RXB0SIDL)>>5);                   F:\MCP\projects\CAN\canNode\Source\CAN.c
00094a   6e00     MOVWF     0x0,0x0                                                                                         
00094c   6a01     CLRF      0x1,0x0                                                                                         
00094e   6a02     CLRF      0x2,0x0                                                                                         
000950   6a03     CLRF      0x3,0x0                                                                                         
000952   0e03     MOVLW     0x3                                                                                             
000954   0b1f     ANDLW     0x1f                                                                                            
000956   e007     BZ        0x966                                                                                           
000958   90d8     BCF       0xd8,0x0,0x0                                                                                    
00095a   3600     RLCF      0x0,0x1,0x0                                                                                     
00095c   3601     RLCF      0x1,0x1,0x0                                                                                     
00095e   3602     RLCF      0x2,0x1,0x0                                                                                     
000960   3603     RLCF      0x3,0x1,0x0                                                                                     
000962   06e8     DECF      0xe8,0x1,0x0                                                                                    
000964   e1f9     BNZ       0x958                                                                                           
000966   5062     MOVF      0x62,0x0,0x0                                                                                    
000968   6e04     MOVWF     0x4,0x0                                                                                         
00096a   6a05     CLRF      0x5,0x0                                                                                         
00096c   6a06     CLRF      0x6,0x0                                                                                         
00096e   6a07     CLRF      0x7,0x0                                                                                         
000970   0e05     MOVLW     0x5                                                                                             
000972   90d8     BCF       0xd8,0x0,0x0                                                                                    
000974   3207     RRCF      0x7,0x1,0x0                                                                                     
000976   3206     RRCF      0x6,0x1,0x0                                                                                     
000978   3205     RRCF      0x5,0x1,0x0                                                                                     
00097a   3204     RRCF      0x4,0x1,0x0                                                                                     
00097c   06e8     DECF      0xe8,0x1,0x0                                                                                    
00097e   e1f9     BNZ       0x972                                                                                           
000980   5004     MOVF      0x4,0x0,0x0                                                                                     
000982   2600     ADDWF     0x0,0x1,0x0                                                                                     
000984   5005     MOVF      0x5,0x0,0x0                                                                                     
000986   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000988   5006     MOVF      0x6,0x0,0x0                                                                                     
00098a   2202     ADDWFC    0x2,0x1,0x0                                                                                     
00098c   5007     MOVF      0x7,0x0,0x0                                                                                     
00098e   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000990   c000     MOVFF     0x0,0xfdf                                                                                       
000992   ffdf                                                                                                               
000994   0e01     MOVLW     0x1                                                                                             
000996   c001     MOVFF     0x1,0xfdb                                                                                       
000998   ffdb                                                                                                               
00099a   0e02     MOVLW     0x2                                                                                             
00099c   c002     MOVFF     0x2,0xfdb                                                                                       
00099e   ffdb                                                                                                               
0009a0   0e03     MOVLW     0x3                                                                                             
0009a2   c003     MOVFF     0x3,0xfdb                                                                                       
0009a4   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
0009a6   0e05     MOVLW     0x5                 cm.data_length=RXB0DLC;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
0009a8   cf65     MOVFF     0xf65,0xfdb                                                                                     
0009aa   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
0009ac   0e06     MOVLW     0x6                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
0009ae   cf66     MOVFF     0xf66,0xfdb                                                                                     
0009b0   ffdb                                                                                                               
0009b2   0e07     MOVLW     0x7                                                                                             
0009b4   cf67     MOVFF     0xf67,0xfdb                                                                                     
0009b6   ffdb                                                                                                               
0009b8   0e08     MOVLW     0x8                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0009ba   cf68     MOVFF     0xf68,0xfdb                                                                                     
0009bc   ffdb                                                                                                               
0009be   0e09     MOVLW     0x9                                                                                             
0009c0   cf69     MOVFF     0xf69,0xfdb                                                                                     
0009c2   ffdb                                                                                                               
0009c4   0e0a     MOVLW     0xa                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0009c6   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
0009c8   ffdb                                                                                                               
0009ca   0e0b     MOVLW     0xb                                                                                             
0009cc   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
0009ce   ffdb                                                                                                               
0009d0   0e0c     MOVLW     0xc                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
0009d2   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
0009d4   ffdb                                                                                                               
0009d6   0e0d     MOVLW     0xd                                                                                             
0009d8   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
0009da   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
0009dc   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
0009de   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
0009e0   ffe9                                                                                                               
0009e2   cfda     MOVFF     0xfda,0xfea                                                                                     
0009e4   ffea                                                                                                               
0009e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0009e8   ffe6                                                                                                               
0009ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
0009ec   ffe6                                                                                                               
0009ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
0009f0   ffe6                                                                                                               
0009f2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0009f4   ffe6                                                                                                               
0009f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0009f8   ffe6                                                                                                               
0009fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0009fc   ffe6                                                                                                               
0009fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
000a00   ffe6                                                                                                               
000a02   cfee     MOVFF     0xfee,0xfe6                                                                                     
000a04   ffe6                                                                                                               
000a06   cfee     MOVFF     0xfee,0xfe6                                                                                     
000a08   ffe6                                                                                                               
000a0a   cfee     MOVFF     0xfee,0xfe6                                                                                     
000a0c   ffe6                                                                                                               
000a0e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000a10   ffe6                                                                                                               
000a12   cfee     MOVFF     0xfee,0xfe6                                                                                     
000a14   ffe6                                                                                                               
000a16   cfee     MOVFF     0xfee,0xfe6                                                                                     
000a18   ffe6                                                                                                               
000a1a   cfee     MOVFF     0xfee,0xfe6                                                                                     
000a1c   ffe6                                                                                                               
000a1e   ecff     CALL      0x1fe,0x0                                                                                       
000a20   f000                                                                                                               
000a22   6e00     MOVWF     0x0,0x0                                                                                         
000a24   0e0e     MOVLW     0xe                                                                                             
000a26   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000a28   5000     MOVF      0x0,0x0,0x0                                                                                     
000a2a   0e0e     MOVLW     0xe            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
000a2c   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000a2e   e202     BC        0xa34                                                                                           
000a30   6ae1     CLRF      0xe1,0x0                                                                                        
000a32   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000a34   6ee1     MOVWF     0xe1,0x0                                                                                        
000a36   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000a38   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000a3a   ffd9                                                                                                               
000a3c   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
000a3e   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm)                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
000a40   ffe6                                                                                                               
000a42   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000a44   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
000a46   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
000a48   b740     BTFSC     0x40,0x3,0x1                                                                                    
000a4a   d004     BRA       0xa54                                                                                           
000a4c   0e00     MOVLW     0x0                                                                                             
000a4e   1477     ANDWF     0x77,0x0,0x0                                                                                    
000a50   0903     IORLW     0x3                                                                                             
000a52   6e77     MOVWF     0x77,0x0                                                                                        
000a54   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
000a56   b730     BTFSC     0x30,0x3,0x1                                                                                    
000a58   d004     BRA       0xa62                                                                                           
000a5a   0e00     MOVLW     0x0                                                                                             
000a5c   1477     ANDWF     0x77,0x0,0x0                                                                                    
000a5e   0904     IORLW     0x4                                                                                             
000a60   6e77     MOVWF     0x77,0x0                                                                                        
000a62   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
000a64   b720     BTFSC     0x20,0x3,0x1                                                                                    
000a66   d005     BRA       0xa72                                                                                           
000a68   0e00     MOVLW     0x0                                                                                             
000a6a   1477     ANDWF     0x77,0x0,0x0                                                                                    
000a6c   0905     IORLW     0x5                                                                                             
000a6e   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
000a70   d002     BRA       0xa76           else { return FALSE;}                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
000a72   0e00     MOVLW     0x0                                                                                             
000a74   d0c0     BRA       0xbf6                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000a76   0ef5     MOVLW     0xf5                if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000a78   04db     DECF      0xdb,0x0,0x0                                                                                    
000a7a   e15f     BNZ       0xb3a                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                    //Write extended ident.                                                       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
000a7c   0ef1     MOVLW     0xf1                    RXB0SIDH =  (BYTE)((cm.ident>>21));                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
000a7e   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a80   f000                                                                                                               
000a82   0ef2     MOVLW     0xf2                                                                                            
000a84   cfdb     MOVFF     0xfdb,0x1                                                                                       
000a86   f001                                                                                                               
000a88   0ef3     MOVLW     0xf3                                                                                            
000a8a   cfdb     MOVFF     0xfdb,0x2                                                                                       
000a8c   f002                                                                                                               
000a8e   0ef4     MOVLW     0xf4                                                                                            
000a90   cfdb     MOVFF     0xfdb,0x3                                                                                       
000a92   f003                                                                                                               
000a94   0e15     MOVLW     0x15                                                                                            
000a96   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a98   3203     RRCF      0x3,0x1,0x0                                                                                     
000a9a   3202     RRCF      0x2,0x1,0x0                                                                                     
000a9c   3201     RRCF      0x1,0x1,0x0                                                                                     
000a9e   3200     RRCF      0x0,0x1,0x0                                                                                     
000aa0   06e8     DECF      0xe8,0x1,0x0                                                                                    
000aa2   e1f9     BNZ       0xa96                                                                                           
000aa4   5000     MOVF      0x0,0x0,0x0                                                                                     
000aa6   6e61     MOVWF     0x61,0x0                                                                                        
000aa8   0ef1     MOVLW     0xf1                    RXB0SIDL = ((BYTE)(cm.ident>>16) & 0x03) + ((BYTE)(cm.ident>>13) & 0xE0); F:\MCP\projects\CAN\canNode\Source\CAN.c
000aaa   cfdb     MOVFF     0xfdb,0x5                                                                                       
000aac   f005                                                                                                               
000aae   0ef2     MOVLW     0xf2                                                                                            
000ab0   cfdb     MOVFF     0xfdb,0x6                                                                                       
000ab2   f006                                                                                                               
000ab4   0ef3     MOVLW     0xf3                                                                                            
000ab6   cfdb     MOVFF     0xfdb,0x7                                                                                       
000ab8   f007                                                                                                               
000aba   0ef4     MOVLW     0xf4                                                                                            
000abc   cfdb     MOVFF     0xfdb,0x8                                                                                       
000abe   f008                                                                                                               
000ac0   0e0d     MOVLW     0xd                                                                                             
000ac2   90d8     BCF       0xd8,0x0,0x0                                                                                    
000ac4   3208     RRCF      0x8,0x1,0x0                                                                                     
000ac6   3207     RRCF      0x7,0x1,0x0                                                                                     
000ac8   3206     RRCF      0x6,0x1,0x0                                                                                     
000aca   3205     RRCF      0x5,0x1,0x0                                                                                     
000acc   06e8     DECF      0xe8,0x1,0x0                                                                                    
000ace   e1f9     BNZ       0xac2                                                                                           
000ad0   0ee0     MOVLW     0xe0                                                                                            
000ad2   1405     ANDWF     0x5,0x0,0x0                                                                                     
000ad4   6e04     MOVWF     0x4,0x0                                                                                         
000ad6   0ef1     MOVLW     0xf1                                                                                            
000ad8   cfdb     MOVFF     0xfdb,0x0                                                                                       
000ada   f000                                                                                                               
000adc   0ef2     MOVLW     0xf2                                                                                            
000ade   cfdb     MOVFF     0xfdb,0x1                                                                                       
000ae0   f001                                                                                                               
000ae2   0ef3     MOVLW     0xf3                                                                                            
000ae4   cfdb     MOVFF     0xfdb,0x2                                                                                       
000ae6   f002                                                                                                               
000ae8   0ef4     MOVLW     0xf4                                                                                            
000aea   cfdb     MOVFF     0xfdb,0x3                                                                                       
000aec   f003                                                                                                               
000aee   0e10     MOVLW     0x10                                                                                            
000af0   90d8     BCF       0xd8,0x0,0x0                                                                                    
000af2   3203     RRCF      0x3,0x1,0x0                                                                                     
000af4   3202     RRCF      0x2,0x1,0x0                                                                                     
000af6   3201     RRCF      0x1,0x1,0x0                                                                                     
000af8   3200     RRCF      0x0,0x1,0x0                                                                                     
000afa   06e8     DECF      0xe8,0x1,0x0                                                                                    
000afc   e1f9     BNZ       0xaf0                                                                                           
000afe   0e03     MOVLW     0x3                                                                                             
000b00   1400     ANDWF     0x0,0x0,0x0                                                                                     
000b02   2404     ADDWF     0x4,0x0,0x0                                                                                     
000b04   6e62     MOVWF     0x62,0x0                                                                                        
000b06   0ef1     MOVLW     0xf1                    RXB0EIDH =  (BYTE)(cm.ident>>8);                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
000b08   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b0a   f000                                                                                                               
000b0c   0ef2     MOVLW     0xf2                                                                                            
000b0e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b10   f001                                                                                                               
000b12   0ef3     MOVLW     0xf3                                                                                            
000b14   cfdb     MOVFF     0xfdb,0x2                                                                                       
000b16   f002                                                                                                               
000b18   0ef4     MOVLW     0xf4                                                                                            
000b1a   cfdb     MOVFF     0xfdb,0x3                                                                                       
000b1c   f003                                                                                                               
000b1e   0e08     MOVLW     0x8                                                                                             
000b20   90d8     BCF       0xd8,0x0,0x0                                                                                    
000b22   3203     RRCF      0x3,0x1,0x0                                                                                     
000b24   3202     RRCF      0x2,0x1,0x0                                                                                     
000b26   3201     RRCF      0x1,0x1,0x0                                                                                     
000b28   3200     RRCF      0x0,0x1,0x0                                                                                     
000b2a   06e8     DECF      0xe8,0x1,0x0                                                                                    
000b2c   e1f9     BNZ       0xb20                                                                                           
000b2e   5000     MOVF      0x0,0x0,0x0                                                                                     
000b30   6e63     MOVWF     0x63,0x0                                                                                        
000b32   0ef1     MOVLW     0xf1                    RXB0EIDL =  (BYTE)cm.ident;                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
000b34   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b36   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
000b38   d02f     BRA       0xb98               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
                                                                                                                               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
000b3a   0ef1     MOVLW     0xf1                        RXB0SIDH=  (BYTE)(cm.ident>>3);                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000b3c   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b3e   f000                                                                                                               
000b40   0ef2     MOVLW     0xf2                                                                                            
000b42   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b44   f001                                                                                                               
000b46   0ef3     MOVLW     0xf3                                                                                            
000b48   cfdb     MOVFF     0xfdb,0x2                                                                                       
000b4a   f002                                                                                                               
000b4c   0ef4     MOVLW     0xf4                                                                                            
000b4e   cfdb     MOVFF     0xfdb,0x3                                                                                       
000b50   f003                                                                                                               
000b52   0e03     MOVLW     0x3                                                                                             
000b54   90d8     BCF       0xd8,0x0,0x0                                                                                    
000b56   3203     RRCF      0x3,0x1,0x0                                                                                     
000b58   3202     RRCF      0x2,0x1,0x0                                                                                     
000b5a   3201     RRCF      0x1,0x1,0x0                                                                                     
000b5c   3200     RRCF      0x0,0x1,0x0                                                                                     
000b5e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000b60   e1f9     BNZ       0xb54                                                                                           
000b62   5000     MOVF      0x0,0x0,0x0                                                                                     
000b64   6e61     MOVWF     0x61,0x0                                                                                        
000b66   0ef1     MOVLW     0xf1                    RXB0SIDL= ((BYTE)(cm.ident<<5) & 0xE0);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
000b68   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b6a   f000                                                                                                               
000b6c   0ef2     MOVLW     0xf2                                                                                            
000b6e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b70   f001                                                                                                               
000b72   0ef3     MOVLW     0xf3                                                                                            
000b74   cfdb     MOVFF     0xfdb,0x2                                                                                       
000b76   f002                                                                                                               
000b78   0ef4     MOVLW     0xf4                                                                                            
000b7a   cfdb     MOVFF     0xfdb,0x3                                                                                       
000b7c   f003                                                                                                               
000b7e   0e05     MOVLW     0x5                                                                                             
000b80   0b1f     ANDLW     0x1f                                                                                            
000b82   e007     BZ        0xb92                                                                                           
000b84   90d8     BCF       0xd8,0x0,0x0                                                                                    
000b86   3600     RLCF      0x0,0x1,0x0                                                                                     
000b88   3601     RLCF      0x1,0x1,0x0                                                                                     
000b8a   3602     RLCF      0x2,0x1,0x0                                                                                     
000b8c   3603     RLCF      0x3,0x1,0x0                                                                                     
000b8e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000b90   e1f9     BNZ       0xb84                                                                                           
000b92   0ee0     MOVLW     0xe0                                                                                            
000b94   1400     ANDWF     0x0,0x0,0x0                                                                                     
000b96   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
000b98   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canNode\Source\CAN.c
000b9a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b9c   0808     SUBLW     0x8                                                                                             
000b9e   e203     BC        0xba6                                                                                           
000ba0   0e08     MOVLW     0x8                                                                                             
000ba2   6e65     MOVWF     0x65,0x0                                                                                        
000ba4   d003     BRA       0xbac                                                                                           
000ba6   0ef6     MOVLW     0xf6                                                                                            
000ba8   50db     MOVF      0xdb,0x0,0x0                                                                                    
000baa   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
000bac   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
000bae   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bb0   6e66     MOVWF     0x66,0x0                                                                                        
000bb2   0ef8     MOVLW     0xf8                                                                                            
000bb4   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bb6   6e67     MOVWF     0x67,0x0                                                                                        
000bb8   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000bba   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bbc   6e68     MOVWF     0x68,0x0                                                                                        
000bbe   0efa     MOVLW     0xfa                                                                                            
000bc0   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bc2   6e69     MOVWF     0x69,0x0                                                                                        
000bc4   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000bc6   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bc8   6e6a     MOVWF     0x6a,0x0                                                                                        
000bca   0efc     MOVLW     0xfc                                                                                            
000bcc   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bce   6e6b     MOVWF     0x6b,0x0                                                                                        
000bd0   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000bd2   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bd4   6e6c     MOVWF     0x6c,0x0                                                                                        
000bd6   0efe     MOVLW     0xfe                                                                                            
000bd8   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bda   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
000bdc   0ef5     MOVLW     0xf5                RXB0SIDLbits.EXID=(cm.extended==TRUE?1:0);                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
000bde   04db     DECF      0xdb,0x0,0x0                                                                                    
000be0   e102     BNZ       0xbe6                                                                                           
000be2   0e01     MOVLW     0x1                                                                                             
000be4   d001     BRA       0xbe8                                                                                           
000be6   0e00     MOVLW     0x0                                                                                             
000be8   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
000bea   8662     BSF       0x62,0x3,0x0                                                                                    
000bec   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
000bee   9662     BCF       0x62,0x3,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
                                                                                                                            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
000bf0   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
000bf2   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
000bf4   d000     BRA       0xbf6                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
000bf6   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
000bf8   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000bfa   ffd9                                                                                                               
000bfc   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
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\uart.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                            *                  UART                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\uart.c
                                            * FileName:        uart.c                                                       F:\MCP\projects\CAN\canNode\Source\uart.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\uart.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\uart.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\uart.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.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
                                           /*                                                                               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
000bfe   8e94     BSF       0x94,0x7,0x0        TRISCbits.TRISC7=1;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000c00   9c94     BCF       0x94,0x6,0x0        TRISCbits.TRISC6=0;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000c02   0e20     MOVLW     0x20                TXSTA=0b00100000; // Low BRG speed                                             F:\MCP\projects\CAN\canNode\Source\uart.c
000c04   6eac     MOVWF     0xac,0x0                                                                                        
000c06   0e90     MOVLW     0x90                RCSTA=0b10010000;                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000c08   6eab     MOVWF     0xab,0x0                                                                                        
000c0a   0e1f     MOVLW     0x1f                SPBRG = SPBRG_VAL;                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
000c0c   6eaf     MOVWF     0xaf,0x0                                                                                        
                                                // USART RX interrupt                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000c0e   9a9e     BCF       0x9e,0x5,0x0        PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000c10   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
000c12   8a9f     BSF       0x9f,0x5,0x0        IPR1bits.RCIP=1;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000c14   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
000c16   cfd9     MOVFF     0xfd9,0xfe6    void uartPutc(BYTE c)                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000c18   ffe6                                                                                                               
000c1a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000c1c   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                            // Write the data byte to the USART                                             F:\MCP\projects\CAN\canNode\Source\uart.c
000c1e   0efe     MOVLW     0xfe            TXREG = c;                                                                      F:\MCP\projects\CAN\canNode\Source\uart.c
000c20   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c22   6ead     MOVWF     0xad,0x0                                                                                        
000c24   d848     RCALL     0xcb6           while(uartBusy());                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000c26   0900     IORLW     0x0                                                                                             
000c28   e1fd     BNZ       0xc24                                                                                           
000c2a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000c2c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000c2e   ffd9                                                                                                               
000c30   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
000c32   cfd9     MOVFF     0xfd9,0xfe6    void uartPuts(BYTE c[])                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000c34   ffe6                                                                                                               
000c36   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000c38   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
000c3a   d83d     RCALL     0xcb6               while(uartBusy());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000c3c   0900     IORLW     0x0                                                                                             
000c3e   e1fd     BNZ       0xc3a                                                                                           
000c40   0efd     MOVLW     0xfd                uartPutc(*c);                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000c42   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000c44   ffe9                                                                                                               
000c46   0efe     MOVLW     0xfe                                                                                            
000c48   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000c4a   ffea                                                                                                               
000c4c   50ef     MOVF      0xef,0x0,0x0                                                                                    
000c4e   6ee6     MOVWF     0xe6,0x0                                                                                        
000c50   dfe2     RCALL     0xc16                                                                                           
000c52   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000c54   0efd     MOVLW     0xfd                } while( *c++ );                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000c56   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000c58   ffe9                                                                                                               
000c5a   2adb     INCF      0xdb,0x1,0x0                                                                                    
000c5c   0efe     MOVLW     0xfe                                                                                            
000c5e   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000c60   ffea                                                                                                               
000c62   e301     BNC       0xc66                                                                                           
000c64   2adb     INCF      0xdb,0x1,0x0                                                                                    
000c66   50ef     MOVF      0xef,0x0,0x0                                                                                    
000c68   e1e8     BNZ       0xc3a                                                                                           
000c6a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000c6c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000c6e   ffd9                                                                                                               
000c70   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
000c72   cfd9     MOVFF     0xfd9,0xfe6    void uartPutrs(const rom char *c)                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000c74   ffe6                                                                                                               
000c76   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000c78   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
000c7a   d81d     RCALL     0xcb6               while(uartBusy());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000c7c   0900     IORLW     0x0                                                                                             
000c7e   e1fd     BNZ       0xc7a                                                                                           
000c80   0efd     MOVLW     0xfd                uartPutc(*c);                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000c82   cfdb     MOVFF     0xfdb,0xff6                                                                                     
000c84   fff6                                                                                                               
000c86   0efe     MOVLW     0xfe                                                                                            
000c88   cfdb     MOVFF     0xfdb,0xff7                                                                                     
000c8a   fff7                                                                                                               
000c8c   0008     TBLRD                                                                                                     
000c8e   50f5     MOVF      0xf5,0x0,0x0                                                                                    
000c90   6ee6     MOVWF     0xe6,0x0                                                                                        
000c92   dfc1     RCALL     0xc16                                                                                           
000c94   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000c96   0efd     MOVLW     0xfd                } while( *c++ );                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000c98   cfdb     MOVFF     0xfdb,0xff6                                                                                     
000c9a   fff6                                                                                                               
000c9c   2adb     INCF      0xdb,0x1,0x0                                                                                    
000c9e   0efe     MOVLW     0xfe                                                                                            
000ca0   cfdb     MOVFF     0xfdb,0xff7                                                                                     
000ca2   fff7                                                                                                               
000ca4   e301     BNC       0xca8                                                                                           
000ca6   2adb     INCF      0xdb,0x1,0x0                                                                                    
000ca8   0008     TBLRD                                                                                                     
000caa   50f5     MOVF      0xf5,0x0,0x0                                                                                    
000cac   e1e6     BNZ       0xc7a                                                                                           
000cae   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000cb0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000cb2   ffd9                                                                                                               
000cb4   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
000cb6   50ac     MOVF      0xac,0x0,0x0    return !TXSTAbits.TRMT;                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
000cb8   0b02     ANDLW     0x2                                                                                             
000cba   0a02     XORLW     0x2                                                                                             
000cbc   e001     BZ        0xcc0                                                                                           
000cbe   0e01     MOVLW     0x1                                                                                             
000cc0   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
000cc2   50ae     MOVF      0xae,0x0,0x0    return RCREG;                                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
000cc4   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: uartGets                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Input:  Byte array to read, number of bytes to read and timeout.                F:\MCP\projects\CAN\canNode\Source\uart.c
                                           *    Output: Number of read bytes.                                                  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
000cc6   cfd9     MOVFF     0xfd9,0xfe6    BYTE uartGets(BYTE *buffer, BYTE length,unsigned int uart_data_wait)             F:\MCP\projects\CAN\canNode\Source\uart.c
000cc8   ffe6                                                                                                               
000cca   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000ccc   ffd9                                                                                                               
000cce   0e03     MOVLW     0x3                                                                                             
000cd0   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000cd2   6ade     CLRF      0xde,0x0            unsigned int wait = 0;                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
000cd4   6add     CLRF      0xdd,0x0                                                                                        
                                            BYTE data;                                                                      F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000cd6   0efc     MOVLW     0xfc               while(length)                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000cd8   50db     MOVF      0xdb,0x0,0x0                                                                                    
000cda   e02f     BZ        0xd3a                                                                                           
000d38   d7ce     BRA       0xcd6                                                                                           
                                               {                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000cdc   d849     RCALL     0xd70                  while(!uartDataRedy())                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
000cde   0900     IORLW     0x0                                                                                             
000ce0   e114     BNZ       0xd0a                                                                                           
                                                   {                                                                        F:\MCP\projects\CAN\canNode\Source\uart.c
000ce2   cfde     MOVFF     0xfde,0x0                  if(wait < uart_data_wait)                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000ce4   f000                                                                                                               
000ce6   cfdd     MOVFF     0xfdd,0x1                                                                                       
000ce8   f001                                                                                                               
000cea   0efa     MOVLW     0xfa                                                                                            
000cec   cfdb     MOVFF     0xfdb,0x2                                                                                       
000cee   f002                                                                                                               
000cf0   0efb     MOVLW     0xfb                                                                                            
000cf2   cfdb     MOVFF     0xfdb,0x3                                                                                       
000cf4   f003                                                                                                               
000cf6   5002     MOVF      0x2,0x0,0x0                                                                                     
000cf8   5c00     SUBWF     0x0,0x0,0x0                                                                                     
000cfa   5003     MOVF      0x3,0x0,0x0                                                                                     
000cfc   5801     SUBWFB    0x1,0x0,0x0                                                                                     
000cfe   e21d     BC        0xd3a                                                                                           
000d00   2adf     INCF      0xdf,0x1,0x0                   wait++ ;                  /*wait for more data */                F:\MCP\projects\CAN\canNode\Source\uart.c
000d02   0e01     MOVLW     0x1                                                                                             
000d04   e3eb     BNC       0xcdc                                                                                           
000d06   2adb     INCF      0xdb,0x1,0x0                                                                                    
000d08   d7e9     BRA       0xcdc                      else                                                                 F:\MCP\projects\CAN\canNode\Source\uart.c
                                                           return(length);           /*Time out- Return words/bytes to be read */ F:\MCP\projects\CAN\canNode\Source\uart.c
                                                   }                                                                        F:\MCP\projects\CAN\canNode\Source\uart.c
000d0a   6ade     CLRF      0xde,0x0               wait=0;                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
000d0c   6add     CLRF      0xdd,0x0                                                                                        
000d0e   dfd9     RCALL     0xcc2                  data = uartGet();                                                        F:\MCP\projects\CAN\canNode\Source\uart.c
000d10   6ee7     MOVWF     0xe7,0x0                                                                                        
000d12   0e02     MOVLW     0x2                                                                                             
000d14   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000d16   ffdb                                                                                                               
000d18   0efd     MOVLW     0xfd                *buffer = data;                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
000d1a   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d1c   ffe9                                                                                                               
000d1e   0efe     MOVLW     0xfe                                                                                            
000d20   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d22   ffea                                                                                                               
000d24   0e02     MOVLW     0x2                                                                                             
000d26   cfdb     MOVFF     0xfdb,0xfef                                                                                     
000d28   ffef                                                                                                               
000d2a   0efd     MOVLW     0xfd                buffer++;              // Increment the string pointer                      F:\MCP\projects\CAN\canNode\Source\uart.c
000d2c   2adb     INCF      0xdb,0x1,0x0                                                                                    
000d2e   0efe     MOVLW     0xfe                                                                                            
000d30   e301     BNC       0xd34                                                                                           
000d32   2adb     INCF      0xdb,0x1,0x0                                                                                    
000d34   0efc     MOVLW     0xfc                   length--;                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000d36   06db     DECF      0xdb,0x1,0x0                                                                                    
                                               }                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000d3a   0efc     MOVLW     0xfc               return(length);                       /* number of data yet to be received i.e.,0 */ F:\MCP\projects\CAN\canNode\Source\uart.c
000d3c   50db     MOVF      0xdb,0x0,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
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000d3e   6e00     MOVWF     0x0,0x0        }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000d40   0e03     MOVLW     0x3                                                                                             
000d42   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000d44   e202     BC        0xd4a                                                                                           
000d46   6ae1     CLRF      0xe1,0x0                                                                                        
000d48   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000d4a   6ee1     MOVWF     0xe1,0x0                                                                                        
000d4c   5000     MOVF      0x0,0x0,0x0                                                                                     
000d4e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000d50   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000d52   ffd9                                                                                                               
000d54   0012     RETURN    0x0                                                                                             
                                                                                                                            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
000d56   509e     MOVF      0x9e,0x0,0x0    if (PIR1bits.RCIF==1 && PIE1bits.RCIE==1)                                       F:\MCP\projects\CAN\canNode\Source\uart.c
000d58   0b20     ANDLW     0x20                                                                                            
000d5a   e009     BZ        0xd6e                                                                                           
000d5c   509d     MOVF      0x9d,0x0,0x0                                                                                    
000d5e   0b20     ANDLW     0x20                                                                                            
000d60   e006     BZ        0xd6e                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000d62   dfaf     RCALL     0xcc2               uartParse(uartGet());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000d64   6ee6     MOVWF     0xe6,0x0                                                                                        
000d66   eca9     CALL      0x352,0x0                                                                                       
000d68   f001                                                                                                               
000d6a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000d6c   9a9e     BCF       0x9e,0x5,0x0        PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000d6e   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: uartDataRedy                                                         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 data are redy to be 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
                                           char uartDataRedy(void)                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
000d70   a2ab     BTFSS     0xab,0x1,0x0    if(RCSTAbits.OERR)                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
000d72   d002     BRA       0xd78                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000d74   98ab     BCF       0xab,0x4,0x0        RCSTAbits.CREN = 0;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
000d76   88ab     BSF       0xab,0x4,0x0        RCSTAbits.CREN = 1;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
                                            }                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
000d78   509e     MOVF      0x9e,0x0,0x0     return PIR1bits.RCIF;                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
000d7a   0b20     ANDLW     0x20                                                                                            
000d7c   e001     BZ        0xd80                                                                                           
000d7e   0e01     MOVLW     0x1                                                                                             
000d80   0012     RETURN    0x0            }                                                                                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
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            *                  Ticker service                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            * FileName:        Tick.c                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\Tick.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.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
000e20   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
000e22   6ed6     MOVWF     0xd6,0x0                                                                                        
000e24   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
000e26   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
000e28   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canNode\Source\Tick.c
000e2a   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
000e2c   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canNode\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000e2e   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
000e30   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
000e32   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
000e34   c075     MOVFF     0x75,0x18          return TickCount;                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000e36   f018                                                                                                               
000e38   c076     MOVFF     0x76,0x19                                                                                       
000e3a   f019                                                                                                               
000e3c   c077     MOVFF     0x77,0x1a                                                                                       
000e3e   f01a                                                                                                               
000e40   c078     MOVFF     0x78,0x1b                                                                                       
000e42   f01b                                                                                                               
000e44   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
000e46   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canNode\Source\Tick.c
000e48   d00b     BRA       0xe60                                                                                           
                                               {                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000e4a   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
000e4c   6ed7     MOVWF     0xd7,0x0                                                                                        
000e4e   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
000e50   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000e52   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
000e54   2b75     INCF      0x75,0x1,0x1                                                                                    
000e56   0e00     MOVLW     0x0                                                                                             
000e58   2376     ADDWFC    0x76,0x1,0x1                                                                                    
000e5a   2377     ADDWFC    0x77,0x1,0x1                                                                                    
000e5c   2378     ADDWFC    0x78,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000e5e   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
000e60   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c