Subversion Repositories HomeAutomation

Rev

Rev 135 | Blame | Last modification | View Log | SVN | RSS feed

MP2COD 4.02, COFF to COD File Converter
Copyright (c) 2006 Microchip Technology Inc.
Listing File Generated: Tue Nov 21 10:53:37 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
001634   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001636   6e6f     MOVWF     0x6f,0x0                                                                                        
001638   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
00163a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00163c   0880     SUBLW     0x80                                                                                            
00163e   e001     BZ        0x1642                                                                                          
001640   d7fb     BRA       0x1638                                                                                          
                                                                                                                            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
001642   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
001644   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001646   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
001648   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00164a   1070     IORWF     0x70,0x0,0x0                                                                                    
00164c   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
00164e   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
001650   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001652   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001654   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
001656   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001658   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00165a   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
00165c   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
00165e   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
001660   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001662   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001664   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001666   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001668   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00166a   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
00166c   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
00166e   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
001670   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001672   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001674   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001676   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001678   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00167a   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
00167c   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
00167e   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001680   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001682   146e     ANDWF     0x6e,0x0,0x0                                                                                    
001684   e001     BZ        0x1688                                                                                          
001686   d7fc     BRA       0x1680                                                                                          
                                            #endif                                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001688   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
00168a   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00168c   0b02     ANDLW     0x2                                                                                             
00168e   e106     BNZ       0x169c                                                                                          
001690   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001692   0b02     ANDLW     0x2                                                                                             
001694   e103     BNZ       0x169c                                                                                          
001696   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001698   0b01     ANDLW     0x1                                                                                             
00169a   e016     BZ        0x16c8                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00169c   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
00169e   146f     ANDWF     0x6f,0x0,0x0                                                                                    
0016a0   0910     IORLW     0x10                                                                                            
0016a2   6e00     MOVWF     0x0,0x0                                                                                         
0016a4   0e00     MOVLW     0x0                                                                                             
0016a6   1477     ANDWF     0x77,0x0,0x0                                                                                    
0016a8   1000     IORWF     0x0,0x0,0x0                                                                                     
0016aa   6e77     MOVWF     0x77,0x0                                                                                        
0016ac   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ae   d80d     RCALL     0x16ca                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016b0   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016b2   d002     BRA       0x16b8                                                                                          
0016b4   92a4     BCF       0xa4,0x1,0x0                                                                                    
0016b6   d008     BRA       0x16c8                                                                                          
0016b8   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ba   d002     BRA       0x16c0                                                                                          
0016bc   92a4     BCF       0xa4,0x1,0x0                                                                                    
0016be   d004     BRA       0x16c8                                                                                          
0016c0   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c2   d002     BRA       0x16c8                                                                                          
0016c4   90a4     BCF       0xa4,0x0,0x0                                                                                    
0016c6   d000     BRA       0x16c8                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c8   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
0016ca   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0016cc   ffe6                                                                                                               
0016ce   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0016d0   ffd9                                                                                                               
0016d2   0e0f     MOVLW     0xf                                                                                             
0016d4   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
0016d6   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016d8   1461     ANDWF     0x61,0x0,0x0                                                                                    
0016da   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
0016dc   0b0f     ANDLW     0xf                                                                                             
0016de   6edf     MOVWF     0xdf,0x0                                                                                        
0016e0   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
0016e2   1461     ANDWF     0x61,0x0,0x0                                                                                    
0016e4   6e06     MOVWF     0x6,0x0                                                                                         
0016e6   6a07     CLRF      0x7,0x0                                                                                         
0016e8   0e06     MOVLW     0x6                                                                                             
0016ea   90d8     BCF       0xd8,0x0,0x0                                                                                    
0016ec   3606     RLCF      0x6,0x1,0x0                                                                                     
0016ee   3607     RLCF      0x7,0x1,0x0                                                                                     
0016f0   04e8     DECF      0xe8,0x0,0x0                                                                                    
0016f2   e1fb     BNZ       0x16ea                                                                                          
0016f4   0ee0     MOVLW     0xe0                                                                                            
0016f6   1462     ANDWF     0x62,0x0,0x0                                                                                    
0016f8   6e08     MOVWF     0x8,0x0                                                                                         
0016fa   6a09     CLRF      0x9,0x0                                                                                         
0016fc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0016fe   3209     RRCF      0x9,0x1,0x0                                                                                     
001700   3208     RRCF      0x8,0x1,0x0                                                                                     
001702   90d8     BCF       0xd8,0x0,0x0                                                                                    
001704   3209     RRCF      0x9,0x1,0x0                                                                                     
001706   3208     RRCF      0x8,0x1,0x0                                                                                     
001708   5006     MOVF      0x6,0x0,0x0                                                                                     
00170a   2408     ADDWF     0x8,0x0,0x0                                                                                     
00170c   6e04     MOVWF     0x4,0x0                                                                                         
00170e   5007     MOVF      0x7,0x0,0x0                                                                                     
001710   2009     ADDWFC    0x9,0x0,0x0                                                                                     
001712   6e05     MOVWF     0x5,0x0                                                                                         
001714   0e03     MOVLW     0x3                                                                                             
001716   1462     ANDWF     0x62,0x0,0x0                                                                                    
001718   6e0a     MOVWF     0xa,0x0                                                                                         
00171a   6a0b     CLRF      0xb,0x0                                                                                         
00171c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00171e   360a     RLCF      0xa,0x1,0x0                                                                                     
001720   360b     RLCF      0xb,0x1,0x0                                                                                     
001722   5004     MOVF      0x4,0x0,0x0                                                                                     
001724   240a     ADDWF     0xa,0x0,0x0                                                                                     
001726   6e02     MOVWF     0x2,0x0                                                                                         
001728   5005     MOVF      0x5,0x0,0x0                                                                                     
00172a   200b     ADDWFC    0xb,0x0,0x0                                                                                     
00172c   6e03     MOVWF     0x3,0x0                                                                                         
00172e   0e80     MOVLW     0x80                                                                                            
001730   1463     ANDWF     0x63,0x0,0x0                                                                                    
001732   6e0c     MOVWF     0xc,0x0                                                                                         
001734   6a0d     CLRF      0xd,0x0                                                                                         
001736   0e07     MOVLW     0x7                                                                                             
001738   90d8     BCF       0xd8,0x0,0x0                                                                                    
00173a   320d     RRCF      0xd,0x1,0x0                                                                                     
00173c   320c     RRCF      0xc,0x1,0x0                                                                                     
00173e   04e8     DECF      0xe8,0x0,0x0                                                                                    
001740   e1fb     BNZ       0x1738                                                                                          
001742   5002     MOVF      0x2,0x0,0x0                                                                                     
001744   240c     ADDWF     0xc,0x0,0x0                                                                                     
001746   6e00     MOVWF     0x0,0x0                                                                                         
001748   5003     MOVF      0x3,0x0,0x0                                                                                     
00174a   200d     ADDWFC    0xd,0x0,0x0                                                                                     
00174c   6e01     MOVWF     0x1,0x0                                                                                         
00174e   0e01     MOVLW     0x1                                                                                             
001750   c000     MOVFF     0x0,0xfdb                                                                                       
001752   ffdb                                                                                                               
001754   0e02     MOVLW     0x2                                                                                             
001756   c001     MOVFF     0x1,0xfdb                                                                                       
001758   ffdb                                                                                                               
00175a   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00175c   1463     ANDWF     0x63,0x0,0x0                                                                                    
00175e   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001760   0b7f     ANDLW     0x7f                                                                                            
001762   6ee7     MOVWF     0xe7,0x0                                                                                        
001764   0e03     MOVLW     0x3                                                                                             
001766   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001768   ffdb                                                                                                               
00176a   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00176c   1463     ANDWF     0x63,0x0,0x0                                                                                    
00176e   6e02     MOVWF     0x2,0x0                                                                                         
001770   c002     MOVFF     0x2,0x3                                                                                         
001772   f003                                                                                                               
001774   6a02     CLRF      0x2,0x0                                                                                         
001776   5064     MOVF      0x64,0x0,0x0                                                                                    
001778   0100     MOVLB     0x0                                                                                             
00177a   2402     ADDWF     0x2,0x0,0x0                                                                                     
00177c   6e00     MOVWF     0x0,0x0                                                                                         
00177e   0e00     MOVLW     0x0                                                                                             
001780   2003     ADDWFC    0x3,0x0,0x0                                                                                     
001782   6e01     MOVWF     0x1,0x0                                                                                         
001784   0e04     MOVLW     0x4                                                                                             
001786   c000     MOVFF     0x0,0xfdb                                                                                       
001788   ffdb                                                                                                               
00178a   0e05     MOVLW     0x5                                                                                             
00178c   c001     MOVFF     0x1,0xfdb                                                                                       
00178e   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
001790   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
001792   0b01     ANDLW     0x1                                                                                             
001794   6e02     MOVWF     0x2,0x0                                                                                         
001796   5065     MOVF      0x65,0x0,0x0                                                                                    
001798   0b02     ANDLW     0x2                                                                                             
00179a   e001     BZ        0x179e                                                                                          
00179c   0e01     MOVLW     0x1                                                                                             
00179e   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
0017a0   6e01     MOVWF     0x1,0x0                                                                                         
0017a2   5065     MOVF      0x65,0x0,0x0                                                                                    
0017a4   0b04     ANDLW     0x4                                                                                             
0017a6   e001     BZ        0x17aa                                                                                          
0017a8   0e01     MOVLW     0x1                                                                                             
0017aa   0d04     MULLW     0x4                                                                                             
0017ac   cff3     MOVFF     0xff3,0x0                                                                                       
0017ae   f000                                                                                                               
0017b0   5065     MOVF      0x65,0x0,0x0                                                                                    
0017b2   0b08     ANDLW     0x8                                                                                             
0017b4   e001     BZ        0x17b8                                                                                          
0017b6   0e01     MOVLW     0x1                                                                                             
0017b8   0d08     MULLW     0x8                                                                                             
0017ba   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0017bc   2400     ADDWF     0x0,0x0,0x0                                                                                     
0017be   2401     ADDWF     0x1,0x0,0x0                                                                                     
0017c0   2402     ADDWF     0x2,0x0,0x0                                                                                     
0017c2   6ee7     MOVWF     0xe7,0x0                                                                                        
0017c4   0e06     MOVLW     0x6                                                                                             
0017c6   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0017c8   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0017ca   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0017cc   cf66     MOVFF     0xf66,0xfdb                                                                                     
0017ce   ffdb                                                                                                               
0017d0   0e08     MOVLW     0x8                                                                                             
0017d2   cf67     MOVFF     0xf67,0xfdb                                                                                     
0017d4   ffdb                                                                                                               
0017d6   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0017d8   cf68     MOVFF     0xf68,0xfdb                                                                                     
0017da   ffdb                                                                                                               
0017dc   0e0a     MOVLW     0xa                                                                                             
0017de   cf69     MOVFF     0xf69,0xfdb                                                                                     
0017e0   ffdb                                                                                                               
0017e2   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0017e4   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
0017e6   ffdb                                                                                                               
0017e8   0e0c     MOVLW     0xc                                                                                             
0017ea   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
0017ec   ffdb                                                                                                               
0017ee   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0017f0   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
0017f2   ffdb                                                                                                               
0017f4   0e0e     MOVLW     0xe                                                                                             
0017f6   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
0017f8   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0017fa   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
0017fc   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
0017fe   ffe9                                                                                                               
001800   cfda     MOVFF     0xfda,0xfea                                                                                     
001802   ffea                                                                                                               
001804   cfee     MOVFF     0xfee,0xfe6                                                                                     
001806   ffe6                                                                                                               
001808   cfee     MOVFF     0xfee,0xfe6                                                                                     
00180a   ffe6                                                                                                               
00180c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00180e   ffe6                                                                                                               
001810   cfee     MOVFF     0xfee,0xfe6                                                                                     
001812   ffe6                                                                                                               
001814   cfee     MOVFF     0xfee,0xfe6                                                                                     
001816   ffe6                                                                                                               
001818   cfee     MOVFF     0xfee,0xfe6                                                                                     
00181a   ffe6                                                                                                               
00181c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00181e   ffe6                                                                                                               
001820   cfee     MOVFF     0xfee,0xfe6                                                                                     
001822   ffe6                                                                                                               
001824   cfee     MOVFF     0xfee,0xfe6                                                                                     
001826   ffe6                                                                                                               
001828   cfee     MOVFF     0xfee,0xfe6                                                                                     
00182a   ffe6                                                                                                               
00182c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00182e   ffe6                                                                                                               
001830   cfee     MOVFF     0xfee,0xfe6                                                                                     
001832   ffe6                                                                                                               
001834   cfee     MOVFF     0xfee,0xfe6                                                                                     
001836   ffe6                                                                                                               
001838   cfee     MOVFF     0xfee,0xfe6                                                                                     
00183a   ffe6                                                                                                               
00183c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00183e   ffe6                                                                                                               
001840   ec53     CALL      0x14a6,0x0                                                                                      
001842   f00a                                                                                                               
001844   6e00     MOVWF     0x0,0x0                                                                                         
001846   0e0f     MOVLW     0xf                                                                                             
001848   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00184a   5000     MOVF      0x0,0x0,0x0                                                                                     
00184c   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
00184e   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001850   e202     BC        0x1856                                                                                          
001852   6ae1     CLRF      0xe1,0x0                                                                                        
001854   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001856   6ee1     MOVWF     0xe1,0x0                                                                                        
001858   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00185a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00185c   ffd9                                                                                                               
00185e   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
001860   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001862   ffe6                                                                                                               
001864   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001866   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001868   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
00186a   b740     BTFSC     0x40,0x3,0x1                                                                                    
00186c   d004     BRA       0x1876                                                                                          
00186e   0e00     MOVLW     0x0                                                                                             
001870   1477     ANDWF     0x77,0x0,0x0                                                                                    
001872   0903     IORLW     0x3                                                                                             
001874   6e77     MOVWF     0x77,0x0                                                                                        
001876   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001878   b730     BTFSC     0x30,0x3,0x1                                                                                    
00187a   d004     BRA       0x1884                                                                                          
00187c   0e00     MOVLW     0x0                                                                                             
00187e   1477     ANDWF     0x77,0x0,0x0                                                                                    
001880   0904     IORLW     0x4                                                                                             
001882   6e77     MOVWF     0x77,0x0                                                                                        
001884   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001886   b720     BTFSC     0x20,0x3,0x1                                                                                    
001888   d005     BRA       0x1894                                                                                          
00188a   0e00     MOVLW     0x0                                                                                             
00188c   1477     ANDWF     0x77,0x0,0x0                                                                                    
00188e   0905     IORLW     0x5                                                                                             
001890   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
001892   d002     BRA       0x1898          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001894   0e00     MOVLW     0x0                                                                                             
001896   d0b0     BRA       0x19f8                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001898   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00189a   cfdb     MOVFF     0xfdb,0x0                                                                                       
00189c   f000                                                                                                               
00189e   3400     RLCF      0x0,0x0,0x0                                                                                     
0018a0   e20e     BC        0x18be                                                                                          
0018a2   0eef     MOVLW     0xef                                                                                            
0018a4   cfdb     MOVFF     0xfdb,0x1                                                                                       
0018a6   f001                                                                                                               
0018a8   0e03     MOVLW     0x3                                                                                             
0018aa   6ee7     MOVWF     0xe7,0x0                                                                                        
0018ac   1801     XORWF     0x1,0x0,0x0                                                                                     
0018ae   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
0018b0   d002     BRA       0x18b6                                                                                          
0018b2   3401     RLCF      0x1,0x0,0x0                                                                                     
0018b4   d003     BRA       0x18bc                                                                                          
0018b6   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0018b8   80d8     BSF       0xd8,0x0,0x0                                                                                    
0018ba   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0018bc   e202     BC        0x18c2                                                                                          
0018be   0eef     MOVLW     0xef                                                                                            
0018c0   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
0018c2   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBase\Source\CAN.c
0018c4   cfdb     MOVFF     0xfdb,0x0                                                                                       
0018c6   f000                                                                                                               
0018c8   0ef2     MOVLW     0xf2                                                                                            
0018ca   cfdb     MOVFF     0xfdb,0x1                                                                                       
0018cc   f001                                                                                                               
0018ce   0ec0     MOVLW     0xc0                                                                                            
0018d0   1600     ANDWF     0x0,0x1,0x0                                                                                     
0018d2   0e03     MOVLW     0x3                                                                                             
0018d4   1601     ANDWF     0x1,0x1,0x0                                                                                     
0018d6   0e06     MOVLW     0x6                                                                                             
0018d8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0018da   3201     RRCF      0x1,0x1,0x0                                                                                     
0018dc   3200     RRCF      0x0,0x1,0x0                                                                                     
0018de   04e8     DECF      0xe8,0x0,0x0                                                                                    
0018e0   e1fb     BNZ       0x18d8                                                                                          
0018e2   0ef0     MOVLW     0xf0                                                                                            
0018e4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0018e6   0b0f     ANDLW     0xf                                                                                             
0018e8   0d10     MULLW     0x10                                                                                            
0018ea   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0018ec   2400     ADDWF     0x0,0x0,0x0                                                                                     
0018ee   6e61     MOVWF     0x61,0x0                                                                                        
0018f0   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBase\Source\CAN.c
0018f2   6ee7     MOVWF     0xe7,0x0                                                                                        
0018f4   0ef1     MOVLW     0xf1                                                                                            
0018f6   cfdb     MOVFF     0xfdb,0x2                                                                                       
0018f8   f002                                                                                                               
0018fa   0ef2     MOVLW     0xf2                                                                                            
0018fc   cfdb     MOVFF     0xfdb,0x3                                                                                       
0018fe   f003                                                                                                               
001900   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001902   1602     ANDWF     0x2,0x1,0x0                                                                                     
001904   6a03     CLRF      0x3,0x0                                                                                         
001906   90d8     BCF       0xd8,0x0,0x0                                                                                    
001908   3203     RRCF      0x3,0x1,0x0                                                                                     
00190a   3202     RRCF      0x2,0x1,0x0                                                                                     
00190c   0e3f     MOVLW     0x3f                                                                                            
00190e   6ee7     MOVWF     0xe7,0x0                                                                                        
001910   0ef1     MOVLW     0xf1                                                                                            
001912   cfdb     MOVFF     0xfdb,0x0                                                                                       
001914   f000                                                                                                               
001916   0ef2     MOVLW     0xf2                                                                                            
001918   cfdb     MOVFF     0xfdb,0x1                                                                                       
00191a   f001                                                                                                               
00191c   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00191e   1600     ANDWF     0x0,0x1,0x0                                                                                     
001920   6a01     CLRF      0x1,0x0                                                                                         
001922   90d8     BCF       0xd8,0x0,0x0                                                                                    
001924   3600     RLCF      0x0,0x1,0x0                                                                                     
001926   3601     RLCF      0x1,0x1,0x0                                                                                     
001928   90d8     BCF       0xd8,0x0,0x0                                                                                    
00192a   3600     RLCF      0x0,0x1,0x0                                                                                     
00192c   3601     RLCF      0x1,0x1,0x0                                                                                     
00192e   5000     MOVF      0x0,0x0,0x0                                                                                     
001930   2402     ADDWF     0x2,0x0,0x0                                                                                     
001932   6e62     MOVWF     0x62,0x0                                                                                        
001934   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
001936   cfdb     MOVFF     0xfdb,0x2                                                                                       
001938   f002                                                                                                               
00193a   0ef5     MOVLW     0xf5                                                                                            
00193c   cfdb     MOVFF     0xfdb,0x3                                                                                       
00193e   f003                                                                                                               
001940   0e00     MOVLW     0x0                                                                                             
001942   1602     ANDWF     0x2,0x1,0x0                                                                                     
001944   0e01     MOVLW     0x1                                                                                             
001946   1603     ANDWF     0x3,0x1,0x0                                                                                     
001948   c003     MOVFF     0x3,0x2                                                                                         
00194a   f002                                                                                                               
00194c   6a03     CLRF      0x3,0x0                                                                                         
00194e   0e01     MOVLW     0x1                                                                                             
001950   6ee7     MOVWF     0xe7,0x0                                                                                        
001952   0ef1     MOVLW     0xf1                                                                                            
001954   cfdb     MOVFF     0xfdb,0x0                                                                                       
001956   f000                                                                                                               
001958   0ef2     MOVLW     0xf2                                                                                            
00195a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00195c   f001                                                                                                               
00195e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001960   1600     ANDWF     0x0,0x1,0x0                                                                                     
001962   6a01     CLRF      0x1,0x0                                                                                         
001964   0e07     MOVLW     0x7                                                                                             
001966   90d8     BCF       0xd8,0x0,0x0                                                                                    
001968   3600     RLCF      0x0,0x1,0x0                                                                                     
00196a   3601     RLCF      0x1,0x1,0x0                                                                                     
00196c   04e8     DECF      0xe8,0x0,0x0                                                                                    
00196e   e1fb     BNZ       0x1966                                                                                          
001970   0ef3     MOVLW     0xf3                                                                                            
001972   50db     MOVF      0xdb,0x0,0x0                                                                                    
001974   0b3f     ANDLW     0x3f                                                                                            
001976   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001978   2400     ADDWF     0x0,0x0,0x0                                                                                     
00197a   2402     ADDWF     0x2,0x0,0x0                                                                                     
00197c   6e63     MOVWF     0x63,0x0                                                                                        
00197e   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
001980   6ee7     MOVWF     0xe7,0x0                                                                                        
001982   0ef4     MOVLW     0xf4                                                                                            
001984   cfdb     MOVFF     0xfdb,0x0                                                                                       
001986   f000                                                                                                               
001988   0ef5     MOVLW     0xf5                                                                                            
00198a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00198c   f001                                                                                                               
00198e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001990   1600     ANDWF     0x0,0x1,0x0                                                                                     
001992   6a01     CLRF      0x1,0x0                                                                                         
001994   5000     MOVF      0x0,0x0,0x0                                                                                     
001996   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001998   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00199a   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBase\Source\CAN.c
00199c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00199e   0808     SUBLW     0x8                                                                                             
0019a0   e203     BC        0x19a8                                                                                          
0019a2   0e08     MOVLW     0x8                                                                                             
0019a4   6e65     MOVWF     0x65,0x0                                                                                        
0019a6   d003     BRA       0x19ae                                                                                          
0019a8   0ef6     MOVLW     0xf6                                                                                            
0019aa   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019ac   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
0019ae   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
0019b0   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0019b2   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019b4   6e66     MOVWF     0x66,0x0                                                                                        
0019b6   0ef8     MOVLW     0xf8                                                                                            
0019b8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019ba   6e67     MOVWF     0x67,0x0                                                                                        
0019bc   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0019be   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019c0   6e68     MOVWF     0x68,0x0                                                                                        
0019c2   0efa     MOVLW     0xfa                                                                                            
0019c4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019c6   6e69     MOVWF     0x69,0x0                                                                                        
0019c8   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0019ca   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019cc   6e6a     MOVWF     0x6a,0x0                                                                                        
0019ce   0efc     MOVLW     0xfc                                                                                            
0019d0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019d2   6e6b     MOVWF     0x6b,0x0                                                                                        
0019d4   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0019d6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019d8   6e6c     MOVWF     0x6c,0x0                                                                                        
0019da   0efe     MOVLW     0xfe                                                                                            
0019dc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0019de   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // set extended                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0019e0   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
0019e2   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0019e4   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0019e6   ffe6                                                                                                               
0019e8   0efc     MOVLW     0xfc                                                                                            
0019ea   1460     ANDWF     0x60,0x0,0x0                                                                                    
0019ec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0019ee   10e7     IORWF     0xe7,0x0,0x0                                                                                    
0019f0   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
0019f2   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
0019f4   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0019f6   d000     BRA       0x19f8                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0019f8   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0019fa   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0019fc   ffd9                                                                                                               
0019fe   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
001b4a   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
001b4c   6ed6     MOVWF     0xd6,0x0                                                                                        
001b4e   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
001b50   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
001b52   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
001b54   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
001b56   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001b58   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
001b5a   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
001b5c   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
001b5e   c080     MOVFF     0x80,0x12          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001b60   f012                                                                                                               
001b62   c081     MOVFF     0x81,0x13                                                                                       
001b64   f013                                                                                                               
001b66   c082     MOVFF     0x82,0x14                                                                                       
001b68   f014                                                                                                               
001b6a   c083     MOVFF     0x83,0x15                                                                                       
001b6c   f015                                                                                                               
001b6e   d000     BRA       0x1b70                                                                                          
001b70   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
001b72   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
001b74   d00b     BRA       0x1b8c                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001b76   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
001b78   6ed7     MOVWF     0xd7,0x0                                                                                        
001b7a   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
001b7c   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001b7e   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
001b80   2b80     INCF      0x80,0x1,0x1                                                                                    
001b82   0e00     MOVLW     0x0                                                                                             
001b84   2381     ADDWFC    0x81,0x1,0x1                                                                                    
001b86   2382     ADDWFC    0x82,0x1,0x1                                                                                    
001b88   2383     ADDWFC    0x83,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001b8a   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
001b8c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*********************************************************************        F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canTemp/Source/Main.c $ F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            * Last changed: $LastChangedDate: 2006-11-20 21:31:03 +0100 (må, 20 nov 2006) $ F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            * Revision:     $Revision: 139 $                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            #include <CAN.h>                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #ifdef USE_ADC                                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            #include <adc.h>                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
001044   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
001046   ffe6                                                                                                               
001048   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00104a   ffd9                                                                                                               
00104c   0e0f     MOVLW     0xf                                                                                             
00104e   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            static TICK t = 0;                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
001050   da23     RCALL     0x1498          mainInit();                                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
001052   ec1a     CALL      0x1634,0x0          canInit();                                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
001054   f00b                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                adcInit(TRUE,0b1011);                                                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            #endif                                                                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
001056   eca5     CALL      0x1b4a,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
001058   f00d                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00105a   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
00105c   6ee6     MOVWF     0xe6,0x0                                                                                        
00105e   6ae6     CLRF      0xe6,0x0                                                                                        
001060   ec00     CALL      0x1a00,0x0                                                                                      
001062   f00d                                                                                                               
001064   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001066   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001068   082a     SUBLW     0x2a                                                                                            
00106a   e12b     BNZ       0x10c2                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
00106c   0e01     MOVLW     0x1                 MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canFreezer\Source\Main.c
00106e   6ee6     MOVWF     0xe6,0x0                                                                                        
001070   6ae6     CLRF      0xe6,0x0                                                                                        
001072   ec00     CALL      0x1a00,0x0                                                                                      
001074   f00d                                                                                                               
001076   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001078   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00107a   6e00     MOVWF     0x0,0x0                                                                                         
00107c   c000     MOVFF     0x0,0x1                                                                                         
00107e   f001                                                                                                               
001080   6a00     CLRF      0x0,0x0                                                                                         
001082   c000     MOVFF     0x0,0xfe6                                                                                       
001084   ffe6                                                                                                               
001086   c001     MOVFF     0x1,0xfe6                                                                                       
001088   ffe6                                                                                                               
00108a   0e02     MOVLW     0x2                                                                                             
00108c   6ee6     MOVWF     0xe6,0x0                                                                                        
00108e   6ae6     CLRF      0xe6,0x0                                                                                        
001090   ec00     CALL      0x1a00,0x0                                                                                      
001092   f00d                                                                                                               
001094   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001096   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001098   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00109a   cfe7     MOVFF     0xfe7,0x1                                                                                       
00109c   f001                                                                                                               
00109e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010a0   cfe7     MOVFF     0xfe7,0x0                                                                                       
0010a2   f000                                                                                                               
0010a4   0100     MOVLB     0x0                                                                                             
0010a6   2400     ADDWF     0x0,0x0,0x0                                                                                     
0010a8   6f60     MOVWF     0x60,0x1                                                                                        
0010aa   0e00     MOVLW     0x0                                                                                             
0010ac   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0010ae   6f61     MOVWF     0x61,0x1                                                                                        
0010b0   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010b2   6ee6     MOVWF     0xe6,0x0                                                                                        
0010b4   6ae6     CLRF      0xe6,0x0                                                                                        
0010b6   ec00     CALL      0x1a00,0x0                                                                                      
0010b8   f00d                                                                                                               
0010ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010bc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010be   0100     MOVLB     0x0                                                                                             
0010c0   6f62     MOVWF     0x62,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            // Send user program startup heatbeat                                           F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010c2   6adf     CLRF      0xdf,0x0        outCm.funct                     = FUNCT_BOOTLOADER;                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010c4   0e08     MOVLW     0x8             outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                        F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010c6   6ef3     MOVWF     0xf3,0x0                                                                                        
0010c8   0e01     MOVLW     0x1                                                                                             
0010ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010cc   ffdb                                                                                                               
0010ce   0e02     MOVLW     0x2                                                                                             
0010d0   6adb     CLRF      0xdb,0x0                                                                                        
0010d2   0e03     MOVLW     0x3             outCm.nid                       = MY_NID;                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010d4   c062     MOVFF     0x62,0xfdb                                                                                      
0010d6   ffdb                                                                                                               
0010d8   0e04     MOVLW     0x4             outCm.sid                       = MY_ID;                                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010da   c060     MOVFF     0x60,0xfdb                                                                                      
0010dc   ffdb                                                                                                               
0010de   0e05     MOVLW     0x5                                                                                             
0010e0   c061     MOVFF     0x61,0xfdb                                                                                      
0010e2   ffdb                                                                                                               
0010e4   0e01     MOVLW     0x1             outCm.data_length               = 1;                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010e6   6ef3     MOVWF     0xf3,0x0                                                                                        
0010e8   0e06     MOVLW     0x6                                                                                             
0010ea   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010ec   ffdb                                                                                                               
0010ee   0e01     MOVLW     0x1             outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_USER_STARTUP;                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010f0   6ef3     MOVWF     0xf3,0x0                                                                                        
0010f2   0e07     MOVLW     0x7                                                                                             
0010f4   cff3     MOVFF     0xff3,0xfdb                                                                                     
0010f6   ffdb                                                                                                               
0010f8   0e02     MOVLW     0x2             while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canFreezer\Source\Main.c
0010fa   6ee6     MOVWF     0xe6,0x0                                                                                        
0010fc   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0010fe   ffe9                                                                                                               
001100   cfda     MOVFF     0xfda,0xfea                                                                                     
001102   ffea                                                                                                               
001104   cfee     MOVFF     0xfee,0xfe6                                                                                     
001106   ffe6                                                                                                               
001108   cfee     MOVFF     0xfee,0xfe6                                                                                     
00110a   ffe6                                                                                                               
00110c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00110e   ffe6                                                                                                               
001110   cfee     MOVFF     0xfee,0xfe6                                                                                     
001112   ffe6                                                                                                               
001114   cfee     MOVFF     0xfee,0xfe6                                                                                     
001116   ffe6                                                                                                               
001118   cfee     MOVFF     0xfee,0xfe6                                                                                     
00111a   ffe6                                                                                                               
00111c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00111e   ffe6                                                                                                               
001120   cfee     MOVFF     0xfee,0xfe6                                                                                     
001122   ffe6                                                                                                               
001124   cfee     MOVFF     0xfee,0xfe6                                                                                     
001126   ffe6                                                                                                               
001128   cfee     MOVFF     0xfee,0xfe6                                                                                     
00112a   ffe6                                                                                                               
00112c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00112e   ffe6                                                                                                               
001130   cfee     MOVFF     0xfee,0xfe6                                                                                     
001132   ffe6                                                                                                               
001134   cfee     MOVFF     0xfee,0xfe6                                                                                     
001136   ffe6                                                                                                               
001138   cfee     MOVFF     0xfee,0xfe6                                                                                     
00113a   ffe6                                                                                                               
00113c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00113e   ffe6                                                                                                               
001140   ec30     CALL      0x1860,0x0                                                                                      
001142   f00c                                                                                                               
001144   6e00     MOVWF     0x0,0x0                                                                                         
001146   0e10     MOVLW     0x10                                                                                            
001148   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00114a   5000     MOVF      0x0,0x0,0x0                                                                                     
00114c   0900     IORLW     0x0                                                                                             
00114e   e101     BNZ       0x1152                                                                                          
001150   d7d3     BRA       0x10f8                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
0013d4   d6be     BRA       0x1152          while(1)                                                                        F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                static TICK t = 0;                                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                static TICK heartbeat = 0;                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                static TICK temperature = 0;                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                static BYTE lastTemperature = TEMPERATURE_FREEZER;                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                static BYTE lastFreezerDoor = DOOR_CLOSED;                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                static BYTE lastRefrigeratorDoor = DOOR_CLOSED;                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                //Poll doors freezer door                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
001152   5080     MOVF      0x80,0x0,0x0        if (lastFreezerDoor!=DOOR_FREEZER_IO)                                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
001154   0b10     ANDLW     0x10                                                                                            
001156   e001     BZ        0x115a                                                                                          
001158   0e01     MOVLW     0x1                                                                                             
00115a   0100     MOVLB     0x0                                                                                             
00115c   5d74     SUBWF     0x74,0x0,0x1                                                                                    
00115e   e052     BZ        0x1204                                                                                          
                                                {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001160   5080     MOVF      0x80,0x0,0x0            lastFreezerDoor=DOOR_FREEZER_IO;                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
001162   0b10     ANDLW     0x10                                                                                            
001164   e001     BZ        0x1168                                                                                          
001166   0e01     MOVLW     0x1                                                                                             
001168   6f74     MOVWF     0x74,0x1                                                                                        
                                                    // Send door status change                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00116a   0e01     MOVLW     0x1                     outCm.funct                     = FUNCT_SENSORS;                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
00116c   6edf     MOVWF     0xdf,0x0                                                                                        
00116e   0e20     MOVLW     0x20                    outCm.funcc                     = FUNCC_SENSORS_DOORS_FREEZER;                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
001170   6ef3     MOVWF     0xf3,0x0                                                                                        
001172   0e01     MOVLW     0x1                                                                                             
001174   cff3     MOVFF     0xff3,0xfdb                                                                                     
001176   ffdb                                                                                                               
001178   0e02     MOVLW     0x2                                                                                             
00117a   6adb     CLRF      0xdb,0x0                                                                                        
00117c   0e03     MOVLW     0x3                     outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00117e   c062     MOVFF     0x62,0xfdb                                                                                      
001180   ffdb                                                                                                               
001182   0e04     MOVLW     0x4                     outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
001184   c060     MOVFF     0x60,0xfdb                                                                                      
001186   ffdb                                                                                                               
001188   0e05     MOVLW     0x5                                                                                             
00118a   c061     MOVFF     0x61,0xfdb                                                                                      
00118c   ffdb                                                                                                               
00118e   0e01     MOVLW     0x1                     outCm.data_length               = 1;                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
001190   6ef3     MOVWF     0xf3,0x0                                                                                        
001192   0e06     MOVLW     0x6                                                                                             
001194   cff3     MOVFF     0xff3,0xfdb                                                                                     
001196   ffdb                                                                                                               
001198   0574     DECF      0x74,0x0,0x1            outCm.data[0]                   = (lastFreezerDoor==DOOR_OPEN?0:1);                         F:\MCP\projects\CAN\canFreezer\Source\Main.c
00119a   e102     BNZ       0x11a0                                                                                          
00119c   0e00     MOVLW     0x0                                                                                             
00119e   d001     BRA       0x11a2                                                                                          
0011a0   0e01     MOVLW     0x1                                                                                             
0011a2   6ee7     MOVWF     0xe7,0x0                                                                                        
0011a4   0e07     MOVLW     0x7                                                                                             
0011a6   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0011a8   ffdb                                                                                                               
0011aa   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
0011ac   6ee6     MOVWF     0xe6,0x0                                                                                        
0011ae   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0011b0   ffe9                                                                                                               
0011b2   cfda     MOVFF     0xfda,0xfea                                                                                     
0011b4   ffea                                                                                                               
0011b6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011b8   ffe6                                                                                                               
0011ba   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011bc   ffe6                                                                                                               
0011be   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011c0   ffe6                                                                                                               
0011c2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011c4   ffe6                                                                                                               
0011c6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011c8   ffe6                                                                                                               
0011ca   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011cc   ffe6                                                                                                               
0011ce   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011d0   ffe6                                                                                                               
0011d2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011d4   ffe6                                                                                                               
0011d6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011d8   ffe6                                                                                                               
0011da   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011dc   ffe6                                                                                                               
0011de   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e0   ffe6                                                                                                               
0011e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e4   ffe6                                                                                                               
0011e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011e8   ffe6                                                                                                               
0011ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011ec   ffe6                                                                                                               
0011ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
0011f0   ffe6                                                                                                               
0011f2   ec30     CALL      0x1860,0x0                                                                                      
0011f4   f00c                                                                                                               
0011f6   6e00     MOVWF     0x0,0x0                                                                                         
0011f8   0e10     MOVLW     0x10                                                                                            
0011fa   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0011fc   5000     MOVF      0x0,0x0,0x0                                                                                     
0011fe   0900     IORLW     0x0                                                                                             
001200   e101     BNZ       0x1204                                                                                          
001202   d7d3     BRA       0x11aa                                                                                          
                                                }                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                //Poll doors refrigerator door                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
