Subversion Repositories HomeAutomation

Rev

Rev 140 | 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 Jan 28 14:54:04 2007


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                  CAN module                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/CAN.c $ F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * Last changed: $LastChangedDate: 2006-11-14 21:11:28 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * Revision:     $Revision: 95 $                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <CANdefs.h>                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           TICK heartbeat;                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static CAN_MESSAGE outCm;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canInit                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: Changes can registers.                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           void canInit()                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001050   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001052   6e6f     MOVWF     0x6f,0x0                                                                                        
001054   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
001056   146e     ANDWF     0x6e,0x0,0x0                                                                                    
001058   0880     SUBLW     0x80                                                                                            
00105a   e001     BZ        0x105e                                                                                          
00105c   d7fb     BRA       0x1054                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // BAUD AND TQS                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // 500Khz@40Mhz (new by the book)                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00105e   0e04     MOVLW     0x4             BRGCON1 = 0x04;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001060   6e70     MOVWF     0x70,0x0                                                                                        
001062   0ed1     MOVLW     0xd1            BRGCON2 = 0xD1;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001064   6e71     MOVWF     0x71,0x0                                                                                        
001066   0e81     MOVLW     0x81            BRGCON3 = 0x81;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001068   6e72     MOVWF     0x72,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON1=0;                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON1bits.SJW1=0;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON1bits.SJW0=1;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Setting BRP.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON1=BRGCON1|CAN_BRP;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.SEG2PHTS = 1;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.SEG1PH2 = 0;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.SEG1PH1 = 0;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.SEG1PH0 = 1;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.PRSEG2 = 0;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.PRSEG1 = 0;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.PRSEG0 = 1;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.WAKDIS = 0;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.WAKFIL = 0;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.SEG2PH2 = 0;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.SEG2PH1 = 0;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.SEG2PH0 = 1;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00106a   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00106c   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00106e   9c77     BCF       0x77,0x6,0x0    ECANCONbits.MDSEL0 = 0; // 1  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001070   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001072   9a60     BCF       0x60,0x5,0x0    RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // INTERRUPTS                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Diable transmit interrupt                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
001074   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001076   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001078   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00107a   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00107c   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00107e   6ea5     MOVWF     0xa5,0x0        IPR3 =0b00000011;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Programmable buffers interrupt                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001080   69fa     SETF      0xfa,0x1        BIE0  = 0xFF;                                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //loopback mode or not                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            #ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            #else                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001082   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001084   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001086   146e     ANDWF     0x6e,0x0,0x0                                                                                    
001088   e001     BZ        0x108c                                                                                          
00108a   d7fc     BRA       0x1084                                                                                          
                                            #endif                                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Init ticker service                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00108c   ecd3     CALL      0x1ba6,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
00108e   f00d                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
001090   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001092   6ee6     MOVWF     0xe6,0x0                                                                                        
001094   6ae6     CLRF      0xe6,0x0                                                                                        
001096   ec2e     CALL      0x1a5c,0x0                                                                                      
001098   f00d                                                                                                               
00109a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00109c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00109e   082a     SUBLW     0x2a                                                                                            
0010a0   e12b     BNZ       0x10f8                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0010a2   0e01     MOVLW     0x1                 MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canBase\Source\CAN.c
0010a4   6ee6     MOVWF     0xe6,0x0                                                                                        
0010a6   6ae6     CLRF      0xe6,0x0                                                                                        
0010a8   ec2e     CALL      0x1a5c,0x0                                                                                      
0010aa   f00d                                                                                                               
0010ac   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010ae   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b0   6e00     MOVWF     0x0,0x0                                                                                         
0010b2   c000     MOVFF     0x0,0x1                                                                                         
0010b4   f001                                                                                                               
0010b6   6a00     CLRF      0x0,0x0                                                                                         
0010b8   c000     MOVFF     0x0,0xfe6                                                                                       
0010ba   ffe6                                                                                                               
0010bc   c001     MOVFF     0x1,0xfe6                                                                                       
0010be   ffe6                                                                                                               
0010c0   0e02     MOVLW     0x2                                                                                             
0010c2   6ee6     MOVWF     0xe6,0x0                                                                                        
0010c4   6ae6     CLRF      0xe6,0x0                                                                                        
0010c6   ec2e     CALL      0x1a5c,0x0                                                                                      
0010c8   f00d                                                                                                               
0010ca   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010cc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010ce   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010d0   cfe7     MOVFF     0xfe7,0x1                                                                                       
0010d2   f001                                                                                                               
0010d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010d6   cfe7     MOVFF     0xfe7,0x0                                                                                       
0010d8   f000                                                                                                               
0010da   0100     MOVLB     0x0                                                                                             
0010dc   2400     ADDWF     0x0,0x0,0x0                                                                                     
0010de   6f89     MOVWF     0x89,0x1                                                                                        
0010e0   0e00     MOVLW     0x0                                                                                             
0010e2   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0010e4   6f8a     MOVWF     0x8a,0x1                                                                                        
0010e6   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0010e8   6ee6     MOVWF     0xe6,0x0                                                                                        
0010ea   6ae6     CLRF      0xe6,0x0                                                                                        
0010ec   ec2e     CALL      0x1a5c,0x0                                                                                      
0010ee   f00d                                                                                                               
0010f0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010f2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010f4   0100     MOVLB     0x0                                                                                             
0010f6   6f8b     MOVWF     0x8b,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Send user program startup heatbeat                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0010f8   0100     MOVLB     0x0             outCm.funct                     = FUNCT_BOOTLOADER;                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0010fa   6b64     CLRF      0x64,0x1                                                                                        
0010fc   0e08     MOVLW     0x8             outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0010fe   6f65     MOVWF     0x65,0x1                                                                                        
001100   6b66     CLRF      0x66,0x1                                                                                        
001102   0e01     MOVLW     0x1             outCm.data_length               = 1;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001104   6f6a     MOVWF     0x6a,0x1                                                                                        
001106   6f6b     MOVWF     0x6b,0x1        outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_USER_STARTUP;                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001108   0e02     MOVLW     0x2             while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00110a   6ee6     MOVWF     0xe6,0x0                                                                                        
00110c   c064     MOVFF     0x64,0xfe6                                                                                      
00110e   ffe6                                                                                                               
001110   c065     MOVFF     0x65,0xfe6                                                                                      
001112   ffe6                                                                                                               
001114   c066     MOVFF     0x66,0xfe6                                                                                      
001116   ffe6                                                                                                               
001118   c067     MOVFF     0x67,0xfe6                                                                                      
00111a   ffe6                                                                                                               
00111c   c068     MOVFF     0x68,0xfe6                                                                                      
00111e   ffe6                                                                                                               
001120   c069     MOVFF     0x69,0xfe6                                                                                      
001122   ffe6                                                                                                               
001124   c06a     MOVFF     0x6a,0xfe6                                                                                      
001126   ffe6                                                                                                               
001128   c06b     MOVFF     0x6b,0xfe6                                                                                      
00112a   ffe6                                                                                                               
00112c   c06c     MOVFF     0x6c,0xfe6                                                                                      
00112e   ffe6                                                                                                               
001130   c06d     MOVFF     0x6d,0xfe6                                                                                      
001132   ffe6                                                                                                               
001134   c06e     MOVFF     0x6e,0xfe6                                                                                      
001136   ffe6                                                                                                               
001138   c06f     MOVFF     0x6f,0xfe6                                                                                      
00113a   ffe6                                                                                                               
00113c   c070     MOVFF     0x70,0xfe6                                                                                      
00113e   ffe6                                                                                                               
001140   c071     MOVFF     0x71,0xfe6                                                                                      
001142   ffe6                                                                                                               
001144   c072     MOVFF     0x72,0xfe6                                                                                      
001146   ffe6                                                                                                               
001148   d9f3     RCALL     0x1530                                                                                          
00114a   6e00     MOVWF     0x0,0x0                                                                                         
00114c   0e10     MOVLW     0x10                                                                                            
00114e   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001150   5000     MOVF      0x0,0x0,0x0                                                                                     
001152   0900     IORLW     0x0                                                                                             
001154   e101     BNZ       0x1158                                                                                          
001156   d7d8     BRA       0x1108                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001158   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canISR                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: a call to canInit()                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: interrupt registers and receive data buffers                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           void canISR()                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
00115a   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00115c   0b02     ANDLW     0x2                                                                                             
00115e   e106     BNZ       0x116c                                                                                          
001160   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001162   0b02     ANDLW     0x2                                                                                             
001164   e103     BNZ       0x116c                                                                                          
001166   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001168   0b01     ANDLW     0x1                                                                                             
00116a   e016     BZ        0x1198                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00116c   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
00116e   146f     ANDWF     0x6f,0x0,0x0                                                                                    
001170   0910     IORLW     0x10                                                                                            
001172   6e00     MOVWF     0x0,0x0                                                                                         
001174   0e00     MOVLW     0x0                                                                                             
001176   1477     ANDWF     0x77,0x0,0x0                                                                                    
001178   1000     IORWF     0x0,0x0,0x0                                                                                     
00117a   6e77     MOVWF     0x77,0x0                                                                                        
00117c   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00117e   d86a     RCALL     0x1254                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001180   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001182   d002     BRA       0x1188                                                                                          
001184   92a4     BCF       0xa4,0x1,0x0                                                                                    
001186   d065     BRA       0x1252                                                                                          
001188   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00118a   d002     BRA       0x1190                                                                                          
00118c   92a4     BCF       0xa4,0x1,0x0                                                                                    
00118e   d061     BRA       0x1252                                                                                          
001190   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001192   d002     BRA       0x1198                                                                                          
001194   90a4     BCF       0xa4,0x0,0x0                                                                                    
001196   d05d     BRA       0x1252                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001198   ece7     CALL      0x1bce,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00119a   f00d                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00119c   ecdd     CALL      0x1bba,0x0      if ((tickGet()-heartbeat)>TICK_SECOND*5)                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00119e   f00d                                                                                                               
0011a0   0100     MOVLB     0x0                                                                                             
0011a2   5160     MOVF      0x60,0x0,0x1                                                                                    
0011a4   5c12     SUBWF     0x12,0x0,0x0                                                                                    
0011a6   6e00     MOVWF     0x0,0x0                                                                                         
0011a8   0100     MOVLB     0x0                                                                                             
0011aa   5161     MOVF      0x61,0x0,0x1                                                                                    
0011ac   5813     SUBWFB    0x13,0x0,0x0                                                                                    
0011ae   6e01     MOVWF     0x1,0x0                                                                                         
0011b0   0100     MOVLB     0x0                                                                                             
0011b2   5162     MOVF      0x62,0x0,0x1                                                                                    
0011b4   5814     SUBWFB    0x14,0x0,0x0                                                                                    
0011b6   6e02     MOVWF     0x2,0x0                                                                                         
0011b8   0100     MOVLB     0x0                                                                                             
0011ba   5163     MOVF      0x63,0x0,0x1                                                                                    
0011bc   5815     SUBWFB    0x15,0x0,0x0                                                                                    
0011be   6e03     MOVWF     0x3,0x0                                                                                         
0011c0   80d8     BSF       0xd8,0x0,0x0                                                                                    
0011c2   0ef4     MOVLW     0xf4                                                                                            
0011c4   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0011c6   0e01     MOVLW     0x1                                                                                             
0011c8   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0011ca   0e00     MOVLW     0x0                                                                                             
0011cc   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0011ce   0e00     MOVLW     0x0                                                                                             
0011d0   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0011d2   e23e     BC        0x1250                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Send alive heartbeat                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0011d4   0100     MOVLB     0x0                 outCm.funct                     = FUNCT_BOOTLOADER;                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0011d6   6b64     CLRF      0x64,0x1                                                                                        
0011d8   0e08     MOVLW     0x8                 outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0011da   0100     MOVLB     0x0                                                                                             
0011dc   6f65     MOVWF     0x65,0x1                                                                                        
0011de   6b66     CLRF      0x66,0x1                                                                                        
0011e0   0100     MOVLB     0x0                 outCm.data_length               = 1;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0011e2   0e01     MOVLW     0x1                                                                                             
0011e4   6f6a     MOVWF     0x6a,0x1                                                                                        
0011e6   0100     MOVLB     0x0                 outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_ALIVE;                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0011e8   0e02     MOVLW     0x2                                                                                             
0011ea   6f6b     MOVWF     0x6b,0x1                                                                                        
0011ec   0e02     MOVLW     0x2                 while(!canSendMessage(outCm,PRIO_HIGH));                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0011ee   6ee6     MOVWF     0xe6,0x0                                                                                        
0011f0   c064     MOVFF     0x64,0xfe6                                                                                      
0011f2   ffe6                                                                                                               
0011f4   c065     MOVFF     0x65,0xfe6                                                                                      
0011f6   ffe6                                                                                                               
0011f8   c066     MOVFF     0x66,0xfe6                                                                                      
0011fa   ffe6                                                                                                               
0011fc   c067     MOVFF     0x67,0xfe6                                                                                      
0011fe   ffe6                                                                                                               
001200   c068     MOVFF     0x68,0xfe6                                                                                      
001202   ffe6                                                                                                               
001204   c069     MOVFF     0x69,0xfe6                                                                                      
001206   ffe6                                                                                                               
001208   c06a     MOVFF     0x6a,0xfe6                                                                                      
00120a   ffe6                                                                                                               
00120c   c06b     MOVFF     0x6b,0xfe6                                                                                      
00120e   ffe6                                                                                                               
001210   c06c     MOVFF     0x6c,0xfe6                                                                                      
001212   ffe6                                                                                                               
001214   c06d     MOVFF     0x6d,0xfe6                                                                                      
001216   ffe6                                                                                                               
001218   c06e     MOVFF     0x6e,0xfe6                                                                                      
00121a   ffe6                                                                                                               
00121c   c06f     MOVFF     0x6f,0xfe6                                                                                      
00121e   ffe6                                                                                                               
001220   c070     MOVFF     0x70,0xfe6                                                                                      
001222   ffe6                                                                                                               
001224   c071     MOVFF     0x71,0xfe6                                                                                      
001226   ffe6                                                                                                               
001228   c072     MOVFF     0x72,0xfe6                                                                                      
00122a   ffe6                                                                                                               
00122c   d981     RCALL     0x1530                                                                                          
00122e   6e00     MOVWF     0x0,0x0                                                                                         
001230   0e10     MOVLW     0x10                                                                                            
001232   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001234   5000     MOVF      0x0,0x0,0x0                                                                                     
001236   0900     IORLW     0x0                                                                                             
001238   e101     BNZ       0x123c                                                                                          
00123a   d7d8     BRA       0x11ec                                                                                          
                                                                                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
