Subversion Repositories HomeAutomation

Rev

Rev 137 | 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: Tue Nov 21 10:26:09 2006


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
                                                                                                                            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
                                           #ifdef USE_CAN                                                                   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
0014e4   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0014e6   6e6f     MOVWF     0x6f,0x0                                                                                        
0014e8   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
0014ea   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0014ec   0880     SUBLW     0x80                                                                                            
0014ee   e001     BZ        0x14f2                                                                                          
0014f0   d7fb     BRA       0x14e8                                                                                          
                                                                                                                            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
0014f2   6a70     CLRF      0x70,0x0        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
0014f4   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0014f6   8c70     BSF       0x70,0x6,0x0    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
0014f8   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0014fa   1070     IORWF     0x70,0x0,0x0                                                                                    
0014fc   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0014fe   8e71     BSF       0x71,0x7,0x0    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
001500   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001502   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001504   8671     BSF       0x71,0x3,0x0    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
001506   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001508   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00150a   8071     BSF       0x71,0x0,0x0    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
00150c   9e72     BCF       0x72,0x7,0x0    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
00150e   9c72     BCF       0x72,0x6,0x0    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
001510   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001512   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001514   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001516   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001518   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00151a   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
00151c   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
00151e   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
001520   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001522   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001524   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001526   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001528   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00152a   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
00152c   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
00152e   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001530   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001532   146e     ANDWF     0x6e,0x0,0x0                                                                                    
001534   e001     BZ        0x1538                                                                                          
001536   d7fc     BRA       0x1530                                                                                          
                                            #endif                                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001538   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