001204   5080     MOVF      0x80,0x0,0x0        if (lastRefrigeratorDoor!=DOOR_REFRIGERATOR_IO)                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001206   0b20     ANDLW     0x20                                                                                            
001208   e001     BZ        0x120c                                                                                          
00120a   0e01     MOVLW     0x1                                                                                             
00120c   0100     MOVLB     0x0                                                                                             
00120e   5d75     SUBWF     0x75,0x0,0x1                                                                                    
001210   e052     BZ        0x12b6                                                                                          
                                                {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001212   5080     MOVF      0x80,0x0,0x0            lastRefrigeratorDoor=DOOR_REFRIGERATOR_IO;                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
001214   0b20     ANDLW     0x20                                                                                            
001216   e001     BZ        0x121a                                                                                          
001218   0e01     MOVLW     0x1                                                                                             
00121a   6f75     MOVWF     0x75,0x1                                                                                        
                                                    // Send door status change                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00121c   0e01     MOVLW     0x1                     outCm.funct                     = FUNCT_SENSORS;                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
00121e   6edf     MOVWF     0xdf,0x0                                                                                        
001220   0e21     MOVLW     0x21                    outCm.funcc                     = FUNCC_SENSORS_DOORS_REFRIGERATOR;                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
001222   6ef3     MOVWF     0xf3,0x0                                                                                        
001224   0e01     MOVLW     0x1                                                                                             
001226   cff3     MOVFF     0xff3,0xfdb                                                                                     
001228   ffdb                                                                                                               
00122a   0e02     MOVLW     0x2                                                                                             
00122c   6adb     CLRF      0xdb,0x0                                                                                        
00122e   0e03     MOVLW     0x3                     outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
001230   c062     MOVFF     0x62,0xfdb                                                                                      
001232   ffdb                                                                                                               
001234   0e04     MOVLW     0x4                     outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
001236   c060     MOVFF     0x60,0xfdb                                                                                      
001238   ffdb                                                                                                               
00123a   0e05     MOVLW     0x5                                                                                             
00123c   c061     MOVFF     0x61,0xfdb                                                                                      
00123e   ffdb                                                                                                               
001240   0e01     MOVLW     0x1                     outCm.data_length               = 1;                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
001242   6ef3     MOVWF     0xf3,0x0                                                                                        
001244   0e06     MOVLW     0x6                                                                                             
001246   cff3     MOVFF     0xff3,0xfdb                                                                                     
001248   ffdb                                                                                                               
00124a   0575     DECF      0x75,0x0,0x1            outCm.data[0]                   = (lastRefrigeratorDoor==DOOR_OPEN?0:1);                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00124c   e102     BNZ       0x1252                                                                                          
00124e   0e00     MOVLW     0x0                                                                                             
001250   d001     BRA       0x1254                                                                                          
001252   0e01     MOVLW     0x1                                                                                             
001254   6ee7     MOVWF     0xe7,0x0                                                                                        
001256   0e07     MOVLW     0x7                                                                                             
001258   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00125a   ffdb                                                                                                               
00125c   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
00125e   6ee6     MOVWF     0xe6,0x0                                                                                        
001260   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
001262   ffe9                                                                                                               
001264   cfda     MOVFF     0xfda,0xfea                                                                                     
001266   ffea                                                                                                               
001268   cfee     MOVFF     0xfee,0xfe6                                                                                     
00126a   ffe6                                                                                                               
00126c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00126e   ffe6                                                                                                               
001270   cfee     MOVFF     0xfee,0xfe6                                                                                     
001272   ffe6                                                                                                               
001274   cfee     MOVFF     0xfee,0xfe6                                                                                     
001276   ffe6                                                                                                               
001278   cfee     MOVFF     0xfee,0xfe6                                                                                     
00127a   ffe6                                                                                                               
00127c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00127e   ffe6                                                                                                               
001280   cfee     MOVFF     0xfee,0xfe6                                                                                     
001282   ffe6                                                                                                               
001284   cfee     MOVFF     0xfee,0xfe6                                                                                     
001286   ffe6                                                                                                               
001288   cfee     MOVFF     0xfee,0xfe6                                                                                     
00128a   ffe6                                                                                                               
00128c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00128e   ffe6                                                                                                               
001290   cfee     MOVFF     0xfee,0xfe6                                                                                     
001292   ffe6                                                                                                               
001294   cfee     MOVFF     0xfee,0xfe6                                                                                     
001296   ffe6                                                                                                               
001298   cfee     MOVFF     0xfee,0xfe6                                                                                     
00129a   ffe6                                                                                                               
00129c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00129e   ffe6                                                                                                               
0012a0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0012a2   ffe6                                                                                                               
0012a4   ec30     CALL      0x1860,0x0                                                                                      
0012a6   f00c                                                                                                               
0012a8   6e00     MOVWF     0x0,0x0                                                                                         
0012aa   0e10     MOVLW     0x10                                                                                            
0012ac   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0012ae   5000     MOVF      0x0,0x0,0x0                                                                                     
0012b0   0900     IORLW     0x0                                                                                             
0012b2   e101     BNZ       0x12b6                                                                                          
0012b4   d7d3     BRA       0x125c                                                                                          
                                                }                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