00123c   ecdd     CALL      0x1bba,0x0          heartbeat = tickGet();                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00123e   f00d                                                                                                               
001240   c012     MOVFF     0x12,0x60                                                                                       
001242   f060                                                                                                               
001244   c013     MOVFF     0x13,0x61                                                                                       
001246   f061                                                                                                               
001248   c014     MOVFF     0x14,0x62                                                                                       
00124a   f062                                                                                                               
00124c   c015     MOVFF     0x15,0x63                                                                                       
00124e   f063                                                                                                               
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001250   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001252   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canGetPacket                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001254   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001256   ffe6                                                                                                               
001258   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00125a   ffd9                                                                                                               
00125c   0e0f     MOVLW     0xf                                                                                             
00125e   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001260   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001262   1461     ANDWF     0x61,0x0,0x0                                                                                    
001264   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
001266   0b0f     ANDLW     0xf                                                                                             
001268   6edf     MOVWF     0xdf,0x0                                                                                        
00126a   0e0f     MOVLW     0xf                    cm.funcc=(((WORD)(RXB0SIDH & 0x0F))<<6)+(((WORD)(RXB0SIDL & 0xE0))>>2)+(((WORD)(RXB0SIDL & 0x03))<<1)+(((WORD)(RXB0EIDH & 0x80))>>7); F:\MCP\projects\CAN\canBase\Source\CAN.c
00126c   1461     ANDWF     0x61,0x0,0x0                                                                                    
00126e   6e06     MOVWF     0x6,0x0                                                                                         
001270   6a07     CLRF      0x7,0x0                                                                                         
001272   0e06     MOVLW     0x6                                                                                             
001274   90d8     BCF       0xd8,0x0,0x0                                                                                    
001276   3606     RLCF      0x6,0x1,0x0                                                                                     
001278   3607     RLCF      0x7,0x1,0x0                                                                                     
00127a   04e8     DECF      0xe8,0x0,0x0                                                                                    
00127c   e1fb     BNZ       0x1274                                                                                          
00127e   0ee0     MOVLW     0xe0                                                                                            
001280   1462     ANDWF     0x62,0x0,0x0                                                                                    
001282   6e08     MOVWF     0x8,0x0                                                                                         
001284   6a09     CLRF      0x9,0x0                                                                                         
001286   90d8     BCF       0xd8,0x0,0x0                                                                                    
001288   3209     RRCF      0x9,0x1,0x0                                                                                     
00128a   3208     RRCF      0x8,0x1,0x0                                                                                     
00128c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00128e   3209     RRCF      0x9,0x1,0x0                                                                                     
001290   3208     RRCF      0x8,0x1,0x0                                                                                     
001292   5006     MOVF      0x6,0x0,0x0                                                                                     
001294   2408     ADDWF     0x8,0x0,0x0                                                                                     
001296   6e04     MOVWF     0x4,0x0                                                                                         
001298   5007     MOVF      0x7,0x0,0x0                                                                                     
00129a   2009     ADDWFC    0x9,0x0,0x0                                                                                     
00129c   6e05     MOVWF     0x5,0x0                                                                                         
00129e   0e03     MOVLW     0x3                                                                                             
0012a0   1462     ANDWF     0x62,0x0,0x0                                                                                    
0012a2   6e0a     MOVWF     0xa,0x0                                                                                         
0012a4   6a0b     CLRF      0xb,0x0                                                                                         
0012a6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0012a8   360a     RLCF      0xa,0x1,0x0                                                                                     
0012aa   360b     RLCF      0xb,0x1,0x0                                                                                     
0012ac   5004     MOVF      0x4,0x0,0x0                                                                                     
0012ae   240a     ADDWF     0xa,0x0,0x0                                                                                     
0012b0   6e02     MOVWF     0x2,0x0                                                                                         
0012b2   5005     MOVF      0x5,0x0,0x0                                                                                     
0012b4   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0012b6   6e03     MOVWF     0x3,0x0                                                                                         
0012b8   0e80     MOVLW     0x80                                                                                            
0012ba   1463     ANDWF     0x63,0x0,0x0                                                                                    
0012bc   6e0c     MOVWF     0xc,0x0                                                                                         
0012be   6a0d     CLRF      0xd,0x0                                                                                         
0012c0   0e07     MOVLW     0x7                                                                                             
0012c2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0012c4   320d     RRCF      0xd,0x1,0x0                                                                                     
0012c6   320c     RRCF      0xc,0x1,0x0                                                                                     
0012c8   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012ca   e1fb     BNZ       0x12c2                                                                                          
0012cc   5002     MOVF      0x2,0x0,0x0                                                                                     
0012ce   240c     ADDWF     0xc,0x0,0x0                                                                                     
0012d0   6e00     MOVWF     0x0,0x0                                                                                         
0012d2   5003     MOVF      0x3,0x0,0x0                                                                                     
0012d4   200d     ADDWFC    0xd,0x0,0x0                                                                                     
0012d6   6e01     MOVWF     0x1,0x0                                                                                         
0012d8   0e01     MOVLW     0x1                                                                                             
0012da   c000     MOVFF     0x0,0xfdb                                                                                       
0012dc   ffdb                                                                                                               
0012de   0e02     MOVLW     0x2                                                                                             
0012e0   c001     MOVFF     0x1,0xfdb                                                                                       
0012e2   ffdb                                                                                                               
0012e4   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0012e6   1463     ANDWF     0x63,0x0,0x0                                                                                    
0012e8   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0012ea   0b7f     ANDLW     0x7f                                                                                            
0012ec   6ee7     MOVWF     0xe7,0x0                                                                                        
0012ee   0e03     MOVLW     0x3                                                                                             
0012f0   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0012f2   ffdb                                                                                                               
0012f4   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0012f6   1463     ANDWF     0x63,0x0,0x0                                                                                    
0012f8   6e02     MOVWF     0x2,0x0                                                                                         
0012fa   c002     MOVFF     0x2,0x3                                                                                         
0012fc   f003                                                                                                               
0012fe   6a02     CLRF      0x2,0x0                                                                                         
001300   5064     MOVF      0x64,0x0,0x0                                                                                    
001302   0100     MOVLB     0x0                                                                                             
001304   2402     ADDWF     0x2,0x0,0x0                                                                                     
001306   6e00     MOVWF     0x0,0x0                                                                                         
001308   0e00     MOVLW     0x0                                                                                             
00130a   2003     ADDWFC    0x3,0x0,0x0                                                                                     
00130c   6e01     MOVWF     0x1,0x0                                                                                         
00130e   0e04     MOVLW     0x4                                                                                             
001310   c000     MOVFF     0x0,0xfdb                                                                                       
001312   ffdb                                                                                                               
001314   0e05     MOVLW     0x5                                                                                             
001316   c001     MOVFF     0x1,0xfdb                                                                                       
001318   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00131a   5065     MOVF      0x65,0x0,0x0        cm.data_length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canBase\Source\CAN.c
00131c   0b01     ANDLW     0x1                                                                                             
00131e   6e02     MOVWF     0x2,0x0                                                                                         
001320   5065     MOVF      0x65,0x0,0x0                                                                                    
001322   0b02     ANDLW     0x2                                                                                             
001324   e001     BZ        0x1328                                                                                          
001326   0e01     MOVLW     0x1                                                                                             
001328   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
00132a   6e01     MOVWF     0x1,0x0                                                                                         
00132c   5065     MOVF      0x65,0x0,0x0                                                                                    
00132e   0b04     ANDLW     0x4                                                                                             
001330   e001     BZ        0x1334                                                                                          
001332   0e01     MOVLW     0x1                                                                                             
001334   0d04     MULLW     0x4                                                                                             
001336   cff3     MOVFF     0xff3,0x0                                                                                       
001338   f000                                                                                                               
00133a   5065     MOVF      0x65,0x0,0x0                                                                                    
00133c   0b08     ANDLW     0x8                                                                                             
00133e   e001     BZ        0x1342                                                                                          
001340   0e01     MOVLW     0x1                                                                                             
001342   0d08     MULLW     0x8                                                                                             
001344   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001346   2400     ADDWF     0x0,0x0,0x0                                                                                     
001348   2401     ADDWF     0x1,0x0,0x0                                                                                     
00134a   2402     ADDWF     0x2,0x0,0x0                                                                                     
00134c   6ee7     MOVWF     0xe7,0x0                                                                                        
00134e   0e06     MOVLW     0x6                                                                                             
001350   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001352   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001354   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001356   cf66     MOVFF     0xf66,0xfdb                                                                                     
001358   ffdb                                                                                                               
00135a   0e08     MOVLW     0x8                                                                                             
00135c   cf67     MOVFF     0xf67,0xfdb                                                                                     
00135e   ffdb                                                                                                               
001360   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001362   cf68     MOVFF     0xf68,0xfdb                                                                                     
001364   ffdb                                                                                                               
001366   0e0a     MOVLW     0xa                                                                                             
001368   cf69     MOVFF     0xf69,0xfdb                                                                                     
00136a   ffdb                                                                                                               
00136c   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00136e   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
001370   ffdb                                                                                                               
001372   0e0c     MOVLW     0xc                                                                                             
001374   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
001376   ffdb                                                                                                               
001378   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00137a   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
00137c   ffdb                                                                                                               
00137e   0e0e     MOVLW     0xe                                                                                             
001380   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
001382   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001384   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Check if FUNCT_BOOTLOADER specific.                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // reset and id change                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001386   50df     MOVF      0xdf,0x0,0x0        if (cm.funct==FUNCT_BOOTLOADER)                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001388   e001     BZ        0x138c                                                                                          
00138a   d0a0     BRA       0x14cc                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00138c   0e03     MOVLW     0x3                     if (cm.nid==MY_NID && ((((unsigned int)cm.data[BOOT_DATA_RID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_RID_LOW_INDEX])==MY_ID)  F:\MCP\projects\CAN\canBase\Source\CAN.c
00138e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001390   0100     MOVLB     0x0                                                                                             
001392   5d8b     SUBWF     0x8b,0x0,0x1                                                                                    
001394   e001     BZ        0x1398                                                                                          
001396   d09a     BRA       0x14cc                                                                                          
001398   0e0c     MOVLW     0xc                                                                                             
00139a   cfdb     MOVFF     0xfdb,0x2                                                                                       
00139c   f002                                                                                                               
00139e   c002     MOVFF     0x2,0x3                                                                                         
0013a0   f003                                                                                                               
0013a2   6a02     CLRF      0x2,0x0                                                                                         
0013a4   0e0b     MOVLW     0xb                                                                                             
0013a6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0013a8   0100     MOVLB     0x0                                                                                             
0013aa   2402     ADDWF     0x2,0x0,0x0                                                                                     
0013ac   6e00     MOVWF     0x0,0x0                                                                                         
0013ae   0e00     MOVLW     0x0                                                                                             
0013b0   2003     ADDWFC    0x3,0x0,0x0                                                                                     
0013b2   6e01     MOVWF     0x1,0x0                                                                                         
0013b4   0100     MOVLB     0x0                                                                                             
0013b6   5189     MOVF      0x89,0x0,0x1                                                                                    
0013b8   1800     XORWF     0x0,0x0,0x0                                                                                     
0013ba   e102     BNZ       0x13c0                                                                                          
0013bc   518a     MOVF      0x8a,0x0,0x1                                                                                    
0013be   1801     XORWF     0x1,0x0,0x0                                                                                     
0013c0   e001     BZ        0x13c4                                                                                          
0013c2   d084     BRA       0x14cc                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0013c4   50d9     MOVF      0xd9,0x0,0x0                if (cm.funcc==FUNCC_BOOT_INIT) Reset(); // Reset me.                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0013c6   0f01     ADDLW     0x1                                                                                             
0013c8   6ee9     MOVWF     0xe9,0x0                                                                                        
0013ca   cfda     MOVFF     0xfda,0xfea                                                                                     
0013cc   ffea                                                                                                               
0013ce   0e01     MOVLW     0x1                                                                                             
0013d0   18ee     XORWF     0xee,0x0,0x0                                                                                    
0013d2   e101     BNZ       0x13d6                                                                                          
0013d4   50ed     MOVF      0xed,0x0,0x0                                                                                    
0013d6   e101     BNZ       0x13da                                                                                          
0013d8   00ff     RESET                                                                                                     
0013da   50d9     MOVF      0xd9,0x0,0x0                if (cm.funcc==FUNCC_BOOT_SET_ID)                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0013dc   0f01     ADDLW     0x1                                                                                             
0013de   6ee9     MOVWF     0xe9,0x0                                                                                        
0013e0   cfda     MOVFF     0xfda,0xfea                                                                                     
0013e2   ffea                                                                                                               
0013e4   0e06     MOVLW     0x6                                                                                             
0013e6   18ee     XORWF     0xee,0x0,0x0                                                                                    
0013e8   e101     BNZ       0x13ec                                                                                          
0013ea   50ed     MOVF      0xed,0x0,0x0                                                                                    
0013ec   e16f     BNZ       0x14cc                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
0013ee   0e08     MOVLW     0x8                                 MY_ID=(((WORD)cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]; F:\MCP\projects\CAN\canBase\Source\CAN.c
0013f0   cfdb     MOVFF     0xfdb,0x0                                                                                       
0013f2   f000                                                                                                               
0013f4   c000     MOVFF     0x0,0x1                                                                                         
0013f6   f001                                                                                                               
0013f8   6a00     CLRF      0x0,0x0                                                                                         
0013fa   0e07     MOVLW     0x7                                                                                             
0013fc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0013fe   0100     MOVLB     0x0                                                                                             
001400   2400     ADDWF     0x0,0x0,0x0                                                                                     
001402   6f89     MOVWF     0x89,0x1                                                                                        
001404   0e00     MOVLW     0x0                                                                                             
001406   2001     ADDWFC    0x1,0x0,0x0                                                                                     
001408   6f8a     MOVWF     0x8a,0x1                                                                                        
00140a   0e09     MOVLW     0x9                                 MY_NID=cm.data[BOOT_DATA_NEW_NID_INDEX];                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00140c   cfdb     MOVFF     0xfdb,0x8b                                                                                      
00140e   f08b                                                                                                               
001410   0e08     MOVLW     0x8                                 EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX]);                F:\MCP\projects\CAN\canBase\Source\CAN.c
001412   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001414   ffe6                                                                                                               
001416   0e01     MOVLW     0x1                                                                                             
001418   6ee6     MOVWF     0xe6,0x0                                                                                        
00141a   6ae6     CLRF      0xe6,0x0                                                                                        
00141c   ec53     CALL      0x1aa6,0x0                                                                                      
00141e   f00d                                                                                                               
001420   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001422   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001424   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001426   0e07     MOVLW     0x7                                 EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]);                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001428   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00142a   ffe6                                                                                                               
00142c   0e02     MOVLW     0x2                                                                                             
00142e   6ee6     MOVWF     0xe6,0x0                                                                                        
001430   6ae6     CLRF      0xe6,0x0                                                                                        
001432   ec53     CALL      0x1aa6,0x0                                                                                      
001434   f00d                                                                                                               
001436   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001438   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00143a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00143c   0e09     MOVLW     0x9                                 EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID_INDEX]);                    F:\MCP\projects\CAN\canBase\Source\CAN.c
00143e   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001440   ffe6                                                                                                               
001442   0e03     MOVLW     0x3                                                                                             
001444   6ee6     MOVWF     0xe6,0x0                                                                                        
001446   6ae6     CLRF      0xe6,0x0                                                                                        
001448   ec53     CALL      0x1aa6,0x0                                                                                      
00144a   f00d                                                                                                               
00144c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00144e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001450   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001452   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001454   6ee6     MOVWF     0xe6,0x0                                                                                        
001456   0e00     MOVLW     0x0                                                                                             
001458   6ee6     MOVWF     0xe6,0x0                                                                                        
00145a   6ae6     CLRF      0xe6,0x0                                                                                        
00145c   ec53     CALL      0x1aa6,0x0                                                                                      
00145e   f00d                                                                                                               
001460   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001462   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001464   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001466   0100     MOVLB     0x0                                 outCm.funct                     = FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001468   6b64     CLRF      0x64,0x1                                                                                        
00146a   0e04     MOVLW     0x4                                 outCm.funcc                     = FUNCC_BOOT_ACK;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00146c   0100     MOVLB     0x0                                                                                             
00146e   6f65     MOVWF     0x65,0x1                                                                                        
001470   6b66     CLRF      0x66,0x1                                                                                        
001472   0100     MOVLB     0x0                                 outCm.data_length               = 8;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001474   0e08     MOVLW     0x8                                                                                             
001476   6f6a     MOVWF     0x6a,0x1                                                                                        
001478   0100     MOVLB     0x0                                 outCm.data[BOOT_DATA_ERR_INDEX] = ACK_ERR_NO_ERROR;                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00147a   6b6f     CLRF      0x6f,0x1                                                                                        
00147c   0e02     MOVLW     0x2                                 while(!canSendMessage(outCm,PRIO_HIGH));                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00147e   6ee6     MOVWF     0xe6,0x0                                                                                        
001480   c064     MOVFF     0x64,0xfe6                                                                                      
001482   ffe6                                                                                                               
001484   c065     MOVFF     0x65,0xfe6                                                                                      
001486   ffe6                                                                                                               
001488   c066     MOVFF     0x66,0xfe6                                                                                      
00148a   ffe6                                                                                                               
00148c   c067     MOVFF     0x67,0xfe6                                                                                      
00148e   ffe6                                                                                                               
001490   c068     MOVFF     0x68,0xfe6                                                                                      
001492   ffe6                                                                                                               
001494   c069     MOVFF     0x69,0xfe6                                                                                      
001496   ffe6                                                                                                               
001498   c06a     MOVFF     0x6a,0xfe6                                                                                      
00149a   ffe6                                                                                                               
00149c   c06b     MOVFF     0x6b,0xfe6                                                                                      
00149e   ffe6                                                                                                               
0014a0   c06c     MOVFF     0x6c,0xfe6                                                                                      
0014a2   ffe6                                                                                                               
0014a4   c06d     MOVFF     0x6d,0xfe6                                                                                      
0014a6   ffe6                                                                                                               
0014a8   c06e     MOVFF     0x6e,0xfe6                                                                                      
0014aa   ffe6                                                                                                               
0014ac   c06f     MOVFF     0x6f,0xfe6                                                                                      
0014ae   ffe6                                                                                                               
0014b0   c070     MOVFF     0x70,0xfe6                                                                                      
0014b2   ffe6                                                                                                               
0014b4   c071     MOVFF     0x71,0xfe6                                                                                      
0014b6   ffe6                                                                                                               
0014b8   c072     MOVFF     0x72,0xfe6                                                                                      
0014ba   ffe6                                                                                                               
0014bc   d839     RCALL     0x1530                                                                                          
0014be   6e00     MOVWF     0x0,0x0                                                                                         
0014c0   0e10     MOVLW     0x10                                                                                            
0014c2   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0014c4   5000     MOVF      0x0,0x0,0x0                                                                                     
0014c6   0900     IORLW     0x0                                                                                             
0014c8   e101     BNZ       0x14cc                                                                                          
0014ca   d7d8     BRA       0x147c                                                                                          
                                                        }                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                    }                                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //Call main parser                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0014cc   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
