Subversion Repositories HomeAutomation

Rev

Rev 53 | 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: Wed Oct 25 15:36:28 2006


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * FileName:        Main.c                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #include <CAN.h>                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void main()                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00057c   d86c     RCALL     0x656           mainInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00057e   ec16     CALL      0x2c,0x0            canInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000580   f000                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000582   d7ff     BRA       0x582           while(1)                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000584   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #pragma interruptlow HighISR                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000586   cfd8     MOVFF     0xfd8,0xfe4    void HighISR(void)                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000588   ffe4                                                                                                               
00058a   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
00058c   ffe4                                                                                                               
00058e   6ee4     MOVWF     0xe4,0x0                                                                                        
000590   cfda     MOVFF     0xfda,0xfe4                                                                                     
000592   ffe4                                                                                                               
000594   cfe2     MOVFF     0xfe2,0xfda                                                                                     
000596   ffda                                                                                                               
000598   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
00059a   ffe4                                                                                                               
00059c   cfea     MOVFF     0xfea,0xfe4                                                                                     
00059e   ffe4                                                                                                               
0005a0   cff6     MOVFF     0xff6,0xfe4                                                                                     
0005a2   ffe4                                                                                                               
0005a4   cff7     MOVFF     0xff7,0xfe4                                                                                     
0005a6   ffe4                                                                                                               
0005a8   cff5     MOVFF     0xff5,0xfe4                                                                                     
0005aa   ffe4                                                                                                               
0005ac   cff3     MOVFF     0xff3,0xfe4                                                                                     
0005ae   ffe4                                                                                                               
0005b0   cff4     MOVFF     0xff4,0xfe4                                                                                     
0005b2   ffe4                                                                                                               
0005b4   cffa     MOVFF     0xffa,0xfe4                                                                                     
0005b6   ffe4                                                                                                               
0005b8   ee00     LFSR      0x0,0x14                                                                                        
0005ba   f014                                                                                                               
0005bc   0e02     MOVLW     0x2                                                                                             
0005be   04e8     DECF      0xe8,0x0,0x0                                                                                    
0005c0   e303     BNC       0x5c8                                                                                           
0005c2   cfee     MOVFF     0xfee,0xfe4                                                                                     
0005c4   ffe4                                                                                                               
0005c6   d7fb     BRA       0x5be                                                                                           
0005c8   ee00     LFSR      0x0,0x0                                                                                         
0005ca   f000                                                                                                               
0005cc   0e14     MOVLW     0x14                                                                                            
0005ce   04e8     DECF      0xe8,0x0,0x0                                                                                    
0005d0   e303     BNC       0x5d8                                                                                           
0005d2   cfee     MOVFF     0xfee,0xfe4                                                                                     
0005d4   ffe4                                                                                                               
0005d6   d7fb     BRA       0x5ce                                                                                           
0005d8   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0005da   ec41     CALL      0x82,0x0            canISR();                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0005dc   f000                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0005de   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0005e0   ee00     LFSR      0x0,0x13                                                                                        
0005e2   f013                                                                                                               
0005e4   0e14     MOVLW     0x14                                                                                            
0005e6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0005e8   e303     BNC       0x5f0                                                                                           
0005ea   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0005ec   ffed                                                                                                               
0005ee   d7fb     BRA       0x5e6                                                                                           
0005f0   ee00     LFSR      0x0,0x15                                                                                        
0005f2   f015                                                                                                               
0005f4   0e02     MOVLW     0x2                                                                                             
0005f6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0005f8   e303     BNC       0x600                                                                                           
0005fa   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0005fc   ffed                                                                                                               
0005fe   d7fb     BRA       0x5f6                                                                                           
000600   cfe5     MOVFF     0xfe5,0xffa                                                                                     
000602   fffa                                                                                                               
000604   cfe5     MOVFF     0xfe5,0xff4                                                                                     
000606   fff4                                                                                                               
000608   cfe5     MOVFF     0xfe5,0xff3                                                                                     
00060a   fff3                                                                                                               
00060c   cfe5     MOVFF     0xfe5,0xff5                                                                                     
00060e   fff5                                                                                                               
000610   cfe5     MOVFF     0xfe5,0xff7                                                                                     
000612   fff7                                                                                                               
000614   cfe5     MOVFF     0xfe5,0xff6                                                                                     
000616   fff6                                                                                                               
000618   cfe5     MOVFF     0xfe5,0xfea                                                                                     
00061a   ffea                                                                                                               
00061c   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
00061e   ffe9                                                                                                               
000620   cfe5     MOVFF     0xfe5,0xfda                                                                                     
000622   ffda                                                                                                               
000624   50e5     MOVF      0xe5,0x0,0x0                                                                                    
000626   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
000628   ffe0                                                                                                               
00062a   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
00062c   ffd8                                                                                                               
00062e   0010     RETFIE    0x0                                                                                             
                                           #pragma code highVector=0x08                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void HighVector (void)                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000008   efc3     GOTO      0x586              _asm goto HighISR _endasm                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00000a   f002                                                                                                               
00000c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #pragma code // Return to default code section                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #pragma interruptlow LowISR                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000630   cfd8     MOVFF     0xfd8,0xfe4    void LowISR(void)                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000632   ffe4                                                                                                               
000634   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
000636   ffe4                                                                                                               
000638   6ee4     MOVWF     0xe4,0x0                                                                                        
00063a   cfda     MOVFF     0xfda,0xfe4                                                                                     
00063c   ffe4                                                                                                               
00063e   cfe2     MOVFF     0xfe2,0xfda                                                                                     
000640   ffda                                                                                                               
000642   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000644   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000646   cfe5     MOVFF     0xfe5,0xfda                                                                                     
000648   ffda                                                                                                               
00064a   50e5     MOVF      0xe5,0x0,0x0                                                                                    
00064c   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
00064e   ffe0                                                                                                               
000650   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
000652   ffd8                                                                                                               
000654   0010     RETFIE    0x0                                                                                             
                                           #pragma code lowVector=0x18                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void LowVector (void)                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000018   ef18     GOTO      0x630              _asm goto LowISR _endasm                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00001a   f003                                                                                                               