0012b6   ecaf     CALL      0x1b5e,0x0          if ((tickGet()-heartbeat)>TICK_SECOND*5)                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
0012b8   f00d                                                                                                               
0012ba   0100     MOVLB     0x0                                                                                             
0012bc   516b     MOVF      0x6b,0x0,0x1                                                                                    
0012be   5c12     SUBWF     0x12,0x0,0x0                                                                                    
0012c0   6e00     MOVWF     0x0,0x0                                                                                         
0012c2   516c     MOVF      0x6c,0x0,0x1                                                                                    
0012c4   5813     SUBWFB    0x13,0x0,0x0                                                                                    
0012c6   6e01     MOVWF     0x1,0x0                                                                                         
0012c8   516d     MOVF      0x6d,0x0,0x1                                                                                    
0012ca   5814     SUBWFB    0x14,0x0,0x0                                                                                    
0012cc   6e02     MOVWF     0x2,0x0                                                                                         
0012ce   516e     MOVF      0x6e,0x0,0x1                                                                                    
0012d0   5815     SUBWFB    0x15,0x0,0x0                                                                                    
0012d2   6e03     MOVWF     0x3,0x0                                                                                         
0012d4   80d8     BSF       0xd8,0x0,0x0                                                                                    
0012d6   0ef4     MOVLW     0xf4                                                                                            
0012d8   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0012da   0e01     MOVLW     0x1                                                                                             
0012dc   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0012de   0e00     MOVLW     0x0                                                                                             
0012e0   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0012e2   0e00     MOVLW     0x0                                                                                             
0012e4   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0012e6   e252     BC        0x138c                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    // Send alive heartbeat                                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
0012e8   6adf     CLRF      0xdf,0x0                outCm.funct                     = FUNCT_BOOTLOADER;                                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
0012ea   0e08     MOVLW     0x8                     outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
0012ec   6ef3     MOVWF     0xf3,0x0                                                                                        
0012ee   0e01     MOVLW     0x1                                                                                             
0012f0   cff3     MOVFF     0xff3,0xfdb                                                                                     
0012f2   ffdb                                                                                                               
0012f4   0e02     MOVLW     0x2                                                                                             
0012f6   6adb     CLRF      0xdb,0x0                                                                                        
0012f8   0e03     MOVLW     0x3                     outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
0012fa   c062     MOVFF     0x62,0xfdb                                                                                      
0012fc   ffdb                                                                                                               
0012fe   0e04     MOVLW     0x4                     outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
001300   c060     MOVFF     0x60,0xfdb                                                                                      
001302   ffdb                                                                                                               
001304   0e05     MOVLW     0x5                                                                                             
001306   c061     MOVFF     0x61,0xfdb                                                                                      
001308   ffdb                                                                                                               
00130a   0e01     MOVLW     0x1                     outCm.data_length               = 1;                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00130c   6ef3     MOVWF     0xf3,0x0                                                                                        
00130e   0e06     MOVLW     0x6                                                                                             
001310   cff3     MOVFF     0xff3,0xfdb                                                                                     
001312   ffdb                                                                                                               
001314   0e02     MOVLW     0x2                     outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_ALIVE;                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
001316   6ef3     MOVWF     0xf3,0x0                                                                                        
001318   0e07     MOVLW     0x7                                                                                             
00131a   cff3     MOVFF     0xff3,0xfdb                                                                                     
00131c   ffdb                                                                                                               
00131e   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
001320   6ee6     MOVWF     0xe6,0x0                                                                                        
001322   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
001324   ffe9                                                                                                               
001326   cfda     MOVFF     0xfda,0xfea                                                                                     
001328   ffea                                                                                                               
00132a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00132c   ffe6                                                                                                               
00132e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001330   ffe6                                                                                                               
001332   cfee     MOVFF     0xfee,0xfe6                                                                                     
001334   ffe6                                                                                                               
001336   cfee     MOVFF     0xfee,0xfe6                                                                                     
001338   ffe6                                                                                                               
00133a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00133c   ffe6                                                                                                               
00133e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001340   ffe6                                                                                                               
001342   cfee     MOVFF     0xfee,0xfe6                                                                                     
001344   ffe6                                                                                                               
001346   cfee     MOVFF     0xfee,0xfe6                                                                                     
001348   ffe6                                                                                                               
00134a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00134c   ffe6                                                                                                               
00134e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001350   ffe6                                                                                                               
001352   cfee     MOVFF     0xfee,0xfe6                                                                                     
001354   ffe6                                                                                                               
001356   cfee     MOVFF     0xfee,0xfe6                                                                                     
001358   ffe6                                                                                                               
00135a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00135c   ffe6                                                                                                               
00135e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001360   ffe6                                                                                                               
001362   cfee     MOVFF     0xfee,0xfe6                                                                                     
001364   ffe6                                                                                                               
001366   ec30     CALL      0x1860,0x0                                                                                      
001368   f00c                                                                                                               
00136a   6e00     MOVWF     0x0,0x0                                                                                         
00136c   0e10     MOVLW     0x10                                                                                            
00136e   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001370   5000     MOVF      0x0,0x0,0x0                                                                                     
001372   0900     IORLW     0x0                                                                                             
001374   e101     BNZ       0x1378                                                                                          
001376   d7d3     BRA       0x131e                                                                                          
                                                                                                                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
