Subversion Repositories HomeAutomation

Rev

Rev 275 | 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 Jan 30 12:48:30 2007


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                  CAN module                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/CAN.c $ F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * Last changed: $LastChangedDate: 2007-01-28 14:58:11 +0100 (sö, 28 jan 2007) $ F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * Revision:     $Revision: 260 $                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <CANdefs.h>                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           TICK heartbeat;                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static CAN_MESSAGE outCm;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Function: canInit                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Affects: Changes can registers.                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           void canInit()                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001068   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00106a   6e6f     MOVWF     0x6f,0x0                                                                                        
00106c   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
00106e   146e     ANDWF     0x6e,0x0,0x0                                                                                    
001070   0880     SUBLW     0x80                                                                                            
001072   e001     BZ        0x1076                                                                                          
001074   d7fb     BRA       0x106c                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // BAUD AND TQS                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // 500Khz@40Mhz (new by the book)                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001076   0e04     MOVLW     0x4             BRGCON1 = 0x04;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001078   6e70     MOVWF     0x70,0x0                                                                                        
00107a   0ed1     MOVLW     0xd1            BRGCON2 = 0xD1;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00107c   6e71     MOVWF     0x71,0x0                                                                                        
00107e   0e81     MOVLW     0x81            BRGCON3 = 0x81;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001080   6e72     MOVWF     0x72,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON1=0;                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON1bits.SJW1=0;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON1bits.SJW0=1;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Setting BRP.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON1=BRGCON1|CAN_BRP;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.SEG2PHTS = 1;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.SEG1PH2 = 0;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.SEG1PH1 = 0;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.SEG1PH0 = 1;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.PRSEG2 = 0;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.PRSEG1 = 0;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON2bits.PRSEG0 = 1;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.WAKDIS = 0;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.WAKFIL = 0;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.SEG2PH2 = 0;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.SEG2PH1 = 0;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //BRGCON3bits.SEG2PH0 = 1;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001082   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001084   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001086   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
001088   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
00108a   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
00108c   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00108e   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001090   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001092   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
001094   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001096   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
001098   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
00109a   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00109c   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00109e   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0010a0   e001     BZ        0x10a4                                                                                          
0010a2   d7fc     BRA       0x109c                                                                                          
                                            #endif                                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Init ticker service                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0010a4   ec33     CALL      0x2066,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0010a6   f010                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
0010a8   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0010aa   6ee6     MOVWF     0xe6,0x0                                                                                        
0010ac   6ae6     CLRF      0xe6,0x0                                                                                        
0010ae   eca1     CALL      0x1d42,0x0                                                                                      
0010b0   f00e                                                                                                               
0010b2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010b6   082a     SUBLW     0x2a                                                                                            
0010b8   e12b     BNZ       0x1110                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0010ba   0e01     MOVLW     0x1                 MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canBase\Source\CAN.c
0010bc   6ee6     MOVWF     0xe6,0x0                                                                                        
0010be   6ae6     CLRF      0xe6,0x0                                                                                        
0010c0   eca1     CALL      0x1d42,0x0                                                                                      
0010c2   f00e                                                                                                               
0010c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010c6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010c8   6e14     MOVWF     0x14,0x0                                                                                        
0010ca   c014     MOVFF     0x14,0x15                                                                                       
0010cc   f015                                                                                                               
0010ce   6a14     CLRF      0x14,0x0                                                                                        
0010d0   c014     MOVFF     0x14,0xfe6                                                                                      
0010d2   ffe6                                                                                                               
0010d4   c015     MOVFF     0x15,0xfe6                                                                                      
0010d6   ffe6                                                                                                               
0010d8   0e02     MOVLW     0x2                                                                                             
0010da   6ee6     MOVWF     0xe6,0x0                                                                                        
0010dc   6ae6     CLRF      0xe6,0x0                                                                                        
0010de   eca1     CALL      0x1d42,0x0                                                                                      
0010e0   f00e                                                                                                               
0010e2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010e4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010e6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010e8   cfe7     MOVFF     0xfe7,0x15                                                                                      
0010ea   f015                                                                                                               
0010ec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0010ee   cfe7     MOVFF     0xfe7,0x14                                                                                      
0010f0   f014                                                                                                               
0010f2   0100     MOVLB     0x0                                                                                             
0010f4   2414     ADDWF     0x14,0x0,0x0                                                                                    
0010f6   6f9c     MOVWF     0x9c,0x1                                                                                        
0010f8   0e00     MOVLW     0x0                                                                                             
0010fa   2015     ADDWFC    0x15,0x0,0x0                                                                                    
0010fc   6f9d     MOVWF     0x9d,0x1                                                                                        
0010fe   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001100   6ee6     MOVWF     0xe6,0x0                                                                                        
001102   6ae6     CLRF      0xe6,0x0                                                                                        
001104   eca1     CALL      0x1d42,0x0                                                                                      
001106   f00e                                                                                                               
001108   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00110a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00110c   0100     MOVLB     0x0                                                                                             
00110e   6f9e     MOVWF     0x9e,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Send user program startup heatbeat                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
001110   0100     MOVLB     0x0             outCm.funct                     = FUNCT_BOOTLOADER;                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001112   6b64     CLRF      0x64,0x1                                                                                        
001114   0e08     MOVLW     0x8             outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001116   6f65     MOVWF     0x65,0x1                                                                                        
001118   6b66     CLRF      0x66,0x1                                                                                        
00111a   0e01     MOVLW     0x1             outCm.data_length               = 1;                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00111c   6f6a     MOVWF     0x6a,0x1                                                                                        
00111e   6f6b     MOVWF     0x6b,0x1        outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_USER_STARTUP;                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001120   0e02     MOVLW     0x2             while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001122   6ee6     MOVWF     0xe6,0x0                                                                                        
001124   c064     MOVFF     0x64,0xfe6                                                                                      
001126   ffe6                                                                                                               
001128   c065     MOVFF     0x65,0xfe6                                                                                      
00112a   ffe6                                                                                                               
00112c   c066     MOVFF     0x66,0xfe6                                                                                      
00112e   ffe6                                                                                                               
001130   c067     MOVFF     0x67,0xfe6                                                                                      
001132   ffe6                                                                                                               
001134   c068     MOVFF     0x68,0xfe6                                                                                      
001136   ffe6                                                                                                               
001138   c069     MOVFF     0x69,0xfe6                                                                                      
00113a   ffe6                                                                                                               
00113c   c06a     MOVFF     0x6a,0xfe6                                                                                      
00113e   ffe6                                                                                                               
001140   c06b     MOVFF     0x6b,0xfe6                                                                                      
001142   ffe6                                                                                                               
001144   c06c     MOVFF     0x6c,0xfe6                                                                                      
001146   ffe6                                                                                                               
001148   c06d     MOVFF     0x6d,0xfe6                                                                                      
00114a   ffe6                                                                                                               
00114c   c06e     MOVFF     0x6e,0xfe6                                                                                      
00114e   ffe6                                                                                                               
001150   c06f     MOVFF     0x6f,0xfe6                                                                                      
001152   ffe6                                                                                                               
001154   c070     MOVFF     0x70,0xfe6                                                                                      
001156   ffe6                                                                                                               
001158   c071     MOVFF     0x71,0xfe6                                                                                      
00115a   ffe6                                                                                                               
00115c   c072     MOVFF     0x72,0xfe6                                                                                      
00115e   ffe6                                                                                                               
001160   d9f3     RCALL     0x1548                                                                                          
001162   6e14     MOVWF     0x14,0x0                                                                                        
001164   0e10     MOVLW     0x10                                                                                            
001166   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001168   5014     MOVF      0x14,0x0,0x0                                                                                    
00116a   0900     IORLW     0x0                                                                                             
00116c   e101     BNZ       0x1170                                                                                          
00116e   d7d8     BRA       0x1120                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001170   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
001172   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
001174   0b02     ANDLW     0x2                                                                                             
001176   e106     BNZ       0x1184                                                                                          
001178   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00117a   0b02     ANDLW     0x2                                                                                             
00117c   e103     BNZ       0x1184                                                                                          
00117e   50a4     MOVF      0xa4,0x0,0x0                                                                                    
001180   0b01     ANDLW     0x1                                                                                             
001182   e016     BZ        0x11b0                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
001184   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
001186   146f     ANDWF     0x6f,0x0,0x0                                                                                    
001188   0910     IORLW     0x10                                                                                            
00118a   6e14     MOVWF     0x14,0x0                                                                                        
00118c   0e00     MOVLW     0x0                                                                                             
00118e   1477     ANDWF     0x77,0x0,0x0                                                                                    
001190   1014     IORWF     0x14,0x0,0x0                                                                                    
001192   6e77     MOVWF     0x77,0x0                                                                                        
001194   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001196   d86a     RCALL     0x126c                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001198   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00119a   d002     BRA       0x11a0                                                                                          
00119c   92a4     BCF       0xa4,0x1,0x0                                                                                    
00119e   d065     BRA       0x126a                                                                                          
0011a0   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0011a2   d002     BRA       0x11a8                                                                                          
0011a4   92a4     BCF       0xa4,0x1,0x0                                                                                    
0011a6   d061     BRA       0x126a                                                                                          
0011a8   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0011aa   d002     BRA       0x11b0                                                                                          
0011ac   90a4     BCF       0xa4,0x0,0x0                                                                                    
0011ae   d05d     BRA       0x126a                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0011b0   ec47     CALL      0x208e,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0011b2   f010                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0011b4   ec3d     CALL      0x207a,0x0      if ((tickGet()-heartbeat)>TICK_SECOND*5)                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0011b6   f010                                                                                                               
0011b8   0100     MOVLB     0x0                                                                                             
0011ba   5160     MOVF      0x60,0x0,0x1                                                                                    
0011bc   5c06     SUBWF     0x6,0x0,0x0                                                                                     
0011be   6e14     MOVWF     0x14,0x0                                                                                        
0011c0   0100     MOVLB     0x0                                                                                             
0011c2   5161     MOVF      0x61,0x0,0x1                                                                                    
0011c4   5807     SUBWFB    0x7,0x0,0x0                                                                                     
0011c6   6e15     MOVWF     0x15,0x0                                                                                        
0011c8   0100     MOVLB     0x0                                                                                             
0011ca   5162     MOVF      0x62,0x0,0x1                                                                                    
0011cc   5808     SUBWFB    0x8,0x0,0x0                                                                                     
0011ce   6e16     MOVWF     0x16,0x0                                                                                        
0011d0   0100     MOVLB     0x0                                                                                             
0011d2   5163     MOVF      0x63,0x0,0x1                                                                                    
0011d4   5809     SUBWFB    0x9,0x0,0x0                                                                                     
0011d6   6e17     MOVWF     0x17,0x0                                                                                        
0011d8   80d8     BSF       0xd8,0x0,0x0                                                                                    
0011da   0ef4     MOVLW     0xf4                                                                                            
0011dc   5414     SUBFWB    0x14,0x0,0x0                                                                                    
0011de   0e01     MOVLW     0x1                                                                                             
0011e0   5415     SUBFWB    0x15,0x0,0x0                                                                                    
0011e2   0e00     MOVLW     0x0                                                                                             
0011e4   5416     SUBFWB    0x16,0x0,0x0                                                                                    
0011e6   0e00     MOVLW     0x0                                                                                             
0011e8   5417     SUBFWB    0x17,0x0,0x0                                                                                    
0011ea   e23e     BC        0x1268                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Send alive heartbeat                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0011ec   0100     MOVLB     0x0                 outCm.funct                     = FUNCT_BOOTLOADER;                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0011ee   6b64     CLRF      0x64,0x1                                                                                        
0011f0   0e08     MOVLW     0x8                 outCm.funcc                     = FUNCC_BOOT_HEARTBEAT;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0011f2   0100     MOVLB     0x0                                                                                             
0011f4   6f65     MOVWF     0x65,0x1                                                                                        
0011f6   6b66     CLRF      0x66,0x1                                                                                        
0011f8   0100     MOVLB     0x0                 outCm.data_length               = 1;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0011fa   0e01     MOVLW     0x1                                                                                             
0011fc   6f6a     MOVWF     0x6a,0x1                                                                                        
0011fe   0100     MOVLB     0x0                 outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_ALIVE;                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001200   0e02     MOVLW     0x2                                                                                             
001202   6f6b     MOVWF     0x6b,0x1                                                                                        
001204   0e02     MOVLW     0x2                 while(!canSendMessage(outCm,PRIO_HIGH));                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001206   6ee6     MOVWF     0xe6,0x0                                                                                        
001208   c064     MOVFF     0x64,0xfe6                                                                                      
00120a   ffe6                                                                                                               
00120c   c065     MOVFF     0x65,0xfe6                                                                                      
00120e   ffe6                                                                                                               
001210   c066     MOVFF     0x66,0xfe6                                                                                      
001212   ffe6                                                                                                               
001214   c067     MOVFF     0x67,0xfe6                                                                                      
001216   ffe6                                                                                                               
001218   c068     MOVFF     0x68,0xfe6                                                                                      
00121a   ffe6                                                                                                               
00121c   c069     MOVFF     0x69,0xfe6                                                                                      
00121e   ffe6                                                                                                               
001220   c06a     MOVFF     0x6a,0xfe6                                                                                      
001222   ffe6                                                                                                               
001224   c06b     MOVFF     0x6b,0xfe6                                                                                      
001226   ffe6                                                                                                               
001228   c06c     MOVFF     0x6c,0xfe6                                                                                      
00122a   ffe6                                                                                                               
00122c   c06d     MOVFF     0x6d,0xfe6                                                                                      
00122e   ffe6                                                                                                               
001230   c06e     MOVFF     0x6e,0xfe6                                                                                      
001232   ffe6                                                                                                               
001234   c06f     MOVFF     0x6f,0xfe6                                                                                      
001236   ffe6                                                                                                               
001238   c070     MOVFF     0x70,0xfe6                                                                                      
00123a   ffe6                                                                                                               
00123c   c071     MOVFF     0x71,0xfe6                                                                                      
00123e   ffe6                                                                                                               
001240   c072     MOVFF     0x72,0xfe6                                                                                      
001242   ffe6                                                                                                               
001244   d981     RCALL     0x1548                                                                                          
001246   6e14     MOVWF     0x14,0x0                                                                                        
001248   0e10     MOVLW     0x10                                                                                            
00124a   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00124c   5014     MOVF      0x14,0x0,0x0                                                                                    
00124e   0900     IORLW     0x0                                                                                             
001250   e101     BNZ       0x1254                                                                                          
001252   d7d8     BRA       0x1204                                                                                          
                                                                                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001254   ec3d     CALL      0x207a,0x0          heartbeat = tickGet();                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001256   f010                                                                                                               
