Subversion Repositories HomeAutomation

Rev

Rev 56 | 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: Sun Oct 29 18:28:01 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
                                           #include <CANdefs.h>                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <Tick.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 CAN_PROTO_MESSAGE cm;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static BYTE ful=0;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static DWORD cnt =0;                                                             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
                                           static BOOL canGetPacket(void);                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #define PACKET_TIMEOUT (TICK_SECOND/20)                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #define BOOTLOADER_INIT_TIMOUT (TICK_SECOND*5)                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000044   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000046   ffe6                                                                                                               
000048   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00004a   ffd9                                                                                                               
00004c   0e11     MOVLW     0x11                                                                                            
00004e   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static PROGRAM_STATE pgs = pgsWATING_START;                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static TICK t = 0;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static WORD programmerSid=0;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static BYTE errMsg = ERR_NO_ERROR;                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static PROGRAM_STATE afterAckPgs = pgsWATING_START;                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static DWORD pgmAddress = 0;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static BYTE bytesReceived = 0;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static BYTE tmp;                                                                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
000050   da22     RCALL     0x496           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
000052   da27     RCALL     0x4a2               canInit();                                                                     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
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000054   ec5e     CALL      0x8bc,0x0       tickInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000056   f004                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003b0   d653     BRA       0x58            for(;;)                                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                CAN_PROTO_MESSAGE outCm;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000058   da4d     RCALL     0x4f4               BOOL hasPacket = canGetPacket();                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00005a   6ee7     MOVWF     0xe7,0x0                                                                                        
00005c   0e10     MOVLW     0x10                                                                                            
00005e   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000060   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000062   50db     MOVF      0xdb,0x0,0x0        if (hasPacket)                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000064   e003     BZ        0x6c                                                                                            
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000066   0100     MOVLB     0x0                         tmp=5;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000068   0e05     MOVLW     0x5                                                                                             
00006a   6f83     MOVWF     0x83,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00006c   0100     MOVLB     0x0                 switch(pgs)                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00006e   5165     MOVF      0x65,0x0,0x1                                                                                    
000070   0a05     XORLW     0x5                                                                                             
000072   e101     BNZ       0x76                                                                                            
000074   d179     BRA       0x368                                                                                           
000076   0a01     XORLW     0x1                                                                                             
000078   e101     BNZ       0x7c                                                                                            
00007a   d16b     BRA       0x352                                                                                           
00007c   0a07     XORLW     0x7                                                                                             
00007e   e101     BNZ       0x82                                                                                            
000080   d0f7     BRA       0x270                                                                                           
000082   0a01     XORLW     0x1                                                                                             
000084   e101     BNZ       0x88                                                                                            
000086   d0b9     BRA       0x1fa                                                                                           
000088   0a03     XORLW     0x3                                                                                             
00008a   e061     BZ        0x14e                                                                                           
00008c   0a01     XORLW     0x1                                                                                             
00008e   e002     BZ        0x94                                                                                            
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWATING_START:                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Check if there is bootloader start packet                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000094   0e10     MOVLW     0x10                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && cm.funcc==FUNCC_BOOT_INIT && cm.data[RID_INDEX]==MY_ID && cm.nid==MY_NID) F:\MCP\projects\CAN\canBoot\Source\Main.c
000096   04db     DECF      0xdb,0x0,0x0                                                                                    
000098   e159     BNZ       0x14c                                                                                           
00009a   0100     MOVLB     0x0                                                                                             
00009c   5173     MOVF      0x73,0x0,0x1                                                                                    
00009e   e156     BNZ       0x14c                                                                                           
0000a0   0e01     MOVLW     0x1                                                                                             
0000a2   1974     XORWF     0x74,0x0,0x1                                                                                    
0000a4   e101     BNZ       0xa8                                                                                            
0000a6   5175     MOVF      0x75,0x0,0x1                                                                                    
0000a8   e151     BNZ       0x14c                                                                                           
0000aa   0e78     MOVLW     0x78                                                                                            
0000ac   5d7f     SUBWF     0x7f,0x0,0x1                                                                                    
0000ae   e14e     BNZ       0x14c                                                                                           
0000b0   5176     MOVF      0x76,0x0,0x1                                                                                    
0000b2   e14c     BNZ       0x14c                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Has new start packet                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0000b4   c07d     MOVFF     0x7d,0x0                        pgmAddress      = (((DWORD)cm.data[ADDRU_INDEX])<<16)+(((DWORD)cm.data[ADDRH_INDEX])<<8)+((DWORD)cm.data[ADDRL_INDEX]); F:\MCP\projects\CAN\canBoot\Source\Main.c
0000b6   f000                                                                                                               
0000b8   6a01     CLRF      0x1,0x0                                                                                         
0000ba   6a02     CLRF      0x2,0x0                                                                                         
0000bc   6a03     CLRF      0x3,0x0                                                                                         
0000be   0e10     MOVLW     0x10                                                                                            
0000c0   0b1f     ANDLW     0x1f                                                                                            
0000c2   e007     BZ        0xd2                                                                                            
0000c4   90d8     BCF       0xd8,0x0,0x0                                                                                    
0000c6   3600     RLCF      0x0,0x1,0x0                                                                                     
0000c8   3601     RLCF      0x1,0x1,0x0                                                                                     
0000ca   3602     RLCF      0x2,0x1,0x0                                                                                     
0000cc   3603     RLCF      0x3,0x1,0x0                                                                                     
0000ce   06e8     DECF      0xe8,0x1,0x0                                                                                    
0000d0   e1f9     BNZ       0xc4                                                                                            
0000d2   c07c     MOVFF     0x7c,0x4                                                                                        
0000d4   f004                                                                                                               
0000d6   6a05     CLRF      0x5,0x0                                                                                         
0000d8   6a06     CLRF      0x6,0x0                                                                                         
0000da   6a07     CLRF      0x7,0x0                                                                                         
0000dc   0e08     MOVLW     0x8                                                                                             
0000de   0b1f     ANDLW     0x1f                                                                                            
0000e0   e007     BZ        0xf0                                                                                            
0000e2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0000e4   3604     RLCF      0x4,0x1,0x0                                                                                     
0000e6   3605     RLCF      0x5,0x1,0x0                                                                                     
0000e8   3606     RLCF      0x6,0x1,0x0                                                                                     
0000ea   3607     RLCF      0x7,0x1,0x0                                                                                     
0000ec   06e8     DECF      0xe8,0x1,0x0                                                                                    
0000ee   e1f9     BNZ       0xe2                                                                                            
0000f0   5004     MOVF      0x4,0x0,0x0                                                                                     
0000f2   2600     ADDWF     0x0,0x1,0x0                                                                                     
0000f4   5005     MOVF      0x5,0x0,0x0                                                                                     
0000f6   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0000f8   5006     MOVF      0x6,0x0,0x0                                                                                     
0000fa   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0000fc   5007     MOVF      0x7,0x0,0x0                                                                                     
0000fe   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000100   c07b     MOVFF     0x7b,0x8                                                                                        
000102   f008                                                                                                               
000104   6a09     CLRF      0x9,0x0                                                                                         
000106   6a0a     CLRF      0xa,0x0                                                                                         
000108   6a0b     CLRF      0xb,0x0                                                                                         
00010a   5000     MOVF      0x0,0x0,0x0                                                                                     
00010c   2408     ADDWF     0x8,0x0,0x0                                                                                     
00010e   0100     MOVLB     0x0                                                                                             
000110   6f6e     MOVWF     0x6e,0x1                                                                                        
000112   5001     MOVF      0x1,0x0,0x0                                                                                     
000114   2009     ADDWFC    0x9,0x0,0x0                                                                                     
000116   6f6f     MOVWF     0x6f,0x1                                                                                        
000118   5002     MOVF      0x2,0x0,0x0                                                                                     
00011a   200a     ADDWFC    0xa,0x0,0x0                                                                                     
00011c   6f70     MOVWF     0x70,0x1                                                                                        
00011e   5003     MOVF      0x3,0x0,0x0                                                                                     
000120   200b     ADDWFC    0xb,0x0,0x0                                                                                     
000122   6f71     MOVWF     0x71,0x1                                                                                        
000124   c077     MOVFF     0x77,0x6a                       programmerSid   = cm.sid;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000126   f06a                                                                                                               
000128   c078     MOVFF     0x78,0x6b                                                                                       
00012a   f06b                                                                                                               
00012c   ec68     CALL      0x8d0,0x0                       t               = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
00012e   f004                                                                                                               
000130   c010     MOVFF     0x10,0x66                                                                                       
000132   f066                                                                                                               
000134   c011     MOVFF     0x11,0x67                                                                                       
000136   f067                                                                                                               
000138   c012     MOVFF     0x12,0x68                                                                                       
00013a   f068                                                                                                               
00013c   c013     MOVFF     0x13,0x69                                                                                       
00013e   f069                                                                                                               
000140   0100     MOVLB     0x0                             errMsg          = ERR_NO_ERROR;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000142   6b6c     CLRF      0x6c,0x1                                                                                        
000144   0e02     MOVLW     0x2                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000146   6f6d     MOVWF     0x6d,0x1                                                                                        
000148   0e01     MOVLW     0x1                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00014a   6f65     MOVWF     0x65,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // TODO TIMEOUT!                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // tBoot = tickGet();                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // if ((tickGet()-tBoot)>BOOTLOADER_INIT_TIMOUT) goto userprgm;              F:\MCP\projects\CAN\canBoot\Source\Main.c
00014c   d131     BRA       0x3b0                   break;                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsSEND_ACK:                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // send ack                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00014e   6adf     CLRF      0xdf,0x0                    outCm.funct             = FUNCT_BOOTLOADER;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000150   0e04     MOVLW     0x4                         outCm.funcc             = FUNCC_BOOT_ACK;                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000152   6ef3     MOVWF     0xf3,0x0                                                                                        
000154   0e01     MOVLW     0x1                                                                                             
000156   cff3     MOVFF     0xff3,0xfdb                                                                                     
000158   ffdb                                                                                                               
00015a   0e02     MOVLW     0x2                                                                                             
00015c   6adb     CLRF      0xdb,0x0                                                                                        
00015e   0e03     MOVLW     0x3                         outCm.nid               = MY_NID;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000160   6adb     CLRF      0xdb,0x0                                                                                        
000162   0e78     MOVLW     0x78                        outCm.sid               = MY_ID;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000164   6ef3     MOVWF     0xf3,0x0                                                                                        
000166   0e04     MOVLW     0x4                                                                                             
000168   cff3     MOVFF     0xff3,0xfdb                                                                                     
00016a   ffdb                                                                                                               
00016c   0e05     MOVLW     0x5                                                                                             
00016e   6adb     CLRF      0xdb,0x0                                                                                        
000170   0e08     MOVLW     0x8                         outCm.data_length       = 8;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000172   6ef3     MOVWF     0xf3,0x0                                                                                        
000174   0e06     MOVLW     0x6                                                                                             
000176   cff3     MOVFF     0xff3,0xfdb                                                                                     
000178   ffdb                                                                                                               
00017a   0e07     MOVLW     0x7                         outCm.remote_request    = FALSE;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00017c   6adb     CLRF      0xdb,0x0                                                                                        
00017e   0e0c     MOVLW     0xc                         outCm.data[ERR_INDEX]   = errMsg;                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000180   c06c     MOVFF     0x6c,0xfdb                                                                                      
000182   ffdb                                                                                                               
000184   ec68     CALL      0x8d0,0x0                   t                       = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000186   f004                                                                                                               
000188   c010     MOVFF     0x10,0x66                                                                                       
00018a   f066                                                                                                               
00018c   c011     MOVFF     0x11,0x67                                                                                       
00018e   f067                                                                                                               
000190   c012     MOVFF     0x12,0x68                                                                                       
000192   f068                                                                                                               
000194   c013     MOVFF     0x13,0x69                                                                                       
000196   f069                                                                                                               
000198   c06d     MOVFF     0x6d,0x65                   pgs                     = afterAckPgs;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00019a   f065                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00019c   0e02     MOVLW     0x2                         while(!canSendMessage(outCm,PRIO_HIGH));                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00019e   6ee6     MOVWF     0xe6,0x0                                                                                        
0001a0   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0001a2   ffe9                                                                                                               
0001a4   cfda     MOVFF     0xfda,0xfea                                                                                     
0001a6   ffea                                                                                                               
0001a8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001aa   ffe6                                                                                                               
0001ac   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001ae   ffe6                                                                                                               
0001b0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001b2   ffe6                                                                                                               
0001b4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001b6   ffe6                                                                                                               
0001b8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001ba   ffe6                                                                                                               
0001bc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001be   ffe6                                                                                                               
0001c0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001c2   ffe6                                                                                                               
0001c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001c6   ffe6                                                                                                               
0001c8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001ca   ffe6                                                                                                               
0001cc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001ce   ffe6                                                                                                               
0001d0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001d2   ffe6                                                                                                               
0001d4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001d6   ffe6                                                                                                               
0001d8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001da   ffe6                                                                                                               
0001dc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001de   ffe6                                                                                                               
0001e0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001e2   ffe6                                                                                                               
0001e4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0001e6   ffe6                                                                                                               
0001e8   da45     RCALL     0x674                                                                                           
0001ea   6e00     MOVWF     0x0,0x0                                                                                         
0001ec   0e11     MOVLW     0x11                                                                                            
0001ee   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0001f0   5000     MOVF      0x0,0x0,0x0                                                                                     
0001f2   0900     IORLW     0x0                                                                                             
0001f4   e101     BNZ       0x1f8                                                                                           
0001f6   d7d2     BRA       0x19c                                                                                           
0001f8   d0db     BRA       0x3b0                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWAIT_FIRST_PGM_PACKET:                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // wait for first pgm packet.                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0001fa   ec68     CALL      0x8d0,0x0                   if ((tickGet()-t)>PACKET_TIMEOUT)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0001fc   f004                                                                                                               
0001fe   0100     MOVLB     0x0                                                                                             
000200   5166     MOVF      0x66,0x0,0x1                                                                                    
000202   5c10     SUBWF     0x10,0x0,0x0                                                                                    
000204   6e00     MOVWF     0x0,0x0                                                                                         
000206   5167     MOVF      0x67,0x0,0x1                                                                                    
000208   5811     SUBWFB    0x11,0x0,0x0                                                                                    
00020a   6e01     MOVWF     0x1,0x0                                                                                         
00020c   5168     MOVF      0x68,0x0,0x1                                                                                    
00020e   5812     SUBWFB    0x12,0x0,0x0                                                                                    
000210   6e02     MOVWF     0x2,0x0                                                                                         
000212   5169     MOVF      0x69,0x0,0x1                                                                                    
000214   5813     SUBWFB    0x13,0x0,0x0                                                                                    
000216   6e03     MOVWF     0x3,0x0                                                                                         
000218   80d8     BSF       0xd8,0x0,0x0                                                                                    
00021a   0e05     MOVLW     0x5                                                                                             
00021c   5400     SUBFWB    0x0,0x0,0x0                                                                                     
00021e   0e00     MOVLW     0x0                                                                                             
000220   5401     SUBFWB    0x1,0x0,0x0                                                                                     
000222   0e00     MOVLW     0x0                                                                                             
000224   5402     SUBFWB    0x2,0x0,0x0                                                                                     
000226   0e00     MOVLW     0x0                                                                                             
000228   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00022a   e205     BC        0x236                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Timeout, resend ack.                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00022c   6b6c     CLRF      0x6c,0x1                        errMsg          = ERR_NO_ERROR;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00022e   0e02     MOVLW     0x2                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000230   6f6d     MOVWF     0x6d,0x1                                                                                        
000232   0e01     MOVLW     0x1                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000234   6f65     MOVWF     0x65,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If programming packet...                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000236   0e10     MOVLW     0x10                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && cm.funcc==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
000238   04db     DECF      0xdb,0x0,0x0                                                                                    
00023a   e119     BNZ       0x26e                                                                                           
00023c   0100     MOVLB     0x0                                                                                             
00023e   5173     MOVF      0x73,0x0,0x1                                                                                    
000240   e116     BNZ       0x26e                                                                                           
000242   0e03     MOVLW     0x3                                                                                             
000244   1974     XORWF     0x74,0x0,0x1                                                                                    
000246   e101     BNZ       0x24a                                                                                           
000248   5175     MOVF      0x75,0x0,0x1                                                                                    
00024a   e111     BNZ       0x26e                                                                                           
00024c   5176     MOVF      0x76,0x0,0x1                                                                                    
00024e   e10f     BNZ       0x26e                                                                                           
000250   0100     MOVLB     0x0                                                                                             
000252   516a     MOVF      0x6a,0x0,0x1                                                                                    
000254   0100     MOVLB     0x0                                                                                             
000256   1977     XORWF     0x77,0x0,0x1                                                                                    
000258   e104     BNZ       0x262                                                                                           
00025a   0100     MOVLB     0x0                                                                                             
00025c   516b     MOVF      0x6b,0x0,0x1                                                                                    
00025e   0100     MOVLB     0x0                                                                                             
000260   1978     XORWF     0x78,0x0,0x1                                                                                    
000262   e105     BNZ       0x26e                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Save bytes in memory, setup start adress etc..                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000264   0100     MOVLB     0x0                             bytesReceived   = 8;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000266   0e08     MOVLW     0x8                                                                                             
000268   6f72     MOVWF     0x72,0x1                                                                                        
00026a   0e03     MOVLW     0x3                             pgs             = pgsWAIT_PGM_PACKET;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00026c   6f65     MOVWF     0x65,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00026e   d0a0     BRA       0x3b0                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWAIT_PGM_PACKET:                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If programming packet...                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000270   0e10     MOVLW     0x10                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && cm.funcc==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
000272   04db     DECF      0xdb,0x0,0x0                                                                                    
000274   e119     BNZ       0x2a8                                                                                           
000276   0100     MOVLB     0x0                                                                                             
000278   5173     MOVF      0x73,0x0,0x1                                                                                    
00027a   e116     BNZ       0x2a8                                                                                           
00027c   0e03     MOVLW     0x3                                                                                             
00027e   1974     XORWF     0x74,0x0,0x1                                                                                    
000280   e101     BNZ       0x284                                                                                           
000282   5175     MOVF      0x75,0x0,0x1                                                                                    
000284   e111     BNZ       0x2a8                                                                                           
000286   5176     MOVF      0x76,0x0,0x1                                                                                    
000288   e10f     BNZ       0x2a8                                                                                           
00028a   0100     MOVLB     0x0                                                                                             
00028c   516a     MOVF      0x6a,0x0,0x1                                                                                    
00028e   0100     MOVLB     0x0                                                                                             
000290   1977     XORWF     0x77,0x0,0x1                                                                                    
000292   e104     BNZ       0x29c                                                                                           
000294   0100     MOVLB     0x0                                                                                             
000296   516b     MOVF      0x6b,0x0,0x1                                                                                    
000298   0100     MOVLB     0x0                                                                                             
00029a   1978     XORWF     0x78,0x0,0x1                                                                                    
00029c   e105     BNZ       0x2a8                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Save bytes in memory, inc received bytes.                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00029e   0e08     MOVLW     0x8                             bytesReceived   += 8;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a0   0100     MOVLB     0x0                                                                                             
0002a2   2772     ADDWF     0x72,0x1,0x1                                                                                    
0002a4   0e03     MOVLW     0x3                             pgs              = pgsWAIT_PGM_PACKET;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a6   6f65     MOVWF     0x65,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If adress packet (control packet)..                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a8   0e10     MOVLW     0x10                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && cm.funcc==FUNCC_BOOT_ADDR && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
0002aa   04db     DECF      0xdb,0x0,0x0                                                                                    
0002ac   e11a     BNZ       0x2e2                                                                                           
0002ae   0100     MOVLB     0x0                                                                                             
0002b0   5173     MOVF      0x73,0x0,0x1                                                                                    
0002b2   e117     BNZ       0x2e2                                                                                           
0002b4   0e02     MOVLW     0x2                                                                                             
0002b6   1974     XORWF     0x74,0x0,0x1                                                                                    
0002b8   e101     BNZ       0x2bc                                                                                           
0002ba   5175     MOVF      0x75,0x0,0x1                                                                                    
0002bc   e112     BNZ       0x2e2                                                                                           
0002be   5176     MOVF      0x76,0x0,0x1                                                                                    
0002c0   e110     BNZ       0x2e2                                                                                           
0002c2   0100     MOVLB     0x0                                                                                             
0002c4   516a     MOVF      0x6a,0x0,0x1                                                                                    
0002c6   0100     MOVLB     0x0                                                                                             
0002c8   1977     XORWF     0x77,0x0,0x1                                                                                    
0002ca   e104     BNZ       0x2d4                                                                                           
0002cc   0100     MOVLB     0x0                                                                                             
0002ce   516b     MOVF      0x6b,0x0,0x1                                                                                    
0002d0   0100     MOVLB     0x0                                                                                             
0002d2   1978     XORWF     0x78,0x0,0x1                                                                                    
0002d4   e106     BNZ       0x2e2                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Send ack and goto wait first packet.                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0002d6   0100     MOVLB     0x0                             errMsg          = ERR_NO_ERROR;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0002d8   6b6c     CLRF      0x6c,0x1                                                                                        
0002da   0e02     MOVLW     0x2                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0002dc   6f6d     MOVWF     0x6d,0x1                                                                                        
0002de   0e01     MOVLW     0x1                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0002e0   6f65     MOVWF     0x65,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If end packet...                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0002e2   0e10     MOVLW     0x10                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && cm.funcc==FUNCC_BOOT_DONE && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
0002e4   04db     DECF      0xdb,0x0,0x0                                                                                    
0002e6   e12b     BNZ       0x33e                                                                                           
0002e8   0100     MOVLB     0x0                                                                                             
0002ea   5173     MOVF      0x73,0x0,0x1                                                                                    
0002ec   e128     BNZ       0x33e                                                                                           
0002ee   0e05     MOVLW     0x5                                                                                             
0002f0   1974     XORWF     0x74,0x0,0x1                                                                                    
0002f2   e101     BNZ       0x2f6                                                                                           
0002f4   5175     MOVF      0x75,0x0,0x1                                                                                    
0002f6   e123     BNZ       0x33e                                                                                           
0002f8   5176     MOVF      0x76,0x0,0x1                                                                                    
0002fa   e121     BNZ       0x33e                                                                                           
0002fc   0100     MOVLB     0x0                                                                                             
0002fe   516a     MOVF      0x6a,0x0,0x1                                                                                    
000300   0100     MOVLB     0x0                                                                                             
000302   1977     XORWF     0x77,0x0,0x1                                                                                    
000304   e104     BNZ       0x30e                                                                                           
000306   0100     MOVLB     0x0                                                                                             
000308   516b     MOVF      0x6b,0x0,0x1                                                                                    
00030a   0100     MOVLB     0x0                                                                                             
00030c   1978     XORWF     0x78,0x0,0x1                                                                                    
00030e   e117     BNZ       0x33e                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // write program.                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // If no bytes received at all, assume end.                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // If not 64 bytes received, send error ack and wait for first packet.      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // If 64, write.                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000310   0100     MOVLB     0x0                             if (bytesReceived==0)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000312   5172     MOVF      0x72,0x0,0x1                                                                                    
000314   e106     BNZ       0x322                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                // No received, done.                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000316   6b6c     CLRF      0x6c,0x1                            errMsg          = ERR_NO_ERROR;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000318   0e05     MOVLW     0x5                                 afterAckPgs     = pgsDONE;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00031a   6f6d     MOVWF     0x6d,0x1                                                                                        
00031c   0e01     MOVLW     0x1                                 pgs             = pgsSEND_ACK;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00031e   6f65     MOVWF     0x65,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000320   d00e     BRA       0x33e                           else if (bytesReceived!=64)                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000322   0e40     MOVLW     0x40                                                                                            
000324   5d72     SUBWF     0x72,0x0,0x1                                                                                    
000326   e007     BZ        0x336                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000328   0e01     MOVLW     0x1                                 errMsg          = ERR_ERROR;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00032a   6f6c     MOVWF     0x6c,0x1                                                                                        
00032c   0e02     MOVLW     0x2                                 afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00032e   6f6d     MOVWF     0x6d,0x1                                                                                        
000330   0e01     MOVLW     0x1                                 pgs             = pgsSEND_ACK;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000332   6f65     MOVWF     0x65,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000334   d004     BRA       0x33e                           else                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000336   0e04     MOVLW     0x4                                 pgs              = pgsWRITE_PROGRAM;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000338   6f65     MOVWF     0x65,0x1                                                                                        
00033a   0e05     MOVLW     0x5                                 afterAckPgs     = pgsDONE;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00033c   6f6d     MOVWF     0x6d,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If bytes received 64, write..                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
00033e   0e40     MOVLW     0x40                        if (bytesReceived==64)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000340   0100     MOVLB     0x0                                                                                             
000342   5d72     SUBWF     0x72,0x0,0x1                                                                                    
000344   e105     BNZ       0x350                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000346   7282     BTG       0x82,0x1,0x0                    LED0_IO=~LED0_IO;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000348   0e04     MOVLW     0x4                             pgs              = pgsWRITE_PROGRAM;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00034a   6f65     MOVWF     0x65,0x1                                                                                        
00034c   0e03     MOVLW     0x3                             afterAckPgs     = pgsWAIT_PGM_PACKET;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
00034e   6f6d     MOVWF     0x6d,0x1                                                                                        
                                                            // TODO! Send ack more than once..                                          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