001378   ecaf     CALL      0x1b5e,0x0              heartbeat = tickGet();                                                        F:\MCP\projects\CAN\canFreezer\Source\Main.c
00137a   f00d                                                                                                               
00137c   c012     MOVFF     0x12,0x6b                                                                                       
00137e   f06b                                                                                                               
001380   c013     MOVFF     0x13,0x6c                                                                                       
001382   f06c                                                                                                               
001384   c014     MOVFF     0x14,0x6d                                                                                       
001386   f06d                                                                                                               
001388   c015     MOVFF     0x15,0x6e                                                                                       
00138a   f06e                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
00138c   ecaf     CALL      0x1b5e,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
00138e   f00d                                                                                                               
001390   0100     MOVLB     0x0                                                                                             
001392   5167     MOVF      0x67,0x0,0x1                                                                                    
001394   5c12     SUBWF     0x12,0x0,0x0                                                                                    
001396   6e00     MOVWF     0x0,0x0                                                                                         
001398   5168     MOVF      0x68,0x0,0x1                                                                                    
00139a   5813     SUBWFB    0x13,0x0,0x0                                                                                    
00139c   6e01     MOVWF     0x1,0x0                                                                                         
00139e   5169     MOVF      0x69,0x0,0x1                                                                                    
0013a0   5814     SUBWFB    0x14,0x0,0x0                                                                                    
0013a2   6e02     MOVWF     0x2,0x0                                                                                         
0013a4   516a     MOVF      0x6a,0x0,0x1                                                                                    
0013a6   5815     SUBWFB    0x15,0x0,0x0                                                                                    
0013a8   6e03     MOVWF     0x3,0x0                                                                                         
0013aa   80d8     BSF       0xd8,0x0,0x0                                                                                    
0013ac   0e64     MOVLW     0x64                                                                                            
0013ae   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0013b0   0e00     MOVLW     0x0                                                                                             
0013b2   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0013b4   0e00     MOVLW     0x0                                                                                             
0013b6   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0013b8   0e00     MOVLW     0x0                                                                                             
0013ba   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0013bc   e20b     BC        0x13d4                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
0013be   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
0013c0   ecaf     CALL      0x1b5e,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
0013c2   f00d                                                                                                               
0013c4   c012     MOVFF     0x12,0x67                                                                                       
0013c6   f067                                                                                                               
0013c8   c013     MOVFF     0x13,0x68                                                                                       
0013ca   f068                                                                                                               
0013cc   c014     MOVFF     0x14,0x69                                                                                       
0013ce   f069                                                                                                               
0013d0   c015     MOVFF     0x15,0x6a                                                                                       
0013d2   f06a                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                #ifdef USE_ADC                                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                if ((tickGet()-temperature)>TICK_SECOND*2) // Each 2 second, read temperature. F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                {                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    if (lastTemperature==TEMPERATURE_FREEZER) lastTemperature=TEMPERATURE_REFRIGERATOR; else lastTemperature=TEMPERATURE_FREEZER; F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    adcConvert(lastTemperature);                                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    temperature = tickGet();                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                #endif                                                                         F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                #ifdef USE_ADC                                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                if (adcDone()) // Has temperature, send it to the bus                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                {                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    BYTE decimal;                                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    signed char tenth;                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    temperatureRead(&tenth,&decimal);                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    outCm.funct                     = FUNCT_SENSORS;                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    outCm.funcc                     = (lastTemperature==TEMPERATURE_FREEZER?FUNCC_SENSORS_TEMPERATURE_FREEZER:FUNCC_SENSORS_TEMPERATURE_REFRIGERATOR); F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    outCm.nid                       = MY_NID;                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    outCm.sid                       = MY_ID;                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    outCm.data_length               = 2;                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    outCm.data[1]                   = tenth; //  signed 10 an 1 decimal.                        F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    outCm.data[0]                   = decimal; //  Decimal value, 0-9                           F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                #endif                                                                         F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
0013d6   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
0013d8   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0013da   e202     BC        0x13e0                                                                                          
0013dc   6ae1     CLRF      0xe1,0x0                                                                                        
0013de   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013e0   6ee1     MOVWF     0xe1,0x0                                                                                        
0013e2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0013e4   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0013e6   ffd9                                                                                                               
0013e8   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #pragma interrupt high_isr                                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
0013ea   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
0013ec   ffe4                                                                                                               
0013ee   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0013f0   ffda                                                                                                               
0013f2   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
0013f4   ffe4                                                                                                               
0013f6   cfea     MOVFF     0xfea,0xfe4                                                                                     
0013f8   ffe4                                                                                                               
0013fa   cff6     MOVFF     0xff6,0xfe4                                                                                     
0013fc   ffe4                                                                                                               
0013fe   cff7     MOVFF     0xff7,0xfe4                                                                                     
001400   ffe4                                                                                                               
001402   cff5     MOVFF     0xff5,0xfe4                                                                                     
001404   ffe4                                                                                                               
001406   cff3     MOVFF     0xff3,0xfe4                                                                                     
001408   ffe4                                                                                                               
00140a   cff4     MOVFF     0xff4,0xfe4                                                                                     
00140c   ffe4                                                                                                               
00140e   cffa     MOVFF     0xffa,0xfe4                                                                                     
001410   ffe4                                                                                                               
001412   ee00     LFSR      0x0,0xe                                                                                         
001414   f00e                                                                                                               
001416   0e0b     MOVLW     0xb                                                                                             
001418   04e8     DECF      0xe8,0x0,0x0                                                                                    
00141a   e303     BNC       0x1422                                                                                          
00141c   cfee     MOVFF     0xfee,0xfe4                                                                                     
00141e   ffe4                                                                                                               
001420   d7fb     BRA       0x1418                                                                                          
001422   ee00     LFSR      0x0,0x0                                                                                         
001424   f000                                                                                                               
001426   0e0e     MOVLW     0xe                                                                                             
001428   04e8     DECF      0xe8,0x0,0x0                                                                                    
00142a   e303     BNC       0x1432                                                                                          
00142c   cfee     MOVFF     0xfee,0xfe4                                                                                     
00142e   ffe4                                                                                                               
001430   d7fb     BRA       0x1428                                                                                          
001432   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001434   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
001436   ec45     CALL      0x168a,0x0          canISR();                                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
001438   f00b                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
00143a   ecb9     CALL      0x1b72,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
00143c   f00d                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
00143e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001440   ee00     LFSR      0x0,0xd                                                                                         
001442   f00d                                                                                                               
001444   0e0e     MOVLW     0xe                                                                                             
001446   04e8     DECF      0xe8,0x0,0x0                                                                                    
001448   e303     BNC       0x1450                                                                                          
00144a   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00144c   ffed                                                                                                               
00144e   d7fb     BRA       0x1446                                                                                          
001450   ee00     LFSR      0x0,0x18                                                                                        
001452   f018                                                                                                               
001454   0e0b     MOVLW     0xb                                                                                             
001456   04e8     DECF      0xe8,0x0,0x0                                                                                    
001458   e303     BNC       0x1460                                                                                          
00145a   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00145c   ffed                                                                                                               
00145e   d7fb     BRA       0x1456                                                                                          
001460   cfe5     MOVFF     0xfe5,0xffa                                                                                     
001462   fffa                                                                                                               
001464   cfe5     MOVFF     0xfe5,0xff4                                                                                     
001466   fff4                                                                                                               
001468   cfe5     MOVFF     0xfe5,0xff3                                                                                     
00146a   fff3                                                                                                               
00146c   cfe5     MOVFF     0xfe5,0xff5                                                                                     
00146e   fff5                                                                                                               
001470   cfe5     MOVFF     0xfe5,0xff7                                                                                     
001472   fff7                                                                                                               
001474   cfe5     MOVFF     0xfe5,0xff6                                                                                     
001476   fff6                                                                                                               
001478   cfe5     MOVFF     0xfe5,0xfea                                                                                     
00147a   ffea                                                                                                               
00147c   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
00147e   ffe9                                                                                                               
001480   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001482   ffda                                                                                                               
001484   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #pragma interrupt low_isr                                                        F:\MCP\projects\CAN\canFreezer\Source\Main.c
001486   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
001488   ffe4                                                                                                               
00148a   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00148c   ffda                                                                                                               
00148e   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                adcISR();                                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            #endif                                                                          F:\MCP\projects\CAN\canFreezer\Source\Main.c
001490   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001492   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001494   ffda                                                                                                               
001496   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001498   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
00149a   8892     BSF       0x92,0x4,0x0    DOOR_FREEZER_TRIS=1;                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
00149c   8a92     BSF       0x92,0x5,0x0    DOOR_REFRIGERATOR_TRIS=1;                                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
00149e   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014a0   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014a2   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014a4   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Function: canParse                                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Input:  Received can message                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014a6   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014a8   ffe6                                                                                                               
0014aa   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0014ac   ffd9                                                                                                               
0014ae   0e0f     MOVLW     0xf                                                                                             
0014b0   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014b2   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014b4   0ef0     MOVLW     0xf0            switch(cm.funct)                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014b6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0014b8   e001     BZ        0x14bc                                                                                          
0014ba   d0b2     BRA       0x1620                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                case FUNCT_BOOTLOADER:                                                         F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014bc   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\canFreezer\Source\Main.c
0014be   50db     MOVF      0xdb,0x0,0x0                                                                                    
0014c0   0100     MOVLB     0x0                                                                                             
0014c2   5d62     SUBWF     0x62,0x0,0x1                                                                                    
0014c4   e001     BZ        0x14c8                                                                                          
0014c6   d0ab     BRA       0x161e                                                                                          
0014c8   0efc     MOVLW     0xfc                                                                                            
0014ca   cfdb     MOVFF     0xfdb,0x2                                                                                       
0014cc   f002                                                                                                               
0014ce   c002     MOVFF     0x2,0x3                                                                                         
0014d0   f003                                                                                                               
0014d2   6a02     CLRF      0x2,0x0                                                                                         
0014d4   0efb     MOVLW     0xfb                                                                                            
0014d6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0014d8   0100     MOVLB     0x0                                                                                             
0014da   2402     ADDWF     0x2,0x0,0x0                                                                                     
0014dc   6e00     MOVWF     0x0,0x0                                                                                         
0014de   0e00     MOVLW     0x0                                                                                             
0014e0   2003     ADDWFC    0x3,0x0,0x0                                                                                     
0014e2   6e01     MOVWF     0x1,0x0                                                                                         
0014e4   0100     MOVLB     0x0                                                                                             
0014e6   5160     MOVF      0x60,0x0,0x1                                                                                    
0014e8   1800     XORWF     0x0,0x0,0x0                                                                                     
0014ea   e102     BNZ       0x14f0                                                                                          
0014ec   5161     MOVF      0x61,0x0,0x1                                                                                    
0014ee   1801     XORWF     0x1,0x0,0x0                                                                                     
0014f0   e001     BZ        0x14f4                                                                                          
0014f2   d095     BRA       0x161e                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014f4   0ef1     MOVLW     0xf1                        switch(cm.funcc)                                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
0014f6   cfdb     MOVFF     0xfdb,0x14                                                                                      
0014f8   f014                                                                                                               
0014fa   0ef2     MOVLW     0xf2                                                                                            
0014fc   cfdb     MOVFF     0xfdb,0x15                                                                                      
0014fe   f015                                                                                                               
001500   0e06     MOVLW     0x6                                                                                             
001502   1814     XORWF     0x14,0x0,0x0                                                                                    
001504   e101     BNZ       0x1508                                                                                          
001506   5015     MOVF      0x15,0x0,0x0                                                                                    
001508   e008     BZ        0x151a                                                                                          
00150a   0e01     MOVLW     0x1                                                                                             
00150c   1814     XORWF     0x14,0x0,0x0                                                                                    
00150e   e101     BNZ       0x1512                                                                                          
001510   5015     MOVF      0x15,0x0,0x0                                                                                    
001512   e001     BZ        0x1516                                                                                          
001514   d084     BRA       0x161e                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
001516   00ff     RESET                                     case FUNCC_BOOT_INIT: Reset(); break; //User whant to program me, reset me. F:\MCP\projects\CAN\canFreezer\Source\Main.c
001518   d082     BRA       0x161e                                                                                          
                                                            case FUNCC_BOOT_SET_ID:                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00151a   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\canFreezer\Source\Main.c
