Subversion Repositories HomeAutomation

Rev

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

MP2COD 4.1, COFF to COD File Converter
Copyright (c) 2006 Microchip Technology Inc.
Listing File Generated: Mon Feb 26 21:10:50 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-02-25 20:51:08 +0100 (sö, 25 feb 2007) $ F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * Revision:     $Revision: 339 $                                                   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 CAN_PACKET outCp;                                                         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
003068   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00306a   6e6f     MOVWF     0x6f,0x0                                                                                        
00306c   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
00306e   146e     ANDWF     0x6e,0x0,0x0                                                                                    
003070   0880     SUBLW     0x80                                                                                            
003072   e001     BZ        0x3076                                                                                          
003074   d7fb     BRA       0x306c                                                                                          
                                                                                                                            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
003076   0e04     MOVLW     0x4             BRGCON1 = 0x04;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
003078   6e70     MOVWF     0x70,0x0                                                                                        
00307a   0ed1     MOVLW     0xd1            BRGCON2 = 0xD1;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00307c   6e71     MOVWF     0x71,0x0                                                                                        
00307e   0e81     MOVLW     0x81            BRGCON3 = 0x81;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
003080   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
003082   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
003084   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
003086   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
003088   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
00308a   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
00308c   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00308e   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003090   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
003092   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003094   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003096   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
003098   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
00309a   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00309c   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00309e   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0030a0   e001     BZ        0x30a4                                                                                          
0030a2   d7fc     BRA       0x309c                                                                                          
                                            #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
0030a4   ecf1     CALL      0x45e2,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0030a6   f022                                                                                                               
                                                                                                                            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
0030a8   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0030aa   6ee6     MOVWF     0xe6,0x0                                                                                        
0030ac   6ae6     CLRF      0xe6,0x0                                                                                        
0030ae   ecf0     CALL      0x43e0,0x0                                                                                      
0030b0   f021                                                                                                               
0030b2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030b4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030b6   082a     SUBLW     0x2a                                                                                            
0030b8   e10a     BNZ       0x30ce                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0030ba   0e01     MOVLW     0x1                 MY_ID=+EERead(NODE_ID_EE + 1);                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0030bc   6ee6     MOVWF     0xe6,0x0                                                                                        
0030be   6ae6     CLRF      0xe6,0x0                                                                                        
0030c0   ecf0     CALL      0x43e0,0x0                                                                                      
0030c2   f021                                                                                                               
0030c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030c6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030c8   0100     MOVLB     0x0                                                                                             
0030ca   6fa0     MOVWF     0xa0,0x1                                                                                        
0030cc   6ba1     CLRF      0xa1,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
0030ce   0100     MOVLB     0x0             outCp.type=ptPGM;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0030d0   0e01     MOVLW     0x1                                                                                             
0030d2   6f64     MOVWF     0x64,0x1                                                                                        
0030d4   6b65     CLRF      0x65,0x1        outCp.pgm.class=pcCTRL;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0030d6   6f66     MOVWF     0x66,0x1        outCp.pgm.id=pctAPPBOOT;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0030d8   6b67     CLRF      0x67,0x1                                                                                        
0030da   0e02     MOVLW     0x2             outCp.length=2;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0030dc   6f6c     MOVWF     0x6c,0x1                                                                                        
0030de   6b6e     CLRF      0x6e,0x1        outCp.data[1]=(BYTE)((APP_VERSION & 0xFF00)>>8);                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0030e0   0e01     MOVLW     0x1             outCp.data[0]=(BYTE)(APP_VERSION & 0xFF);                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0030e2   6f6d     MOVWF     0x6d,0x1                                                                                        
0030e4   0e02     MOVLW     0x2             while(!canSendMessage(outCp,PRIO_HIGH));                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0030e6   6ee6     MOVWF     0xe6,0x0                                                                                        
0030e8   c064     MOVFF     0x64,0xfe6                                                                                      
0030ea   ffe6                                                                                                               
0030ec   c065     MOVFF     0x65,0xfe6                                                                                      
0030ee   ffe6                                                                                                               
0030f0   c066     MOVFF     0x66,0xfe6                                                                                      
0030f2   ffe6                                                                                                               
0030f4   c067     MOVFF     0x67,0xfe6                                                                                      
0030f6   ffe6                                                                                                               
0030f8   c068     MOVFF     0x68,0xfe6                                                                                      
0030fa   ffe6                                                                                                               
0030fc   c069     MOVFF     0x69,0xfe6                                                                                      
0030fe   ffe6                                                                                                               
003100   c06a     MOVFF     0x6a,0xfe6                                                                                      
003102   ffe6                                                                                                               
003104   c06b     MOVFF     0x6b,0xfe6                                                                                      
003106   ffe6                                                                                                               
003108   c06c     MOVFF     0x6c,0xfe6                                                                                      
00310a   ffe6                                                                                                               
00310c   c06d     MOVFF     0x6d,0xfe6                                                                                      
00310e   ffe6                                                                                                               
003110   c06e     MOVFF     0x6e,0xfe6                                                                                      
003112   ffe6                                                                                                               
003114   c06f     MOVFF     0x6f,0xfe6                                                                                      
003116   ffe6                                                                                                               
003118   c070     MOVFF     0x70,0xfe6                                                                                      
00311a   ffe6                                                                                                               
00311c   c071     MOVFF     0x71,0xfe6                                                                                      
00311e   ffe6                                                                                                               
003120   c072     MOVFF     0x72,0xfe6                                                                                      
003122   ffe6                                                                                                               
003124   c073     MOVFF     0x73,0xfe6                                                                                      
003126   ffe6                                                                                                               
003128   c074     MOVFF     0x74,0xfe6                                                                                      
00312a   ffe6                                                                                                               
00312c   d9cb     RCALL     0x34c4                                                                                          
00312e   6e00     MOVWF     0x0,0x0                                                                                         
003130   0e12     MOVLW     0x12                                                                                            
003132   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003134   5000     MOVF      0x0,0x0,0x0                                                                                     
003136   0900     IORLW     0x0                                                                                             
003138   e101     BNZ       0x313c                                                                                          
00313a   d7d4     BRA       0x30e4                                                                                          
00313c   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
00313e   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003140   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
003142   0b02     ANDLW     0x2                                                                                             
003144   e106     BNZ       0x3152                                                                                          
003146   50a4     MOVF      0xa4,0x0,0x0                                                                                    
003148   0b02     ANDLW     0x2                                                                                             
00314a   e103     BNZ       0x3152                                                                                          
00314c   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00314e   0b01     ANDLW     0x1                                                                                             
003150   e016     BZ        0x317e                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003152   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
003154   146f     ANDWF     0x6f,0x0,0x0                                                                                    
003156   0910     IORLW     0x10                                                                                            
003158   6e00     MOVWF     0x0,0x0                                                                                         
00315a   0e00     MOVLW     0x0                                                                                             
00315c   1477     ANDWF     0x77,0x0,0x0                                                                                    
00315e   1000     IORWF     0x0,0x0,0x0                                                                                     
003160   6e77     MOVWF     0x77,0x0                                                                                        
003162   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003164   d869     RCALL     0x3238                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003166   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003168   d002     BRA       0x316e                                                                                          
00316a   92a4     BCF       0xa4,0x1,0x0                                                                                    
00316c   d064     BRA       0x3236                                                                                          
00316e   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003170   d002     BRA       0x3176                                                                                          
003172   92a4     BCF       0xa4,0x1,0x0                                                                                    
003174   d060     BRA       0x3236                                                                                          
003176   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003178   d002     BRA       0x317e                                                                                          
00317a   90a4     BCF       0xa4,0x0,0x0                                                                                    
00317c   d05c     BRA       0x3236                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00317e   ec05     CALL      0x460a,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
003180   f023                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003182   ecfb     CALL      0x45f6,0x0      if ((tickGet()-heartbeat)>TICK_SECOND*5)                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
003184   f022                                                                                                               
003186   0100     MOVLB     0x0                                                                                             
003188   5160     MOVF      0x60,0x0,0x1                                                                                    
00318a   5c29     SUBWF     0x29,0x0,0x0                                                                                    
00318c   6e00     MOVWF     0x0,0x0                                                                                         
00318e   0100     MOVLB     0x0                                                                                             
003190   5161     MOVF      0x61,0x0,0x1                                                                                    
003192   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
003194   6e01     MOVWF     0x1,0x0                                                                                         
003196   0100     MOVLB     0x0                                                                                             
003198   5162     MOVF      0x62,0x0,0x1                                                                                    
00319a   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
00319c   6e02     MOVWF     0x2,0x0                                                                                         
00319e   0100     MOVLB     0x0                                                                                             
0031a0   5163     MOVF      0x63,0x0,0x1                                                                                    
0031a2   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
0031a4   6e03     MOVWF     0x3,0x0                                                                                         
0031a6   80d8     BSF       0xd8,0x0,0x0                                                                                    
0031a8   0ef4     MOVLW     0xf4                                                                                            
0031aa   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0031ac   0e01     MOVLW     0x1                                                                                             
0031ae   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0031b0   0e00     MOVLW     0x0                                                                                             
0031b2   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0031b4   0e00     MOVLW     0x0                                                                                             
0031b6   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0031b8   e23e     BC        0x3236                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Send alive heartbeat                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0031ba   0100     MOVLB     0x0                 outCp.type=ptPGM;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0031bc   0e01     MOVLW     0x1                                                                                             
0031be   6f64     MOVWF     0x64,0x1                                                                                        
0031c0   0100     MOVLB     0x0                 outCp.pgm.class=pcCTRL;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0031c2   6b65     CLRF      0x65,0x1                                                                                        
0031c4   0e02     MOVLW     0x2                 outCp.pgm.id=pctHEARTBEAT;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0031c6   0100     MOVLB     0x0                                                                                             
0031c8   6f66     MOVWF     0x66,0x1                                                                                        
0031ca   6b67     CLRF      0x67,0x1                                                                                        
0031cc   0100     MOVLB     0x0                 outCp.length=0;                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0031ce   6b6c     CLRF      0x6c,0x1                                                                                        
0031d0   0e02     MOVLW     0x2                 canSendMessage(outCp,PRIO_HIGH);                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0031d2   6ee6     MOVWF     0xe6,0x0                                                                                        
0031d4   c064     MOVFF     0x64,0xfe6                                                                                      
0031d6   ffe6                                                                                                               
0031d8   c065     MOVFF     0x65,0xfe6                                                                                      
0031da   ffe6                                                                                                               
0031dc   c066     MOVFF     0x66,0xfe6                                                                                      
0031de   ffe6                                                                                                               
0031e0   c067     MOVFF     0x67,0xfe6                                                                                      
0031e2   ffe6                                                                                                               
0031e4   c068     MOVFF     0x68,0xfe6                                                                                      
0031e6   ffe6                                                                                                               
0031e8   c069     MOVFF     0x69,0xfe6                                                                                      
0031ea   ffe6                                                                                                               
0031ec   c06a     MOVFF     0x6a,0xfe6                                                                                      
0031ee   ffe6                                                                                                               
0031f0   c06b     MOVFF     0x6b,0xfe6                                                                                      
0031f2   ffe6                                                                                                               
0031f4   c06c     MOVFF     0x6c,0xfe6                                                                                      
0031f6   ffe6                                                                                                               
0031f8   c06d     MOVFF     0x6d,0xfe6                                                                                      
0031fa   ffe6                                                                                                               
0031fc   c06e     MOVFF     0x6e,0xfe6                                                                                      
0031fe   ffe6                                                                                                               
003200   c06f     MOVFF     0x6f,0xfe6                                                                                      
003202   ffe6                                                                                                               
003204   c070     MOVFF     0x70,0xfe6                                                                                      
003206   ffe6                                                                                                               
003208   c071     MOVFF     0x71,0xfe6                                                                                      
00320a   ffe6                                                                                                               
00320c   c072     MOVFF     0x72,0xfe6                                                                                      
00320e   ffe6                                                                                                               
003210   c073     MOVFF     0x73,0xfe6                                                                                      
003212   ffe6                                                                                                               
003214   c074     MOVFF     0x74,0xfe6                                                                                      
003216   ffe6                                                                                                               
003218   d955     RCALL     0x34c4                                                                                          
00321a   6e00     MOVWF     0x0,0x0                                                                                         
00321c   0e12     MOVLW     0x12                                                                                            
00321e   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003220   5000     MOVF      0x0,0x0,0x0                                                                                     
                                                                                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
