Subversion Repositories HomeAutomation

Rev

Rev 138 | 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: Mon Nov 20 21:27:30 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
0016a6   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016a8   6e6f     MOVWF     0x6f,0x0                                                                                        
0016aa   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ac   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0016ae   0880     SUBLW     0x80                                                                                            
0016b0   e001     BZ        0x16b4                                                                                          
0016b2   d7fb     BRA       0x16aa                                                                                          
                                                                                                                            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
0016b4   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
0016b6   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0016b8   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
0016ba   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0016bc   1070     IORWF     0x70,0x0,0x0                                                                                    
0016be   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c0   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
0016c2   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c4   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c6   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
0016c8   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ca   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016cc   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
0016ce   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
0016d0   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
0016d2   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0016d4   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0016d6   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016d8   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
0016da   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0016dc   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
0016de   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0016e0   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
0016e2   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
0016e4   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0016e6   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0016e8   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ea   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ec   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
0016ee   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
0016f0   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016f2   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0016f4   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0016f6   e001     BZ        0x16fa                                                                                          
0016f8   d7fc     BRA       0x16f2                                                                                          
                                            #endif                                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016fa   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
0016fc   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
0016fe   0b02     ANDLW     0x2                                                                                             
001700   e106     BNZ       0x170e                                                                                          
001702   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001704   0b02     ANDLW     0x2                                                                                             
001706   e103     BNZ       0x170e                                                                                          
001708   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00170a   0b01     ANDLW     0x1                                                                                             
00170c   e016     BZ        0x173a                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00170e   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001710   146f     ANDWF     0x6f,0x0,0x0                                                                                    
001712   0910     IORLW     0x10                                                                                            
001714   6e14     MOVWF     0x14,0x0                                                                                        
001716   0e00     MOVLW     0x0                                                                                             
001718   1477     ANDWF     0x77,0x0,0x0                                                                                    
00171a   1014     IORWF     0x14,0x0,0x0                                                                                    
00171c   6e77     MOVWF     0x77,0x0                                                                                        
00171e   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001720   d80d     RCALL     0x173c                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001722   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001724   d002     BRA       0x172a                                                                                          
001726   92a4     BCF       0xa4,0x1,0x0                                                                                    
001728   d008     BRA       0x173a                                                                                          
00172a   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00172c   d002     BRA       0x1732                                                                                          
00172e   92a4     BCF       0xa4,0x1,0x0                                                                                    
001730   d004     BRA       0x173a                                                                                          
001732   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001734   d002     BRA       0x173a                                                                                          
001736   90a4     BCF       0xa4,0x0,0x0                                                                                    
001738   d000     BRA       0x173a                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00173a   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
00173c   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00173e   ffe6                                                                                                               
001740   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001742   ffd9                                                                                                               
001744   0e0f     MOVLW     0xf                                                                                             
001746   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
001748   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00174a   1461     ANDWF     0x61,0x0,0x0                                                                                    
00174c   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
00174e   0b0f     ANDLW     0xf                                                                                             
001750   6edf     MOVWF     0xdf,0x0                                                                                        
001752   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
001754   1461     ANDWF     0x61,0x0,0x0                                                                                    
001756   6e1a     MOVWF     0x1a,0x0                                                                                        
001758   6a1b     CLRF      0x1b,0x0                                                                                        
00175a   0e06     MOVLW     0x6                                                                                             
00175c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00175e   361a     RLCF      0x1a,0x1,0x0                                                                                    
001760   361b     RLCF      0x1b,0x1,0x0                                                                                    
001762   04e8     DECF      0xe8,0x0,0x0                                                                                    
001764   e1fb     BNZ       0x175c                                                                                          
001766   0ee0     MOVLW     0xe0                                                                                            
001768   1462     ANDWF     0x62,0x0,0x0                                                                                    
00176a   6e1c     MOVWF     0x1c,0x0                                                                                        
00176c   6a1d     CLRF      0x1d,0x0                                                                                        
00176e   90d8     BCF       0xd8,0x0,0x0                                                                                    
001770   321d     RRCF      0x1d,0x1,0x0                                                                                    
001772   321c     RRCF      0x1c,0x1,0x0                                                                                    
001774   90d8     BCF       0xd8,0x0,0x0                                                                                    
001776   321d     RRCF      0x1d,0x1,0x0                                                                                    
001778   321c     RRCF      0x1c,0x1,0x0                                                                                    
00177a   501a     MOVF      0x1a,0x0,0x0                                                                                    
00177c   241c     ADDWF     0x1c,0x0,0x0                                                                                    
00177e   6e18     MOVWF     0x18,0x0                                                                                        
001780   501b     MOVF      0x1b,0x0,0x0                                                                                    
001782   201d     ADDWFC    0x1d,0x0,0x0                                                                                    
001784   6e19     MOVWF     0x19,0x0                                                                                        
001786   0e03     MOVLW     0x3                                                                                             
001788   1462     ANDWF     0x62,0x0,0x0                                                                                    
00178a   6e1e     MOVWF     0x1e,0x0                                                                                        
00178c   6a1f     CLRF      0x1f,0x0                                                                                        
00178e   90d8     BCF       0xd8,0x0,0x0                                                                                    
001790   361e     RLCF      0x1e,0x1,0x0                                                                                    
001792   361f     RLCF      0x1f,0x1,0x0                                                                                    
001794   5018     MOVF      0x18,0x0,0x0                                                                                    
001796   241e     ADDWF     0x1e,0x0,0x0                                                                                    
001798   6e16     MOVWF     0x16,0x0                                                                                        
00179a   5019     MOVF      0x19,0x0,0x0                                                                                    
00179c   201f     ADDWFC    0x1f,0x0,0x0                                                                                    
00179e   6e17     MOVWF     0x17,0x0                                                                                        
0017a0   0e80     MOVLW     0x80                                                                                            
0017a2   1463     ANDWF     0x63,0x0,0x0                                                                                    
0017a4   6e20     MOVWF     0x20,0x0                                                                                        
0017a6   6a21     CLRF      0x21,0x0                                                                                        
0017a8   0e07     MOVLW     0x7                                                                                             
0017aa   90d8     BCF       0xd8,0x0,0x0                                                                                    
0017ac   3221     RRCF      0x21,0x1,0x0                                                                                    
0017ae   3220     RRCF      0x20,0x1,0x0                                                                                    
0017b0   04e8     DECF      0xe8,0x0,0x0                                                                                    
0017b2   e1fb     BNZ       0x17aa                                                                                          
0017b4   5016     MOVF      0x16,0x0,0x0                                                                                    
0017b6   2420     ADDWF     0x20,0x0,0x0                                                                                    
0017b8   6e14     MOVWF     0x14,0x0                                                                                        
0017ba   5017     MOVF      0x17,0x0,0x0                                                                                    
0017bc   2021     ADDWFC    0x21,0x0,0x0                                                                                    
0017be   6e15     MOVWF     0x15,0x0                                                                                        
0017c0   0e01     MOVLW     0x1                                                                                             
0017c2   c014     MOVFF     0x14,0xfdb                                                                                      
0017c4   ffdb                                                                                                               
0017c6   0e02     MOVLW     0x2                                                                                             
0017c8   c015     MOVFF     0x15,0xfdb                                                                                      
0017ca   ffdb                                                                                                               
0017cc   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0017ce   1463     ANDWF     0x63,0x0,0x0                                                                                    
0017d0   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0017d2   0b7f     ANDLW     0x7f                                                                                            
0017d4   6ee7     MOVWF     0xe7,0x0                                                                                        
0017d6   0e03     MOVLW     0x3                                                                                             
0017d8   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0017da   ffdb                                                                                                               
0017dc   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0017de   1463     ANDWF     0x63,0x0,0x0                                                                                    
0017e0   6e16     MOVWF     0x16,0x0                                                                                        
0017e2   c016     MOVFF     0x16,0x17                                                                                       
0017e4   f017                                                                                                               
0017e6   6a16     CLRF      0x16,0x0                                                                                        
0017e8   5064     MOVF      0x64,0x0,0x0                                                                                    
0017ea   0100     MOVLB     0x0                                                                                             
0017ec   2416     ADDWF     0x16,0x0,0x0                                                                                    
0017ee   6e14     MOVWF     0x14,0x0                                                                                        
0017f0   0e00     MOVLW     0x0                                                                                             
0017f2   2017     ADDWFC    0x17,0x0,0x0                                                                                    
0017f4   6e15     MOVWF     0x15,0x0                                                                                        
0017f6   0e04     MOVLW     0x4                                                                                             
0017f8   c014     MOVFF     0x14,0xfdb                                                                                      
0017fa   ffdb                                                                                                               
0017fc   0e05     MOVLW     0x5                                                                                             
0017fe   c015     MOVFF     0x15,0xfdb                                                                                      
001800   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
001802   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
001804   0b01     ANDLW     0x1                                                                                             
001806   6e16     MOVWF     0x16,0x0                                                                                        
001808   5065     MOVF      0x65,0x0,0x0                                                                                    
00180a   0b02     ANDLW     0x2                                                                                             
00180c   e001     BZ        0x1810                                                                                          
00180e   0e01     MOVLW     0x1                                                                                             
001810   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001812   6e15     MOVWF     0x15,0x0                                                                                        
001814   5065     MOVF      0x65,0x0,0x0                                                                                    
001816   0b04     ANDLW     0x4                                                                                             
001818   e001     BZ        0x181c                                                                                          
00181a   0e01     MOVLW     0x1                                                                                             
00181c   0d04     MULLW     0x4                                                                                             
00181e   cff3     MOVFF     0xff3,0x14                                                                                      
001820   f014                                                                                                               
001822   5065     MOVF      0x65,0x0,0x0                                                                                    
001824   0b08     ANDLW     0x8                                                                                             
001826   e001     BZ        0x182a                                                                                          
001828   0e01     MOVLW     0x1                                                                                             
00182a   0d08     MULLW     0x8                                                                                             
00182c   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00182e   2414     ADDWF     0x14,0x0,0x0                                                                                    
001830   2415     ADDWF     0x15,0x0,0x0                                                                                    
001832   2416     ADDWF     0x16,0x0,0x0                                                                                    
001834   6ee7     MOVWF     0xe7,0x0                                                                                        
001836   0e06     MOVLW     0x6                                                                                             
001838   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00183a   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00183c   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00183e   cf66     MOVFF     0xf66,0xfdb                                                                                     
001840   ffdb                                                                                                               
001842   0e08     MOVLW     0x8                                                                                             
001844   cf67     MOVFF     0xf67,0xfdb                                                                                     
001846   ffdb                                                                                                               
001848   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00184a   cf68     MOVFF     0xf68,0xfdb                                                                                     
00184c   ffdb                                                                                                               
00184e   0e0a     MOVLW     0xa                                                                                             
001850   cf69     MOVFF     0xf69,0xfdb                                                                                     
001852   ffdb                                                                                                               
001854   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001856   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
001858   ffdb                                                                                                               
00185a   0e0c     MOVLW     0xc                                                                                             
00185c   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
00185e   ffdb                                                                                                               
001860   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001862   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
001864   ffdb                                                                                                               
001866   0e0e     MOVLW     0xe                                                                                             
001868   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
00186a   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00186c   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
00186e   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001870   ffe9                                                                                                               
001872   cfda     MOVFF     0xfda,0xfea                                                                                     
001874   ffea                                                                                                               
001876   cfee     MOVFF     0xfee,0xfe6                                                                                     
001878   ffe6                                                                                                               
00187a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00187c   ffe6                                                                                                               
00187e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001880   ffe6                                                                                                               
001882   cfee     MOVFF     0xfee,0xfe6                                                                                     
001884   ffe6                                                                                                               
001886   cfee     MOVFF     0xfee,0xfe6                                                                                     
001888   ffe6                                                                                                               
00188a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00188c   ffe6                                                                                                               
00188e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001890   ffe6                                                                                                               
001892   cfee     MOVFF     0xfee,0xfe6                                                                                     
001894   ffe6                                                                                                               
001896   cfee     MOVFF     0xfee,0xfe6                                                                                     
001898   ffe6                                                                                                               
00189a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00189c   ffe6                                                                                                               
00189e   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018a0   ffe6                                                                                                               
0018a2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018a4   ffe6                                                                                                               
0018a6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018a8   ffe6                                                                                                               
0018aa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018ac   ffe6                                                                                                               
0018ae   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018b0   ffe6                                                                                                               
0018b2   ec8c     CALL      0x1518,0x0                                                                                      
0018b4   f00a                                                                                                               
0018b6   6e14     MOVWF     0x14,0x0                                                                                        
0018b8   0e0f     MOVLW     0xf                                                                                             
0018ba   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0018bc   5014     MOVF      0x14,0x0,0x0                                                                                    
0018be   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0018c0   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0018c2   e202     BC        0x18c8                                                                                          
0018c4   6ae1     CLRF      0xe1,0x0                                                                                        
0018c6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018c8   6ee1     MOVWF     0xe1,0x0                                                                                        
0018ca   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018cc   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0018ce   ffd9                                                                                                               
0018d0   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
0018d2   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0018d4   ffe6                                                                                                               
0018d6   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0018d8   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0018da   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0018dc   b740     BTFSC     0x40,0x3,0x1                                                                                    
0018de   d004     BRA       0x18e8                                                                                          
0018e0   0e00     MOVLW     0x0                                                                                             
0018e2   1477     ANDWF     0x77,0x0,0x0                                                                                    
0018e4   0903     IORLW     0x3                                                                                             
0018e6   6e77     MOVWF     0x77,0x0                                                                                        
0018e8   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0018ea   b730     BTFSC     0x30,0x3,0x1                                                                                    
0018ec   d004     BRA       0x18f6                                                                                          
0018ee   0e00     MOVLW     0x0                                                                                             
0018f0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0018f2   0904     IORLW     0x4                                                                                             
0018f4   6e77     MOVWF     0x77,0x0                                                                                        
0018f6   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0018f8   b720     BTFSC     0x20,0x3,0x1                                                                                    
0018fa   d005     BRA       0x1906                                                                                          
0018fc   0e00     MOVLW     0x0                                                                                             
0018fe   1477     ANDWF     0x77,0x0,0x0                                                                                    
001900   0905     IORLW     0x5                                                                                             
001902   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
001904   d002     BRA       0x190a          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001906   0e00     MOVLW     0x0                                                                                             
001908   d0b0     BRA       0x1a6a                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00190a   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00190c   cfdb     MOVFF     0xfdb,0x14                                                                                      
00190e   f014                                                                                                               
001910   3414     RLCF      0x14,0x0,0x0                                                                                    
001912   e20e     BC        0x1930                                                                                          
001914   0eef     MOVLW     0xef                                                                                            
001916   cfdb     MOVFF     0xfdb,0x15                                                                                      
001918   f015                                                                                                               
00191a   0e03     MOVLW     0x3                                                                                             
00191c   6ee7     MOVWF     0xe7,0x0                                                                                        
00191e   1815     XORWF     0x15,0x0,0x0                                                                                    
001920   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
001922   d002     BRA       0x1928                                                                                          
001924   3415     RLCF      0x15,0x0,0x0                                                                                    
001926   d003     BRA       0x192e                                                                                          
001928   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00192a   80d8     BSF       0xd8,0x0,0x0                                                                                    
00192c   5415     SUBFWB    0x15,0x0,0x0                                                                                    
00192e   e202     BC        0x1934                                                                                          
001930   0eef     MOVLW     0xef                                                                                            
001932   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
001934   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBase\Source\CAN.c
001936   cfdb     MOVFF     0xfdb,0x14                                                                                      
001938   f014                                                                                                               
00193a   0ef2     MOVLW     0xf2                                                                                            
00193c   cfdb     MOVFF     0xfdb,0x15                                                                                      
00193e   f015                                                                                                               
001940   0ec0     MOVLW     0xc0                                                                                            
001942   1614     ANDWF     0x14,0x1,0x0                                                                                    
001944   0e03     MOVLW     0x3                                                                                             
001946   1615     ANDWF     0x15,0x1,0x0                                                                                    
001948   0e06     MOVLW     0x6                                                                                             
00194a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00194c   3215     RRCF      0x15,0x1,0x0                                                                                    
00194e   3214     RRCF      0x14,0x1,0x0                                                                                    
001950   04e8     DECF      0xe8,0x0,0x0                                                                                    
001952   e1fb     BNZ       0x194a                                                                                          
001954   0ef0     MOVLW     0xf0                                                                                            
001956   50db     MOVF      0xdb,0x0,0x0                                                                                    
001958   0b0f     ANDLW     0xf                                                                                             
00195a   0d10     MULLW     0x10                                                                                            
00195c   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00195e   2414     ADDWF     0x14,0x0,0x0                                                                                    
001960   6e61     MOVWF     0x61,0x0                                                                                        
001962   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBase\Source\CAN.c
001964   6ee7     MOVWF     0xe7,0x0                                                                                        
001966   0ef1     MOVLW     0xf1                                                                                            
001968   cfdb     MOVFF     0xfdb,0x16                                                                                      
00196a   f016                                                                                                               
00196c   0ef2     MOVLW     0xf2                                                                                            
00196e   cfdb     MOVFF     0xfdb,0x17                                                                                      
001970   f017                                                                                                               
001972   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001974   1616     ANDWF     0x16,0x1,0x0                                                                                    
001976   6a17     CLRF      0x17,0x0                                                                                        
001978   90d8     BCF       0xd8,0x0,0x0                                                                                    
00197a   3217     RRCF      0x17,0x1,0x0                                                                                    
00197c   3216     RRCF      0x16,0x1,0x0                                                                                    
00197e   0e3f     MOVLW     0x3f                                                                                            
001980   6ee7     MOVWF     0xe7,0x0                                                                                        
001982   0ef1     MOVLW     0xf1                                                                                            
001984   cfdb     MOVFF     0xfdb,0x14                                                                                      
001986   f014                                                                                                               
001988   0ef2     MOVLW     0xf2                                                                                            
00198a   cfdb     MOVFF     0xfdb,0x15                                                                                      
00198c   f015                                                                                                               
00198e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001990   1614     ANDWF     0x14,0x1,0x0                                                                                    
001992   6a15     CLRF      0x15,0x0                                                                                        
001994   90d8     BCF       0xd8,0x0,0x0                                                                                    
001996   3614     RLCF      0x14,0x1,0x0                                                                                    
001998   3615     RLCF      0x15,0x1,0x0                                                                                    
00199a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00199c   3614     RLCF      0x14,0x1,0x0                                                                                    
00199e   3615     RLCF      0x15,0x1,0x0                                                                                    
0019a0   5014     MOVF      0x14,0x0,0x0                                                                                    
0019a2   2416     ADDWF     0x16,0x0,0x0                                                                                    
0019a4   6e62     MOVWF     0x62,0x0                                                                                        
0019a6   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
0019a8   cfdb     MOVFF     0xfdb,0x16                                                                                      
0019aa   f016                                                                                                               
0019ac   0ef5     MOVLW     0xf5                                                                                            
0019ae   cfdb     MOVFF     0xfdb,0x17                                                                                      
0019b0   f017                                                                                                               
0019b2   0e00     MOVLW     0x0                                                                                             
0019b4   1616     ANDWF     0x16,0x1,0x0                                                                                    
0019b6   0e01     MOVLW     0x1                                                                                             
0019b8   1617     ANDWF     0x17,0x1,0x0                                                                                    
0019ba   c017     MOVFF     0x17,0x16                                                                                       
0019bc   f016                                                                                                               
0019be   6a17     CLRF      0x17,0x0                                                                                        
0019c0   0e01     MOVLW     0x1                                                                                             
0019c2   6ee7     MOVWF     0xe7,0x0                                                                                        
0019c4   0ef1     MOVLW     0xf1                                                                                            
0019c6   cfdb     MOVFF     0xfdb,0x14                                                                                      
0019c8   f014                                                                                                               
0019ca   0ef2     MOVLW     0xf2                                                                                            
0019cc   cfdb     MOVFF     0xfdb,0x15                                                                                      
0019ce   f015                                                                                                               
0019d0   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0019d2   1614     ANDWF     0x14,0x1,0x0                                                                                    
0019d4   6a15     CLRF      0x15,0x0                                                                                        
0019d6   0e07     MOVLW     0x7                                                                                             
0019d8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0019da   3614     RLCF      0x14,0x1,0x0                                                                                    
0019dc   3615     RLCF      0x15,0x1,0x0                                                                                    
0019de   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019e0   e1fb     BNZ       0x19d8                                                                                          
0019e2   0ef3     MOVLW     0xf3                                                                                            
0019e4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019e6   0b3f     ANDLW     0x3f                                                                                            
0019e8   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
0019ea   2414     ADDWF     0x14,0x0,0x0                                                                                    
0019ec   2416     ADDWF     0x16,0x0,0x0                                                                                    
0019ee   6e63     MOVWF     0x63,0x0                                                                                        
0019f0   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0019f2   6ee7     MOVWF     0xe7,0x0                                                                                        
0019f4   0ef4     MOVLW     0xf4                                                                                            
0019f6   cfdb     MOVFF     0xfdb,0x14                                                                                      
0019f8   f014                                                                                                               
0019fa   0ef5     MOVLW     0xf5                                                                                            
0019fc   cfdb     MOVFF     0xfdb,0x15                                                                                      
0019fe   f015                                                                                                               
001a00   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001a02   1614     ANDWF     0x14,0x1,0x0                                                                                    
001a04   6a15     CLRF      0x15,0x0                                                                                        
001a06   5014     MOVF      0x14,0x0,0x0                                                                                    
001a08   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001a0a   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001a0c   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001a0e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a10   0808     SUBLW     0x8                                                                                             
001a12   e203     BC        0x1a1a                                                                                          
001a14   0e08     MOVLW     0x8                                                                                             
001a16   6e65     MOVWF     0x65,0x0                                                                                        
001a18   d003     BRA       0x1a20                                                                                          
001a1a   0ef6     MOVLW     0xf6                                                                                            
001a1c   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a1e   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
001a20   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
001a22   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001a24   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a26   6e66     MOVWF     0x66,0x0                                                                                        
001a28   0ef8     MOVLW     0xf8                                                                                            
001a2a   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a2c   6e67     MOVWF     0x67,0x0                                                                                        
001a2e   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001a30   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a32   6e68     MOVWF     0x68,0x0                                                                                        
001a34   0efa     MOVLW     0xfa                                                                                            
001a36   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a38   6e69     MOVWF     0x69,0x0                                                                                        
001a3a   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001a3c   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a3e   6e6a     MOVWF     0x6a,0x0                                                                                        
001a40   0efc     MOVLW     0xfc                                                                                            
001a42   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a44   6e6b     MOVWF     0x6b,0x0                                                                                        
001a46   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001a48   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a4a   6e6c     MOVWF     0x6c,0x0                                                                                        
001a4c   0efe     MOVLW     0xfe                                                                                            
001a4e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a50   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // set extended                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001a52   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
001a54   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001a56   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001a58   ffe6                                                                                                               
001a5a   0efc     MOVLW     0xfc                                                                                            
001a5c   1460     ANDWF     0x60,0x0,0x0                                                                                    
001a5e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a60   10e7     IORWF     0xe7,0x0,0x0                                                                                    
001a62   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
001a64   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
001a66   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001a68   d000     BRA       0x1a6a                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001a6a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001a6c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001a6e   ffd9                                                                                                               
001a70   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
002018   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
00201a   6ed6     MOVWF     0xd6,0x0                                                                                        
00201c   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
00201e   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
002020   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
002022   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
002024   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
002026   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
002028   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
00202a   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
00202c   c084     MOVFF     0x84,0x6           return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
00202e   f006                                                                                                               
002030   c085     MOVFF     0x85,0x7                                                                                        
002032   f007                                                                                                               
002034   c086     MOVFF     0x86,0x8                                                                                        
002036   f008                                                                                                               
002038   c087     MOVFF     0x87,0x9                                                                                        
00203a   f009                                                                                                               
00203c   d000     BRA       0x203e                                                                                          
00203e   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
002040   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
002042   d00b     BRA       0x205a                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
002044   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
002046   6ed7     MOVWF     0xd7,0x0                                                                                        
002048   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
00204a   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
00204c   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
00204e   2b84     INCF      0x84,0x1,0x1                                                                                    
002050   0e00     MOVLW     0x0                                                                                             
002052   2385     ADDWFC    0x85,0x1,0x1                                                                                    
002054   2386     ADDWFC    0x86,0x1,0x1                                                                                    
002056   2387     ADDWFC    0x87,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
002058   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
00205a   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*********************************************************************        F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canTemp/Source/Main.c $ F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * Last changed: $LastChangedDate: 2006-11-20 17:54:03 +0100 (må, 20 nov 2006) $ F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * Revision:     $Revision: 129 $                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #include <CAN.h>                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #ifdef USE_ADC                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #include <adc.h>                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001050   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
001052   ffe6                                                                                                               
001054   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001056   ffd9                                                                                                               
001058   0e11     MOVLW     0x11                                                                                            
00105a   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            static TICK t = 0;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
00105c   da58     RCALL     0x150e          mainInit();                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
00105e   ec53     CALL      0x16a6,0x0          canInit();                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
001060   f00b                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
001062   0e0b     MOVLW     0xb                 adcInit(TRUE,0b1011);                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
001064   6ee6     MOVWF     0xe6,0x0                                                                                        
001066   0e01     MOVLW     0x1                                                                                             
001068   6ee6     MOVWF     0xe6,0x0                                                                                        
00106a   ec39     CALL      0x1a72,0x0                                                                                      
00106c   f00d                                                                                                               
00106e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001070   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001072   ec0c     CALL      0x2018,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
001074   f010                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
001076   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001078   6ee6     MOVWF     0xe6,0x0                                                                                        
00107a   6ae6     CLRF      0xe6,0x0                                                                                        
00107c   ecb8     CALL      0x1d70,0x0                                                                                      
00107e   f00e                                                                                                               
001080   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001082   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001084   082a     SUBLW     0x2a                                                                                            
001086   e12b     BNZ       0x10de                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
001088   0e01     MOVLW     0x1                 MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canTemp\Source\Main.c
00108a   6ee6     MOVWF     0xe6,0x0                                                                                        
00108c   6ae6     CLRF      0xe6,0x0                                                                                        
00108e   ecb8     CALL      0x1d70,0x0                                                                                      
001090   f00e                                                                                                               
001092   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001094   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001096   6e14     MOVWF     0x14,0x0                                                                                        
001098   c014     MOVFF     0x14,0x15                                                                                       
00109a   f015                                                                                                               
00109c   6a14     CLRF      0x14,0x0                                                                                        
00109e   c014     MOVFF     0x14,0xfe6                                                                                      
0010a0   ffe6                                                                                                               
0010a2   c015     MOVFF     0x15,0xfe6                                                                                      
0010a4   ffe6                                                                                                               
0010a6   0e02     MOVLW     0x2                                                                                             
0010a8   6ee6     MOVWF     0xe6,0x0                                                                                        
0010aa   6ae6     CLRF      0xe6,0x0                                                                                        
0010ac   ecb8     CALL      0x1d70,0x0                                                                                      
0010ae   f00e                                                                                                               
0010b0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b6   cfe7     MOVFF     0xfe7,0x15                                                                                      
0010b8   f015                                                                                                               
0010ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010bc   cfe7     MOVFF     0xfe7,0x14                                                                                      
0010be   f014                                                                                                               
0010c0   0100     MOVLB     0x0                                                                                             
0010c2   2414     ADDWF     0x14,0x0,0x0                                                                                    
0010c4   6f60     MOVWF     0x60,0x1                                                                                        
0010c6   0e00     MOVLW     0x0                                                                                             
0010c8   2015     ADDWFC    0x15,0x0,0x0                                                                                    
0010ca   6f61     MOVWF     0x61,0x1                                                                                        
0010cc   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
0010ce   6ee6     MOVWF     0xe6,0x0                                                                                        
0010d0   6ae6     CLRF      0xe6,0x0                                                                                        
0010d2   ecb8     CALL      0x1d70,0x0                                                                                      
0010d4   f00e                                                                                                               
0010d6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010d8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010da   0100     MOVLB     0x0                                                                                             
0010dc   6f62     MOVWF     0x62,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Send user program startup heatbeat                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
0010de   6adf     CLRF      0xdf,0x0        outCm.funct                     = FUNCT_BOOTLOADER;                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
0010e0   0e08     MOVLW     0x8             outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
0010e2   6ef3     MOVWF     0xf3,0x0                                                                                        
0010e4   0e01     MOVLW     0x1                                                                                             
0010e6   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010e8   ffdb                                                                                                               
0010ea   0e02     MOVLW     0x2                                                                                             
0010ec   6adb     CLRF      0xdb,0x0                                                                                        
0010ee   0e03     MOVLW     0x3             outCm.nid                       = MY_NID;                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0010f0   c062     MOVFF     0x62,0xfdb                                                                                      
0010f2   ffdb                                                                                                               
0010f4   0e04     MOVLW     0x4             outCm.sid                       = MY_ID;                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
0010f6   c060     MOVFF     0x60,0xfdb                                                                                      
0010f8   ffdb                                                                                                               
0010fa   0e05     MOVLW     0x5                                                                                             
0010fc   c061     MOVFF     0x61,0xfdb                                                                                      
0010fe   ffdb                                                                                                               
001100   0e01     MOVLW     0x1             outCm.data_length               = 1;                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
001102   6ef3     MOVWF     0xf3,0x0                                                                                        
001104   0e06     MOVLW     0x6                                                                                             
001106   cff3     MOVFF     0xff3,0xfdb                                                                                     
001108   ffdb                                                                                                               
00110a   0e01     MOVLW     0x1             outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_USER_STARTUP;                 F:\MCP\projects\CAN\canTemp\Source\Main.c
00110c   6ef3     MOVWF     0xf3,0x0                                                                                        
00110e   0e07     MOVLW     0x7                                                                                             
001110   cff3     MOVFF     0xff3,0xfdb                                                                                     
001112   ffdb                                                                                                               
001114   0e02     MOVLW     0x2             while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
001116   6ee6     MOVWF     0xe6,0x0                                                                                        
001118   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
00111a   ffe9                                                                                                               
00111c   cfda     MOVFF     0xfda,0xfea                                                                                     
00111e   ffea                                                                                                               
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   cfee     MOVFF     0xfee,0xfe6                                                                                     
00115a   ffe6                                                                                                               
00115c   ec69     CALL      0x18d2,0x0                                                                                      
00115e   f00c                                                                                                               
001160   6e14     MOVWF     0x14,0x0                                                                                        
001162   0e10     MOVLW     0x10                                                                                            
001164   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001166   5014     MOVF      0x14,0x0,0x0                                                                                    
001168   0900     IORLW     0x0                                                                                             
00116a   e101     BNZ       0x116e                                                                                          
00116c   d7d3     BRA       0x1114                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
0013c6   d6d3     BRA       0x116e          while(1)                                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK t = 0;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK heartbeat = 0;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK temperature = 0;                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static BYTE lastTemperature = TEMPERATURE_INSIDE;                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
00116e   ec16     CALL      0x202c,0x0          if ((tickGet()-heartbeat)>TICK_SECOND*5)                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
001170   f010                                                                                                               
001172   0100     MOVLB     0x0                                                                                             
001174   516b     MOVF      0x6b,0x0,0x1                                                                                    
001176   5c06     SUBWF     0x6,0x0,0x0                                                                                     
001178   6e14     MOVWF     0x14,0x0                                                                                        
00117a   516c     MOVF      0x6c,0x0,0x1                                                                                    
00117c   5807     SUBWFB    0x7,0x0,0x0                                                                                     
00117e   6e15     MOVWF     0x15,0x0                                                                                        
001180   516d     MOVF      0x6d,0x0,0x1                                                                                    
001182   5808     SUBWFB    0x8,0x0,0x0                                                                                     
001184   6e16     MOVWF     0x16,0x0                                                                                        
001186   516e     MOVF      0x6e,0x0,0x1                                                                                    
001188   5809     SUBWFB    0x9,0x0,0x0                                                                                     
00118a   6e17     MOVWF     0x17,0x0                                                                                        
00118c   80d8     BSF       0xd8,0x0,0x0                                                                                    
00118e   0ef4     MOVLW     0xf4                                                                                            
001190   5414     SUBFWB    0x14,0x0,0x0                                                                                    
001192   0e01     MOVLW     0x1                                                                                             
001194   5415     SUBFWB    0x15,0x0,0x0                                                                                    
001196   0e00     MOVLW     0x0                                                                                             
001198   5416     SUBFWB    0x16,0x0,0x0                                                                                    
00119a   0e00     MOVLW     0x0                                                                                             
00119c   5417     SUBFWB    0x17,0x0,0x0                                                                                    
00119e   e252     BC        0x1244                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    // Send alive heartbeat                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
0011a0   6adf     CLRF      0xdf,0x0                outCm.funct                     = FUNCT_BOOTLOADER;                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
0011a2   0e08     MOVLW     0x8                     outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0011a4   6ef3     MOVWF     0xf3,0x0                                                                                        
0011a6   0e01     MOVLW     0x1                                                                                             
0011a8   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011aa   ffdb                                                                                                               
0011ac   0e02     MOVLW     0x2                                                                                             
0011ae   6adb     CLRF      0xdb,0x0                                                                                        
0011b0   0e03     MOVLW     0x3                     outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
0011b2   c062     MOVFF     0x62,0xfdb                                                                                      
0011b4   ffdb                                                                                                               
0011b6   0e04     MOVLW     0x4                     outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
0011b8   c060     MOVFF     0x60,0xfdb                                                                                      
0011ba   ffdb                                                                                                               
0011bc   0e05     MOVLW     0x5                                                                                             
0011be   c061     MOVFF     0x61,0xfdb                                                                                      
0011c0   ffdb                                                                                                               
0011c2   0e01     MOVLW     0x1                     outCm.data_length               = 1;                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
0011c4   6ef3     MOVWF     0xf3,0x0                                                                                        
0011c6   0e06     MOVLW     0x6                                                                                             
0011c8   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011ca   ffdb                                                                                                               
0011cc   0e02     MOVLW     0x2                     outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_ALIVE;                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0011ce   6ef3     MOVWF     0xf3,0x0                                                                                        
0011d0   0e07     MOVLW     0x7                                                                                             
0011d2   cff3     MOVFF     0xff3,0xfdb                                                                                     
0011d4   ffdb                                                                                                               
0011d6   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0011d8   6ee6     MOVWF     0xe6,0x0                                                                                        
0011da   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0011dc   ffe9                                                                                                               
0011de   cfda     MOVFF     0xfda,0xfea                                                                                     
0011e0   ffea                                                                                                               
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   cfee     MOVFF     0xfee,0xfe6                                                                                     
00121c   ffe6                                                                                                               
00121e   ec69     CALL      0x18d2,0x0                                                                                      
001220   f00c                                                                                                               
001222   6e14     MOVWF     0x14,0x0                                                                                        
001224   0e10     MOVLW     0x10                                                                                            
001226   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001228   5014     MOVF      0x14,0x0,0x0                                                                                    
00122a   0900     IORLW     0x0                                                                                             
00122c   e101     BNZ       0x1230                                                                                          
00122e   d7d3     BRA       0x11d6                                                                                          
                                                                                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