00153a   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00153c   0b02     ANDLW     0x2                                                                                             
00153e   e106     BNZ       0x154c                                                                                          
001540   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001542   0b02     ANDLW     0x2                                                                                             
001544   e103     BNZ       0x154c                                                                                          
001546   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001548   0b01     ANDLW     0x1                                                                                             
00154a   e016     BZ        0x1578                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00154c   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
00154e   146f     ANDWF     0x6f,0x0,0x0                                                                                    
001550   0910     IORLW     0x10                                                                                            
001552   6e00     MOVWF     0x0,0x0                                                                                         
001554   0e00     MOVLW     0x0                                                                                             
001556   1477     ANDWF     0x77,0x0,0x0                                                                                    
001558   1000     IORWF     0x0,0x0,0x0                                                                                     
00155a   6e77     MOVWF     0x77,0x0                                                                                        
00155c   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00155e   d80d     RCALL     0x157a                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001560   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001562   d002     BRA       0x1568                                                                                          
001564   92a4     BCF       0xa4,0x1,0x0                                                                                    
001566   d008     BRA       0x1578                                                                                          
001568   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00156a   d002     BRA       0x1570                                                                                          
00156c   92a4     BCF       0xa4,0x1,0x0                                                                                    
00156e   d004     BRA       0x1578                                                                                          
001570   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001572   d002     BRA       0x1578                                                                                          
001574   90a4     BCF       0xa4,0x0,0x0                                                                                    
001576   d000     BRA       0x1578                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001578   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
00157a   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00157c   ffe6                                                                                                               
00157e   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001580   ffd9                                                                                                               
001582   0e0f     MOVLW     0xf                                                                                             
001584   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
001586   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001588   1461     ANDWF     0x61,0x0,0x0                                                                                    
00158a   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
00158c   0b0f     ANDLW     0xf                                                                                             
00158e   6edf     MOVWF     0xdf,0x0                                                                                        
001590   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
001592   1461     ANDWF     0x61,0x0,0x0                                                                                    
001594   6e06     MOVWF     0x6,0x0                                                                                         
001596   6a07     CLRF      0x7,0x0                                                                                         
001598   0e06     MOVLW     0x6                                                                                             
00159a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00159c   3606     RLCF      0x6,0x1,0x0                                                                                     
00159e   3607     RLCF      0x7,0x1,0x0                                                                                     
0015a0   04e8     DECF      0xe8,0x0,0x0                                                                                    
0015a2   e1fb     BNZ       0x159a                                                                                          
0015a4   0ee0     MOVLW     0xe0                                                                                            
0015a6   1462     ANDWF     0x62,0x0,0x0                                                                                    
0015a8   6e08     MOVWF     0x8,0x0                                                                                         
0015aa   6a09     CLRF      0x9,0x0                                                                                         
0015ac   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015ae   3209     RRCF      0x9,0x1,0x0                                                                                     
0015b0   3208     RRCF      0x8,0x1,0x0                                                                                     
0015b2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015b4   3209     RRCF      0x9,0x1,0x0                                                                                     
0015b6   3208     RRCF      0x8,0x1,0x0                                                                                     
0015b8   5006     MOVF      0x6,0x0,0x0                                                                                     
0015ba   2408     ADDWF     0x8,0x0,0x0                                                                                     
0015bc   6e04     MOVWF     0x4,0x0                                                                                         
0015be   5007     MOVF      0x7,0x0,0x0                                                                                     
0015c0   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0015c2   6e05     MOVWF     0x5,0x0                                                                                         
0015c4   0e03     MOVLW     0x3                                                                                             
0015c6   1462     ANDWF     0x62,0x0,0x0                                                                                    
0015c8   6e0a     MOVWF     0xa,0x0                                                                                         
0015ca   6a0b     CLRF      0xb,0x0                                                                                         
0015cc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015ce   360a     RLCF      0xa,0x1,0x0                                                                                     
0015d0   360b     RLCF      0xb,0x1,0x0                                                                                     
0015d2   5004     MOVF      0x4,0x0,0x0                                                                                     
0015d4   240a     ADDWF     0xa,0x0,0x0                                                                                     
0015d6   6e02     MOVWF     0x2,0x0                                                                                         
0015d8   5005     MOVF      0x5,0x0,0x0                                                                                     
0015da   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0015dc   6e03     MOVWF     0x3,0x0                                                                                         
0015de   0e80     MOVLW     0x80                                                                                            
0015e0   1463     ANDWF     0x63,0x0,0x0                                                                                    
0015e2   6e0c     MOVWF     0xc,0x0                                                                                         
0015e4   6a0d     CLRF      0xd,0x0                                                                                         
0015e6   0e07     MOVLW     0x7                                                                                             
0015e8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015ea   320d     RRCF      0xd,0x1,0x0                                                                                     
0015ec   320c     RRCF      0xc,0x1,0x0                                                                                     
0015ee   04e8     DECF      0xe8,0x0,0x0                                                                                    
0015f0   e1fb     BNZ       0x15e8                                                                                          
0015f2   5002     MOVF      0x2,0x0,0x0                                                                                     
0015f4   240c     ADDWF     0xc,0x0,0x0                                                                                     
0015f6   6e00     MOVWF     0x0,0x0                                                                                         
0015f8   5003     MOVF      0x3,0x0,0x0                                                                                     
0015fa   200d     ADDWFC    0xd,0x0,0x0                                                                                     
0015fc   6e01     MOVWF     0x1,0x0                                                                                         
0015fe   0e01     MOVLW     0x1                                                                                             
001600   c000     MOVFF     0x0,0xfdb                                                                                       
001602   ffdb                                                                                                               
001604   0e02     MOVLW     0x2                                                                                             
001606   c001     MOVFF     0x1,0xfdb                                                                                       
001608   ffdb                                                                                                               
00160a   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00160c   1463     ANDWF     0x63,0x0,0x0                                                                                    
00160e   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001610   0b7f     ANDLW     0x7f                                                                                            
001612   6ee7     MOVWF     0xe7,0x0                                                                                        
001614   0e03     MOVLW     0x3                                                                                             
001616   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001618   ffdb                                                                                                               
00161a   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00161c   1463     ANDWF     0x63,0x0,0x0                                                                                    
00161e   6e02     MOVWF     0x2,0x0                                                                                         
001620   c002     MOVFF     0x2,0x3                                                                                         
001622   f003                                                                                                               
001624   6a02     CLRF      0x2,0x0                                                                                         
001626   5064     MOVF      0x64,0x0,0x0                                                                                    
001628   0100     MOVLB     0x0                                                                                             
00162a   2402     ADDWF     0x2,0x0,0x0                                                                                     
00162c   6e00     MOVWF     0x0,0x0                                                                                         
00162e   0e00     MOVLW     0x0                                                                                             
001630   2003     ADDWFC    0x3,0x0,0x0                                                                                     
001632   6e01     MOVWF     0x1,0x0                                                                                         
001634   0e04     MOVLW     0x4                                                                                             
001636   c000     MOVFF     0x0,0xfdb                                                                                       
001638   ffdb                                                                                                               
00163a   0e05     MOVLW     0x5                                                                                             
00163c   c001     MOVFF     0x1,0xfdb                                                                                       
00163e   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
001640   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
001642   0b01     ANDLW     0x1                                                                                             
001644   6e02     MOVWF     0x2,0x0                                                                                         
001646   5065     MOVF      0x65,0x0,0x0                                                                                    
001648   0b02     ANDLW     0x2                                                                                             
00164a   e001     BZ        0x164e                                                                                          
00164c   0e01     MOVLW     0x1                                                                                             
00164e   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001650   6e01     MOVWF     0x1,0x0                                                                                         
001652   5065     MOVF      0x65,0x0,0x0                                                                                    
001654   0b04     ANDLW     0x4                                                                                             
001656   e001     BZ        0x165a                                                                                          
001658   0e01     MOVLW     0x1                                                                                             
00165a   0d04     MULLW     0x4                                                                                             
00165c   cff3     MOVFF     0xff3,0x0                                                                                       
00165e   f000                                                                                                               
001660   5065     MOVF      0x65,0x0,0x0                                                                                    
001662   0b08     ANDLW     0x8                                                                                             
001664   e001     BZ        0x1668                                                                                          
001666   0e01     MOVLW     0x1                                                                                             
001668   0d08     MULLW     0x8                                                                                             
00166a   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00166c   2400     ADDWF     0x0,0x0,0x0                                                                                     
00166e   2401     ADDWF     0x1,0x0,0x0                                                                                     
001670   2402     ADDWF     0x2,0x0,0x0                                                                                     
001672   6ee7     MOVWF     0xe7,0x0                                                                                        
001674   0e06     MOVLW     0x6                                                                                             
001676   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001678   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00167a   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00167c   cf66     MOVFF     0xf66,0xfdb                                                                                     
00167e   ffdb                                                                                                               
001680   0e08     MOVLW     0x8                                                                                             
001682   cf67     MOVFF     0xf67,0xfdb                                                                                     
001684   ffdb                                                                                                               
001686   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001688   cf68     MOVFF     0xf68,0xfdb                                                                                     
00168a   ffdb                                                                                                               
00168c   0e0a     MOVLW     0xa                                                                                             
00168e   cf69     MOVFF     0xf69,0xfdb                                                                                     
001690   ffdb                                                                                                               
001692   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001694   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
001696   ffdb                                                                                                               
001698   0e0c     MOVLW     0xc                                                                                             
00169a   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
00169c   ffdb                                                                                                               
00169e   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016a0   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
0016a2   ffdb                                                                                                               
0016a4   0e0e     MOVLW     0xe                                                                                             
0016a6   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
0016a8   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016aa   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           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
0016ac   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ae   ffe9                                                                                                               
0016b0   cfda     MOVFF     0xfda,0xfea                                                                                     
0016b2   ffea                                                                                                               
0016b4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016b6   ffe6                                                                                                               
0016b8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ba   ffe6                                                                                                               
0016bc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016be   ffe6                                                                                                               
0016c0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016c2   ffe6                                                                                                               
0016c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016c6   ffe6                                                                                                               
0016c8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ca   ffe6                                                                                                               
0016cc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ce   ffe6                                                                                                               
0016d0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016d2   ffe6                                                                                                               
0016d4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016d6   ffe6                                                                                                               
0016d8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016da   ffe6                                                                                                               
0016dc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016de   ffe6                                                                                                               
0016e0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016e2   ffe6                                                                                                               
0016e4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016e6   ffe6                                                                                                               
0016e8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ea   ffe6                                                                                                               
0016ec   cfee     MOVFF     0xfee,0xfe6                                                                                     
0016ee   ffe6                                                                                                               
0016f0   ecab     CALL      0x1356,0x0                                                                                      
0016f2   f009                                                                                                               
0016f4   6e00     MOVWF     0x0,0x0                                                                                         
0016f6   0e0f     MOVLW     0xf                                                                                             
0016f8   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0016fa   5000     MOVF      0x0,0x0,0x0                                                                                     
0016fc   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0016fe   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001700   e202     BC        0x1706                                                                                          
001702   6ae1     CLRF      0xe1,0x0                                                                                        
001704   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001706   6ee1     MOVWF     0xe1,0x0                                                                                        
001708   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00170a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00170c   ffd9                                                                                                               
00170e   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
001710   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001712   ffe6                                                                                                               
001714   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001716   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001718   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
00171a   b740     BTFSC     0x40,0x3,0x1                                                                                    
00171c   d004     BRA       0x1726                                                                                          
00171e   0e00     MOVLW     0x0                                                                                             
001720   1477     ANDWF     0x77,0x0,0x0                                                                                    
001722   0903     IORLW     0x3                                                                                             
001724   6e77     MOVWF     0x77,0x0                                                                                        
001726   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001728   b730     BTFSC     0x30,0x3,0x1                                                                                    
00172a   d004     BRA       0x1734                                                                                          
00172c   0e00     MOVLW     0x0                                                                                             
00172e   1477     ANDWF     0x77,0x0,0x0                                                                                    
001730   0904     IORLW     0x4                                                                                             
001732   6e77     MOVWF     0x77,0x0                                                                                        
001734   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001736   b720     BTFSC     0x20,0x3,0x1                                                                                    
001738   d005     BRA       0x1744                                                                                          
00173a   0e00     MOVLW     0x0                                                                                             
00173c   1477     ANDWF     0x77,0x0,0x0                                                                                    
00173e   0905     IORLW     0x5                                                                                             
001740   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
001742   d002     BRA       0x1748          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001744   0e00     MOVLW     0x0                                                                                             
001746   d0b0     BRA       0x18a8                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001748   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00174a   cfdb     MOVFF     0xfdb,0x0                                                                                       
00174c   f000                                                                                                               
00174e   3400     RLCF      0x0,0x0,0x0                                                                                     
001750   e20e     BC        0x176e                                                                                          
001752   0eef     MOVLW     0xef                                                                                            
001754   cfdb     MOVFF     0xfdb,0x1                                                                                       
001756   f001                                                                                                               
001758   0e03     MOVLW     0x3                                                                                             
00175a   6ee7     MOVWF     0xe7,0x0                                                                                        
00175c   1801     XORWF     0x1,0x0,0x0                                                                                     
00175e   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
001760   d002     BRA       0x1766                                                                                          
001762   3401     RLCF      0x1,0x0,0x0                                                                                     
001764   d003     BRA       0x176c                                                                                          
001766   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001768   80d8     BSF       0xd8,0x0,0x0                                                                                    
00176a   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00176c   e202     BC        0x1772                                                                                          
00176e   0eef     MOVLW     0xef                                                                                            
001770   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            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
001772   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBase\Source\CAN.c
001774   cfdb     MOVFF     0xfdb,0x0                                                                                       
001776   f000                                                                                                               
001778   0ef2     MOVLW     0xf2                                                                                            
00177a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00177c   f001                                                                                                               
00177e   0ec0     MOVLW     0xc0                                                                                            
001780   1600     ANDWF     0x0,0x1,0x0                                                                                     
001782   0e03     MOVLW     0x3                                                                                             
001784   1601     ANDWF     0x1,0x1,0x0                                                                                     
001786   0e06     MOVLW     0x6                                                                                             
001788   90d8     BCF       0xd8,0x0,0x0                                                                                    
00178a   3201     RRCF      0x1,0x1,0x0                                                                                     
00178c   3200     RRCF      0x0,0x1,0x0                                                                                     
00178e   04e8     DECF      0xe8,0x0,0x0                                                                                    
001790   e1fb     BNZ       0x1788                                                                                          
001792   0ef0     MOVLW     0xf0                                                                                            
001794   50db     MOVF      0xdb,0x0,0x0                                                                                    
001796   0b0f     ANDLW     0xf                                                                                             
001798   0d10     MULLW     0x10                                                                                            
00179a   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00179c   2400     ADDWF     0x0,0x0,0x0                                                                                     
00179e   6e61     MOVWF     0x61,0x0                                                                                        
0017a0   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBase\Source\CAN.c
0017a2   6ee7     MOVWF     0xe7,0x0                                                                                        
0017a4   0ef1     MOVLW     0xf1                                                                                            
0017a6   cfdb     MOVFF     0xfdb,0x2                                                                                       
0017a8   f002                                                                                                               
0017aa   0ef2     MOVLW     0xf2                                                                                            
0017ac   cfdb     MOVFF     0xfdb,0x3                                                                                       
0017ae   f003                                                                                                               
0017b0   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0017b2   1602     ANDWF     0x2,0x1,0x0                                                                                     
0017b4   6a03     CLRF      0x3,0x0                                                                                         
0017b6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0017b8   3203     RRCF      0x3,0x1,0x0                                                                                     
0017ba   3202     RRCF      0x2,0x1,0x0                                                                                     
0017bc   0e3f     MOVLW     0x3f                                                                                            
0017be   6ee7     MOVWF     0xe7,0x0                                                                                        
0017c0   0ef1     MOVLW     0xf1                                                                                            
0017c2   cfdb     MOVFF     0xfdb,0x0                                                                                       
0017c4   f000                                                                                                               
0017c6   0ef2     MOVLW     0xf2                                                                                            
0017c8   cfdb     MOVFF     0xfdb,0x1                                                                                       
0017ca   f001                                                                                                               
0017cc   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0017ce   1600     ANDWF     0x0,0x1,0x0                                                                                     
0017d0   6a01     CLRF      0x1,0x0                                                                                         
0017d2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0017d4   3600     RLCF      0x0,0x1,0x0                                                                                     
0017d6   3601     RLCF      0x1,0x1,0x0                                                                                     
0017d8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0017da   3600     RLCF      0x0,0x1,0x0                                                                                     
0017dc   3601     RLCF      0x1,0x1,0x0                                                                                     
0017de   5000     MOVF      0x0,0x0,0x0                                                                                     
0017e0   2402     ADDWF     0x2,0x0,0x0                                                                                     
0017e2   6e62     MOVWF     0x62,0x0                                                                                        
0017e4   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
0017e6   cfdb     MOVFF     0xfdb,0x2                                                                                       
0017e8   f002                                                                                                               
0017ea   0ef5     MOVLW     0xf5                                                                                            
0017ec   cfdb     MOVFF     0xfdb,0x3                                                                                       
0017ee   f003                                                                                                               
0017f0   0e00     MOVLW     0x0                                                                                             
0017f2   1602     ANDWF     0x2,0x1,0x0                                                                                     
0017f4   0e01     MOVLW     0x1                                                                                             
0017f6   1603     ANDWF     0x3,0x1,0x0                                                                                     
0017f8   c003     MOVFF     0x3,0x2                                                                                         
0017fa   f002                                                                                                               
0017fc   6a03     CLRF      0x3,0x0                                                                                         
0017fe   0e01     MOVLW     0x1                                                                                             
001800   6ee7     MOVWF     0xe7,0x0                                                                                        
001802   0ef1     MOVLW     0xf1                                                                                            
001804   cfdb     MOVFF     0xfdb,0x0                                                                                       
001806   f000                                                                                                               
001808   0ef2     MOVLW     0xf2                                                                                            
00180a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00180c   f001                                                                                                               
00180e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001810   1600     ANDWF     0x0,0x1,0x0                                                                                     
001812   6a01     CLRF      0x1,0x0                                                                                         
001814   0e07     MOVLW     0x7                                                                                             
001816   90d8     BCF       0xd8,0x0,0x0                                                                                    
001818   3600     RLCF      0x0,0x1,0x0                                                                                     
00181a   3601     RLCF      0x1,0x1,0x0                                                                                     
00181c   04e8     DECF      0xe8,0x0,0x0                                                                                    
00181e   e1fb     BNZ       0x1816                                                                                          
001820   0ef3     MOVLW     0xf3                                                                                            
001822   50db     MOVF      0xdb,0x0,0x0                                                                                    
001824   0b3f     ANDLW     0x3f                                                                                            
001826   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001828   2400     ADDWF     0x0,0x0,0x0                                                                                     
00182a   2402     ADDWF     0x2,0x0,0x0                                                                                     
00182c   6e63     MOVWF     0x63,0x0                                                                                        
00182e   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001830   6ee7     MOVWF     0xe7,0x0                                                                                        
001832   0ef4     MOVLW     0xf4                                                                                            
001834   cfdb     MOVFF     0xfdb,0x0                                                                                       
001836   f000                                                                                                               
001838   0ef5     MOVLW     0xf5                                                                                            
00183a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00183c   f001                                                                                                               
00183e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001840   1600     ANDWF     0x0,0x1,0x0                                                                                     
001842   6a01     CLRF      0x1,0x0                                                                                         
001844   5000     MOVF      0x0,0x0,0x0                                                                                     
001846   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001848   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00184a   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBase\Source\CAN.c
00184c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00184e   0808     SUBLW     0x8                                                                                             
001850   e203     BC        0x1858                                                                                          
001852   0e08     MOVLW     0x8                                                                                             
001854   6e65     MOVWF     0x65,0x0                                                                                        
001856   d003     BRA       0x185e                                                                                          
001858   0ef6     MOVLW     0xf6                                                                                            
00185a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00185c   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
00185e   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
001860   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001862   50db     MOVF      0xdb,0x0,0x0                                                                                    
001864   6e66     MOVWF     0x66,0x0                                                                                        
001866   0ef8     MOVLW     0xf8                                                                                            
001868   50db     MOVF      0xdb,0x0,0x0                                                                                    
00186a   6e67     MOVWF     0x67,0x0                                                                                        
00186c   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00186e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001870   6e68     MOVWF     0x68,0x0                                                                                        
001872   0efa     MOVLW     0xfa                                                                                            
001874   50db     MOVF      0xdb,0x0,0x0                                                                                    
001876   6e69     MOVWF     0x69,0x0                                                                                        
001878   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00187a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00187c   6e6a     MOVWF     0x6a,0x0                                                                                        
00187e   0efc     MOVLW     0xfc                                                                                            
001880   50db     MOVF      0xdb,0x0,0x0                                                                                    
001882   6e6b     MOVWF     0x6b,0x0                                                                                        
001884   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001886   50db     MOVF      0xdb,0x0,0x0                                                                                    
001888   6e6c     MOVWF     0x6c,0x0                                                                                        
00188a   0efe     MOVLW     0xfe                                                                                            
00188c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00188e   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // set extended                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001890   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
001892   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001894   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001896   ffe6                                                                                                               
001898   0efc     MOVLW     0xfc                                                                                            
00189a   1460     ANDWF     0x60,0x0,0x0                                                                                    
00189c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00189e   10e7     IORWF     0xe7,0x0,0x0                                                                                    
0018a0   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
0018a2   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
0018a4   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0018a6   d000     BRA       0x18a8                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0018a8   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0018aa   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0018ac   ffd9                                                                                                               
0018ae   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
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*********************************************************************           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
001c1c   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
001c1e   6ed6     MOVWF     0xd6,0x0                                                                                        
001c20   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
001c22   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
001c24   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
001c26   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
001c28   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001c2a   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
001c2c   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
001c2e   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
001c30   c079     MOVFF     0x79,0x12          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001c32   f012                                                                                                               
001c34   c07a     MOVFF     0x7a,0x13                                                                                       
001c36   f013                                                                                                               
001c38   c07b     MOVFF     0x7b,0x14                                                                                       
001c3a   f014                                                                                                               
001c3c   c07c     MOVFF     0x7c,0x15                                                                                       
001c3e   f015                                                                                                               
001c40   d000     BRA       0x1c42                                                                                          
001c42   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
001c44   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
001c46   d00b     BRA       0x1c5e                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001c48   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
001c4a   6ed7     MOVWF     0xd7,0x0                                                                                        
001c4c   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001c4e   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001c50   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
001c52   2b79     INCF      0x79,0x1,0x1                                                                                    
001c54   0e00     MOVLW     0x0                                                                                             
001c56   237a     ADDWFC    0x7a,0x1,0x1                                                                                    
001c58   237b     ADDWFC    0x7b,0x1,0x1                                                                                    
001c5a   237c     ADDWFC    0x7c,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001c5c   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001c5e   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-20 17:54:03 +0100 (må, 20 nov 2006) $ F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            * Revision:     $Revision: 129 $                                                   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 <EEaccess.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
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            #include <CAN.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
                                           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
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001044   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
001046   ffe6                                                                                                               
001048   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00104a   ffd9                                                                                                               
00104c   0e0f     MOVLW     0xf                                                                                             
00104e   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
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001050   d97d     RCALL     0x134c          mainInit();                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canLCD\Source\Main.c
001052   ec72     CALL      0x14e4,0x0          canInit();                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
001054   f00a                                                                                                               
                                            #endif                                                                          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