001258   c006     MOVFF     0x6,0x60                                                                                        
00125a   f060                                                                                                               
00125c   c007     MOVFF     0x7,0x61                                                                                        
00125e   f061                                                                                                               
001260   c008     MOVFF     0x8,0x62                                                                                        
001262   f062                                                                                                               
001264   c009     MOVFF     0x9,0x63                                                                                        
001266   f063                                                                                                               
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001268   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00126a   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
00126c   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00126e   ffe6                                                                                                               
001270   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001272   ffd9                                                                                                               
001274   0e0f     MOVLW     0xf                                                                                             
001276   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
001278   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00127a   1461     ANDWF     0x61,0x0,0x0                                                                                    
00127c   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
00127e   0b0f     ANDLW     0xf                                                                                             
001280   6edf     MOVWF     0xdf,0x0                                                                                        
001282   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
001284   1461     ANDWF     0x61,0x0,0x0                                                                                    
001286   6e1a     MOVWF     0x1a,0x0                                                                                        
001288   6a1b     CLRF      0x1b,0x0                                                                                        
00128a   0e06     MOVLW     0x6                                                                                             
00128c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00128e   361a     RLCF      0x1a,0x1,0x0                                                                                    
001290   361b     RLCF      0x1b,0x1,0x0                                                                                    
001292   04e8     DECF      0xe8,0x0,0x0                                                                                    
001294   e1fb     BNZ       0x128c                                                                                          
001296   0ee0     MOVLW     0xe0                                                                                            
001298   1462     ANDWF     0x62,0x0,0x0                                                                                    
00129a   6e1c     MOVWF     0x1c,0x0                                                                                        
00129c   6a1d     CLRF      0x1d,0x0                                                                                        
00129e   90d8     BCF       0xd8,0x0,0x0                                                                                    
0012a0   321d     RRCF      0x1d,0x1,0x0                                                                                    
0012a2   321c     RRCF      0x1c,0x1,0x0                                                                                    
0012a4   90d8     BCF       0xd8,0x0,0x0                                                                                    
0012a6   321d     RRCF      0x1d,0x1,0x0                                                                                    
0012a8   321c     RRCF      0x1c,0x1,0x0                                                                                    
0012aa   501a     MOVF      0x1a,0x0,0x0                                                                                    
0012ac   241c     ADDWF     0x1c,0x0,0x0                                                                                    
0012ae   6e18     MOVWF     0x18,0x0                                                                                        
0012b0   501b     MOVF      0x1b,0x0,0x0                                                                                    
0012b2   201d     ADDWFC    0x1d,0x0,0x0                                                                                    
0012b4   6e19     MOVWF     0x19,0x0                                                                                        
0012b6   0e03     MOVLW     0x3                                                                                             
0012b8   1462     ANDWF     0x62,0x0,0x0                                                                                    
0012ba   6e1e     MOVWF     0x1e,0x0                                                                                        
0012bc   6a1f     CLRF      0x1f,0x0                                                                                        
0012be   90d8     BCF       0xd8,0x0,0x0                                                                                    
0012c0   361e     RLCF      0x1e,0x1,0x0                                                                                    
0012c2   361f     RLCF      0x1f,0x1,0x0                                                                                    
0012c4   5018     MOVF      0x18,0x0,0x0                                                                                    
0012c6   241e     ADDWF     0x1e,0x0,0x0                                                                                    
0012c8   6e16     MOVWF     0x16,0x0                                                                                        
0012ca   5019     MOVF      0x19,0x0,0x0                                                                                    
0012cc   201f     ADDWFC    0x1f,0x0,0x0                                                                                    
0012ce   6e17     MOVWF     0x17,0x0                                                                                        
0012d0   0e80     MOVLW     0x80                                                                                            
0012d2   1463     ANDWF     0x63,0x0,0x0                                                                                    
0012d4   6e20     MOVWF     0x20,0x0                                                                                        
0012d6   6a21     CLRF      0x21,0x0                                                                                        
0012d8   0e07     MOVLW     0x7                                                                                             
0012da   90d8     BCF       0xd8,0x0,0x0                                                                                    
0012dc   3221     RRCF      0x21,0x1,0x0                                                                                    
0012de   3220     RRCF      0x20,0x1,0x0                                                                                    
0012e0   04e8     DECF      0xe8,0x0,0x0                                                                                    
0012e2   e1fb     BNZ       0x12da                                                                                          
0012e4   5016     MOVF      0x16,0x0,0x0                                                                                    
0012e6   2420     ADDWF     0x20,0x0,0x0                                                                                    
0012e8   6e14     MOVWF     0x14,0x0                                                                                        
0012ea   5017     MOVF      0x17,0x0,0x0                                                                                    
0012ec   2021     ADDWFC    0x21,0x0,0x0                                                                                    
0012ee   6e15     MOVWF     0x15,0x0                                                                                        
0012f0   0e01     MOVLW     0x1                                                                                             
0012f2   c014     MOVFF     0x14,0xfdb                                                                                      
0012f4   ffdb                                                                                                               
0012f6   0e02     MOVLW     0x2                                                                                             
0012f8   c015     MOVFF     0x15,0xfdb                                                                                      
0012fa   ffdb                                                                                                               
0012fc   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0012fe   1463     ANDWF     0x63,0x0,0x0                                                                                    
001300   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
001302   0b7f     ANDLW     0x7f                                                                                            
001304   6ee7     MOVWF     0xe7,0x0                                                                                        
001306   0e03     MOVLW     0x3                                                                                             
001308   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00130a   ffdb                                                                                                               
00130c   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00130e   1463     ANDWF     0x63,0x0,0x0                                                                                    
001310   6e16     MOVWF     0x16,0x0                                                                                        
001312   c016     MOVFF     0x16,0x17                                                                                       
001314   f017                                                                                                               
001316   6a16     CLRF      0x16,0x0                                                                                        
001318   5064     MOVF      0x64,0x0,0x0                                                                                    
00131a   0100     MOVLB     0x0                                                                                             
00131c   2416     ADDWF     0x16,0x0,0x0                                                                                    
00131e   6e14     MOVWF     0x14,0x0                                                                                        
001320   0e00     MOVLW     0x0                                                                                             
001322   2017     ADDWFC    0x17,0x0,0x0                                                                                    
001324   6e15     MOVWF     0x15,0x0                                                                                        
001326   0e04     MOVLW     0x4                                                                                             
001328   c014     MOVFF     0x14,0xfdb                                                                                      
00132a   ffdb                                                                                                               
00132c   0e05     MOVLW     0x5                                                                                             
00132e   c015     MOVFF     0x15,0xfdb                                                                                      
001330   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
001332   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
001334   0b01     ANDLW     0x1                                                                                             
001336   6e16     MOVWF     0x16,0x0                                                                                        
001338   5065     MOVF      0x65,0x0,0x0                                                                                    
00133a   0b02     ANDLW     0x2                                                                                             
00133c   e001     BZ        0x1340                                                                                          
00133e   0e01     MOVLW     0x1                                                                                             
001340   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001342   6e15     MOVWF     0x15,0x0                                                                                        
001344   5065     MOVF      0x65,0x0,0x0                                                                                    
001346   0b04     ANDLW     0x4                                                                                             
001348   e001     BZ        0x134c                                                                                          
00134a   0e01     MOVLW     0x1                                                                                             
00134c   0d04     MULLW     0x4                                                                                             
00134e   cff3     MOVFF     0xff3,0x14                                                                                      
001350   f014                                                                                                               
001352   5065     MOVF      0x65,0x0,0x0                                                                                    
001354   0b08     ANDLW     0x8                                                                                             
001356   e001     BZ        0x135a                                                                                          
001358   0e01     MOVLW     0x1                                                                                             
00135a   0d08     MULLW     0x8                                                                                             
00135c   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00135e   2414     ADDWF     0x14,0x0,0x0                                                                                    
001360   2415     ADDWF     0x15,0x0,0x0                                                                                    
001362   2416     ADDWF     0x16,0x0,0x0                                                                                    
001364   6ee7     MOVWF     0xe7,0x0                                                                                        
001366   0e06     MOVLW     0x6                                                                                             
001368   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00136a   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00136c   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00136e   cf66     MOVFF     0xf66,0xfdb                                                                                     
001370   ffdb                                                                                                               
001372   0e08     MOVLW     0x8                                                                                             
001374   cf67     MOVFF     0xf67,0xfdb                                                                                     
001376   ffdb                                                                                                               
001378   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00137a   cf68     MOVFF     0xf68,0xfdb                                                                                     
00137c   ffdb                                                                                                               
00137e   0e0a     MOVLW     0xa                                                                                             
001380   cf69     MOVFF     0xf69,0xfdb                                                                                     
001382   ffdb                                                                                                               
001384   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001386   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
001388   ffdb                                                                                                               
00138a   0e0c     MOVLW     0xc                                                                                             
00138c   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
00138e   ffdb                                                                                                               
001390   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001392   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
001394   ffdb                                                                                                               
001396   0e0e     MOVLW     0xe                                                                                             
001398   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
00139a   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00139c   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Check if FUNCT_BOOTLOADER specific.                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // reset and id change                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00139e   50df     MOVF      0xdf,0x0,0x0        if (cm.funct==FUNCT_BOOTLOADER)                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0013a0   e001     BZ        0x13a4                                                                                          
0013a2   d0a0     BRA       0x14e4                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0013a4   0e03     MOVLW     0x3                     if (cm.nid==MY_NID && ((((unsigned int)cm.data[BOOT_DATA_RID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_RID_LOW_INDEX])==MY_ID)  F:\MCP\projects\CAN\canBase\Source\CAN.c
0013a6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0013a8   0100     MOVLB     0x0                                                                                             
0013aa   5d9e     SUBWF     0x9e,0x0,0x1                                                                                    
0013ac   e001     BZ        0x13b0                                                                                          
0013ae   d09a     BRA       0x14e4                                                                                          
0013b0   0e0c     MOVLW     0xc                                                                                             
0013b2   cfdb     MOVFF     0xfdb,0x16                                                                                      
0013b4   f016                                                                                                               
0013b6   c016     MOVFF     0x16,0x17                                                                                       
0013b8   f017                                                                                                               
0013ba   6a16     CLRF      0x16,0x0                                                                                        
0013bc   0e0b     MOVLW     0xb                                                                                             
0013be   50db     MOVF      0xdb,0x0,0x0                                                                                    
0013c0   0100     MOVLB     0x0                                                                                             
0013c2   2416     ADDWF     0x16,0x0,0x0                                                                                    
0013c4   6e14     MOVWF     0x14,0x0                                                                                        
0013c6   0e00     MOVLW     0x0                                                                                             
0013c8   2017     ADDWFC    0x17,0x0,0x0                                                                                    
0013ca   6e15     MOVWF     0x15,0x0                                                                                        
0013cc   0100     MOVLB     0x0                                                                                             
0013ce   519c     MOVF      0x9c,0x0,0x1                                                                                    
0013d0   1814     XORWF     0x14,0x0,0x0                                                                                    
0013d2   e102     BNZ       0x13d8                                                                                          
0013d4   519d     MOVF      0x9d,0x0,0x1                                                                                    
0013d6   1815     XORWF     0x15,0x0,0x0                                                                                    
0013d8   e001     BZ        0x13dc                                                                                          
0013da   d084     BRA       0x14e4                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0013dc   50d9     MOVF      0xd9,0x0,0x0                if (cm.funcc==FUNCC_BOOT_INIT) Reset(); // Reset me.                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0013de   0f01     ADDLW     0x1                                                                                             
0013e0   6ee9     MOVWF     0xe9,0x0                                                                                        
0013e2   cfda     MOVFF     0xfda,0xfea                                                                                     
0013e4   ffea                                                                                                               
0013e6   0e01     MOVLW     0x1                                                                                             
0013e8   18ee     XORWF     0xee,0x0,0x0                                                                                    
0013ea   e101     BNZ       0x13ee                                                                                          
0013ec   50ed     MOVF      0xed,0x0,0x0                                                                                    
0013ee   e101     BNZ       0x13f2                                                                                          
0013f0   00ff     RESET                                                                                                     
0013f2   50d9     MOVF      0xd9,0x0,0x0                if (cm.funcc==FUNCC_BOOT_SET_ID)                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0013f4   0f01     ADDLW     0x1                                                                                             
0013f6   6ee9     MOVWF     0xe9,0x0                                                                                        
0013f8   cfda     MOVFF     0xfda,0xfea                                                                                     
0013fa   ffea                                                                                                               
0013fc   0e06     MOVLW     0x6                                                                                             
0013fe   18ee     XORWF     0xee,0x0,0x0                                                                                    
001400   e101     BNZ       0x1404                                                                                          
001402   50ed     MOVF      0xed,0x0,0x0                                                                                    
001404   e16f     BNZ       0x14e4                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
001406   0e08     MOVLW     0x8                                 MY_ID=(((WORD)cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]; F:\MCP\projects\CAN\canBase\Source\CAN.c
001408   cfdb     MOVFF     0xfdb,0x14                                                                                      
00140a   f014                                                                                                               
00140c   c014     MOVFF     0x14,0x15                                                                                       
00140e   f015                                                                                                               
001410   6a14     CLRF      0x14,0x0                                                                                        
001412   0e07     MOVLW     0x7                                                                                             
001414   50db     MOVF      0xdb,0x0,0x0                                                                                    
001416   0100     MOVLB     0x0                                                                                             
001418   2414     ADDWF     0x14,0x0,0x0                                                                                    
00141a   6f9c     MOVWF     0x9c,0x1                                                                                        
00141c   0e00     MOVLW     0x0                                                                                             
00141e   2015     ADDWFC    0x15,0x0,0x0                                                                                    
001420   6f9d     MOVWF     0x9d,0x1                                                                                        
001422   0e09     MOVLW     0x9                                 MY_NID=cm.data[BOOT_DATA_NEW_NID_INDEX];                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001424   cfdb     MOVFF     0xfdb,0x9e                                                                                      
001426   f09e                                                                                                               
001428   0e08     MOVLW     0x8                                 EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX]);                F:\MCP\projects\CAN\canBase\Source\CAN.c
00142a   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00142c   ffe6                                                                                                               
00142e   0e01     MOVLW     0x1                                                                                             
001430   6ee6     MOVWF     0xe6,0x0                                                                                        
001432   6ae6     CLRF      0xe6,0x0                                                                                        
001434   ecc6     CALL      0x1d8c,0x0                                                                                      
001436   f00e                                                                                                               
001438   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00143a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00143c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00143e   0e07     MOVLW     0x7                                 EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]);                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001440   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001442   ffe6                                                                                                               
001444   0e02     MOVLW     0x2                                                                                             
001446   6ee6     MOVWF     0xe6,0x0                                                                                        
001448   6ae6     CLRF      0xe6,0x0                                                                                        
00144a   ecc6     CALL      0x1d8c,0x0                                                                                      
00144c   f00e                                                                                                               
00144e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001450   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001452   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001454   0e09     MOVLW     0x9                                 EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID_INDEX]);                    F:\MCP\projects\CAN\canBase\Source\CAN.c
001456   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
001458   ffe6                                                                                                               
00145a   0e03     MOVLW     0x3                                                                                             
00145c   6ee6     MOVWF     0xe6,0x0                                                                                        
00145e   6ae6     CLRF      0xe6,0x0                                                                                        
001460   ecc6     CALL      0x1d8c,0x0                                                                                      
001462   f00e                                                                                                               
001464   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001466   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001468   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00146a   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00146c   6ee6     MOVWF     0xe6,0x0                                                                                        
00146e   0e00     MOVLW     0x0                                                                                             
001470   6ee6     MOVWF     0xe6,0x0                                                                                        
001472   6ae6     CLRF      0xe6,0x0                                                                                        
001474   ecc6     CALL      0x1d8c,0x0                                                                                      
001476   f00e                                                                                                               
001478   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00147a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00147c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00147e   0100     MOVLB     0x0                                 outCm.funct                     = FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
001480   6b64     CLRF      0x64,0x1                                                                                        
001482   0e04     MOVLW     0x4                                 outCm.funcc                     = FUNCC_BOOT_ACK;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
001484   0100     MOVLB     0x0                                                                                             
001486   6f65     MOVWF     0x65,0x1                                                                                        
001488   6b66     CLRF      0x66,0x1                                                                                        
00148a   0100     MOVLB     0x0                                 outCm.data_length               = 8;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00148c   0e08     MOVLW     0x8                                                                                             
00148e   6f6a     MOVWF     0x6a,0x1                                                                                        
001490   0100     MOVLB     0x0                                 outCm.data[BOOT_DATA_ERR_INDEX] = ACK_ERR_NO_ERROR;                        F:\MCP\projects\CAN\canBase\Source\CAN.c
001492   6b6f     CLRF      0x6f,0x1                                                                                        
001494   0e02     MOVLW     0x2                                 while(!canSendMessage(outCm,PRIO_HIGH));                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001496   6ee6     MOVWF     0xe6,0x0                                                                                        
001498   c064     MOVFF     0x64,0xfe6                                                                                      
00149a   ffe6                                                                                                               
00149c   c065     MOVFF     0x65,0xfe6                                                                                      
00149e   ffe6                                                                                                               
0014a0   c066     MOVFF     0x66,0xfe6                                                                                      
0014a2   ffe6                                                                                                               
0014a4   c067     MOVFF     0x67,0xfe6                                                                                      
0014a6   ffe6                                                                                                               
0014a8   c068     MOVFF     0x68,0xfe6                                                                                      
0014aa   ffe6                                                                                                               
0014ac   c069     MOVFF     0x69,0xfe6                                                                                      
0014ae   ffe6                                                                                                               
0014b0   c06a     MOVFF     0x6a,0xfe6                                                                                      
0014b2   ffe6                                                                                                               
0014b4   c06b     MOVFF     0x6b,0xfe6                                                                                      
0014b6   ffe6                                                                                                               
0014b8   c06c     MOVFF     0x6c,0xfe6                                                                                      
0014ba   ffe6                                                                                                               
0014bc   c06d     MOVFF     0x6d,0xfe6                                                                                      
0014be   ffe6                                                                                                               
0014c0   c06e     MOVFF     0x6e,0xfe6                                                                                      
0014c2   ffe6                                                                                                               
0014c4   c06f     MOVFF     0x6f,0xfe6                                                                                      
0014c6   ffe6                                                                                                               
0014c8   c070     MOVFF     0x70,0xfe6                                                                                      
0014ca   ffe6                                                                                                               
0014cc   c071     MOVFF     0x71,0xfe6                                                                                      
0014ce   ffe6                                                                                                               
0014d0   c072     MOVFF     0x72,0xfe6                                                                                      
0014d2   ffe6                                                                                                               
0014d4   d839     RCALL     0x1548                                                                                          
0014d6   6e14     MOVWF     0x14,0x0                                                                                        
0014d8   0e10     MOVLW     0x10                                                                                            
0014da   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0014dc   5014     MOVF      0x14,0x0,0x0                                                                                    
0014de   0900     IORLW     0x0                                                                                             
0014e0   e101     BNZ       0x14e4                                                                                          
0014e2   d7d8     BRA       0x1494                                                                                          
                                                        }                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                    }                                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //Call main parser                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0014e4   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