000350   d02f     BRA       0x3b0                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWRITE_PROGRAM:                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Write program and send ack.                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000352   0e40     MOVLW     0x40                        pgmAddress     += 64;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000354   276e     ADDWF     0x6e,0x1,0x1                                                                                    
000356   0e00     MOVLW     0x0                                                                                             
000358   236f     ADDWFC    0x6f,0x1,0x1                                                                                    
00035a   2370     ADDWFC    0x70,0x1,0x1                                                                                    
00035c   2371     ADDWFC    0x71,0x1,0x1                                                                                    
00035e   6b72     CLRF      0x72,0x1                    bytesReceived   = 0;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000360   6b6c     CLRF      0x6c,0x1                    errMsg          = ERR_NO_ERROR;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000362   0e01     MOVLW     0x1                         pgs             = pgsSEND_ACK;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000364   6f65     MOVWF     0x65,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000366   d024     BRA       0x3b0                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsDONE:                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Goto main program.                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000368   ec68     CALL      0x8d0,0x0                   if ((tickGet()-t)>=TICK_SECOND/4)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00036a   f004                                                                                                               
00036c   0100     MOVLB     0x0                                                                                             
00036e   5166     MOVF      0x66,0x0,0x1                                                                                    
000370   5c10     SUBWF     0x10,0x0,0x0                                                                                    
000372   6e00     MOVWF     0x0,0x0                                                                                         
000374   5167     MOVF      0x67,0x0,0x1                                                                                    
000376   5811     SUBWFB    0x11,0x0,0x0                                                                                    
000378   6e01     MOVWF     0x1,0x0                                                                                         
00037a   5168     MOVF      0x68,0x0,0x1                                                                                    
00037c   5812     SUBWFB    0x12,0x0,0x0                                                                                    
00037e   6e02     MOVWF     0x2,0x0                                                                                         
000380   5169     MOVF      0x69,0x0,0x1                                                                                    
000382   5813     SUBWFB    0x13,0x0,0x0                                                                                    
000384   6e03     MOVWF     0x3,0x0                                                                                         
000386   0e19     MOVLW     0x19                                                                                            
000388   5c00     SUBWF     0x0,0x0,0x0                                                                                     
00038a   0e00     MOVLW     0x0                                                                                             
00038c   5801     SUBWFB    0x1,0x0,0x0                                                                                     
00038e   0e00     MOVLW     0x0                                                                                             
000390   5802     SUBWFB    0x2,0x0,0x0                                                                                     
000392   0e00     MOVLW     0x0                                                                                             
000394   5803     SUBWFB    0x3,0x0,0x0                                                                                     
000396   e30b     BNC       0x3ae                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000398   7282     BTG       0x82,0x1,0x0                    LED0_IO=~LED0_IO;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00039a   ec68     CALL      0x8d0,0x0                       t=tickGet();                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00039c   f004                                                                                                               
00039e   c010     MOVFF     0x10,0x66                                                                                       
0003a0   f066                                                                                                               
0003a2   c011     MOVFF     0x11,0x67                                                                                       
0003a4   f067                                                                                                               
0003a6   c012     MOVFF     0x12,0x68                                                                                       
0003a8   f068                                                                                                               
0003aa   c013     MOVFF     0x13,0x69                                                                                       
0003ac   f069                                                                                                               
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003ae   d000     BRA       0x3b0                   break;                                                                        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
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    default:                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000090   6b65     CLRF      0x65,0x1                    pgs = pgsWATING_START;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000092   d18e     BRA       0x3b0                   break;                                                                        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
                                            }                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0003b2   0e11     MOVLW     0x11           }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0003b4   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0003b6   e202     BC        0x3bc                                                                                           