001056   ec2c     CALL      0x1a58,0x0          lcdInit();                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
001058   f00d                                                                                                               
00105a   ecbb     CALL      0x1976,0x0          lcdClear();                                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
00105c   f00c                                                                                                               
00105e   0ec2     MOVLW     0xc2                lcdPutrs("Welcome!");                                                          F:\MCP\projects\CAN\canLCD\Source\Main.c
001060   6ee6     MOVWF     0xe6,0x0                                                                                        
001062   0e1c     MOVLW     0x1c                                                                                            
001064   6ee6     MOVWF     0xe6,0x0                                                                                        
001066   ecee     CALL      0x19dc,0x0                                                                                      
001068   f00c                                                                                                               
00106a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00106c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            #endif                                                                          F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
00106e   ec0e     CALL      0x1c1c,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
001070   f00e                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
001072   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001074   6ee6     MOVWF     0xe6,0x0                                                                                        
001076   6ae6     CLRF      0xe6,0x0                                                                                        
001078   ec69     CALL      0x1ad2,0x0                                                                                      
00107a   f00d                                                                                                               
00107c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00107e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001080   082a     SUBLW     0x2a                                                                                            
001082   e12b     BNZ       0x10da                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
001084   0e01     MOVLW     0x1                 MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canLCD\Source\Main.c
001086   6ee6     MOVWF     0xe6,0x0                                                                                        
001088   6ae6     CLRF      0xe6,0x0                                                                                        
00108a   ec69     CALL      0x1ad2,0x0                                                                                      
00108c   f00d                                                                                                               
00108e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001090   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001092   6e00     MOVWF     0x0,0x0                                                                                         
001094   c000     MOVFF     0x0,0x1                                                                                         
001096   f001                                                                                                               
001098   6a00     CLRF      0x0,0x0                                                                                         
00109a   c000     MOVFF     0x0,0xfe6                                                                                       
00109c   ffe6                                                                                                               
00109e   c001     MOVFF     0x1,0xfe6                                                                                       
0010a0   ffe6                                                                                                               
0010a2   0e02     MOVLW     0x2                                                                                             
0010a4   6ee6     MOVWF     0xe6,0x0                                                                                        
0010a6   6ae6     CLRF      0xe6,0x0                                                                                        
0010a8   ec69     CALL      0x1ad2,0x0                                                                                      
0010aa   f00d                                                                                                               
0010ac   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010ae   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b2   cfe7     MOVFF     0xfe7,0x1                                                                                       
0010b4   f001                                                                                                               
0010b6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b8   cfe7     MOVFF     0xfe7,0x0                                                                                       
0010ba   f000                                                                                                               
0010bc   0100     MOVLB     0x0                                                                                             
0010be   2400     ADDWF     0x0,0x0,0x0                                                                                     
0010c0   6f60     MOVWF     0x60,0x1                                                                                        
0010c2   0e00     MOVLW     0x0                                                                                             
0010c4   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0010c6   6f61     MOVWF     0x61,0x1                                                                                        
0010c8   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canLCD\Source\Main.c
0010ca   6ee6     MOVWF     0xe6,0x0                                                                                        
0010cc   6ae6     CLRF      0xe6,0x0                                                                                        
0010ce   ec69     CALL      0x1ad2,0x0                                                                                      
0010d0   f00d                                                                                                               
0010d2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010d6   0100     MOVLB     0x0                                                                                             
0010d8   6f62     MOVWF     0x62,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            // Send user program startup heatbeat                                           F:\MCP\projects\CAN\canLCD\Source\Main.c
0010da   6adf     CLRF      0xdf,0x0        outCm.funct                     = FUNCT_BOOTLOADER;                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
0010dc   0e08     MOVLW     0x8             outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                        F:\MCP\projects\CAN\canLCD\Source\Main.c
0010de   6ef3     MOVWF     0xf3,0x0                                                                                        
0010e0   0e01     MOVLW     0x1                                                                                             
0010e2   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010e4   ffdb                                                                                                               
0010e6   0e02     MOVLW     0x2                                                                                             
0010e8   6adb     CLRF      0xdb,0x0                                                                                        
0010ea   0e03     MOVLW     0x3             outCm.nid                       = MY_NID;                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
0010ec   c062     MOVFF     0x62,0xfdb                                                                                      
0010ee   ffdb                                                                                                               
0010f0   0e04     MOVLW     0x4             outCm.sid                       = MY_ID;                                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
0010f2   c060     MOVFF     0x60,0xfdb                                                                                      
0010f4   ffdb                                                                                                               
0010f6   0e05     MOVLW     0x5                                                                                             
0010f8   c061     MOVFF     0x61,0xfdb                                                                                      
0010fa   ffdb                                                                                                               
0010fc   0e01     MOVLW     0x1             outCm.data_length               = 1;                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
0010fe   6ef3     MOVWF     0xf3,0x0                                                                                        
001100   0e06     MOVLW     0x6                                                                                             
001102   cff3     MOVFF     0xff3,0xfdb                                                                                     
001104   ffdb                                                                                                               
001106   0e01     MOVLW     0x1             outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_USER_STARTUP;                 F:\MCP\projects\CAN\canLCD\Source\Main.c
001108   6ef3     MOVWF     0xf3,0x0                                                                                        
00110a   0e07     MOVLW     0x7                                                                                             
00110c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00110e   ffdb                                                                                                               
001110   0e02     MOVLW     0x2             while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canLCD\Source\Main.c
001112   6ee6     MOVWF     0xe6,0x0                                                                                        
001114   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
001116   ffe9                                                                                                               
001118   cfda     MOVFF     0xfda,0xfea                                                                                     
00111a   ffea                                                                                                               
00111c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00111e   ffe6                                                                                                               
001120   cfee     MOVFF     0xfee,0xfe6                                                                                     
001122   ffe6                                                                                                               
001124   cfee     MOVFF     0xfee,0xfe6                                                                                     
001126   ffe6                                                                                                               
001128   cfee     MOVFF     0xfee,0xfe6                                                                                     
00112a   ffe6                                                                                                               
00112c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00112e   ffe6                                                                                                               
001130   cfee     MOVFF     0xfee,0xfe6                                                                                     
001132   ffe6                                                                                                               
001134   cfee     MOVFF     0xfee,0xfe6                                                                                     
001136   ffe6                                                                                                               
001138   cfee     MOVFF     0xfee,0xfe6                                                                                     
00113a   ffe6                                                                                                               
00113c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00113e   ffe6                                                                                                               
001140   cfee     MOVFF     0xfee,0xfe6                                                                                     
001142   ffe6                                                                                                               
001144   cfee     MOVFF     0xfee,0xfe6                                                                                     
001146   ffe6                                                                                                               
001148   cfee     MOVFF     0xfee,0xfe6                                                                                     
00114a   ffe6                                                                                                               
00114c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00114e   ffe6                                                                                                               
001150   cfee     MOVFF     0xfee,0xfe6                                                                                     
001152   ffe6                                                                                                               
001154   cfee     MOVFF     0xfee,0xfe6                                                                                     
001156   ffe6                                                                                                               
001158   ec88     CALL      0x1710,0x0                                                                                      
00115a   f00b                                                                                                               
00115c   6e00     MOVWF     0x0,0x0                                                                                         
00115e   0e10     MOVLW     0x10                                                                                            
001160   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001162   5000     MOVF      0x0,0x0,0x0                                                                                     
001164   0900     IORLW     0x0                                                                                             
001166   e101     BNZ       0x116a                                                                                          
001168   d7d3     BRA       0x1110                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001288   d770     BRA       0x116a          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
                                                static TICK heartbeat = 0;                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