0014e6   ffe9                                                                                                               
0014e8   cfda     MOVFF     0xfda,0xfea                                                                                     
0014ea   ffea                                                                                                               
0014ec   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014ee   ffe6                                                                                                               
0014f0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014f2   ffe6                                                                                                               
0014f4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014f6   ffe6                                                                                                               
0014f8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014fa   ffe6                                                                                                               
0014fc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0014fe   ffe6                                                                                                               
001500   cfee     MOVFF     0xfee,0xfe6                                                                                     
001502   ffe6                                                                                                               
001504   cfee     MOVFF     0xfee,0xfe6                                                                                     
001506   ffe6                                                                                                               
001508   cfee     MOVFF     0xfee,0xfe6                                                                                     
00150a   ffe6                                                                                                               
00150c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00150e   ffe6                                                                                                               
001510   cfee     MOVFF     0xfee,0xfe6                                                                                     
001512   ffe6                                                                                                               
001514   cfee     MOVFF     0xfee,0xfe6                                                                                     
001516   ffe6                                                                                                               
001518   cfee     MOVFF     0xfee,0xfe6                                                                                     
00151a   ffe6                                                                                                               
00151c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00151e   ffe6                                                                                                               
001520   cfee     MOVFF     0xfee,0xfe6                                                                                     
001522   ffe6                                                                                                               
001524   cfee     MOVFF     0xfee,0xfe6                                                                                     
001526   ffe6                                                                                                               
001528   ec13     CALL      0x1a26,0x0                                                                                      
00152a   f00d                                                                                                               
00152c   6e14     MOVWF     0x14,0x0                                                                                        
00152e   0e0f     MOVLW     0xf                                                                                             
001530   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
001532   5014     MOVF      0x14,0x0,0x0                                                                                    
001534   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
001536   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001538   e202     BC        0x153e                                                                                          
00153a   6ae1     CLRF      0xe1,0x0                                                                                        
00153c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00153e   6ee1     MOVWF     0xe1,0x0                                                                                        
001540   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001542   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001544   ffd9                                                                                                               
001546   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
001548   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00154a   ffe6                                                                                                               
00154c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00154e   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001550   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001552   b740     BTFSC     0x40,0x3,0x1                                                                                    
001554   d004     BRA       0x155e                                                                                          
001556   0e00     MOVLW     0x0                                                                                             
001558   1477     ANDWF     0x77,0x0,0x0                                                                                    
00155a   0903     IORLW     0x3                                                                                             
00155c   6e77     MOVWF     0x77,0x0                                                                                        
00155e   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
001560   b730     BTFSC     0x30,0x3,0x1                                                                                    
001562   d004     BRA       0x156c                                                                                          
001564   0e00     MOVLW     0x0                                                                                             
001566   1477     ANDWF     0x77,0x0,0x0                                                                                    
001568   0904     IORLW     0x4                                                                                             
00156a   6e77     MOVWF     0x77,0x0                                                                                        
00156c   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
00156e   b720     BTFSC     0x20,0x3,0x1                                                                                    
001570   d005     BRA       0x157c                                                                                          
001572   0e00     MOVLW     0x0                                                                                             
001574   1477     ANDWF     0x77,0x0,0x0                                                                                    
001576   0905     IORLW     0x5                                                                                             
001578   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
00157a   d002     BRA       0x1580          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00157c   0e00     MOVLW     0x0                                                                                             
00157e   d0b9     BRA       0x16f2                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
001580   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001582   cfdb     MOVFF     0xfdb,0x14                                                                                      
001584   f014                                                                                                               
001586   3414     RLCF      0x14,0x0,0x0                                                                                    
001588   e20e     BC        0x15a6                                                                                          
00158a   0eef     MOVLW     0xef                                                                                            
00158c   cfdb     MOVFF     0xfdb,0x15                                                                                      
00158e   f015                                                                                                               
001590   0e03     MOVLW     0x3                                                                                             
001592   6ee7     MOVWF     0xe7,0x0                                                                                        
001594   1815     XORWF     0x15,0x0,0x0                                                                                    
001596   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
001598   d002     BRA       0x159e                                                                                          
00159a   3415     RLCF      0x15,0x0,0x0                                                                                    
00159c   d003     BRA       0x15a4                                                                                          
00159e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0015a0   80d8     BSF       0xd8,0x0,0x0                                                                                    
0015a2   5415     SUBFWB    0x15,0x0,0x0                                                                                    
0015a4   e202     BC        0x15aa                                                                                          
0015a6   0eef     MOVLW     0xef                                                                                            
0015a8   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Append my id and nid                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0015aa   0ef3     MOVLW     0xf3                cm.nid  = MY_NID;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0015ac   c09e     MOVFF     0x9e,0xfdb                                                                                      
0015ae   ffdb                                                                                                               
0015b0   0ef4     MOVLW     0xf4                cm.sid  = MY_ID;                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0015b2   c09c     MOVFF     0x9c,0xfdb                                                                                      
0015b4   ffdb                                                                                                               
0015b6   0ef5     MOVLW     0xf5                                                                                            
0015b8   c09d     MOVFF     0x9d,0xfdb                                                                                      
0015ba   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0015bc   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBase\Source\CAN.c
0015be   cfdb     MOVFF     0xfdb,0x14                                                                                      
0015c0   f014                                                                                                               
0015c2   0ef2     MOVLW     0xf2                                                                                            
0015c4   cfdb     MOVFF     0xfdb,0x15                                                                                      
0015c6   f015                                                                                                               
0015c8   0ec0     MOVLW     0xc0                                                                                            
0015ca   1614     ANDWF     0x14,0x1,0x0                                                                                    
0015cc   0e03     MOVLW     0x3                                                                                             
0015ce   1615     ANDWF     0x15,0x1,0x0                                                                                    
0015d0   0e06     MOVLW     0x6                                                                                             
0015d2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0015d4   3215     RRCF      0x15,0x1,0x0                                                                                    
0015d6   3214     RRCF      0x14,0x1,0x0                                                                                    
0015d8   04e8     DECF      0xe8,0x0,0x0                                                                                    
0015da   e1fb     BNZ       0x15d2                                                                                          
0015dc   0ef0     MOVLW     0xf0                                                                                            
0015de   50db     MOVF      0xdb,0x0,0x0                                                                                    
0015e0   0b0f     ANDLW     0xf                                                                                             
0015e2   0d10     MULLW     0x10                                                                                            
0015e4   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0015e6   2414     ADDWF     0x14,0x0,0x0                                                                                    
0015e8   6e61     MOVWF     0x61,0x0                                                                                        
0015ea   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBase\Source\CAN.c
0015ec   6ee7     MOVWF     0xe7,0x0                                                                                        
0015ee   0ef1     MOVLW     0xf1                                                                                            
0015f0   cfdb     MOVFF     0xfdb,0x16                                                                                      
0015f2   f016                                                                                                               
0015f4   0ef2     MOVLW     0xf2                                                                                            
0015f6   cfdb     MOVFF     0xfdb,0x17                                                                                      
0015f8   f017                                                                                                               
0015fa   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0015fc   1616     ANDWF     0x16,0x1,0x0                                                                                    
0015fe   6a17     CLRF      0x17,0x0                                                                                        
001600   90d8     BCF       0xd8,0x0,0x0                                                                                    
001602   3217     RRCF      0x17,0x1,0x0                                                                                    
001604   3216     RRCF      0x16,0x1,0x0                                                                                    
001606   0e3f     MOVLW     0x3f                                                                                            
001608   6ee7     MOVWF     0xe7,0x0                                                                                        
00160a   0ef1     MOVLW     0xf1                                                                                            
00160c   cfdb     MOVFF     0xfdb,0x14                                                                                      
00160e   f014                                                                                                               
001610   0ef2     MOVLW     0xf2                                                                                            
001612   cfdb     MOVFF     0xfdb,0x15                                                                                      
001614   f015                                                                                                               
001616   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001618   1614     ANDWF     0x14,0x1,0x0                                                                                    
00161a   6a15     CLRF      0x15,0x0                                                                                        
00161c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00161e   3614     RLCF      0x14,0x1,0x0                                                                                    
001620   3615     RLCF      0x15,0x1,0x0                                                                                    
001622   90d8     BCF       0xd8,0x0,0x0                                                                                    
001624   3614     RLCF      0x14,0x1,0x0                                                                                    
001626   3615     RLCF      0x15,0x1,0x0                                                                                    
001628   5014     MOVF      0x14,0x0,0x0                                                                                    
00162a   2416     ADDWF     0x16,0x0,0x0                                                                                    
00162c   6e62     MOVWF     0x62,0x0                                                                                        
00162e   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
001630   cfdb     MOVFF     0xfdb,0x16                                                                                      
001632   f016                                                                                                               
001634   0ef5     MOVLW     0xf5                                                                                            
001636   cfdb     MOVFF     0xfdb,0x17                                                                                      
001638   f017                                                                                                               
00163a   0e00     MOVLW     0x0                                                                                             
00163c   1616     ANDWF     0x16,0x1,0x0                                                                                    
00163e   0e01     MOVLW     0x1                                                                                             
001640   1617     ANDWF     0x17,0x1,0x0                                                                                    
001642   c017     MOVFF     0x17,0x16                                                                                       
001644   f016                                                                                                               
001646   6a17     CLRF      0x17,0x0                                                                                        
001648   0e01     MOVLW     0x1                                                                                             
00164a   6ee7     MOVWF     0xe7,0x0                                                                                        
00164c   0ef1     MOVLW     0xf1                                                                                            
00164e   cfdb     MOVFF     0xfdb,0x14                                                                                      
001650   f014                                                                                                               
001652   0ef2     MOVLW     0xf2                                                                                            
001654   cfdb     MOVFF     0xfdb,0x15                                                                                      
001656   f015                                                                                                               
001658   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00165a   1614     ANDWF     0x14,0x1,0x0                                                                                    
00165c   6a15     CLRF      0x15,0x0                                                                                        
00165e   0e07     MOVLW     0x7                                                                                             
001660   90d8     BCF       0xd8,0x0,0x0                                                                                    
001662   3614     RLCF      0x14,0x1,0x0                                                                                    
001664   3615     RLCF      0x15,0x1,0x0                                                                                    
001666   04e8     DECF      0xe8,0x0,0x0                                                                                    
001668   e1fb     BNZ       0x1660                                                                                          
00166a   0ef3     MOVLW     0xf3                                                                                            
00166c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00166e   0b3f     ANDLW     0x3f                                                                                            
001670   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
001672   2414     ADDWF     0x14,0x0,0x0                                                                                    
001674   2416     ADDWF     0x16,0x0,0x0                                                                                    
001676   6e63     MOVWF     0x63,0x0                                                                                        
001678   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00167a   6ee7     MOVWF     0xe7,0x0                                                                                        
00167c   0ef4     MOVLW     0xf4                                                                                            
00167e   cfdb     MOVFF     0xfdb,0x14                                                                                      
001680   f014                                                                                                               
001682   0ef5     MOVLW     0xf5                                                                                            
001684   cfdb     MOVFF     0xfdb,0x15                                                                                      
001686   f015                                                                                                               
001688   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00168a   1614     ANDWF     0x14,0x1,0x0                                                                                    
00168c   6a15     CLRF      0x15,0x0                                                                                        
00168e   5014     MOVF      0x14,0x0,0x0                                                                                    
001690   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
001692   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
001694   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBase\Source\CAN.c
001696   50db     MOVF      0xdb,0x0,0x0                                                                                    
001698   0808     SUBLW     0x8                                                                                             
00169a   e203     BC        0x16a2                                                                                          
00169c   0e08     MOVLW     0x8                                                                                             
00169e   6e65     MOVWF     0x65,0x0                                                                                        
0016a0   d003     BRA       0x16a8                                                                                          
0016a2   0ef6     MOVLW     0xf6                                                                                            
0016a4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016a6   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
0016a8   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
0016aa   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0016ac   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016ae   6e66     MOVWF     0x66,0x0                                                                                        
0016b0   0ef8     MOVLW     0xf8                                                                                            
0016b2   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016b4   6e67     MOVWF     0x67,0x0                                                                                        
0016b6   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016b8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016ba   6e68     MOVWF     0x68,0x0                                                                                        
0016bc   0efa     MOVLW     0xfa                                                                                            
0016be   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016c0   6e69     MOVWF     0x69,0x0                                                                                        
0016c2   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016c4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016c6   6e6a     MOVWF     0x6a,0x0                                                                                        
0016c8   0efc     MOVLW     0xfc                                                                                            
0016ca   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016cc   6e6b     MOVWF     0x6b,0x0                                                                                        
0016ce   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0016d0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016d2   6e6c     MOVWF     0x6c,0x0                                                                                        
0016d4   0efe     MOVLW     0xfe                                                                                            
0016d6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0016d8   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // set extended                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0016da   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
0016dc   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0016de   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0016e0   ffe6                                                                                                               
0016e2   0efc     MOVLW     0xfc                                                                                            
0016e4   1460     ANDWF     0x60,0x0,0x0                                                                                    
0016e6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0016e8   10e7     IORWF     0xe7,0x0,0x0                                                                                    
0016ea   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
0016ec   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
0016ee   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0016f0   d000     BRA       0x16f2                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0016f2   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0016f4   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0016f6   ffd9                                                                                                               
0016f8   0012     RETURN    0x0                                                                                             
                                           /*********************************************************************           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                  Ticker module service                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/Tick.c $ F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * Last changed: $LastChangedDate: 2006-11-14 10:55:38 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            * Revision:     $Revision: 86 $                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #include <Compiler.h>                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #else                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           TICK TickCount = 0;  // 10ms/unit                                                 F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Function: TickInit                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
002066   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
002068   6ed6     MOVWF     0xd6,0x0                                                                                        
00206a   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
00206c   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
00206e   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
002070   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
002072   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
002074   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
002076   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
002078   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
00207a   c098     MOVFF     0x98,0x6           return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
00207c   f006                                                                                                               
00207e   c099     MOVFF     0x99,0x7                                                                                        
002080   f007                                                                                                               
002082   c09a     MOVFF     0x9a,0x8                                                                                        
002084   f008                                                                                                               
002086   c09b     MOVFF     0x9b,0x9                                                                                        
002088   f009                                                                                                               
00208a   d000     BRA       0x208c                                                                                          
00208c   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
00208e   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
002090   d00b     BRA       0x20a8                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
002092   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
002094   6ed7     MOVWF     0xd7,0x0                                                                                        
002096   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
002098   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
00209a   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
00209c   2b98     INCF      0x98,0x1,0x1                                                                                    
00209e   0e00     MOVLW     0x0                                                                                             
0020a0   2399     ADDWFC    0x99,0x1,0x1                                                                                    
0020a2   239a     ADDWFC    0x9a,0x1,0x1                                                                                    
0020a4   239b     ADDWFC    0x9b,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
0020a6   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
0020a8   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canTemp/Source/Main.c $ F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * Last changed: $LastChangedDate: 2007-01-30 12:34:06 +0100 (ti, 30 jan 2007) $ F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * Revision:     $Revision: 275 $                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #ifdef USE_ADC                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #include <adc.h>                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #ifdef USE_BLINDS                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #include <blinds.h>                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
0016fa   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0016fc   ffe6                                                                                                               
0016fe   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001700   ffd9                                                                                                               
001702   0e11     MOVLW     0x11                                                                                            
001704   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            static TICK t = 0;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
001706   d989     RCALL     0x1a1a          mainInit();                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001708   ec34     CALL      0x1068,0x0      canInit();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
00170a   f008                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
00170c   0e0b     MOVLW     0xb                 adcInit(TRUE,0b1011);                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
00170e   6ee6     MOVWF     0xe6,0x0                                                                                        
001710   0e01     MOVLW     0x1                                                                                             
001712   6ee6     MOVWF     0xe6,0x0                                                                                        
001714   ec22     CALL      0x1a44,0x0                                                                                      
001716   f00d                                                                                                               
001718   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00171a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_BLINDS                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
00171c   ec99     CALL      0x1f32,0x0          blindsInit();                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
00171e   f00f                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
0018d4   d725     BRA       0x1720          while(1)                                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK t = 0;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK temperature = 0;                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static BYTE lastTemperature = TEMPERATURE_INSIDE;                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK blinds = 0;                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
001720   ec3d     CALL      0x207a,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
001722   f010                                                                                                               
001724   0100     MOVLB     0x0                                                                                             
001726   5177     MOVF      0x77,0x0,0x1                                                                                    
001728   5c06     SUBWF     0x6,0x0,0x0                                                                                     
00172a   6e14     MOVWF     0x14,0x0                                                                                        
00172c   5178     MOVF      0x78,0x0,0x1                                                                                    
00172e   5807     SUBWFB    0x7,0x0,0x0                                                                                     
001730   6e15     MOVWF     0x15,0x0                                                                                        
001732   5179     MOVF      0x79,0x0,0x1                                                                                    
001734   5808     SUBWFB    0x8,0x0,0x0                                                                                     
001736   6e16     MOVWF     0x16,0x0                                                                                        
001738   517a     MOVF      0x7a,0x0,0x1                                                                                    
00173a   5809     SUBWFB    0x9,0x0,0x0                                                                                     
00173c   6e17     MOVWF     0x17,0x0                                                                                        
00173e   80d8     BSF       0xd8,0x0,0x0                                                                                    
001740   0e64     MOVLW     0x64                                                                                            
001742   5414     SUBFWB    0x14,0x0,0x0                                                                                    
001744   0e00     MOVLW     0x0                                                                                             
001746   5415     SUBFWB    0x15,0x0,0x0                                                                                    
001748   0e00     MOVLW     0x0                                                                                             
00174a   5416     SUBFWB    0x16,0x0,0x0                                                                                    
00174c   0e00     MOVLW     0x0                                                                                             
00174e   5417     SUBFWB    0x17,0x0,0x0                                                                                    
001750   e20b     BC        0x1768                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
001752   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
001754   ec3d     CALL      0x207a,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001756   f010                                                                                                               
001758   c006     MOVFF     0x6,0x77                                                                                        
00175a   f077                                                                                                               
00175c   c007     MOVFF     0x7,0x78                                                                                        
00175e   f078                                                                                                               
001760   c008     MOVFF     0x8,0x79                                                                                        
001762   f079                                                                                                               
001764   c009     MOVFF     0x9,0x7a                                                                                        
001766   f07a                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001768   ec3d     CALL      0x207a,0x0          if ((tickGet()-blinds)>2*TICK_SECOND)                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
00176a   f010                                                                                                               
00176c   0100     MOVLB     0x0                                                                                             
00176e   5180     MOVF      0x80,0x0,0x1                                                                                    
001770   5c06     SUBWF     0x6,0x0,0x0                                                                                     
001772   6e14     MOVWF     0x14,0x0                                                                                        
001774   5181     MOVF      0x81,0x0,0x1                                                                                    
001776   5807     SUBWFB    0x7,0x0,0x0                                                                                     
001778   6e15     MOVWF     0x15,0x0                                                                                        
00177a   5182     MOVF      0x82,0x0,0x1                                                                                    
00177c   5808     SUBWFB    0x8,0x0,0x0                                                                                     
00177e   6e16     MOVWF     0x16,0x0                                                                                        
001780   5183     MOVF      0x83,0x0,0x1                                                                                    
001782   5809     SUBWFB    0x9,0x0,0x0                                                                                     
001784   6e17     MOVWF     0x17,0x0                                                                                        
001786   80d8     BSF       0xd8,0x0,0x0                                                                                    
001788   0ec8     MOVLW     0xc8                                                                                            
00178a   5414     SUBFWB    0x14,0x0,0x0                                                                                    
00178c   0e00     MOVLW     0x0                                                                                             
00178e   5415     SUBFWB    0x15,0x0,0x0                                                                                    
001790   0e00     MOVLW     0x0                                                                                             
001792   5416     SUBFWB    0x16,0x0,0x0                                                                                    
001794   0e00     MOVLW     0x0                                                                                             
001796   5417     SUBFWB    0x17,0x0,0x0                                                                                    
001798   e20a     BC        0x17ae                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    //blindsTurn(MIDDLE,3000);                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00179a   ec3d     CALL      0x207a,0x0              blinds = tickGet();                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
00179c   f010                                                                                                               
00179e   c006     MOVFF     0x6,0x80                                                                                        
0017a0   f080                                                                                                               
0017a2   c007     MOVFF     0x7,0x81                                                                                        
0017a4   f081                                                                                                               
0017a6   c008     MOVFF     0x8,0x82                                                                                        
0017a8   f082                                                                                                               
0017aa   c009     MOVFF     0x9,0x83                                                                                        
0017ac   f083                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                #ifdef USE_ADC                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
0017ae   ec3d     CALL      0x207a,0x0          if ((tickGet()-temperature)>TICK_SECOND*2) // Each 2 second, read temperature. F:\MCP\projects\CAN\canTemp\Source\Main.c
0017b0   f010                                                                                                               
0017b2   0100     MOVLB     0x0                                                                                             
0017b4   517b     MOVF      0x7b,0x0,0x1                                                                                    
0017b6   5c06     SUBWF     0x6,0x0,0x0                                                                                     
0017b8   6e14     MOVWF     0x14,0x0                                                                                        
0017ba   517c     MOVF      0x7c,0x0,0x1                                                                                    
0017bc   5807     SUBWFB    0x7,0x0,0x0                                                                                     
0017be   6e15     MOVWF     0x15,0x0                                                                                        
0017c0   517d     MOVF      0x7d,0x0,0x1                                                                                    
0017c2   5808     SUBWFB    0x8,0x0,0x0                                                                                     
0017c4   6e16     MOVWF     0x16,0x0                                                                                        
0017c6   517e     MOVF      0x7e,0x0,0x1                                                                                    
0017c8   5809     SUBWFB    0x9,0x0,0x0                                                                                     
0017ca   6e17     MOVWF     0x17,0x0                                                                                        
0017cc   80d8     BSF       0xd8,0x0,0x0                                                                                    
0017ce   0ec8     MOVLW     0xc8                                                                                            
0017d0   5414     SUBFWB    0x14,0x0,0x0                                                                                    
0017d2   0e00     MOVLW     0x0                                                                                             
0017d4   5415     SUBFWB    0x15,0x0,0x0                                                                                    
0017d6   0e00     MOVLW     0x0                                                                                             
0017d8   5416     SUBFWB    0x16,0x0,0x0                                                                                    
0017da   0e00     MOVLW     0x0                                                                                             
0017dc   5417     SUBFWB    0x17,0x0,0x0                                                                                    
0017de   e215     BC        0x180a                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
0017e0   517f     MOVF      0x7f,0x0,0x1            if (lastTemperature==TEMPERATURE_INSIDE) lastTemperature=TEMPERATURE_OUTSIDE; else lastTemperature=TEMPERATURE_INSIDE; F:\MCP\projects\CAN\canTemp\Source\Main.c
0017e2   e103     BNZ       0x17ea                                                                                          
0017e4   0e01     MOVLW     0x1                                                                                             
0017e6   6f7f     MOVWF     0x7f,0x1                                                                                        
0017e8   d001     BRA       0x17ec                                                                                          
0017ea   6b7f     CLRF      0x7f,0x1                                                                                        
0017ec   c07f     MOVFF     0x7f,0xfe6              adcConvert(lastTemperature);                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
0017ee   ffe6                                                                                                               
0017f0   ec90     CALL      0x1b20,0x0                                                                                      
0017f2   f00d                                                                                                               
0017f4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0017f6   ec3d     CALL      0x207a,0x0              temperature = tickGet();                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0017f8   f010                                                                                                               
0017fa   c006     MOVFF     0x6,0x7b                                                                                        
0017fc   f07b                                                                                                               
0017fe   c007     MOVFF     0x7,0x7c                                                                                        
001800   f07c                                                                                                               
001802   c008     MOVFF     0x8,0x7d                                                                                        
001804   f07d                                                                                                               
001806   c009     MOVFF     0x9,0x7e                                                                                        
001808   f07e                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                #endif                                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                #ifdef USE_ADC                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
00180a   ec9d     CALL      0x1d3a,0x0          if (adcDone()) // Has temperature, send it to the bus                          F:\MCP\projects\CAN\canTemp\Source\Main.c
00180c   f00e                                                                                                               
00180e   0900     IORLW     0x0                                                                                             
001810   e061     BZ        0x18d4                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    BYTE decimal;                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    signed char tenth;                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001812   50d9     MOVF      0xd9,0x0,0x0            temperatureRead(&tenth,&decimal);                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
001814   0f0f     ADDLW     0xf                                                                                             
001816   6ee6     MOVWF     0xe6,0x0                                                                                        
001818   0e00     MOVLW     0x0                                                                                             
00181a   20da     ADDWFC    0xda,0x0,0x0                                                                                    
00181c   6ee6     MOVWF     0xe6,0x0                                                                                        
00181e   50d9     MOVF      0xd9,0x0,0x0                                                                                    
001820   0f10     ADDLW     0x10                                                                                            
001822   6ee6     MOVWF     0xe6,0x0                                                                                        
001824   0e00     MOVLW     0x0                                                                                             
001826   20da     ADDWFC    0xda,0x0,0x0                                                                                    
001828   6ee6     MOVWF     0xe6,0x0                                                                                        
00182a   ecbb     CALL      0x1b76,0x0                                                                                      
00182c   f00d                                                                                                               
00182e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001830   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001832   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001834   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001836   0e01     MOVLW     0x1                     outCm.funct                     = FUNCT_SENSORS;                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
001838   6edf     MOVWF     0xdf,0x0                                                                                        
00183a   0100     MOVLB     0x0                     outCm.funcc                     = (lastTemperature==TEMPERATURE_INSIDE?FUNCC_SENSORS_TEMPERATURE_INSIDE:FUNCC_SENSORS_TEMPERATURE_OUTSIDE); F:\MCP\projects\CAN\canTemp\Source\Main.c
00183c   517f     MOVF      0x7f,0x0,0x1                                                                                    
00183e   e102     BNZ       0x1844                                                                                          
001840   0e10     MOVLW     0x10                                                                                            
001842   d001     BRA       0x1846                                                                                          
001844   0e11     MOVLW     0x11                                                                                            
001846   6e14     MOVWF     0x14,0x0                                                                                        
001848   6a15     CLRF      0x15,0x0                                                                                        
00184a   be14     BTFSC     0x14,0x7,0x0                                                                                    
00184c   6815     SETF      0x15,0x0                                                                                        
00184e   0e01     MOVLW     0x1                                                                                             
001850   c014     MOVFF     0x14,0xfdb                                                                                      
001852   ffdb                                                                                                               
001854   0e02     MOVLW     0x2                                                                                             
001856   c015     MOVFF     0x15,0xfdb                                                                                      
001858   ffdb                                                                                                               
00185a   6ef3     MOVWF     0xf3,0x0                outCm.data_length               = 2;                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00185c   0e06     MOVLW     0x6                                                                                             
00185e   cff3     MOVFF     0xff3,0xfdb                                                                                     
001860   ffdb                                                                                                               
001862   0e10     MOVLW     0x10                    outCm.data[1]                   = tenth; //  signed 10 an 1 decimal.                        F:\MCP\projects\CAN\canTemp\Source\Main.c
001864   50db     MOVF      0xdb,0x0,0x0                                                                                    
001866   6ee7     MOVWF     0xe7,0x0                                                                                        
001868   0e08     MOVLW     0x8                                                                                             
00186a   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00186c   ffdb                                                                                                               
00186e   0e0f     MOVLW     0xf                     outCm.data[0]                   = decimal; //  Decimal value, 0-9                           F:\MCP\projects\CAN\canTemp\Source\Main.c
001870   50db     MOVF      0xdb,0x0,0x0                                                                                    
001872   6ee7     MOVWF     0xe7,0x0                                                                                        
001874   0e07     MOVLW     0x7                                                                                             
001876   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
001878   ffdb                                                                                                               
00187a   0e02     MOVLW     0x2                     while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
00187c   6ee6     MOVWF     0xe6,0x0                                                                                        
00187e   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
001880   ffe9                                                                                                               
001882   cfda     MOVFF     0xfda,0xfea                                                                                     
001884   ffea                                                                                                               
001886   cfee     MOVFF     0xfee,0xfe6                                                                                     
001888   ffe6                                                                                                               
00188a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00188c   ffe6                                                                                                               
00188e   cfee     MOVFF     0xfee,0xfe6                                                                                     
001890   ffe6                                                                                                               
001892   cfee     MOVFF     0xfee,0xfe6                                                                                     
001894   ffe6                                                                                                               
001896   cfee     MOVFF     0xfee,0xfe6                                                                                     
001898   ffe6                                                                                                               
00189a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00189c   ffe6                                                                                                               
00189e   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018a0   ffe6                                                                                                               
0018a2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018a4   ffe6                                                                                                               
0018a6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018a8   ffe6                                                                                                               
0018aa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018ac   ffe6                                                                                                               
0018ae   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018b0   ffe6                                                                                                               
0018b2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018b4   ffe6                                                                                                               
0018b6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018b8   ffe6                                                                                                               
0018ba   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018bc   ffe6                                                                                                               
0018be   cfee     MOVFF     0xfee,0xfe6                                                                                     
0018c0   ffe6                                                                                                               
0018c2   eca4     CALL      0x1548,0x0                                                                                      
0018c4   f00a                                                                                                               
0018c6   6e14     MOVWF     0x14,0x0                                                                                        
0018c8   0e10     MOVLW     0x10                                                                                            
0018ca   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0018cc   5014     MOVF      0x14,0x0,0x0                                                                                    
0018ce   0900     IORLW     0x0                                                                                             
0018d0   e101     BNZ       0x18d4                                                                                          
0018d2   d7d3     BRA       0x187a                                                                                          
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                #endif                                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
0018d6   0e11     MOVLW     0x11           }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
0018d8   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0018da   e202     BC        0x18e0                                                                                          
0018dc   6ae1     CLRF      0xe1,0x0                                                                                        
0018de   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018e0   6ee1     MOVWF     0xe1,0x0                                                                                        
0018e2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0018e4   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0018e6   ffd9                                                                                                               
0018e8   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma interrupt high_isr                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
0018ea   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
0018ec   ffe4                                                                                                               
0018ee   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0018f0   ffda                                                                                                               
0018f2   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
0018f4   ffe4                                                                                                               
0018f6   cfea     MOVFF     0xfea,0xfe4                                                                                     
0018f8   ffe4                                                                                                               
0018fa   cff6     MOVFF     0xff6,0xfe4                                                                                     
0018fc   ffe4                                                                                                               
0018fe   cff7     MOVFF     0xff7,0xfe4                                                                                     
001900   ffe4                                                                                                               
001902   cff5     MOVFF     0xff5,0xfe4                                                                                     
001904   ffe4                                                                                                               
001906   cff3     MOVFF     0xff3,0xfe4                                                                                     
001908   ffe4                                                                                                               
00190a   cff4     MOVFF     0xff4,0xfe4                                                                                     
00190c   ffe4                                                                                                               
00190e   cffa     MOVFF     0xffa,0xfe4                                                                                     
001910   ffe4                                                                                                               
001912   ee00     LFSR      0x0,0x0                                                                                         
001914   f000                                                                                                               
001916   0e14     MOVLW     0x14                                                                                            
001918   04e8     DECF      0xe8,0x0,0x0                                                                                    
00191a   e303     BNC       0x1922                                                                                          
00191c   cfee     MOVFF     0xfee,0xfe4                                                                                     
00191e   ffe4                                                                                                               
001920   d7fb     BRA       0x1918                                                                                          
001922   ee00     LFSR      0x0,0x14                                                                                        
001924   f014                                                                                                               
001926   0e0e     MOVLW     0xe                                                                                             
001928   04e8     DECF      0xe8,0x0,0x0                                                                                    
00192a   e303     BNC       0x1932                                                                                          
00192c   cfee     MOVFF     0xfee,0xfe4                                                                                     
00192e   ffe4                                                                                                               
001930   d7fb     BRA       0x1928                                                                                          
001932   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001934   ecb9     CALL      0x1172,0x0      canISR();                                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
001936   f008                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_BLINDS                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
001938   ecba     CALL      0x1f74,0x0          blindsISR();                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
00193a   f00f                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
00193c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
00193e   ee00     LFSR      0x0,0x21                                                                                        
001940   f021                                                                                                               
001942   0e0e     MOVLW     0xe                                                                                             
001944   04e8     DECF      0xe8,0x0,0x0                                                                                    
001946   e303     BNC       0x194e                                                                                          
001948   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00194a   ffed                                                                                                               
00194c   d7fb     BRA       0x1944                                                                                          
00194e   ee00     LFSR      0x0,0x13                                                                                        
001950   f013                                                                                                               
001952   0e14     MOVLW     0x14                                                                                            
001954   04e8     DECF      0xe8,0x0,0x0                                                                                    
001956   e303     BNC       0x195e                                                                                          
001958   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00195a   ffed                                                                                                               
00195c   d7fb     BRA       0x1954                                                                                          
00195e   cfe5     MOVFF     0xfe5,0xffa                                                                                     
001960   fffa                                                                                                               
001962   cfe5     MOVFF     0xfe5,0xff4                                                                                     
001964   fff4                                                                                                               
001966   cfe5     MOVFF     0xfe5,0xff3                                                                                     
001968   fff3                                                                                                               
00196a   cfe5     MOVFF     0xfe5,0xff5                                                                                     
00196c   fff5                                                                                                               
00196e   cfe5     MOVFF     0xfe5,0xff7                                                                                     
001970   fff7                                                                                                               
001972   cfe5     MOVFF     0xfe5,0xff6                                                                                     
001974   fff6                                                                                                               
001976   cfe5     MOVFF     0xfe5,0xfea                                                                                     
001978   ffea                                                                                                               
00197a   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
00197c   ffe9                                                                                                               
00197e   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001980   ffda                                                                                                               
001982   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma interrupt low_isr                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
001984   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
001986   ffe4                                                                                                               
001988   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00198a   ffda                                                                                                               
00198c   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
00198e   ffe4                                                                                                               
001990   cfea     MOVFF     0xfea,0xfe4                                                                                     
001992   ffe4                                                                                                               
001994   cff6     MOVFF     0xff6,0xfe4                                                                                     
001996   ffe4                                                                                                               
001998   cff7     MOVFF     0xff7,0xfe4                                                                                     
00199a   ffe4                                                                                                               
00199c   cff5     MOVFF     0xff5,0xfe4                                                                                     
00199e   ffe4                                                                                                               
0019a0   cff3     MOVFF     0xff3,0xfe4                                                                                     
0019a2   ffe4                                                                                                               
0019a4   cff4     MOVFF     0xff4,0xfe4                                                                                     
0019a6   ffe4                                                                                                               
0019a8   cffa     MOVFF     0xffa,0xfe4                                                                                     
0019aa   ffe4                                                                                                               
0019ac   ee00     LFSR      0x0,0x0                                                                                         
0019ae   f000                                                                                                               
0019b0   0e14     MOVLW     0x14                                                                                            
0019b2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019b4   e303     BNC       0x19bc                                                                                          
0019b6   cfee     MOVFF     0xfee,0xfe4                                                                                     
0019b8   ffe4                                                                                                               
0019ba   d7fb     BRA       0x19b2                                                                                          
0019bc   ee00     LFSR      0x0,0x14                                                                                        
0019be   f014                                                                                                               
0019c0   0e0e     MOVLW     0xe                                                                                             
0019c2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019c4   e303     BNC       0x19cc                                                                                          
0019c6   cfee     MOVFF     0xfee,0xfe4                                                                                     
0019c8   ffe4                                                                                                               
0019ca   d7fb     BRA       0x19c2                                                                                          
0019cc   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
0019ce   ec3c     CALL      0x1a78,0x0          adcISR();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
0019d0   f00d                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
0019d2   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
0019d4   ee00     LFSR      0x0,0x21                                                                                        
0019d6   f021                                                                                                               
0019d8   0e0e     MOVLW     0xe                                                                                             
0019da   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019dc   e303     BNC       0x19e4                                                                                          
0019de   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0019e0   ffed                                                                                                               
0019e2   d7fb     BRA       0x19da                                                                                          
0019e4   ee00     LFSR      0x0,0x13                                                                                        
0019e6   f013                                                                                                               
0019e8   0e14     MOVLW     0x14                                                                                            
0019ea   04e8     DECF      0xe8,0x0,0x0                                                                                    
0019ec   e303     BNC       0x19f4                                                                                          
0019ee   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0019f0   ffed                                                                                                               
0019f2   d7fb     BRA       0x19ea                                                                                          
0019f4   cfe5     MOVFF     0xfe5,0xffa                                                                                     
0019f6   fffa                                                                                                               
0019f8   cfe5     MOVFF     0xfe5,0xff4                                                                                     
0019fa   fff4                                                                                                               
0019fc   cfe5     MOVFF     0xfe5,0xff3                                                                                     
0019fe   fff3                                                                                                               
001a00   cfe5     MOVFF     0xfe5,0xff5                                                                                     
001a02   fff5                                                                                                               
001a04   cfe5     MOVFF     0xfe5,0xff7                                                                                     
001a06   fff7                                                                                                               
001a08   cfe5     MOVFF     0xfe5,0xff6                                                                                     
001a0a   fff6                                                                                                               
001a0c   cfe5     MOVFF     0xfe5,0xfea                                                                                     
001a0e   ffea                                                                                                               
001a10   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
001a12   ffe9                                                                                                               
001a14   cfe5     MOVFF     0xfe5,0xfda                                                                                     
001a16   ffda                                                                                                               
001a18   0011     RETFIE    0x1                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001a1a   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
001a1c   9894     BCF       0x94,0x4,0x0    BLINDS0_TRIS=0;                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001a1e   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
001a20   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
001a22   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001a24   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Function: canParse                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Input:  Received can message                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001a26   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
001a28   ffe6                                                                                                               
001a2a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a2c   ffd9                                                                                                               
001a2e   0e0f     MOVLW     0xf                                                                                             
001a30   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
001a32   5ce1     SUBWF     0xe1,0x0,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001a34   e202     BC        0x1a3a                                                                                          
001a36   6ae1     CLRF      0xe1,0x0                                                                                        
001a38   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a3a   6ee1     MOVWF     0xe1,0x0                                                                                        
001a3c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001a3e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001a40   ffd9                                                                                                               
001a42   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           // Below are mandantory when using bootloader                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           // define DEBUG_MODE to use without bootloader.                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #ifndef DEBUG_MODE                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           extern void _startup (void);                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code _RESET_INTERRUPT_VECTOR = 0x001000                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           void _reset (void)                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001000   ef6b     GOTO      0x20d6             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
001002   f010                                                                                                               
001004   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code _HIGH_INTERRUPT_VECTOR = 0x001008                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           void _high_ISR (void)                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001008   ef75     GOTO      0x18ea          _asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
00100a   f00c                                                                                                               
00100c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code _LOW_INTERRUPT_VECTOR = 0x001018                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           void _low_ISR (void)                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
001018   efc2     GOTO      0x1984             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00101a   f00c                                                                                                               
00101c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *   Functions for reading and writing to EEPROM.                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            * FileName:         $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/EEAccess.c $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Last changed: $LastChangedDate: 2006-11-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
001d42   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
001d44   ffe6                                                                                                               
001d46   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001d48   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001d4a   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001d4c   cfdb     MOVFF     0xfdb,0x14                                                                                      
001d4e   f014                                                                                                               
001d50   0efe     MOVLW     0xfe                                                                                            
001d52   cfdb     MOVFF     0xfdb,0x15                                                                                      
001d54   f015                                                                                                               
001d56   c015     MOVFF     0x15,0x14                                                                                       
001d58   f014                                                                                                               
001d5a   6a15     CLRF      0x15,0x0                                                                                        
001d5c   5014     MOVF      0x14,0x0,0x0                                                                                    
001d5e   6eaa     MOVWF     0xaa,0x0                                                                                        
001d60   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001d62   6ee7     MOVWF     0xe7,0x0                                                                                        
001d64   0efd     MOVLW     0xfd                                                                                            
001d66   cfdb     MOVFF     0xfdb,0x14                                                                                      
001d68   f014                                                                                                               
001d6a   0efe     MOVLW     0xfe                                                                                            
001d6c   cfdb     MOVFF     0xfdb,0x15                                                                                      
001d6e   f015                                                                                                               
001d70   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001d72   1614     ANDWF     0x14,0x1,0x0                                                                                    
001d74   6a15     CLRF      0x15,0x0                                                                                        
001d76   5014     MOVF      0x14,0x0,0x0                                                                                    
001d78   6ea9     MOVWF     0xa9,0x0                                                                                        
001d7a   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001d7c   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001d7e   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001d80   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
001d82   d000     BRA       0x1d84                                                                                          
001d84   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001d86   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001d88   ffd9                                                                                                               
001d8a   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
001d8c   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
001d8e   ffe6                                                                                                               
001d90   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001d92   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001d94   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001d96   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
001d98   cfdb     MOVFF     0xfdb,0x14                                                                                      
001d9a   f014                                                                                                               
001d9c   0efe     MOVLW     0xfe                                                                                            
001d9e   cfdb     MOVFF     0xfdb,0x15                                                                                      
001da0   f015                                                                                                               
001da2   c015     MOVFF     0x15,0x14                                                                                       
001da4   f014                                                                                                               
001da6   6a15     CLRF      0x15,0x0                                                                                        
001da8   5014     MOVF      0x14,0x0,0x0                                                                                    
001daa   6eaa     MOVWF     0xaa,0x0                                                                                        
001dac   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
001dae   6ee7     MOVWF     0xe7,0x0                                                                                        
001db0   0efd     MOVLW     0xfd                                                                                            
001db2   cfdb     MOVFF     0xfdb,0x14                                                                                      
001db4   f014                                                                                                               
001db6   0efe     MOVLW     0xfe                                                                                            
001db8   cfdb     MOVFF     0xfdb,0x15                                                                                      
001dba   f015                                                                                                               
001dbc   50e7     MOVF      0xe7,0x0,0x0                                                                                    
001dbe   1614     ANDWF     0x14,0x1,0x0                                                                                    
001dc0   6a15     CLRF      0x15,0x0                                                                                        
001dc2   5014     MOVF      0x14,0x0,0x0                                                                                    
001dc4   6ea9     MOVWF     0xa9,0x0                                                                                        
001dc6   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001dc8   50db     MOVF      0xdb,0x0,0x0                                                                                    
001dca   6ea8     MOVWF     0xa8,0x0                                                                                        
001dcc   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
001dce   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001dd0   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001dd2   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001dd4   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001dd6   6ea7     MOVWF     0xa7,0x0                                                                                        
001dd8   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
001dda   6ea7     MOVWF     0xa7,0x0                                                                                        
001ddc   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001dde   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
001de0   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
001de2   d7fe     BRA       0x1de0                                                                                          
001de4   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
001de6   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
001de8   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001dea   ffd9                                                                                                               
001dec   0012     RETURN    0x0                                                                                             
                                           /*********************************************************************           F:\MCP\projects\CAN\Include\adc.c
                                            *                                                                               F:\MCP\projects\CAN\Include\adc.c
                                            *   Functions for reading ADC                                                   F:\MCP\projects\CAN\Include\adc.c
                                            *                                                                               F:\MCP\projects\CAN\Include\adc.c
                                            *********************************************************************           F:\MCP\projects\CAN\Include\adc.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/adc.c $ F:\MCP\projects\CAN\Include\adc.c
                                            * Last changed: $LastChangedDate: 2006-11-20 21:31:03 +0100 (må, 20 nov 2006) $ F:\MCP\projects\CAN\Include\adc.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\Include\adc.c
                                            * Revision:     $Revision: 139 $                                                   F:\MCP\projects\CAN\Include\adc.c
                                            ********************************************************************/           F:\MCP\projects\CAN\Include\adc.c
                                           #include <adc.h>                                                                 F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           #ifdef USE_ADC                                                                   F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           static unsigned long TEMP_VALUE;                                                 F:\MCP\projects\CAN\Include\adc.c
                                           static unsigned int TEMP_COUNT;                                                  F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           BOOL TEMP_DONE = FALSE;                                                          F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcInit                                                              F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  True or false to use external voltage reference or not. portCfg is portconfiguration. F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