003222   ecfb     CALL      0x45f6,0x0          heartbeat = tickGet();                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003224   f022                                                                                                               
003226   c029     MOVFF     0x29,0x60                                                                                       
003228   f060                                                                                                               
00322a   c02a     MOVFF     0x2a,0x61                                                                                       
00322c   f061                                                                                                               
00322e   c02b     MOVFF     0x2b,0x62                                                                                       
003230   f062                                                                                                               
003232   c02c     MOVFF     0x2c,0x63                                                                                       
003234   f063                                                                                                               
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003236   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
003238   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00323a   ffe6                                                                                                               
00323c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00323e   ffd9                                                                                                               
003240   0e11     MOVLW     0x11                                                                                            
003242   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                CAN_PACKET cp;                                                                 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
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003244   0e06     MOVLW     0x6                 cp.type = (BYTE)((RXB0SIDH&0xC0)>>6);                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003246   6e00     MOVWF     0x0,0x0                                                                                         
003248   0ec0     MOVLW     0xc0                                                                                            
00324a   1461     ANDWF     0x61,0x0,0x0                                                                                    
00324c   c000     MOVFF     0x0,0xfe7                                                                                       
00324e   ffe7                                                                                                               
003250   52e7     MOVF      0xe7,0x1,0x0                                                                                    
003252   e004     BZ        0x325c                                                                                          
003254   42e8     RRNCF     0xe8,0x1,0x0                                                                                    
003256   0b7f     ANDLW     0x7f                                                                                            
003258   06e7     DECF      0xe7,0x1,0x0                                                                                    
00325a   e1fc     BNZ       0x3254                                                                                          
00325c   6edf     MOVWF     0xdf,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00325e   50df     MOVF      0xdf,0x0,0x0        if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
003260   e122     BNZ       0x32a6                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003262   0e38     MOVLW     0x38                    cp.boot.type  = ((RXB0SIDH&0x38)>>3);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003264   1461     ANDWF     0x61,0x0,0x0                                                                                    
003266   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003268   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00326a   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00326c   0b1f     ANDLW     0x1f                                                                                            
00326e   6ee7     MOVWF     0xe7,0x0                                                                                        
003270   0e04     MOVLW     0x4                                                                                             
003272   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003274   ffdb                                                                                                               
003276   0e03     MOVLW     0x3                     cp.boot.offset= ((RXB0SIDH&0x7)<<5)+((RXB0SIDL&0xE0)>>3)+(RXB0SIDL&0x3);      F:\MCP\projects\CAN\canBase\Source\CAN.c
003278   1462     ANDWF     0x62,0x0,0x0                                                                                    
00327a   6e01     MOVWF     0x1,0x0                                                                                         
00327c   0ee0     MOVLW     0xe0                                                                                            
00327e   1462     ANDWF     0x62,0x0,0x0                                                                                    
003280   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003282   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003284   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003286   0b1f     ANDLW     0x1f                                                                                            
003288   6e00     MOVWF     0x0,0x0                                                                                         
00328a   0e07     MOVLW     0x7                                                                                             
00328c   1461     ANDWF     0x61,0x0,0x0                                                                                    
00328e   0d20     MULLW     0x20                                                                                            
003290   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003292   2400     ADDWF     0x0,0x0,0x0                                                                                     
003294   2401     ADDWF     0x1,0x0,0x0                                                                                     
003296   6ee7     MOVWF     0xe7,0x0                                                                                        
003298   0e05     MOVLW     0x5                                                                                             
00329a   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00329c   ffdb                                                                                                               
00329e   0e06     MOVLW     0x6                     cp.boot.rid   = RXB0EIDH;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0032a0   cf63     MOVFF     0xf63,0xfdb                                                                                     
0032a2   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0032a4   d03c     BRA       0x331e              else                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0032a6   0e3c     MOVLW     0x3c                    cp.pgm.class= ((RXB0SIDH&0x3C)>>2);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0032a8   1461     ANDWF     0x61,0x0,0x0                                                                                    
0032aa   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0032ac   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0032ae   0b3f     ANDLW     0x3f                                                                                            
0032b0   6ee7     MOVWF     0xe7,0x0                                                                                        
0032b2   0e01     MOVLW     0x1                                                                                             
0032b4   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0032b6   ffdb                                                                                                               
0032b8   0e03     MOVLW     0x3                     cp.pgm.id   = (((WORD)RXB0SIDH&0x3)<<13)+(((WORD)RXB0SIDL&0xE0)<<5)+(((WORD)RXB0SIDL&0x3)<<8)+(WORD)RXB0EIDH; F:\MCP\projects\CAN\canBase\Source\CAN.c
0032ba   1461     ANDWF     0x61,0x0,0x0                                                                                    
0032bc   6e06     MOVWF     0x6,0x0                                                                                         
0032be   6a07     CLRF      0x7,0x0                                                                                         
0032c0   3806     SWAPF     0x6,0x0,0x0                                                                                     
0032c2   6a06     CLRF      0x6,0x0                                                                                         
0032c4   34e8     RLCF      0xe8,0x0,0x0                                                                                    
0032c6   0be0     ANDLW     0xe0                                                                                            
0032c8   6e07     MOVWF     0x7,0x0                                                                                         
0032ca   0ee0     MOVLW     0xe0                                                                                            
0032cc   1462     ANDWF     0x62,0x0,0x0                                                                                    
0032ce   6e08     MOVWF     0x8,0x0                                                                                         
0032d0   6a09     CLRF      0x9,0x0                                                                                         
0032d2   0e05     MOVLW     0x5                                                                                             
0032d4   90d8     BCF       0xd8,0x0,0x0                                                                                    
0032d6   3608     RLCF      0x8,0x1,0x0                                                                                     
0032d8   3609     RLCF      0x9,0x1,0x0                                                                                     
0032da   04e8     DECF      0xe8,0x0,0x0                                                                                    
0032dc   e1fb     BNZ       0x32d4                                                                                          
0032de   5006     MOVF      0x6,0x0,0x0                                                                                     
0032e0   2408     ADDWF     0x8,0x0,0x0                                                                                     
0032e2   6e04     MOVWF     0x4,0x0                                                                                         
0032e4   5007     MOVF      0x7,0x0,0x0                                                                                     
0032e6   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0032e8   6e05     MOVWF     0x5,0x0                                                                                         
0032ea   0e03     MOVLW     0x3                                                                                             
0032ec   1462     ANDWF     0x62,0x0,0x0                                                                                    
0032ee   6e0a     MOVWF     0xa,0x0                                                                                         
0032f0   6a0b     CLRF      0xb,0x0                                                                                         
0032f2   c00a     MOVFF     0xa,0xb                                                                                         
0032f4   f00b                                                                                                               
0032f6   6a0a     CLRF      0xa,0x0                                                                                         
0032f8   5004     MOVF      0x4,0x0,0x0                                                                                     
0032fa   240a     ADDWF     0xa,0x0,0x0                                                                                     
0032fc   6e02     MOVWF     0x2,0x0                                                                                         
0032fe   5005     MOVF      0x5,0x0,0x0                                                                                     
003300   200b     ADDWFC    0xb,0x0,0x0                                                                                     
003302   6e03     MOVWF     0x3,0x0                                                                                         
003304   5063     MOVF      0x63,0x0,0x0                                                                                    
003306   0100     MOVLB     0x0                                                                                             
003308   2402     ADDWF     0x2,0x0,0x0                                                                                     
00330a   6e00     MOVWF     0x0,0x0                                                                                         
00330c   0e00     MOVLW     0x0                                                                                             
00330e   2003     ADDWFC    0x3,0x0,0x0                                                                                     
003310   6e01     MOVWF     0x1,0x0                                                                                         
003312   0e02     MOVLW     0x2                                                                                             
003314   c000     MOVFF     0x0,0xfdb                                                                                       
003316   ffdb                                                                                                               
003318   0e03     MOVLW     0x3                                                                                             
00331a   c001     MOVFF     0x1,0xfdb                                                                                       
00331c   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00331e   0e07     MOVLW     0x7                 cp.sid   = RXB0EIDL;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
003320   cf64     MOVFF     0xf64,0xfdb                                                                                     
003322   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
003324   5065     MOVF      0x65,0x0,0x0        cp.length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canBase\Source\CAN.c
003326   0b01     ANDLW     0x1                                                                                             
003328   6e02     MOVWF     0x2,0x0                                                                                         
00332a   5065     MOVF      0x65,0x0,0x0                                                                                    
00332c   0b02     ANDLW     0x2                                                                                             
00332e   e001     BZ        0x3332                                                                                          
003330   0e01     MOVLW     0x1                                                                                             
003332   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
003334   6e01     MOVWF     0x1,0x0                                                                                         
003336   5065     MOVF      0x65,0x0,0x0                                                                                    
003338   0b04     ANDLW     0x4                                                                                             
00333a   e001     BZ        0x333e                                                                                          
00333c   0e01     MOVLW     0x1                                                                                             
00333e   0d04     MULLW     0x4                                                                                             
003340   cff3     MOVFF     0xff3,0x0                                                                                       
003342   f000                                                                                                               
003344   5065     MOVF      0x65,0x0,0x0                                                                                    
003346   0b08     ANDLW     0x8                                                                                             
003348   e001     BZ        0x334c                                                                                          
00334a   0e01     MOVLW     0x1                                                                                             
00334c   0d08     MULLW     0x8                                                                                             
00334e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003350   2400     ADDWF     0x0,0x0,0x0                                                                                     
003352   2401     ADDWF     0x1,0x0,0x0                                                                                     
003354   2402     ADDWF     0x2,0x0,0x0                                                                                     
003356   6ee7     MOVWF     0xe7,0x0                                                                                        
003358   0e08     MOVLW     0x8                                                                                             
00335a   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00335c   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00335e   0e09     MOVLW     0x9                 cp.data[0]=RXB0D0;  cp.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003360   cf66     MOVFF     0xf66,0xfdb                                                                                     
003362   ffdb                                                                                                               
003364   0e0a     MOVLW     0xa                                                                                             
003366   cf67     MOVFF     0xf67,0xfdb                                                                                     
003368   ffdb                                                                                                               
00336a   0e0b     MOVLW     0xb                 cp.data[2]=RXB0D2;  cp.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00336c   cf68     MOVFF     0xf68,0xfdb                                                                                     
00336e   ffdb                                                                                                               
003370   0e0c     MOVLW     0xc                                                                                             
003372   cf69     MOVFF     0xf69,0xfdb                                                                                     
003374   ffdb                                                                                                               
003376   0e0d     MOVLW     0xd                 cp.data[4]=RXB0D4;  cp.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003378   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
00337a   ffdb                                                                                                               
00337c   0e0e     MOVLW     0xe                                                                                             
00337e   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
003380   ffdb                                                                                                               
003382   0e0f     MOVLW     0xf                 cp.data[6]=RXB0D6;  cp.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003384   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
003386   ffdb                                                                                                               
003388   0e10     MOVLW     0x10                                                                                            
00338a   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
00338c   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00338e   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 bootloader request specific.                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // reset and id change                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003390   50df     MOVF      0xdf,0x0,0x0        if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
003392   e160     BNZ       0x3454                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003394   0e06     MOVLW     0x6                     if (cp.boot.rid==MY_ID)                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
003396   50db     MOVF      0xdb,0x0,0x0                                                                                    
003398   6e00     MOVWF     0x0,0x0                                                                                         
00339a   6a01     CLRF      0x1,0x0                                                                                         
00339c   0100     MOVLB     0x0                                                                                             
00339e   51a0     MOVF      0xa0,0x0,0x1                                                                                    
0033a0   1800     XORWF     0x0,0x0,0x0                                                                                     
0033a2   e102     BNZ       0x33a8                                                                                          
0033a4   51a1     MOVF      0xa1,0x0,0x1                                                                                    
0033a6   1801     XORWF     0x1,0x0,0x0                                                                                     
0033a8   e155     BNZ       0x3454                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0033aa   0e04     MOVLW     0x4                         if (cp.boot.type==btADDR) Reset(); // Reset me.                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0033ac   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033ae   e101     BNZ       0x33b2                                                                                          
0033b0   00ff     RESET                                                                                                     
0033b2   0e04     MOVLW     0x4                         if (cp.boot.type==btCHANGEID)                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0033b4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033b6   0807     SUBLW     0x7                                                                                             
0033b8   e14d     BNZ       0x3454                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
0033ba   0e09     MOVLW     0x9                                 MY_ID=cp.data[0];                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0033bc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033be   0100     MOVLB     0x0                                                                                             
0033c0   6fa0     MOVWF     0xa0,0x1                                                                                        
0033c2   6ba1     CLRF      0xa1,0x1                                                                                        
0033c4   0e09     MOVLW     0x9                                 EEWrite(NODE_ID_EE+1,cp.data[0]);                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0033c6   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0033c8   ffe6                                                                                                               
0033ca   0e01     MOVLW     0x1                                                                                             
0033cc   6ee6     MOVWF     0xe6,0x0                                                                                        
0033ce   6ae6     CLRF      0xe6,0x0                                                                                        
0033d0   ec15     CALL      0x442a,0x0                                                                                      
0033d2   f022                                                                                                               
0033d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033d6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033d8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033da   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0033dc   6ee6     MOVWF     0xe6,0x0                                                                                        
0033de   0e00     MOVLW     0x0                                                                                             
0033e0   6ee6     MOVWF     0xe6,0x0                                                                                        
0033e2   6ae6     CLRF      0xe6,0x0                                                                                        
0033e4   ec15     CALL      0x442a,0x0                                                                                      
0033e6   f022                                                                                                               
0033e8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033ea   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033ec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0033ee   0100     MOVLB     0x0                                 outCp.type=ptBOOT;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0033f0   6b64     CLRF      0x64,0x1                                                                                        
0033f2   0100     MOVLB     0x0                                 outCp.boot.type=btACK;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0033f4   0e04     MOVLW     0x4                                                                                             
0033f6   6f68     MOVWF     0x68,0x1                                                                                        
0033f8   0100     MOVLB     0x0                                 outCp.length=0;                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0033fa   6b6c     CLRF      0x6c,0x1                                                                                        
0033fc   0e02     MOVLW     0x2                                 while(!canSendMessage(outCp,PRIO_HIGH));                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0033fe   6ee6     MOVWF     0xe6,0x0                                                                                        
003400   c064     MOVFF     0x64,0xfe6                                                                                      
003402   ffe6                                                                                                               
003404   c065     MOVFF     0x65,0xfe6                                                                                      
003406   ffe6                                                                                                               
003408   c066     MOVFF     0x66,0xfe6                                                                                      
00340a   ffe6                                                                                                               
00340c   c067     MOVFF     0x67,0xfe6                                                                                      
00340e   ffe6                                                                                                               
003410   c068     MOVFF     0x68,0xfe6                                                                                      
003412   ffe6                                                                                                               
003414   c069     MOVFF     0x69,0xfe6                                                                                      
003416   ffe6                                                                                                               
003418   c06a     MOVFF     0x6a,0xfe6                                                                                      
00341a   ffe6                                                                                                               
00341c   c06b     MOVFF     0x6b,0xfe6                                                                                      
00341e   ffe6                                                                                                               
003420   c06c     MOVFF     0x6c,0xfe6                                                                                      
003422   ffe6                                                                                                               
003424   c06d     MOVFF     0x6d,0xfe6                                                                                      
003426   ffe6                                                                                                               
003428   c06e     MOVFF     0x6e,0xfe6                                                                                      
00342a   ffe6                                                                                                               
00342c   c06f     MOVFF     0x6f,0xfe6                                                                                      
00342e   ffe6                                                                                                               
003430   c070     MOVFF     0x70,0xfe6                                                                                      
003432   ffe6                                                                                                               
003434   c071     MOVFF     0x71,0xfe6                                                                                      
003436   ffe6                                                                                                               
003438   c072     MOVFF     0x72,0xfe6                                                                                      
00343a   ffe6                                                                                                               
00343c   c073     MOVFF     0x73,0xfe6                                                                                      
00343e   ffe6                                                                                                               
003440   c074     MOVFF     0x74,0xfe6                                                                                      
003442   ffe6                                                                                                               
003444   d83f     RCALL     0x34c4                                                                                          
003446   6e00     MOVWF     0x0,0x0                                                                                         
003448   0e12     MOVLW     0x12                                                                                            
00344a   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00344c   5000     MOVF      0x0,0x0,0x0                                                                                     
00344e   0900     IORLW     0x0                                                                                             
003450   e101     BNZ       0x3454                                                                                          
003452   d7d4     BRA       0x33fc                                                                                          
                                                        }                                                                            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