00001c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #pragma code // Return to default code section                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000656   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                               // Enable internal PORTB pull-ups                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000658   9ef1     BCF       0xf1,0x7,0x0       INTCON2bits.RBPU = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00065a   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00065c   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00065e   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000660   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Function: canParse                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Input:  Received can message                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000662   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000664   ffe6                                                                                                               
000666   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000668   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00066a   7282     BTG       0x82,0x1,0x0    LED0_IO=~LED0_IO;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00066c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00066e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000670   ffd9                                                                                                               
000672   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            *                  CAN driver                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            * FileName:        CAN.c                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           #include <CANdefs.h>                                                             F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Function: canInit                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Affects: Changes can registers.                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           void canInit()                                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
00002c   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
00002e   6e6f     MOVWF     0x6f,0x0                                                                                        
000030   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBoot\Source\CAN.c
000032   146e     ANDWF     0x6e,0x0,0x0                                                                                    
000034   0880     SUBLW     0x80                                                                                            
000036   e001     BZ        0x3a                                                                                            
000038   d7fb     BRA       0x30                                                                                            
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // BAUD AND TQS                                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
00003a   6a70     CLRF      0x70,0x0        BRGCON1=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
00003c   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBoot\Source\CAN.c
00003e   8c70     BSF       0x70,0x6,0x0    BRGCON1bits.SJW0=1;                                                             F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Setting BRP.                                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
000040   0e09     MOVLW     0x9             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
000042   1070     IORWF     0x70,0x0,0x0                                                                                    
000044   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
000046   8e71     BSF       0x71,0x7,0x0    BRGCON2bits.SEG2PHTS = 1;                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
000048   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
00004a   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
00004c   8671     BSF       0x71,0x3,0x0    BRGCON2bits.SEG1PH0 = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
00004e   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
000050   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
000052   8071     BSF       0x71,0x0,0x0    BRGCON2bits.PRSEG0 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            //  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
000054   9e72     BCF       0x72,0x7,0x0    BRGCON3bits.WAKDIS = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canBoot\Source\CAN.c
000056   9c72     BCF       0x72,0x6,0x0    BRGCON3bits.WAKFIL = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
000058   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
00005a   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
00005c   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
00005e   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
000060   9e77     BCF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
000062   8c77     BSF       0x77,0x6,0x0    ECANCONbits.MDSEL0 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000064   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBoot\Source\CAN.c
000066   9a60     BCF       0x60,0x5,0x0    RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // INTERRUPTS                                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Diable transmit interrupt                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
000068   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
00006a   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
00006c   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
00006e   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
000070   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
000072   6ea5     MOVWF     0xa5,0x0        IPR3 =0b00000011;                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            // Programmable buffers interrupt                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
000074   69fa     SETF      0xfa,0x1        BIE0  = 0xFF;                                                                     F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            //loopback mode or not                                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            #ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            #else                                                                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
000076   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000078   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
00007a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00007c   e001     BZ        0x80                                                                                            
00007e   d7fc     BRA       0x78                                                                                            
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000080   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Function: canISR                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Pre-conditions: a call to canInit()                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Affects: interrupt registers and receive data buffers                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           void canISR()                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000082   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
000084   0b02     ANDLW     0x2                                                                                             
000086   e106     BNZ       0x94                                                                                            
000088   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00008a   0b02     ANDLW     0x2                                                                                             
00008c   e103     BNZ       0x94                                                                                            
00008e   50a4     MOVF      0xa4,0x0,0x0                                                                                    
000090   0b01     ANDLW     0x1                                                                                             
000092   e047     BZ        0x122                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Get which buffer that is ful.                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
000094   ae60     BTFSS     0x60,0x7,0x0             if (RXB0CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10000; canGetPacket(); } F:\MCP\projects\CAN\canBoot\Source\CAN.c
000096   d006     BRA       0xa4                                                                                            
000098   0e00     MOVLW     0x0                                                                                             
00009a   1477     ANDWF     0x77,0x0,0x0                                                                                    
00009c   0910     IORLW     0x10                                                                                            
00009e   6e77     MOVWF     0x77,0x0                                                                                        
0000a0   d841     RCALL     0x124                                                                                           
0000a2   d039     BRA       0x116               else if (RXB1CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10001; canGetPacket(); } F:\MCP\projects\CAN\canBoot\Source\CAN.c
0000a4   010f     MOVLB     0xf                                                                                             
0000a6   af50     BTFSS     0x50,0x7,0x1                                                                                    
0000a8   d006     BRA       0xb6                                                                                            
0000aa   0e00     MOVLW     0x0                                                                                             
0000ac   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000ae   0911     IORLW     0x11                                                                                            
0000b0   6e77     MOVWF     0x77,0x0                                                                                        
0000b2   d838     RCALL     0x124                                                                                           
0000b4   d030     BRA       0x116               else if (B0CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10010; canGetPacket(); } F:\MCP\projects\CAN\canBoot\Source\CAN.c
0000b6   010e     MOVLB     0xe                                                                                             
0000b8   af20     BTFSS     0x20,0x7,0x1                                                                                    
0000ba   d006     BRA       0xc8                                                                                            
0000bc   0e00     MOVLW     0x0                                                                                             
0000be   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000c0   0912     IORLW     0x12                                                                                            
0000c2   6e77     MOVWF     0x77,0x0                                                                                        
0000c4   d82f     RCALL     0x124                                                                                           
0000c6   d027     BRA       0x116               else if (B1CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10011; canGetPacket(); } F:\MCP\projects\CAN\canBoot\Source\CAN.c
0000c8   af30     BTFSS     0x30,0x7,0x1                                                                                    
0000ca   d006     BRA       0xd8                                                                                            
0000cc   0e00     MOVLW     0x0                                                                                             
0000ce   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000d0   0913     IORLW     0x13                                                                                            
0000d2   6e77     MOVWF     0x77,0x0                                                                                        
0000d4   d827     RCALL     0x124                                                                                           
0000d6   d01f     BRA       0x116               else if (B2CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10100; canGetPacket(); } F:\MCP\projects\CAN\canBoot\Source\CAN.c
0000d8   af40     BTFSS     0x40,0x7,0x1                                                                                    
0000da   d006     BRA       0xe8                                                                                            
0000dc   0e00     MOVLW     0x0                                                                                             
0000de   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000e0   0914     IORLW     0x14                                                                                            
0000e2   6e77     MOVWF     0x77,0x0                                                                                        
0000e4   d81f     RCALL     0x124                                                                                           
0000e6   d017     BRA       0x116               else if (B3CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10101; canGetPacket(); } F:\MCP\projects\CAN\canBoot\Source\CAN.c
0000e8   af50     BTFSS     0x50,0x7,0x1                                                                                    
0000ea   d006     BRA       0xf8                                                                                            
0000ec   0e00     MOVLW     0x0                                                                                             
0000ee   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000f0   0915     IORLW     0x15                                                                                            
0000f2   6e77     MOVWF     0x77,0x0                                                                                        
0000f4   d817     RCALL     0x124                                                                                           
0000f6   d00f     BRA       0x116               else if (B4CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10110; canGetPacket(); } F:\MCP\projects\CAN\canBoot\Source\CAN.c
0000f8   af60     BTFSS     0x60,0x7,0x1                                                                                    
0000fa   d006     BRA       0x108                                                                                           
0000fc   0e00     MOVLW     0x0                                                                                             
0000fe   1477     ANDWF     0x77,0x0,0x0                                                                                    
000100   0916     IORLW     0x16                                                                                            
000102   6e77     MOVWF     0x77,0x0                                                                                        
000104   d80f     RCALL     0x124                                                                                           
000106   d007     BRA       0x116               else if (B5CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10111; canGetPacket(); } F:\MCP\projects\CAN\canBoot\Source\CAN.c
000108   af70     BTFSS     0x70,0x7,0x1                                                                                    
00010a   d005     BRA       0x116                                                                                           
00010c   0e00     MOVLW     0x0                                                                                             
00010e   1477     ANDWF     0x77,0x0,0x0                                                                                    
000110   0917     IORLW     0x17                                                                                            
000112   6e77     MOVWF     0x77,0x0                                                                                        
000114   d807     RCALL     0x124                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000116   b2a4     BTFSC     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0;}                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
000118   92a4     BCF       0xa4,0x1,0x0                                                                                    
00011a   b2a4     BTFSC     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0;}                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
00011c   92a4     BCF       0xa4,0x1,0x0                                                                                    
00011e   b0a4     BTFSC     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0;}                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
000120   90a4     BCF       0xa4,0x0,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                            }                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
000122   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Function: canGetPacket                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
000124   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
000126   ffe6                                                                                                               
000128   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00012a   ffd9                                                                                                               
00012c   0e0f     MOVLW     0xf                                                                                             
00012e   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Set extended mode or not.                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
000130   5062     MOVF      0x62,0x0,0x0        cm.extended=(RXB0SIDLbits.EXID==0?FALSE:TRUE);                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
000132   0b08     ANDLW     0x8                                                                                             
000134   e102     BNZ       0x13a                                                                                           
000136   0e00     MOVLW     0x0                                                                                             
000138   d001     BRA       0x13c                                                                                           
00013a   0e01     MOVLW     0x1                                                                                             
00013c   6ee7     MOVWF     0xe7,0x0                                                                                        
00013e   0e04     MOVLW     0x4                                                                                             
000140   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000142   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Clear                                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
000144   6ade     CLRF      0xde,0x0            cm.ident=0;                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
000146   6ade     CLRF      0xde,0x0                                                                                        
000148   6ade     CLRF      0xde,0x0                                                                                        
00014a   6add     CLRF      0xdd,0x0                                                                                        
00014c   52dd     MOVF      0xdd,0x1,0x0                                                                                    
00014e   52dd     MOVF      0xdd,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000150   04db     DECF      0xdb,0x0,0x0        if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
000152   e16f     BNZ       0x232                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //Read extended ident.                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\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\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000154   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\canBoot\Source\CAN.c
000156   6e00     MOVWF     0x0,0x0                                                                                         
000158   6a01     CLRF      0x1,0x0                                                                                         
00015a   6a02     CLRF      0x2,0x0                                                                                         
00015c   6a03     CLRF      0x3,0x0                                                                                         
00015e   0e15     MOVLW     0x15                                                                                            
000160   0b1f     ANDLW     0x1f                                                                                            
000162   e007     BZ        0x172                                                                                           
000164   90d8     BCF       0xd8,0x0,0x0                                                                                    
000166   3600     RLCF      0x0,0x1,0x0                                                                                     
000168   3601     RLCF      0x1,0x1,0x0                                                                                     
00016a   3602     RLCF      0x2,0x1,0x0                                                                                     
00016c   3603     RLCF      0x3,0x1,0x0                                                                                     
00016e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000170   e1f9     BNZ       0x164                                                                                           
000172   0ee0     MOVLW     0xe0                                                                                            
000174   1462     ANDWF     0x62,0x0,0x0                                                                                    
000176   6e04     MOVWF     0x4,0x0                                                                                         
000178   6a05     CLRF      0x5,0x0                                                                                         
00017a   6a06     CLRF      0x6,0x0                                                                                         
00017c   6a07     CLRF      0x7,0x0                                                                                         
00017e   0e0d     MOVLW     0xd                                                                                             
000180   0b1f     ANDLW     0x1f                                                                                            
000182   e007     BZ        0x192                                                                                           
000184   90d8     BCF       0xd8,0x0,0x0                                                                                    
000186   3604     RLCF      0x4,0x1,0x0                                                                                     
000188   3605     RLCF      0x5,0x1,0x0                                                                                     
00018a   3606     RLCF      0x6,0x1,0x0                                                                                     
00018c   3607     RLCF      0x7,0x1,0x0                                                                                     
00018e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000190   e1f9     BNZ       0x184                                                                                           
000192   5004     MOVF      0x4,0x0,0x0                                                                                     
000194   2600     ADDWF     0x0,0x1,0x0                                                                                     
000196   5005     MOVF      0x5,0x0,0x0                                                                                     
000198   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00019a   5006     MOVF      0x6,0x0,0x0                                                                                     
00019c   2202     ADDWFC    0x2,0x1,0x0                                                                                     
00019e   5007     MOVF      0x7,0x0,0x0                                                                                     
0001a0   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0001a2   0e03     MOVLW     0x3                                                                                             
0001a4   1462     ANDWF     0x62,0x0,0x0                                                                                    
0001a6   6e08     MOVWF     0x8,0x0                                                                                         
0001a8   6a09     CLRF      0x9,0x0                                                                                         
0001aa   6a0a     CLRF      0xa,0x0                                                                                         
0001ac   6a0b     CLRF      0xb,0x0                                                                                         
0001ae   0e10     MOVLW     0x10                                                                                            
0001b0   0b1f     ANDLW     0x1f                                                                                            
0001b2   e007     BZ        0x1c2                                                                                           
0001b4   90d8     BCF       0xd8,0x0,0x0                                                                                    
0001b6   3608     RLCF      0x8,0x1,0x0                                                                                     
0001b8   3609     RLCF      0x9,0x1,0x0                                                                                     
0001ba   360a     RLCF      0xa,0x1,0x0                                                                                     
0001bc   360b     RLCF      0xb,0x1,0x0                                                                                     
0001be   06e8     DECF      0xe8,0x1,0x0                                                                                    
0001c0   e1f9     BNZ       0x1b4                                                                                           
0001c2   5008     MOVF      0x8,0x0,0x0                                                                                     
0001c4   2600     ADDWF     0x0,0x1,0x0                                                                                     
0001c6   5009     MOVF      0x9,0x0,0x0                                                                                     
0001c8   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0001ca   500a     MOVF      0xa,0x0,0x0                                                                                     
0001cc   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0001ce   500b     MOVF      0xb,0x0,0x0                                                                                     
0001d0   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0001d2   5063     MOVF      0x63,0x0,0x0                                                                                    
0001d4   6e0c     MOVWF     0xc,0x0                                                                                         
0001d6   6a0d     CLRF      0xd,0x0                                                                                         
0001d8   6a0e     CLRF      0xe,0x0                                                                                         
0001da   6a0f     CLRF      0xf,0x0                                                                                         
0001dc   0e08     MOVLW     0x8                                                                                             
0001de   0b1f     ANDLW     0x1f                                                                                            
0001e0   e007     BZ        0x1f0                                                                                           
0001e2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0001e4   360c     RLCF      0xc,0x1,0x0                                                                                     
0001e6   360d     RLCF      0xd,0x1,0x0                                                                                     
0001e8   360e     RLCF      0xe,0x1,0x0                                                                                     
0001ea   360f     RLCF      0xf,0x1,0x0                                                                                     
0001ec   06e8     DECF      0xe8,0x1,0x0                                                                                    
0001ee   e1f9     BNZ       0x1e2                                                                                           
0001f0   500c     MOVF      0xc,0x0,0x0                                                                                     
0001f2   2600     ADDWF     0x0,0x1,0x0                                                                                     
0001f4   500d     MOVF      0xd,0x0,0x0                                                                                     
0001f6   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0001f8   500e     MOVF      0xe,0x0,0x0                                                                                     
0001fa   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0001fc   500f     MOVF      0xf,0x0,0x0                                                                                     
0001fe   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000200   5064     MOVF      0x64,0x0,0x0                                                                                    
000202   6e10     MOVWF     0x10,0x0                                                                                        
000204   6a11     CLRF      0x11,0x0                                                                                        
000206   6a12     CLRF      0x12,0x0                                                                                        
000208   6a13     CLRF      0x13,0x0                                                                                        
00020a   5010     MOVF      0x10,0x0,0x0                                                                                    
00020c   2600     ADDWF     0x0,0x1,0x0                                                                                     
00020e   5011     MOVF      0x11,0x0,0x0                                                                                    
000210   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000212   5012     MOVF      0x12,0x0,0x0                                                                                    
000214   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000216   5013     MOVF      0x13,0x0,0x0                                                                                    
000218   2203     ADDWFC    0x3,0x1,0x0                                                                                     
00021a   c000     MOVFF     0x0,0xfdf                                                                                       
00021c   ffdf                                                                                                               
00021e   0e01     MOVLW     0x1                                                                                             
000220   c001     MOVFF     0x1,0xfdb                                                                                       
000222   ffdb                                                                                                               
000224   0e02     MOVLW     0x2                                                                                             
000226   c002     MOVFF     0x2,0xfdb                                                                                       
000228   ffdb                                                                                                               
00022a   0e03     MOVLW     0x3                                                                                             
00022c   c003     MOVFF     0x3,0xfdb                                                                                       
00022e   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
000230   d02f     BRA       0x290               else                                                                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //Read standard ident.                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000232   5061     MOVF      0x61,0x0,0x0            cm.ident = (((DWORD)RXB0SIDH)<<3) + (((DWORD)RXB0SIDL)>>5);                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
000234   6e00     MOVWF     0x0,0x0                                                                                         
000236   6a01     CLRF      0x1,0x0                                                                                         
000238   6a02     CLRF      0x2,0x0                                                                                         
00023a   6a03     CLRF      0x3,0x0                                                                                         
00023c   0e03     MOVLW     0x3                                                                                             
00023e   0b1f     ANDLW     0x1f                                                                                            
000240   e007     BZ        0x250                                                                                           
000242   90d8     BCF       0xd8,0x0,0x0                                                                                    
000244   3600     RLCF      0x0,0x1,0x0                                                                                     
000246   3601     RLCF      0x1,0x1,0x0                                                                                     
000248   3602     RLCF      0x2,0x1,0x0                                                                                     
00024a   3603     RLCF      0x3,0x1,0x0                                                                                     
00024c   06e8     DECF      0xe8,0x1,0x0                                                                                    
00024e   e1f9     BNZ       0x242                                                                                           
000250   5062     MOVF      0x62,0x0,0x0                                                                                    
000252   6e04     MOVWF     0x4,0x0                                                                                         
000254   6a05     CLRF      0x5,0x0                                                                                         
000256   6a06     CLRF      0x6,0x0                                                                                         
000258   6a07     CLRF      0x7,0x0                                                                                         
00025a   0e05     MOVLW     0x5                                                                                             
00025c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00025e   3207     RRCF      0x7,0x1,0x0                                                                                     
000260   3206     RRCF      0x6,0x1,0x0                                                                                     
000262   3205     RRCF      0x5,0x1,0x0                                                                                     
000264   3204     RRCF      0x4,0x1,0x0                                                                                     
000266   06e8     DECF      0xe8,0x1,0x0                                                                                    
000268   e1f9     BNZ       0x25c                                                                                           
00026a   5004     MOVF      0x4,0x0,0x0                                                                                     
00026c   2600     ADDWF     0x0,0x1,0x0                                                                                     
00026e   5005     MOVF      0x5,0x0,0x0                                                                                     
000270   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000272   5006     MOVF      0x6,0x0,0x0                                                                                     
000274   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000276   5007     MOVF      0x7,0x0,0x0                                                                                     
000278   2203     ADDWFC    0x3,0x1,0x0                                                                                     
00027a   c000     MOVFF     0x0,0xfdf                                                                                       
00027c   ffdf                                                                                                               
00027e   0e01     MOVLW     0x1                                                                                             
000280   c001     MOVFF     0x1,0xfdb                                                                                       
000282   ffdb                                                                                                               
000284   0e02     MOVLW     0x2                                                                                             
000286   c002     MOVFF     0x2,0xfdb                                                                                       
000288   ffdb                                                                                                               
00028a   0e03     MOVLW     0x3                                                                                             
00028c   c003     MOVFF     0x3,0xfdb                                                                                       
00028e   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
000290   5065     MOVF      0x65,0x0,0x0        cm.data_length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canBoot\Source\CAN.c
000292   0b01     ANDLW     0x1                                                                                             
000294   6e02     MOVWF     0x2,0x0                                                                                         
000296   5065     MOVF      0x65,0x0,0x0                                                                                    
000298   0b02     ANDLW     0x2                                                                                             
00029a   e001     BZ        0x29e                                                                                           
00029c   0e01     MOVLW     0x1                                                                                             
00029e   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
0002a0   6e01     MOVWF     0x1,0x0                                                                                         
0002a2   5065     MOVF      0x65,0x0,0x0                                                                                    
0002a4   0b04     ANDLW     0x4                                                                                             
0002a6   e001     BZ        0x2aa                                                                                           
0002a8   0e01     MOVLW     0x1                                                                                             
0002aa   0d04     MULLW     0x4                                                                                             
0002ac   cff3     MOVFF     0xff3,0x0                                                                                       
0002ae   f000                                                                                                               
0002b0   5065     MOVF      0x65,0x0,0x0                                                                                    
0002b2   0b08     ANDLW     0x8                                                                                             
0002b4   e001     BZ        0x2b8                                                                                           
0002b6   0e01     MOVLW     0x1                                                                                             
0002b8   0d08     MULLW     0x8                                                                                             
0002ba   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0002bc   2400     ADDWF     0x0,0x0,0x0                                                                                     
0002be   2401     ADDWF     0x1,0x0,0x0                                                                                     
0002c0   2402     ADDWF     0x2,0x0,0x0                                                                                     
0002c2   6ee7     MOVWF     0xe7,0x0                                                                                        
0002c4   0e06     MOVLW     0x6                                                                                             
0002c6   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0002c8   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Remote request                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
0002ca   5065     MOVF      0x65,0x0,0x0        cm.remote_request=(RXB0DLCbits.RXRTR==0?FALSE:TRUE);                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
0002cc   0b40     ANDLW     0x40                                                                                            
0002ce   e102     BNZ       0x2d4                                                                                           
0002d0   0e00     MOVLW     0x0                                                                                             
0002d2   d001     BRA       0x2d6                                                                                           
0002d4   0e01     MOVLW     0x1                                                                                             
0002d6   6ee7     MOVWF     0xe7,0x0                                                                                        
0002d8   0e05     MOVLW     0x5                                                                                             
0002da   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0002dc   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
0002de   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
0002e0   cf66     MOVFF     0xf66,0xfdb                                                                                     
0002e2   ffdb                                                                                                               
0002e4   0e08     MOVLW     0x8                                                                                             
0002e6   cf67     MOVFF     0xf67,0xfdb                                                                                     
0002e8   ffdb                                                                                                               
0002ea   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
0002ec   cf68     MOVFF     0xf68,0xfdb                                                                                     
0002ee   ffdb                                                                                                               
0002f0   0e0a     MOVLW     0xa                                                                                             
0002f2   cf69     MOVFF     0xf69,0xfdb                                                                                     
0002f4   ffdb                                                                                                               
0002f6   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
0002f8   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
0002fa   ffdb                                                                                                               
0002fc   0e0c     MOVLW     0xc                                                                                             
0002fe   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
000300   ffdb                                                                                                               
000302   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
000304   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
000306   ffdb                                                                                                               
000308   0e0e     MOVLW     0xe                                                                                             
00030a   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
00030c   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
00030e   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                //Call main parser                                                             F:\MCP\projects\CAN\canBoot\Source\CAN.c
000310   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canBoot\Source\CAN.c
000312   ffe9                                                                                                               
000314   cfda     MOVFF     0xfda,0xfea                                                                                     
000316   ffea                                                                                                               
000318   cfee     MOVFF     0xfee,0xfe6                                                                                     
00031a   ffe6                                                                                                               
00031c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00031e   ffe6                                                                                                               
000320   cfee     MOVFF     0xfee,0xfe6                                                                                     
000322   ffe6                                                                                                               
000324   cfee     MOVFF     0xfee,0xfe6                                                                                     
000326   ffe6                                                                                                               
000328   cfee     MOVFF     0xfee,0xfe6                                                                                     
00032a   ffe6                                                                                                               
00032c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00032e   ffe6                                                                                                               
000330   cfee     MOVFF     0xfee,0xfe6                                                                                     
000332   ffe6                                                                                                               
000334   cfee     MOVFF     0xfee,0xfe6                                                                                     
000336   ffe6                                                                                                               
000338   cfee     MOVFF     0xfee,0xfe6                                                                                     
00033a   ffe6                                                                                                               
00033c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00033e   ffe6                                                                                                               
000340   cfee     MOVFF     0xfee,0xfe6                                                                                     
000342   ffe6                                                                                                               
000344   cfee     MOVFF     0xfee,0xfe6                                                                                     
000346   ffe6                                                                                                               
000348   cfee     MOVFF     0xfee,0xfe6                                                                                     
00034a   ffe6                                                                                                               
00034c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00034e   ffe6                                                                                                               
000350   cfee     MOVFF     0xfee,0xfe6                                                                                     
000352   ffe6                                                                                                               
000354   ec31     CALL      0x662,0x0                                                                                       
000356   f003                                                                                                               
000358   6e00     MOVWF     0x0,0x0                                                                                         
00035a   0e0f     MOVLW     0xf                                                                                             
00035c   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00035e   5000     MOVF      0x0,0x0,0x0                                                                                     
000360   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
000362   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000364   e202     BC        0x36a                                                                                           
000366   6ae1     CLRF      0xe1,0x0                                                                                        
000368   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00036a   6ee1     MOVWF     0xe1,0x0                                                                                        
00036c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00036e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000370   ffd9                                                                                                               
000372   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Function: canSendMessage                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Input:  CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Affects: ..                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
000374   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000376   ffe6                                                                                                               
000378   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00037a   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
00037c   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBoot\Source\CAN.c
00037e   b740     BTFSC     0x40,0x3,0x1                                                                                    
000380   d004     BRA       0x38a                                                                                           
000382   0e00     MOVLW     0x0                                                                                             
000384   1477     ANDWF     0x77,0x0,0x0                                                                                    
000386   0903     IORLW     0x3                                                                                             
000388   6e77     MOVWF     0x77,0x0                                                                                        
00038a   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBoot\Source\CAN.c
00038c   b730     BTFSC     0x30,0x3,0x1                                                                                    
00038e   d004     BRA       0x398                                                                                           
000390   0e00     MOVLW     0x0                                                                                             
000392   1477     ANDWF     0x77,0x0,0x0                                                                                    
000394   0904     IORLW     0x4                                                                                             
000396   6e77     MOVWF     0x77,0x0                                                                                        
000398   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBoot\Source\CAN.c
00039a   b720     BTFSC     0x20,0x3,0x1                                                                                    
00039c   d005     BRA       0x3a8                                                                                           
00039e   0e00     MOVLW     0x0                                                                                             
0003a0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0003a2   0905     IORLW     0x5                                                                                             
0003a4   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBoot\Source\CAN.c
0003a6   d002     BRA       0x3ac           else { return FALSE;}                                                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
0003a8   0e00     MOVLW     0x0                                                                                             
0003aa   d0e4     BRA       0x574                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
0003ac   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
0003ae   cfdb     MOVFF     0xfdb,0x0                                                                                       
0003b0   f000                                                                                                               
0003b2   3400     RLCF      0x0,0x0,0x0                                                                                     
0003b4   e20e     BC        0x3d2                                                                                           
0003b6   0eef     MOVLW     0xef                                                                                            
0003b8   cfdb     MOVFF     0xfdb,0x1                                                                                       
0003ba   f001                                                                                                               
0003bc   0e03     MOVLW     0x3                                                                                             
0003be   6ee7     MOVWF     0xe7,0x0                                                                                        
0003c0   1801     XORWF     0x1,0x0,0x0                                                                                     
0003c2   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
0003c4   d002     BRA       0x3ca                                                                                           
0003c6   3401     RLCF      0x1,0x0,0x0                                                                                     
0003c8   d003     BRA       0x3d0                                                                                           
0003ca   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0003cc   80d8     BSF       0xd8,0x0,0x0                                                                                    
0003ce   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0003d0   e202     BC        0x3d6                                                                                           
0003d2   0eef     MOVLW     0xef                                                                                            
0003d4   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
0003d6   0ef4     MOVLW     0xf4                if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
0003d8   04db     DECF      0xdb,0x0,0x0                                                                                    
0003da   e15f     BNZ       0x49a                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //Write extended ident.                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\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\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
0003dc   0ef0     MOVLW     0xf0                    RXB0SIDH =  (BYTE)((cm.ident>>21));                                     F:\MCP\projects\CAN\canBoot\Source\CAN.c
0003de   cfdb     MOVFF     0xfdb,0x0                                                                                       
0003e0   f000                                                                                                               
0003e2   0ef1     MOVLW     0xf1                                                                                            
0003e4   cfdb     MOVFF     0xfdb,0x1                                                                                       
0003e6   f001                                                                                                               
0003e8   0ef2     MOVLW     0xf2                                                                                            
0003ea   cfdb     MOVFF     0xfdb,0x2                                                                                       
0003ec   f002                                                                                                               
0003ee   0ef3     MOVLW     0xf3                                                                                            
0003f0   cfdb     MOVFF     0xfdb,0x3                                                                                       
0003f2   f003                                                                                                               
0003f4   0e15     MOVLW     0x15                                                                                            
0003f6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0003f8   3203     RRCF      0x3,0x1,0x0                                                                                     
0003fa   3202     RRCF      0x2,0x1,0x0                                                                                     
0003fc   3201     RRCF      0x1,0x1,0x0                                                                                     
0003fe   3200     RRCF      0x0,0x1,0x0                                                                                     
000400   06e8     DECF      0xe8,0x1,0x0                                                                                    
000402   e1f9     BNZ       0x3f6                                                                                           
000404   5000     MOVF      0x0,0x0,0x0                                                                                     
000406   6e61     MOVWF     0x61,0x0                                                                                        
000408   0ef0     MOVLW     0xf0                    RXB0SIDL = ((BYTE)(cm.ident>>16) & 0x03) + ((BYTE)(cm.ident>>13) & 0xE0); F:\MCP\projects\CAN\canBoot\Source\CAN.c
00040a   cfdb     MOVFF     0xfdb,0x5                                                                                       
00040c   f005                                                                                                               
00040e   0ef1     MOVLW     0xf1                                                                                            
000410   cfdb     MOVFF     0xfdb,0x6                                                                                       
000412   f006                                                                                                               
000414   0ef2     MOVLW     0xf2                                                                                            
000416   cfdb     MOVFF     0xfdb,0x7                                                                                       
000418   f007                                                                                                               
00041a   0ef3     MOVLW     0xf3                                                                                            
00041c   cfdb     MOVFF     0xfdb,0x8                                                                                       
00041e   f008                                                                                                               
000420   0e0d     MOVLW     0xd                                                                                             
000422   90d8     BCF       0xd8,0x0,0x0                                                                                    
000424   3208     RRCF      0x8,0x1,0x0                                                                                     
000426   3207     RRCF      0x7,0x1,0x0                                                                                     
000428   3206     RRCF      0x6,0x1,0x0                                                                                     
00042a   3205     RRCF      0x5,0x1,0x0                                                                                     
00042c   06e8     DECF      0xe8,0x1,0x0                                                                                    
00042e   e1f9     BNZ       0x422                                                                                           
000430   0ee0     MOVLW     0xe0                                                                                            
000432   1405     ANDWF     0x5,0x0,0x0                                                                                     
000434   6e04     MOVWF     0x4,0x0                                                                                         
000436   0ef0     MOVLW     0xf0                                                                                            
000438   cfdb     MOVFF     0xfdb,0x0                                                                                       
00043a   f000                                                                                                               
00043c   0ef1     MOVLW     0xf1                                                                                            
00043e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000440   f001                                                                                                               
000442   0ef2     MOVLW     0xf2                                                                                            
000444   cfdb     MOVFF     0xfdb,0x2                                                                                       
000446   f002                                                                                                               
000448   0ef3     MOVLW     0xf3                                                                                            
00044a   cfdb     MOVFF     0xfdb,0x3                                                                                       
00044c   f003                                                                                                               
00044e   0e10     MOVLW     0x10                                                                                            
000450   90d8     BCF       0xd8,0x0,0x0                                                                                    
000452   3203     RRCF      0x3,0x1,0x0                                                                                     
000454   3202     RRCF      0x2,0x1,0x0                                                                                     
000456   3201     RRCF      0x1,0x1,0x0                                                                                     
000458   3200     RRCF      0x0,0x1,0x0                                                                                     
00045a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00045c   e1f9     BNZ       0x450                                                                                           
00045e   0e03     MOVLW     0x3                                                                                             
000460   1400     ANDWF     0x0,0x0,0x0                                                                                     
000462   2404     ADDWF     0x4,0x0,0x0                                                                                     
000464   6e62     MOVWF     0x62,0x0                                                                                        
000466   0ef0     MOVLW     0xf0                    RXB0EIDH =  (BYTE)(cm.ident>>8);                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
000468   cfdb     MOVFF     0xfdb,0x0                                                                                       
00046a   f000                                                                                                               
00046c   0ef1     MOVLW     0xf1                                                                                            
00046e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000470   f001                                                                                                               
000472   0ef2     MOVLW     0xf2                                                                                            
000474   cfdb     MOVFF     0xfdb,0x2                                                                                       
000476   f002                                                                                                               
000478   0ef3     MOVLW     0xf3                                                                                            
00047a   cfdb     MOVFF     0xfdb,0x3                                                                                       
00047c   f003                                                                                                               
00047e   0e08     MOVLW     0x8                                                                                             
000480   90d8     BCF       0xd8,0x0,0x0                                                                                    
000482   3203     RRCF      0x3,0x1,0x0                                                                                     
000484   3202     RRCF      0x2,0x1,0x0                                                                                     
000486   3201     RRCF      0x1,0x1,0x0                                                                                     
000488   3200     RRCF      0x0,0x1,0x0                                                                                     
00048a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00048c   e1f9     BNZ       0x480                                                                                           
00048e   5000     MOVF      0x0,0x0,0x0                                                                                     
000490   6e63     MOVWF     0x63,0x0                                                                                        
000492   0ef0     MOVLW     0xf0                    RXB0EIDL =  (BYTE)cm.ident;                                             F:\MCP\projects\CAN\canBoot\Source\CAN.c
000494   50db     MOVF      0xdb,0x0,0x0                                                                                    
000496   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
000498   d02f     BRA       0x4f8               else                                                                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //Write standard ident.                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    //RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
00049a   0ef0     MOVLW     0xf0                        RXB0SIDH=  (BYTE)(cm.ident>>3);                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
00049c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00049e   f000                                                                                                               
0004a0   0ef1     MOVLW     0xf1                                                                                            
0004a2   cfdb     MOVFF     0xfdb,0x1                                                                                       
0004a4   f001                                                                                                               
0004a6   0ef2     MOVLW     0xf2                                                                                            
0004a8   cfdb     MOVFF     0xfdb,0x2                                                                                       
0004aa   f002                                                                                                               
0004ac   0ef3     MOVLW     0xf3                                                                                            
0004ae   cfdb     MOVFF     0xfdb,0x3                                                                                       
0004b0   f003                                                                                                               
0004b2   0e03     MOVLW     0x3                                                                                             
0004b4   90d8     BCF       0xd8,0x0,0x0                                                                                    
0004b6   3203     RRCF      0x3,0x1,0x0                                                                                     
0004b8   3202     RRCF      0x2,0x1,0x0                                                                                     
0004ba   3201     RRCF      0x1,0x1,0x0                                                                                     
0004bc   3200     RRCF      0x0,0x1,0x0                                                                                     
0004be   06e8     DECF      0xe8,0x1,0x0                                                                                    
0004c0   e1f9     BNZ       0x4b4                                                                                           
0004c2   5000     MOVF      0x0,0x0,0x0                                                                                     
0004c4   6e61     MOVWF     0x61,0x0                                                                                        
0004c6   0ef0     MOVLW     0xf0                    RXB0SIDL= ((BYTE)(cm.ident<<5) & 0xE0);                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
0004c8   cfdb     MOVFF     0xfdb,0x0                                                                                       
0004ca   f000                                                                                                               
0004cc   0ef1     MOVLW     0xf1                                                                                            
0004ce   cfdb     MOVFF     0xfdb,0x1                                                                                       
0004d0   f001                                                                                                               
0004d2   0ef2     MOVLW     0xf2                                                                                            
0004d4   cfdb     MOVFF     0xfdb,0x2                                                                                       
0004d6   f002                                                                                                               
0004d8   0ef3     MOVLW     0xf3                                                                                            
0004da   cfdb     MOVFF     0xfdb,0x3                                                                                       
0004dc   f003                                                                                                               
0004de   0e05     MOVLW     0x5                                                                                             
0004e0   0b1f     ANDLW     0x1f                                                                                            
0004e2   e007     BZ        0x4f2                                                                                           
0004e4   90d8     BCF       0xd8,0x0,0x0                                                                                    
0004e6   3600     RLCF      0x0,0x1,0x0                                                                                     
0004e8   3601     RLCF      0x1,0x1,0x0                                                                                     
0004ea   3602     RLCF      0x2,0x1,0x0                                                                                     
0004ec   3603     RLCF      0x3,0x1,0x0                                                                                     
0004ee   06e8     DECF      0xe8,0x1,0x0                                                                                    
0004f0   e1f9     BNZ       0x4e4                                                                                           
0004f2   0ee0     MOVLW     0xe0                                                                                            
0004f4   1400     ANDWF     0x0,0x0,0x0                                                                                     
0004f6   6e62     MOVWF     0x62,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
0004f8   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
0004fa   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBoot\Source\CAN.c
0004fc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004fe   0808     SUBLW     0x8                                                                                             
000500   e203     BC        0x508                                                                                           
000502   0e08     MOVLW     0x8                                                                                             
000504   6e65     MOVWF     0x65,0x0                                                                                        
000506   d003     BRA       0x50e                                                                                           
000508   0ef6     MOVLW     0xf6                                                                                            
00050a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00050c   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Remote request                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
00050e   0ef5     MOVLW     0xf5                if (cm.remote_request==TRUE)                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
000510   04db     DECF      0xdb,0x0,0x0                                                                                    
000512   e102     BNZ       0x518                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    _asm                                                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
000514   8c65     BSF       0x65,0x6,0x0                bsf RXB0DLC, 6, 0                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    _endasm                                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
000516   d001     BRA       0x51a               else                                                                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    _asm                                                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
000518   9c65     BCF       0x65,0x6,0x0                bcf RXB0DLC, 6, 0                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                    _endasm                                                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c
00051a   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBoot\Source\CAN.c
00051c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00051e   6e66     MOVWF     0x66,0x0                                                                                        
000520   0ef8     MOVLW     0xf8                                                                                            
000522   50db     MOVF      0xdb,0x0,0x0                                                                                    
000524   6e67     MOVWF     0x67,0x0                                                                                        
000526   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
000528   50db     MOVF      0xdb,0x0,0x0                                                                                    
00052a   6e68     MOVWF     0x68,0x0                                                                                        
00052c   0efa     MOVLW     0xfa                                                                                            
00052e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000530   6e69     MOVWF     0x69,0x0                                                                                        
000532   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
000534   50db     MOVF      0xdb,0x0,0x0                                                                                    
000536   6e6a     MOVWF     0x6a,0x0                                                                                        
000538   0efc     MOVLW     0xfc                                                                                            
00053a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00053c   6e6b     MOVWF     0x6b,0x0                                                                                        
00053e   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
000540   50db     MOVF      0xdb,0x0,0x0                                                                                    
000542   6e6c     MOVWF     0x6c,0x0                                                                                        
000544   0efe     MOVLW     0xfe                                                                                            
000546   50db     MOVF      0xdb,0x0,0x0                                                                                    
000548   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canBoot\Source\CAN.c
00054a   0ef4     MOVLW     0xf4                RXB0SIDLbits.EXID=(cm.extended==TRUE?1:0);                                     F:\MCP\projects\CAN\canBoot\Source\CAN.c
00054c   04db     DECF      0xdb,0x0,0x0                                                                                    
00054e   e102     BNZ       0x554                                                                                           
000550   0e01     MOVLW     0x1                                                                                             
000552   d001     BRA       0x556                                                                                           
000554   0e00     MOVLW     0x0                                                                                             
000556   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
000558   8662     BSF       0x62,0x3,0x0                                                                                    
00055a   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
00055c   9662     BCF       0x62,0x3,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // Priority                                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
00055e   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBoot\Source\CAN.c
000560   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000562   ffe6                                                                                                               
000564   0efc     MOVLW     0xfc                                                                                            
000566   1460     ANDWF     0x60,0x0,0x0                                                                                    
000568   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00056a   10e7     IORWF     0xe7,0x0,0x0                                                                                    
00056c   6e60     MOVWF     0x60,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                // mark as redy to transmit                                                    F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                _asm                                                                           F:\MCP\projects\CAN\canBoot\Source\CAN.c
00056e   8660     BSF       0x60,0x3,0x0            bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000570   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\CAN.c
000572   d000     BRA       0x574                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
000574   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\CAN.c
000576   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000578   ffd9                                                                                                               
00057a   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\CAN.c
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canBoot\Source\CAN.c