001230   ec16     CALL      0x202c,0x0              heartbeat = tickGet();                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
001232   f010                                                                                                               
001234   c006     MOVFF     0x6,0x6b                                                                                        
001236   f06b                                                                                                               
001238   c007     MOVFF     0x7,0x6c                                                                                        
00123a   f06c                                                                                                               
00123c   c008     MOVFF     0x8,0x6d                                                                                        
00123e   f06d                                                                                                               
001240   c009     MOVFF     0x9,0x6e                                                                                        
001242   f06e                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001244   ec16     CALL      0x202c,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
001246   f010                                                                                                               
001248   0100     MOVLB     0x0                                                                                             
00124a   5167     MOVF      0x67,0x0,0x1                                                                                    
00124c   5c06     SUBWF     0x6,0x0,0x0                                                                                     
00124e   6e14     MOVWF     0x14,0x0                                                                                        
001250   5168     MOVF      0x68,0x0,0x1                                                                                    
001252   5807     SUBWFB    0x7,0x0,0x0                                                                                     
001254   6e15     MOVWF     0x15,0x0                                                                                        
001256   5169     MOVF      0x69,0x0,0x1                                                                                    
001258   5808     SUBWFB    0x8,0x0,0x0                                                                                     
00125a   6e16     MOVWF     0x16,0x0                                                                                        
00125c   516a     MOVF      0x6a,0x0,0x1                                                                                    
00125e   5809     SUBWFB    0x9,0x0,0x0                                                                                     
001260   6e17     MOVWF     0x17,0x0                                                                                        
001262   80d8     BSF       0xd8,0x0,0x0                                                                                    
001264   0e64     MOVLW     0x64                                                                                            
001266   5414     SUBFWB    0x14,0x0,0x0                                                                                    
001268   0e00     MOVLW     0x0                                                                                             
00126a   5415     SUBFWB    0x15,0x0,0x0                                                                                    
00126c   0e00     MOVLW     0x0                                                                                             
00126e   5416     SUBFWB    0x16,0x0,0x0                                                                                    
001270   0e00     MOVLW     0x0                                                                                             
001272   5417     SUBFWB    0x17,0x0,0x0                                                                                    
001274   e20b     BC        0x128c                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
001276   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
001278   ec16     CALL      0x202c,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
00127a   f010                                                                                                               
00127c   c006     MOVFF     0x6,0x67                                                                                        
00127e   f067                                                                                                               
001280   c007     MOVFF     0x7,0x68                                                                                        
001282   f068                                                                                                               
001284   c008     MOVFF     0x8,0x69                                                                                        
001286   f069                                                                                                               
001288   c009     MOVFF     0x9,0x6a                                                                                        
00128a   f06a                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                #ifdef USE_ADC                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
00128c   ec16     CALL      0x202c,0x0          if ((tickGet()-temperature)>TICK_SECOND*2) // Each 2 second, read temperature. F:\MCP\projects\CAN\canTemp\Source\Main.c
00128e   f010                                                                                                               
001290   0100     MOVLB     0x0                                                                                             
001292   516f     MOVF      0x6f,0x0,0x1                                                                                    
001294   5c06     SUBWF     0x6,0x0,0x0                                                                                     
001296   6e14     MOVWF     0x14,0x0                                                                                        
001298   5170     MOVF      0x70,0x0,0x1                                                                                    
00129a   5807     SUBWFB    0x7,0x0,0x0                                                                                     
00129c   6e15     MOVWF     0x15,0x0                                                                                        
00129e   5171     MOVF      0x71,0x0,0x1                                                                                    
0012a0   5808     SUBWFB    0x8,0x0,0x0                                                                                     
0012a2   6e16     MOVWF     0x16,0x0                                                                                        
0012a4   5172     MOVF      0x72,0x0,0x1                                                                                    
0012a6   5809     SUBWFB    0x9,0x0,0x0                                                                                     
0012a8   6e17     MOVWF     0x17,0x0                                                                                        
0012aa   80d8     BSF       0xd8,0x0,0x0                                                                                    
0012ac   0ec8     MOVLW     0xc8                                                                                            
0012ae   5414     SUBFWB    0x14,0x0,0x0                                                                                    
0012b0   0e00     MOVLW     0x0                                                                                             
0012b2   5415     SUBFWB    0x15,0x0,0x0                                                                                    
0012b4   0e00     MOVLW     0x0                                                                                             
0012b6   5416     SUBFWB    0x16,0x0,0x0                                                                                    
0012b8   0e00     MOVLW     0x0                                                                                             
0012ba   5417     SUBFWB    0x17,0x0,0x0                                                                                    
0012bc   e215     BC        0x12e8                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
0012be   5173     MOVF      0x73,0x0,0x1            if (lastTemperature==TEMPERATURE_INSIDE) lastTemperature=TEMPERATURE_OUTSIDE; else lastTemperature=TEMPERATURE_INSIDE; F:\MCP\projects\CAN\canTemp\Source\Main.c
0012c0   e103     BNZ       0x12c8                                                                                          
0012c2   0e01     MOVLW     0x1                                                                                             
0012c4   6f73     MOVWF     0x73,0x1                                                                                        
0012c6   d001     BRA       0x12ca                                                                                          
0012c8   6b73     CLRF      0x73,0x1                                                                                        
0012ca   c073     MOVFF     0x73,0xfe6              adcConvert(lastTemperature);                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
0012cc   ffe6                                                                                                               
0012ce   eca7     CALL      0x1b4e,0x0                                                                                      
0012d0   f00d                                                                                                               
0012d2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0012d4   ec16     CALL      0x202c,0x0              temperature = tickGet();                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0012d6   f010                                                                                                               
0012d8   c006     MOVFF     0x6,0x6f                                                                                        
0012da   f06f                                                                                                               
0012dc   c007     MOVFF     0x7,0x70                                                                                        
0012de   f070                                                                                                               
0012e0   c008     MOVFF     0x8,0x71                                                                                        
0012e2   f071                                                                                                               
0012e4   c009     MOVFF     0x9,0x72                                                                                        
0012e6   f072                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                #endif                                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                #ifdef USE_ADC                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
0012e8   ecb4     CALL      0x1d68,0x0          if (adcDone()) // Has temperature, send it to the bus                          F:\MCP\projects\CAN\canTemp\Source\Main.c
0012ea   f00e                                                                                                               
0012ec   0900     IORLW     0x0                                                                                             
0012ee   e06b     BZ        0x13c6                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    BYTE decimal;                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    signed char tenth;                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
0012f0   50d9     MOVF      0xd9,0x0,0x0            temperatureRead(&tenth,&decimal);                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
0012f2   0f0f     ADDLW     0xf                                                                                             
0012f4   6ee6     MOVWF     0xe6,0x0                                                                                        
0012f6   0e00     MOVLW     0x0                                                                                             
0012f8   20da     ADDWFC    0xda,0x0,0x0                                                                                    
0012fa   6ee6     MOVWF     0xe6,0x0                                                                                        
0012fc   50d9     MOVF      0xd9,0x0,0x0                                                                                    
0012fe   0f10     ADDLW     0x10                                                                                            
001300   6ee6     MOVWF     0xe6,0x0                                                                                        
001302   0e00     MOVLW     0x0                                                                                             
001304   20da     ADDWFC    0xda,0x0,0x0                                                                                    
001306   6ee6     MOVWF     0xe6,0x0                                                                                        
001308   ecd2     CALL      0x1ba4,0x0                                                                                      
00130a   f00d                                                                                                               
00130c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00130e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001310   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001312   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001314   0e01     MOVLW     0x1                     outCm.funct                     = FUNCT_SENSORS;                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
001316   6edf     MOVWF     0xdf,0x0                                                                                        
001318   0100     MOVLB     0x0                     outCm.funcc                     = (lastTemperature==TEMPERATURE_INSIDE?FUNCC_SENSORS_TEMPERATURE_INSIDE:FUNCC_SENSORS_TEMPERATURE_OUTSIDE); F:\MCP\projects\CAN\canTemp\Source\Main.c
00131a   5173     MOVF      0x73,0x0,0x1                                                                                    
00131c   e102     BNZ       0x1322                                                                                          
00131e   0e02     MOVLW     0x2                                                                                             
001320   d001     BRA       0x1324                                                                                          
001322   0e03     MOVLW     0x3                                                                                             
001324   6e14     MOVWF     0x14,0x0                                                                                        
001326   6a15     CLRF      0x15,0x0                                                                                        
001328   be14     BTFSC     0x14,0x7,0x0                                                                                    
00132a   6815     SETF      0x15,0x0                                                                                        
00132c   0e01     MOVLW     0x1                                                                                             
00132e   c014     MOVFF     0x14,0xfdb                                                                                      
001330   ffdb                                                                                                               
001332   0e02     MOVLW     0x2                                                                                             
001334   c015     MOVFF     0x15,0xfdb                                                                                      
001336   ffdb                                                                                                               
001338   0e03     MOVLW     0x3                     outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00133a   c062     MOVFF     0x62,0xfdb                                                                                      
00133c   ffdb                                                                                                               
00133e   0e04     MOVLW     0x4                     outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
001340   c060     MOVFF     0x60,0xfdb                                                                                      
001342   ffdb                                                                                                               
001344   0e05     MOVLW     0x5                                                                                             
001346   c061     MOVFF     0x61,0xfdb                                                                                      
001348   ffdb                                                                                                               
00134a   0e02     MOVLW     0x2                     outCm.data_length               = 2;                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00134c   6ef3     MOVWF     0xf3,0x0                                                                                        
00134e   0e06     MOVLW     0x6                                                                                             
001350   cff3     MOVFF     0xff3,0xfdb                                                                                     
001352   ffdb                                                                                                               
001354   0e10     MOVLW     0x10                    outCm.data[1]                   = tenth; //  signed 10 an 1 decimal.                        F:\MCP\projects\CAN\canTemp\Source\Main.c
001356   50db     MOVF      0xdb,0x0,0x0                                                                                    
001358   6ee7     MOVWF     0xe7,0x0                                                                                        
00135a   0e08     MOVLW     0x8                                                                                             
00135c   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00135e   ffdb                                                                                                               
001360   0e0f     MOVLW     0xf                     outCm.data[0]                   = decimal; //  Decimal value, 0-9                           F:\MCP\projects\CAN\canTemp\Source\Main.c
001362   50db     MOVF      0xdb,0x0,0x0                                                                                    
001364   6ee7     MOVWF     0xe7,0x0                                                                                        
001366   0e07     MOVLW     0x7                                                                                             
001368   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00136a   ffdb                                                                                                               
00136c   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
00136e   6ee6     MOVWF     0xe6,0x0                                                                                        
001370   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
001372   ffe9                                                                                                               
001374   cfda     MOVFF     0xfda,0xfea                                                                                     
001376   ffea                                                                                                               
001378   cfee     MOVFF     0xfee,0xfe6                                                                                     
00137a   ffe6                                                                                                               
00137c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00137e   ffe6                                                                                                               
001380   cfee     MOVFF     0xfee,0xfe6                                                                                     
001382   ffe6                                                                                                               
001384   cfee     MOVFF     0xfee,0xfe6                                                                                     
001386   ffe6                                                                                                               
001388   cfee     MOVFF     0xfee,0xfe6                                                                                     
00138a   ffe6                                                                                                               
00138c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00138e   ffe6                                                                                                               
001390   cfee     MOVFF     0xfee,0xfe6                                                                                     
001392   ffe6                                                                                                               
001394   cfee     MOVFF     0xfee,0xfe6                                                                                     
001396   ffe6                                                                                                               
001398   cfee     MOVFF     0xfee,0xfe6                                                                                     
00139a   ffe6                                                                                                               
00139c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00139e   ffe6                                                                                                               
0013a0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0013a2   ffe6                                                                                                               
0013a4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0013a6   ffe6                                                                                                               
0013a8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0013aa   ffe6                                                                                                               
0013ac   cfee     MOVFF     0xfee,0xfe6                                                                                     
0013ae   ffe6                                                                                                               
0013b0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0013b2   ffe6                                                                                                               
0013b4   ec69     CALL      0x18d2,0x0                                                                                      
0013b6   f00c                                                                                                               
0013b8   6e14     MOVWF     0x14,0x0                                                                                        
0013ba   0e10     MOVLW     0x10                                                                                            
0013bc   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0013be   5014     MOVF      0x14,0x0,0x0                                                                                    
0013c0   0900     IORLW     0x0                                                                                             
0013c2   e101     BNZ       0x13c6                                                                                          
0013c4   d7d3     BRA       0x136c                                                                                          
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                #endif                                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
0013c8   0e11     MOVLW     0x11           }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
0013ca   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0013cc   e202     BC        0x13d2                                                                                          
0013ce   6ae1     CLRF      0xe1,0x0                                                                                        
0013d0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013d2   6ee1     MOVWF     0xe1,0x0                                                                                        
0013d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013d6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0013d8   ffd9                                                                                                               
0013da   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma interrupt high_isr                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
0013dc   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
0013de   ffe4                                                                                                               
0013e0   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0013e2   ffda                                                                                                               
0013e4   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
0013e6   ffe4                                                                                                               
0013e8   cfea     MOVFF     0xfea,0xfe4                                                                                     
0013ea   ffe4                                                                                                               
0013ec   cff6     MOVFF     0xff6,0xfe4                                                                                     
0013ee   ffe4                                                                                                               
0013f0   cff7     MOVFF     0xff7,0xfe4                                                                                     
0013f2   ffe4                                                                                                               
0013f4   cff5     MOVFF     0xff5,0xfe4                                                                                     
0013f6   ffe4                                                                                                               
0013f8   cff3     MOVFF     0xff3,0xfe4                                                                                     
0013fa   ffe4                                                                                                               
0013fc   cff4     MOVFF     0xff4,0xfe4                                                                                     
0013fe   ffe4                                                                                                               
001400   cffa     MOVFF     0xffa,0xfe4                                                                                     
001402   ffe4                                                                                                               
001404   ee00     LFSR      0x0,0x0                                                                                         
001406   f000                                                                                                               
001408   0e14     MOVLW     0x14                                                                                            
00140a   04e8     DECF      0xe8,0x0,0x0                                                                                    
00140c   e303     BNC       0x1414                                                                                          
00140e   cfee     MOVFF     0xfee,0xfe4                                                                                     
001410   ffe4                                                                                                               
001412   d7fb     BRA       0x140a                                                                                          
001414   ee00     LFSR      0x0,0x14                                                                                        
001416   f014                                                                                                               
001418   0e0e     MOVLW     0xe                                                                                             
00141a   04e8     DECF      0xe8,0x0,0x0                                                                                    
00141c   e303     BNC       0x1424                                                                                          
00141e   cfee     MOVFF     0xfee,0xfe4                                                                                     
001420   ffe4                                                                                                               
001422   d7fb     BRA       0x141a                                                                                          
001424   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001426   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
001428   ec7e     CALL      0x16fc,0x0          canISR();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
00142a   f00b                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
00142c   ec20     CALL      0x2040,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
00142e   f010                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001430   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001432   ee00     LFSR      0x0,0x21                                                                                        
001434   f021                                                                                                               
001436   0e0e     MOVLW     0xe                                                                                             
001438   04e8     DECF      0xe8,0x0,0x0                                                                                    
00143a   e303     BNC       0x1442                                                                                          
00143c   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00143e   ffed                                                                                                               
001440   d7fb     BRA       0x1438                                                                                          
001442   ee00     LFSR      0x0,0x13                                                                                        
001444   f013                                                                                                               
001446   0e14     MOVLW     0x14                                                                                            
001448   04e8     DECF      0xe8,0x0,0x0                                                                                    
00144a   e303     BNC       0x1452                                                                                          
00144c   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00144e   ffed                                                                                                               
001450   d7fb     BRA       0x1448                                                                                          
001452   cfe5     MOVFF     0xfe5,0xffa                                                                                     
001454   fffa                                                                                                               
001456   cfe5     MOVFF     0xfe5,0xff4                                                                                     
001458   fff4                                                                                                               
00145a   cfe5     MOVFF     0xfe5,0xff3                                                                                     
00145c   fff3                                                                                                               
00145e   cfe5     MOVFF     0xfe5,0xff5                                                                                     
001460   fff5                                                                                                               
001462   cfe5     MOVFF     0xfe5,0xff7                                                                                     
001464   fff7                                                                                                               
001466   cfe5     MOVFF     0xfe5,0xff6                                                                                     
001468   fff6                                                                                                               
00146a   cfe5     MOVFF     0xfe5,0xfea                                                                                     
00146c   ffea                                                                                                               
00146e   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
001470   ffe9                                                                                                               
001472   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001474   ffda                                                                                                               
001476   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma interrupt low_isr                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
001478   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
00147a   ffe4                                                                                                               
00147c   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00147e   ffda                                                                                                               
001480   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
001482   ffe4                                                                                                               
001484   cfea     MOVFF     0xfea,0xfe4                                                                                     
001486   ffe4                                                                                                               
001488   cff6     MOVFF     0xff6,0xfe4                                                                                     
00148a   ffe4                                                                                                               
00148c   cff7     MOVFF     0xff7,0xfe4                                                                                     
00148e   ffe4                                                                                                               
001490   cff5     MOVFF     0xff5,0xfe4                                                                                     
001492   ffe4                                                                                                               
001494   cff3     MOVFF     0xff3,0xfe4                                                                                     
001496   ffe4                                                                                                               
001498   cff4     MOVFF     0xff4,0xfe4                                                                                     
00149a   ffe4                                                                                                               
00149c   cffa     MOVFF     0xffa,0xfe4                                                                                     
00149e   ffe4                                                                                                               
0014a0   ee00     LFSR      0x0,0x0                                                                                         
0014a2   f000                                                                                                               
0014a4   0e14     MOVLW     0x14                                                                                            
0014a6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0014a8   e303     BNC       0x14b0                                                                                          
0014aa   cfee     MOVFF     0xfee,0xfe4                                                                                     
0014ac   ffe4                                                                                                               
0014ae   d7fb     BRA       0x14a6                                                                                          
0014b0   ee00     LFSR      0x0,0x14                                                                                        
0014b2   f014                                                                                                               
0014b4   0e0e     MOVLW     0xe                                                                                             
0014b6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0014b8   e303     BNC       0x14c0                                                                                          
0014ba   cfee     MOVFF     0xfee,0xfe4                                                                                     
0014bc   ffe4                                                                                                               
0014be   d7fb     BRA       0x14b6                                                                                          
0014c0   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
0014c2   ec53     CALL      0x1aa6,0x0          adcISR();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0014c4   f00d                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
0014c6   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
0014c8   ee00     LFSR      0x0,0x21                                                                                        
0014ca   f021                                                                                                               
0014cc   0e0e     MOVLW     0xe                                                                                             
0014ce   04e8     DECF      0xe8,0x0,0x0                                                                                    
0014d0   e303     BNC       0x14d8                                                                                          
0014d2   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0014d4   ffed                                                                                                               
0014d6   d7fb     BRA       0x14ce                                                                                          
0014d8   ee00     LFSR      0x0,0x13                                                                                        
0014da   f013                                                                                                               
0014dc   0e14     MOVLW     0x14                                                                                            
0014de   04e8     DECF      0xe8,0x0,0x0                                                                                    
0014e0   e303     BNC       0x14e8                                                                                          
0014e2   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0014e4   ffed                                                                                                               
0014e6   d7fb     BRA       0x14de                                                                                          
0014e8   cfe5     MOVFF     0xfe5,0xffa                                                                                     
0014ea   fffa                                                                                                               
0014ec   cfe5     MOVFF     0xfe5,0xff4                                                                                     
0014ee   fff4                                                                                                               
0014f0   cfe5     MOVFF     0xfe5,0xff3                                                                                     
0014f2   fff3                                                                                                               
0014f4   cfe5     MOVFF     0xfe5,0xff5                                                                                     
0014f6   fff5                                                                                                               
0014f8   cfe5     MOVFF     0xfe5,0xff7                                                                                     
0014fa   fff7                                                                                                               
0014fc   cfe5     MOVFF     0xfe5,0xff6                                                                                     
0014fe   fff6                                                                                                               
001500   cfe5     MOVFF     0xfe5,0xfea                                                                                     
001502   ffea                                                                                                               
001504   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
001506   ffe9                                                                                                               
001508   cfe5     MOVFF     0xfe5,0xfda                                                                                     
00150a   ffda                                                                                                               
00150c   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
00150e   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001510   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
001512   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
001514   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001516   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Function: canParse                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Input:  Received can message                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
001518   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00151a   ffe6                                                                                                               
00151c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00151e   ffd9                                                                                                               
001520   0e0f     MOVLW     0xf                                                                                             
001522   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001524   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001526   0ef0     MOVLW     0xf0            switch(cm.funct)                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001528   50db     MOVF      0xdb,0x0,0x0                                                                                    
00152a   e001     BZ        0x152e                                                                                          
00152c   d0b2     BRA       0x1692                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                case FUNCT_BOOTLOADER:                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
00152e   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\canTemp\Source\Main.c
001530   50db     MOVF      0xdb,0x0,0x0                                                                                    
001532   0100     MOVLB     0x0                                                                                             
001534   5d62     SUBWF     0x62,0x0,0x1                                                                                    
001536   e001     BZ        0x153a                                                                                          
001538   d0ab     BRA       0x1690                                                                                          
00153a   0efc     MOVLW     0xfc                                                                                            
00153c   cfdb     MOVFF     0xfdb,0x16                                                                                      
00153e   f016                                                                                                               
001540   c016     MOVFF     0x16,0x17                                                                                       
001542   f017                                                                                                               
001544   6a16     CLRF      0x16,0x0                                                                                        
001546   0efb     MOVLW     0xfb                                                                                            
001548   50db     MOVF      0xdb,0x0,0x0                                                                                    
00154a   0100     MOVLB     0x0                                                                                             
00154c   2416     ADDWF     0x16,0x0,0x0                                                                                    
00154e   6e14     MOVWF     0x14,0x0                                                                                        
001550   0e00     MOVLW     0x0                                                                                             
001552   2017     ADDWFC    0x17,0x0,0x0                                                                                    
001554   6e15     MOVWF     0x15,0x0                                                                                        
001556   0100     MOVLB     0x0                                                                                             
001558   5160     MOVF      0x60,0x0,0x1                                                                                    
00155a   1814     XORWF     0x14,0x0,0x0                                                                                    
00155c   e102     BNZ       0x1562                                                                                          
00155e   5161     MOVF      0x61,0x0,0x1                                                                                    
001560   1815     XORWF     0x15,0x0,0x0                                                                                    
001562   e001     BZ        0x1566                                                                                          
001564   d095     BRA       0x1690                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
001566   0ef1     MOVLW     0xf1                        switch(cm.funcc)                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
001568   cfdb     MOVFF     0xfdb,0x8                                                                                       
00156a   f008                                                                                                               
00156c   0ef2     MOVLW     0xf2                                                                                            
00156e   cfdb     MOVFF     0xfdb,0x9                                                                                       
001570   f009                                                                                                               
001572   0e06     MOVLW     0x6                                                                                             
001574   1808     XORWF     0x8,0x0,0x0                                                                                     
001576   e101     BNZ       0x157a                                                                                          
001578   5009     MOVF      0x9,0x0,0x0                                                                                     
00157a   e008     BZ        0x158c                                                                                          
00157c   0e01     MOVLW     0x1                                                                                             
00157e   1808     XORWF     0x8,0x0,0x0                                                                                     
001580   e101     BNZ       0x1584                                                                                          
001582   5009     MOVF      0x9,0x0,0x0                                                                                     
001584   e001     BZ        0x1588                                                                                          
001586   d084     BRA       0x1690                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001588   00ff     RESET                                     case FUNCC_BOOT_INIT: Reset(); break; //User whant to program me, reset me. F:\MCP\projects\CAN\canTemp\Source\Main.c
00158a   d082     BRA       0x1690                                                                                          
                                                            case FUNCC_BOOT_SET_ID:                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00158c   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\canTemp\Source\Main.c