003454   04df     DECF      0xdf,0x0,0x0        if (cp.type==ptPGM) canParse(cp);                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003456   e12c     BNZ       0x34b0                                                                                          
003458   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
00345a   ffe9                                                                                                               
00345c   cfda     MOVFF     0xfda,0xfea                                                                                     
00345e   ffea                                                                                                               
003460   cfee     MOVFF     0xfee,0xfe6                                                                                     
003462   ffe6                                                                                                               
003464   cfee     MOVFF     0xfee,0xfe6                                                                                     
003466   ffe6                                                                                                               
003468   cfee     MOVFF     0xfee,0xfe6                                                                                     
00346a   ffe6                                                                                                               
00346c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00346e   ffe6                                                                                                               
003470   cfee     MOVFF     0xfee,0xfe6                                                                                     
003472   ffe6                                                                                                               
003474   cfee     MOVFF     0xfee,0xfe6                                                                                     
003476   ffe6                                                                                                               
003478   cfee     MOVFF     0xfee,0xfe6                                                                                     
00347a   ffe6                                                                                                               
00347c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00347e   ffe6                                                                                                               
003480   cfee     MOVFF     0xfee,0xfe6                                                                                     
003482   ffe6                                                                                                               
003484   cfee     MOVFF     0xfee,0xfe6                                                                                     
003486   ffe6                                                                                                               
003488   cfee     MOVFF     0xfee,0xfe6                                                                                     
00348a   ffe6                                                                                                               
00348c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00348e   ffe6                                                                                                               
003490   cfee     MOVFF     0xfee,0xfe6                                                                                     
003492   ffe6                                                                                                               
003494   cfee     MOVFF     0xfee,0xfe6                                                                                     
003496   ffe6                                                                                                               
003498   cfee     MOVFF     0xfee,0xfe6                                                                                     
00349a   ffe6                                                                                                               
00349c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00349e   ffe6                                                                                                               
0034a0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0034a2   ffe6                                                                                                               
0034a4   ec5e     CALL      0x3ebc,0x0                                                                                      
0034a6   f01f                                                                                                               
0034a8   6e00     MOVWF     0x0,0x0                                                                                         
0034aa   0e11     MOVLW     0x11                                                                                            
0034ac   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0034ae   5000     MOVF      0x0,0x0,0x0                                                                                     
0034b0   0e11     MOVLW     0x11           }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0034b2   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0034b4   e202     BC        0x34ba                                                                                          
0034b6   6ae1     CLRF      0xe1,0x0                                                                                        
0034b8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0034ba   6ee1     MOVWF     0xe1,0x0                                                                                        
0034bc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0034be   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0034c0   ffd9                                                                                                               
0034c2   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
0034c4   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PACKET cp, CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034c6   ffe6                                                                                                               
0034c8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0034ca   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034cc   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034ce   b740     BTFSC     0x40,0x3,0x1                                                                                    
0034d0   d004     BRA       0x34da                                                                                          
0034d2   0e00     MOVLW     0x0                                                                                             
0034d4   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034d6   0903     IORLW     0x3                                                                                             
0034d8   6e77     MOVWF     0x77,0x0                                                                                        
0034da   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034dc   b730     BTFSC     0x30,0x3,0x1                                                                                    
0034de   d004     BRA       0x34e8                                                                                          
0034e0   0e00     MOVLW     0x0                                                                                             
0034e2   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034e4   0904     IORLW     0x4                                                                                             
0034e6   6e77     MOVWF     0x77,0x0                                                                                        
0034e8   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034ea   b720     BTFSC     0x20,0x3,0x1                                                                                    
0034ec   d005     BRA       0x34f8                                                                                          
0034ee   0e00     MOVLW     0x0                                                                                             
0034f0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034f2   0905     IORLW     0x5                                                                                             
0034f4   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0034f6   d002     BRA       0x34fc          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034f8   0e00     MOVLW     0x0                                                                                             
0034fa   d0bd     BRA       0x3676                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034fc   0eed     MOVLW     0xed            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0034fe   cfdb     MOVFF     0xfdb,0x0                                                                                       
003500   f000                                                                                                               
003502   3400     RLCF      0x0,0x0,0x0                                                                                     
003504   e20e     BC        0x3522                                                                                          
003506   0eed     MOVLW     0xed                                                                                            
003508   cfdb     MOVFF     0xfdb,0x1                                                                                       
00350a   f001                                                                                                               
00350c   0e03     MOVLW     0x3                                                                                             
00350e   6ee7     MOVWF     0xe7,0x0                                                                                        
003510   1801     XORWF     0x1,0x0,0x0                                                                                     
003512   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
003514   d002     BRA       0x351a                                                                                          
003516   3401     RLCF      0x1,0x0,0x0                                                                                     
003518   d003     BRA       0x3520                                                                                          
00351a   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00351c   80d8     BSF       0xd8,0x0,0x0                                                                                    
00351e   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003520   e202     BC        0x3526                                                                                          
003522   0eed     MOVLW     0xed                                                                                            
003524   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //RXB0SIDH 28 27 26 25 24 23 22 21                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //RXB0SIDL 20 19 18 xx xx xx 17 16                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //RXB0EIDH 15 14 13 12 11 10 09 08                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //RXB0EIDL 07 06 05 04 03 02 01 00                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003526   0eee     MOVLW     0xee            if (cp.type==ptBOOT)                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003528   50db     MOVF      0xdb,0x0,0x0                                                                                    
00352a   e124     BNZ       0x3574                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00352c   0ef3     MOVLW     0xf3                RXB0SIDH = ((cp.type&0x3)<<6)+((cp.boot.type&0x7)<<3)+((cp.boot.offset&0xE0)>>5); F:\MCP\projects\CAN\canBase\Source\CAN.c
00352e   50db     MOVF      0xdb,0x0,0x0                                                                                    
003530   0be0     ANDLW     0xe0                                                                                            
003532   0be0     ANDLW     0xe0                                                                                            
003534   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
003536   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003538   6e01     MOVWF     0x1,0x0                                                                                         
00353a   0ef2     MOVLW     0xf2                                                                                            
00353c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00353e   0b07     ANDLW     0x7                                                                                             
003540   0d08     MULLW     0x8                                                                                             
003542   cff3     MOVFF     0xff3,0x0                                                                                       
003544   f000                                                                                                               
003546   0eee     MOVLW     0xee                                                                                            
003548   50db     MOVF      0xdb,0x0,0x0                                                                                    
00354a   0b03     ANDLW     0x3                                                                                             
00354c   0d40     MULLW     0x40                                                                                            
00354e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003550   2400     ADDWF     0x0,0x0,0x0                                                                                     
003552   2401     ADDWF     0x1,0x0,0x0                                                                                     
003554   6e61     MOVWF     0x61,0x0                                                                                        
003556   0ef3     MOVLW     0xf3                RXB0SIDL = ((cp.boot.offset&0x1C)<<3)+(cp.boot.offset&0x3);                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003558   50db     MOVF      0xdb,0x0,0x0                                                                                    
00355a   0b03     ANDLW     0x3                                                                                             
00355c   6e00     MOVWF     0x0,0x0                                                                                         
00355e   0ef3     MOVLW     0xf3                                                                                            
003560   50db     MOVF      0xdb,0x0,0x0                                                                                    
003562   0b1c     ANDLW     0x1c                                                                                            
003564   0d08     MULLW     0x8                                                                                             
003566   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003568   2400     ADDWF     0x0,0x0,0x0                                                                                     
00356a   6e62     MOVWF     0x62,0x0                                                                                        
00356c   0ef4     MOVLW     0xf4                RXB0EIDH = cp.boot.rid;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00356e   50db     MOVF      0xdb,0x0,0x0                                                                                    
003570   6e63     MOVWF     0x63,0x0                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003572   d04f     BRA       0x3612          else                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003574   0eef     MOVLW     0xef                RXB0SIDH = ((cp.type&0x3)<<6)+((cp.pgm.class&0xF)<<2)+((cp.pgm.id&0x6000)>>13); F:\MCP\projects\CAN\canBase\Source\CAN.c
003576   50db     MOVF      0xdb,0x0,0x0                                                                                    
003578   0b0f     ANDLW     0xf                                                                                             
00357a   0d04     MULLW     0x4                                                                                             
00357c   cff3     MOVFF     0xff3,0x2                                                                                       
00357e   f002                                                                                                               
003580   0eee     MOVLW     0xee                                                                                            
003582   50db     MOVF      0xdb,0x0,0x0                                                                                    
003584   0b03     ANDLW     0x3                                                                                             
003586   0d40     MULLW     0x40                                                                                            
003588   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00358a   2402     ADDWF     0x2,0x0,0x0                                                                                     
00358c   6e00     MOVWF     0x0,0x0                                                                                         
00358e   6a01     CLRF      0x1,0x0                                                                                         
003590   be00     BTFSC     0x0,0x7,0x0                                                                                     
003592   6801     SETF      0x1,0x0                                                                                         
003594   0ef0     MOVLW     0xf0                                                                                            
003596   cfdb     MOVFF     0xfdb,0x3                                                                                       
003598   f003                                                                                                               
00359a   0ef1     MOVLW     0xf1                                                                                            
00359c   cfdb     MOVFF     0xfdb,0x4                                                                                       
00359e   f004                                                                                                               
0035a0   0e00     MOVLW     0x0                                                                                             
0035a2   1603     ANDWF     0x3,0x1,0x0                                                                                     
0035a4   0e60     MOVLW     0x60                                                                                            
0035a6   1604     ANDWF     0x4,0x1,0x0                                                                                     
0035a8   3804     SWAPF     0x4,0x0,0x0                                                                                     
0035aa   6a04     CLRF      0x4,0x0                                                                                         
0035ac   30e8     RRCF      0xe8,0x0,0x0                                                                                    
0035ae   0b07     ANDLW     0x7                                                                                             
0035b0   6e03     MOVWF     0x3,0x0                                                                                         
0035b2   5000     MOVF      0x0,0x0,0x0                                                                                     
0035b4   2403     ADDWF     0x3,0x0,0x0                                                                                     
0035b6   6e61     MOVWF     0x61,0x0                                                                                        
0035b8   0ef0     MOVLW     0xf0                RXB0SIDL = ((cp.pgm.id&0x1C00)>>5)+((cp.pgm.id&0x300)>>8);                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0035ba   cfdb     MOVFF     0xfdb,0x0                                                                                       
0035bc   f000                                                                                                               
0035be   0ef1     MOVLW     0xf1                                                                                            
0035c0   cfdb     MOVFF     0xfdb,0x1                                                                                       
0035c2   f001                                                                                                               
0035c4   0e00     MOVLW     0x0                                                                                             
0035c6   1600     ANDWF     0x0,0x1,0x0                                                                                     
0035c8   0e1c     MOVLW     0x1c                                                                                            
0035ca   1601     ANDWF     0x1,0x1,0x0                                                                                     
0035cc   0e05     MOVLW     0x5                                                                                             
0035ce   90d8     BCF       0xd8,0x0,0x0                                                                                    
0035d0   3201     RRCF      0x1,0x1,0x0                                                                                     
0035d2   3200     RRCF      0x0,0x1,0x0                                                                                     
0035d4   04e8     DECF      0xe8,0x0,0x0                                                                                    
0035d6   e1fb     BNZ       0x35ce                                                                                          
0035d8   0ef0     MOVLW     0xf0                                                                                            
0035da   cfdb     MOVFF     0xfdb,0x2                                                                                       
0035dc   f002                                                                                                               
0035de   0ef1     MOVLW     0xf1                                                                                            
0035e0   cfdb     MOVFF     0xfdb,0x3                                                                                       
0035e2   f003                                                                                                               
0035e4   0e00     MOVLW     0x0                                                                                             
0035e6   1602     ANDWF     0x2,0x1,0x0                                                                                     
0035e8   0e03     MOVLW     0x3                                                                                             
0035ea   1603     ANDWF     0x3,0x1,0x0                                                                                     
0035ec   c003     MOVFF     0x3,0x2                                                                                         
0035ee   f002                                                                                                               
0035f0   6a03     CLRF      0x3,0x0                                                                                         
0035f2   5000     MOVF      0x0,0x0,0x0                                                                                     
0035f4   2402     ADDWF     0x2,0x0,0x0                                                                                     
0035f6   6e62     MOVWF     0x62,0x0                                                                                        
0035f8   0eff     MOVLW     0xff                RXB0EIDH = (cp.pgm.id&0xFF);                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0035fa   6ee7     MOVWF     0xe7,0x0                                                                                        
0035fc   0ef0     MOVLW     0xf0                                                                                            
0035fe   cfdb     MOVFF     0xfdb,0x0                                                                                       
003600   f000                                                                                                               
003602   0ef1     MOVLW     0xf1                                                                                            
003604   cfdb     MOVFF     0xfdb,0x1                                                                                       
003606   f001                                                                                                               
003608   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00360a   1600     ANDWF     0x0,0x1,0x0                                                                                     
00360c   6a01     CLRF      0x1,0x0                                                                                         
00360e   5000     MOVF      0x0,0x0,0x0                                                                                     
003610   6e63     MOVWF     0x63,0x0                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003612   c0a0     MOVFF     0xa0,0xf64      RXB0EIDL = MY_ID;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003614   ff64                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Data length                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
003616   6a65     CLRF      0x65,0x0        RXB0DLC = 0;                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003618   0ef6     MOVLW     0xf6            if (cp.length>8) RXB0DLC=8; else RXB0DLC=cp.length;                             F:\MCP\projects\CAN\canBase\Source\CAN.c
00361a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00361c   0808     SUBLW     0x8                                                                                             
00361e   e203     BC        0x3626                                                                                          
003620   0e08     MOVLW     0x8                                                                                             
003622   6e65     MOVWF     0x65,0x0                                                                                        
003624   d003     BRA       0x362c                                                                                          
003626   0ef6     MOVLW     0xf6                                                                                            
003628   50db     MOVF      0xdb,0x0,0x0                                                                                    
00362a   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                            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
00362c   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
00362e   0ef7     MOVLW     0xf7            RXB0D0=cp.data[0];  RXB0D1=cp.data[1];                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
003630   50db     MOVF      0xdb,0x0,0x0                                                                                    
003632   6e66     MOVWF     0x66,0x0                                                                                        
003634   0ef8     MOVLW     0xf8                                                                                            
003636   50db     MOVF      0xdb,0x0,0x0                                                                                    
003638   6e67     MOVWF     0x67,0x0                                                                                        
00363a   0ef9     MOVLW     0xf9            RXB0D2=cp.data[2];  RXB0D3=cp.data[3];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00363c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00363e   6e68     MOVWF     0x68,0x0                                                                                        
003640   0efa     MOVLW     0xfa                                                                                            
003642   50db     MOVF      0xdb,0x0,0x0                                                                                    
003644   6e69     MOVWF     0x69,0x0                                                                                        
003646   0efb     MOVLW     0xfb            RXB0D4=cp.data[4];  RXB0D5=cp.data[5];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003648   50db     MOVF      0xdb,0x0,0x0                                                                                    
00364a   6e6a     MOVWF     0x6a,0x0                                                                                        
00364c   0efc     MOVLW     0xfc                                                                                            
00364e   50db     MOVF      0xdb,0x0,0x0                                                                                    
003650   6e6b     MOVWF     0x6b,0x0                                                                                        
003652   0efd     MOVLW     0xfd            RXB0D6=cp.data[6];  RXB0D7=cp.data[7];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003654   50db     MOVF      0xdb,0x0,0x0                                                                                    
003656   6e6c     MOVWF     0x6c,0x0                                                                                        
003658   0efe     MOVLW     0xfe                                                                                            
00365a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00365c   6e6d     MOVWF     0x6d,0x0                                                                                        
                                            // set extended                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00365e   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