00116a   ec18     CALL      0x1c30,0x0          if ((tickGet()-heartbeat)>TICK_SECOND*5)                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
00116c   f00e                                                                                                               
00116e   0100     MOVLB     0x0                                                                                             
001170   516b     MOVF      0x6b,0x0,0x1                                                                                    
001172   5c12     SUBWF     0x12,0x0,0x0                                                                                    
001174   6e00     MOVWF     0x0,0x0                                                                                         
001176   516c     MOVF      0x6c,0x0,0x1                                                                                    
001178   5813     SUBWFB    0x13,0x0,0x0                                                                                    
00117a   6e01     MOVWF     0x1,0x0                                                                                         
00117c   516d     MOVF      0x6d,0x0,0x1                                                                                    
00117e   5814     SUBWFB    0x14,0x0,0x0                                                                                    
001180   6e02     MOVWF     0x2,0x0                                                                                         
001182   516e     MOVF      0x6e,0x0,0x1                                                                                    
001184   5815     SUBWFB    0x15,0x0,0x0                                                                                    
001186   6e03     MOVWF     0x3,0x0                                                                                         
001188   80d8     BSF       0xd8,0x0,0x0                                                                                    
00118a   0ef4     MOVLW     0xf4                                                                                            
00118c   5400     SUBFWB    0x0,0x0,0x0                                                                                     
00118e   0e01     MOVLW     0x1                                                                                             
001190   5401     SUBFWB    0x1,0x0,0x0                                                                                     
001192   0e00     MOVLW     0x0                                                                                             
001194   5402     SUBFWB    0x2,0x0,0x0                                                                                     
001196   0e00     MOVLW     0x0                                                                                             
001198   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00119a   e252     BC        0x1240                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                    // Send alive heartbeat                                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
00119c   6adf     CLRF      0xdf,0x0                outCm.funct                     = FUNCT_BOOTLOADER;                                          F:\MCP\projects\CAN\canLCD\Source\Main.c
00119e   0e08     MOVLW     0x8                     outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
0011a0   6ef3     MOVWF     0xf3,0x0                                                                                        
0011a2   0e01     MOVLW     0x1                                                                                             
0011a4   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011a6   ffdb                                                                                                               
0011a8   0e02     MOVLW     0x2                                                                                             
0011aa   6adb     CLRF      0xdb,0x0                                                                                        
0011ac   0e03     MOVLW     0x3                     outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
0011ae   c062     MOVFF     0x62,0xfdb                                                                                      
0011b0   ffdb                                                                                                               
0011b2   0e04     MOVLW     0x4                     outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
0011b4   c060     MOVFF     0x60,0xfdb                                                                                      
0011b6   ffdb                                                                                                               
0011b8   0e05     MOVLW     0x5                                                                                             
0011ba   c061     MOVFF     0x61,0xfdb                                                                                      
0011bc   ffdb                                                                                                               
0011be   0e01     MOVLW     0x1                     outCm.data_length               = 1;                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
0011c0   6ef3     MOVWF     0xf3,0x0                                                                                        
0011c2   0e06     MOVLW     0x6                                                                                             
0011c4   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011c6   ffdb                                                                                                               
0011c8   0e02     MOVLW     0x2                     outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_ALIVE;                      F:\MCP\projects\CAN\canLCD\Source\Main.c
0011ca   6ef3     MOVWF     0xf3,0x0                                                                                        
0011cc   0e07     MOVLW     0x7                                                                                             
0011ce   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011d0   ffdb                                                                                                               
0011d2   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
0011d4   6ee6     MOVWF     0xe6,0x0                                                                                        
0011d6   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0011d8   ffe9                                                                                                               
0011da   cfda     MOVFF     0xfda,0xfea                                                                                     
0011dc   ffea                                                                                                               
0011de   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e0   ffe6                                                                                                               
0011e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e4   ffe6                                                                                                               
0011e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e8   ffe6                                                                                                               
0011ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011ec   ffe6                                                                                                               
0011ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011f0   ffe6                                                                                                               
0011f2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011f4   ffe6                                                                                                               
0011f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011f8   ffe6                                                                                                               
0011fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011fc   ffe6                                                                                                               
0011fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
001200   ffe6                                                                                                               
001202   cfee     MOVFF     0xfee,0xfe6                                                                                     
001204   ffe6                                                                                                               
001206   cfee     MOVFF     0xfee,0xfe6                                                                                     
001208   ffe6                                                                                                               
00120a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00120c   ffe6                                                                                                               
00120e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001210   ffe6                                                                                                               
001212   cfee     MOVFF     0xfee,0xfe6                                                                                     
001214   ffe6                                                                                                               
001216   cfee     MOVFF     0xfee,0xfe6                                                                                     
001218   ffe6                                                                                                               
00121a   ec88     CALL      0x1710,0x0                                                                                      
00121c   f00b                                                                                                               
00121e   6e00     MOVWF     0x0,0x0                                                                                         
001220   0e10     MOVLW     0x10                                                                                            
001222   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001224   5000     MOVF      0x0,0x0,0x0                                                                                     
001226   0900     IORLW     0x0                                                                                             
001228   e101     BNZ       0x122c                                                                                          
00122a   d7d3     BRA       0x11d2                                                                                          
                                                                                                                                  F:\MCP\projects\CAN\canLCD\Source\Main.c