0014ce   ffe9                                                                                                               
0014d0   cfda     MOVFF     0xfda,0xfea                                                                                     
0014d2   ffea                                                                                                               
0014d4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014d6   ffe6                                                                                                               
0014d8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014da   ffe6                                                                                                               
0014dc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014de   ffe6                                                                                                               
0014e0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014e2   ffe6                                                                                                               
0014e4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014e6   ffe6                                                                                                               
0014e8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014ea   ffe6                                                                                                               
0014ec   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014ee   ffe6                                                                                                               
0014f0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014f2   ffe6                                                                                                               
0014f4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014f6   ffe6                                                                                                               
0014f8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014fa   ffe6                                                                                                               
0014fc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014fe   ffe6                                                                                                               
001500   cfee     MOVFF     0xfee,0xfe6                                                                                     
001502   ffe6                                                                                                               
001504   cfee     MOVFF     0xfee,0xfe6                                                                                     
001506   ffe6                                                                                                               
001508   cfee     MOVFF     0xfee,0xfe6                                                                                     
00150a   ffe6                                                                                                               
00150c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00150e   ffe6                                                                                                               
001510   ec1f     CALL      0x1a3e,0x0                                                                                      
001512   f00d                                                                                                               
001514   6e00     MOVWF     0x0,0x0                                                                                         
001516   0e0f     MOVLW     0xf                                                                                             
001518   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00151a   5000     MOVF      0x0,0x0,0x0                                                                                     
00151c   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
00151e   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001520   e202     BC        0x1526                                                                                          
001522   6ae1     CLRF      0xe1,0x0                                                                                        
001524   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001526   6ee1     MOVWF     0xe1,0x0                                                                                        
001528   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00152a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00152c   ffd9                                                                                                               
00152e   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canSendMessage                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001530   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001532   ffe6                                                                                                               
001534   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001536   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001538   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
00153a   b740     BTFSC     0x40,0x3,0x1                                                                                    
00153c   d004     BRA       0x1546                                                                                          
00153e   0e00     MOVLW     0x0                                                                                             
001540   1477     ANDWF     0x77,0x0,0x0                                                                                    
001542   0903     IORLW     0x3                                                                                             
001544   6e77     MOVWF     0x77,0x0                                                                                        
001546   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001548   b730     BTFSC     0x30,0x3,0x1                                                                                    
00154a   d004     BRA       0x1554                                                                                          
00154c   0e00     MOVLW     0x0                                                                                             
00154e   1477     ANDWF     0x77,0x0,0x0                                                                                    
001550   0904     IORLW     0x4                                                                                             
001552   6e77     MOVWF     0x77,0x0                                                                                        
001554   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001556   b720     BTFSC     0x20,0x3,0x1                                                                                    
001558   d005     BRA       0x1564                                                                                          
00155a   0e00     MOVLW     0x0                                                                                             
00155c   1477     ANDWF     0x77,0x0,0x0                                                                                    
00155e   0905     IORLW     0x5                                                                                             
001560   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
001562   d002     BRA       0x1568          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001564   0e00     MOVLW     0x0                                                                                             
001566   d0b9     BRA       0x16da                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001568   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00156a   cfdb     MOVFF     0xfdb,0x0                                                                                       
00156c   f000                                                                                                               
00156e   3400     RLCF      0x0,0x0,0x0                                                                                     
001570   e20e     BC        0x158e                                                                                          
001572   0eef     MOVLW     0xef                                                                                            
001574   cfdb     MOVFF     0xfdb,0x1                                                                                       
001576   f001                                                                                                               
001578   0e03     MOVLW     0x3                                                                                             
00157a   6ee7     MOVWF     0xe7,0x0                                                                                        
00157c   1801     XORWF     0x1,0x0,0x0                                                                                     
00157e   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
001580   d002     BRA       0x1586                                                                                          
001582   3401     RLCF      0x1,0x0,0x0                                                                                     
001584   d003     BRA       0x158c                                                                                          
001586   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001588   80d8     BSF       0xd8,0x0,0x0                                                                                    
00158a   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00158c   e202     BC        0x1592                                                                                          
00158e   0eef     MOVLW     0xef                                                                                            
001590   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Append my id and nid                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001592   0ef3     MOVLW     0xf3                cm.nid  = MY_NID;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001594   c08b     MOVFF     0x8b,0xfdb                                                                                      
001596   ffdb                                                                                                               
001598   0ef4     MOVLW     0xf4                cm.sid  = MY_ID;                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
00159a   c089     MOVFF     0x89,0xfdb                                                                                      
00159c   ffdb                                                                                                               
00159e   0ef5     MOVLW     0xf5                                                                                            
0015a0   c08a     MOVFF     0x8a,0xfdb                                                                                      
0015a2   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0015a4   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBase\Source\CAN.c
0015a6   cfdb     MOVFF     0xfdb,0x0                                                                                       
0015a8   f000                                                                                                               
0015aa   0ef2     MOVLW     0xf2                                                                                            
0015ac   cfdb     MOVFF     0xfdb,0x1                                                                                       
0015ae   f001                                                                                                               
0015b0   0ec0     MOVLW     0xc0                                                                                            
0015b2   1600     ANDWF     0x0,0x1,0x0                                                                                     
0015b4   0e03     MOVLW     0x3                                                                                             
0015b6   1601     ANDWF     0x1,0x1,0x0                                                                                     
0015b8   0e06     MOVLW     0x6                                                                                             
0015ba   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015bc   3201     RRCF      0x1,0x1,0x0                                                                                     
0015be   3200     RRCF      0x0,0x1,0x0                                                                                     
0015c0   04e8     DECF      0xe8,0x0,0x0                                                                                    
0015c2   e1fb     BNZ       0x15ba                                                                                          
0015c4   0ef0     MOVLW     0xf0                                                                                            
0015c6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0015c8   0b0f     ANDLW     0xf                                                                                             
0015ca   0d10     MULLW     0x10                                                                                            
0015cc   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0015ce   2400     ADDWF     0x0,0x0,0x0                                                                                     
0015d0   6e61     MOVWF     0x61,0x0                                                                                        
0015d2   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBase\Source\CAN.c
0015d4   6ee7     MOVWF     0xe7,0x0                                                                                        
0015d6   0ef1     MOVLW     0xf1                                                                                            
0015d8   cfdb     MOVFF     0xfdb,0x2                                                                                       
0015da   f002                                                                                                               
0015dc   0ef2     MOVLW     0xf2                                                                                            
0015de   cfdb     MOVFF     0xfdb,0x3                                                                                       
0015e0   f003                                                                                                               
0015e2   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0015e4   1602     ANDWF     0x2,0x1,0x0                                                                                     
0015e6   6a03     CLRF      0x3,0x0                                                                                         
0015e8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015ea   3203     RRCF      0x3,0x1,0x0                                                                                     
0015ec   3202     RRCF      0x2,0x1,0x0                                                                                     
0015ee   0e3f     MOVLW     0x3f                                                                                            
0015f0   6ee7     MOVWF     0xe7,0x0                                                                                        
0015f2   0ef1     MOVLW     0xf1                                                                                            
0015f4   cfdb     MOVFF     0xfdb,0x0                                                                                       
0015f6   f000                                                                                                               
0015f8   0ef2     MOVLW     0xf2                                                                                            
0015fa   cfdb     MOVFF     0xfdb,0x1                                                                                       
0015fc   f001                                                                                                               
0015fe   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001600   1600     ANDWF     0x0,0x1,0x0                                                                                     
001602   6a01     CLRF      0x1,0x0                                                                                         
001604   90d8     BCF       0xd8,0x0,0x0                                                                                    
001606   3600     RLCF      0x0,0x1,0x0                                                                                     
001608   3601     RLCF      0x1,0x1,0x0                                                                                     
00160a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00160c   3600     RLCF      0x0,0x1,0x0                                                                                     
00160e   3601     RLCF      0x1,0x1,0x0                                                                                     
001610   5000     MOVF      0x0,0x0,0x0                                                                                     
001612   2402     ADDWF     0x2,0x0,0x0                                                                                     
001614   6e62     MOVWF     0x62,0x0                                                                                        
001616   0ef4     MOVLW     0xf4                RXB0EIDH = (BYTE)((cm.funcc & 0x0001)<<7)+(BYTE)((cm.nid & 0x3F)<<1)+(BYTE)((cm.sid & 0x0100)>>8); F:\MCP\projects\CAN\canBase\Source\CAN.c
001618   cfdb     MOVFF     0xfdb,0x2                                                                                       
00161a   f002                                                                                                               
00161c   0ef5     MOVLW     0xf5                                                                                            
00161e   cfdb     MOVFF     0xfdb,0x3                                                                                       
001620   f003                                                                                                               
001622   0e00     MOVLW     0x0                                                                                             
001624   1602     ANDWF     0x2,0x1,0x0                                                                                     
001626   0e01     MOVLW     0x1                                                                                             
001628   1603     ANDWF     0x3,0x1,0x0                                                                                     
00162a   c003     MOVFF     0x3,0x2                                                                                         
00162c   f002                                                                                                               
00162e   6a03     CLRF      0x3,0x0                                                                                         
001630   0e01     MOVLW     0x1                                                                                             
001632   6ee7     MOVWF     0xe7,0x0                                                                                        
001634   0ef1     MOVLW     0xf1                                                                                            
001636   cfdb     MOVFF     0xfdb,0x0                                                                                       
001638   f000                                                                                                               
00163a   0ef2     MOVLW     0xf2                                                                                            
00163c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00163e   f001                                                                                                               
001640   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001642   1600     ANDWF     0x0,0x1,0x0                                                                                     
001644   6a01     CLRF      0x1,0x0                                                                                         
001646   0e07     MOVLW     0x7                                                                                             
001648   90d8     BCF       0xd8,0x0,0x0                                                                                    
00164a   3600     RLCF      0x0,0x1,0x0                                                                                     
00164c   3601     RLCF      0x1,0x1,0x0                                                                                     
00164e   04e8     DECF      0xe8,0x0,0x0                                                                                    
001650   e1fb     BNZ       0x1648                                                                                          
001652   0ef3     MOVLW     0xf3                                                                                            
001654   50db     MOVF      0xdb,0x0,0x0                                                                                    
001656   0b3f     ANDLW     0x3f                                                                                            
001658   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
00165a   2400     ADDWF     0x0,0x0,0x0                                                                                     
00165c   2402     ADDWF     0x2,0x0,0x0                                                                                     
00165e   6e63     MOVWF     0x63,0x0                                                                                        
001660   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001662   6ee7     MOVWF     0xe7,0x0                                                                                        
001664   0ef4     MOVLW     0xf4                                                                                            
001666   cfdb     MOVFF     0xfdb,0x0                                                                                       
001668   f000                                                                                                               
00166a   0ef5     MOVLW     0xf5                                                                                            
00166c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00166e   f001                                                                                                               
001670   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001672   1600     ANDWF     0x0,0x1,0x0                                                                                     
001674   6a01     CLRF      0x1,0x0                                                                                         
001676   5000     MOVF      0x0,0x0,0x0                                                                                     
001678   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00167a   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00167c   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBase\Source\CAN.c
00167e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001680   0808     SUBLW     0x8                                                                                             
001682   e203     BC        0x168a                                                                                          
001684   0e08     MOVLW     0x8                                                                                             
001686   6e65     MOVWF     0x65,0x0                                                                                        
001688   d003     BRA       0x1690                                                                                          
00168a   0ef6     MOVLW     0xf6                                                                                            
00168c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00168e   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // NOT Remote request                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                _asm                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001690   9c65     BCF       0x65,0x6,0x0            bcf RXB0DLC, 6, 0                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001692   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001694   50db     MOVF      0xdb,0x0,0x0                                                                                    
001696   6e66     MOVWF     0x66,0x0                                                                                        
001698   0ef8     MOVLW     0xf8                                                                                            
00169a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00169c   6e67     MOVWF     0x67,0x0                                                                                        
00169e   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016a0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016a2   6e68     MOVWF     0x68,0x0                                                                                        
0016a4   0efa     MOVLW     0xfa                                                                                            
0016a6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016a8   6e69     MOVWF     0x69,0x0                                                                                        
0016aa   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ac   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016ae   6e6a     MOVWF     0x6a,0x0                                                                                        
0016b0   0efc     MOVLW     0xfc                                                                                            
0016b2   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016b4   6e6b     MOVWF     0x6b,0x0                                                                                        
0016b6   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016b8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016ba   6e6c     MOVWF     0x6c,0x0                                                                                        
0016bc   0efe     MOVLW     0xfe                                                                                            
0016be   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016c0   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // set extended                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c2   8662     BSF       0x62,0x3,0x0        RXB0SIDLbits.EXID=1;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Priority                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c4   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c6   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0016c8   ffe6                                                                                                               
0016ca   0efc     MOVLW     0xfc                                                                                            
0016cc   1460     ANDWF     0x60,0x0,0x0                                                                                    
0016ce   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0016d0   10e7     IORWF     0xe7,0x0,0x0                                                                                    
0016d2   6e60     MOVWF     0x60,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // mark as redy to transmit                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                _asm                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0016d4   8660     BSF       0x60,0x3,0x0            bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016d6   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0016d8   d000     BRA       0x16da                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016da   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0016dc   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0016de   ffd9                                                                                                               
0016e0   0012     RETURN    0x0                                                                                             
                                           /*********************************************************************           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                  Ticker module service                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/Tick.c $ F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * Last changed: $LastChangedDate: 2006-11-14 10:55:38 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * Revision:     $Revision: 86 $                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #include <Compiler.h>                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #else                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           TICK TickCount = 0;  // 10ms/unit                                                 F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Function: TickInit                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
001ba6   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
001ba8   6ed6     MOVWF     0xd6,0x0                                                                                        
001baa   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
001bac   6ed7     MOVWF     0xd7,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // 16-BIT, internal timer, PSA set to 1:256                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
001bae   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
001bb0   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
001bb2   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001bb4   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
001bb6   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
001bb8   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Function: TickGet                                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Output: Current tick value is given, 1 tick represents approximately 10ms      F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           TICK tickGet(void)                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001bba   c085     MOVFF     0x85,0x12          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001bbc   f012                                                                                                               
001bbe   c086     MOVFF     0x86,0x13                                                                                       
001bc0   f013                                                                                                               
001bc2   c087     MOVFF     0x87,0x14                                                                                       
001bc4   f014                                                                                                               
001bc6   c088     MOVFF     0x88,0x15                                                                                       
001bc8   f015                                                                                                               
001bca   d000     BRA       0x1bcc                                                                                          
001bcc   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Function: tickUpdate                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           void tickUpdate(void)                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001bce   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
001bd0   d00b     BRA       0x1be8                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001bd2   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
001bd4   6ed7     MOVWF     0xd7,0x0                                                                                        
001bd6   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001bd8   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001bda   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
001bdc   2b85     INCF      0x85,0x1,0x1                                                                                    
001bde   0e00     MOVLW     0x0                                                                                             
001be0   2386     ADDWFC    0x86,0x1,0x1                                                                                    
001be2   2387     ADDWFC    0x87,0x1,0x1                                                                                    
001be4   2388     ADDWFC    0x88,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001be6   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001be8   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canLCD/Source/Main.c $ F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            * Last changed: $LastChangedDate: 2006-11-21 10:28:39 +0100 (ti, 21 nov 2006) $ F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            * Revision:     $Revision: 140 $                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #ifdef USE_LCD                                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            #include "lcd.h"                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001904   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
001906   ffe6                                                                                                               
001908   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00190a   ffd9                                                                                                               
00190c   0e0f     MOVLW     0xf                                                                                             
00190e   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            static TICK t = 0;                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canLCD\Source\Main.c
001910   d891     RCALL     0x1a34          mainInit();                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
001912   ec28     CALL      0x1050,0x0      canInit();                                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
001914   f008                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            #ifdef USE_LCD                                                                  F:\MCP\projects\CAN\canLCD\Source\Main.c
001916   ec45     CALL      0x188a,0x0          lcdInit();                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
001918   f00c                                                                                                               
00191a   ecd4     CALL      0x17a8,0x0          lcdClear();                                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
00191c   f00b                                                                                                               
00191e   0e4c     MOVLW     0x4c                lcdPutrs("Welcome!");                                                          F:\MCP\projects\CAN\canLCD\Source\Main.c
001920   6ee6     MOVWF     0xe6,0x0                                                                                        
001922   0e1c     MOVLW     0x1c                                                                                            
001924   6ee6     MOVWF     0xe6,0x0                                                                                        
001926   ec07     CALL      0x180e,0x0                                                                                      
001928   f00c                                                                                                               
00192a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00192c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            #endif                                                                          F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001976   d7db     BRA       0x192e          while(1)                                                                        F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                static TICK t = 0;                                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
00192e   ecdd     CALL      0x1bba,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canLCD\Source\Main.c
001930   f00d                                                                                                               
001932   0100     MOVLB     0x0                                                                                             
001934   5181     MOVF      0x81,0x0,0x1                                                                                    
001936   5c12     SUBWF     0x12,0x0,0x0                                                                                    
001938   6e00     MOVWF     0x0,0x0                                                                                         
00193a   5182     MOVF      0x82,0x0,0x1                                                                                    
00193c   5813     SUBWFB    0x13,0x0,0x0                                                                                    
00193e   6e01     MOVWF     0x1,0x0                                                                                         
001940   5183     MOVF      0x83,0x0,0x1                                                                                    
001942   5814     SUBWFB    0x14,0x0,0x0                                                                                    
001944   6e02     MOVWF     0x2,0x0                                                                                         
001946   5184     MOVF      0x84,0x0,0x1                                                                                    
001948   5815     SUBWFB    0x15,0x0,0x0                                                                                    
00194a   6e03     MOVWF     0x3,0x0                                                                                         
00194c   80d8     BSF       0xd8,0x0,0x0                                                                                    
00194e   0e64     MOVLW     0x64                                                                                            
001950   5400     SUBFWB    0x0,0x0,0x0                                                                                     
001952   0e00     MOVLW     0x0                                                                                             
001954   5401     SUBFWB    0x1,0x0,0x0                                                                                     
001956   0e00     MOVLW     0x0                                                                                             
001958   5402     SUBFWB    0x2,0x0,0x0                                                                                     
00195a   0e00     MOVLW     0x0                                                                                             
00195c   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00195e   e20b     BC        0x1976                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
001960   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
001962   ecdd     CALL      0x1bba,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001964   f00d                                                                                                               
001966   c012     MOVFF     0x12,0x81                                                                                       
001968   f081                                                                                                               
00196a   c013     MOVFF     0x13,0x82                                                                                       
00196c   f082                                                                                                               
00196e   c014     MOVFF     0x14,0x83                                                                                       
001970   f083                                                                                                               
001972   c015     MOVFF     0x15,0x84                                                                                       
001974   f084                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
001978   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
00197a   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00197c   e202     BC        0x1982                                                                                          
00197e   6ae1     CLRF      0xe1,0x0                                                                                        
001980   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001982   6ee1     MOVWF     0xe1,0x0                                                                                        
001984   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001986   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001988   ffd9                                                                                                               
00198a   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #pragma interrupt high_isr                                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
00198c   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
00198e   ffe4                                                                                                               
001990   cfe2     MOVFF     0xfe2,0xfda                                                                                     
001992   ffda                                                                                                               
001994   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
001996   ffe4                                                                                                               
001998   cfea     MOVFF     0xfea,0xfe4                                                                                     
00199a   ffe4                                                                                                               
00199c   cff6     MOVFF     0xff6,0xfe4                                                                                     
00199e   ffe4                                                                                                               
0019a0   cff7     MOVFF     0xff7,0xfe4                                                                                     
0019a2   ffe4                                                                                                               
0019a4   cff5     MOVFF     0xff5,0xfe4                                                                                     
0019a6   ffe4                                                                                                               
0019a8   cff3     MOVFF     0xff3,0xfe4                                                                                     
0019aa   ffe4                                                                                                               
0019ac   cff4     MOVFF     0xff4,0xfe4                                                                                     
0019ae   ffe4                                                                                                               
0019b0   cffa     MOVFF     0xffa,0xfe4                                                                                     
0019b2   ffe4                                                                                                               
0019b4   ee00     LFSR      0x0,0xe                                                                                         
0019b6   f00e                                                                                                               
0019b8   0e0b     MOVLW     0xb                                                                                             
0019ba   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019bc   e303     BNC       0x19c4                                                                                          
0019be   cfee     MOVFF     0xfee,0xfe4                                                                                     
0019c0   ffe4                                                                                                               
0019c2   d7fb     BRA       0x19ba                                                                                          
0019c4   ee00     LFSR      0x0,0x0                                                                                         
0019c6   f000                                                                                                               
0019c8   0e0e     MOVLW     0xe                                                                                             
0019ca   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019cc   e303     BNC       0x19d4                                                                                          
0019ce   cfee     MOVFF     0xfee,0xfe4                                                                                     
0019d0   ffe4                                                                                                               
0019d2   d7fb     BRA       0x19ca                                                                                          
0019d4   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
0019d6   ecad     CALL      0x115a,0x0      canISR();                                                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
0019d8   f008                                                                                                               
0019da   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
0019dc   ee00     LFSR      0x0,0xd                                                                                         
0019de   f00d                                                                                                               
0019e0   0e0e     MOVLW     0xe                                                                                             
0019e2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019e4   e303     BNC       0x19ec                                                                                          
0019e6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0019e8   ffed                                                                                                               
0019ea   d7fb     BRA       0x19e2                                                                                          
0019ec   ee00     LFSR      0x0,0x18                                                                                        
0019ee   f018                                                                                                               
0019f0   0e0b     MOVLW     0xb                                                                                             
0019f2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019f4   e303     BNC       0x19fc                                                                                          
0019f6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0019f8   ffed                                                                                                               
0019fa   d7fb     BRA       0x19f2                                                                                          
0019fc   cfe5     MOVFF     0xfe5,0xffa                                                                                     
0019fe   fffa                                                                                                               
001a00   cfe5     MOVFF     0xfe5,0xff4                                                                                     
001a02   fff4                                                                                                               
001a04   cfe5     MOVFF     0xfe5,0xff3                                                                                     
001a06   fff3                                                                                                               
001a08   cfe5     MOVFF     0xfe5,0xff5                                                                                     
001a0a   fff5                                                                                                               
001a0c   cfe5     MOVFF     0xfe5,0xff7                                                                                     
001a0e   fff7                                                                                                               
001a10   cfe5     MOVFF     0xfe5,0xff6                                                                                     
001a12   fff6                                                                                                               
001a14   cfe5     MOVFF     0xfe5,0xfea                                                                                     
001a16   ffea                                                                                                               
001a18   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
001a1a   ffe9                                                                                                               
001a1c   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001a1e   ffda                                                                                                               
001a20   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #pragma interrupt low_isr                                                        F:\MCP\projects\CAN\canLCD\Source\Main.c
001a22   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
001a24   ffe4                                                                                                               
001a26   cfe2     MOVFF     0xfe2,0xfda                                                                                     
001a28   ffda                                                                                                               
001a2a   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001a2c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001a2e   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001a30   ffda                                                                                                               
001a32   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001a34   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001a36   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canLCD\Source\Main.c
001a38   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
001a3a   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001a3c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Function: canParse                                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Input:  Received can message                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
001a3e   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
001a40   ffe6                                                                                                               
001a42   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a44   ffd9                                                                                                               
001a46   0e0f     MOVLW     0xf                                                                                             
001a48   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
001a4a   5ce1     SUBWF     0xe1,0x0,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001a4c   e202     BC        0x1a52                                                                                          
001a4e   6ae1     CLRF      0xe1,0x0                                                                                        
001a50   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a52   6ee1     MOVWF     0xe1,0x0                                                                                        
001a54   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a56   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001a58   ffd9                                                                                                               
001a5a   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           // Below are mandantory when using bootloader                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           // define DEBUG_MODE to use without bootloader.                                  F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #ifndef DEBUG_MODE                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           extern void _startup (void);                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #pragma code _RESET_INTERRUPT_VECTOR = 0x001000                                  F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           void _reset (void)                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001000   ef1a     GOTO      0x1c34             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
001002   f00e                                                                                                               
001004   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #pragma code _HIGH_INTERRUPT_VECTOR = 0x001008                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           void _high_ISR (void)                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001008   efc6     GOTO      0x198c          _asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
00100a   f00c                                                                                                               
00100c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #pragma code _LOW_INTERRUPT_VECTOR = 0x001018                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           void _low_ISR (void)                                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001018   ef11     GOTO      0x1a22             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
00101a   f00d                                                                                                               
00101c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *   Functions for reading and writing to EEPROM.                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            * FileName:         $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/EEAccess.c $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Last changed: $LastChangedDate: 2006-11-20 21:31:03 +0100 (må, 20 nov 2006) $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * By:           $LastChangedBy: johboh $                                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Revision:     $Revision: 139 $                                                   F:\MCP\projects\CAN\Include\EEAccess.c
                                            ********************************************************************/           F:\MCP\projects\CAN\Include\EEAccess.c
                                           #include <p18cxxx.h>                                                             F:\MCP\projects\CAN\Include\EEAccess.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Function: EERead                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                           *                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Input:  WORD address to read from.                                              F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Output: Byte read.                                                             F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\EEAccess.c
                                           */                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001a5c   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