003660   0eed     MOVLW     0xed            RXB0CON = (RXB0CON & 0b11111100) | prio;                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
003662   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
003664   ffe6                                                                                                               
003666   0efc     MOVLW     0xfc                                                                                            
003668   1460     ANDWF     0x60,0x0,0x0                                                                                    
00366a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00366c   10e7     IORWF     0xe7,0x0,0x0                                                                                    
00366e   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
003670   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
003672   0e01     MOVLW     0x1             return TRUE;                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003674   d000     BRA       0x3676                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003676   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
003678   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00367a   ffd9                                                                                                               
00367c   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
0045e2   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
0045e4   6ed6     MOVWF     0xd6,0x0                                                                                        
0045e6   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
0045e8   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
0045ea   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
0045ec   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
0045ee   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
0045f0   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
0045f2   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
0045f4   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
0045f6   c09c     MOVFF     0x9c,0x29          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
0045f8   f029                                                                                                               
0045fa   c09d     MOVFF     0x9d,0x2a                                                                                       
0045fc   f02a                                                                                                               
0045fe   c09e     MOVFF     0x9e,0x2b                                                                                       
004600   f02b                                                                                                               
004602   c09f     MOVFF     0x9f,0x2c                                                                                       
004604   f02c                                                                                                               
004606   d000     BRA       0x4608                                                                                          
004608   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
00460a   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
00460c   d00b     BRA       0x4624                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
00460e   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
004610   6ed7     MOVWF     0xd7,0x0                                                                                        
004612   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
004614   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004616   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
004618   2b9c     INCF      0x9c,0x1,0x1                                                                                    
00461a   0e00     MOVLW     0x0                                                                                             
00461c   239d     ADDWFC    0x9d,0x1,0x1                                                                                    
00461e   239e     ADDWFC    0x9e,0x1,0x1                                                                                    
004620   239f     ADDWFC    0x9f,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004622   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004624   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-02-25 20:51:08 +0100 (sö, 25 feb 2007) $ F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * Revision:     $Revision: 339 $                                                   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
                                           #include "..\canBoot\Include\boot.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
003ac0   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003ac2   ffe6                                                                                                               
003ac4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003ac6   ffd9                                                                                                               
003ac8   0e17     MOVLW     0x17                                                                                            
003aca   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_PACKET outCp;                                                               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
003acc   d9f0     RCALL     0x3eae          mainInit();                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003ace   ec34     CALL      0x3068,0x0      canInit();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003ad0   f018                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003ad2   0e0b     MOVLW     0xb                 adcInit(TRUE,0b1011);                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003ad4   6ee6     MOVWF     0xe6,0x0                                                                                        
003ad6   0e01     MOVLW     0x1                                                                                             
003ad8   6ee6     MOVWF     0xe6,0x0                                                                                        
003ada   ec7b     CALL      0x3ef6,0x0                                                                                      
003adc   f01f                                                                                                               
003ade   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003ae0   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
003ae2   ecfe     CALL      0x41fc,0x0          blindsInit();                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003ae4   f020                                                                                                               
003ae6   6ae6     CLRF      0xe6,0x0            blindsTurn(0);                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
003ae8   ec16     CALL      0x422c,0x0                                                                                      
003aea   f021                                                                                                               
003aec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            #else                                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                BLINDS0P_IO=0;                                                                 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
003d68   d6c2     BRA       0x3aee          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 BOOL getNewTemperature = TRUE;                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static BYTE lastTemperature = TEMPERATURE_INSIDE;                              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
003aee   ecfb     CALL      0x45f6,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
003af0   f022                                                                                                               
003af2   0100     MOVLB     0x0                                                                                             
003af4   5179     MOVF      0x79,0x0,0x1                                                                                    
003af6   5c29     SUBWF     0x29,0x0,0x0                                                                                    
003af8   6e00     MOVWF     0x0,0x0                                                                                         
003afa   517a     MOVF      0x7a,0x0,0x1                                                                                    
003afc   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
003afe   6e01     MOVWF     0x1,0x0                                                                                         
003b00   517b     MOVF      0x7b,0x0,0x1                                                                                    
003b02   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
003b04   6e02     MOVWF     0x2,0x0                                                                                         
003b06   517c     MOVF      0x7c,0x0,0x1                                                                                    
003b08   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
003b0a   6e03     MOVWF     0x3,0x0                                                                                         
003b0c   80d8     BSF       0xd8,0x0,0x0                                                                                    
003b0e   0e64     MOVLW     0x64                                                                                            
003b10   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003b12   0e00     MOVLW     0x0                                                                                             
003b14   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003b16   0e00     MOVLW     0x0                                                                                             
003b18   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003b1a   0e00     MOVLW     0x0                                                                                             
003b1c   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003b1e   e20b     BC        0x3b36                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003b20   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b22   ecfb     CALL      0x45f6,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003b24   f022                                                                                                               
003b26   c029     MOVFF     0x29,0x79                                                                                       
003b28   f079                                                                                                               
003b2a   c02a     MOVFF     0x2a,0x7a                                                                                       
003b2c   f07a                                                                                                               
003b2e   c02b     MOVFF     0x2b,0x7b                                                                                       
003b30   f07b                                                                                                               
003b32   c02c     MOVFF     0x2c,0x7c                                                                                       
003b34   f07c                                                                                                               
                                                }                                                                              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_BLINDS                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003b36   ecfb     CALL      0x45f6,0x0          if ((tickGet()-blinds)>3*TICK_SECOND)                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003b38   f022                                                                                                               
003b3a   0100     MOVLB     0x0                                                                                             
003b3c   5183     MOVF      0x83,0x0,0x1                                                                                    
003b3e   5c29     SUBWF     0x29,0x0,0x0                                                                                    
003b40   6e00     MOVWF     0x0,0x0                                                                                         
003b42   5184     MOVF      0x84,0x0,0x1                                                                                    
003b44   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
003b46   6e01     MOVWF     0x1,0x0                                                                                         
003b48   5185     MOVF      0x85,0x0,0x1                                                                                    
003b4a   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
003b4c   6e02     MOVWF     0x2,0x0                                                                                         
003b4e   5186     MOVF      0x86,0x0,0x1                                                                                    
003b50   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
003b52   6e03     MOVWF     0x3,0x0                                                                                         
003b54   80d8     BSF       0xd8,0x0,0x0                                                                                    
003b56   0e2c     MOVLW     0x2c                                                                                            
003b58   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003b5a   0e01     MOVLW     0x1                                                                                             
003b5c   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003b5e   0e00     MOVLW     0x0                                                                                             
003b60   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003b62   0e00     MOVLW     0x0                                                                                             
003b64   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003b66   e251     BC        0x3c0a                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003b68   0e01     MOVLW     0x1                     outCp.type=ptPGM;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b6a   6edf     MOVWF     0xdf,0x0                                                                                        
003b6c   52de     MOVF      0xde,0x1,0x0            outCp.pgm.class=pcSENSOR;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003b6e   6edd     MOVWF     0xdd,0x0                                                                                        
003b70   0e07     MOVLW     0x7                     outCp.pgm.id=pstBLIND_TR;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003b72   6ef3     MOVWF     0xf3,0x0                                                                                        
003b74   0e02     MOVLW     0x2                                                                                             
003b76   cff3     MOVFF     0xff3,0xfdb                                                                                     
003b78   ffdb                                                                                                               
003b7a   0e03     MOVLW     0x3                                                                                             
003b7c   6adb     CLRF      0xdb,0x0                                                                                        
003b7e   0e01     MOVLW     0x1                     outCp.length=1;                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003b80   6ef3     MOVWF     0xf3,0x0                                                                                        
003b82   0e08     MOVLW     0x8                                                                                             
003b84   cff3     MOVFF     0xff3,0xfdb                                                                                     
003b86   ffdb                                                                                                               
003b88   ec12     CALL      0x4224,0x0              outCp.data[0]=blindsGetPrecent();                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b8a   f021                                                                                                               
003b8c   6ee7     MOVWF     0xe7,0x0                                                                                        
003b8e   0e09     MOVLW     0x9                                                                                             
003b90   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003b92   ffdb                                                                                                               
003b94   0e02     MOVLW     0x2                     while(!canSendMessage(outCp,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003b96   6ee6     MOVWF     0xe6,0x0                                                                                        
003b98   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
003b9a   ffe9                                                                                                               
003b9c   cfda     MOVFF     0xfda,0xfea                                                                                     
003b9e   ffea                                                                                                               
003ba0   cfee     MOVFF     0xfee,0xfe6                                                                                     
003ba2   ffe6                                                                                                               
003ba4   cfee     MOVFF     0xfee,0xfe6                                                                                     
003ba6   ffe6                                                                                                               
003ba8   cfee     MOVFF     0xfee,0xfe6                                                                                     
003baa   ffe6                                                                                                               
003bac   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bae   ffe6                                                                                                               
003bb0   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bb2   ffe6                                                                                                               
003bb4   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bb6   ffe6                                                                                                               
003bb8   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bba   ffe6                                                                                                               
003bbc   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bbe   ffe6                                                                                                               
003bc0   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bc2   ffe6                                                                                                               
003bc4   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bc6   ffe6                                                                                                               
003bc8   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bca   ffe6                                                                                                               
003bcc   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bce   ffe6                                                                                                               
003bd0   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bd2   ffe6                                                                                                               
003bd4   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bd6   ffe6                                                                                                               
003bd8   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bda   ffe6                                                                                                               
003bdc   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bde   ffe6                                                                                                               
003be0   cfee     MOVFF     0xfee,0xfe6                                                                                     
003be2   ffe6                                                                                                               
003be4   ec62     CALL      0x34c4,0x0                                                                                      
003be6   f01a                                                                                                               
003be8   6e00     MOVWF     0x0,0x0                                                                                         
003bea   0e12     MOVLW     0x12                                                                                            
003bec   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003bee   5000     MOVF      0x0,0x0,0x0                                                                                     
003bf0   0900     IORLW     0x0                                                                                             
003bf2   e101     BNZ       0x3bf6                                                                                          
003bf4   d7cf     BRA       0x3b94                                                                                          
003bf6   ecfb     CALL      0x45f6,0x0              blinds = tickGet();                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
003bf8   f022                                                                                                               
003bfa   c029     MOVFF     0x29,0x83                                                                                       
003bfc   f083                                                                                                               
003bfe   c02a     MOVFF     0x2a,0x84                                                                                       
003c00   f084                                                                                                               
003c02   c02b     MOVFF     0x2b,0x85                                                                                       
003c04   f085                                                                                                               
003c06   c02c     MOVFF     0x2c,0x86                                                                                       
003c08   f086                                                                                                               
                                                }                                                                              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
003c0a   ecfb     CALL      0x45f6,0x0          if ((tickGet()-temperature)>TICK_SECOND*2 && getNewTemperature==TRUE) // Each 2 second, read temperature. F:\MCP\projects\CAN\canTemp\Source\Main.c
003c0c   f022                                                                                                               
003c0e   0100     MOVLB     0x0                                                                                             
003c10   517d     MOVF      0x7d,0x0,0x1                                                                                    
003c12   5c29     SUBWF     0x29,0x0,0x0                                                                                    
003c14   6e00     MOVWF     0x0,0x0                                                                                         
003c16   517e     MOVF      0x7e,0x0,0x1                                                                                    
003c18   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
003c1a   6e01     MOVWF     0x1,0x0                                                                                         
003c1c   517f     MOVF      0x7f,0x0,0x1                                                                                    
003c1e   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
003c20   6e02     MOVWF     0x2,0x0                                                                                         
003c22   5180     MOVF      0x80,0x0,0x1                                                                                    
003c24   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
003c26   6e03     MOVWF     0x3,0x0                                                                                         
003c28   80d8     BSF       0xd8,0x0,0x0                                                                                    
003c2a   0ec8     MOVLW     0xc8                                                                                            
003c2c   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003c2e   0e00     MOVLW     0x0                                                                                             
003c30   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003c32   0e00     MOVLW     0x0                                                                                             
003c34   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003c36   0e00     MOVLW     0x0                                                                                             
003c38   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003c3a   e21a     BC        0x3c70                                                                                          
003c3c   0581     DECF      0x81,0x0,0x1                                                                                    
003c3e   e118     BNZ       0x3c70                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003c40   0582     DECF      0x82,0x0,0x1            if (lastTemperature==TEMPERATURE_INSIDE) lastTemperature=TEMPERATURE_OUTSIDE; else lastTemperature=TEMPERATURE_INSIDE; F:\MCP\projects\CAN\canTemp\Source\Main.c
003c42   e103     BNZ       0x3c4a                                                                                          
003c44   0e02     MOVLW     0x2                                                                                             
003c46   6f82     MOVWF     0x82,0x1                                                                                        
003c48   d002     BRA       0x3c4e                                                                                          
003c4a   0e01     MOVLW     0x1                                                                                             
003c4c   6f82     MOVWF     0x82,0x1                                                                                        
003c4e   c082     MOVFF     0x82,0xfe6              adcConvert(lastTemperature);                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003c50   ffe6                                                                                                               
003c52   ece9     CALL      0x3fd2,0x0                                                                                      
003c54   f01f                                                                                                               
003c56   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c58   ecfb     CALL      0x45f6,0x0              temperature = tickGet();                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003c5a   f022                                                                                                               
003c5c   c029     MOVFF     0x29,0x7d                                                                                       
003c5e   f07d                                                                                                               
003c60   c02a     MOVFF     0x2a,0x7e                                                                                       
003c62   f07e                                                                                                               
003c64   c02b     MOVFF     0x2b,0x7f                                                                                       
003c66   f07f                                                                                                               
003c68   c02c     MOVFF     0x2c,0x80                                                                                       
003c6a   f080                                                                                                               
003c6c   0100     MOVLB     0x0                     getNewTemperature=FALSE;                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003c6e   6b81     CLRF      0x81,0x1                                                                                        
                                                }                                                                              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