00122c   ec18     CALL      0x1c30,0x0              heartbeat = tickGet();                                                        F:\MCP\projects\CAN\canLCD\Source\Main.c
00122e   f00e                                                                                                               
001230   c012     MOVFF     0x12,0x6b                                                                                       
001232   f06b                                                                                                               
001234   c013     MOVFF     0x13,0x6c                                                                                       
001236   f06c                                                                                                               
001238   c014     MOVFF     0x14,0x6d                                                                                       
00123a   f06d                                                                                                               
00123c   c015     MOVFF     0x15,0x6e                                                                                       
00123e   f06e                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
001240   ec18     CALL      0x1c30,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canLCD\Source\Main.c
001242   f00e                                                                                                               
001244   0100     MOVLB     0x0                                                                                             
001246   5167     MOVF      0x67,0x0,0x1                                                                                    
001248   5c12     SUBWF     0x12,0x0,0x0                                                                                    
00124a   6e00     MOVWF     0x0,0x0                                                                                         
00124c   5168     MOVF      0x68,0x0,0x1                                                                                    
00124e   5813     SUBWFB    0x13,0x0,0x0                                                                                    
001250   6e01     MOVWF     0x1,0x0                                                                                         
001252   5169     MOVF      0x69,0x0,0x1                                                                                    
001254   5814     SUBWFB    0x14,0x0,0x0                                                                                    
001256   6e02     MOVWF     0x2,0x0                                                                                         
001258   516a     MOVF      0x6a,0x0,0x1                                                                                    
00125a   5815     SUBWFB    0x15,0x0,0x0                                                                                    
00125c   6e03     MOVWF     0x3,0x0                                                                                         
00125e   80d8     BSF       0xd8,0x0,0x0                                                                                    
001260   0e64     MOVLW     0x64                                                                                            
001262   5400     SUBFWB    0x0,0x0,0x0                                                                                     
001264   0e00     MOVLW     0x0                                                                                             
001266   5401     SUBFWB    0x1,0x0,0x0                                                                                     
001268   0e00     MOVLW     0x0                                                                                             
00126a   5402     SUBFWB    0x2,0x0,0x0                                                                                     
00126c   0e00     MOVLW     0x0                                                                                             
00126e   5403     SUBFWB    0x3,0x0,0x0                                                                                     
001270   e20b     BC        0x1288                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
001272   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
001274   ec18     CALL      0x1c30,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001276   f00e                                                                                                               
001278   c012     MOVFF     0x12,0x67                                                                                       
00127a   f067                                                                                                               
00127c   c013     MOVFF     0x13,0x68                                                                                       
00127e   f068                                                                                                               
001280   c014     MOVFF     0x14,0x69                                                                                       
001282   f069                                                                                                               
001284   c015     MOVFF     0x15,0x6a                                                                                       
001286   f06a                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
00128a   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
00128c   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00128e   e202     BC        0x1294                                                                                          
001290   6ae1     CLRF      0xe1,0x0                                                                                        
001292   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001294   6ee1     MOVWF     0xe1,0x0                                                                                        
001296   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001298   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00129a   ffd9                                                                                                               
00129c   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
00129e   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canLCD\Source\Main.c
0012a0   ffe4                                                                                                               
0012a2   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0012a4   ffda                                                                                                               
0012a6   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
0012a8   ffe4                                                                                                               
0012aa   cfea     MOVFF     0xfea,0xfe4                                                                                     
0012ac   ffe4                                                                                                               
0012ae   cff6     MOVFF     0xff6,0xfe4                                                                                     
0012b0   ffe4                                                                                                               
0012b2   cff7     MOVFF     0xff7,0xfe4                                                                                     
0012b4   ffe4                                                                                                               
0012b6   cff5     MOVFF     0xff5,0xfe4                                                                                     
0012b8   ffe4                                                                                                               
0012ba   cff3     MOVFF     0xff3,0xfe4                                                                                     
0012bc   ffe4                                                                                                               
0012be   cff4     MOVFF     0xff4,0xfe4                                                                                     
0012c0   ffe4                                                                                                               
0012c2   cffa     MOVFF     0xffa,0xfe4                                                                                     
0012c4   ffe4                                                                                                               
0012c6   ee00     LFSR      0x0,0xe                                                                                         
0012c8   f00e                                                                                                               
0012ca   0e0b     MOVLW     0xb                                                                                             
0012cc   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012ce   e303     BNC       0x12d6                                                                                          
0012d0   cfee     MOVFF     0xfee,0xfe4                                                                                     
0012d2   ffe4                                                                                                               
0012d4   d7fb     BRA       0x12cc                                                                                          
0012d6   ee00     LFSR      0x0,0x0                                                                                         
0012d8   f000                                                                                                               
0012da   0e0e     MOVLW     0xe                                                                                             
0012dc   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012de   e303     BNC       0x12e6                                                                                          
0012e0   cfee     MOVFF     0xfee,0xfe4                                                                                     
0012e2   ffe4                                                                                                               
0012e4   d7fb     BRA       0x12dc                                                                                          
0012e6   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
0012e8   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canLCD\Source\Main.c
0012ea   ec9d     CALL      0x153a,0x0          canISR();                                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
0012ec   f00a                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
0012ee   ec22     CALL      0x1c44,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
0012f0   f00e                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
0012f2   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
0012f4   ee00     LFSR      0x0,0xd                                                                                         
0012f6   f00d                                                                                                               
0012f8   0e0e     MOVLW     0xe                                                                                             
0012fa   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012fc   e303     BNC       0x1304                                                                                          
0012fe   cfe5     MOVFF     0xfe5,0xfed                                                                                     
001300   ffed                                                                                                               
001302   d7fb     BRA       0x12fa                                                                                          
001304   ee00     LFSR      0x0,0x18                                                                                        
001306   f018                                                                                                               
001308   0e0b     MOVLW     0xb                                                                                             
00130a   04e8     DECF      0xe8,0x0,0x0                                                                                    
00130c   e303     BNC       0x1314                                                                                          
00130e   cfe5     MOVFF     0xfe5,0xfed                                                                                     
001310   ffed                                                                                                               
001312   d7fb     BRA       0x130a                                                                                          
001314   cfe5     MOVFF     0xfe5,0xffa                                                                                     
001316   fffa                                                                                                               
001318   cfe5     MOVFF     0xfe5,0xff4                                                                                     
00131a   fff4                                                                                                               
00131c   cfe5     MOVFF     0xfe5,0xff3                                                                                     
00131e   fff3                                                                                                               
001320   cfe5     MOVFF     0xfe5,0xff5                                                                                     
001322   fff5                                                                                                               
001324   cfe5     MOVFF     0xfe5,0xff7                                                                                     
001326   fff7                                                                                                               
001328   cfe5     MOVFF     0xfe5,0xff6                                                                                     
00132a   fff6                                                                                                               
00132c   cfe5     MOVFF     0xfe5,0xfea                                                                                     
00132e   ffea                                                                                                               
001330   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
001332   ffe9                                                                                                               
001334   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001336   ffda                                                                                                               
001338   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
00133a   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
00133c   ffe4                                                                                                               
00133e   cfe2     MOVFF     0xfe2,0xfda                                                                                     
001340   ffda                                                                                                               
001342   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001344   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001346   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001348   ffda                                                                                                               
00134a   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
00134c   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
00134e   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canLCD\Source\Main.c
001350   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
001352   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
001354   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
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
001356   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
001358   ffe6                                                                                                               
00135a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00135c   ffd9                                                                                                               
00135e   0e0f     MOVLW     0xf                                                                                             
001360   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                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
001362   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
001364   0ef0     MOVLW     0xf0            switch(cm.funct)                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
001366   50db     MOVF      0xdb,0x0,0x0                                                                                    
001368   e001     BZ        0x136c                                                                                          
00136a   d0b2     BRA       0x14d0                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                case FUNCT_BOOTLOADER:                                                         F:\MCP\projects\CAN\canLCD\Source\Main.c
00136c   0ef3     MOVLW     0xf3                    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\canLCD\Source\Main.c
00136e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001370   0100     MOVLB     0x0                                                                                             
001372   5d62     SUBWF     0x62,0x0,0x1                                                                                    
001374   e001     BZ        0x1378                                                                                          
001376   d0ab     BRA       0x14ce                                                                                          
001378   0efc     MOVLW     0xfc                                                                                            
00137a   cfdb     MOVFF     0xfdb,0x2                                                                                       
00137c   f002                                                                                                               
00137e   c002     MOVFF     0x2,0x3                                                                                         
001380   f003                                                                                                               
001382   6a02     CLRF      0x2,0x0                                                                                         
001384   0efb     MOVLW     0xfb                                                                                            
001386   50db     MOVF      0xdb,0x0,0x0                                                                                    
001388   0100     MOVLB     0x0                                                                                             
00138a   2402     ADDWF     0x2,0x0,0x0                                                                                     
00138c   6e00     MOVWF     0x0,0x0                                                                                         
00138e   0e00     MOVLW     0x0                                                                                             
001390   2003     ADDWFC    0x3,0x0,0x0                                                                                     
001392   6e01     MOVWF     0x1,0x0                                                                                         
001394   0100     MOVLB     0x0                                                                                             
001396   5160     MOVF      0x60,0x0,0x1                                                                                    
001398   1800     XORWF     0x0,0x0,0x0                                                                                     
00139a   e102     BNZ       0x13a0                                                                                          
00139c   5161     MOVF      0x61,0x0,0x1                                                                                    
00139e   1801     XORWF     0x1,0x0,0x0                                                                                     
0013a0   e001     BZ        0x13a4                                                                                          
0013a2   d095     BRA       0x14ce                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
0013a4   0ef1     MOVLW     0xf1                        switch(cm.funcc)                                                             F:\MCP\projects\CAN\canLCD\Source\Main.c
0013a6   cfdb     MOVFF     0xfdb,0x14                                                                                      
0013a8   f014                                                                                                               
0013aa   0ef2     MOVLW     0xf2                                                                                            
0013ac   cfdb     MOVFF     0xfdb,0x15                                                                                      
0013ae   f015                                                                                                               
0013b0   0e06     MOVLW     0x6                                                                                             
0013b2   1814     XORWF     0x14,0x0,0x0                                                                                    
0013b4   e101     BNZ       0x13b8                                                                                          
0013b6   5015     MOVF      0x15,0x0,0x0                                                                                    
0013b8   e008     BZ        0x13ca                                                                                          
0013ba   0e01     MOVLW     0x1                                                                                             
0013bc   1814     XORWF     0x14,0x0,0x0                                                                                    
0013be   e101     BNZ       0x13c2                                                                                          
0013c0   5015     MOVF      0x15,0x0,0x0                                                                                    
0013c2   e001     BZ        0x13c6                                                                                          
0013c4   d084     BRA       0x14ce                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
0013c6   00ff     RESET                                     case FUNCC_BOOT_INIT: Reset(); break; //User whant to program me, reset me. F:\MCP\projects\CAN\canLCD\Source\Main.c
0013c8   d082     BRA       0x14ce                                                                                          
                                                            case FUNCC_BOOT_SET_ID:                                                     F:\MCP\projects\CAN\canLCD\Source\Main.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