001a44   cfd9     MOVFF     0xfd9,0xfe6    void adcInit(BOOL useExtRef,BYTE portCfg)                                        F:\MCP\projects\CAN\Include\adc.c
001a46   ffe6                                                                                                               
001a48   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001a4a   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
                                            // Setup ADC to use low interrupt prior and external ref or not.                F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001a4c   0efd     MOVLW     0xfd            ADCON1 = 0b00000000 | ((1 & useExtRef)<<4) | (0xF & portCfg);                   F:\MCP\projects\CAN\Include\adc.c
001a4e   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a50   0b0f     ANDLW     0xf                                                                                             
001a52   6e14     MOVWF     0x14,0x0                                                                                        
001a54   0efe     MOVLW     0xfe                                                                                            
001a56   50db     MOVF      0xdb,0x0,0x0                                                                                    
001a58   0b01     ANDLW     0x1                                                                                             
001a5a   0d10     MULLW     0x10                                                                                            
001a5c   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001a5e   1014     IORWF     0x14,0x0,0x0                                                                                    
001a60   6ec1     MOVWF     0xc1,0x0                                                                                        
001a62   6ac2     CLRF      0xc2,0x0        ADCON0 = 0b00000000;                                                            F:\MCP\projects\CAN\Include\adc.c
001a64   0eab     MOVLW     0xab            ADCON2 = 0b10101011;                                                            F:\MCP\projects\CAN\Include\adc.c
001a66   6ec0     MOVWF     0xc0,0x0                                                                                        
                                            //useExtRef                                                                     F:\MCP\projects\CAN\Include\adc.c