003c70   ecfa     CALL      0x41f4,0x0          if (adcDone()) // Has temperature, send it to the bus                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003c72   f020                                                                                                               
003c74   0900     IORLW     0x0                                                                                             
003c76   e101     BNZ       0x3c7a                                                                                          
003c78   d077     BRA       0x3d68                                                                                          
                                                {                                                                              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
                                                    unsigned long q;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003c7a   50d9     MOVF      0xd9,0x0,0x0            temperatureRead(&tenth,&decimal);                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003c7c   0f11     ADDLW     0x11                                                                                            
003c7e   6ee6     MOVWF     0xe6,0x0                                                                                        
003c80   0e00     MOVLW     0x0                                                                                             
003c82   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003c84   6ee6     MOVWF     0xe6,0x0                                                                                        
003c86   50d9     MOVF      0xd9,0x0,0x0                                                                                    
003c88   0f12     ADDLW     0x12                                                                                            
003c8a   6ee6     MOVWF     0xe6,0x0                                                                                        
003c8c   0e00     MOVLW     0x0                                                                                             
003c8e   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003c90   6ee6     MOVWF     0xe6,0x0                                                                                        
003c92   ec14     CALL      0x4028,0x0                                                                                      
003c94   f020                                                                                                               
003c96   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c98   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c9a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c9c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c9e   ecf0     CALL      0x41e0,0x0              q = adcGetRaw();                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003ca0   f020                                                                                                               
003ca2   0e13     MOVLW     0x13                                                                                            
003ca4   c029     MOVFF     0x29,0xfdb                                                                                      
003ca6   ffdb                                                                                                               
003ca8   0e14     MOVLW     0x14                                                                                            
003caa   c02a     MOVFF     0x2a,0xfdb                                                                                      
003cac   ffdb                                                                                                               
003cae   0e15     MOVLW     0x15                                                                                            
003cb0   c02b     MOVFF     0x2b,0xfdb                                                                                      
003cb2   ffdb                                                                                                               
003cb4   0e16     MOVLW     0x16                                                                                            
003cb6   c02c     MOVFF     0x2c,0xfdb                                                                                      
003cb8   ffdb                                                                                                               
003cba   0100     MOVLB     0x0                     getNewTemperature=TRUE;                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
003cbc   0e01     MOVLW     0x1                                                                                             
003cbe   6f81     MOVWF     0x81,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003cc0   6edf     MOVWF     0xdf,0x0                outCp.type=ptPGM;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003cc2   52de     MOVF      0xde,0x1,0x0            outCp.pgm.class =pcSENSOR;                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
003cc4   6edd     MOVWF     0xdd,0x0                                                                                        
003cc6   0582     DECF      0x82,0x0,0x1            outCp.pgm.id    =(lastTemperature==TEMPERATURE_INSIDE?pstTEMP_INSIDE:pstTEMP_OUTSIDE); F:\MCP\projects\CAN\canTemp\Source\Main.c
003cc8   e102     BNZ       0x3cce                                                                                          
003cca   0e01     MOVLW     0x1                                                                                             
003ccc   d001     BRA       0x3cd0                                                                                          
003cce   0e02     MOVLW     0x2                                                                                             
003cd0   6e00     MOVWF     0x0,0x0                                                                                         
003cd2   6a01     CLRF      0x1,0x0                                                                                         
003cd4   be00     BTFSC     0x0,0x7,0x0                                                                                     
003cd6   6801     SETF      0x1,0x0                                                                                         
003cd8   0e02     MOVLW     0x2                                                                                             
003cda   c000     MOVFF     0x0,0xfdb                                                                                       
003cdc   ffdb                                                                                                               
003cde   0e03     MOVLW     0x3                                                                                             
003ce0   c001     MOVFF     0x1,0xfdb                                                                                       
003ce2   ffdb                                                                                                               
003ce4   0e02     MOVLW     0x2                     outCp.length    =2;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003ce6   6ef3     MOVWF     0xf3,0x0                                                                                        
003ce8   0e08     MOVLW     0x8                                                                                             
003cea   cff3     MOVFF     0xff3,0xfdb                                                                                     
003cec   ffdb                                                                                                               
003cee   0e12     MOVLW     0x12                    outCp.data[1]   = tenth; //  signed 10 an 1 decimal.                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003cf0   50db     MOVF      0xdb,0x0,0x0                                                                                    
003cf2   6ee7     MOVWF     0xe7,0x0                                                                                        
003cf4   0e0a     MOVLW     0xa                                                                                             
003cf6   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003cf8   ffdb                                                                                                               
003cfa   0e11     MOVLW     0x11                    outCp.data[0]   = decimal; //  Decimal value, 0-9                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003cfc   50db     MOVF      0xdb,0x0,0x0                                                                                    
003cfe   6ee7     MOVWF     0xe7,0x0                                                                                        
003d00   0e09     MOVLW     0x9                                                                                             
003d02   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003d04   ffdb                                                                                                               
003d06   0e02     MOVLW     0x2                     while(!canSendMessage(outCp,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003d08   6ee6     MOVWF     0xe6,0x0                                                                                        
003d0a   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
003d0c   ffe9                                                                                                               
003d0e   cfda     MOVFF     0xfda,0xfea                                                                                     
003d10   ffea                                                                                                               
003d12   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d14   ffe6                                                                                                               
003d16   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d18   ffe6                                                                                                               
003d1a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d1c   ffe6                                                                                                               
003d1e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d20   ffe6                                                                                                               
003d22   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d24   ffe6                                                                                                               
003d26   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d28   ffe6                                                                                                               
003d2a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d2c   ffe6                                                                                                               
003d2e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d30   ffe6                                                                                                               
003d32   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d34   ffe6                                                                                                               
003d36   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d38   ffe6                                                                                                               
003d3a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d3c   ffe6                                                                                                               
003d3e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d40   ffe6                                                                                                               
003d42   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d44   ffe6                                                                                                               
003d46   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d48   ffe6                                                                                                               
003d4a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d4c   ffe6                                                                                                               
003d4e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d50   ffe6                                                                                                               
003d52   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d54   ffe6                                                                                                               
003d56   ec62     CALL      0x34c4,0x0                                                                                      
003d58   f01a                                                                                                               
003d5a   6e00     MOVWF     0x0,0x0                                                                                         
003d5c   0e12     MOVLW     0x12                                                                                            
003d5e   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003d60   5000     MOVF      0x0,0x0,0x0                                                                                     
003d62   0900     IORLW     0x0                                                                                             
003d64   e101     BNZ       0x3d68                                                                                          
003d66   d7cf     BRA       0x3d06                                                                                          
                                                }                                                                              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
003d6a   0e17     MOVLW     0x17           }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003d6c   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
003d6e   e202     BC        0x3d74                                                                                          
003d70   6ae1     CLRF      0xe1,0x0                                                                                        
003d72   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003d74   6ee1     MOVWF     0xe1,0x0                                                                                        
003d76   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003d78   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003d7a   ffd9                                                                                                               
003d7c   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
003d7e   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003d80   ffe4                                                                                                               
003d82   cfe2     MOVFF     0xfe2,0xfda                                                                                     
003d84   ffda                                                                                                               
003d86   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
003d88   ffe4                                                                                                               
003d8a   cfea     MOVFF     0xfea,0xfe4                                                                                     
003d8c   ffe4                                                                                                               
003d8e   cff6     MOVFF     0xff6,0xfe4                                                                                     
003d90   ffe4                                                                                                               
003d92   cff7     MOVFF     0xff7,0xfe4                                                                                     
003d94   ffe4                                                                                                               
003d96   cff5     MOVFF     0xff5,0xfe4                                                                                     
003d98   ffe4                                                                                                               
003d9a   cff3     MOVFF     0xff3,0xfe4                                                                                     
003d9c   ffe4                                                                                                               
003d9e   cff4     MOVFF     0xff4,0xfe4                                                                                     
003da0   ffe4                                                                                                               
003da2   cffa     MOVFF     0xffa,0xfe4                                                                                     
003da4   ffe4                                                                                                               
003da6   ee00     LFSR      0x0,0x23                                                                                        
003da8   f023                                                                                                               
003daa   0e14     MOVLW     0x14                                                                                            
003dac   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dae   e303     BNC       0x3db6                                                                                          
003db0   cfee     MOVFF     0xfee,0xfe4                                                                                     
003db2   ffe4                                                                                                               
003db4   d7fb     BRA       0x3dac                                                                                          
003db6   ee00     LFSR      0x0,0x0                                                                                         
003db8   f000                                                                                                               
003dba   0e23     MOVLW     0x23                                                                                            
003dbc   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dbe   e303     BNC       0x3dc6                                                                                          
003dc0   cfee     MOVFF     0xfee,0xfe4                                                                                     
003dc2   ffe4                                                                                                               
003dc4   d7fb     BRA       0x3dbc                                                                                          
003dc6   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003dc8   ec9f     CALL      0x313e,0x0      canISR();                                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
003dca   f018                                                                                                               
003dcc   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003dce   ee00     LFSR      0x0,0x22                                                                                        
003dd0   f022                                                                                                               
003dd2   0e23     MOVLW     0x23                                                                                            
003dd4   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dd6   e303     BNC       0x3dde                                                                                          
003dd8   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003dda   ffed                                                                                                               
003ddc   d7fb     BRA       0x3dd4                                                                                          
003dde   ee00     LFSR      0x0,0x36                                                                                        
003de0   f036                                                                                                               
003de2   0e14     MOVLW     0x14                                                                                            
003de4   04e8     DECF      0xe8,0x0,0x0                                                                                    
003de6   e303     BNC       0x3dee                                                                                          
003de8   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003dea   ffed                                                                                                               
003dec   d7fb     BRA       0x3de4                                                                                          
003dee   cfe5     MOVFF     0xfe5,0xffa                                                                                     
003df0   fffa                                                                                                               
003df2   cfe5     MOVFF     0xfe5,0xff4                                                                                     
003df4   fff4                                                                                                               
003df6   cfe5     MOVFF     0xfe5,0xff3                                                                                     
003df8   fff3                                                                                                               
003dfa   cfe5     MOVFF     0xfe5,0xff5                                                                                     
003dfc   fff5                                                                                                               
003dfe   cfe5     MOVFF     0xfe5,0xff7                                                                                     
003e00   fff7                                                                                                               
003e02   cfe5     MOVFF     0xfe5,0xff6                                                                                     
003e04   fff6                                                                                                               
003e06   cfe5     MOVFF     0xfe5,0xfea                                                                                     
003e08   ffea                                                                                                               
003e0a   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
003e0c   ffe9                                                                                                               
003e0e   cfe5     MOVFF     0xfe5,0xfda                                                                                     
003e10   ffda                                                                                                               
003e12   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
003e14   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003e16   ffe4                                                                                                               
003e18   cfe2     MOVFF     0xfe2,0xfda                                                                                     
003e1a   ffda                                                                                                               
003e1c   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
003e1e   ffe4                                                                                                               
003e20   cfea     MOVFF     0xfea,0xfe4                                                                                     
003e22   ffe4                                                                                                               
003e24   cff6     MOVFF     0xff6,0xfe4                                                                                     
003e26   ffe4                                                                                                               
003e28   cff7     MOVFF     0xff7,0xfe4                                                                                     
003e2a   ffe4                                                                                                               
003e2c   cff5     MOVFF     0xff5,0xfe4                                                                                     
003e2e   ffe4                                                                                                               
003e30   cff3     MOVFF     0xff3,0xfe4                                                                                     
003e32   ffe4                                                                                                               
003e34   cff4     MOVFF     0xff4,0xfe4                                                                                     
003e36   ffe4                                                                                                               
003e38   cffa     MOVFF     0xffa,0xfe4                                                                                     
003e3a   ffe4                                                                                                               
003e3c   ee00     LFSR      0x0,0x23                                                                                        
003e3e   f023                                                                                                               
003e40   0e14     MOVLW     0x14                                                                                            
003e42   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e44   e303     BNC       0x3e4c                                                                                          
003e46   cfee     MOVFF     0xfee,0xfe4                                                                                     
003e48   ffe4                                                                                                               
003e4a   d7fb     BRA       0x3e42                                                                                          
003e4c   ee00     LFSR      0x0,0x0                                                                                         
003e4e   f000                                                                                                               
003e50   0e23     MOVLW     0x23                                                                                            
003e52   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e54   e303     BNC       0x3e5c                                                                                          
003e56   cfee     MOVFF     0xfee,0xfe4                                                                                     
003e58   ffe4                                                                                                               
003e5a   d7fb     BRA       0x3e52                                                                                          
003e5c   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003e5e   ec95     CALL      0x3f2a,0x0          adcISR();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003e60   f01f                                                                                                               
                                            #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
003e62   eccc     CALL      0x4398,0x0          blindsISR();                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
003e64   f021                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003e66   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003e68   ee00     LFSR      0x0,0x22                                                                                        
003e6a   f022                                                                                                               
003e6c   0e23     MOVLW     0x23                                                                                            
003e6e   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e70   e303     BNC       0x3e78                                                                                          
003e72   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003e74   ffed                                                                                                               
003e76   d7fb     BRA       0x3e6e                                                                                          
003e78   ee00     LFSR      0x0,0x36                                                                                        
003e7a   f036                                                                                                               
003e7c   0e14     MOVLW     0x14                                                                                            
003e7e   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e80   e303     BNC       0x3e88                                                                                          
003e82   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003e84   ffed                                                                                                               
003e86   d7fb     BRA       0x3e7e                                                                                          
003e88   cfe5     MOVFF     0xfe5,0xffa                                                                                     
003e8a   fffa                                                                                                               
003e8c   cfe5     MOVFF     0xfe5,0xff4                                                                                     
003e8e   fff4                                                                                                               
003e90   cfe5     MOVFF     0xfe5,0xff3                                                                                     
003e92   fff3                                                                                                               
003e94   cfe5     MOVFF     0xfe5,0xff5                                                                                     
003e96   fff5                                                                                                               
003e98   cfe5     MOVFF     0xfe5,0xff7                                                                                     
003e9a   fff7                                                                                                               
003e9c   cfe5     MOVFF     0xfe5,0xff6                                                                                     
003e9e   fff6                                                                                                               
003ea0   cfe5     MOVFF     0xfe5,0xfea                                                                                     
003ea2   ffea                                                                                                               
003ea4   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
003ea6   ffe9                                                                                                               
003ea8   cfe5     MOVFF     0xfe5,0xfda                                                                                     
003eaa   ffda                                                                                                               
003eac   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
003eae   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
003eb0   9894     BCF       0x94,0x4,0x0    BLINDS0_TRIS=0;                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
003eb2   9a94     BCF       0x94,0x5,0x0    BLINDS0P_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
003eb4   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
003eb6   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
003eb8   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003eba   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
003ebc   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_PACKET cp)                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003ebe   ffe6                                                                                                               
003ec0   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003ec2   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_BLINDS                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003ec4   0eef     MOVLW     0xef            if (cp.pgm.class==pcACTUATOR && cp.pgm.id==patBLIND_TR)                         F:\MCP\projects\CAN\canTemp\Source\Main.c
003ec6   50db     MOVF      0xdb,0x0,0x0                                                                                    
003ec8   0802     SUBLW     0x2                                                                                             
003eca   e111     BNZ       0x3eee                                                                                          
003ecc   50d9     MOVF      0xd9,0x0,0x0                                                                                    
003ece   0ff0     ADDLW     0xf0                                                                                            
003ed0   6ee9     MOVWF     0xe9,0x0                                                                                        
003ed2   0eff     MOVLW     0xff                                                                                            
003ed4   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003ed6   6eea     MOVWF     0xea,0x0                                                                                        
003ed8   0e07     MOVLW     0x7                                                                                             
003eda   18ee     XORWF     0xee,0x0,0x0                                                                                    
003edc   e101     BNZ       0x3ee0                                                                                          
003ede   50ed     MOVF      0xed,0x0,0x0                                                                                    
003ee0   e106     BNZ       0x3eee                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003ee2   0ef7     MOVLW     0xf7                blindsTurn(cp.data[0]);                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
003ee4   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
003ee6   ffe6                                                                                                               
003ee8   ec16     CALL      0x422c,0x0                                                                                      
003eea   f021                                                                                                               
003eec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003eee   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003ef0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003ef2   ffd9                                                                                                               
003ef4   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 = RM_RESET_VECTOR                           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
003000   ef29     GOTO      0x4652             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
003002   f023                                                                                                               
003004   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 = RM_HIGH_INTERRUPT_VECTOR                   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
003008   efbf     GOTO      0x3d7e          _asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
00300a   f01e                                                                                                               
00300c   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 = RM_LOW_INTERRUPT_VECTOR                     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
003018   ef0a     GOTO      0x3e14             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
00301a   f01f                                                                                                               
00301c   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
0043e0   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
0043e2   ffe6                                                                                                               
0043e4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0043e6   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
0043e8   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
0043ea   cfdb     MOVFF     0xfdb,0x0                                                                                       
0043ec   f000                                                                                                               
0043ee   0efe     MOVLW     0xfe                                                                                            
0043f0   cfdb     MOVFF     0xfdb,0x1                                                                                       
0043f2   f001                                                                                                               
0043f4   c001     MOVFF     0x1,0x0                                                                                         
0043f6   f000                                                                                                               
0043f8   6a01     CLRF      0x1,0x0                                                                                         
0043fa   5000     MOVF      0x0,0x0,0x0                                                                                     
0043fc   6eaa     MOVWF     0xaa,0x0                                                                                        
0043fe   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
004400   6ee7     MOVWF     0xe7,0x0                                                                                        
004402   0efd     MOVLW     0xfd                                                                                            
004404   cfdb     MOVFF     0xfdb,0x0                                                                                       
004406   f000                                                                                                               
004408   0efe     MOVLW     0xfe                                                                                            
00440a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00440c   f001                                                                                                               
00440e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
004410   1600     ANDWF     0x0,0x1,0x0                                                                                     
004412   6a01     CLRF      0x1,0x0                                                                                         
004414   5000     MOVF      0x0,0x0,0x0                                                                                     
004416   6ea9     MOVWF     0xa9,0x0                                                                                        
004418   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
00441a   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
00441c   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
00441e   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
004420   d000     BRA       0x4422                                                                                          
004422   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004424   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
004426   ffd9                                                                                                               
004428   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
00442a   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
00442c   ffe6                                                                                                               
00442e   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
004430   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004432   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004434   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
004436   cfdb     MOVFF     0xfdb,0x0                                                                                       
004438   f000                                                                                                               
00443a   0efe     MOVLW     0xfe                                                                                            
00443c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00443e   f001                                                                                                               
004440   c001     MOVFF     0x1,0x0                                                                                         
004442   f000                                                                                                               
004444   6a01     CLRF      0x1,0x0                                                                                         
004446   5000     MOVF      0x0,0x0,0x0                                                                                     
004448   6eaa     MOVWF     0xaa,0x0                                                                                        
00444a   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
00444c   6ee7     MOVWF     0xe7,0x0                                                                                        
00444e   0efd     MOVLW     0xfd                                                                                            
004450   cfdb     MOVFF     0xfdb,0x0                                                                                       
004452   f000                                                                                                               
004454   0efe     MOVLW     0xfe                                                                                            
004456   cfdb     MOVFF     0xfdb,0x1                                                                                       
004458   f001                                                                                                               
00445a   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00445c   1600     ANDWF     0x0,0x1,0x0                                                                                     
00445e   6a01     CLRF      0x1,0x0                                                                                         
004460   5000     MOVF      0x0,0x0,0x0                                                                                     
004462   6ea9     MOVWF     0xa9,0x0                                                                                        
004464   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
004466   50db     MOVF      0xdb,0x0,0x0                                                                                    
004468   6ea8     MOVWF     0xa8,0x0                                                                                        
00446a   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
00446c   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
00446e   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
004470   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
004472   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
004474   6ea7     MOVWF     0xa7,0x0                                                                                        
004476   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
004478   6ea7     MOVWF     0xa7,0x0                                                                                        
00447a   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
00447c   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
00447e   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
004480   d7fe     BRA       0x447e                                                                                          
004482   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
004484   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004486   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
004488   ffd9                                                                                                               
00448a   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: 2007-02-25 20:51:08 +0100 (sö, 25 feb 2007) $ F:\MCP\projects\CAN\Include\adc.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\Include\adc.c
                                            * Revision:     $Revision: 339 $                                                   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