001a5e   ffe6                                                                                                               
001a60   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a62   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a64   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001a66   cfdb     MOVFF     0xfdb,0x0                                                                                       
001a68   f000                                                                                                               
001a6a   0efe     MOVLW     0xfe                                                                                            
001a6c   cfdb     MOVFF     0xfdb,0x1                                                                                       
001a6e   f001                                                                                                               
001a70   c001     MOVFF     0x1,0x0                                                                                         
001a72   f000                                                                                                               
001a74   6a01     CLRF      0x1,0x0                                                                                         
001a76   5000     MOVF      0x0,0x0,0x0                                                                                     
001a78   6eaa     MOVWF     0xaa,0x0                                                                                        
001a7a   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001a7c   6ee7     MOVWF     0xe7,0x0                                                                                        
001a7e   0efd     MOVLW     0xfd                                                                                            
001a80   cfdb     MOVFF     0xfdb,0x0                                                                                       
001a82   f000                                                                                                               
001a84   0efe     MOVLW     0xfe                                                                                            
001a86   cfdb     MOVFF     0xfdb,0x1                                                                                       
001a88   f001                                                                                                               
001a8a   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001a8c   1600     ANDWF     0x0,0x1,0x0                                                                                     
001a8e   6a01     CLRF      0x1,0x0                                                                                         
001a90   5000     MOVF      0x0,0x0,0x0                                                                                     
001a92   6ea9     MOVWF     0xa9,0x0                                                                                        
001a94   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001a96   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001a98   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a9a   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
001a9c   d000     BRA       0x1a9e                                                                                          
001a9e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001aa0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001aa2   ffd9                                                                                                               
001aa4   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Function: EEWrite                                                              F:\MCP\projects\CAN\Include\EEAccess.c
                                           *                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Input:  WORD address to write to and BYTE data to write.                        F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\EEAccess.c
                                           */                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001aa6   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