001a68   80c2     BSF       0xc2,0x0,0x0    ADCON0bits.ADON = 1;                                                            F:\MCP\projects\CAN\Include\adc.c
001a6a   9c9e     BCF       0x9e,0x6,0x0    PIR1bits.ADIF = 0;                                                              F:\MCP\projects\CAN\Include\adc.c
001a6c   8c9d     BSF       0x9d,0x6,0x0    PIE1bits.ADIE = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
001a6e   9c9f     BCF       0x9f,0x6,0x0    IPR1bits.ADIP = 0; // Low priority                                              F:\MCP\projects\CAN\Include\adc.c
001a70   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
001a72   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001a74   ffd9                                                                                                               
001a76   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcISR                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  ADC interrupt rotune. Need to be called from LOW ISR.                   F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           void adcISR(void)                                                                F:\MCP\projects\CAN\Include\adc.c
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
001a78   509d     MOVF      0x9d,0x0,0x0    if (PIE1bits.ADIE && PIR1bits.ADIF)                                             F:\MCP\projects\CAN\Include\adc.c
001a7a   0b40     ANDLW     0x40                                                                                            
001a7c   e050     BZ        0x1b1e                                                                                          
001a7e   509e     MOVF      0x9e,0x0,0x0                                                                                    
001a80   0b40     ANDLW     0x40                                                                                            
001a82   e04d     BZ        0x1b1e                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\Include\adc.c
001a84   9c9e     BCF       0x9e,0x6,0x0        PIR1bits.ADIF = 0;                                                             F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001a86   50c4     MOVF      0xc4,0x0,0x0        TEMP_VALUE+=((int)ADRESH)<<8 | ADRESL;                                         F:\MCP\projects\CAN\Include\adc.c
001a88   6e18     MOVWF     0x18,0x0                                                                                        
001a8a   c018     MOVFF     0x18,0x19                                                                                       
001a8c   f019                                                                                                               
001a8e   6a18     CLRF      0x18,0x0                                                                                        
001a90   50c3     MOVF      0xc3,0x0,0x0                                                                                    
001a92   0100     MOVLB     0x0                                                                                             
001a94   1018     IORWF     0x18,0x0,0x0                                                                                    
001a96   6e14     MOVWF     0x14,0x0                                                                                        
001a98   c019     MOVFF     0x19,0x15                                                                                       
001a9a   f015                                                                                                               
001a9c   6a16     CLRF      0x16,0x0                                                                                        
001a9e   6a17     CLRF      0x17,0x0                                                                                        
001aa0   ae15     BTFSS     0x15,0x7,0x0                                                                                    
001aa2   d002     BRA       0x1aa8                                                                                          
001aa4   6816     SETF      0x16,0x0                                                                                        
001aa6   6817     SETF      0x17,0x0                                                                                        
001aa8   5014     MOVF      0x14,0x0,0x0                                                                                    
001aaa   0100     MOVLB     0x0                                                                                             
001aac   278e     ADDWF     0x8e,0x1,0x1                                                                                    
001aae   5015     MOVF      0x15,0x0,0x0                                                                                    
001ab0   238f     ADDWFC    0x8f,0x1,0x1                                                                                    
001ab2   5016     MOVF      0x16,0x0,0x0                                                                                    
001ab4   2390     ADDWFC    0x90,0x1,0x1                                                                                    
001ab6   5017     MOVF      0x17,0x0,0x0                                                                                    
001ab8   2391     ADDWFC    0x91,0x1,0x1                                                                                    
001aba   2b92     INCF      0x92,0x1,0x1        TEMP_COUNT++;                                                                  F:\MCP\projects\CAN\Include\adc.c
001abc   0e00     MOVLW     0x0                                                                                             
001abe   2393     ADDWFC    0x93,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001ac0   0e32     MOVLW     0x32                if (TEMP_COUNT>=TEMP_SAMPLES)                                                  F:\MCP\projects\CAN\Include\adc.c
001ac2   5d92     SUBWF     0x92,0x0,0x1                                                                                    
001ac4   0e00     MOVLW     0x0                                                                                             
001ac6   5993     SUBWFB    0x93,0x0,0x1                                                                                    
001ac8   e324     BNC       0x1b12                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
001aca   c092     MOVFF     0x92,0x14               TEMP_VALUE = TEMP_VALUE/TEMP_COUNT;                                           F:\MCP\projects\CAN\Include\adc.c
001acc   f014                                                                                                               
001ace   c093     MOVFF     0x93,0x15                                                                                       
001ad0   f015                                                                                                               
001ad2   6a16     CLRF      0x16,0x0                                                                                        
001ad4   6a17     CLRF      0x17,0x0                                                                                        
001ad6   c08e     MOVFF     0x8e,0x6                                                                                        
001ad8   f006                                                                                                               
001ada   c08f     MOVFF     0x8f,0x7                                                                                        
001adc   f007                                                                                                               
001ade   c090     MOVFF     0x90,0x8                                                                                        
001ae0   f008                                                                                                               
001ae2   c091     MOVFF     0x91,0x9                                                                                        
001ae4   f009                                                                                                               
001ae6   c014     MOVFF     0x14,0xb                                                                                        
001ae8   f00b                                                                                                               
001aea   c015     MOVFF     0x15,0xc                                                                                        
001aec   f00c                                                                                                               
001aee   c016     MOVFF     0x16,0xd                                                                                        
001af0   f00d                                                                                                               
001af2   c017     MOVFF     0x17,0xe                                                                                        
001af4   f00e                                                                                                               
001af6   ec0f     CALL      0x201e,0x0                                                                                      
001af8   f010                                                                                                               
001afa   c006     MOVFF     0x6,0x8e                                                                                        
001afc   f08e                                                                                                               
001afe   c007     MOVFF     0x7,0x8f                                                                                        
001b00   f08f                                                                                                               
001b02   c008     MOVFF     0x8,0x90                                                                                        
001b04   f090                                                                                                               
001b06   c009     MOVFF     0x9,0x91                                                                                        
001b08   f091                                                                                                               
001b0a   0100     MOVLB     0x0                     TEMP_DONE = TRUE;                                                             F:\MCP\projects\CAN\Include\adc.c
001b0c   0e01     MOVLW     0x1                                                                                             
001b0e   6f9f     MOVWF     0x9f,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\Include\adc.c
001b10   d006     BRA       0x1b1e              else                                                                           F:\MCP\projects\CAN\Include\adc.c
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
001b12   0e64     MOVLW     0x64                    Delay10TCYx(100);                                                             F:\MCP\projects\CAN\Include\adc.c
001b14   6ee6     MOVWF     0xe6,0x0                                                                                        
001b16   ec77     CALL      0x20ee,0x0                                                                                      
001b18   f010                                                                                                               
001b1a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001b1c   82c2     BSF       0xc2,0x1,0x0            ADCON0bits.GO = 1;                                                            F:\MCP\projects\CAN\Include\adc.c
                                                }                                                                              F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                            }                                                                               F:\MCP\projects\CAN\Include\adc.c