003ef6   cfd9     MOVFF     0xfd9,0xfe6    void adcInit(BOOL useExtRef,BYTE portCfg)                                        F:\MCP\projects\CAN\Include\adc.c
003ef8   ffe6                                                                                                               
003efa   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003efc   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
003efe   0efd     MOVLW     0xfd            ADCON1 = 0b00000000 | ((1 & useExtRef)<<4) | (0xF & portCfg);                   F:\MCP\projects\CAN\Include\adc.c
003f00   50db     MOVF      0xdb,0x0,0x0                                                                                    
003f02   0b0f     ANDLW     0xf                                                                                             
003f04   6e00     MOVWF     0x0,0x0                                                                                         
003f06   0efe     MOVLW     0xfe                                                                                            
003f08   50db     MOVF      0xdb,0x0,0x0                                                                                    
003f0a   0b01     ANDLW     0x1                                                                                             
003f0c   0d10     MULLW     0x10                                                                                            
003f0e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003f10   1000     IORWF     0x0,0x0,0x0                                                                                     
003f12   6ec1     MOVWF     0xc1,0x0                                                                                        
003f14   6ac2     CLRF      0xc2,0x0        ADCON0 = 0b00000000;                                                            F:\MCP\projects\CAN\Include\adc.c
003f16   0eab     MOVLW     0xab            ADCON2 = 0b10101011;                                                            F:\MCP\projects\CAN\Include\adc.c
003f18   6ec0     MOVWF     0xc0,0x0                                                                                        
                                            //useExtRef                                                                     F:\MCP\projects\CAN\Include\adc.c