00158e   cfdb     MOVFF     0xfdb,0x14                                                                                      
001590   f014                                                                                                               
001592   c014     MOVFF     0x14,0x15                                                                                       
001594   f015                                                                                                               
001596   6a14     CLRF      0x14,0x0                                                                                        
001598   0ef7     MOVLW     0xf7                                                                                            
00159a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00159c   0100     MOVLB     0x0                                                                                             
00159e   2414     ADDWF     0x14,0x0,0x0                                                                                    
0015a0   6f60     MOVWF     0x60,0x1                                                                                        
0015a2   0e00     MOVLW     0x0                                                                                             
0015a4   2015     ADDWFC    0x15,0x0,0x0                                                                                    
0015a6   6f61     MOVWF     0x61,0x1                                                                                        
0015a8   0ef9     MOVLW     0xf9                                MY_NID=cm.data[BOOT_DATA_NEW_NID_INDEX];                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
0015aa   cfdb     MOVFF     0xfdb,0x62                                                                                      
0015ac   f062                                                                                                               
0015ae   0ef8     MOVLW     0xf8                                EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX]);                F:\MCP\projects\CAN\canTemp\Source\Main.c
0015b0   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0015b2   ffe6                                                                                                               
0015b4   0e01     MOVLW     0x1                                                                                             
0015b6   6ee6     MOVWF     0xe6,0x0                                                                                        
0015b8   6ae6     CLRF      0xe6,0x0                                                                                        
0015ba   ecdd     CALL      0x1dba,0x0                                                                                      
0015bc   f00e                                                                                                               
0015be   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015c0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015c2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015c4   0ef7     MOVLW     0xf7                                EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]);                 F:\MCP\projects\CAN\canTemp\Source\Main.c
0015c6   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0015c8   ffe6                                                                                                               
0015ca   0e02     MOVLW     0x2                                                                                             
0015cc   6ee6     MOVWF     0xe6,0x0                                                                                        
0015ce   6ae6     CLRF      0xe6,0x0                                                                                        
0015d0   ecdd     CALL      0x1dba,0x0                                                                                      
0015d2   f00e                                                                                                               
0015d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015d6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015d8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015da   0ef9     MOVLW     0xf9                                EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID_INDEX]);                    F:\MCP\projects\CAN\canTemp\Source\Main.c
0015dc   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0015de   ffe6                                                                                                               
0015e0   0e03     MOVLW     0x3                                                                                             
0015e2   6ee6     MOVWF     0xe6,0x0                                                                                        
0015e4   6ae6     CLRF      0xe6,0x0                                                                                        
0015e6   ecdd     CALL      0x1dba,0x0                                                                                      
0015e8   f00e                                                                                                               
0015ea   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015ec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015ee   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0015f0   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
0015f2   6ee6     MOVWF     0xe6,0x0                                                                                        
0015f4   0e00     MOVLW     0x0                                                                                             
0015f6   6ee6     MOVWF     0xe6,0x0                                                                                        
0015f8   6ae6     CLRF      0xe6,0x0                                                                                        
0015fa   ecdd     CALL      0x1dba,0x0                                                                                      
0015fc   f00e                                                                                                               
0015fe   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001600   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001602   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
001604   6adf     CLRF      0xdf,0x0                            outCm.funct                     = FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
001606   0e04     MOVLW     0x4                                 outCm.funcc                     = FUNCC_BOOT_ACK;                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
001608   6ef3     MOVWF     0xf3,0x0                                                                                        
00160a   0e01     MOVLW     0x1                                                                                             
00160c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00160e   ffdb                                                                                                               
001610   0e02     MOVLW     0x2                                                                                             
001612   6adb     CLRF      0xdb,0x0                                                                                        
001614   0e03     MOVLW     0x3                                 outCm.nid                       = MY_NID;                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
001616   c062     MOVFF     0x62,0xfdb                                                                                      
001618   ffdb                                                                                                               
00161a   0e04     MOVLW     0x4                                 outCm.sid                       = MY_ID;                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
00161c   c060     MOVFF     0x60,0xfdb                                                                                      
00161e   ffdb                                                                                                               
001620   0e05     MOVLW     0x5                                                                                             
001622   c061     MOVFF     0x61,0xfdb                                                                                      
001624   ffdb                                                                                                               
001626   0e08     MOVLW     0x8                                 outCm.data_length               = 8;                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
001628   6ef3     MOVWF     0xf3,0x0                                                                                        
00162a   0e06     MOVLW     0x6                                                                                             
00162c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00162e   ffdb                                                                                                               
001630   0e0b     MOVLW     0xb                                 outCm.data[BOOT_DATA_ERR_INDEX] = ACK_ERR_NO_ERROR;                        F:\MCP\projects\CAN\canTemp\Source\Main.c
001632   6adb     CLRF      0xdb,0x0                                                                                        
001634   0e02     MOVLW     0x2                                 while(!canSendMessage(outCm,PRIO_HIGH));                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
001636   6ee6     MOVWF     0xe6,0x0                                                                                        
001638   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
00163a   ffe9                                                                                                               
00163c   cfda     MOVFF     0xfda,0xfea                                                                                     
00163e   ffea                                                                                                               
001640   cfee     MOVFF     0xfee,0xfe6                                                                                     
001642   ffe6                                                                                                               
001644   cfee     MOVFF     0xfee,0xfe6                                                                                     
001646   ffe6                                                                                                               
001648   cfee     MOVFF     0xfee,0xfe6                                                                                     
00164a   ffe6                                                                                                               
00164c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00164e   ffe6                                                                                                               
001650   cfee     MOVFF     0xfee,0xfe6                                                                                     
001652   ffe6                                                                                                               
001654   cfee     MOVFF     0xfee,0xfe6                                                                                     
001656   ffe6                                                                                                               
001658   cfee     MOVFF     0xfee,0xfe6                                                                                     
00165a   ffe6                                                                                                               
00165c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00165e   ffe6                                                                                                               
001660   cfee     MOVFF     0xfee,0xfe6                                                                                     
001662   ffe6                                                                                                               
001664   cfee     MOVFF     0xfee,0xfe6                                                                                     
001666   ffe6                                                                                                               
001668   cfee     MOVFF     0xfee,0xfe6                                                                                     
00166a   ffe6                                                                                                               
00166c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00166e   ffe6                                                                                                               
001670   cfee     MOVFF     0xfee,0xfe6                                                                                     
001672   ffe6                                                                                                               
001674   cfee     MOVFF     0xfee,0xfe6                                                                                     
001676   ffe6                                                                                                               
001678   cfee     MOVFF     0xfee,0xfe6                                                                                     
00167a   ffe6                                                                                                               
00167c   ec69     CALL      0x18d2,0x0                                                                                      
00167e   f00c                                                                                                               
001680   6e14     MOVWF     0x14,0x0                                                                                        
001682   0e10     MOVLW     0x10                                                                                            
001684   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001686   5014     MOVF      0x14,0x0,0x0                                                                                    
001688   0900     IORLW     0x0                                                                                             
00168a   e101     BNZ       0x168e                                                                                          
00168c   d7d3     BRA       0x1634                                                                                          
00168e   d000     BRA       0x1690                          break;                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    }                                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001690   d000     BRA       0x1692              break;                                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
001692   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001694   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001696   e202     BC        0x169c                                                                                          
001698   6ae1     CLRF      0xe1,0x0                                                                                        
00169a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00169c   6ee1     MOVWF     0xe1,0x0                                                                                        
00169e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0016a0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0016a2   ffd9                                                                                                               
0016a4   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           // Below are mandantory when using bootloader                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           // define DEBUG_MODE to use without bootloader.                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #ifndef DEBUG_MODE                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           extern void _startup (void);                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code _RESET_INTERRUPT_VECTOR = 0x001000                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           void _reset (void)                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001000   ef44     GOTO      0x2088             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
001002   f010                                                                                                               
001004   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code _HIGH_INTERRUPT_VECTOR = 0x001008                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           void _high_ISR (void)                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001008   efee     GOTO      0x13dc          _asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
00100a   f009                                                                                                               
00100c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code _LOW_INTERRUPT_VECTOR = 0x001018                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           void _low_ISR (void)                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001018   ef3c     GOTO      0x1478             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00101a   f00a                                                                                                               
00101c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canTemp\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-14 20:15:02 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * By:           $LastChangedBy: johboh $                                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Revision:     $Revision: 94 $                                                    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
001d70   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
001d72   ffe6                                                                                                               
001d74   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001d76   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001d78   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001d7a   cfdb     MOVFF     0xfdb,0x14                                                                                      
001d7c   f014                                                                                                               
001d7e   0efe     MOVLW     0xfe                                                                                            
001d80   cfdb     MOVFF     0xfdb,0x15                                                                                      
001d82   f015                                                                                                               
001d84   c015     MOVFF     0x15,0x14                                                                                       
001d86   f014                                                                                                               
001d88   6a15     CLRF      0x15,0x0                                                                                        
001d8a   5014     MOVF      0x14,0x0,0x0                                                                                    
001d8c   6eaa     MOVWF     0xaa,0x0                                                                                        
001d8e   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001d90   6ee7     MOVWF     0xe7,0x0                                                                                        
001d92   0efd     MOVLW     0xfd                                                                                            
001d94   cfdb     MOVFF     0xfdb,0x14                                                                                      
001d96   f014                                                                                                               
001d98   0efe     MOVLW     0xfe                                                                                            
001d9a   cfdb     MOVFF     0xfdb,0x15                                                                                      
001d9c   f015                                                                                                               
001d9e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001da0   1614     ANDWF     0x14,0x1,0x0                                                                                    
001da2   6a15     CLRF      0x15,0x0                                                                                        
001da4   5014     MOVF      0x14,0x0,0x0                                                                                    
001da6   6ea9     MOVWF     0xa9,0x0                                                                                        
001da8   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001daa   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001dac   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001dae   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
001db0   d000     BRA       0x1db2                                                                                          
001db2   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001db4   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001db6   ffd9                                                                                                               
001db8   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
001dba   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
001dbc   ffe6                                                                                                               
001dbe   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001dc0   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001dc2   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001dc4   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001dc6   cfdb     MOVFF     0xfdb,0x14                                                                                      
001dc8   f014                                                                                                               
001dca   0efe     MOVLW     0xfe                                                                                            
001dcc   cfdb     MOVFF     0xfdb,0x15                                                                                      
001dce   f015                                                                                                               
001dd0   c015     MOVFF     0x15,0x14                                                                                       
001dd2   f014                                                                                                               
001dd4   6a15     CLRF      0x15,0x0                                                                                        
001dd6   5014     MOVF      0x14,0x0,0x0                                                                                    
001dd8   6eaa     MOVWF     0xaa,0x0                                                                                        
001dda   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001ddc   6ee7     MOVWF     0xe7,0x0                                                                                        
001dde   0efd     MOVLW     0xfd                                                                                            
001de0   cfdb     MOVFF     0xfdb,0x14                                                                                      
001de2   f014                                                                                                               
001de4   0efe     MOVLW     0xfe                                                                                            
001de6   cfdb     MOVFF     0xfdb,0x15                                                                                      
001de8   f015                                                                                                               
001dea   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001dec   1614     ANDWF     0x14,0x1,0x0                                                                                    
001dee   6a15     CLRF      0x15,0x0                                                                                        
001df0   5014     MOVF      0x14,0x0,0x0                                                                                    
001df2   6ea9     MOVWF     0xa9,0x0                                                                                        
001df4   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001df6   50db     MOVF      0xdb,0x0,0x0                                                                                    
001df8   6ea8     MOVWF     0xa8,0x0                                                                                        
001dfa   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001dfc   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001dfe   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001e00   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001e02   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001e04   6ea7     MOVWF     0xa7,0x0                                                                                        
001e06   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001e08   6ea7     MOVWF     0xa7,0x0                                                                                        
001e0a   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001e0c   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001e0e   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
001e10   d7fe     BRA       0x1e0e                                                                                          
001e12   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001e14   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001e16   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001e18   ffd9                                                                                                               
001e1a   0012     RETURN    0x0                                                                                             
                                           /*********************************************************************           F:\MCP\projects\CAN\Include\adc.c
                                            *                                                                               F:\MCP\projects\CAN\Include\adc.c
                                            *   Functions for reading ADC                                                   F:\MCP\projects\CAN\Include\adc.c
                                            *                                                                               F:\MCP\projects\CAN\Include\adc.c
                                            *********************************************************************           F:\MCP\projects\CAN\Include\adc.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/EEAccess.c $ F:\MCP\projects\CAN\Include\adc.c
                                            * Last changed: $LastChangedDate: 2006-11-14 20:15:02 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\Include\adc.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\Include\adc.c
                                            * Revision:     $Revision: 94 $                                                    F:\MCP\projects\CAN\Include\adc.c
                                            ********************************************************************/           F:\MCP\projects\CAN\Include\adc.c
                                           #include <adc.h>                                                                 F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           #ifdef USE_ADC                                                                   F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           static unsigned long TEMP_VALUE;                                                 F:\MCP\projects\CAN\Include\adc.c
                                           static unsigned int TEMP_COUNT;                                                  F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           BOOL TEMP_DONE = FALSE;                                                          F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcInit                                                              F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  True or false to use external voltage reference or not. portCfg is portconfiguration. F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