00151c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00151e   f000                                                                                                               
001520   c000     MOVFF     0x0,0x1                                                                                         
001522   f001                                                                                                               
001524   6a00     CLRF      0x0,0x0                                                                                         
001526   0ef7     MOVLW     0xf7                                                                                            
001528   50db     MOVF      0xdb,0x0,0x0                                                                                    
00152a   0100     MOVLB     0x0                                                                                             
00152c   2400     ADDWF     0x0,0x0,0x0                                                                                     
00152e   6f60     MOVWF     0x60,0x1                                                                                        
001530   0e00     MOVLW     0x0                                                                                             
001532   2001     ADDWFC    0x1,0x0,0x0                                                                                     
001534   6f61     MOVWF     0x61,0x1                                                                                        
001536   0ef9     MOVLW     0xf9                                MY_NID=cm.data[BOOT_DATA_NEW_NID_INDEX];                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
001538   cfdb     MOVFF     0xfdb,0x62                                                                                      
00153a   f062                                                                                                               
00153c   0ef8     MOVLW     0xf8                                EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX]);                F:\MCP\projects\CAN\canFreezer\Source\Main.c
00153e   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001540   ffe6                                                                                                               
001542   0e01     MOVLW     0x1                                                                                             
001544   6ee6     MOVWF     0xe6,0x0                                                                                        
001546   6ae6     CLRF      0xe6,0x0                                                                                        
001548   ec25     CALL      0x1a4a,0x0                                                                                      
00154a   f00d                                                                                                               
00154c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00154e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001550   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001552   0ef7     MOVLW     0xf7                                EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]);                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
001554   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001556   ffe6                                                                                                               
001558   0e02     MOVLW     0x2                                                                                             
00155a   6ee6     MOVWF     0xe6,0x0                                                                                        
00155c   6ae6     CLRF      0xe6,0x0                                                                                        
00155e   ec25     CALL      0x1a4a,0x0                                                                                      
001560   f00d                                                                                                               
001562   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001564   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001566   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001568   0ef9     MOVLW     0xf9                                EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID_INDEX]);                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00156a   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00156c   ffe6                                                                                                               
00156e   0e03     MOVLW     0x3                                                                                             
001570   6ee6     MOVWF     0xe6,0x0                                                                                        
001572   6ae6     CLRF      0xe6,0x0                                                                                        
001574   ec25     CALL      0x1a4a,0x0                                                                                      
001576   f00d                                                                                                               
001578   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00157a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00157c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00157e   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canFreezer\Source\Main.c
001580   6ee6     MOVWF     0xe6,0x0                                                                                        
001582   0e00     MOVLW     0x0                                                                                             
001584   6ee6     MOVWF     0xe6,0x0                                                                                        
001586   6ae6     CLRF      0xe6,0x0                                                                                        
001588   ec25     CALL      0x1a4a,0x0                                                                                      
00158a   f00d                                                                                                               
00158c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00158e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001590   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
001592   6adf     CLRF      0xdf,0x0                            outCm.funct                     = FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canFreezer\Source\Main.c
001594   0e04     MOVLW     0x4                                 outCm.funcc                     = FUNCC_BOOT_ACK;                                         F:\MCP\projects\CAN\canFreezer\Source\Main.c
001596   6ef3     MOVWF     0xf3,0x0                                                                                        
001598   0e01     MOVLW     0x1                                                                                             
00159a   cff3     MOVFF     0xff3,0xfdb                                                                                     
00159c   ffdb                                                                                                               
00159e   0e02     MOVLW     0x2                                                                                             
0015a0   6adb     CLRF      0xdb,0x0                                                                                        
0015a2   0e03     MOVLW     0x3                                 outCm.nid                       = MY_NID;                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
0015a4   c062     MOVFF     0x62,0xfdb                                                                                      
0015a6   ffdb                                                                                                               
0015a8   0e04     MOVLW     0x4                                 outCm.sid                       = MY_ID;                                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
0015aa   c060     MOVFF     0x60,0xfdb                                                                                      
0015ac   ffdb                                                                                                               
0015ae   0e05     MOVLW     0x5                                                                                             
0015b0   c061     MOVFF     0x61,0xfdb                                                                                      
0015b2   ffdb                                                                                                               
0015b4   0e08     MOVLW     0x8                                 outCm.data_length               = 8;                                                 F:\MCP\projects\CAN\canFreezer\Source\Main.c
0015b6   6ef3     MOVWF     0xf3,0x0                                                                                        
0015b8   0e06     MOVLW     0x6                                                                                             
0015ba   cff3     MOVFF     0xff3,0xfdb                                                                                     
0015bc   ffdb                                                                                                               
0015be   0e0b     MOVLW     0xb                                 outCm.data[BOOT_DATA_ERR_INDEX] = ACK_ERR_NO_ERROR;                        F:\MCP\projects\CAN\canFreezer\Source\Main.c
0015c0   6adb     CLRF      0xdb,0x0                                                                                        
0015c2   0e02     MOVLW     0x2                                 while(!canSendMessage(outCm,PRIO_HIGH));                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
0015c4   6ee6     MOVWF     0xe6,0x0                                                                                        
0015c6   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
0015c8   ffe9                                                                                                               
0015ca   cfda     MOVFF     0xfda,0xfea                                                                                     
0015cc   ffea                                                                                                               
0015ce   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015d0   ffe6                                                                                                               
0015d2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015d4   ffe6                                                                                                               
0015d6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015d8   ffe6                                                                                                               
0015da   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015dc   ffe6                                                                                                               
0015de   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015e0   ffe6                                                                                                               
0015e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015e4   ffe6                                                                                                               
0015e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015e8   ffe6                                                                                                               
0015ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015ec   ffe6                                                                                                               
0015ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015f0   ffe6                                                                                                               
0015f2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015f4   ffe6                                                                                                               
0015f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015f8   ffe6                                                                                                               
0015fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0015fc   ffe6                                                                                                               
0015fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
001600   ffe6                                                                                                               
001602   cfee     MOVFF     0xfee,0xfe6                                                                                     
001604   ffe6                                                                                                               
001606   cfee     MOVFF     0xfee,0xfe6                                                                                     
001608   ffe6                                                                                                               
00160a   ec30     CALL      0x1860,0x0                                                                                      
00160c   f00c                                                                                                               
00160e   6e00     MOVWF     0x0,0x0                                                                                         
001610   0e10     MOVLW     0x10                                                                                            
001612   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001614   5000     MOVF      0x0,0x0,0x0                                                                                     
001616   0900     IORLW     0x0                                                                                             
001618   e101     BNZ       0x161c                                                                                          
00161a   d7d3     BRA       0x15c2                                                                                          
00161c   d000     BRA       0x161e                          break;                                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                    }                                                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
00161e   d000     BRA       0x1620              break;                                                                         F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
001620   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001622   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001624   e202     BC        0x162a                                                                                          
001626   6ae1     CLRF      0xe1,0x0                                                                                        
001628   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00162a   6ee1     MOVWF     0xe1,0x0                                                                                        
00162c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00162e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001630   ffd9                                                                                                               
001632   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           // Below are mandantory when using bootloader                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           // define DEBUG_MODE to use without bootloader.                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #ifndef DEBUG_MODE                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           extern void _startup (void);                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #pragma code _RESET_INTERRUPT_VECTOR = 0x001000                                  F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           void _reset (void)                                                               F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001000   efc7     GOTO      0x1b8e             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
001002   f00d                                                                                                               
001004   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #pragma code _HIGH_INTERRUPT_VECTOR = 0x001008                                   F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           void _high_ISR (void)                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001008   eff5     GOTO      0x13ea          _asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canFreezer\Source\Main.c
00100a   f009                                                                                                               
00100c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #pragma code _LOW_INTERRUPT_VECTOR = 0x001018                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           void _low_ISR (void)                                                             F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
001018   ef43     GOTO      0x1486             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canFreezer\Source\Main.c
00101a   f00a                                                                                                               
00101c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canFreezer\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *   Functions for reading and writing to EEPROM.                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            * FileName:         $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/EEAccess.c $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Last changed: $LastChangedDate: 2006-11-20 21:31:03 +0100 (må, 20 nov 2006) $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * By:           $LastChangedBy: johboh $                                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Revision:     $Revision: 139 $                                                   F:\MCP\projects\CAN\Include\EEAccess.c
                                            ********************************************************************/           F:\MCP\projects\CAN\Include\EEAccess.c
                                           #include <p18cxxx.h>                                                             F:\MCP\projects\CAN\Include\EEAccess.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Function: EERead                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                           *                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Input:  WORD address to read from.                                              F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Output: Byte read.                                                             F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\EEAccess.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\EEAccess.c
                                           */                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001a00   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