003f1a   80c2     BSF       0xc2,0x0,0x0    ADCON0bits.ADON = 1;                                                            F:\MCP\projects\CAN\Include\adc.c
003f1c   9c9e     BCF       0x9e,0x6,0x0    PIR1bits.ADIF = 0;                                                              F:\MCP\projects\CAN\Include\adc.c
003f1e   8c9d     BSF       0x9d,0x6,0x0    PIE1bits.ADIE = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
003f20   9c9f     BCF       0x9f,0x6,0x0    IPR1bits.ADIP = 0; // Low priority                                              F:\MCP\projects\CAN\Include\adc.c
003f22   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
003f24   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003f26   ffd9                                                                                                               
003f28   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
003f2a   509d     MOVF      0x9d,0x0,0x0    if (PIE1bits.ADIE && PIR1bits.ADIF)                                             F:\MCP\projects\CAN\Include\adc.c
003f2c   0b40     ANDLW     0x40                                                                                            
003f2e   e050     BZ        0x3fd0                                                                                          
003f30   509e     MOVF      0x9e,0x0,0x0                                                                                    
003f32   0b40     ANDLW     0x40                                                                                            
003f34   e04d     BZ        0x3fd0                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\Include\adc.c
003f36   9c9e     BCF       0x9e,0x6,0x0        PIR1bits.ADIF = 0;                                                             F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f38   50c4     MOVF      0xc4,0x0,0x0        TEMP_VALUE+=((int)ADRESH)<<8 | ADRESL;                                         F:\MCP\projects\CAN\Include\adc.c
003f3a   6e04     MOVWF     0x4,0x0                                                                                         
003f3c   c004     MOVFF     0x4,0x5                                                                                         
003f3e   f005                                                                                                               
003f40   6a04     CLRF      0x4,0x0                                                                                         
003f42   50c3     MOVF      0xc3,0x0,0x0                                                                                    
003f44   0100     MOVLB     0x0                                                                                             
003f46   1004     IORWF     0x4,0x0,0x0                                                                                     
003f48   6e00     MOVWF     0x0,0x0                                                                                         
003f4a   c005     MOVFF     0x5,0x1                                                                                         
003f4c   f001                                                                                                               
003f4e   6a02     CLRF      0x2,0x0                                                                                         
003f50   6a03     CLRF      0x3,0x0                                                                                         
003f52   ae01     BTFSS     0x1,0x7,0x0                                                                                     
003f54   d002     BRA       0x3f5a                                                                                          
003f56   6802     SETF      0x2,0x0                                                                                         
003f58   6803     SETF      0x3,0x0                                                                                         
003f5a   5000     MOVF      0x0,0x0,0x0                                                                                     
003f5c   0100     MOVLB     0x0                                                                                             
003f5e   2791     ADDWF     0x91,0x1,0x1                                                                                    
003f60   5001     MOVF      0x1,0x0,0x0                                                                                     
003f62   2392     ADDWFC    0x92,0x1,0x1                                                                                    
003f64   5002     MOVF      0x2,0x0,0x0                                                                                     
003f66   2393     ADDWFC    0x93,0x1,0x1                                                                                    
003f68   5003     MOVF      0x3,0x0,0x0                                                                                     
003f6a   2394     ADDWFC    0x94,0x1,0x1                                                                                    
003f6c   2b95     INCF      0x95,0x1,0x1        TEMP_COUNT++;                                                                  F:\MCP\projects\CAN\Include\adc.c
003f6e   0e00     MOVLW     0x0                                                                                             
003f70   2396     ADDWFC    0x96,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f72   0e32     MOVLW     0x32                if (TEMP_COUNT>=TEMP_SAMPLES)                                                  F:\MCP\projects\CAN\Include\adc.c
003f74   5d95     SUBWF     0x95,0x0,0x1                                                                                    
003f76   0e00     MOVLW     0x0                                                                                             
003f78   5996     SUBWFB    0x96,0x0,0x1                                                                                    
003f7a   e324     BNC       0x3fc4                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
003f7c   c095     MOVFF     0x95,0x0                TEMP_VALUE = TEMP_VALUE/TEMP_COUNT;                                           F:\MCP\projects\CAN\Include\adc.c
003f7e   f000                                                                                                               
003f80   c096     MOVFF     0x96,0x1                                                                                        
003f82   f001                                                                                                               
003f84   6a02     CLRF      0x2,0x0                                                                                         
003f86   6a03     CLRF      0x3,0x0                                                                                         
003f88   c091     MOVFF     0x91,0x29                                                                                       
003f8a   f029                                                                                                               
003f8c   c092     MOVFF     0x92,0x2a                                                                                       
003f8e   f02a                                                                                                               
003f90   c093     MOVFF     0x93,0x2b                                                                                       
003f92   f02b                                                                                                               
003f94   c094     MOVFF     0x94,0x2c                                                                                       
003f96   f02c                                                                                                               
003f98   c000     MOVFF     0x0,0x2e                                                                                        
003f9a   f02e                                                                                                               
003f9c   c001     MOVFF     0x1,0x2f                                                                                        
003f9e   f02f                                                                                                               
003fa0   c002     MOVFF     0x2,0x30                                                                                        
003fa2   f030                                                                                                               
003fa4   c003     MOVFF     0x3,0x31                                                                                        
003fa6   f031                                                                                                               
003fa8   eccd     CALL      0x459a,0x0                                                                                      
003faa   f022                                                                                                               
003fac   c029     MOVFF     0x29,0x91                                                                                       
003fae   f091                                                                                                               
003fb0   c02a     MOVFF     0x2a,0x92                                                                                       
003fb2   f092                                                                                                               
003fb4   c02b     MOVFF     0x2b,0x93                                                                                       
003fb6   f093                                                                                                               
003fb8   c02c     MOVFF     0x2c,0x94                                                                                       
003fba   f094                                                                                                               
003fbc   0100     MOVLB     0x0                     TEMP_DONE = TRUE;                                                             F:\MCP\projects\CAN\Include\adc.c
003fbe   0e01     MOVLW     0x1                                                                                             
003fc0   6fa2     MOVWF     0xa2,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\Include\adc.c
003fc2   d006     BRA       0x3fd0              else                                                                           F:\MCP\projects\CAN\Include\adc.c
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
003fc4   0e64     MOVLW     0x64                    Delay10TCYx(100);                                                             F:\MCP\projects\CAN\Include\adc.c
003fc6   6ee6     MOVWF     0xe6,0x0                                                                                        
003fc8   ec37     CALL      0x466e,0x0                                                                                      
003fca   f023                                                                                                               
003fcc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003fce   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
003fd0   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
003fd2   cfd9     MOVFF     0xfd9,0xfe6    BOOL adcConvert(BYTE channel)                                                    F:\MCP\projects\CAN\Include\adc.c
003fd4   ffe6                                                                                                               
003fd6   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003fd8   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
003fda   0efe     MOVLW     0xfe            if (channel>15) return FALSE;                                                   F:\MCP\projects\CAN\Include\adc.c
003fdc   50db     MOVF      0xdb,0x0,0x0                                                                                    
003fde   080f     SUBLW     0xf                                                                                             
003fe0   e202     BC        0x3fe6                                                                                          
003fe2   0e00     MOVLW     0x0                                                                                             
003fe4   d015     BRA       0x4010                                                                                          
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003fe6   0100     MOVLB     0x0             TEMP_VALUE = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
003fe8   6b91     CLRF      0x91,0x1                                                                                        
003fea   6b92     CLRF      0x92,0x1                                                                                        
003fec   6b93     CLRF      0x93,0x1                                                                                        
003fee   6b94     CLRF      0x94,0x1                                                                                        
003ff0   6b95     CLRF      0x95,0x1        TEMP_COUNT = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
003ff2   6b96     CLRF      0x96,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003ff4   0ec3     MOVLW     0xc3            ADCON0 = (channel << 2)  | (ADCON0 & 0b11000011);                               F:\MCP\projects\CAN\Include\adc.c
003ff6   14c2     ANDWF     0xc2,0x0,0x0                                                                                    
003ff8   6e00     MOVWF     0x0,0x0                                                                                         
003ffa   0efe     MOVLW     0xfe                                                                                            
003ffc   50db     MOVF      0xdb,0x0,0x0                                                                                    
003ffe   0d04     MULLW     0x4                                                                                             
004000   50f3     MOVF      0xf3,0x0,0x0                                                                                    
004002   1000     IORWF     0x0,0x0,0x0                                                                                     
004004   6ec2     MOVWF     0xc2,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004006   0100     MOVLB     0x0             TEMP_DONE = FALSE;                                                              F:\MCP\projects\CAN\Include\adc.c
004008   6ba2     CLRF      0xa2,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
00400a   82c2     BSF       0xc2,0x1,0x0    ADCON0bits.GO = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
00400c   0e01     MOVLW     0x1             return TRUE;                                                                    F:\MCP\projects\CAN\Include\adc.c
00400e   d000     BRA       0x4010                                                                                          
004010   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
004012   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
004014   ffd9                                                                                                               
004016   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
004018   0100     MOVLB     0x0             TEMP_DONE=FALSE;                                                                F:\MCP\projects\CAN\Include\adc.c
00401a   6ba2     CLRF      0xa2,0x1                                                                                        
00401c   c091     MOVFF     0x91,0xff3      return TEMP_VALUE;                                                              F:\MCP\projects\CAN\Include\adc.c
00401e   fff3                                                                                                               
004020   c092     MOVFF     0x92,0xff4                                                                                      
004022   fff4                                                                                                               
004024   d000     BRA       0x4026                                                                                          
004026   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
004028   cfd9     MOVFF     0xfd9,0xfe6    void temperatureRead(signed char *tenth, BYTE *decimal)                          F:\MCP\projects\CAN\Include\adc.c
00402a   ffe6                                                                                                               
00402c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00402e   ffd9                                                                                                               
004030   0e08     MOVLW     0x8                                                                                             
004032   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
004034   6ade     CLRF      0xde,0x0        signed int i = 0, v11,v01,tfloat;                                               F:\MCP\projects\CAN\Include\adc.c
004036   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004038   c091     MOVFF     0x91,0x4        tfloat =((TEMP_VALUE * 39)>>4) - 499;                                           F:\MCP\projects\CAN\Include\adc.c
00403a   f004                                                                                                               
00403c   c092     MOVFF     0x92,0x5                                                                                        
00403e   f005                                                                                                               
004040   c093     MOVFF     0x93,0x6                                                                                        
004042   f006                                                                                                               
004044   c094     MOVFF     0x94,0x7                                                                                        
004046   f007                                                                                                               
004048   0e27     MOVLW     0x27                                                                                            
00404a   6e2e     MOVWF     0x2e,0x0                                                                                        
00404c   6a2f     CLRF      0x2f,0x0                                                                                        
00404e   6a30     CLRF      0x30,0x0                                                                                        
004050   6a31     CLRF      0x31,0x0                                                                                        
004052   c004     MOVFF     0x4,0x29                                                                                        
004054   f029                                                                                                               
004056   c005     MOVFF     0x5,0x2a                                                                                        
004058   f02a                                                                                                               
00405a   c006     MOVFF     0x6,0x2b                                                                                        
00405c   f02b                                                                                                               
00405e   c007     MOVFF     0x7,0x2c                                                                                        
004060   f02c                                                                                                               
004062   ec95     CALL      0x452a,0x0                                                                                      
004064   f022                                                                                                               
004066   c025     MOVFF     0x25,0x4                                                                                        
004068   f004                                                                                                               
00406a   c026     MOVFF     0x26,0x5                                                                                        
00406c   f005                                                                                                               
00406e   c027     MOVFF     0x27,0x6                                                                                        
004070   f006                                                                                                               
004072   c028     MOVFF     0x28,0x7                                                                                        
004074   f007                                                                                                               
004076   0e04     MOVLW     0x4                                                                                             
004078   90d8     BCF       0xd8,0x0,0x0                                                                                    
00407a   3207     RRCF      0x7,0x1,0x0                                                                                     
00407c   3206     RRCF      0x6,0x1,0x0                                                                                     
00407e   3205     RRCF      0x5,0x1,0x0                                                                                     
004080   3204     RRCF      0x4,0x1,0x0                                                                                     
004082   06e8     DECF      0xe8,0x1,0x0                                                                                    
004084   e1f9     BNZ       0x4078                                                                                          
004086   c004     MOVFF     0x4,0x0                                                                                         
004088   f000                                                                                                               
00408a   c005     MOVFF     0x5,0x1                                                                                         
00408c   f001                                                                                                               
00408e   c006     MOVFF     0x6,0x2                                                                                         
004090   f002                                                                                                               
004092   c007     MOVFF     0x7,0x3                                                                                         
004094   f003                                                                                                               
004096   0ef3     MOVLW     0xf3                                                                                            
004098   5e00     SUBWF     0x0,0x1,0x0                                                                                     
00409a   0e01     MOVLW     0x1                                                                                             
00409c   5a01     SUBWFB    0x1,0x1,0x0                                                                                     
00409e   0e00     MOVLW     0x0                                                                                             
0040a0   5a02     SUBWFB    0x2,0x1,0x0                                                                                     
0040a2   5a03     SUBWFB    0x3,0x1,0x0                                                                                     
0040a4   0e06     MOVLW     0x6                                                                                             
0040a6   c000     MOVFF     0x0,0xfdb                                                                                       
0040a8   ffdb                                                                                                               
0040aa   0e07     MOVLW     0x7                                                                                             
0040ac   c001     MOVFF     0x1,0xfdb                                                                                       
0040ae   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
0040b0   0e0a     MOVLW     0xa             v11 = tfloat/10;                                                                F:\MCP\projects\CAN\Include\adc.c
0040b2   6e00     MOVWF     0x0,0x0                                                                                         
0040b4   6a01     CLRF      0x1,0x0                                                                                         
0040b6   0e06     MOVLW     0x6                                                                                             
0040b8   cfdb     MOVFF     0xfdb,0x2b                                                                                      
0040ba   f02b                                                                                                               
0040bc   0e07     MOVLW     0x7                                                                                             
0040be   cfdb     MOVFF     0xfdb,0x2c                                                                                      
0040c0   f02c                                                                                                               
0040c2   c000     MOVFF     0x0,0x30                                                                                        
0040c4   f030                                                                                                               
0040c6   c001     MOVFF     0x1,0x31                                                                                        
0040c8   f031                                                                                                               
0040ca   ec58     CALL      0x38b0,0x0                                                                                      
0040cc   f01c                                                                                                               
0040ce   0e02     MOVLW     0x2                                                                                             
0040d0   c02b     MOVFF     0x2b,0xfdb                                                                                      
0040d2   ffdb                                                                                                               
0040d4   0e03     MOVLW     0x3                                                                                             
0040d6   c02c     MOVFF     0x2c,0xfdb                                                                                      
0040d8   ffdb                                                                                                               
0040da   0e06     MOVLW     0x6             v01 = tfloat-v11*10;                                                            F:\MCP\projects\CAN\Include\adc.c
0040dc   cfdb     MOVFF     0xfdb,0x2                                                                                       
0040de   f002                                                                                                               
0040e0   0e07     MOVLW     0x7                                                                                             
0040e2   cfdb     MOVFF     0xfdb,0x3                                                                                       
0040e4   f003                                                                                                               
0040e6   0e0a     MOVLW     0xa                                                                                             
0040e8   6e2b     MOVWF     0x2b,0x0                                                                                        
0040ea   6a2c     CLRF      0x2c,0x0                                                                                        
0040ec   0e02     MOVLW     0x2                                                                                             
0040ee   cfdb     MOVFF     0xfdb,0x30                                                                                      
0040f0   f030                                                                                                               
0040f2   0e03     MOVLW     0x3                                                                                             
0040f4   cfdb     MOVFF     0xfdb,0x31                                                                                      
0040f6   f031                                                                                                               
0040f8   ec7e     CALL      0x38fc,0x0                                                                                      
0040fa   f01c                                                                                                               
0040fc   5029     MOVF      0x29,0x0,0x0                                                                                    
0040fe   5c02     SUBWF     0x2,0x0,0x0                                                                                     
004100   6e00     MOVWF     0x0,0x0                                                                                         
004102   502a     MOVF      0x2a,0x0,0x0                                                                                    
004104   5803     SUBWFB    0x3,0x0,0x0                                                                                     
004106   6e01     MOVWF     0x1,0x0                                                                                         
004108   0e04     MOVLW     0x4                                                                                             
00410a   c000     MOVFF     0x0,0xfdb                                                                                       
00410c   ffdb                                                                                                               
00410e   0e05     MOVLW     0x5                                                                                             
004110   c001     MOVFF     0x1,0xfdb                                                                                       
004112   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004114   0e04     MOVLW     0x4                  if (v01>=0 && v01<=2) v01 = 0;                                             F:\MCP\projects\CAN\Include\adc.c
004116   cfdb     MOVFF     0xfdb,0x0                                                                                       
004118   f000                                                                                                               
00411a   0e05     MOVLW     0x5                                                                                             
00411c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00411e   f001                                                                                                               
004120   0100     MOVLB     0x0                                                                                             
004122   0e80     MOVLW     0x80                                                                                            
004124   1401     ANDWF     0x1,0x0,0x0                                                                                     
004126   e112     BNZ       0x414c                                                                                          
004128   0e04     MOVLW     0x4                                                                                             
00412a   cfdb     MOVFF     0xfdb,0x2                                                                                       
00412c   f002                                                                                                               
00412e   0e05     MOVLW     0x5                                                                                             
004130   cfdb     MOVFF     0xfdb,0x3                                                                                       
004132   f003                                                                                                               
004134   3403     RLCF      0x3,0x0,0x0                                                                                     
004136   e204     BC        0x4140                                                                                          
004138   5002     MOVF      0x2,0x0,0x0                                                                                     
00413a   0802     SUBLW     0x2                                                                                             
00413c   0e00     MOVLW     0x0                                                                                             
00413e   5403     SUBFWB    0x3,0x0,0x0                                                                                     
004140   e305     BNC       0x414c                                                                                          
004142   0e04     MOVLW     0x4                                                                                             
004144   6adb     CLRF      0xdb,0x0                                                                                        
004146   0e05     MOVLW     0x5                                                                                             
004148   6adb     CLRF      0xdb,0x0                                                                                        
00414a   d02c     BRA       0x41a4          else if (v01>=3 && v01<=7) v01 = 5;                                             F:\MCP\projects\CAN\Include\adc.c
00414c   0e04     MOVLW     0x4                                                                                             
00414e   cfdb     MOVFF     0xfdb,0x0                                                                                       
004150   f000                                                                                                               
004152   0e05     MOVLW     0x5                                                                                             
004154   cfdb     MOVFF     0xfdb,0x1                                                                                       
004156   f001                                                                                                               
004158   90d8     BCF       0xd8,0x0,0x0                                                                                    
00415a   5001     MOVF      0x1,0x0,0x0                                                                                     
00415c   e604     BN        0x4166                                                                                          
00415e   0e03     MOVLW     0x3                                                                                             
004160   5c00     SUBWF     0x0,0x0,0x0                                                                                     
004162   0e00     MOVLW     0x0                                                                                             
004164   5801     SUBWFB    0x1,0x0,0x0                                                                                     
004166   e315     BNC       0x4192                                                                                          
004168   0e04     MOVLW     0x4                                                                                             
00416a   cfdb     MOVFF     0xfdb,0x2                                                                                       
00416c   f002                                                                                                               
00416e   0e05     MOVLW     0x5                                                                                             
004170   cfdb     MOVFF     0xfdb,0x3                                                                                       
004172   f003                                                                                                               
004174   3403     RLCF      0x3,0x0,0x0                                                                                     
004176   e204     BC        0x4180                                                                                          
004178   5002     MOVF      0x2,0x0,0x0                                                                                     
00417a   0807     SUBLW     0x7                                                                                             
00417c   0e00     MOVLW     0x0                                                                                             
00417e   5403     SUBFWB    0x3,0x0,0x0                                                                                     
004180   e308     BNC       0x4192                                                                                          
004182   0e05     MOVLW     0x5                                                                                             
004184   6ef3     MOVWF     0xf3,0x0                                                                                        
004186   0e04     MOVLW     0x4                                                                                             
004188   cff3     MOVFF     0xff3,0xfdb                                                                                     
00418a   ffdb                                                                                                               
00418c   0e05     MOVLW     0x5                                                                                             
00418e   6adb     CLRF      0xdb,0x0                                                                                        
004190   d009     BRA       0x41a4          else  { v01 = 0; v11++;}                                                        F:\MCP\projects\CAN\Include\adc.c
004192   0e04     MOVLW     0x4                                                                                             
004194   6adb     CLRF      0xdb,0x0                                                                                        
004196   0e05     MOVLW     0x5                                                                                             
004198   6adb     CLRF      0xdb,0x0                                                                                        
00419a   0e02     MOVLW     0x2                                                                                             
00419c   2adb     INCF      0xdb,0x1,0x0                                                                                    
00419e   0e03     MOVLW     0x3                                                                                             
0041a0   e301     BNC       0x41a4                                                                                          
0041a2   2adb     INCF      0xdb,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
0041a4   0efd     MOVLW     0xfd            *tenth = (signed char)v11;                                                      F:\MCP\projects\CAN\Include\adc.c
0041a6   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0041a8   ffe9                                                                                                               
0041aa   0efe     MOVLW     0xfe                                                                                            
0041ac   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0041ae   ffea                                                                                                               
0041b0   0e02     MOVLW     0x2                                                                                             
0041b2   cfdb     MOVFF     0xfdb,0xfef                                                                                     
0041b4   ffef                                                                                                               
0041b6   0efb     MOVLW     0xfb            *decimal = (BYTE)v01;                                                           F:\MCP\projects\CAN\Include\adc.c
0041b8   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0041ba   ffe9                                                                                                               
0041bc   0efc     MOVLW     0xfc                                                                                            
0041be   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0041c0   ffea                                                                                                               
0041c2   0e04     MOVLW     0x4                                                                                             
0041c4   cfdb     MOVFF     0xfdb,0xfef                                                                                     
0041c6   ffef                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
0041c8   0100     MOVLB     0x0                 TEMP_DONE=FALSE;                                                               F:\MCP\projects\CAN\Include\adc.c
0041ca   6ba2     CLRF      0xa2,0x1                                                                                        
0041cc   0e08     MOVLW     0x8            }                                                                                F:\MCP\projects\CAN\Include\adc.c
0041ce   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0041d0   e202     BC        0x41d6                                                                                          
0041d2   6ae1     CLRF      0xe1,0x0                                                                                        
0041d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0041d6   6ee1     MOVWF     0xe1,0x0                                                                                        
0041d8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0041da   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0041dc   ffd9                                                                                                               
0041de   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
                                           unsigned long adcGetRaw()                                                        F:\MCP\projects\CAN\Include\adc.c
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
0041e0   c091     MOVFF     0x91,0x29       return TEMP_VALUE;                                                              F:\MCP\projects\CAN\Include\adc.c
0041e2   f029                                                                                                               
0041e4   c092     MOVFF     0x92,0x2a                                                                                       
0041e6   f02a                                                                                                               
0041e8   c093     MOVFF     0x93,0x2b                                                                                       
0041ea   f02b                                                                                                               
0041ec   c094     MOVFF     0x94,0x2c                                                                                       
0041ee   f02c                                                                                                               
0041f0   d000     BRA       0x41f2                                                                                          
0041f2   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: 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
0041f4   0100     MOVLB     0x0             return TEMP_DONE;                                                               F:\MCP\projects\CAN\Include\adc.c
0041f6   51a2     MOVF      0xa2,0x0,0x1                                                                                    
0041f8   d000     BRA       0x41fa                                                                                          
0041fa   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-02-25 20:51:08 +0100 (sö, 25 feb 2007) $ F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            * Revision:     $Revision: 339 $                                                   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
                                           static unsigned int timerVal = 50536;                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           static unsigned int turnOffIO = 0;                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           static signed char currentPrecent = 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
0041fc   0ec1     MOVLW     0xc1            T1CON = 0b11000001;                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041fe   6ecd     MOVWF     0xcd,0x0                                                                                        
004200   0e00     MOVLW     0x0             TMR1H=((timerVal&0xFF00)>>8);                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
004202   0100     MOVLB     0x0                                                                                             
004204   1597     ANDWF     0x97,0x0,0x1                                                                                    
004206   6e00     MOVWF     0x0,0x0                                                                                         
004208   0eff     MOVLW     0xff                                                                                            
00420a   1598     ANDWF     0x98,0x0,0x1                                                                                    
00420c   6e01     MOVWF     0x1,0x0                                                                                         
00420e   c001     MOVFF     0x1,0x0                                                                                         
004210   f000                                                                                                               
004212   6a01     CLRF      0x1,0x0                                                                                         
004214   5000     MOVF      0x0,0x0,0x0                                                                                     
004216   6ecf     MOVWF     0xcf,0x0                                                                                        
004218   5197     MOVF      0x97,0x0,0x1    TMR1L=(timerVal&0xFF);                                                          F:\MCP\projects\CAN\canTemp\Source\blinds.c
00421a   6ece     MOVWF     0xce,0x0                                                                                        
00421c   909e     BCF       0x9e,0x0,0x0    PIR1bits.TMR1IF = 0;                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
00421e   809d     BSF       0x9d,0x0,0x0    PIE1bits.TMR1IE = 1;                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
004220   909f     BCF       0x9f,0x0,0x0    IPR1bits.TMR1IP = 0; // Low prior                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
004222   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: blindsGetAngle                                                       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: angle.                                                                 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
                                           BYTE blindsGetPrecent()                                                          F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