0003b8   6ae1     CLRF      0xe1,0x0                                                                                        
0003ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0003bc   6ee1     MOVWF     0xe1,0x0                                                                                        
0003be   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0003c0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0003c2   ffd9                                                                                                               
0003c4   0012     RETURN    0x0                                                                                             
                                                                                                                            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
0003c6   cfd8     MOVFF     0xfd8,0xfe4    void HighISR(void)                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0003c8   ffe4                                                                                                               
0003ca   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
0003cc   ffe4                                                                                                               
0003ce   6ee4     MOVWF     0xe4,0x0                                                                                        
0003d0   cfda     MOVFF     0xfda,0xfe4                                                                                     
0003d2   ffe4                                                                                                               
0003d4   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0003d6   ffda                                                                                                               
0003d8   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
0003da   ffe4                                                                                                               
0003dc   cfea     MOVFF     0xfea,0xfe4                                                                                     
0003de   ffe4                                                                                                               
0003e0   cff6     MOVFF     0xff6,0xfe4                                                                                     
0003e2   ffe4                                                                                                               
0003e4   cff7     MOVFF     0xff7,0xfe4                                                                                     
0003e6   ffe4                                                                                                               
0003e8   cff5     MOVFF     0xff5,0xfe4                                                                                     
0003ea   ffe4                                                                                                               
0003ec   cff3     MOVFF     0xff3,0xfe4                                                                                     
0003ee   ffe4                                                                                                               
0003f0   cff4     MOVFF     0xff4,0xfe4                                                                                     
0003f2   ffe4                                                                                                               
0003f4   cffa     MOVFF     0xffa,0xfe4                                                                                     
0003f6   ffe4                                                                                                               
0003f8   ee00     LFSR      0x0,0xc                                                                                         
0003fa   f00c                                                                                                               
0003fc   0e0b     MOVLW     0xb                                                                                             
0003fe   04e8     DECF      0xe8,0x0,0x0                                                                                    
000400   e303     BNC       0x408                                                                                           
000402   cfee     MOVFF     0xfee,0xfe4                                                                                     
000404   ffe4                                                                                                               
000406   d7fb     BRA       0x3fe                                                                                           
000408   ee00     LFSR      0x0,0x0                                                                                         
00040a   f000                                                                                                               
00040c   0e0c     MOVLW     0xc                                                                                             
00040e   04e8     DECF      0xe8,0x0,0x0                                                                                    
000410   e303     BNC       0x418                                                                                           
000412   cfee     MOVFF     0xfee,0xfe4                                                                                     
000414   ffe4                                                                                                               
000416   d7fb     BRA       0x40e                                                                                           
000418   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00041a   ec72     CALL      0x8e4,0x0       tickUpdate();                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00041c   f004                                                                                                               
00041e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000420   ee00     LFSR      0x0,0xb                                                                                         
000422   f00b                                                                                                               
000424   0e0c     MOVLW     0xc                                                                                             
000426   04e8     DECF      0xe8,0x0,0x0                                                                                    
000428   e303     BNC       0x430                                                                                           
00042a   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00042c   ffed                                                                                                               
00042e   d7fb     BRA       0x426                                                                                           
000430   ee00     LFSR      0x0,0x16                                                                                        
000432   f016                                                                                                               
000434   0e0b     MOVLW     0xb                                                                                             
000436   04e8     DECF      0xe8,0x0,0x0                                                                                    
000438   e303     BNC       0x440                                                                                           
00043a   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00043c   ffed                                                                                                               
00043e   d7fb     BRA       0x436                                                                                           
000440   cfe5     MOVFF     0xfe5,0xffa                                                                                     
000442   fffa                                                                                                               
000444   cfe5     MOVFF     0xfe5,0xff4                                                                                     
000446   fff4                                                                                                               
000448   cfe5     MOVFF     0xfe5,0xff3                                                                                     
00044a   fff3                                                                                                               
00044c   cfe5     MOVFF     0xfe5,0xff5                                                                                     
00044e   fff5                                                                                                               
000450   cfe5     MOVFF     0xfe5,0xff7                                                                                     
000452   fff7                                                                                                               
000454   cfe5     MOVFF     0xfe5,0xff6                                                                                     
000456   fff6                                                                                                               
000458   cfe5     MOVFF     0xfe5,0xfea                                                                                     
00045a   ffea                                                                                                               
00045c   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
00045e   ffe9                                                                                                               
000460   cfe5     MOVFF     0xfe5,0xfda                                                                                     
000462   ffda                                                                                                               
000464   50e5     MOVF      0xe5,0x0,0x0                                                                                    
000466   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
000468   ffe0                                                                                                               
00046a   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
00046c   ffd8                                                                                                               
00046e   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   efe3     GOTO      0x3c6              _asm goto HighISR _endasm                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00000a   f001                                                                                                               
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
000470   cfd8     MOVFF     0xfd8,0xfe4    void LowISR(void)                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000472   ffe4                                                                                                               
000474   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
000476   ffe4                                                                                                               
000478   6ee4     MOVWF     0xe4,0x0                                                                                        
00047a   cfda     MOVFF     0xfda,0xfe4                                                                                     
00047c   ffe4                                                                                                               
00047e   cfe2     MOVFF     0xfe2,0xfda                                                                                     
000480   ffda                                                                                                               
000482   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000484   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000486   cfe5     MOVFF     0xfe5,0xfda                                                                                     
000488   ffda                                                                                                               
00048a   50e5     MOVF      0xe5,0x0,0x0                                                                                    
00048c   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
00048e   ffe0                                                                                                               
000490   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
000492   ffd8                                                                                                               
000494   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   ef38     GOTO      0x470              _asm goto LowISR _endasm                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00001a   f002                                                                                                               
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
000496   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
000498   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
00049a   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00049c   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
00049e   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
0004a0   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
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /// CAN-------------------------------------------------------                   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
                                                                                                                            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: canInit                                                              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: Changes can registers.                                                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 canInit()                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0004a2   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004a4   6e6f     MOVWF     0x6f,0x0                                                                                        