001a02   ffe6                                                                                                               
001a04   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a06   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a08   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001a0a   cfdb     MOVFF     0xfdb,0x0                                                                                       
001a0c   f000                                                                                                               
001a0e   0efe     MOVLW     0xfe                                                                                            
001a10   cfdb     MOVFF     0xfdb,0x1                                                                                       
001a12   f001                                                                                                               
001a14   c001     MOVFF     0x1,0x0                                                                                         
001a16   f000                                                                                                               
001a18   6a01     CLRF      0x1,0x0                                                                                         
001a1a   5000     MOVF      0x0,0x0,0x0                                                                                     
001a1c   6eaa     MOVWF     0xaa,0x0                                                                                        
001a1e   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001a20   6ee7     MOVWF     0xe7,0x0                                                                                        
001a22   0efd     MOVLW     0xfd                                                                                            
001a24   cfdb     MOVFF     0xfdb,0x0                                                                                       
001a26   f000                                                                                                               
001a28   0efe     MOVLW     0xfe                                                                                            
001a2a   cfdb     MOVFF     0xfdb,0x1                                                                                       
001a2c   f001                                                                                                               
001a2e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001a30   1600     ANDWF     0x0,0x1,0x0                                                                                     
001a32   6a01     CLRF      0x1,0x0                                                                                         
001a34   5000     MOVF      0x0,0x0,0x0                                                                                     
001a36   6ea9     MOVWF     0xa9,0x0                                                                                        
001a38   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001a3a   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001a3c   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a3e   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
001a40   d000     BRA       0x1a42                                                                                          
001a42   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a44   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001a46   ffd9                                                                                                               
001a48   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
001a4a   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a4c   ffe6                                                                                                               
001a4e   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a50   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a52   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a54   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001a56   cfdb     MOVFF     0xfdb,0x0                                                                                       
001a58   f000                                                                                                               
001a5a   0efe     MOVLW     0xfe                                                                                            
001a5c   cfdb     MOVFF     0xfdb,0x1                                                                                       
001a5e   f001                                                                                                               
001a60   c001     MOVFF     0x1,0x0                                                                                         
001a62   f000                                                                                                               
001a64   6a01     CLRF      0x1,0x0                                                                                         
001a66   5000     MOVF      0x0,0x0,0x0                                                                                     
001a68   6eaa     MOVWF     0xaa,0x0                                                                                        
001a6a   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001a6c   6ee7     MOVWF     0xe7,0x0                                                                                        
001a6e   0efd     MOVLW     0xfd                                                                                            
001a70   cfdb     MOVFF     0xfdb,0x0                                                                                       
001a72   f000                                                                                                               
001a74   0efe     MOVLW     0xfe                                                                                            
001a76   cfdb     MOVFF     0xfdb,0x1                                                                                       
001a78   f001                                                                                                               
001a7a   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001a7c   1600     ANDWF     0x0,0x1,0x0                                                                                     
001a7e   6a01     CLRF      0x1,0x0                                                                                         
001a80   5000     MOVF      0x0,0x0,0x0                                                                                     
001a82   6ea9     MOVWF     0xa9,0x0                                                                                        
001a84   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001a86   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a88   6ea8     MOVWF     0xa8,0x0                                                                                        
001a8a   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001a8c   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001a8e   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001a90   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001a92   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001a94   6ea7     MOVWF     0xa7,0x0                                                                                        
001a96   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001a98   6ea7     MOVWF     0xa7,0x0                                                                                        
001a9a   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001a9c   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001a9e   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
001aa0   d7fe     BRA       0x1a9e                                                                                          
001aa2   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001aa4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001aa6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001aa8   ffd9                                                                                                               
001aaa   0012     RETURN    0x0