0013ca   0ef8     MOVLW     0xf8                                MY_ID=(((WORD)cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]; F:\MCP\projects\CAN\canLCD\Source\Main.c
0013cc   cfdb     MOVFF     0xfdb,0x0                                                                                       
0013ce   f000                                                                                                               
0013d0   c000     MOVFF     0x0,0x1                                                                                         
0013d2   f001                                                                                                               
0013d4   6a00     CLRF      0x0,0x0                                                                                         
0013d6   0ef7     MOVLW     0xf7                                                                                            
0013d8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0013da   0100     MOVLB     0x0                                                                                             
0013dc   2400     ADDWF     0x0,0x0,0x0                                                                                     
0013de   6f60     MOVWF     0x60,0x1                                                                                        
0013e0   0e00     MOVLW     0x0                                                                                             
0013e2   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0013e4   6f61     MOVWF     0x61,0x1                                                                                        
0013e6   0ef9     MOVLW     0xf9                                MY_NID=cm.data[BOOT_DATA_NEW_NID_INDEX];                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
0013e8   cfdb     MOVFF     0xfdb,0x62                                                                                      
0013ea   f062                                                                                                               
0013ec   0ef8     MOVLW     0xf8                                EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX]);                F:\MCP\projects\CAN\canLCD\Source\Main.c
0013ee   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0013f0   ffe6                                                                                                               
0013f2   0e01     MOVLW     0x1                                                                                             
0013f4   6ee6     MOVWF     0xe6,0x0                                                                                        
0013f6   6ae6     CLRF      0xe6,0x0                                                                                        
0013f8   ec8e     CALL      0x1b1c,0x0                                                                                      
0013fa   f00d                                                                                                               
0013fc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013fe   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001400   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001402   0ef7     MOVLW     0xf7                                EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]);                 F:\MCP\projects\CAN\canLCD\Source\Main.c
001404   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001406   ffe6                                                                                                               
001408   0e02     MOVLW     0x2                                                                                             
00140a   6ee6     MOVWF     0xe6,0x0                                                                                        
00140c   6ae6     CLRF      0xe6,0x0                                                                                        
00140e   ec8e     CALL      0x1b1c,0x0                                                                                      
001410   f00d                                                                                                               
001412   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001414   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001416   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001418   0ef9     MOVLW     0xf9                                EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID_INDEX]);                    F:\MCP\projects\CAN\canLCD\Source\Main.c
00141a   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00141c   ffe6                                                                                                               
00141e   0e03     MOVLW     0x3                                                                                             
001420   6ee6     MOVWF     0xe6,0x0                                                                                        
001422   6ae6     CLRF      0xe6,0x0                                                                                        
001424   ec8e     CALL      0x1b1c,0x0                                                                                      
001426   f00d                                                                                                               
001428   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00142a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00142c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00142e   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canLCD\Source\Main.c
001430   6ee6     MOVWF     0xe6,0x0                                                                                        
001432   0e00     MOVLW     0x0                                                                                             
001434   6ee6     MOVWF     0xe6,0x0                                                                                        
001436   6ae6     CLRF      0xe6,0x0                                                                                        
001438   ec8e     CALL      0x1b1c,0x0                                                                                      
00143a   f00d                                                                                                               
00143c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00143e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001440   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
001442   6adf     CLRF      0xdf,0x0                            outCm.funct                     = FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canLCD\Source\Main.c
001444   0e04     MOVLW     0x4                                 outCm.funcc                     = FUNCC_BOOT_ACK;                                         F:\MCP\projects\CAN\canLCD\Source\Main.c
001446   6ef3     MOVWF     0xf3,0x0                                                                                        
001448   0e01     MOVLW     0x1                                                                                             
00144a   cff3     MOVFF     0xff3,0xfdb                                                                                     
00144c   ffdb                                                                                                               
00144e   0e02     MOVLW     0x2                                                                                             
001450   6adb     CLRF      0xdb,0x0                                                                                        
001452   0e03     MOVLW     0x3                                 outCm.nid                       = MY_NID;                                                 F:\MCP\projects\CAN\canLCD\Source\Main.c
001454   c062     MOVFF     0x62,0xfdb                                                                                      
001456   ffdb                                                                                                               
001458   0e04     MOVLW     0x4                                 outCm.sid                       = MY_ID;                                                  F:\MCP\projects\CAN\canLCD\Source\Main.c
00145a   c060     MOVFF     0x60,0xfdb                                                                                      
00145c   ffdb                                                                                                               
00145e   0e05     MOVLW     0x5                                                                                             
001460   c061     MOVFF     0x61,0xfdb                                                                                      
001462   ffdb                                                                                                               
001464   0e08     MOVLW     0x8                                 outCm.data_length               = 8;                                                 F:\MCP\projects\CAN\canLCD\Source\Main.c
001466   6ef3     MOVWF     0xf3,0x0                                                                                        
001468   0e06     MOVLW     0x6                                                                                             
00146a   cff3     MOVFF     0xff3,0xfdb                                                                                     
00146c   ffdb                                                                                                               
00146e   0e0b     MOVLW     0xb                                 outCm.data[BOOT_DATA_ERR_INDEX] = ACK_ERR_NO_ERROR;                        F:\MCP\projects\CAN\canLCD\Source\Main.c
001470   6adb     CLRF      0xdb,0x0                                                                                        
001472   0e02     MOVLW     0x2                                 while(!canSendMessage(outCm,PRIO_HIGH));                                   F:\MCP\projects\CAN\canLCD\Source\Main.c
001474   6ee6     MOVWF     0xe6,0x0                                                                                        
001476   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
001478   ffe9                                                                                                               
00147a   cfda     MOVFF     0xfda,0xfea                                                                                     
00147c   ffea                                                                                                               
00147e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001480   ffe6                                                                                                               
001482   cfee     MOVFF     0xfee,0xfe6                                                                                     
001484   ffe6                                                                                                               
001486   cfee     MOVFF     0xfee,0xfe6                                                                                     
001488   ffe6                                                                                                               
00148a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00148c   ffe6                                                                                                               
00148e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001490   ffe6                                                                                                               
001492   cfee     MOVFF     0xfee,0xfe6                                                                                     
001494   ffe6                                                                                                               
001496   cfee     MOVFF     0xfee,0xfe6                                                                                     
001498   ffe6                                                                                                               
00149a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00149c   ffe6                                                                                                               
00149e   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014a0   ffe6                                                                                                               
0014a2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014a4   ffe6                                                                                                               
0014a6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014a8   ffe6                                                                                                               
0014aa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014ac   ffe6                                                                                                               
0014ae   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014b0   ffe6                                                                                                               
0014b2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014b4   ffe6                                                                                                               
0014b6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014b8   ffe6                                                                                                               
0014ba   ec88     CALL      0x1710,0x0                                                                                      
0014bc   f00b                                                                                                               
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   d7d3     BRA       0x1472                                                                                          
0014cc   d000     BRA       0x14ce                          break;                                                                      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
                                                                                                                            F:\MCP\projects\CAN\canLCD\Source\Main.c
0014ce   d000     BRA       0x14d0              break;                                                                         F:\MCP\projects\CAN\canLCD\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canLCD\Source\Main.c
0014d0   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canLCD\Source\Main.c
0014d2   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0014d4   e202     BC        0x14da                                                                                          
0014d6   6ae1     CLRF      0xe1,0x0                                                                                        
0014d8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0014da   6ee1     MOVWF     0xe1,0x0                                                                                        
0014dc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0014de   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0014e0   ffd9                                                                                                               
0014e2   0012     RETURN    0x0                                                                                             
                                           #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
                                                                                                                            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   ef55     GOTO      0x1caa             _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   ef4f     GOTO      0x129e          _asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canLCD\Source\Main.c