0004a6   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBoot\Source\Main.c
0004a8   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0004aa   0880     SUBLW     0x80                                                                                            
0004ac   e001     BZ        0x4b0                                                                                           
0004ae   d7fb     BRA       0x4a6                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // BAUD AND TQS                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b0   6a70     CLRF      0x70,0x0        BRGCON1=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b2   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b4   8c70     BSF       0x70,0x6,0x0    BRGCON1bits.SJW0=1;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Setting BRP.                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b6   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b8   1070     IORWF     0x70,0x0,0x0                                                                                    
0004ba   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0004bc   8e71     BSF       0x71,0x7,0x0    BRGCON2bits.SEG2PHTS = 1;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0004be   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c0   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c2   8671     BSF       0x71,0x3,0x0    BRGCON2bits.SEG1PH0 = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c4   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c6   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c8   8071     BSF       0x71,0x0,0x0    BRGCON2bits.PRSEG0 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0004ca   9e72     BCF       0x72,0x7,0x0    BRGCON3bits.WAKDIS = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0004cc   9c72     BCF       0x72,0x6,0x0    BRGCON3bits.WAKFIL = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0004ce   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0004d0   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0004d2   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004d4   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0004d6   9e77     BCF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0004d8   8c77     BSF       0x77,0x6,0x0    ECANCONbits.MDSEL0 = 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
                                            // FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004da   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0004dc   9a60     BCF       0x60,0x5,0x0    RXB0CONbits.RXM0=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
                                            // INTERRUPTS                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Diable transmit interrupt                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0004de   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0004e0   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //rx no interrupt                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0004e2   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0004e4   6aa3     CLRF      0xa3,0x0        PIE3 = 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
                                            // Programmable no buffers interrupt                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004e6   6bfa     CLRF      0xfa,0x1        BIE0  = 0x00;                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //loopback mode or not                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #else                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0004e8   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004ea   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0004ec   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0004ee   e001     BZ        0x4f2                                                                                           