001aa8   ffe6                                                                                                               
001aaa   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001aac   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001aae   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001ab0   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001ab2   cfdb     MOVFF     0xfdb,0x0                                                                                       
001ab4   f000                                                                                                               
001ab6   0efe     MOVLW     0xfe                                                                                            
001ab8   cfdb     MOVFF     0xfdb,0x1                                                                                       
001aba   f001                                                                                                               
001abc   c001     MOVFF     0x1,0x0                                                                                         
001abe   f000                                                                                                               
001ac0   6a01     CLRF      0x1,0x0                                                                                         
001ac2   5000     MOVF      0x0,0x0,0x0                                                                                     
001ac4   6eaa     MOVWF     0xaa,0x0                                                                                        
001ac6   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001ac8   6ee7     MOVWF     0xe7,0x0                                                                                        
001aca   0efd     MOVLW     0xfd                                                                                            
001acc   cfdb     MOVFF     0xfdb,0x0                                                                                       
001ace   f000                                                                                                               
001ad0   0efe     MOVLW     0xfe                                                                                            
001ad2   cfdb     MOVFF     0xfdb,0x1                                                                                       
001ad4   f001                                                                                                               
001ad6   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001ad8   1600     ANDWF     0x0,0x1,0x0                                                                                     
001ada   6a01     CLRF      0x1,0x0                                                                                         
001adc   5000     MOVF      0x0,0x0,0x0                                                                                     
001ade   6ea9     MOVWF     0xa9,0x0                                                                                        
001ae0   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001ae2   50db     MOVF      0xdb,0x0,0x0                                                                                    
001ae4   6ea8     MOVWF     0xa8,0x0                                                                                        
001ae6   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001ae8   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001aea   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001aec   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001aee   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001af0   6ea7     MOVWF     0xa7,0x0                                                                                        
001af2   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001af4   6ea7     MOVWF     0xa7,0x0                                                                                        
001af6   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001af8   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001afa   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
001afc   d7fe     BRA       0x1afa                                                                                          
001afe   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001b00   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001b02   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001b04   ffd9                                                                                                               
001b06   0012     RETURN    0x0                                                                                             
                                           /*********************************************************************           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            *                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            *                  LCD routines (HD44780)                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            *                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            *********************************************************************           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canLCD/Source/lcd.c $ F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            * Last changed: $LastChangedDate: 2006-11-21 10:28:39 +0100 (ti, 21 nov 2006) $ F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            * Revision:     $Revision: 140 $                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           #include <lcd.h>                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           #ifdef USE_LCD                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           static void lcdWrite(BYTE c);                                                    F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           #define  LCD_STROBE  ((LCD_EN_IO = 1),(LCD_EN_IO = 0))                             F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            OBS OBS OBS OBS!!                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            DELAYS ARE FOR 40Mhz (10Mhz PLL4)                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            Definitions needed:                                                             F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            LCD_RS_TRIS and LCD_RS_IO                                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            LCD_EN_TRIS and LCD_EN_IO                                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            LCD_DATA_4_TRIS and LCD_DATA_4_IO                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            LCD_DATA_5_TRIS and LCD_DATA_5_IO                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            LCD_DATA_6_TRIS and LCD_DATA_6_IO                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            LCD_DATA_7_TRIS and LCD_DATA_7_IO                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Function: lcdWrite                                                             F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Input:  Byte to write.                                                          F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Affects: Write to the dislay                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
0016e2   cfd9     MOVFF     0xfd9,0xfe6    void lcdWrite(BYTE c)                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
0016e4   ffe6                                                                                                               
0016e6   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0016e8   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0016ea   0efe     MOVLW     0xfe               LCD_DATA_4_IO=((c)&0b10000)>>4;                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
0016ec   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016ee   0b10     ANDLW     0x10                                                                                            
0016f0   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
0016f2   0b0f     ANDLW     0xf                                                                                             
0016f4   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
0016f6   8094     BSF       0x94,0x0,0x0                                                                                    
0016f8   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
0016fa   9094     BCF       0x94,0x0,0x0                                                                                    
0016fc   0efe     MOVLW     0xfe            LCD_DATA_5_IO=((c)&0b100000)>>5;                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0016fe   50db     MOVF      0xdb,0x0,0x0                                                                                    
001700   0b20     ANDLW     0x20                                                                                            
001702   0be0     ANDLW     0xe0                                                                                            
001704   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
001706   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001708   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
00170a   8294     BSF       0x94,0x1,0x0                                                                                    
00170c   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
00170e   9294     BCF       0x94,0x1,0x0                                                                                    
001710   0e06     MOVLW     0x6             LCD_DATA_6_IO=((c)&0b1000000)>>6;                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
001712   6e00     MOVWF     0x0,0x0                                                                                         
001714   0efe     MOVLW     0xfe                                                                                            
001716   50db     MOVF      0xdb,0x0,0x0                                                                                    
001718   0b40     ANDLW     0x40                                                                                            
00171a   c000     MOVFF     0x0,0xfe7                                                                                       
00171c   ffe7                                                                                                               
00171e   52e7     MOVF      0xe7,0x1,0x0                                                                                    
001720   e004     BZ        0x172a                                                                                          
001722   42e8     RRNCF     0xe8,0x1,0x0                                                                                    
001724   0b7f     ANDLW     0x7f                                                                                            
001726   06e7     DECF      0xe7,0x1,0x0                                                                                    
001728   e1fc     BNZ       0x1722                                                                                          
00172a   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
00172c   8494     BSF       0x94,0x2,0x0                                                                                    
00172e   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001730   9494     BCF       0x94,0x2,0x0                                                                                    
001732   0efe     MOVLW     0xfe            LCD_DATA_7_IO=((c)&0b10000000)>>7;                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
001734   50db     MOVF      0xdb,0x0,0x0                                                                                    
001736   0b80     ANDLW     0x80                                                                                            
001738   44e8     RLNCF     0xe8,0x0,0x0                                                                                    
00173a   0b01     ANDLW     0x1                                                                                             
00173c   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
00173e   8694     BSF       0x94,0x3,0x0                                                                                    
001740   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001742   9694     BCF       0x94,0x3,0x0                                                                                    
001744   8a92     BSF       0x92,0x5,0x0    LCD_STROBE;                                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
001746   9a92     BCF       0x92,0x5,0x0                                                                                    
001748   0efe     MOVLW     0xfe            LCD_DATA_4_IO=((c)&0b1);                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
00174a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00174c   0b01     ANDLW     0x1                                                                                             
00174e   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
001750   8094     BSF       0x94,0x0,0x0                                                                                    
001752   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001754   9094     BCF       0x94,0x0,0x0                                                                                    
001756   0efe     MOVLW     0xfe            LCD_DATA_5_IO=((c)&0b10)>>1;                                                    F:\MCP\projects\CAN\canLCD\Source\lcd.c
001758   50db     MOVF      0xdb,0x0,0x0                                                                                    
00175a   0b02     ANDLW     0x2                                                                                             
00175c   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00175e   0b7f     ANDLW     0x7f                                                                                            
001760   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
001762   8294     BSF       0x94,0x1,0x0                                                                                    
001764   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001766   9294     BCF       0x94,0x1,0x0                                                                                    
001768   0efe     MOVLW     0xfe            LCD_DATA_6_IO=((c)&0b100)>>2;                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
00176a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00176c   0b04     ANDLW     0x4                                                                                             
00176e   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001770   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001772   0b3f     ANDLW     0x3f                                                                                            
001774   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
001776   8494     BSF       0x94,0x2,0x0                                                                                    
001778   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
00177a   9494     BCF       0x94,0x2,0x0                                                                                    
00177c   0efe     MOVLW     0xfe            LCD_DATA_7_IO=((c)&0b1000)>>3;                                                  F:\MCP\projects\CAN\canLCD\Source\lcd.c
00177e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001780   0b08     ANDLW     0x8                                                                                             
001782   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001784   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001786   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001788   0b1f     ANDLW     0x1f                                                                                            
00178a   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
00178c   8694     BSF       0x94,0x3,0x0                                                                                    
00178e   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001790   9694     BCF       0x94,0x3,0x0                                                                                    
001792   8a92     BSF       0x92,0x5,0x0    LCD_STROBE;                                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
001794   9a92     BCF       0x92,0x5,0x0                                                                                    
001796   0e08     MOVLW     0x8             Delay100TCYx(8);    // 80uS                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
001798   6ee6     MOVWF     0xe6,0x0                                                                                        
00179a   ec0c     CALL      0x1c18,0x0                                                                                      
00179c   f00e                                                                                                               
00179e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0017a0   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017a2   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0017a4   ffd9                                                                                                               
0017a6   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Function: lcdClear                                                             F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Affects: Clear the display                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           void lcdClear(void)                                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017a8   9892     BCF       0x92,0x4,0x0    LCD_RS_IO = 0;                                                                  F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017aa   0e01     MOVLW     0x1             lcdWrite(0x1);   // Clear the Display                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017ac   6ee6     MOVWF     0xe6,0x0                                                                                        
0017ae   df99     RCALL     0x16e2                                                                                          
0017b0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0017b2   0e02     MOVLW     0x2             Delay10KTCYx(2);        // 2ms                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017b4   6ee6     MOVWF     0xe6,0x0                                                                                        
0017b6   ecf5     CALL      0x1bea,0x0                                                                                      
0017b8   f00d                                                                                                               
0017ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0017bc   0e02     MOVLW     0x2             lcdWrite(0x02);  // Home the display                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017be   6ee6     MOVWF     0xe6,0x0                                                                                        
0017c0   df90     RCALL     0x16e2                                                                                          
0017c2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0017c4   0e02     MOVLW     0x2             Delay10KTCYx(2);        // 2ms                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017c6   6ee6     MOVWF     0xe6,0x0                                                                                        
0017c8   ecf5     CALL      0x1bea,0x0                                                                                      
0017ca   f00d                                                                                                               
0017cc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0017ce   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Function: lcdPuts                                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Input:  string to write.                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017d0   cfd9     MOVFF     0xfd9,0xfe6    void lcdPuts(char * s)                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017d2   ffe6                                                                                                               
0017d4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0017d6   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017d8   8892     BSF       0x92,0x4,0x0    LCD_RS_IO = 1;  // write characters                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017da   0efd     MOVLW     0xfd            while(*s) lcdWrite(*s++);                                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
0017dc   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0017de   ffe9                                                                                                               
0017e0   0efe     MOVLW     0xfe                                                                                            
0017e2   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0017e4   ffea                                                                                                               
0017e6   50ef     MOVF      0xef,0x0,0x0                                                                                    
0017e8   e00e     BZ        0x1806                                                                                          
0017ea   0efd     MOVLW     0xfd                                                                                            
0017ec   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0017ee   ffe9                                                                                                               
0017f0   2adb     INCF      0xdb,0x1,0x0                                                                                    
0017f2   0efe     MOVLW     0xfe                                                                                            
0017f4   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0017f6   ffea                                                                                                               
0017f8   e301     BNC       0x17fc                                                                                          
0017fa   2adb     INCF      0xdb,0x1,0x0                                                                                    
0017fc   50ef     MOVF      0xef,0x0,0x0                                                                                    
0017fe   6ee6     MOVWF     0xe6,0x0                                                                                        
001800   df70     RCALL     0x16e2                                                                                          
001802   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001804   d7ea     BRA       0x17da                                                                                          
001806   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001808   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00180a   ffd9                                                                                                               
00180c   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Function: lcdPutrs                                                             F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Input:  string to write.                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
00180e   cfd9     MOVFF     0xfd9,0xfe6    void lcdPutrs(const rom char *s)                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
001810   ffe6                                                                                                               
001812   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001814   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001816   8892     BSF       0x92,0x4,0x0    LCD_RS_IO = 1;  // write characters                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
001818   0efd     MOVLW     0xfd            while(*s) lcdWrite(*s++);                                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
00181a   cfdb     MOVFF     0xfdb,0xff6                                                                                     
00181c   fff6                                                                                                               
00181e   0efe     MOVLW     0xfe                                                                                            
001820   cfdb     MOVFF     0xfdb,0xff7                                                                                     
001822   fff7                                                                                                               
001824   0008     TBLRD                                                                                                     
001826   50f5     MOVF      0xf5,0x0,0x0                                                                                    
001828   e00f     BZ        0x1848                                                                                          
00182a   0efd     MOVLW     0xfd                                                                                            
00182c   cfdb     MOVFF     0xfdb,0xff6                                                                                     
00182e   fff6                                                                                                               
001830   2adb     INCF      0xdb,0x1,0x0                                                                                    
001832   0efe     MOVLW     0xfe                                                                                            
001834   cfdb     MOVFF     0xfdb,0xff7                                                                                     
001836   fff7                                                                                                               
001838   e301     BNC       0x183c                                                                                          
00183a   2adb     INCF      0xdb,0x1,0x0                                                                                    
00183c   0008     TBLRD                                                                                                     
00183e   50f5     MOVF      0xf5,0x0,0x0                                                                                    
001840   6ee6     MOVWF     0xe6,0x0                                                                                        
001842   df4f     RCALL     0x16e2                                                                                          
001844   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001846   d7e8     BRA       0x1818                                                                                          
001848   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
00184a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00184c   ffd9                                                                                                               
00184e   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Function: lcdPutc                                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Input:  char to write.                                                          F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
001850   cfd9     MOVFF     0xfd9,0xfe6    void lcdPutc(char c)                                                             F:\MCP\projects\CAN\canLCD\Source\lcd.c
001852   ffe6                                                                                                               
001854   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001856   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001858   8892     BSF       0x92,0x4,0x0    LCD_RS_IO=1;    // write character                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
00185a   0efe     MOVLW     0xfe            lcdWrite(c);                                                                    F:\MCP\projects\CAN\canLCD\Source\lcd.c
00185c   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00185e   ffe6                                                                                                               
001860   df40     RCALL     0x16e2                                                                                          
001862   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001864   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001866   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001868   ffd9                                                                                                               
00186a   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Function: lcdGoto                                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Input:  Position to goto                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
00186c   cfd9     MOVFF     0xfd9,0xfe6    void lcdGoto(BYTE pos)                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
00186e   ffe6                                                                                                               
001870   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001872   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001874   9892     BCF       0x92,0x4,0x0    LCD_RS_IO = 0;                                                                  F:\MCP\projects\CAN\canLCD\Source\lcd.c
001876   0efe     MOVLW     0xfe            lcdWrite(0x80+pos);           // sets the DDRAM Address                         F:\MCP\projects\CAN\canLCD\Source\lcd.c
001878   50db     MOVF      0xdb,0x0,0x0                                                                                    
00187a   0f80     ADDLW     0x80                                                                                            
00187c   6ee6     MOVWF     0xe6,0x0                                                                                        
00187e   df31     RCALL     0x16e2                                                                                          
001880   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001882   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001884   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001886   ffd9                                                                                                               
001888   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           /*                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Function: lcdInit                                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           *    Depends: Setup to use 4 bit mode                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           */                                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           void lcdInit(void)                                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            // Setup IO (all output)                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
00188a   9880     BCF       0x80,0x4,0x0    LCD_RS_TRIS = 0;                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
00188c   9a80     BCF       0x80,0x5,0x0    LCD_EN_TRIS = 0;                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
00188e   9082     BCF       0x82,0x0,0x0    LCD_DATA_4_TRIS = 0;                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
001890   9282     BCF       0x82,0x1,0x0    LCD_DATA_5_TRIS = 0;                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
001892   9482     BCF       0x82,0x2,0x0    LCD_DATA_6_TRIS = 0;                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
001894   9682     BCF       0x82,0x3,0x0    LCD_DATA_7_TRIS = 0;                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
001896   9892     BCF       0x92,0x4,0x0    LCD_RS_IO = 0;  // write control bytes                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
001898   0e0f     MOVLW     0xf             Delay10KTCYx(15);   // power on delay, 15ms                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
00189a   6ee6     MOVWF     0xe6,0x0                                                                                        
00189c   ecf5     CALL      0x1bea,0x0                                                                                      
00189e   f00d                                                                                                               
0018a0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018a2   0e03     MOVLW     0x3             lcdWrite(0x3);  // attention!                                                    F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018a4   6ee6     MOVWF     0xe6,0x0                                                                                        
0018a6   df1d     RCALL     0x16e2                                                                                          
0018a8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018aa   0e05     MOVLW     0x5             Delay10KTCYx(5);        // 5ms                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018ac   6ee6     MOVWF     0xe6,0x0                                                                                        
0018ae   ecf5     CALL      0x1bea,0x0                                                                                      
0018b0   f00d                                                                                                               
0018b2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018b4   8a92     BSF       0x92,0x5,0x0    LCD_STROBE;                                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018b6   9a92     BCF       0x92,0x5,0x0                                                                                    
0018b8   0e0a     MOVLW     0xa             Delay100TCYx(10);   // 100us                                                      F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018ba   6ee6     MOVWF     0xe6,0x0                                                                                        
0018bc   ec0c     CALL      0x1c18,0x0                                                                                      
0018be   f00e                                                                                                               
0018c0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018c2   8a92     BSF       0x92,0x5,0x0    LCD_STROBE;                                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018c4   9a92     BCF       0x92,0x5,0x0                                                                                    
0018c6   0e05     MOVLW     0x5             Delay10KTCYx(5);        // 5ms                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018c8   6ee6     MOVWF     0xe6,0x0                                                                                        
0018ca   ecf5     CALL      0x1bea,0x0                                                                                      
0018cc   f00d                                                                                                               
0018ce   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018d0   0e02     MOVLW     0x2             lcdWrite(0x2);  // set 4 bit mode                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018d2   6ee6     MOVWF     0xe6,0x0                                                                                        
0018d4   df06     RCALL     0x16e2                                                                                          
0018d6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018d8   0e04     MOVLW     0x4             Delay100TCYx(4);    // 40 us                                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018da   6ee6     MOVWF     0xe6,0x0                                                                                        
0018dc   ec0c     CALL      0x1c18,0x0                                                                                      
0018de   f00e                                                                                                               
0018e0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018e2   0e28     MOVLW     0x28            lcdWrite(0x28); // 4 bit mode, 1/16 duty, 5x8 font                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018e4   6ee6     MOVWF     0xe6,0x0                                                                                        
0018e6   defd     RCALL     0x16e2                                                                                          
0018e8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018ea   0e08     MOVLW     0x8             lcdWrite(0x08); // display off                                                  F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018ec   6ee6     MOVWF     0xe6,0x0                                                                                        
0018ee   def9     RCALL     0x16e2                                                                                          
0018f0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018f2   0e0c     MOVLW     0xc             lcdWrite(0x0C); // display on, unblink curson off                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018f4   6ee6     MOVWF     0xe6,0x0                                                                                        
0018f6   def5     RCALL     0x16e2                                                                                          
0018f8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018fa   0e06     MOVLW     0x6             lcdWrite(0x06); // entry mode                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018fc   6ee6     MOVWF     0xe6,0x0                                                                                        
0018fe   def1     RCALL     0x16e2                                                                                          
001900   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001902   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                           #endif                                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c