00100a   f009                                                                                                               
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   ef9d     GOTO      0x133a             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canLCD\Source\Main.c
00101a   f009                                                                                                               
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
001ad2   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
001ad4   ffe6                                                                                                               
001ad6   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001ad8   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001ada   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001adc   cfdb     MOVFF     0xfdb,0x0                                                                                       
001ade   f000                                                                                                               
001ae0   0efe     MOVLW     0xfe                                                                                            
001ae2   cfdb     MOVFF     0xfdb,0x1                                                                                       
001ae4   f001                                                                                                               
001ae6   c001     MOVFF     0x1,0x0                                                                                         
001ae8   f000                                                                                                               
001aea   6a01     CLRF      0x1,0x0                                                                                         
001aec   5000     MOVF      0x0,0x0,0x0                                                                                     
001aee   6eaa     MOVWF     0xaa,0x0                                                                                        
001af0   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001af2   6ee7     MOVWF     0xe7,0x0                                                                                        
001af4   0efd     MOVLW     0xfd                                                                                            
001af6   cfdb     MOVFF     0xfdb,0x0                                                                                       
001af8   f000                                                                                                               
001afa   0efe     MOVLW     0xfe                                                                                            
001afc   cfdb     MOVFF     0xfdb,0x1                                                                                       
001afe   f001                                                                                                               
001b00   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001b02   1600     ANDWF     0x0,0x1,0x0                                                                                     
001b04   6a01     CLRF      0x1,0x0                                                                                         
001b06   5000     MOVF      0x0,0x0,0x0                                                                                     
001b08   6ea9     MOVWF     0xa9,0x0                                                                                        
001b0a   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001b0c   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001b0e   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001b10   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
001b12   d000     BRA       0x1b14                                                                                          
001b14   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001b16   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001b18   ffd9                                                                                                               
001b1a   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
001b1c   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
001b1e   ffe6                                                                                                               
001b20   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001b22   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001b24   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001b26   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001b28   cfdb     MOVFF     0xfdb,0x0                                                                                       
001b2a   f000                                                                                                               
001b2c   0efe     MOVLW     0xfe                                                                                            
001b2e   cfdb     MOVFF     0xfdb,0x1                                                                                       
001b30   f001                                                                                                               
001b32   c001     MOVFF     0x1,0x0                                                                                         
001b34   f000                                                                                                               
001b36   6a01     CLRF      0x1,0x0                                                                                         
001b38   5000     MOVF      0x0,0x0,0x0                                                                                     
001b3a   6eaa     MOVWF     0xaa,0x0                                                                                        
001b3c   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001b3e   6ee7     MOVWF     0xe7,0x0                                                                                        
001b40   0efd     MOVLW     0xfd                                                                                            
001b42   cfdb     MOVFF     0xfdb,0x0                                                                                       
001b44   f000                                                                                                               
001b46   0efe     MOVLW     0xfe                                                                                            
001b48   cfdb     MOVFF     0xfdb,0x1                                                                                       
001b4a   f001                                                                                                               
001b4c   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001b4e   1600     ANDWF     0x0,0x1,0x0                                                                                     
001b50   6a01     CLRF      0x1,0x0                                                                                         
001b52   5000     MOVF      0x0,0x0,0x0                                                                                     
001b54   6ea9     MOVWF     0xa9,0x0                                                                                        
001b56   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001b58   50db     MOVF      0xdb,0x0,0x0                                                                                    
001b5a   6ea8     MOVWF     0xa8,0x0                                                                                        
001b5c   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001b5e   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001b60   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001b62   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001b64   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001b66   6ea7     MOVWF     0xa7,0x0                                                                                        
001b68   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001b6a   6ea7     MOVWF     0xa7,0x0                                                                                        
001b6c   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001b6e   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001b70   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
001b72   d7fe     BRA       0x1b70                                                                                          
001b74   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001b76   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001b78   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001b7a   ffd9                                                                                                               
001b7c   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/Include/compiler.h $ F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            * Last changed: $LastChangedDate: 2006-11-20 17:54:03 +0100 (må, 20 nov 2006) $ F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
                                            * Revision:     $Revision: 129 $                                                   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