0004f0   d7fc     BRA       0x4ea                                                                                           
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004f2   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
                                                                                                                            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: canGetPacket                                                         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: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Affects: Calls canParse() function in main for parsing received packet.        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
                                           BOOL canGetPacket()                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Get which buffer that is ful.                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0004f4   ae60     BTFSS     0x60,0x7,0x0             if (RXB0CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10000;  }               F:\MCP\projects\CAN\canBoot\Source\Main.c
0004f6   d005     BRA       0x502                                                                                           
0004f8   0e00     MOVLW     0x0                                                                                             
0004fa   1477     ANDWF     0x77,0x0,0x0                                                                                    
0004fc   0910     IORLW     0x10                                                                                            
0004fe   6e77     MOVWF     0x77,0x0                                                                                        
000500   d035     BRA       0x56c               else if (RXB1CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10001;  }            F:\MCP\projects\CAN\canBoot\Source\Main.c
000502   010f     MOVLB     0xf                                                                                             
000504   af50     BTFSS     0x50,0x7,0x1                                                                                    
000506   d005     BRA       0x512                                                                                           
000508   0e00     MOVLW     0x0                                                                                             
00050a   1477     ANDWF     0x77,0x0,0x0                                                                                    
00050c   0911     IORLW     0x11                                                                                            
00050e   6e77     MOVWF     0x77,0x0                                                                                        
000510   d02d     BRA       0x56c               else if (B0CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10010;  }             F:\MCP\projects\CAN\canBoot\Source\Main.c
000512   010e     MOVLB     0xe                                                                                             
000514   af20     BTFSS     0x20,0x7,0x1                                                                                    
000516   d005     BRA       0x522                                                                                           
000518   0e00     MOVLW     0x0                                                                                             
00051a   1477     ANDWF     0x77,0x0,0x0                                                                                    
00051c   0912     IORLW     0x12                                                                                            
00051e   6e77     MOVWF     0x77,0x0                                                                                        
000520   d025     BRA       0x56c               else if (B1CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10011;  }             F:\MCP\projects\CAN\canBoot\Source\Main.c
000522   af30     BTFSS     0x30,0x7,0x1                                                                                    
000524   d005     BRA       0x530                                                                                           
000526   0e00     MOVLW     0x0                                                                                             
000528   1477     ANDWF     0x77,0x0,0x0                                                                                    
00052a   0913     IORLW     0x13                                                                                            
00052c   6e77     MOVWF     0x77,0x0                                                                                        
00052e   d01e     BRA       0x56c               else if (B2CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10100;  }             F:\MCP\projects\CAN\canBoot\Source\Main.c
000530   af40     BTFSS     0x40,0x7,0x1                                                                                    
000532   d005     BRA       0x53e                                                                                           
000534   0e00     MOVLW     0x0                                                                                             
000536   1477     ANDWF     0x77,0x0,0x0                                                                                    
000538   0914     IORLW     0x14                                                                                            
00053a   6e77     MOVWF     0x77,0x0                                                                                        
00053c   d017     BRA       0x56c               else if (B3CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10101;  }             F:\MCP\projects\CAN\canBoot\Source\Main.c
00053e   af50     BTFSS     0x50,0x7,0x1                                                                                    
000540   d005     BRA       0x54c                                                                                           
000542   0e00     MOVLW     0x0                                                                                             
000544   1477     ANDWF     0x77,0x0,0x0                                                                                    
000546   0915     IORLW     0x15                                                                                            
000548   6e77     MOVWF     0x77,0x0                                                                                        
00054a   d010     BRA       0x56c               else if (B4CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10110;  }             F:\MCP\projects\CAN\canBoot\Source\Main.c
00054c   af60     BTFSS     0x60,0x7,0x1                                                                                    
00054e   d005     BRA       0x55a                                                                                           
000550   0e00     MOVLW     0x0                                                                                             
000552   1477     ANDWF     0x77,0x0,0x0                                                                                    
000554   0916     IORLW     0x16                                                                                            
000556   6e77     MOVWF     0x77,0x0                                                                                        
000558   d009     BRA       0x56c               else if (B5CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10111;  }             F:\MCP\projects\CAN\canBoot\Source\Main.c
00055a   af70     BTFSS     0x70,0x7,0x1                                                                                    
00055c   d005     BRA       0x568                                                                                           
00055e   0e00     MOVLW     0x0                                                                                             
000560   1477     ANDWF     0x77,0x0,0x0                                                                                    
000562   0917     IORLW     0x17                                                                                            
000564   6e77     MOVWF     0x77,0x0                                                                                        
000566   d002     BRA       0x56c               else return FALSE;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000568   0e00     MOVLW     0x0                                                                                             
00056a   d083     BRA       0x672                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00056c   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00056e   1461     ANDWF     0x61,0x0,0x0                                                                                    
000570   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
000572   0b0f     ANDLW     0xf                                                                                             
000574   0100     MOVLB     0x0                                                                                             
000576   6f73     MOVWF     0x73,0x1                                                                                        
000578   0e0f     MOVLW     0xf                    cm.funcc=(((WORD)(RXB0SIDH & 0x0F))<<6)+(((WORD)(RXB0SIDL & 0xE0))>>2)+(((WORD)(RXB0SIDL & 0x03))<<1)+(((WORD)(RXB0EIDH & 0x80))>>7); F:\MCP\projects\CAN\canBoot\Source\Main.c
00057a   1461     ANDWF     0x61,0x0,0x0                                                                                    
00057c   6e04     MOVWF     0x4,0x0                                                                                         
00057e   6a05     CLRF      0x5,0x0                                                                                         
000580   0e06     MOVLW     0x6                                                                                             
000582   90d8     BCF       0xd8,0x0,0x0                                                                                    
000584   3604     RLCF      0x4,0x1,0x0                                                                                     
000586   3605     RLCF      0x5,0x1,0x0                                                                                     
000588   04e8     DECF      0xe8,0x0,0x0                                                                                    
00058a   e1fb     BNZ       0x582                                                                                           
00058c   0ee0     MOVLW     0xe0                                                                                            
00058e   1462     ANDWF     0x62,0x0,0x0                                                                                    
000590   6e06     MOVWF     0x6,0x0                                                                                         
000592   6a07     CLRF      0x7,0x0                                                                                         
000594   90d8     BCF       0xd8,0x0,0x0                                                                                    
000596   3207     RRCF      0x7,0x1,0x0                                                                                     
000598   3206     RRCF      0x6,0x1,0x0                                                                                     
00059a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00059c   3207     RRCF      0x7,0x1,0x0                                                                                     
00059e   3206     RRCF      0x6,0x1,0x0                                                                                     
0005a0   5004     MOVF      0x4,0x0,0x0                                                                                     
0005a2   2406     ADDWF     0x6,0x0,0x0                                                                                     
0005a4   6e02     MOVWF     0x2,0x0                                                                                         
0005a6   5005     MOVF      0x5,0x0,0x0                                                                                     
0005a8   2007     ADDWFC    0x7,0x0,0x0                                                                                     
0005aa   6e03     MOVWF     0x3,0x0                                                                                         
0005ac   0e03     MOVLW     0x3                                                                                             
0005ae   1462     ANDWF     0x62,0x0,0x0                                                                                    
0005b0   6e08     MOVWF     0x8,0x0                                                                                         
0005b2   6a09     CLRF      0x9,0x0                                                                                         
0005b4   90d8     BCF       0xd8,0x0,0x0                                                                                    
0005b6   3608     RLCF      0x8,0x1,0x0                                                                                     
0005b8   3609     RLCF      0x9,0x1,0x0                                                                                     
0005ba   5002     MOVF      0x2,0x0,0x0                                                                                     
0005bc   2408     ADDWF     0x8,0x0,0x0                                                                                     
0005be   6e00     MOVWF     0x0,0x0                                                                                         
0005c0   5003     MOVF      0x3,0x0,0x0                                                                                     
0005c2   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0005c4   6e01     MOVWF     0x1,0x0                                                                                         
0005c6   0e80     MOVLW     0x80                                                                                            
0005c8   1463     ANDWF     0x63,0x0,0x0                                                                                    
0005ca   6e0a     MOVWF     0xa,0x0                                                                                         
0005cc   6a0b     CLRF      0xb,0x0                                                                                         
0005ce   0e07     MOVLW     0x7                                                                                             
0005d0   90d8     BCF       0xd8,0x0,0x0                                                                                    
0005d2   320b     RRCF      0xb,0x1,0x0                                                                                     
0005d4   320a     RRCF      0xa,0x1,0x0                                                                                     
0005d6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0005d8   e1fb     BNZ       0x5d0                                                                                           
0005da   5000     MOVF      0x0,0x0,0x0                                                                                     
0005dc   240a     ADDWF     0xa,0x0,0x0                                                                                     
0005de   0100     MOVLB     0x0                                                                                             
0005e0   6f74     MOVWF     0x74,0x1                                                                                        
0005e2   5001     MOVF      0x1,0x0,0x0                                                                                     
0005e4   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0005e6   6f75     MOVWF     0x75,0x1                                                                                        
0005e8   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ea   1463     ANDWF     0x63,0x0,0x0                                                                                    
0005ec   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0005ee   0b7f     ANDLW     0x7f                                                                                            
0005f0   6f76     MOVWF     0x76,0x1                                                                                        
0005f2   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0005f4   1463     ANDWF     0x63,0x0,0x0                                                                                    
0005f6   6e00     MOVWF     0x0,0x0                                                                                         
0005f8   c000     MOVFF     0x0,0x1                                                                                         
0005fa   f001                                                                                                               
0005fc   6a00     CLRF      0x0,0x0                                                                                         
0005fe   5064     MOVF      0x64,0x0,0x0                                                                                    
000600   2400     ADDWF     0x0,0x0,0x0                                                                                     
000602   6f77     MOVWF     0x77,0x1                                                                                        
000604   0e00     MOVLW     0x0                                                                                             
000606   2001     ADDWFC    0x1,0x0,0x0                                                                                     
000608   6f78     MOVWF     0x78,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00060a   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\Main.c
00060c   0b01     ANDLW     0x1                                                                                             
00060e   6e02     MOVWF     0x2,0x0                                                                                         
000610   5065     MOVF      0x65,0x0,0x0                                                                                    
000612   0b02     ANDLW     0x2                                                                                             
000614   e001     BZ        0x618                                                                                           
000616   0e01     MOVLW     0x1                                                                                             
000618   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
00061a   6e01     MOVWF     0x1,0x0                                                                                         
00061c   5065     MOVF      0x65,0x0,0x0                                                                                    
00061e   0b04     ANDLW     0x4                                                                                             
000620   e001     BZ        0x624                                                                                           
000622   0e01     MOVLW     0x1                                                                                             
000624   0d04     MULLW     0x4                                                                                             
000626   cff3     MOVFF     0xff3,0x0                                                                                       
000628   f000                                                                                                               
00062a   5065     MOVF      0x65,0x0,0x0                                                                                    
00062c   0b08     ANDLW     0x8                                                                                             
00062e   e001     BZ        0x632                                                                                           
000630   0e01     MOVLW     0x1                                                                                             
000632   0d08     MULLW     0x8                                                                                             
000634   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000636   2400     ADDWF     0x0,0x0,0x0                                                                                     
000638   2401     ADDWF     0x1,0x0,0x0                                                                                     
00063a   2402     ADDWF     0x2,0x0,0x0                                                                                     
00063c   6f79     MOVWF     0x79,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Remote request                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00063e   5065     MOVF      0x65,0x0,0x0        cm.remote_request=(RXB0DLCbits.RXRTR==0?FALSE:TRUE);                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000640   0b40     ANDLW     0x40                                                                                            
000642   e102     BNZ       0x648                                                                                           
000644   0e00     MOVLW     0x0                                                                                             
000646   d001     BRA       0x64a                                                                                           
000648   0e01     MOVLW     0x1                                                                                             
00064a   6f7a     MOVWF     0x7a,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00064c   cf66     MOVFF     0xf66,0x7b          cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
00064e   f07b                                                                                                               
000650   cf67     MOVFF     0xf67,0x7c                                                                                      
000652   f07c                                                                                                               
000654   cf68     MOVFF     0xf68,0x7d          cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000656   f07d                                                                                                               
000658   cf69     MOVFF     0xf69,0x7e                                                                                      
00065a   f07e                                                                                                               
00065c   cf6a     MOVFF     0xf6a,0x7f          cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00065e   f07f                                                                                                               
000660   cf6b     MOVFF     0xf6b,0x80                                                                                      
000662   f080                                                                                                               
000664   cf6c     MOVFF     0xf6c,0x81          cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000666   f081                                                                                                               
000668   cf6d     MOVFF     0xf6d,0x82                                                                                      
00066a   f082                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00066c   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00066e   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000670   d000     BRA       0x672                                                                                           
000672   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
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Function: canSendMessage                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Input:  CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Affects: ..                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000674   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PROTO_MESSAGE cm,CAN_PRIORITY prio)                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000676   ffe6                                                                                                               
000678   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00067a   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00067c   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
00067e   b740     BTFSC     0x40,0x3,0x1                                                                                    
000680   d004     BRA       0x68a                                                                                           
000682   0e00     MOVLW     0x0                                                                                             
000684   1477     ANDWF     0x77,0x0,0x0                                                                                    
000686   0903     IORLW     0x3                                                                                             
000688   6e77     MOVWF     0x77,0x0                                                                                        
00068a   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
00068c   b730     BTFSC     0x30,0x3,0x1                                                                                    
00068e   d004     BRA       0x698                                                                                           
000690   0e00     MOVLW     0x0                                                                                             
000692   1477     ANDWF     0x77,0x0,0x0                                                                                    
000694   0904     IORLW     0x4                                                                                             
000696   6e77     MOVWF     0x77,0x0                                                                                        
000698   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
00069a   b720     BTFSC     0x20,0x3,0x1                                                                                    
00069c   d005     BRA       0x6a8                                                                                           
00069e   0e00     MOVLW     0x0                                                                                             
0006a0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0006a2   0905     IORLW     0x5                                                                                             
0006a4   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0006a6   d002     BRA       0x6ac           else { return FALSE;}                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006a8   0e00     MOVLW     0x0                                                                                             
0006aa   d0b5     BRA       0x816                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0006ac   0eee     MOVLW     0xee            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0006ae   cfdb     MOVFF     0xfdb,0x0                                                                                       
0006b0   f000                                                                                                               
0006b2   3400     RLCF      0x0,0x0,0x0                                                                                     
0006b4   e20e     BC        0x6d2                                                                                           
0006b6   0eee     MOVLW     0xee                                                                                            
0006b8   cfdb     MOVFF     0xfdb,0x1                                                                                       
0006ba   f001                                                                                                               
0006bc   0e03     MOVLW     0x3                                                                                             
0006be   6ee7     MOVWF     0xe7,0x0                                                                                        
0006c0   1801     XORWF     0x1,0x0,0x0                                                                                     
0006c2   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
0006c4   d002     BRA       0x6ca                                                                                           
0006c6   3401     RLCF      0x1,0x0,0x0                                                                                     
0006c8   d003     BRA       0x6d0                                                                                           
0006ca   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0006cc   80d8     BSF       0xd8,0x0,0x0                                                                                    
0006ce   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0006d0   e202     BC        0x6d6                                                                                           
0006d2   0eee     MOVLW     0xee                                                                                            
0006d4   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d6   0ef0     MOVLW     0xf0                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d8   cfdb     MOVFF     0xfdb,0x0                                                                                       
0006da   f000                                                                                                               
0006dc   0ef1     MOVLW     0xf1                                                                                            
0006de   cfdb     MOVFF     0xfdb,0x1                                                                                       
0006e0   f001                                                                                                               
0006e2   0ec0     MOVLW     0xc0                                                                                            
0006e4   1600     ANDWF     0x0,0x1,0x0                                                                                     
0006e6   0e03     MOVLW     0x3                                                                                             
0006e8   1601     ANDWF     0x1,0x1,0x0                                                                                     
0006ea   0e06     MOVLW     0x6                                                                                             
0006ec   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006ee   3201     RRCF      0x1,0x1,0x0                                                                                     
0006f0   3200     RRCF      0x0,0x1,0x0                                                                                     
0006f2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0006f4   e1fb     BNZ       0x6ec                                                                                           
0006f6   0eef     MOVLW     0xef                                                                                            
0006f8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0006fa   0b0f     ANDLW     0xf                                                                                             
0006fc   0d10     MULLW     0x10                                                                                            
0006fe   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000700   2400     ADDWF     0x0,0x0,0x0                                                                                     
000702   6e61     MOVWF     0x61,0x0                                                                                        
000704   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBoot\Source\Main.c
000706   6ee7     MOVWF     0xe7,0x0                                                                                        
000708   0ef0     MOVLW     0xf0                                                                                            
00070a   cfdb     MOVFF     0xfdb,0x2                                                                                       
00070c   f002                                                                                                               
00070e   0ef1     MOVLW     0xf1                                                                                            
000710   cfdb     MOVFF     0xfdb,0x3                                                                                       
000712   f003                                                                                                               
000714   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000716   1602     ANDWF     0x2,0x1,0x0                                                                                     
000718   6a03     CLRF      0x3,0x0                                                                                         
00071a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00071c   3203     RRCF      0x3,0x1,0x0                                                                                     
00071e   3202     RRCF      0x2,0x1,0x0                                                                                     
000720   0e3f     MOVLW     0x3f                                                                                            
000722   6ee7     MOVWF     0xe7,0x0                                                                                        
000724   0ef0     MOVLW     0xf0                                                                                            
000726   cfdb     MOVFF     0xfdb,0x0                                                                                       
000728   f000                                                                                                               
00072a   0ef1     MOVLW     0xf1                                                                                            
00072c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00072e   f001                                                                                                               
000730   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000732   1600     ANDWF     0x0,0x1,0x0                                                                                     
000734   6a01     CLRF      0x1,0x0                                                                                         
000736   90d8     BCF       0xd8,0x0,0x0                                                                                    
000738   3600     RLCF      0x0,0x1,0x0                                                                                     
00073a   3601     RLCF      0x1,0x1,0x0                                                                                     
00073c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00073e   3600     RLCF      0x0,0x1,0x0                                                                                     
000740   3601     RLCF      0x1,0x1,0x0                                                                                     
000742   5000     MOVF      0x0,0x0,0x0                                                                                     
000744   2402     ADDWF     0x2,0x0,0x0                                                                                     
000746   6e62     MOVWF     0x62,0x0                                                                                        
000748   0ef3     MOVLW     0xf3                RXB0EIDH = (BYTE)((cm.funcc & 0x0001)<<7)+(BYTE)((cm.nid & 0x3F)<<1)+(BYTE)((cm.sid & 0x0100)>>8); F:\MCP\projects\CAN\canBoot\Source\Main.c
00074a   cfdb     MOVFF     0xfdb,0x2                                                                                       
00074c   f002                                                                                                               
00074e   0ef4     MOVLW     0xf4                                                                                            
000750   cfdb     MOVFF     0xfdb,0x3                                                                                       
000752   f003                                                                                                               
000754   0e00     MOVLW     0x0                                                                                             
000756   1602     ANDWF     0x2,0x1,0x0                                                                                     
000758   0e01     MOVLW     0x1                                                                                             
00075a   1603     ANDWF     0x3,0x1,0x0                                                                                     
00075c   c003     MOVFF     0x3,0x2                                                                                         
00075e   f002                                                                                                               
000760   6a03     CLRF      0x3,0x0                                                                                         
000762   0e01     MOVLW     0x1                                                                                             
000764   6ee7     MOVWF     0xe7,0x0                                                                                        
000766   0ef0     MOVLW     0xf0                                                                                            
000768   cfdb     MOVFF     0xfdb,0x0                                                                                       
00076a   f000                                                                                                               
00076c   0ef1     MOVLW     0xf1                                                                                            
00076e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000770   f001                                                                                                               
000772   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000774   1600     ANDWF     0x0,0x1,0x0                                                                                     
000776   6a01     CLRF      0x1,0x0                                                                                         
000778   0e07     MOVLW     0x7                                                                                             
00077a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00077c   3600     RLCF      0x0,0x1,0x0                                                                                     
00077e   3601     RLCF      0x1,0x1,0x0                                                                                     
000780   04e8     DECF      0xe8,0x0,0x0                                                                                    
000782   e1fb     BNZ       0x77a                                                                                           
000784   0ef2     MOVLW     0xf2                                                                                            
000786   50db     MOVF      0xdb,0x0,0x0                                                                                    
000788   0b3f     ANDLW     0x3f                                                                                            
00078a   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
00078c   2400     ADDWF     0x0,0x0,0x0                                                                                     
00078e   2402     ADDWF     0x2,0x0,0x0                                                                                     
000790   6e63     MOVWF     0x63,0x0                                                                                        
000792   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000794   6ee7     MOVWF     0xe7,0x0                                                                                        
000796   0ef3     MOVLW     0xf3                                                                                            
000798   cfdb     MOVFF     0xfdb,0x0                                                                                       
00079a   f000                                                                                                               
00079c   0ef4     MOVLW     0xf4                                                                                            
00079e   cfdb     MOVFF     0xfdb,0x1                                                                                       
0007a0   f001                                                                                                               
0007a2   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0007a4   1600     ANDWF     0x0,0x1,0x0                                                                                     
0007a6   6a01     CLRF      0x1,0x0                                                                                         
0007a8   5000     MOVF      0x0,0x0,0x0                                                                                     
0007aa   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ac   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ae   0ef5     MOVLW     0xf5                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007b2   0808     SUBLW     0x8                                                                                             
0007b4   e203     BC        0x7bc                                                                                           
0007b6   0e08     MOVLW     0x8                                                                                             
0007b8   6e65     MOVWF     0x65,0x0                                                                                        
0007ba   d003     BRA       0x7c2                                                                                           
0007bc   0ef5     MOVLW     0xf5                                                                                            
0007be   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007c0   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Remote request                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0007c2   0ef6     MOVLW     0xf6                if (cm.remote_request==TRUE)                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0007c4   04db     DECF      0xdb,0x0,0x0                                                                                    
0007c6   e102     BNZ       0x7cc                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    _asm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0007c8   8c65     BSF       0x65,0x6,0x0                bsf RXB0DLC, 6, 0                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    _endasm                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ca   d001     BRA       0x7ce               else                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    _asm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0007cc   9c65     BCF       0x65,0x6,0x0                bcf RXB0DLC, 6, 0                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    _endasm                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ce   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007d2   6e66     MOVWF     0x66,0x0                                                                                        
0007d4   0ef8     MOVLW     0xf8                                                                                            
0007d6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007d8   6e67     MOVWF     0x67,0x0                                                                                        
0007da   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007dc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007de   6e68     MOVWF     0x68,0x0                                                                                        
0007e0   0efa     MOVLW     0xfa                                                                                            
0007e2   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007e4   6e69     MOVWF     0x69,0x0                                                                                        
0007e6   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007ea   6e6a     MOVWF     0x6a,0x0                                                                                        
0007ec   0efc     MOVLW     0xfc                                                                                            
0007ee   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007f0   6e6b     MOVWF     0x6b,0x0                                                                                        
0007f2   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007f4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007f6   6e6c     MOVWF     0x6c,0x0                                                                                        
0007f8   0efe     MOVLW     0xfe                                                                                            
0007fa   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007fc   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007fe   8662     BSF       0x62,0x3,0x0        RXB0SIDLbits.EXID=1;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Priority                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000800   0eee     MOVLW     0xee                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000802   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000804   ffe6                                                                                                               
000806   0efc     MOVLW     0xfc                                                                                            
000808   1460     ANDWF     0x60,0x0,0x0                                                                                    
00080a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00080c   10e7     IORWF     0xe7,0x0,0x0                                                                                    
00080e   6e60     MOVWF     0x60,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // mark as redy to transmit                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                _asm                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000810   8660     BSF       0x60,0x3,0x0            bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000812   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000814   d000     BRA       0x816                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000816   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000818   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00081a   ffd9                                                                                                               
00081c   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
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            *                  Ticker service                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            * FileName:        Tick.c                                                       F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #include <Compiler.h>                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #else                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           TICK TickCount = 0;  // 10ms/unit                                                 F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Function: TickInit                                                             F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008bc   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008be   6ed6     MOVWF     0xd6,0x0                                                                                        
0008c0   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008c2   6ed7     MOVWF     0xd7,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               // 16-BIT, internal timer, PSA set to 1:256                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008c4   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008c6   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008c8   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008ca   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008cc   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008ce   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Function: TickGet                                                              F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Output: Current tick value is given, 1 tick represents approximately 10ms      F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           TICK tickGet(void)                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008d0   c08e     MOVFF     0x8e,0x10          return TickCount;                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008d2   f010                                                                                                               
0008d4   c08f     MOVFF     0x8f,0x11                                                                                       
0008d6   f011                                                                                                               
0008d8   c090     MOVFF     0x90,0x12                                                                                       
0008da   f012                                                                                                               
0008dc   c091     MOVFF     0x91,0x13                                                                                       
0008de   f013                                                                                                               
0008e0   d000     BRA       0x8e2                                                                                           
0008e2   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Function: tickUpdate                                                           F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           void tickUpdate(void)                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008e4   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008e6   d00b     BRA       0x8fe                                                                                           
                                               {                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008e8   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008ea   6ed7     MOVWF     0xd7,0x0                                                                                        
0008ec   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008ee   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008f0   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008f2   2b8e     INCF      0x8e,0x1,0x1                                                                                    
0008f4   0e00     MOVLW     0x0                                                                                             
0008f6   238f     ADDWFC    0x8f,0x1,0x1                                                                                    
0008f8   2390     ADDWFC    0x90,0x1,0x1                                                                                    
0008fa   2391     ADDWFC    0x91,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008fc   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBoot\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBoot\Source\Tick.c
0008fe   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Tick.c