001a72   cfd9     MOVFF     0xfd9,0xfe6    void adcInit(BOOL useExtRef,BYTE portCfg)                                        F:\MCP\projects\CAN\Include\adc.c
001a74   ffe6                                                                                                               
001a76   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a78   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
                                            // Setup ADC to use low interrupt prior and external ref or not.                F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001a7a   0efd     MOVLW     0xfd            ADCON1 = 0b00000000 | ((1 & useExtRef)<<4) | (0xF & portCfg);                   F:\MCP\projects\CAN\Include\adc.c
001a7c   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a7e   0b0f     ANDLW     0xf                                                                                             
001a80   6e14     MOVWF     0x14,0x0                                                                                        
001a82   0efe     MOVLW     0xfe                                                                                            
001a84   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a86   0b01     ANDLW     0x1                                                                                             
001a88   0d10     MULLW     0x10                                                                                            
001a8a   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001a8c   1014     IORWF     0x14,0x0,0x0                                                                                    
001a8e   6ec1     MOVWF     0xc1,0x0                                                                                        
001a90   6ac2     CLRF      0xc2,0x0        ADCON0 = 0b00000000;                                                            F:\MCP\projects\CAN\Include\adc.c
001a92   0eab     MOVLW     0xab            ADCON2 = 0b10101011;                                                            F:\MCP\projects\CAN\Include\adc.c
001a94   6ec0     MOVWF     0xc0,0x0                                                                                        
                                            //useExtRef                                                                     F:\MCP\projects\CAN\Include\adc.c