0018b0   cfd9     MOVFF     0xfd9,0xfe6    void lcdWrite(BYTE c)                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018b2   ffe6                                                                                                               
0018b4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0018b6   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018b8   0efe     MOVLW     0xfe               LCD_DATA_4_IO=((c)&0b10000)>>4;                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018ba   50db     MOVF      0xdb,0x0,0x0                                                                                    
0018bc   0b10     ANDLW     0x10                                                                                            
0018be   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
0018c0   0b0f     ANDLW     0xf                                                                                             
0018c2   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
0018c4   8094     BSF       0x94,0x0,0x0                                                                                    
0018c6   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
0018c8   9094     BCF       0x94,0x0,0x0                                                                                    
0018ca   0efe     MOVLW     0xfe            LCD_DATA_5_IO=((c)&0b100000)>>5;                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018cc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0018ce   0b20     ANDLW     0x20                                                                                            
0018d0   0be0     ANDLW     0xe0                                                                                            
0018d2   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
0018d4   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0018d6   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
0018d8   8294     BSF       0x94,0x1,0x0                                                                                    
0018da   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
0018dc   9294     BCF       0x94,0x1,0x0                                                                                    
0018de   0e06     MOVLW     0x6             LCD_DATA_6_IO=((c)&0b1000000)>>6;                                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
0018e0   6e00     MOVWF     0x0,0x0                                                                                         
0018e2   0efe     MOVLW     0xfe                                                                                            
0018e4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0018e6   0b40     ANDLW     0x40                                                                                            
0018e8   c000     MOVFF     0x0,0xfe7                                                                                       
0018ea   ffe7                                                                                                               
0018ec   52e7     MOVF      0xe7,0x1,0x0                                                                                    
0018ee   e004     BZ        0x18f8                                                                                          
0018f0   42e8     RRNCF     0xe8,0x1,0x0                                                                                    
0018f2   0b7f     ANDLW     0x7f                                                                                            
0018f4   06e7     DECF      0xe7,0x1,0x0                                                                                    
0018f6   e1fc     BNZ       0x18f0                                                                                          
0018f8   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
0018fa   8494     BSF       0x94,0x2,0x0                                                                                    
0018fc   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
0018fe   9494     BCF       0x94,0x2,0x0                                                                                    
001900   0efe     MOVLW     0xfe            LCD_DATA_7_IO=((c)&0b10000000)>>7;                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
001902   50db     MOVF      0xdb,0x0,0x0                                                                                    
001904   0b80     ANDLW     0x80                                                                                            
001906   44e8     RLNCF     0xe8,0x0,0x0                                                                                    
001908   0b01     ANDLW     0x1                                                                                             
00190a   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
00190c   8694     BSF       0x94,0x3,0x0                                                                                    
00190e   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001910   9694     BCF       0x94,0x3,0x0                                                                                    
001912   8a92     BSF       0x92,0x5,0x0    LCD_STROBE;                                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
001914   9a92     BCF       0x92,0x5,0x0                                                                                    
001916   0efe     MOVLW     0xfe            LCD_DATA_4_IO=((c)&0b1);                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
001918   50db     MOVF      0xdb,0x0,0x0                                                                                    
00191a   0b01     ANDLW     0x1                                                                                             
00191c   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
00191e   8094     BSF       0x94,0x0,0x0                                                                                    
001920   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001922   9094     BCF       0x94,0x0,0x0                                                                                    
001924   0efe     MOVLW     0xfe            LCD_DATA_5_IO=((c)&0b10)>>1;                                                    F:\MCP\projects\CAN\canLCD\Source\lcd.c
001926   50db     MOVF      0xdb,0x0,0x0                                                                                    
001928   0b02     ANDLW     0x2                                                                                             
00192a   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00192c   0b7f     ANDLW     0x7f                                                                                            
00192e   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
001930   8294     BSF       0x94,0x1,0x0                                                                                    
001932   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001934   9294     BCF       0x94,0x1,0x0                                                                                    
001936   0efe     MOVLW     0xfe            LCD_DATA_6_IO=((c)&0b100)>>2;                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
001938   50db     MOVF      0xdb,0x0,0x0                                                                                    
00193a   0b04     ANDLW     0x4                                                                                             
00193c   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00193e   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001940   0b3f     ANDLW     0x3f                                                                                            
001942   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
001944   8494     BSF       0x94,0x2,0x0                                                                                    
001946   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
001948   9494     BCF       0x94,0x2,0x0                                                                                    
00194a   0efe     MOVLW     0xfe            LCD_DATA_7_IO=((c)&0b1000)>>3;                                                  F:\MCP\projects\CAN\canLCD\Source\lcd.c
00194c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00194e   0b08     ANDLW     0x8                                                                                             
001950   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001952   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001954   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001956   0b1f     ANDLW     0x1f                                                                                            
001958   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
00195a   8694     BSF       0x94,0x3,0x0                                                                                    
00195c   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
00195e   9694     BCF       0x94,0x3,0x0                                                                                    
001960   8a92     BSF       0x92,0x5,0x0    LCD_STROBE;                                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
001962   9a92     BCF       0x92,0x5,0x0                                                                                    
001964   0e08     MOVLW     0x8             Delay100TCYx(8);    // 80uS                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
001966   6ee6     MOVWF     0xe6,0x0                                                                                        
001968   ec47     CALL      0x1c8e,0x0                                                                                      
00196a   f00e                                                                                                               
00196c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00196e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001970   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001972   ffd9                                                                                                               
001974   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
001976   9892     BCF       0x92,0x4,0x0    LCD_RS_IO = 0;                                                                  F:\MCP\projects\CAN\canLCD\Source\lcd.c
001978   0e01     MOVLW     0x1             lcdWrite(0x1);   // Clear the Display                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
00197a   6ee6     MOVWF     0xe6,0x0                                                                                        
00197c   df99     RCALL     0x18b0                                                                                          
00197e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001980   0e02     MOVLW     0x2             Delay10KTCYx(2);        // 2ms                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
001982   6ee6     MOVWF     0xe6,0x0                                                                                        
001984   ec30     CALL      0x1c60,0x0                                                                                      
001986   f00e                                                                                                               
001988   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00198a   0e02     MOVLW     0x2             lcdWrite(0x02);  // Home the display                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
00198c   6ee6     MOVWF     0xe6,0x0                                                                                        
00198e   df90     RCALL     0x18b0                                                                                          
001990   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001992   0e02     MOVLW     0x2             Delay10KTCYx(2);        // 2ms                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
001994   6ee6     MOVWF     0xe6,0x0                                                                                        
001996   ec30     CALL      0x1c60,0x0                                                                                      
001998   f00e                                                                                                               
00199a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00199c   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
00199e   cfd9     MOVFF     0xfd9,0xfe6    void lcdPuts(char * s)                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019a0   ffe6                                                                                                               
0019a2   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0019a4   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019a6   8892     BSF       0x92,0x4,0x0    LCD_RS_IO = 1;  // write characters                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019a8   0efd     MOVLW     0xfd            while(*s) lcdWrite(*s++);                                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019aa   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0019ac   ffe9                                                                                                               
0019ae   0efe     MOVLW     0xfe                                                                                            
0019b0   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0019b2   ffea                                                                                                               
0019b4   50ef     MOVF      0xef,0x0,0x0                                                                                    
0019b6   e00e     BZ        0x19d4                                                                                          
0019b8   0efd     MOVLW     0xfd                                                                                            
0019ba   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0019bc   ffe9                                                                                                               
0019be   2adb     INCF      0xdb,0x1,0x0                                                                                    
0019c0   0efe     MOVLW     0xfe                                                                                            
0019c2   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0019c4   ffea                                                                                                               
0019c6   e301     BNC       0x19ca                                                                                          
0019c8   2adb     INCF      0xdb,0x1,0x0                                                                                    
0019ca   50ef     MOVF      0xef,0x0,0x0                                                                                    
0019cc   6ee6     MOVWF     0xe6,0x0                                                                                        
0019ce   df70     RCALL     0x18b0                                                                                          
0019d0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0019d2   d7ea     BRA       0x19a8                                                                                          
0019d4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019d6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0019d8   ffd9                                                                                                               
0019da   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
0019dc   cfd9     MOVFF     0xfd9,0xfe6    void lcdPutrs(const rom char *s)                                                 F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019de   ffe6                                                                                                               
0019e0   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0019e2   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019e4   8892     BSF       0x92,0x4,0x0    LCD_RS_IO = 1;  // write characters                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019e6   0efd     MOVLW     0xfd            while(*s) lcdWrite(*s++);                                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
0019e8   cfdb     MOVFF     0xfdb,0xff6                                                                                     
0019ea   fff6                                                                                                               
0019ec   0efe     MOVLW     0xfe                                                                                            
0019ee   cfdb     MOVFF     0xfdb,0xff7                                                                                     
0019f0   fff7                                                                                                               
0019f2   0008     TBLRD                                                                                                     
0019f4   50f5     MOVF      0xf5,0x0,0x0                                                                                    
0019f6   e00f     BZ        0x1a16                                                                                          
0019f8   0efd     MOVLW     0xfd                                                                                            
0019fa   cfdb     MOVFF     0xfdb,0xff6                                                                                     
0019fc   fff6                                                                                                               
0019fe   2adb     INCF      0xdb,0x1,0x0                                                                                    
001a00   0efe     MOVLW     0xfe                                                                                            
001a02   cfdb     MOVFF     0xfdb,0xff7                                                                                     
001a04   fff7                                                                                                               
001a06   e301     BNC       0x1a0a                                                                                          
001a08   2adb     INCF      0xdb,0x1,0x0                                                                                    
001a0a   0008     TBLRD                                                                                                     
001a0c   50f5     MOVF      0xf5,0x0,0x0                                                                                    
001a0e   6ee6     MOVWF     0xe6,0x0                                                                                        
001a10   df4f     RCALL     0x18b0                                                                                          
001a12   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a14   d7e8     BRA       0x19e6                                                                                          
001a16   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a18   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001a1a   ffd9                                                                                                               
001a1c   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
001a1e   cfd9     MOVFF     0xfd9,0xfe6    void lcdPutc(char c)                                                             F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a20   ffe6                                                                                                               
001a22   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a24   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a26   8892     BSF       0x92,0x4,0x0    LCD_RS_IO=1;    // write character                                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a28   0efe     MOVLW     0xfe            lcdWrite(c);                                                                    F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a2a   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001a2c   ffe6                                                                                                               
001a2e   df40     RCALL     0x18b0                                                                                          
001a30   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a32   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a34   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001a36   ffd9                                                                                                               
001a38   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
001a3a   cfd9     MOVFF     0xfd9,0xfe6    void lcdGoto(BYTE pos)                                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a3c   ffe6                                                                                                               
001a3e   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a40   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a42   9892     BCF       0x92,0x4,0x0    LCD_RS_IO = 0;                                                                  F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a44   0efe     MOVLW     0xfe            lcdWrite(0x80+pos);           // sets the DDRAM Address                         F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a46   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a48   0f80     ADDLW     0x80                                                                                            
001a4a   6ee6     MOVWF     0xe6,0x0                                                                                        
001a4c   df31     RCALL     0x18b0                                                                                          
001a4e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a50   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a52   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001a54   ffd9                                                                                                               
001a56   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
001a58   9880     BCF       0x80,0x4,0x0    LCD_RS_TRIS = 0;                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a5a   9a80     BCF       0x80,0x5,0x0    LCD_EN_TRIS = 0;                                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a5c   9082     BCF       0x82,0x0,0x0    LCD_DATA_4_TRIS = 0;                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a5e   9282     BCF       0x82,0x1,0x0    LCD_DATA_5_TRIS = 0;                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a60   9482     BCF       0x82,0x2,0x0    LCD_DATA_6_TRIS = 0;                                                            F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a62   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
001a64   9892     BCF       0x92,0x4,0x0    LCD_RS_IO = 0;  // write control bytes                                           F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a66   0e0f     MOVLW     0xf             Delay10KTCYx(15);   // power on delay, 15ms                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a68   6ee6     MOVWF     0xe6,0x0                                                                                        
001a6a   ec30     CALL      0x1c60,0x0                                                                                      
001a6c   f00e                                                                                                               
001a6e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a70   0e03     MOVLW     0x3             lcdWrite(0x3);  // attention!                                                    F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a72   6ee6     MOVWF     0xe6,0x0                                                                                        
001a74   df1d     RCALL     0x18b0                                                                                          
001a76   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a78   0e05     MOVLW     0x5             Delay10KTCYx(5);        // 5ms                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a7a   6ee6     MOVWF     0xe6,0x0                                                                                        
001a7c   ec30     CALL      0x1c60,0x0                                                                                      
001a7e   f00e                                                                                                               
001a80   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a82   8a92     BSF       0x92,0x5,0x0    LCD_STROBE;                                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a84   9a92     BCF       0x92,0x5,0x0                                                                                    
001a86   0e0a     MOVLW     0xa             Delay100TCYx(10);   // 100us                                                      F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a88   6ee6     MOVWF     0xe6,0x0                                                                                        
001a8a   ec47     CALL      0x1c8e,0x0                                                                                      
001a8c   f00e                                                                                                               
001a8e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a90   8a92     BSF       0x92,0x5,0x0    LCD_STROBE;                                                                     F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a92   9a92     BCF       0x92,0x5,0x0                                                                                    
001a94   0e05     MOVLW     0x5             Delay10KTCYx(5);        // 5ms                                                        F:\MCP\projects\CAN\canLCD\Source\lcd.c
001a96   6ee6     MOVWF     0xe6,0x0                                                                                        
001a98   ec30     CALL      0x1c60,0x0                                                                                      
001a9a   f00e                                                                                                               
001a9c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a9e   0e02     MOVLW     0x2             lcdWrite(0x2);  // set 4 bit mode                                                F:\MCP\projects\CAN\canLCD\Source\lcd.c
001aa0   6ee6     MOVWF     0xe6,0x0                                                                                        
001aa2   df06     RCALL     0x18b0                                                                                          
001aa4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001aa6   0e04     MOVLW     0x4             Delay100TCYx(4);    // 40 us                                                       F:\MCP\projects\CAN\canLCD\Source\lcd.c
001aa8   6ee6     MOVWF     0xe6,0x0                                                                                        
001aaa   ec47     CALL      0x1c8e,0x0                                                                                      
001aac   f00e                                                                                                               
001aae   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001ab0   0e28     MOVLW     0x28            lcdWrite(0x28); // 4 bit mode, 1/16 duty, 5x8 font                              F:\MCP\projects\CAN\canLCD\Source\lcd.c
001ab2   6ee6     MOVWF     0xe6,0x0                                                                                        
001ab4   defd     RCALL     0x18b0                                                                                          
001ab6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001ab8   0e08     MOVLW     0x8             lcdWrite(0x08); // display off                                                  F:\MCP\projects\CAN\canLCD\Source\lcd.c
001aba   6ee6     MOVWF     0xe6,0x0                                                                                        
001abc   def9     RCALL     0x18b0                                                                                          
001abe   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001ac0   0e0c     MOVLW     0xc             lcdWrite(0x0C); // display on, unblink curson off                               F:\MCP\projects\CAN\canLCD\Source\lcd.c
001ac2   6ee6     MOVWF     0xe6,0x0                                                                                        
001ac4   def5     RCALL     0x18b0                                                                                          
001ac6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001ac8   0e06     MOVLW     0x6             lcdWrite(0x06); // entry mode                                                   F:\MCP\projects\CAN\canLCD\Source\lcd.c
001aca   6ee6     MOVWF     0xe6,0x0                                                                                        
001acc   def1     RCALL     0x18b0                                                                                          
001ace   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001ad0   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