001b1e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcConvert                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  Channel to start convert. Between 0 and 15                              F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
001b20   cfd9     MOVFF     0xfd9,0xfe6    BOOL adcConvert(BYTE channel)                                                    F:\MCP\projects\CAN\Include\adc.c
001b22   ffe6                                                                                                               
001b24   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001b26   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
001b28   0efe     MOVLW     0xfe            if (channel>15) return FALSE;                                                   F:\MCP\projects\CAN\Include\adc.c
001b2a   50db     MOVF      0xdb,0x0,0x0                                                                                    
001b2c   080f     SUBLW     0xf                                                                                             
001b2e   e202     BC        0x1b34                                                                                          
001b30   0e00     MOVLW     0x0                                                                                             
001b32   d015     BRA       0x1b5e                                                                                          
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b34   0100     MOVLB     0x0             TEMP_VALUE = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
001b36   6b8e     CLRF      0x8e,0x1                                                                                        
001b38   6b8f     CLRF      0x8f,0x1                                                                                        
001b3a   6b90     CLRF      0x90,0x1                                                                                        
001b3c   6b91     CLRF      0x91,0x1                                                                                        
001b3e   6b92     CLRF      0x92,0x1        TEMP_COUNT = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
001b40   6b93     CLRF      0x93,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b42   0ec3     MOVLW     0xc3            ADCON0 = (channel << 2)  | (ADCON0 & 0b11000011);                               F:\MCP\projects\CAN\Include\adc.c
001b44   14c2     ANDWF     0xc2,0x0,0x0                                                                                    
001b46   6e14     MOVWF     0x14,0x0                                                                                        
001b48   0efe     MOVLW     0xfe                                                                                            
001b4a   50db     MOVF      0xdb,0x0,0x0                                                                                    
001b4c   0d04     MULLW     0x4                                                                                             
001b4e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
001b50   1014     IORWF     0x14,0x0,0x0                                                                                    
001b52   6ec2     MOVWF     0xc2,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b54   0100     MOVLB     0x0             TEMP_DONE = FALSE;                                                              F:\MCP\projects\CAN\Include\adc.c
001b56   6b9f     CLRF      0x9f,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b58   82c2     BSF       0xc2,0x1,0x0    ADCON0bits.GO = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b5a   0e01     MOVLW     0x1             return TRUE;                                                                    F:\MCP\projects\CAN\Include\adc.c
001b5c   d000     BRA       0x1b5e                                                                                          
001b5e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
001b60   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001b62   ffd9                                                                                                               
001b64   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcRead                                                              F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: Raw read data.                                                         F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           int adcRead(void)                                                                F:\MCP\projects\CAN\Include\adc.c
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
001b66   0100     MOVLB     0x0             TEMP_DONE=FALSE;                                                                F:\MCP\projects\CAN\Include\adc.c
001b68   6b9f     CLRF      0x9f,0x1                                                                                        
001b6a   c08e     MOVFF     0x8e,0xff3      return TEMP_VALUE;                                                              F:\MCP\projects\CAN\Include\adc.c
001b6c   fff3                                                                                                               
001b6e   c08f     MOVFF     0x8f,0xff4                                                                                      
001b70   fff4                                                                                                               
001b72   d000     BRA       0x1b74                                                                                          
001b74   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: temperatureRead                                                      F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: XX.Y C, where tenth is XX and decimal is Y                             F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
001b76   cfd9     MOVFF     0xfd9,0xfe6    void temperatureRead(signed char *tenth, BYTE *decimal)                          F:\MCP\projects\CAN\Include\adc.c
001b78   ffe6                                                                                                               
001b7a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001b7c   ffd9                                                                                                               
001b7e   0e08     MOVLW     0x8                                                                                             
001b80   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
                                            // assuming 2.5V ref and TC47                                                   F:\MCP\projects\CAN\Include\adc.c