001a96   80c2     BSF       0xc2,0x0,0x0    ADCON0bits.ADON = 1;                                                            F:\MCP\projects\CAN\Include\adc.c
001a98   9c9e     BCF       0x9e,0x6,0x0    PIR1bits.ADIF = 0;                                                              F:\MCP\projects\CAN\Include\adc.c
001a9a   8c9d     BSF       0x9d,0x6,0x0    PIE1bits.ADIE = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
001a9c   9c9f     BCF       0x9f,0x6,0x0    IPR1bits.ADIP = 0; // Low priority                                              F:\MCP\projects\CAN\Include\adc.c
001a9e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
001aa0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001aa2   ffd9                                                                                                               
001aa4   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcISR                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  ADC interrupt rotune. Need to be called from LOW ISR.                   F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           void adcISR(void)                                                                F:\MCP\projects\CAN\Include\adc.c
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
001aa6   509d     MOVF      0x9d,0x0,0x0    if (PIE1bits.ADIE && PIR1bits.ADIF)                                             F:\MCP\projects\CAN\Include\adc.c
001aa8   0b40     ANDLW     0x40                                                                                            
001aaa   e050     BZ        0x1b4c                                                                                          
001aac   509e     MOVF      0x9e,0x0,0x0                                                                                    
001aae   0b40     ANDLW     0x40                                                                                            
001ab0   e04d     BZ        0x1b4c                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\Include\adc.c
001ab2   9c9e     BCF       0x9e,0x6,0x0        PIR1bits.ADIF = 0;                                                             F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001ab4   50c4     MOVF      0xc4,0x0,0x0        TEMP_VALUE+=((int)ADRESH)<<8 | ADRESL;                                         F:\MCP\projects\CAN\Include\adc.c
001ab6   6e18     MOVWF     0x18,0x0                                                                                        
001ab8   c018     MOVFF     0x18,0x19                                                                                       
001aba   f019                                                                                                               
001abc   6a18     CLRF      0x18,0x0                                                                                        
001abe   50c3     MOVF      0xc3,0x0,0x0                                                                                    
001ac0   0100     MOVLB     0x0                                                                                             
001ac2   1018     IORWF     0x18,0x0,0x0                                                                                    
001ac4   6e14     MOVWF     0x14,0x0                                                                                        
001ac6   c019     MOVFF     0x19,0x15                                                                                       
001ac8   f015                                                                                                               
001aca   6a16     CLRF      0x16,0x0                                                                                        
001acc   6a17     CLRF      0x17,0x0                                                                                        
001ace   ae15     BTFSS     0x15,0x7,0x0                                                                                    
001ad0   d002     BRA       0x1ad6                                                                                          
001ad2   6816     SETF      0x16,0x0                                                                                        
001ad4   6817     SETF      0x17,0x0                                                                                        
001ad6   5014     MOVF      0x14,0x0,0x0                                                                                    
001ad8   0100     MOVLB     0x0                                                                                             
001ada   277e     ADDWF     0x7e,0x1,0x1                                                                                    
001adc   5015     MOVF      0x15,0x0,0x0                                                                                    
001ade   237f     ADDWFC    0x7f,0x1,0x1                                                                                    
001ae0   5016     MOVF      0x16,0x0,0x0                                                                                    
001ae2   2380     ADDWFC    0x80,0x1,0x1                                                                                    
001ae4   5017     MOVF      0x17,0x0,0x0                                                                                    
001ae6   2381     ADDWFC    0x81,0x1,0x1                                                                                    
001ae8   2b82     INCF      0x82,0x1,0x1        TEMP_COUNT++;                                                                  F:\MCP\projects\CAN\Include\adc.c
001aea   0e00     MOVLW     0x0                                                                                             
001aec   2383     ADDWFC    0x83,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001aee   0e32     MOVLW     0x32                if (TEMP_COUNT>=TEMP_SAMPLES)                                                  F:\MCP\projects\CAN\Include\adc.c
001af0   5d82     SUBWF     0x82,0x0,0x1                                                                                    
001af2   0e00     MOVLW     0x0                                                                                             
001af4   5983     SUBWFB    0x83,0x0,0x1                                                                                    
001af6   e324     BNC       0x1b40                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
001af8   c082     MOVFF     0x82,0x14               TEMP_VALUE = TEMP_VALUE/TEMP_COUNT;                                           F:\MCP\projects\CAN\Include\adc.c
001afa   f014                                                                                                               
001afc   c083     MOVFF     0x83,0x15                                                                                       
001afe   f015                                                                                                               
001b00   6a16     CLRF      0x16,0x0                                                                                        
001b02   6a17     CLRF      0x17,0x0                                                                                        
001b04   c07e     MOVFF     0x7e,0x6                                                                                        
001b06   f006                                                                                                               
001b08   c07f     MOVFF     0x7f,0x7                                                                                        
001b0a   f007                                                                                                               
001b0c   c080     MOVFF     0x80,0x8                                                                                        
001b0e   f008                                                                                                               
001b10   c081     MOVFF     0x81,0x9                                                                                        
001b12   f009                                                                                                               
001b14   c014     MOVFF     0x14,0xb                                                                                        
001b16   f00b                                                                                                               
001b18   c015     MOVFF     0x15,0xc                                                                                        
001b1a   f00c                                                                                                               
001b1c   c016     MOVFF     0x16,0xd                                                                                        
001b1e   f00d                                                                                                               
001b20   c017     MOVFF     0x17,0xe                                                                                        
001b22   f00e                                                                                                               
001b24   ece8     CALL      0x1fd0,0x0                                                                                      
001b26   f00f                                                                                                               
001b28   c006     MOVFF     0x6,0x7e                                                                                        
001b2a   f07e                                                                                                               
001b2c   c007     MOVFF     0x7,0x7f                                                                                        
001b2e   f07f                                                                                                               
001b30   c008     MOVFF     0x8,0x80                                                                                        
001b32   f080                                                                                                               
001b34   c009     MOVFF     0x9,0x81                                                                                        
001b36   f081                                                                                                               
001b38   0100     MOVLB     0x0                     TEMP_DONE = TRUE;                                                             F:\MCP\projects\CAN\Include\adc.c
001b3a   0e01     MOVLW     0x1                                                                                             
001b3c   6f88     MOVWF     0x88,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\Include\adc.c
001b3e   d006     BRA       0x1b4c              else                                                                           F:\MCP\projects\CAN\Include\adc.c
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
001b40   0e64     MOVLW     0x64                    Delay10TCYx(100);                                                             F:\MCP\projects\CAN\Include\adc.c
001b42   6ee6     MOVWF     0xe6,0x0                                                                                        
001b44   ec50     CALL      0x20a0,0x0                                                                                      
001b46   f010                                                                                                               
001b48   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001b4a   82c2     BSF       0xc2,0x1,0x0            ADCON0bits.GO = 1;                                                            F:\MCP\projects\CAN\Include\adc.c
                                                }                                                                              F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                            }                                                                               F:\MCP\projects\CAN\Include\adc.c