004224   0100     MOVLB     0x0             return currentPrecent;                                                          F:\MCP\projects\CAN\canTemp\Source\blinds.c
004226   519b     MOVF      0x9b,0x0,0x1                                                                                    
004228   d000     BRA       0x422a                                                                                          
00422a   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: blindsTurn                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           *    Input:  Angle to turn to.                                                       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
00422c   cfd9     MOVFF     0xfd9,0xfe6    void blindsTurn(BYTE precent)                                                    F:\MCP\projects\CAN\canTemp\Source\blinds.c
00422e   ffe6                                                                                                               
004230   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
004232   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            // 65536-TIME/0,0000001                                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            // -90 0.5 ms = 60536 (5000)                                                    F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            // 0   1.5 ms = 50536 (15000)                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            // 90  2.5 ms = 40536 (25000)                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
004234   8a82     BSF       0x82,0x5,0x0    BLINDS0P_IO=1;                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
004236   0100     MOVLB     0x0             turnOffIO = IO_TIMEOUT;                                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
004238   0ebc     MOVLW     0xbc                                                                                            
00423a   6f99     MOVWF     0x99,0x1                                                                                        
00423c   0e02     MOVLW     0x2                                                                                             
00423e   6f9a     MOVWF     0x9a,0x1                                                                                        
                                            /*                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                if (angle<ANGLE_MIN) {timerVal=ANGLE_MIN_TIMER; currentAngle=ANGLE_MIN; }      F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                else if (angle>ANGLE_MAX) {timerVal=ANGLE_MAX_TIMER; currentAngle=ANGLE_MAX; } F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                else                                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                    timerVal=60536-(unsigned int)((90+(signed int)angle)*111.111);                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                    currentAngle=angle;                                                        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
                                            /*                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            angle=precent*                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                               -50=k*100+m                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                               60=k*0+m                                                                     F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                               angle=-1.1x+60                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            */                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
004240   0efe     MOVLW     0xfe            currentPrecent=precent;                                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
004242   cfdb     MOVFF     0xfdb,0x9b                                                                                      
004244   f09b                                                                                                               
004246   50db     MOVF      0xdb,0x0,0x0    if (precent>100) { currentPrecent=100; }                                        F:\MCP\projects\CAN\canTemp\Source\blinds.c
004248   0864     SUBLW     0x64                                                                                            
00424a   e202     BC        0x4250                                                                                          
00424c   0e64     MOVLW     0x64                                                                                            
00424e   6f9b     MOVWF     0x9b,0x1                                                                                        
004250   0e00     MOVLW     0x0             if (precent<0) { currentPrecent=0; }                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
004252   6ef3     MOVWF     0xf3,0x0                                                                                        
004254   0efe     MOVLW     0xfe                                                                                            
004256   cfdb     MOVFF     0xfdb,0xff4                                                                                     
004258   fff4                                                                                                               
00425a   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00425c   5cf4     SUBWF     0xf4,0x0,0x0                                                                                    
00425e   e201     BC        0x4262                                                                                          
004260   6b9b     CLRF      0x9b,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
004262   0e78     MOVLW     0x78            timerVal=60536-(unsigned int)((90+(-1.05*(signed int)currentPrecent+60))*111.111); F:\MCP\projects\CAN\canTemp\Source\blinds.c
004264   6e03     MOVWF     0x3,0x0                                                                                         
004266   0eec     MOVLW     0xec                                                                                            
004268   6e04     MOVWF     0x4,0x0                                                                                         
00426a   6a05     CLRF      0x5,0x0                                                                                         
00426c   6a0d     CLRF      0xd,0x0                                                                                         
00426e   6a0e     CLRF      0xe,0x0                                                                                         
004270   0eb4     MOVLW     0xb4                                                                                            
004272   6e0f     MOVWF     0xf,0x0                                                                                         
004274   0e42     MOVLW     0x42                                                                                            
004276   6e10     MOVWF     0x10,0x0                                                                                        
004278   0e66     MOVLW     0x66                                                                                            
00427a   6e19     MOVWF     0x19,0x0                                                                                        
00427c   6e1a     MOVWF     0x1a,0x0                                                                                        
00427e   0e86     MOVLW     0x86                                                                                            
004280   6e1b     MOVWF     0x1b,0x0                                                                                        
004282   0ebf     MOVLW     0xbf                                                                                            
004284   6e1c     MOVWF     0x1c,0x0                                                                                        
004286   c09b     MOVFF     0x9b,0x21                                                                                       
004288   f021                                                                                                               
00428a   6a22     CLRF      0x22,0x0                                                                                        
00428c   be21     BTFSC     0x21,0x7,0x0                                                                                    
00428e   6822     SETF      0x22,0x0                                                                                        
004290   c021     MOVFF     0x21,0x2b                                                                                       
004292   f02b                                                                                                               
004294   c022     MOVFF     0x22,0x2c                                                                                       
004296   f02c                                                                                                               
004298   ec41     CALL      0x3682,0x0                                                                                      
00429a   f01b                                                                                                               
00429c   c02a     MOVFF     0x2a,0x1d                                                                                       
00429e   f01d                                                                                                               
0042a0   c02b     MOVFF     0x2b,0x1e                                                                                       
0042a2   f01e                                                                                                               
0042a4   c02c     MOVFF     0x2c,0x1f                                                                                       
0042a6   f01f                                                                                                               
0042a8   c02d     MOVFF     0x2d,0x20                                                                                       
0042aa   f020                                                                                                               
0042ac   c01d     MOVFF     0x1d,0x2f                                                                                       
0042ae   f02f                                                                                                               
0042b0   c01e     MOVFF     0x1e,0x30                                                                                       
0042b2   f030                                                                                                               
0042b4   c01f     MOVFF     0x1f,0x31                                                                                       
0042b6   f031                                                                                                               
0042b8   c020     MOVFF     0x20,0x32                                                                                       
0042ba   f032                                                                                                               
0042bc   c019     MOVFF     0x19,0x2a                                                                                       
0042be   f02a                                                                                                               
0042c0   c01a     MOVFF     0x1a,0x2b                                                                                       
0042c2   f02b                                                                                                               
0042c4   c01b     MOVFF     0x1b,0x2c                                                                                       
0042c6   f02c                                                                                                               
0042c8   c01c     MOVFF     0x1c,0x2d                                                                                       
0042ca   f02d                                                                                                               
0042cc   eceb     CALL      0x37d6,0x0                                                                                      
0042ce   f01b                                                                                                               
0042d0   c02a     MOVFF     0x2a,0x15                                                                                       
0042d2   f015                                                                                                               
0042d4   c02b     MOVFF     0x2b,0x16                                                                                       
0042d6   f016                                                                                                               
0042d8   c02c     MOVFF     0x2c,0x17                                                                                       
0042da   f017                                                                                                               
0042dc   c02d     MOVFF     0x2d,0x18                                                                                       
0042de   f018                                                                                                               
0042e0   6a2f     CLRF      0x2f,0x0                                                                                        
0042e2   6a30     CLRF      0x30,0x0                                                                                        
0042e4   0e70     MOVLW     0x70                                                                                            
0042e6   6e31     MOVWF     0x31,0x0                                                                                        
0042e8   0e42     MOVLW     0x42                                                                                            
0042ea   6e32     MOVWF     0x32,0x0                                                                                        
0042ec   c015     MOVFF     0x15,0x2a                                                                                       
0042ee   f02a                                                                                                               
0042f0   c016     MOVFF     0x16,0x2b                                                                                       
0042f2   f02b                                                                                                               
0042f4   c017     MOVFF     0x17,0x2c                                                                                       
0042f6   f02c                                                                                                               
0042f8   c018     MOVFF     0x18,0x2d                                                                                       
0042fa   f02d                                                                                                               
0042fc   ec55     CALL      0x36aa,0x0                                                                                      
0042fe   f01b                                                                                                               
004300   c02a     MOVFF     0x2a,0x11                                                                                       
004302   f011                                                                                                               
004304   c02b     MOVFF     0x2b,0x12                                                                                       
004306   f012                                                                                                               
004308   c02c     MOVFF     0x2c,0x13                                                                                       
00430a   f013                                                                                                               
00430c   c02d     MOVFF     0x2d,0x14                                                                                       
00430e   f014                                                                                                               
004310   c011     MOVFF     0x11,0x2f                                                                                       
004312   f02f                                                                                                               
004314   c012     MOVFF     0x12,0x30                                                                                       
004316   f030                                                                                                               
004318   c013     MOVFF     0x13,0x31                                                                                       
00431a   f031                                                                                                               
00431c   c014     MOVFF     0x14,0x32                                                                                       
00431e   f032                                                                                                               
004320   c00d     MOVFF     0xd,0x2a                                                                                        
004322   f02a                                                                                                               
004324   c00e     MOVFF     0xe,0x2b                                                                                        
004326   f02b                                                                                                               
004328   c00f     MOVFF     0xf,0x2c                                                                                        
00432a   f02c                                                                                                               
00432c   c010     MOVFF     0x10,0x2d                                                                                       
00432e   f02d                                                                                                               
004330   ec55     CALL      0x36aa,0x0                                                                                      
004332   f01b                                                                                                               
004334   c02a     MOVFF     0x2a,0x9                                                                                        
004336   f009                                                                                                               
004338   c02b     MOVFF     0x2b,0xa                                                                                        
00433a   f00a                                                                                                               
00433c   c02c     MOVFF     0x2c,0xb                                                                                        
00433e   f00b                                                                                                               
004340   c02d     MOVFF     0x2d,0xc                                                                                        
004342   f00c                                                                                                               
004344   0ed5     MOVLW     0xd5                                                                                            
004346   6e2f     MOVWF     0x2f,0x0                                                                                        
004348   0e38     MOVLW     0x38                                                                                            
00434a   6e30     MOVWF     0x30,0x0                                                                                        
00434c   0ede     MOVLW     0xde                                                                                            
00434e   6e31     MOVWF     0x31,0x0                                                                                        
004350   0e42     MOVLW     0x42                                                                                            
004352   6e32     MOVWF     0x32,0x0                                                                                        
004354   c009     MOVFF     0x9,0x2a                                                                                        
004356   f02a                                                                                                               
004358   c00a     MOVFF     0xa,0x2b                                                                                        
00435a   f02b                                                                                                               
00435c   c00b     MOVFF     0xb,0x2c                                                                                        
00435e   f02c                                                                                                               
004360   c00c     MOVFF     0xc,0x2d                                                                                        
004362   f02d                                                                                                               
004364   eceb     CALL      0x37d6,0x0                                                                                      
004366   f01b                                                                                                               
004368   ecab     CALL      0x3956,0x0                                                                                      
00436a   f01c                                                                                                               
00436c   c02b     MOVFF     0x2b,0x6                                                                                        
00436e   f006                                                                                                               
004370   c02c     MOVFF     0x2c,0x7                                                                                        
004372   f007                                                                                                               
004374   6a08     CLRF      0x8,0x0                                                                                         
004376   5006     MOVF      0x6,0x0,0x0                                                                                     
004378   5c03     SUBWF     0x3,0x0,0x0                                                                                     
00437a   6e00     MOVWF     0x0,0x0                                                                                         
00437c   5007     MOVF      0x7,0x0,0x0                                                                                     
00437e   5804     SUBWFB    0x4,0x0,0x0                                                                                     
004380   6e01     MOVWF     0x1,0x0                                                                                         
004382   5008     MOVF      0x8,0x0,0x0                                                                                     
004384   5805     SUBWFB    0x5,0x0,0x0                                                                                     
004386   6e02     MOVWF     0x2,0x0                                                                                         
004388   c000     MOVFF     0x0,0x97                                                                                        
00438a   f097                                                                                                               
00438c   c001     MOVFF     0x1,0x98                                                                                        
00438e   f098                                                                                                               
004390   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
004392   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
004394   ffd9                                                                                                               
004396   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: 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
004398   509e     MOVF      0x9e,0x0,0x0    if (PIR1bits.TMR1IF == 1 && PIE1bits.TMR1IE == 1)                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
00439a   0b01     ANDLW     0x1                                                                                             
00439c   e020     BZ        0x43de                                                                                          
00439e   509d     MOVF      0x9d,0x0,0x0                                                                                    
0043a0   0b01     ANDLW     0x1                                                                                             
0043a2   e01d     BZ        0x43de                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043a4   0e00     MOVLW     0x0                 TMR1H=((timerVal&0xFF00)>>8);                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043a6   0100     MOVLB     0x0                                                                                             
0043a8   1597     ANDWF     0x97,0x0,0x1                                                                                    
0043aa   6e00     MOVWF     0x0,0x0                                                                                         
0043ac   0eff     MOVLW     0xff                                                                                            
0043ae   1598     ANDWF     0x98,0x0,0x1                                                                                    
0043b0   6e01     MOVWF     0x1,0x0                                                                                         
0043b2   c001     MOVFF     0x1,0x0                                                                                         
0043b4   f000                                                                                                               
0043b6   6a01     CLRF      0x1,0x0                                                                                         
0043b8   5000     MOVF      0x0,0x0,0x0                                                                                     
0043ba   6ecf     MOVWF     0xcf,0x0                                                                                        
0043bc   5197     MOVF      0x97,0x0,0x1        TMR1L=(timerVal&0xFF);                                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043be   6ece     MOVWF     0xce,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043c0   7882     BTG       0x82,0x4,0x0        BLINDS0_IO=~BLINDS0_IO;                                                        F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043c2   c099     MOVFF     0x99,0x0            if (turnOffIO--<1)                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043c4   f000                                                                                                               
0043c6   c09a     MOVFF     0x9a,0x1                                                                                        
0043c8   f001                                                                                                               
0043ca   0799     DECF      0x99,0x1,0x1                                                                                    
0043cc   0e00     MOVLW     0x0                                                                                             
0043ce   5b9a     SUBWFB    0x9a,0x1,0x1                                                                                    
0043d0   0e01     MOVLW     0x1                                                                                             
0043d2   5c00     SUBWF     0x0,0x0,0x0                                                                                     
0043d4   0e00     MOVLW     0x0                                                                                             
0043d6   5801     SUBWFB    0x1,0x0,0x0                                                                                     
0043d8   e201     BC        0x43dc                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043da   9a82     BCF       0x82,0x5,0x0            BLINDS0P_IO=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
0043dc   909e     BCF       0x9e,0x0,0x0        PIR1bits.TMR1IF = 0;                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043de   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