001b82   6ade     CLRF      0xde,0x0        signed int i = 0, v11,v01,tfloat;                                               F:\MCP\projects\CAN\Include\adc.c
001b84   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001b86   c08e     MOVFF     0x8e,0x18       tfloat =((TEMP_VALUE * 39)>>4) - 499;                                           F:\MCP\projects\CAN\Include\adc.c
001b88   f018                                                                                                               
001b8a   c08f     MOVFF     0x8f,0x19                                                                                       
001b8c   f019                                                                                                               
001b8e   c090     MOVFF     0x90,0x1a                                                                                       
001b90   f01a                                                                                                               
001b92   c091     MOVFF     0x91,0x1b                                                                                       
001b94   f01b                                                                                                               
001b96   0e27     MOVLW     0x27                                                                                            
001b98   6e0b     MOVWF     0xb,0x0                                                                                         
001b9a   6a0c     CLRF      0xc,0x0                                                                                         
001b9c   6a0d     CLRF      0xd,0x0                                                                                         
001b9e   6a0e     CLRF      0xe,0x0                                                                                         
001ba0   c018     MOVFF     0x18,0x6                                                                                        
001ba2   f006                                                                                                               
001ba4   c019     MOVFF     0x19,0x7                                                                                        
001ba6   f007                                                                                                               
001ba8   c01a     MOVFF     0x1a,0x8                                                                                        
001baa   f008                                                                                                               
001bac   c01b     MOVFF     0x1b,0x9                                                                                        
001bae   f009                                                                                                               
001bb0   ecd7     CALL      0x1fae,0x0                                                                                      
001bb2   f00f                                                                                                               
001bb4   c002     MOVFF     0x2,0x18                                                                                        
001bb6   f018                                                                                                               
001bb8   c003     MOVFF     0x3,0x19                                                                                        
001bba   f019                                                                                                               
001bbc   c004     MOVFF     0x4,0x1a                                                                                        
001bbe   f01a                                                                                                               
001bc0   c005     MOVFF     0x5,0x1b                                                                                        
001bc2   f01b                                                                                                               
001bc4   0e04     MOVLW     0x4                                                                                             
001bc6   90d8     BCF       0xd8,0x0,0x0                                                                                    
001bc8   321b     RRCF      0x1b,0x1,0x0                                                                                    
001bca   321a     RRCF      0x1a,0x1,0x0                                                                                    
001bcc   3219     RRCF      0x19,0x1,0x0                                                                                    
001bce   3218     RRCF      0x18,0x1,0x0                                                                                    
001bd0   06e8     DECF      0xe8,0x1,0x0                                                                                    
001bd2   e1f9     BNZ       0x1bc6                                                                                          
001bd4   c018     MOVFF     0x18,0x14                                                                                       
001bd6   f014                                                                                                               
001bd8   c019     MOVFF     0x19,0x15                                                                                       
001bda   f015                                                                                                               
001bdc   c01a     MOVFF     0x1a,0x16                                                                                       
001bde   f016                                                                                                               
001be0   c01b     MOVFF     0x1b,0x17                                                                                       
001be2   f017                                                                                                               
001be4   0ef3     MOVLW     0xf3                                                                                            
001be6   5e14     SUBWF     0x14,0x1,0x0                                                                                    
001be8   0e01     MOVLW     0x1                                                                                             
001bea   5a15     SUBWFB    0x15,0x1,0x0                                                                                    
001bec   0e00     MOVLW     0x0                                                                                             
001bee   5a16     SUBWFB    0x16,0x1,0x0                                                                                    
001bf0   5a17     SUBWFB    0x17,0x1,0x0                                                                                    
001bf2   0e06     MOVLW     0x6                                                                                             
001bf4   c014     MOVFF     0x14,0xfdb                                                                                      
001bf6   ffdb                                                                                                               
001bf8   0e07     MOVLW     0x7                                                                                             
001bfa   c015     MOVFF     0x15,0xfdb                                                                                      
001bfc   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001bfe   0e0a     MOVLW     0xa             v11 = tfloat/10;                                                                F:\MCP\projects\CAN\Include\adc.c
001c00   6e14     MOVWF     0x14,0x0                                                                                        
001c02   6a15     CLRF      0x15,0x0                                                                                        
001c04   0e06     MOVLW     0x6                                                                                             
001c06   cfdb     MOVFF     0xfdb,0x8                                                                                       
001c08   f008                                                                                                               
001c0a   0e07     MOVLW     0x7                                                                                             
001c0c   cfdb     MOVFF     0xfdb,0x9                                                                                       
001c0e   f009                                                                                                               
001c10   c014     MOVFF     0x14,0xd                                                                                        
001c12   f00d                                                                                                               
001c14   c015     MOVFF     0x15,0xe                                                                                        
001c16   f00e                                                                                                               
001c18   ecf7     CALL      0x1dee,0x0                                                                                      
001c1a   f00e                                                                                                               
001c1c   0e02     MOVLW     0x2                                                                                             
001c1e   c008     MOVFF     0x8,0xfdb                                                                                       
001c20   ffdb                                                                                                               
001c22   0e03     MOVLW     0x3                                                                                             
001c24   c009     MOVFF     0x9,0xfdb                                                                                       
001c26   ffdb                                                                                                               
001c28   0e06     MOVLW     0x6             v01 = tfloat-v11*10;                                                            F:\MCP\projects\CAN\Include\adc.c
001c2a   cfdb     MOVFF     0xfdb,0x16                                                                                      
001c2c   f016                                                                                                               
001c2e   0e07     MOVLW     0x7                                                                                             
001c30   cfdb     MOVFF     0xfdb,0x17                                                                                      
001c32   f017                                                                                                               
001c34   0e0a     MOVLW     0xa                                                                                             
001c36   6e08     MOVWF     0x8,0x0                                                                                         
001c38   6a09     CLRF      0x9,0x0                                                                                         
001c3a   0e02     MOVLW     0x2                                                                                             
001c3c   cfdb     MOVFF     0xfdb,0xd                                                                                       
001c3e   f00d                                                                                                               
001c40   0e03     MOVLW     0x3                                                                                             
001c42   cfdb     MOVFF     0xfdb,0xe                                                                                       
001c44   f00e                                                                                                               
001c46   ec1d     CALL      0x1e3a,0x0                                                                                      
001c48   f00f                                                                                                               
001c4a   5006     MOVF      0x6,0x0,0x0                                                                                     
001c4c   5c16     SUBWF     0x16,0x0,0x0                                                                                    
001c4e   6e14     MOVWF     0x14,0x0                                                                                        
001c50   5007     MOVF      0x7,0x0,0x0                                                                                     
001c52   5817     SUBWFB    0x17,0x0,0x0                                                                                    
001c54   6e15     MOVWF     0x15,0x0                                                                                        
001c56   0e04     MOVLW     0x4                                                                                             
001c58   c014     MOVFF     0x14,0xfdb                                                                                      
001c5a   ffdb                                                                                                               
001c5c   0e05     MOVLW     0x5                                                                                             
001c5e   c015     MOVFF     0x15,0xfdb                                                                                      
001c60   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001c62   0e04     MOVLW     0x4                  if (v01>=0 && v01<=2) v01 = 0;                                             F:\MCP\projects\CAN\Include\adc.c
001c64   cfdb     MOVFF     0xfdb,0x14                                                                                      
001c66   f014                                                                                                               
001c68   0e05     MOVLW     0x5                                                                                             
001c6a   cfdb     MOVFF     0xfdb,0x15                                                                                      
001c6c   f015                                                                                                               
001c6e   0100     MOVLB     0x0                                                                                             
001c70   0e80     MOVLW     0x80                                                                                            
001c72   1415     ANDWF     0x15,0x0,0x0                                                                                    
001c74   e112     BNZ       0x1c9a                                                                                          
001c76   0e04     MOVLW     0x4                                                                                             
001c78   cfdb     MOVFF     0xfdb,0x16                                                                                      
001c7a   f016                                                                                                               
001c7c   0e05     MOVLW     0x5                                                                                             
001c7e   cfdb     MOVFF     0xfdb,0x17                                                                                      
001c80   f017                                                                                                               
001c82   3417     RLCF      0x17,0x0,0x0                                                                                    
001c84   e204     BC        0x1c8e                                                                                          
001c86   5016     MOVF      0x16,0x0,0x0                                                                                    
001c88   0802     SUBLW     0x2                                                                                             
001c8a   0e00     MOVLW     0x0                                                                                             
001c8c   5417     SUBFWB    0x17,0x0,0x0                                                                                    
001c8e   e305     BNC       0x1c9a                                                                                          
001c90   0e04     MOVLW     0x4                                                                                             
001c92   6adb     CLRF      0xdb,0x0                                                                                        
001c94   0e05     MOVLW     0x5                                                                                             
001c96   6adb     CLRF      0xdb,0x0                                                                                        
001c98   d02c     BRA       0x1cf2          else if (v01>=3 && v01<=7) v01 = 5;                                             F:\MCP\projects\CAN\Include\adc.c
001c9a   0e04     MOVLW     0x4                                                                                             
001c9c   cfdb     MOVFF     0xfdb,0x14                                                                                      
001c9e   f014                                                                                                               
001ca0   0e05     MOVLW     0x5                                                                                             
001ca2   cfdb     MOVFF     0xfdb,0x15                                                                                      
001ca4   f015                                                                                                               
001ca6   90d8     BCF       0xd8,0x0,0x0                                                                                    
001ca8   5015     MOVF      0x15,0x0,0x0                                                                                    
001caa   e604     BN        0x1cb4                                                                                          
001cac   0e03     MOVLW     0x3                                                                                             
001cae   5c14     SUBWF     0x14,0x0,0x0                                                                                    
001cb0   0e00     MOVLW     0x0                                                                                             
001cb2   5815     SUBWFB    0x15,0x0,0x0                                                                                    
001cb4   e315     BNC       0x1ce0                                                                                          
001cb6   0e04     MOVLW     0x4                                                                                             
001cb8   cfdb     MOVFF     0xfdb,0x16                                                                                      
001cba   f016                                                                                                               
001cbc   0e05     MOVLW     0x5                                                                                             
001cbe   cfdb     MOVFF     0xfdb,0x17                                                                                      
001cc0   f017                                                                                                               
001cc2   3417     RLCF      0x17,0x0,0x0                                                                                    
001cc4   e204     BC        0x1cce                                                                                          
001cc6   5016     MOVF      0x16,0x0,0x0                                                                                    
001cc8   0807     SUBLW     0x7                                                                                             
001cca   0e00     MOVLW     0x0                                                                                             
001ccc   5417     SUBFWB    0x17,0x0,0x0                                                                                    
001cce   e308     BNC       0x1ce0                                                                                          
001cd0   0e05     MOVLW     0x5                                                                                             
001cd2   6ef3     MOVWF     0xf3,0x0                                                                                        
001cd4   0e04     MOVLW     0x4                                                                                             
001cd6   cff3     MOVFF     0xff3,0xfdb                                                                                     
001cd8   ffdb                                                                                                               
001cda   0e05     MOVLW     0x5                                                                                             
001cdc   6adb     CLRF      0xdb,0x0                                                                                        
001cde   d009     BRA       0x1cf2          else  { v01 = 0; v11++;}                                                        F:\MCP\projects\CAN\Include\adc.c
001ce0   0e04     MOVLW     0x4                                                                                             
001ce2   6adb     CLRF      0xdb,0x0                                                                                        
001ce4   0e05     MOVLW     0x5                                                                                             
001ce6   6adb     CLRF      0xdb,0x0                                                                                        
001ce8   0e02     MOVLW     0x2                                                                                             
001cea   2adb     INCF      0xdb,0x1,0x0                                                                                    
001cec   0e03     MOVLW     0x3                                                                                             
001cee   e301     BNC       0x1cf2                                                                                          
001cf0   2adb     INCF      0xdb,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001cf2   0e02     MOVLW     0x2             tenth = (signed char *)v11;                                                     F:\MCP\projects\CAN\Include\adc.c
001cf4   cfdb     MOVFF     0xfdb,0x8                                                                                       
001cf6   f008                                                                                                               
001cf8   0e03     MOVLW     0x3                                                                                             
001cfa   cfdb     MOVFF     0xfdb,0x9                                                                                       
001cfc   f009                                                                                                               
001cfe   0efd     MOVLW     0xfd                                                                                            
001d00   c008     MOVFF     0x8,0xfdb                                                                                       
001d02   ffdb                                                                                                               
001d04   0efe     MOVLW     0xfe                                                                                            
001d06   c009     MOVFF     0x9,0xfdb                                                                                       
001d08   ffdb                                                                                                               
001d0a   0e04     MOVLW     0x4             decimal = (BYTE *)v01;                                                          F:\MCP\projects\CAN\Include\adc.c
001d0c   cfdb     MOVFF     0xfdb,0x8                                                                                       
001d0e   f008                                                                                                               
001d10   0e05     MOVLW     0x5                                                                                             
001d12   cfdb     MOVFF     0xfdb,0x9                                                                                       
001d14   f009                                                                                                               
001d16   0efb     MOVLW     0xfb                                                                                            
001d18   c008     MOVFF     0x8,0xfdb                                                                                       
001d1a   ffdb                                                                                                               
001d1c   0efc     MOVLW     0xfc                                                                                            
001d1e   c009     MOVFF     0x9,0xfdb                                                                                       
001d20   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
001d22   0100     MOVLB     0x0                 TEMP_DONE=FALSE;                                                               F:\MCP\projects\CAN\Include\adc.c
001d24   6b9f     CLRF      0x9f,0x1                                                                                        
001d26   0e08     MOVLW     0x8            }                                                                                F:\MCP\projects\CAN\Include\adc.c
001d28   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
001d2a   e202     BC        0x1d30                                                                                          
001d2c   6ae1     CLRF      0xe1,0x0                                                                                        
001d2e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001d30   6ee1     MOVWF     0xe1,0x0                                                                                        
001d32   52e5     MOVF      0xe5,0x1,0x0                                                                                    
001d34   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001d36   ffd9                                                                                                               
001d38   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           /*                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           *    Function: adcDone                                                              F:\MCP\projects\CAN\Include\adc.c
                                           *                                                                                F:\MCP\projects\CAN\Include\adc.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\Include\adc.c
                                           *    Output: If adc convertion is done or not.                                      F:\MCP\projects\CAN\Include\adc.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\Include\adc.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\Include\adc.c
                                           */                                                                               F:\MCP\projects\CAN\Include\adc.c
                                           BOOL adcDone(void)                                                               F:\MCP\projects\CAN\Include\adc.c
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
001d3a   0100     MOVLB     0x0             return TEMP_DONE;                                                               F:\MCP\projects\CAN\Include\adc.c
001d3c   519f     MOVF      0x9f,0x0,0x1                                                                                    
001d3e   d000     BRA       0x1d40                                                                                          
001d40   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           #endif                                                                           F:\MCP\projects\CAN\Include\adc.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            *                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            *   Functions for controlling blinds                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            *                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            *********************************************************************           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canTemp/Source/blinds.c $ F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            * Last changed: $LastChangedDate: 2007-01-30 12:34:06 +0100 (ti, 30 jan 2007) $ F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            * Revision:     $Revision: 275 $                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           #include <blinds.h>                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           #ifdef USE_BLINDS                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           BLINDS_DIR mode = MIDDLE;                                                        F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           WORD numSteps = 0;                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           BYTE minCounter = 0;                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           /*                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Function: blindsInit                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           */                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           void blindsInit()                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            // setup timer one on 0.5ms.                                                    F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            // 16 bit write, system clock, prescale 2 bit, oscillator off,                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f32   0ec1     MOVLW     0xc1            T1CON = 0b11000001;                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f34   6ecd     MOVWF     0xcd,0x0                                                                                        
001f36   0eec     MOVLW     0xec            TMR1H=((TMR1_VAL&0xFF00)>>8);                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f38   6ecf     MOVWF     0xcf,0x0                                                                                        
001f3a   0e78     MOVLW     0x78            TMR1L=(TMR1_VAL&0xFF);                                                          F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f3c   6ece     MOVWF     0xce,0x0                                                                                        
001f3e   909e     BCF       0x9e,0x0,0x0    PIR1bits.TMR1IF = 0;                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f40   809d     BSF       0x9d,0x0,0x0    PIE1bits.TMR1IE = 1;                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f42   809f     BSF       0x9f,0x0,0x0    IPR1bits.TMR1IP = 1; // high prior?                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f44   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           /*                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Function: blindsTurn                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Input:  Direction and number of steps to perform.                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           */                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f46   cfd9     MOVFF     0xfd9,0xfe6    void blindsTurn(BLINDS_DIR dir, WORD steps)                                      F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f48   ffe6                                                                                                               
001f4a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
001f4c   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f4e   0efe     MOVLW     0xfe            mode = dir;                                                                     F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f50   cfdb     MOVFF     0xfdb,0x94                                                                                      
001f52   f094                                                                                                               
001f54   0100     MOVLB     0x0             minCounter = 0;                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f56   6b97     CLRF      0x97,0x1                                                                                        
001f58   0efc     MOVLW     0xfc            numSteps = steps;                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f5a   cfdb     MOVFF     0xfdb,0x95                                                                                      
001f5c   f095                                                                                                               
001f5e   0efd     MOVLW     0xfd                                                                                            
001f60   cfdb     MOVFF     0xfdb,0x96                                                                                      
001f62   f096                                                                                                               
001f64   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f66   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
001f68   ffd9                                                                                                               
001f6a   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           /*                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Function: blindsStop                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Input:  Stop blind at current position.                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           */                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           void blindsStop()                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f6c   0100     MOVLB     0x0             numSteps = 0;                                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f6e   6b95     CLRF      0x95,0x1                                                                                        
001f70   6b96     CLRF      0x96,0x1                                                                                        
001f72   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           /*                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Function: blindsISR                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Output: none.                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Affects: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           */                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           void blindsISR(void)                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f74   509e     MOVF      0x9e,0x0,0x0    if (PIR1bits.TMR1IF == 1 && PIE1bits.TMR1IE == 1)                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f76   0b01     ANDLW     0x1                                                                                             
001f78   e019     BZ        0x1fac                                                                                          
001f7a   509d     MOVF      0x9d,0x0,0x0                                                                                    
001f7c   0b01     ANDLW     0x1                                                                                             
001f7e   e016     BZ        0x1fac                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f80   0eec     MOVLW     0xec                TMR1H=((TMR1_VAL&0xFF00)>>8);                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f82   6ecf     MOVWF     0xcf,0x0                                                                                        
001f84   0e78     MOVLW     0x78                TMR1L=(TMR1_VAL&0xFF);                                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f86   6ece     MOVWF     0xce,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f88   0100     MOVLB     0x0                 if (numSteps>1)                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f8a   0e01     MOVLW     0x1                                                                                             
001f8c   80d8     BSF       0xd8,0x0,0x0                                                                                    
001f8e   5595     SUBFWB    0x95,0x0,0x1                                                                                    
001f90   0e00     MOVLW     0x0                                                                                             
001f92   5596     SUBFWB    0x96,0x0,0x1                                                                                    
001f94   e20a     BC        0x1faa                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f96   0797     DECF      0x97,0x1,0x1            if ((--minCounter)<1)                                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f98   0e01     MOVLW     0x1                                                                                             
001f9a   5d97     SUBWF     0x97,0x0,0x1                                                                                    
001f9c   e206     BC        0x1faa                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
001f9e   0795     DECF      0x95,0x1,0x1                numSteps--;                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
001fa0   0e00     MOVLW     0x0                                                                                             
001fa2   5b96     SUBWFB    0x96,0x1,0x1                                                                                    
001fa4   7882     BTG       0x82,0x4,0x0                BLINDS0_IO=~BLINDS0_IO;                                                      F:\MCP\projects\CAN\canTemp\Source\blinds.c
001fa6   c094     MOVFF     0x94,0x97                   minCounter=mode;                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
001fa8   f097                                                                                                               
                                                    }                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
001faa   909e     BCF       0x9e,0x0,0x0        PIR1bits.TMR1IF = 0;                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
001fac   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c