001b4c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcConvert                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  Channel to start convert. Between 0 and 15                              F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
001b4e   cfd9     MOVFF     0xfd9,0xfe6    BOOL adcConvert(BYTE channel)                                                    F:\MCP\projects\CAN\Include\adc.c
001b50   ffe6                                                                                                               
001b52   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001b54   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
001b56   0efe     MOVLW     0xfe            if (channel>15) return FALSE;                                                   F:\MCP\projects\CAN\Include\adc.c
001b58   50db     MOVF      0xdb,0x0,0x0                                                                                    
001b5a   080f     SUBLW     0xf                                                                                             
001b5c   e202     BC        0x1b62                                                                                          
001b5e   0e00     MOVLW     0x0                                                                                             
001b60   d015     BRA       0x1b8c                                                                                          
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b62   0100     MOVLB     0x0             TEMP_VALUE = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
001b64   6b7e     CLRF      0x7e,0x1                                                                                        
001b66   6b7f     CLRF      0x7f,0x1                                                                                        
001b68   6b80     CLRF      0x80,0x1                                                                                        
001b6a   6b81     CLRF      0x81,0x1                                                                                        
001b6c   6b82     CLRF      0x82,0x1        TEMP_COUNT = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
001b6e   6b83     CLRF      0x83,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b70   0ec3     MOVLW     0xc3            ADCON0 = (channel << 2)  | (ADCON0 & 0b11000011);                               F:\MCP\projects\CAN\Include\adc.c
001b72   14c2     ANDWF     0xc2,0x0,0x0                                                                                    
001b74   6e14     MOVWF     0x14,0x0                                                                                        
001b76   0efe     MOVLW     0xfe                                                                                            
001b78   50db     MOVF      0xdb,0x0,0x0                                                                                    
001b7a   0d04     MULLW     0x4                                                                                             
001b7c   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001b7e   1014     IORWF     0x14,0x0,0x0                                                                                    
001b80   6ec2     MOVWF     0xc2,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b82   0100     MOVLB     0x0             TEMP_DONE = FALSE;                                                              F:\MCP\projects\CAN\Include\adc.c
001b84   6b88     CLRF      0x88,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b86   82c2     BSF       0xc2,0x1,0x0    ADCON0bits.GO = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b88   0e01     MOVLW     0x1             return TRUE;                                                                    F:\MCP\projects\CAN\Include\adc.c
001b8a   d000     BRA       0x1b8c                                                                                          
001b8c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
001b8e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001b90   ffd9                                                                                                               
001b92   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcRead                                                              F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: Raw read data.                                                         F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           int adcRead(void)                                                                F:\MCP\projects\CAN\Include\adc.c
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
001b94   0100     MOVLB     0x0             TEMP_DONE=FALSE;                                                                F:\MCP\projects\CAN\Include\adc.c
001b96   6b88     CLRF      0x88,0x1                                                                                        
001b98   c07e     MOVFF     0x7e,0xff3      return TEMP_VALUE;                                                              F:\MCP\projects\CAN\Include\adc.c
001b9a   fff3                                                                                                               
001b9c   c07f     MOVFF     0x7f,0xff4                                                                                      
001b9e   fff4                                                                                                               
001ba0   d000     BRA       0x1ba2                                                                                          
001ba2   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: temperatureRead                                                      F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: XX.Y C, where tenth is XX and decimal is Y                             F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
001ba4   cfd9     MOVFF     0xfd9,0xfe6    void temperatureRead(signed char *tenth, BYTE *decimal)                          F:\MCP\projects\CAN\Include\adc.c
001ba6   ffe6                                                                                                               
001ba8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001baa   ffd9                                                                                                               
001bac   0e08     MOVLW     0x8                                                                                             
001bae   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
                                            // assuming 2.5V ref and TC47                                                   F:\MCP\projects\CAN\Include\adc.c
001bb0   6ade     CLRF      0xde,0x0        signed int i = 0, v11,v01,tfloat;                                               F:\MCP\projects\CAN\Include\adc.c
001bb2   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001bb4   c07e     MOVFF     0x7e,0x18       tfloat =((TEMP_VALUE * 39)>>4) - 499;                                           F:\MCP\projects\CAN\Include\adc.c
001bb6   f018                                                                                                               
001bb8   c07f     MOVFF     0x7f,0x19                                                                                       
001bba   f019                                                                                                               
001bbc   c080     MOVFF     0x80,0x1a                                                                                       
001bbe   f01a                                                                                                               
001bc0   c081     MOVFF     0x81,0x1b                                                                                       
001bc2   f01b                                                                                                               
001bc4   0e27     MOVLW     0x27                                                                                            
001bc6   6e0b     MOVWF     0xb,0x0                                                                                         
001bc8   6a0c     CLRF      0xc,0x0                                                                                         
001bca   6a0d     CLRF      0xd,0x0                                                                                         
001bcc   6a0e     CLRF      0xe,0x0                                                                                         
001bce   c018     MOVFF     0x18,0x6                                                                                        
001bd0   f006                                                                                                               
001bd2   c019     MOVFF     0x19,0x7                                                                                        
001bd4   f007                                                                                                               
001bd6   c01a     MOVFF     0x1a,0x8                                                                                        
001bd8   f008                                                                                                               
001bda   c01b     MOVFF     0x1b,0x9                                                                                        
001bdc   f009                                                                                                               
001bde   ecb0     CALL      0x1f60,0x0                                                                                      
001be0   f00f                                                                                                               
001be2   c002     MOVFF     0x2,0x18                                                                                        
001be4   f018                                                                                                               
001be6   c003     MOVFF     0x3,0x19                                                                                        
001be8   f019                                                                                                               
001bea   c004     MOVFF     0x4,0x1a                                                                                        
001bec   f01a                                                                                                               
001bee   c005     MOVFF     0x5,0x1b                                                                                        
001bf0   f01b                                                                                                               
001bf2   0e04     MOVLW     0x4                                                                                             
001bf4   90d8     BCF       0xd8,0x0,0x0                                                                                    
001bf6   321b     RRCF      0x1b,0x1,0x0                                                                                    
001bf8   321a     RRCF      0x1a,0x1,0x0                                                                                    
001bfa   3219     RRCF      0x19,0x1,0x0                                                                                    
001bfc   3218     RRCF      0x18,0x1,0x0                                                                                    
001bfe   06e8     DECF      0xe8,0x1,0x0                                                                                    
001c00   e1f9     BNZ       0x1bf4                                                                                          
001c02   c018     MOVFF     0x18,0x14                                                                                       
001c04   f014                                                                                                               
001c06   c019     MOVFF     0x19,0x15                                                                                       
001c08   f015                                                                                                               
001c0a   c01a     MOVFF     0x1a,0x16                                                                                       
001c0c   f016                                                                                                               
001c0e   c01b     MOVFF     0x1b,0x17                                                                                       
001c10   f017                                                                                                               
001c12   0ef3     MOVLW     0xf3                                                                                            
001c14   5e14     SUBWF     0x14,0x1,0x0                                                                                    
001c16   0e01     MOVLW     0x1                                                                                             
001c18   5a15     SUBWFB    0x15,0x1,0x0                                                                                    
001c1a   0e00     MOVLW     0x0                                                                                             
001c1c   5a16     SUBWFB    0x16,0x1,0x0                                                                                    
001c1e   5a17     SUBWFB    0x17,0x1,0x0                                                                                    
001c20   0e06     MOVLW     0x6                                                                                             
001c22   c014     MOVFF     0x14,0xfdb                                                                                      
001c24   ffdb                                                                                                               
001c26   0e07     MOVLW     0x7                                                                                             
001c28   c015     MOVFF     0x15,0xfdb                                                                                      
001c2a   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001c2c   0e0a     MOVLW     0xa             v11 = tfloat/10;                                                                F:\MCP\projects\CAN\Include\adc.c
001c2e   6e14     MOVWF     0x14,0x0                                                                                        
001c30   6a15     CLRF      0x15,0x0                                                                                        
001c32   0e06     MOVLW     0x6                                                                                             
001c34   cfdb     MOVFF     0xfdb,0x8                                                                                       
001c36   f008                                                                                                               
001c38   0e07     MOVLW     0x7                                                                                             
001c3a   cfdb     MOVFF     0xfdb,0x9                                                                                       
001c3c   f009                                                                                                               
001c3e   c014     MOVFF     0x14,0xd                                                                                        
001c40   f00d                                                                                                               
001c42   c015     MOVFF     0x15,0xe                                                                                        
001c44   f00e                                                                                                               
001c46   ec0e     CALL      0x1e1c,0x0                                                                                      
001c48   f00f                                                                                                               
001c4a   0e02     MOVLW     0x2                                                                                             
001c4c   c008     MOVFF     0x8,0xfdb                                                                                       
001c4e   ffdb                                                                                                               
001c50   0e03     MOVLW     0x3                                                                                             
001c52   c009     MOVFF     0x9,0xfdb                                                                                       
001c54   ffdb                                                                                                               
001c56   0e06     MOVLW     0x6             v01 = tfloat-v11*10;                                                            F:\MCP\projects\CAN\Include\adc.c
001c58   cfdb     MOVFF     0xfdb,0x16                                                                                      
001c5a   f016                                                                                                               
001c5c   0e07     MOVLW     0x7                                                                                             
001c5e   cfdb     MOVFF     0xfdb,0x17                                                                                      
001c60   f017                                                                                                               
001c62   0e0a     MOVLW     0xa                                                                                             
001c64   6e08     MOVWF     0x8,0x0                                                                                         
001c66   6a09     CLRF      0x9,0x0                                                                                         
001c68   0e02     MOVLW     0x2                                                                                             
001c6a   cfdb     MOVFF     0xfdb,0xd                                                                                       
001c6c   f00d                                                                                                               
001c6e   0e03     MOVLW     0x3                                                                                             
001c70   cfdb     MOVFF     0xfdb,0xe                                                                                       
001c72   f00e                                                                                                               
001c74   ec34     CALL      0x1e68,0x0                                                                                      
001c76   f00f                                                                                                               
001c78   5006     MOVF      0x6,0x0,0x0                                                                                     
001c7a   5c16     SUBWF     0x16,0x0,0x0                                                                                    
001c7c   6e14     MOVWF     0x14,0x0                                                                                        
001c7e   5007     MOVF      0x7,0x0,0x0                                                                                     
001c80   5817     SUBWFB    0x17,0x0,0x0                                                                                    
001c82   6e15     MOVWF     0x15,0x0                                                                                        
001c84   0e04     MOVLW     0x4                                                                                             
001c86   c014     MOVFF     0x14,0xfdb                                                                                      
001c88   ffdb                                                                                                               
001c8a   0e05     MOVLW     0x5                                                                                             
001c8c   c015     MOVFF     0x15,0xfdb                                                                                      
001c8e   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001c90   0e04     MOVLW     0x4                  if (v01>=0 && v01<=2) v01 = 0;                                             F:\MCP\projects\CAN\Include\adc.c
001c92   cfdb     MOVFF     0xfdb,0x14                                                                                      
001c94   f014                                                                                                               
001c96   0e05     MOVLW     0x5                                                                                             
001c98   cfdb     MOVFF     0xfdb,0x15                                                                                      
001c9a   f015                                                                                                               
001c9c   0100     MOVLB     0x0                                                                                             
001c9e   0e80     MOVLW     0x80                                                                                            
001ca0   1415     ANDWF     0x15,0x0,0x0                                                                                    
001ca2   e112     BNZ       0x1cc8                                                                                          
001ca4   0e04     MOVLW     0x4                                                                                             
001ca6   cfdb     MOVFF     0xfdb,0x16                                                                                      
001ca8   f016                                                                                                               
001caa   0e05     MOVLW     0x5                                                                                             
001cac   cfdb     MOVFF     0xfdb,0x17                                                                                      
001cae   f017                                                                                                               
001cb0   3417     RLCF      0x17,0x0,0x0                                                                                    
001cb2   e204     BC        0x1cbc                                                                                          
001cb4   5016     MOVF      0x16,0x0,0x0                                                                                    
001cb6   0802     SUBLW     0x2                                                                                             
001cb8   0e00     MOVLW     0x0                                                                                             
001cba   5417     SUBFWB    0x17,0x0,0x0                                                                                    
001cbc   e305     BNC       0x1cc8                                                                                          
001cbe   0e04     MOVLW     0x4                                                                                             
001cc0   6adb     CLRF      0xdb,0x0                                                                                        
001cc2   0e05     MOVLW     0x5                                                                                             
001cc4   6adb     CLRF      0xdb,0x0                                                                                        
001cc6   d02c     BRA       0x1d20          else if (v01>=3 && v01<=7) v01 = 5;                                             F:\MCP\projects\CAN\Include\adc.c
001cc8   0e04     MOVLW     0x4                                                                                             
001cca   cfdb     MOVFF     0xfdb,0x14                                                                                      
001ccc   f014                                                                                                               
001cce   0e05     MOVLW     0x5                                                                                             
001cd0   cfdb     MOVFF     0xfdb,0x15                                                                                      
001cd2   f015                                                                                                               
001cd4   90d8     BCF       0xd8,0x0,0x0                                                                                    
001cd6   5015     MOVF      0x15,0x0,0x0                                                                                    
001cd8   e604     BN        0x1ce2                                                                                          
001cda   0e03     MOVLW     0x3                                                                                             
001cdc   5c14     SUBWF     0x14,0x0,0x0                                                                                    
001cde   0e00     MOVLW     0x0                                                                                             
001ce0   5815     SUBWFB    0x15,0x0,0x0                                                                                    
001ce2   e315     BNC       0x1d0e                                                                                          
001ce4   0e04     MOVLW     0x4                                                                                             
001ce6   cfdb     MOVFF     0xfdb,0x16                                                                                      
001ce8   f016                                                                                                               
001cea   0e05     MOVLW     0x5                                                                                             
001cec   cfdb     MOVFF     0xfdb,0x17                                                                                      
001cee   f017                                                                                                               
001cf0   3417     RLCF      0x17,0x0,0x0                                                                                    
001cf2   e204     BC        0x1cfc                                                                                          
001cf4   5016     MOVF      0x16,0x0,0x0                                                                                    
001cf6   0807     SUBLW     0x7                                                                                             
001cf8   0e00     MOVLW     0x0                                                                                             
001cfa   5417     SUBFWB    0x17,0x0,0x0                                                                                    
001cfc   e308     BNC       0x1d0e                                                                                          
001cfe   0e05     MOVLW     0x5                                                                                             
001d00   6ef3     MOVWF     0xf3,0x0                                                                                        
001d02   0e04     MOVLW     0x4                                                                                             
001d04   cff3     MOVFF     0xff3,0xfdb                                                                                     
001d06   ffdb                                                                                                               
001d08   0e05     MOVLW     0x5                                                                                             
001d0a   6adb     CLRF      0xdb,0x0                                                                                        
001d0c   d009     BRA       0x1d20          else  { v01 = 0; v11++;}                                                        F:\MCP\projects\CAN\Include\adc.c
001d0e   0e04     MOVLW     0x4                                                                                             
001d10   6adb     CLRF      0xdb,0x0                                                                                        
001d12   0e05     MOVLW     0x5                                                                                             
001d14   6adb     CLRF      0xdb,0x0                                                                                        
001d16   0e02     MOVLW     0x2                                                                                             
001d18   2adb     INCF      0xdb,0x1,0x0                                                                                    
001d1a   0e03     MOVLW     0x3                                                                                             
001d1c   e301     BNC       0x1d20                                                                                          
001d1e   2adb     INCF      0xdb,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001d20   0e02     MOVLW     0x2             tenth = (signed char *)v11;                                                     F:\MCP\projects\CAN\Include\adc.c
001d22   cfdb     MOVFF     0xfdb,0x8                                                                                       
001d24   f008                                                                                                               
001d26   0e03     MOVLW     0x3                                                                                             
001d28   cfdb     MOVFF     0xfdb,0x9                                                                                       
001d2a   f009                                                                                                               
001d2c   0efd     MOVLW     0xfd                                                                                            
001d2e   c008     MOVFF     0x8,0xfdb                                                                                       
001d30   ffdb                                                                                                               
001d32   0efe     MOVLW     0xfe                                                                                            
001d34   c009     MOVFF     0x9,0xfdb                                                                                       
001d36   ffdb                                                                                                               
001d38   0e04     MOVLW     0x4             decimal = (BYTE *)v01;                                                          F:\MCP\projects\CAN\Include\adc.c
001d3a   cfdb     MOVFF     0xfdb,0x8                                                                                       
001d3c   f008                                                                                                               
001d3e   0e05     MOVLW     0x5                                                                                             
001d40   cfdb     MOVFF     0xfdb,0x9                                                                                       
001d42   f009                                                                                                               
001d44   0efb     MOVLW     0xfb                                                                                            
001d46   c008     MOVFF     0x8,0xfdb                                                                                       
001d48   ffdb                                                                                                               
001d4a   0efc     MOVLW     0xfc                                                                                            
001d4c   c009     MOVFF     0x9,0xfdb                                                                                       
001d4e   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001d50   0100     MOVLB     0x0                 TEMP_DONE=FALSE;                                                               F:\MCP\projects\CAN\Include\adc.c
001d52   6b88     CLRF      0x88,0x1                                                                                        
001d54   0e08     MOVLW     0x8            }                                                                                F:\MCP\projects\CAN\Include\adc.c
001d56   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001d58   e202     BC        0x1d5e                                                                                          
001d5a   6ae1     CLRF      0xe1,0x0                                                                                        
001d5c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001d5e   6ee1     MOVWF     0xe1,0x0                                                                                        
001d60   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001d62   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001d64   ffd9                                                                                                               
001d66   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcDone                                                              F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: If adc convertion is done or not.                                      F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           BOOL adcDone(void)                                                               F:\MCP\projects\CAN\Include\adc.c
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
001d68   0100     MOVLB     0x0             return TEMP_DONE;                                                               F:\MCP\projects\CAN\Include\adc.c
001d6a   5188     MOVF      0x88,0x0,0x1                                                                                    
001d6c   d000     BRA       0x1d6e                                                                                          
001d6e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           #endif                                                                           F:\MCP\projects\CAN\Include\adc.c