Subversion Repositories HomeAutomation

Rev

Rev 342 | 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: Thu Mar 01 14:31:57 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-26 21:38:37 +0100 (må, 26 feb 2007) $ F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            * Revision:     $Revision: 342 $                                                   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   ec20     CALL      0x4640,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0030a6   f023                                                                                                               
                                                                                                                            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   ec1f     CALL      0x443e,0x0                                                                                      
0030b0   f022                                                                                                               
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   ec1f     CALL      0x443e,0x0                                                                                      
0030c2   f022                                                                                                               
0030c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030c6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030c8   0100     MOVLB     0x0                                                                                             
0030ca   6fa1     MOVWF     0xa1,0x1                                                                                        
0030cc   6ba2     CLRF      0xa2,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   6f6d     MOVWF     0x6d,0x1        outCp.data[0]=(BYTE)(APP_VERSION & 0xFF);                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0030e2   0e02     MOVLW     0x2             while(!canSendMessage(outCp,PRIO_HIGH));                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0030e4   6ee6     MOVWF     0xe6,0x0                                                                                        
0030e6   c064     MOVFF     0x64,0xfe6                                                                                      
0030e8   ffe6                                                                                                               
0030ea   c065     MOVFF     0x65,0xfe6                                                                                      
0030ec   ffe6                                                                                                               
0030ee   c066     MOVFF     0x66,0xfe6                                                                                      
0030f0   ffe6                                                                                                               
0030f2   c067     MOVFF     0x67,0xfe6                                                                                      
0030f4   ffe6                                                                                                               
0030f6   c068     MOVFF     0x68,0xfe6                                                                                      
0030f8   ffe6                                                                                                               
0030fa   c069     MOVFF     0x69,0xfe6                                                                                      
0030fc   ffe6                                                                                                               
0030fe   c06a     MOVFF     0x6a,0xfe6                                                                                      
003100   ffe6                                                                                                               
003102   c06b     MOVFF     0x6b,0xfe6                                                                                      
003104   ffe6                                                                                                               
003106   c06c     MOVFF     0x6c,0xfe6                                                                                      
003108   ffe6                                                                                                               
00310a   c06d     MOVFF     0x6d,0xfe6                                                                                      
00310c   ffe6                                                                                                               
00310e   c06e     MOVFF     0x6e,0xfe6                                                                                      
003110   ffe6                                                                                                               
003112   c06f     MOVFF     0x6f,0xfe6                                                                                      
003114   ffe6                                                                                                               
003116   c070     MOVFF     0x70,0xfe6                                                                                      
003118   ffe6                                                                                                               
00311a   c071     MOVFF     0x71,0xfe6                                                                                      
00311c   ffe6                                                                                                               
00311e   c072     MOVFF     0x72,0xfe6                                                                                      
003120   ffe6                                                                                                               
003122   c073     MOVFF     0x73,0xfe6                                                                                      
003124   ffe6                                                                                                               
003126   c074     MOVFF     0x74,0xfe6                                                                                      
003128   ffe6                                                                                                               
00312a   d9cb     RCALL     0x34c2                                                                                          
00312c   6e00     MOVWF     0x0,0x0                                                                                         
00312e   0e12     MOVLW     0x12                                                                                            
003130   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003132   5000     MOVF      0x0,0x0,0x0                                                                                     
003134   0900     IORLW     0x0                                                                                             
003136   e101     BNZ       0x313a                                                                                          
003138   d7d4     BRA       0x30e2                                                                                          
00313a   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
00313c   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00313e   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
003140   0b02     ANDLW     0x2                                                                                             
003142   e106     BNZ       0x3150                                                                                          
003144   50a4     MOVF      0xa4,0x0,0x0                                                                                    
003146   0b02     ANDLW     0x2                                                                                             
003148   e103     BNZ       0x3150                                                                                          
00314a   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00314c   0b01     ANDLW     0x1                                                                                             
00314e   e016     BZ        0x317c                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003150   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
003152   146f     ANDWF     0x6f,0x0,0x0                                                                                    
003154   0910     IORLW     0x10                                                                                            
003156   6e00     MOVWF     0x0,0x0                                                                                         
003158   0e00     MOVLW     0x0                                                                                             
00315a   1477     ANDWF     0x77,0x0,0x0                                                                                    
00315c   1000     IORWF     0x0,0x0,0x0                                                                                     
00315e   6e77     MOVWF     0x77,0x0                                                                                        
003160   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003162   d869     RCALL     0x3236                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003164   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003166   d002     BRA       0x316c                                                                                          
003168   92a4     BCF       0xa4,0x1,0x0                                                                                    
00316a   d064     BRA       0x3234                                                                                          
00316c   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00316e   d002     BRA       0x3174                                                                                          
003170   92a4     BCF       0xa4,0x1,0x0                                                                                    
003172   d060     BRA       0x3234                                                                                          
003174   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003176   d002     BRA       0x317c                                                                                          
003178   90a4     BCF       0xa4,0x0,0x0                                                                                    
00317a   d05c     BRA       0x3234                                                                                          
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00317c   ec34     CALL      0x4668,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00317e   f023                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003180   ec2a     CALL      0x4654,0x0      if ((tickGet()-heartbeat)>TICK_SECOND*5)                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
003182   f023                                                                                                               
003184   0100     MOVLB     0x0                                                                                             
003186   5160     MOVF      0x60,0x0,0x1                                                                                    
003188   5c29     SUBWF     0x29,0x0,0x0                                                                                    
00318a   6e00     MOVWF     0x0,0x0                                                                                         
00318c   0100     MOVLB     0x0                                                                                             
00318e   5161     MOVF      0x61,0x0,0x1                                                                                    
003190   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
003192   6e01     MOVWF     0x1,0x0                                                                                         
003194   0100     MOVLB     0x0                                                                                             
003196   5162     MOVF      0x62,0x0,0x1                                                                                    
003198   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
00319a   6e02     MOVWF     0x2,0x0                                                                                         
00319c   0100     MOVLB     0x0                                                                                             
00319e   5163     MOVF      0x63,0x0,0x1                                                                                    
0031a0   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
0031a2   6e03     MOVWF     0x3,0x0                                                                                         
0031a4   80d8     BSF       0xd8,0x0,0x0                                                                                    
0031a6   0ef4     MOVLW     0xf4                                                                                            
0031a8   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0031aa   0e01     MOVLW     0x1                                                                                             
0031ac   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0031ae   0e00     MOVLW     0x0                                                                                             
0031b0   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0031b2   0e00     MOVLW     0x0                                                                                             
0031b4   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0031b6   e23e     BC        0x3234                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Send alive heartbeat                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0031b8   0100     MOVLB     0x0                 outCp.type=ptPGM;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0031ba   0e01     MOVLW     0x1                                                                                             
0031bc   6f64     MOVWF     0x64,0x1                                                                                        
0031be   0100     MOVLB     0x0                 outCp.pgm.class=pcCTRL;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0031c0   6b65     CLRF      0x65,0x1                                                                                        
0031c2   0e02     MOVLW     0x2                 outCp.pgm.id=pctHEARTBEAT;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0031c4   0100     MOVLB     0x0                                                                                             
0031c6   6f66     MOVWF     0x66,0x1                                                                                        
0031c8   6b67     CLRF      0x67,0x1                                                                                        
0031ca   0100     MOVLB     0x0                 outCp.length=0;                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0031cc   6b6c     CLRF      0x6c,0x1                                                                                        
0031ce   0e02     MOVLW     0x2                 canSendMessage(outCp,PRIO_HIGH);                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0031d0   6ee6     MOVWF     0xe6,0x0                                                                                        
0031d2   c064     MOVFF     0x64,0xfe6                                                                                      
0031d4   ffe6                                                                                                               
0031d6   c065     MOVFF     0x65,0xfe6                                                                                      
0031d8   ffe6                                                                                                               
0031da   c066     MOVFF     0x66,0xfe6                                                                                      
0031dc   ffe6                                                                                                               
0031de   c067     MOVFF     0x67,0xfe6                                                                                      
0031e0   ffe6                                                                                                               
0031e2   c068     MOVFF     0x68,0xfe6                                                                                      
0031e4   ffe6                                                                                                               
0031e6   c069     MOVFF     0x69,0xfe6                                                                                      
0031e8   ffe6                                                                                                               
0031ea   c06a     MOVFF     0x6a,0xfe6                                                                                      
0031ec   ffe6                                                                                                               
0031ee   c06b     MOVFF     0x6b,0xfe6                                                                                      
0031f0   ffe6                                                                                                               
0031f2   c06c     MOVFF     0x6c,0xfe6                                                                                      
0031f4   ffe6                                                                                                               
0031f6   c06d     MOVFF     0x6d,0xfe6                                                                                      
0031f8   ffe6                                                                                                               
0031fa   c06e     MOVFF     0x6e,0xfe6                                                                                      
0031fc   ffe6                                                                                                               
0031fe   c06f     MOVFF     0x6f,0xfe6                                                                                      
003200   ffe6                                                                                                               
003202   c070     MOVFF     0x70,0xfe6                                                                                      
003204   ffe6                                                                                                               
003206   c071     MOVFF     0x71,0xfe6                                                                                      
003208   ffe6                                                                                                               
00320a   c072     MOVFF     0x72,0xfe6                                                                                      
00320c   ffe6                                                                                                               
00320e   c073     MOVFF     0x73,0xfe6                                                                                      
003210   ffe6                                                                                                               
003212   c074     MOVFF     0x74,0xfe6                                                                                      
003214   ffe6                                                                                                               
003216   d955     RCALL     0x34c2                                                                                          
003218   6e00     MOVWF     0x0,0x0                                                                                         
00321a   0e12     MOVLW     0x12                                                                                            
00321c   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00321e   5000     MOVF      0x0,0x0,0x0                                                                                     
                                                                                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
003220   ec2a     CALL      0x4654,0x0          heartbeat = tickGet();                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003222   f023                                                                                                               
003224   c029     MOVFF     0x29,0x60                                                                                       
003226   f060                                                                                                               
003228   c02a     MOVFF     0x2a,0x61                                                                                       
00322a   f061                                                                                                               
00322c   c02b     MOVFF     0x2b,0x62                                                                                       
00322e   f062                                                                                                               
003230   c02c     MOVFF     0x2c,0x63                                                                                       
003232   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
003234   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
003236   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003238   ffe6                                                                                                               
00323a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00323c   ffd9                                                                                                               
00323e   0e11     MOVLW     0x11                                                                                            
003240   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
003242   0e06     MOVLW     0x6                 cp.type = (BYTE)((RXB0SIDH&0xC0)>>6);                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003244   6e00     MOVWF     0x0,0x0                                                                                         
003246   0ec0     MOVLW     0xc0                                                                                            
003248   1461     ANDWF     0x61,0x0,0x0                                                                                    
00324a   c000     MOVFF     0x0,0xfe7                                                                                       
00324c   ffe7                                                                                                               
00324e   52e7     MOVF      0xe7,0x1,0x0                                                                                    
003250   e004     BZ        0x325a                                                                                          
003252   42e8     RRNCF     0xe8,0x1,0x0                                                                                    
003254   0b7f     ANDLW     0x7f                                                                                            
003256   06e7     DECF      0xe7,0x1,0x0                                                                                    
003258   e1fc     BNZ       0x3252                                                                                          
00325a   6edf     MOVWF     0xdf,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00325c   50df     MOVF      0xdf,0x0,0x0        if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00325e   e122     BNZ       0x32a4                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003260   0e38     MOVLW     0x38                    cp.boot.type  = ((RXB0SIDH&0x38)>>3);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003262   1461     ANDWF     0x61,0x0,0x0                                                                                    
003264   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003266   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003268   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00326a   0b1f     ANDLW     0x1f                                                                                            
00326c   6ee7     MOVWF     0xe7,0x0                                                                                        
00326e   0e04     MOVLW     0x4                                                                                             
003270   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003272   ffdb                                                                                                               
003274   0e03     MOVLW     0x3                     cp.boot.offset= ((RXB0SIDH&0x7)<<5)+((RXB0SIDL&0xE0)>>3)+(RXB0SIDL&0x3);      F:\MCP\projects\CAN\canBase\Source\CAN.c
003276   1462     ANDWF     0x62,0x0,0x0                                                                                    
003278   6e01     MOVWF     0x1,0x0                                                                                         
00327a   0ee0     MOVLW     0xe0                                                                                            
00327c   1462     ANDWF     0x62,0x0,0x0                                                                                    
00327e   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003280   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003282   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003284   0b1f     ANDLW     0x1f                                                                                            
003286   6e00     MOVWF     0x0,0x0                                                                                         
003288   0e07     MOVLW     0x7                                                                                             
00328a   1461     ANDWF     0x61,0x0,0x0                                                                                    
00328c   0d20     MULLW     0x20                                                                                            
00328e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003290   2400     ADDWF     0x0,0x0,0x0                                                                                     
003292   2401     ADDWF     0x1,0x0,0x0                                                                                     
003294   6ee7     MOVWF     0xe7,0x0                                                                                        
003296   0e05     MOVLW     0x5                                                                                             
003298   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00329a   ffdb                                                                                                               
00329c   0e06     MOVLW     0x6                     cp.boot.rid   = RXB0EIDH;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
00329e   cf63     MOVFF     0xf63,0xfdb                                                                                     
0032a0   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0032a2   d03c     BRA       0x331c              else                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0032a4   0e3c     MOVLW     0x3c                    cp.pgm.class= ((RXB0SIDH&0x3C)>>2);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0032a6   1461     ANDWF     0x61,0x0,0x0                                                                                    
0032a8   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0032aa   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0032ac   0b3f     ANDLW     0x3f                                                                                            
0032ae   6ee7     MOVWF     0xe7,0x0                                                                                        
0032b0   0e01     MOVLW     0x1                                                                                             
0032b2   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0032b4   ffdb                                                                                                               
0032b6   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
0032b8   1461     ANDWF     0x61,0x0,0x0                                                                                    
0032ba   6e06     MOVWF     0x6,0x0                                                                                         
0032bc   6a07     CLRF      0x7,0x0                                                                                         
0032be   3806     SWAPF     0x6,0x0,0x0                                                                                     
0032c0   6a06     CLRF      0x6,0x0                                                                                         
0032c2   34e8     RLCF      0xe8,0x0,0x0                                                                                    
0032c4   0be0     ANDLW     0xe0                                                                                            
0032c6   6e07     MOVWF     0x7,0x0                                                                                         
0032c8   0ee0     MOVLW     0xe0                                                                                            
0032ca   1462     ANDWF     0x62,0x0,0x0                                                                                    
0032cc   6e08     MOVWF     0x8,0x0                                                                                         
0032ce   6a09     CLRF      0x9,0x0                                                                                         
0032d0   0e05     MOVLW     0x5                                                                                             
0032d2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0032d4   3608     RLCF      0x8,0x1,0x0                                                                                     
0032d6   3609     RLCF      0x9,0x1,0x0                                                                                     
0032d8   04e8     DECF      0xe8,0x0,0x0                                                                                    
0032da   e1fb     BNZ       0x32d2                                                                                          
0032dc   5006     MOVF      0x6,0x0,0x0                                                                                     
0032de   2408     ADDWF     0x8,0x0,0x0                                                                                     
0032e0   6e04     MOVWF     0x4,0x0                                                                                         
0032e2   5007     MOVF      0x7,0x0,0x0                                                                                     
0032e4   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0032e6   6e05     MOVWF     0x5,0x0                                                                                         
0032e8   0e03     MOVLW     0x3                                                                                             
0032ea   1462     ANDWF     0x62,0x0,0x0                                                                                    
0032ec   6e0a     MOVWF     0xa,0x0                                                                                         
0032ee   6a0b     CLRF      0xb,0x0                                                                                         
0032f0   c00a     MOVFF     0xa,0xb                                                                                         
0032f2   f00b                                                                                                               
0032f4   6a0a     CLRF      0xa,0x0                                                                                         
0032f6   5004     MOVF      0x4,0x0,0x0                                                                                     
0032f8   240a     ADDWF     0xa,0x0,0x0                                                                                     
0032fa   6e02     MOVWF     0x2,0x0                                                                                         
0032fc   5005     MOVF      0x5,0x0,0x0                                                                                     
0032fe   200b     ADDWFC    0xb,0x0,0x0                                                                                     
003300   6e03     MOVWF     0x3,0x0                                                                                         
003302   5063     MOVF      0x63,0x0,0x0                                                                                    
003304   0100     MOVLB     0x0                                                                                             
003306   2402     ADDWF     0x2,0x0,0x0                                                                                     
003308   6e00     MOVWF     0x0,0x0                                                                                         
00330a   0e00     MOVLW     0x0                                                                                             
00330c   2003     ADDWFC    0x3,0x0,0x0                                                                                     
00330e   6e01     MOVWF     0x1,0x0                                                                                         
003310   0e02     MOVLW     0x2                                                                                             
003312   c000     MOVFF     0x0,0xfdb                                                                                       
003314   ffdb                                                                                                               
003316   0e03     MOVLW     0x3                                                                                             
003318   c001     MOVFF     0x1,0xfdb                                                                                       
00331a   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00331c   0e07     MOVLW     0x7                 cp.sid   = RXB0EIDL;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00331e   cf64     MOVFF     0xf64,0xfdb                                                                                     
003320   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
003322   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
003324   0b01     ANDLW     0x1                                                                                             
003326   6e02     MOVWF     0x2,0x0                                                                                         
003328   5065     MOVF      0x65,0x0,0x0                                                                                    
00332a   0b02     ANDLW     0x2                                                                                             
00332c   e001     BZ        0x3330                                                                                          
00332e   0e01     MOVLW     0x1                                                                                             
003330   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
003332   6e01     MOVWF     0x1,0x0                                                                                         
003334   5065     MOVF      0x65,0x0,0x0                                                                                    
003336   0b04     ANDLW     0x4                                                                                             
003338   e001     BZ        0x333c                                                                                          
00333a   0e01     MOVLW     0x1                                                                                             
00333c   0d04     MULLW     0x4                                                                                             
00333e   cff3     MOVFF     0xff3,0x0                                                                                       
003340   f000                                                                                                               
003342   5065     MOVF      0x65,0x0,0x0                                                                                    
003344   0b08     ANDLW     0x8                                                                                             
003346   e001     BZ        0x334a                                                                                          
003348   0e01     MOVLW     0x1                                                                                             
00334a   0d08     MULLW     0x8                                                                                             
00334c   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00334e   2400     ADDWF     0x0,0x0,0x0                                                                                     
003350   2401     ADDWF     0x1,0x0,0x0                                                                                     
003352   2402     ADDWF     0x2,0x0,0x0                                                                                     
003354   6ee7     MOVWF     0xe7,0x0                                                                                        
003356   0e08     MOVLW     0x8                                                                                             
003358   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00335a   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00335c   0e09     MOVLW     0x9                 cp.data[0]=RXB0D0;  cp.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00335e   cf66     MOVFF     0xf66,0xfdb                                                                                     
003360   ffdb                                                                                                               
003362   0e0a     MOVLW     0xa                                                                                             
003364   cf67     MOVFF     0xf67,0xfdb                                                                                     
003366   ffdb                                                                                                               
003368   0e0b     MOVLW     0xb                 cp.data[2]=RXB0D2;  cp.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00336a   cf68     MOVFF     0xf68,0xfdb                                                                                     
00336c   ffdb                                                                                                               
00336e   0e0c     MOVLW     0xc                                                                                             
003370   cf69     MOVFF     0xf69,0xfdb                                                                                     
003372   ffdb                                                                                                               
003374   0e0d     MOVLW     0xd                 cp.data[4]=RXB0D4;  cp.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003376   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
003378   ffdb                                                                                                               
00337a   0e0e     MOVLW     0xe                                                                                             
00337c   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
00337e   ffdb                                                                                                               
003380   0e0f     MOVLW     0xf                 cp.data[6]=RXB0D6;  cp.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003382   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
003384   ffdb                                                                                                               
003386   0e10     MOVLW     0x10                                                                                            
003388   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
00338a   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00338c   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
00338e   50df     MOVF      0xdf,0x0,0x0        if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
003390   e160     BNZ       0x3452                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003392   0e06     MOVLW     0x6                     if (cp.boot.rid==MY_ID)                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
003394   50db     MOVF      0xdb,0x0,0x0                                                                                    
003396   6e00     MOVWF     0x0,0x0                                                                                         
003398   6a01     CLRF      0x1,0x0                                                                                         
00339a   0100     MOVLB     0x0                                                                                             
00339c   51a1     MOVF      0xa1,0x0,0x1                                                                                    
00339e   1800     XORWF     0x0,0x0,0x0                                                                                     
0033a0   e102     BNZ       0x33a6                                                                                          
0033a2   51a2     MOVF      0xa2,0x0,0x1                                                                                    
0033a4   1801     XORWF     0x1,0x0,0x0                                                                                     
0033a6   e155     BNZ       0x3452                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0033a8   0e04     MOVLW     0x4                         if (cp.boot.type==btADDR) Reset(); // Reset me.                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0033aa   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033ac   e101     BNZ       0x33b0                                                                                          
0033ae   00ff     RESET                                                                                                     
0033b0   0e04     MOVLW     0x4                         if (cp.boot.type==btCHANGEID)                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0033b2   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033b4   0807     SUBLW     0x7                                                                                             
0033b6   e14d     BNZ       0x3452                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
0033b8   0e09     MOVLW     0x9                                 MY_ID=cp.data[0];                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0033ba   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033bc   0100     MOVLB     0x0                                                                                             
0033be   6fa1     MOVWF     0xa1,0x1                                                                                        
0033c0   6ba2     CLRF      0xa2,0x1                                                                                        
0033c2   0e09     MOVLW     0x9                                 EEWrite(NODE_ID_EE+1,cp.data[0]);                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0033c4   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0033c6   ffe6                                                                                                               
0033c8   0e01     MOVLW     0x1                                                                                             
0033ca   6ee6     MOVWF     0xe6,0x0                                                                                        
0033cc   6ae6     CLRF      0xe6,0x0                                                                                        
0033ce   ec44     CALL      0x4488,0x0                                                                                      
0033d0   f022                                                                                                               
0033d2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033d4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033d6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033d8   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0033da   6ee6     MOVWF     0xe6,0x0                                                                                        
0033dc   0e00     MOVLW     0x0                                                                                             
0033de   6ee6     MOVWF     0xe6,0x0                                                                                        
0033e0   6ae6     CLRF      0xe6,0x0                                                                                        
0033e2   ec44     CALL      0x4488,0x0                                                                                      
0033e4   f022                                                                                                               
0033e6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033e8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033ea   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0033ec   0100     MOVLB     0x0                                 outCp.type=ptBOOT;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0033ee   6b64     CLRF      0x64,0x1                                                                                        
0033f0   0100     MOVLB     0x0                                 outCp.boot.type=btACK;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0033f2   0e04     MOVLW     0x4                                                                                             
0033f4   6f68     MOVWF     0x68,0x1                                                                                        
0033f6   0100     MOVLB     0x0                                 outCp.length=0;                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0033f8   6b6c     CLRF      0x6c,0x1                                                                                        
0033fa   0e02     MOVLW     0x2                                 while(!canSendMessage(outCp,PRIO_HIGH));                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0033fc   6ee6     MOVWF     0xe6,0x0                                                                                        
0033fe   c064     MOVFF     0x64,0xfe6                                                                                      
003400   ffe6                                                                                                               
003402   c065     MOVFF     0x65,0xfe6                                                                                      
003404   ffe6                                                                                                               
003406   c066     MOVFF     0x66,0xfe6                                                                                      
003408   ffe6                                                                                                               
00340a   c067     MOVFF     0x67,0xfe6                                                                                      
00340c   ffe6                                                                                                               
00340e   c068     MOVFF     0x68,0xfe6                                                                                      
003410   ffe6                                                                                                               
003412   c069     MOVFF     0x69,0xfe6                                                                                      
003414   ffe6                                                                                                               
003416   c06a     MOVFF     0x6a,0xfe6                                                                                      
003418   ffe6                                                                                                               
00341a   c06b     MOVFF     0x6b,0xfe6                                                                                      
00341c   ffe6                                                                                                               
00341e   c06c     MOVFF     0x6c,0xfe6                                                                                      
003420   ffe6                                                                                                               
003422   c06d     MOVFF     0x6d,0xfe6                                                                                      
003424   ffe6                                                                                                               
003426   c06e     MOVFF     0x6e,0xfe6                                                                                      
003428   ffe6                                                                                                               
00342a   c06f     MOVFF     0x6f,0xfe6                                                                                      
00342c   ffe6                                                                                                               
00342e   c070     MOVFF     0x70,0xfe6                                                                                      
003430   ffe6                                                                                                               
003432   c071     MOVFF     0x71,0xfe6                                                                                      
003434   ffe6                                                                                                               
003436   c072     MOVFF     0x72,0xfe6                                                                                      
003438   ffe6                                                                                                               
00343a   c073     MOVFF     0x73,0xfe6                                                                                      
00343c   ffe6                                                                                                               
00343e   c074     MOVFF     0x74,0xfe6                                                                                      
003440   ffe6                                                                                                               
003442   d83f     RCALL     0x34c2                                                                                          
003444   6e00     MOVWF     0x0,0x0                                                                                         
003446   0e12     MOVLW     0x12                                                                                            
003448   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00344a   5000     MOVF      0x0,0x0,0x0                                                                                     
00344c   0900     IORLW     0x0                                                                                             
00344e   e101     BNZ       0x3452                                                                                          
003450   d7d4     BRA       0x33fa                                                                                          
                                                        }                                                                            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
003452   04df     DECF      0xdf,0x0,0x0        if (cp.type==ptPGM) canParse(cp);                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003454   e12c     BNZ       0x34ae                                                                                          
003456   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
003458   ffe9                                                                                                               
00345a   cfda     MOVFF     0xfda,0xfea                                                                                     
00345c   ffea                                                                                                               
00345e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003460   ffe6                                                                                                               
003462   cfee     MOVFF     0xfee,0xfe6                                                                                     
003464   ffe6                                                                                                               
003466   cfee     MOVFF     0xfee,0xfe6                                                                                     
003468   ffe6                                                                                                               
00346a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00346c   ffe6                                                                                                               
00346e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003470   ffe6                                                                                                               
003472   cfee     MOVFF     0xfee,0xfe6                                                                                     
003474   ffe6                                                                                                               
003476   cfee     MOVFF     0xfee,0xfe6                                                                                     
003478   ffe6                                                                                                               
00347a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00347c   ffe6                                                                                                               
00347e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003480   ffe6                                                                                                               
003482   cfee     MOVFF     0xfee,0xfe6                                                                                     
003484   ffe6                                                                                                               
003486   cfee     MOVFF     0xfee,0xfe6                                                                                     
003488   ffe6                                                                                                               
00348a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00348c   ffe6                                                                                                               
00348e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003490   ffe6                                                                                                               
003492   cfee     MOVFF     0xfee,0xfe6                                                                                     
003494   ffe6                                                                                                               
003496   cfee     MOVFF     0xfee,0xfe6                                                                                     
003498   ffe6                                                                                                               
00349a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00349c   ffe6                                                                                                               
00349e   cfee     MOVFF     0xfee,0xfe6                                                                                     
0034a0   ffe6                                                                                                               
0034a2   ec5d     CALL      0x3eba,0x0                                                                                      
0034a4   f01f                                                                                                               
0034a6   6e00     MOVWF     0x0,0x0                                                                                         
0034a8   0e11     MOVLW     0x11                                                                                            
0034aa   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0034ac   5000     MOVF      0x0,0x0,0x0                                                                                     
0034ae   0e11     MOVLW     0x11           }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0034b0   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0034b2   e202     BC        0x34b8                                                                                          
0034b4   6ae1     CLRF      0xe1,0x0                                                                                        
0034b6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0034b8   6ee1     MOVWF     0xe1,0x0                                                                                        
0034ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0034bc   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0034be   ffd9                                                                                                               
0034c0   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
0034c2   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PACKET cp, CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034c4   ffe6                                                                                                               
0034c6   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0034c8   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034ca   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034cc   b740     BTFSC     0x40,0x3,0x1                                                                                    
0034ce   d004     BRA       0x34d8                                                                                          
0034d0   0e00     MOVLW     0x0                                                                                             
0034d2   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034d4   0903     IORLW     0x3                                                                                             
0034d6   6e77     MOVWF     0x77,0x0                                                                                        
0034d8   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034da   b730     BTFSC     0x30,0x3,0x1                                                                                    
0034dc   d004     BRA       0x34e6                                                                                          
0034de   0e00     MOVLW     0x0                                                                                             
0034e0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034e2   0904     IORLW     0x4                                                                                             
0034e4   6e77     MOVWF     0x77,0x0                                                                                        
0034e6   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034e8   b720     BTFSC     0x20,0x3,0x1                                                                                    
0034ea   d005     BRA       0x34f6                                                                                          
0034ec   0e00     MOVLW     0x0                                                                                             
0034ee   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034f0   0905     IORLW     0x5                                                                                             
0034f2   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0034f4   d002     BRA       0x34fa          else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034f6   0e00     MOVLW     0x0                                                                                             
0034f8   d0bd     BRA       0x3674                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034fa   0eed     MOVLW     0xed            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0034fc   cfdb     MOVFF     0xfdb,0x0                                                                                       
0034fe   f000                                                                                                               
003500   3400     RLCF      0x0,0x0,0x0                                                                                     
003502   e20e     BC        0x3520                                                                                          
003504   0eed     MOVLW     0xed                                                                                            
003506   cfdb     MOVFF     0xfdb,0x1                                                                                       
003508   f001                                                                                                               
00350a   0e03     MOVLW     0x3                                                                                             
00350c   6ee7     MOVWF     0xe7,0x0                                                                                        
00350e   1801     XORWF     0x1,0x0,0x0                                                                                     
003510   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
003512   d002     BRA       0x3518                                                                                          
003514   3401     RLCF      0x1,0x0,0x0                                                                                     
003516   d003     BRA       0x351e                                                                                          
003518   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00351a   80d8     BSF       0xd8,0x0,0x0                                                                                    
00351c   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00351e   e202     BC        0x3524                                                                                          
003520   0eed     MOVLW     0xed                                                                                            
003522   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
003524   0eee     MOVLW     0xee            if (cp.type==ptBOOT)                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003526   50db     MOVF      0xdb,0x0,0x0                                                                                    
003528   e124     BNZ       0x3572                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00352a   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
00352c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00352e   0be0     ANDLW     0xe0                                                                                            
003530   0be0     ANDLW     0xe0                                                                                            
003532   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
003534   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003536   6e01     MOVWF     0x1,0x0                                                                                         
003538   0ef2     MOVLW     0xf2                                                                                            
00353a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00353c   0b07     ANDLW     0x7                                                                                             
00353e   0d08     MULLW     0x8                                                                                             
003540   cff3     MOVFF     0xff3,0x0                                                                                       
003542   f000                                                                                                               
003544   0eee     MOVLW     0xee                                                                                            
003546   50db     MOVF      0xdb,0x0,0x0                                                                                    
003548   0b03     ANDLW     0x3                                                                                             
00354a   0d40     MULLW     0x40                                                                                            
00354c   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00354e   2400     ADDWF     0x0,0x0,0x0                                                                                     
003550   2401     ADDWF     0x1,0x0,0x0                                                                                     
003552   6e61     MOVWF     0x61,0x0                                                                                        
003554   0ef3     MOVLW     0xf3                RXB0SIDL = ((cp.boot.offset&0x1C)<<3)+(cp.boot.offset&0x3);                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003556   50db     MOVF      0xdb,0x0,0x0                                                                                    
003558   0b03     ANDLW     0x3                                                                                             
00355a   6e00     MOVWF     0x0,0x0                                                                                         
00355c   0ef3     MOVLW     0xf3                                                                                            
00355e   50db     MOVF      0xdb,0x0,0x0                                                                                    
003560   0b1c     ANDLW     0x1c                                                                                            
003562   0d08     MULLW     0x8                                                                                             
003564   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003566   2400     ADDWF     0x0,0x0,0x0                                                                                     
003568   6e62     MOVWF     0x62,0x0                                                                                        
00356a   0ef4     MOVLW     0xf4                RXB0EIDH = cp.boot.rid;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00356c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00356e   6e63     MOVWF     0x63,0x0                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003570   d04f     BRA       0x3610          else                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003572   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
003574   50db     MOVF      0xdb,0x0,0x0                                                                                    
003576   0b0f     ANDLW     0xf                                                                                             
003578   0d04     MULLW     0x4                                                                                             
00357a   cff3     MOVFF     0xff3,0x2                                                                                       
00357c   f002                                                                                                               
00357e   0eee     MOVLW     0xee                                                                                            
003580   50db     MOVF      0xdb,0x0,0x0                                                                                    
003582   0b03     ANDLW     0x3                                                                                             
003584   0d40     MULLW     0x40                                                                                            
003586   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003588   2402     ADDWF     0x2,0x0,0x0                                                                                     
00358a   6e00     MOVWF     0x0,0x0                                                                                         
00358c   6a01     CLRF      0x1,0x0                                                                                         
00358e   be00     BTFSC     0x0,0x7,0x0                                                                                     
003590   6801     SETF      0x1,0x0                                                                                         
003592   0ef0     MOVLW     0xf0                                                                                            
003594   cfdb     MOVFF     0xfdb,0x3                                                                                       
003596   f003                                                                                                               
003598   0ef1     MOVLW     0xf1                                                                                            
00359a   cfdb     MOVFF     0xfdb,0x4                                                                                       
00359c   f004                                                                                                               
00359e   0e00     MOVLW     0x0                                                                                             
0035a0   1603     ANDWF     0x3,0x1,0x0                                                                                     
0035a2   0e60     MOVLW     0x60                                                                                            
0035a4   1604     ANDWF     0x4,0x1,0x0                                                                                     
0035a6   3804     SWAPF     0x4,0x0,0x0                                                                                     
0035a8   6a04     CLRF      0x4,0x0                                                                                         
0035aa   30e8     RRCF      0xe8,0x0,0x0                                                                                    
0035ac   0b07     ANDLW     0x7                                                                                             
0035ae   6e03     MOVWF     0x3,0x0                                                                                         
0035b0   5000     MOVF      0x0,0x0,0x0                                                                                     
0035b2   2403     ADDWF     0x3,0x0,0x0                                                                                     
0035b4   6e61     MOVWF     0x61,0x0                                                                                        
0035b6   0ef0     MOVLW     0xf0                RXB0SIDL = ((cp.pgm.id&0x1C00)>>5)+((cp.pgm.id&0x300)>>8);                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0035b8   cfdb     MOVFF     0xfdb,0x0                                                                                       
0035ba   f000                                                                                                               
0035bc   0ef1     MOVLW     0xf1                                                                                            
0035be   cfdb     MOVFF     0xfdb,0x1                                                                                       
0035c0   f001                                                                                                               
0035c2   0e00     MOVLW     0x0                                                                                             
0035c4   1600     ANDWF     0x0,0x1,0x0                                                                                     
0035c6   0e1c     MOVLW     0x1c                                                                                            
0035c8   1601     ANDWF     0x1,0x1,0x0                                                                                     
0035ca   0e05     MOVLW     0x5                                                                                             
0035cc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0035ce   3201     RRCF      0x1,0x1,0x0                                                                                     
0035d0   3200     RRCF      0x0,0x1,0x0                                                                                     
0035d2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0035d4   e1fb     BNZ       0x35cc                                                                                          
0035d6   0ef0     MOVLW     0xf0                                                                                            
0035d8   cfdb     MOVFF     0xfdb,0x2                                                                                       
0035da   f002                                                                                                               
0035dc   0ef1     MOVLW     0xf1                                                                                            
0035de   cfdb     MOVFF     0xfdb,0x3                                                                                       
0035e0   f003                                                                                                               
0035e2   0e00     MOVLW     0x0                                                                                             
0035e4   1602     ANDWF     0x2,0x1,0x0                                                                                     
0035e6   0e03     MOVLW     0x3                                                                                             
0035e8   1603     ANDWF     0x3,0x1,0x0                                                                                     
0035ea   c003     MOVFF     0x3,0x2                                                                                         
0035ec   f002                                                                                                               
0035ee   6a03     CLRF      0x3,0x0                                                                                         
0035f0   5000     MOVF      0x0,0x0,0x0                                                                                     
0035f2   2402     ADDWF     0x2,0x0,0x0                                                                                     
0035f4   6e62     MOVWF     0x62,0x0                                                                                        
0035f6   0eff     MOVLW     0xff                RXB0EIDH = (cp.pgm.id&0xFF);                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0035f8   6ee7     MOVWF     0xe7,0x0                                                                                        
0035fa   0ef0     MOVLW     0xf0                                                                                            
0035fc   cfdb     MOVFF     0xfdb,0x0                                                                                       
0035fe   f000                                                                                                               
003600   0ef1     MOVLW     0xf1                                                                                            
003602   cfdb     MOVFF     0xfdb,0x1                                                                                       
003604   f001                                                                                                               
003606   50e7     MOVF      0xe7,0x0,0x0                                                                                    
003608   1600     ANDWF     0x0,0x1,0x0                                                                                     
00360a   6a01     CLRF      0x1,0x0                                                                                         
00360c   5000     MOVF      0x0,0x0,0x0                                                                                     
00360e   6e63     MOVWF     0x63,0x0                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003610   c0a1     MOVFF     0xa1,0xf64      RXB0EIDL = MY_ID;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003612   ff64                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Data length                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
003614   6a65     CLRF      0x65,0x0        RXB0DLC = 0;                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003616   0ef6     MOVLW     0xf6            if (cp.length>8) RXB0DLC=8; else RXB0DLC=cp.length;                             F:\MCP\projects\CAN\canBase\Source\CAN.c
003618   50db     MOVF      0xdb,0x0,0x0                                                                                    
00361a   0808     SUBLW     0x8                                                                                             
00361c   e203     BC        0x3624                                                                                          
00361e   0e08     MOVLW     0x8                                                                                             
003620   6e65     MOVWF     0x65,0x0                                                                                        
003622   d003     BRA       0x362a                                                                                          
003624   0ef6     MOVLW     0xf6                                                                                            
003626   50db     MOVF      0xdb,0x0,0x0                                                                                    
003628   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
00362a   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
00362c   0ef7     MOVLW     0xf7            RXB0D0=cp.data[0];  RXB0D1=cp.data[1];                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00362e   50db     MOVF      0xdb,0x0,0x0                                                                                    
003630   6e66     MOVWF     0x66,0x0                                                                                        
003632   0ef8     MOVLW     0xf8                                                                                            
003634   50db     MOVF      0xdb,0x0,0x0                                                                                    
003636   6e67     MOVWF     0x67,0x0                                                                                        
003638   0ef9     MOVLW     0xf9            RXB0D2=cp.data[2];  RXB0D3=cp.data[3];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00363a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00363c   6e68     MOVWF     0x68,0x0                                                                                        
00363e   0efa     MOVLW     0xfa                                                                                            
003640   50db     MOVF      0xdb,0x0,0x0                                                                                    
003642   6e69     MOVWF     0x69,0x0                                                                                        
003644   0efb     MOVLW     0xfb            RXB0D4=cp.data[4];  RXB0D5=cp.data[5];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003646   50db     MOVF      0xdb,0x0,0x0                                                                                    
003648   6e6a     MOVWF     0x6a,0x0                                                                                        
00364a   0efc     MOVLW     0xfc                                                                                            
00364c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00364e   6e6b     MOVWF     0x6b,0x0                                                                                        
003650   0efd     MOVLW     0xfd            RXB0D6=cp.data[6];  RXB0D7=cp.data[7];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003652   50db     MOVF      0xdb,0x0,0x0                                                                                    
003654   6e6c     MOVWF     0x6c,0x0                                                                                        
003656   0efe     MOVLW     0xfe                                                                                            
003658   50db     MOVF      0xdb,0x0,0x0                                                                                    
00365a   6e6d     MOVWF     0x6d,0x0                                                                                        
                                            // set extended                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00365c   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
00365e   0eed     MOVLW     0xed            RXB0CON = (RXB0CON & 0b11111100) | prio;                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
003660   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
003662   ffe6                                                                                                               
003664   0efc     MOVLW     0xfc                                                                                            
003666   1460     ANDWF     0x60,0x0,0x0                                                                                    
003668   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00366a   10e7     IORWF     0xe7,0x0,0x0                                                                                    
00366c   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
00366e   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
003670   0e01     MOVLW     0x1             return TRUE;                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003672   d000     BRA       0x3674                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003674   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
003676   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003678   ffd9                                                                                                               
00367a   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
004640   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
004642   6ed6     MOVWF     0xd6,0x0                                                                                        
004644   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
004646   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
004648   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
00464a   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
00464c   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
00464e   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
004650   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
004652   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
004654   c09d     MOVFF     0x9d,0x29          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004656   f029                                                                                                               
004658   c09e     MOVFF     0x9e,0x2a                                                                                       
00465a   f02a                                                                                                               
00465c   c09f     MOVFF     0x9f,0x2b                                                                                       
00465e   f02b                                                                                                               
004660   c0a0     MOVFF     0xa0,0x2c                                                                                       
004662   f02c                                                                                                               
004664   d000     BRA       0x4666                                                                                          
004666   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
004668   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
00466a   d00b     BRA       0x4682                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
00466c   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
00466e   6ed7     MOVWF     0xd7,0x0                                                                                        
004670   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
004672   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004674   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
004676   2b9d     INCF      0x9d,0x1,0x1                                                                                    
004678   0e00     MOVLW     0x0                                                                                             
00467a   239e     ADDWFC    0x9e,0x1,0x1                                                                                    
00467c   239f     ADDWFC    0x9f,0x1,0x1                                                                                    
00467e   23a0     ADDWFC    0xa0,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004680   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004682   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-26 21:38:37 +0100 (må, 26 feb 2007) $ F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * Revision:     $Revision: 342 $                                                   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
003abe   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003ac0   ffe6                                                                                                               
003ac2   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003ac4   ffd9                                                                                                               
003ac6   0e17     MOVLW     0x17                                                                                            
003ac8   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
003aca   d9f0     RCALL     0x3eac          mainInit();                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003acc   ec34     CALL      0x3068,0x0      canInit();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003ace   f018                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003ad0   0e0b     MOVLW     0xb                 adcInit(TRUE,0b1011);                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003ad2   6ee6     MOVWF     0xe6,0x0                                                                                        
003ad4   0e01     MOVLW     0x1                                                                                             
003ad6   6ee6     MOVWF     0xe6,0x0                                                                                        
003ad8   ec7a     CALL      0x3ef4,0x0                                                                                      
003ada   f01f                                                                                                               
003adc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003ade   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
003ae0   ecfd     CALL      0x41fa,0x0          blindsInit();                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003ae2   f020                                                                                                               
003ae4   6ae6     CLRF      0xe6,0x0            blindsTurn(0);                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
003ae6   ec15     CALL      0x422a,0x0                                                                                      
003ae8   f021                                                                                                               
003aea   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
003d66   d6c2     BRA       0x3aec          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
003aec   ec2a     CALL      0x4654,0x0          if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
003aee   f023                                                                                                               
003af0   0100     MOVLB     0x0                                                                                             
003af2   5179     MOVF      0x79,0x0,0x1                                                                                    
003af4   5c29     SUBWF     0x29,0x0,0x0                                                                                    
003af6   6e00     MOVWF     0x0,0x0                                                                                         
003af8   517a     MOVF      0x7a,0x0,0x1                                                                                    
003afa   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
003afc   6e01     MOVWF     0x1,0x0                                                                                         
003afe   517b     MOVF      0x7b,0x0,0x1                                                                                    
003b00   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
003b02   6e02     MOVWF     0x2,0x0                                                                                         
003b04   517c     MOVF      0x7c,0x0,0x1                                                                                    
003b06   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
003b08   6e03     MOVWF     0x3,0x0                                                                                         
003b0a   80d8     BSF       0xd8,0x0,0x0                                                                                    
003b0c   0e64     MOVLW     0x64                                                                                            
003b0e   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003b10   0e00     MOVLW     0x0                                                                                             
003b12   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003b14   0e00     MOVLW     0x0                                                                                             
003b16   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003b18   0e00     MOVLW     0x0                                                                                             
003b1a   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003b1c   e20b     BC        0x3b34                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003b1e   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b20   ec2a     CALL      0x4654,0x0              t = tickGet();                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003b22   f023                                                                                                               
003b24   c029     MOVFF     0x29,0x79                                                                                       
003b26   f079                                                                                                               
003b28   c02a     MOVFF     0x2a,0x7a                                                                                       
003b2a   f07a                                                                                                               
003b2c   c02b     MOVFF     0x2b,0x7b                                                                                       
003b2e   f07b                                                                                                               
003b30   c02c     MOVFF     0x2c,0x7c                                                                                       
003b32   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
003b34   ec2a     CALL      0x4654,0x0          if ((tickGet()-blinds)>3*TICK_SECOND)                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003b36   f023                                                                                                               
003b38   0100     MOVLB     0x0                                                                                             
003b3a   5183     MOVF      0x83,0x0,0x1                                                                                    
003b3c   5c29     SUBWF     0x29,0x0,0x0                                                                                    
003b3e   6e00     MOVWF     0x0,0x0                                                                                         
003b40   5184     MOVF      0x84,0x0,0x1                                                                                    
003b42   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
003b44   6e01     MOVWF     0x1,0x0                                                                                         
003b46   5185     MOVF      0x85,0x0,0x1                                                                                    
003b48   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
003b4a   6e02     MOVWF     0x2,0x0                                                                                         
003b4c   5186     MOVF      0x86,0x0,0x1                                                                                    
003b4e   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
003b50   6e03     MOVWF     0x3,0x0                                                                                         
003b52   80d8     BSF       0xd8,0x0,0x0                                                                                    
003b54   0e2c     MOVLW     0x2c                                                                                            
003b56   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003b58   0e01     MOVLW     0x1                                                                                             
003b5a   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003b5c   0e00     MOVLW     0x0                                                                                             
003b5e   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003b60   0e00     MOVLW     0x0                                                                                             
003b62   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003b64   e251     BC        0x3c08                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003b66   0e01     MOVLW     0x1                     outCp.type=ptPGM;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b68   6edf     MOVWF     0xdf,0x0                                                                                        
003b6a   52de     MOVF      0xde,0x1,0x0            outCp.pgm.class=pcSENSOR;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003b6c   6edd     MOVWF     0xdd,0x0                                                                                        
003b6e   0e07     MOVLW     0x7                     outCp.pgm.id=pstBLIND_TR;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003b70   6ef3     MOVWF     0xf3,0x0                                                                                        
003b72   0e02     MOVLW     0x2                                                                                             
003b74   cff3     MOVFF     0xff3,0xfdb                                                                                     
003b76   ffdb                                                                                                               
003b78   0e03     MOVLW     0x3                                                                                             
003b7a   6adb     CLRF      0xdb,0x0                                                                                        
003b7c   0e01     MOVLW     0x1                     outCp.length=1;                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003b7e   6ef3     MOVWF     0xf3,0x0                                                                                        
003b80   0e08     MOVLW     0x8                                                                                             
003b82   cff3     MOVFF     0xff3,0xfdb                                                                                     
003b84   ffdb                                                                                                               
003b86   ec11     CALL      0x4222,0x0              outCp.data[0]=blindsGetPrecent();                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b88   f021                                                                                                               
003b8a   6ee7     MOVWF     0xe7,0x0                                                                                        
003b8c   0e09     MOVLW     0x9                                                                                             
003b8e   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003b90   ffdb                                                                                                               
003b92   0e02     MOVLW     0x2                     while(!canSendMessage(outCp,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003b94   6ee6     MOVWF     0xe6,0x0                                                                                        
003b96   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
003b98   ffe9                                                                                                               
003b9a   cfda     MOVFF     0xfda,0xfea                                                                                     
003b9c   ffea                                                                                                               
003b9e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003ba0   ffe6                                                                                                               
003ba2   cfee     MOVFF     0xfee,0xfe6                                                                                     
003ba4   ffe6                                                                                                               
003ba6   cfee     MOVFF     0xfee,0xfe6                                                                                     
003ba8   ffe6                                                                                                               
003baa   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bac   ffe6                                                                                                               
003bae   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bb0   ffe6                                                                                                               
003bb2   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bb4   ffe6                                                                                                               
003bb6   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bb8   ffe6                                                                                                               
003bba   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bbc   ffe6                                                                                                               
003bbe   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bc0   ffe6                                                                                                               
003bc2   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bc4   ffe6                                                                                                               
003bc6   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bc8   ffe6                                                                                                               
003bca   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bcc   ffe6                                                                                                               
003bce   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bd0   ffe6                                                                                                               
003bd2   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bd4   ffe6                                                                                                               
003bd6   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bd8   ffe6                                                                                                               
003bda   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bdc   ffe6                                                                                                               
003bde   cfee     MOVFF     0xfee,0xfe6                                                                                     
003be0   ffe6                                                                                                               
003be2   ec61     CALL      0x34c2,0x0                                                                                      
003be4   f01a                                                                                                               
003be6   6e00     MOVWF     0x0,0x0                                                                                         
003be8   0e12     MOVLW     0x12                                                                                            
003bea   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003bec   5000     MOVF      0x0,0x0,0x0                                                                                     
003bee   0900     IORLW     0x0                                                                                             
003bf0   e101     BNZ       0x3bf4                                                                                          
003bf2   d7cf     BRA       0x3b92                                                                                          
003bf4   ec2a     CALL      0x4654,0x0              blinds = tickGet();                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
003bf6   f023                                                                                                               
003bf8   c029     MOVFF     0x29,0x83                                                                                       
003bfa   f083                                                                                                               
003bfc   c02a     MOVFF     0x2a,0x84                                                                                       
003bfe   f084                                                                                                               
003c00   c02b     MOVFF     0x2b,0x85                                                                                       
003c02   f085                                                                                                               
003c04   c02c     MOVFF     0x2c,0x86                                                                                       
003c06   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
003c08   ec2a     CALL      0x4654,0x0          if ((tickGet()-temperature)>TICK_SECOND*2 && getNewTemperature==TRUE) // Each 2 second, read temperature. F:\MCP\projects\CAN\canTemp\Source\Main.c
003c0a   f023                                                                                                               
003c0c   0100     MOVLB     0x0                                                                                             
003c0e   517d     MOVF      0x7d,0x0,0x1                                                                                    
003c10   5c29     SUBWF     0x29,0x0,0x0                                                                                    
003c12   6e00     MOVWF     0x0,0x0                                                                                         
003c14   517e     MOVF      0x7e,0x0,0x1                                                                                    
003c16   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
003c18   6e01     MOVWF     0x1,0x0                                                                                         
003c1a   517f     MOVF      0x7f,0x0,0x1                                                                                    
003c1c   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
003c1e   6e02     MOVWF     0x2,0x0                                                                                         
003c20   5180     MOVF      0x80,0x0,0x1                                                                                    
003c22   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
003c24   6e03     MOVWF     0x3,0x0                                                                                         
003c26   80d8     BSF       0xd8,0x0,0x0                                                                                    
003c28   0ec8     MOVLW     0xc8                                                                                            
003c2a   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003c2c   0e00     MOVLW     0x0                                                                                             
003c2e   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003c30   0e00     MOVLW     0x0                                                                                             
003c32   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003c34   0e00     MOVLW     0x0                                                                                             
003c36   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003c38   e21a     BC        0x3c6e                                                                                          
003c3a   0581     DECF      0x81,0x0,0x1                                                                                    
003c3c   e118     BNZ       0x3c6e                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003c3e   0582     DECF      0x82,0x0,0x1            if (lastTemperature==TEMPERATURE_INSIDE) lastTemperature=TEMPERATURE_OUTSIDE; else lastTemperature=TEMPERATURE_INSIDE; F:\MCP\projects\CAN\canTemp\Source\Main.c
003c40   e103     BNZ       0x3c48                                                                                          
003c42   0e02     MOVLW     0x2                                                                                             
003c44   6f82     MOVWF     0x82,0x1                                                                                        
003c46   d002     BRA       0x3c4c                                                                                          
003c48   0e01     MOVLW     0x1                                                                                             
003c4a   6f82     MOVWF     0x82,0x1                                                                                        
003c4c   c082     MOVFF     0x82,0xfe6              adcConvert(lastTemperature);                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003c4e   ffe6                                                                                                               
003c50   ece8     CALL      0x3fd0,0x0                                                                                      
003c52   f01f                                                                                                               
003c54   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c56   ec2a     CALL      0x4654,0x0              temperature = tickGet();                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003c58   f023                                                                                                               
003c5a   c029     MOVFF     0x29,0x7d                                                                                       
003c5c   f07d                                                                                                               
003c5e   c02a     MOVFF     0x2a,0x7e                                                                                       
003c60   f07e                                                                                                               
003c62   c02b     MOVFF     0x2b,0x7f                                                                                       
003c64   f07f                                                                                                               
003c66   c02c     MOVFF     0x2c,0x80                                                                                       
003c68   f080                                                                                                               
003c6a   0100     MOVLB     0x0                     getNewTemperature=FALSE;                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003c6c   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
003c6e   ecf9     CALL      0x41f2,0x0          if (adcDone()) // Has temperature, send it to the bus                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003c70   f020                                                                                                               
003c72   0900     IORLW     0x0                                                                                             
003c74   e101     BNZ       0x3c78                                                                                          
003c76   d077     BRA       0x3d66                                                                                          
                                                {                                                                              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
003c78   50d9     MOVF      0xd9,0x0,0x0            temperatureRead(&tenth,&decimal);                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003c7a   0f11     ADDLW     0x11                                                                                            
003c7c   6ee6     MOVWF     0xe6,0x0                                                                                        
003c7e   0e00     MOVLW     0x0                                                                                             
003c80   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003c82   6ee6     MOVWF     0xe6,0x0                                                                                        
003c84   50d9     MOVF      0xd9,0x0,0x0                                                                                    
003c86   0f12     ADDLW     0x12                                                                                            
003c88   6ee6     MOVWF     0xe6,0x0                                                                                        
003c8a   0e00     MOVLW     0x0                                                                                             
003c8c   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003c8e   6ee6     MOVWF     0xe6,0x0                                                                                        
003c90   ec13     CALL      0x4026,0x0                                                                                      
003c92   f020                                                                                                               
003c94   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c96   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c98   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c9a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c9c   ecef     CALL      0x41de,0x0              q = adcGetRaw();                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003c9e   f020                                                                                                               
003ca0   0e13     MOVLW     0x13                                                                                            
003ca2   c029     MOVFF     0x29,0xfdb                                                                                      
003ca4   ffdb                                                                                                               
003ca6   0e14     MOVLW     0x14                                                                                            
003ca8   c02a     MOVFF     0x2a,0xfdb                                                                                      
003caa   ffdb                                                                                                               
003cac   0e15     MOVLW     0x15                                                                                            
003cae   c02b     MOVFF     0x2b,0xfdb                                                                                      
003cb0   ffdb                                                                                                               
003cb2   0e16     MOVLW     0x16                                                                                            
003cb4   c02c     MOVFF     0x2c,0xfdb                                                                                      
003cb6   ffdb                                                                                                               
003cb8   0100     MOVLB     0x0                     getNewTemperature=TRUE;                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
003cba   0e01     MOVLW     0x1                                                                                             
003cbc   6f81     MOVWF     0x81,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003cbe   6edf     MOVWF     0xdf,0x0                outCp.type=ptPGM;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003cc0   52de     MOVF      0xde,0x1,0x0            outCp.pgm.class =pcSENSOR;                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
003cc2   6edd     MOVWF     0xdd,0x0                                                                                        
003cc4   0582     DECF      0x82,0x0,0x1            outCp.pgm.id    =(lastTemperature==TEMPERATURE_INSIDE?pstTEMP_INSIDE:pstTEMP_OUTSIDE); F:\MCP\projects\CAN\canTemp\Source\Main.c
003cc6   e102     BNZ       0x3ccc                                                                                          
003cc8   0e01     MOVLW     0x1                                                                                             
003cca   d001     BRA       0x3cce                                                                                          
003ccc   0e02     MOVLW     0x2                                                                                             
003cce   6e00     MOVWF     0x0,0x0                                                                                         
003cd0   6a01     CLRF      0x1,0x0                                                                                         
003cd2   be00     BTFSC     0x0,0x7,0x0                                                                                     
003cd4   6801     SETF      0x1,0x0                                                                                         
003cd6   0e02     MOVLW     0x2                                                                                             
003cd8   c000     MOVFF     0x0,0xfdb                                                                                       
003cda   ffdb                                                                                                               
003cdc   0e03     MOVLW     0x3                                                                                             
003cde   c001     MOVFF     0x1,0xfdb                                                                                       
003ce0   ffdb                                                                                                               
003ce2   0e02     MOVLW     0x2                     outCp.length    =2;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003ce4   6ef3     MOVWF     0xf3,0x0                                                                                        
003ce6   0e08     MOVLW     0x8                                                                                             
003ce8   cff3     MOVFF     0xff3,0xfdb                                                                                     
003cea   ffdb                                                                                                               
003cec   0e12     MOVLW     0x12                    outCp.data[1]   = tenth; //  signed 10 an 1 decimal.                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003cee   50db     MOVF      0xdb,0x0,0x0                                                                                    
003cf0   6ee7     MOVWF     0xe7,0x0                                                                                        
003cf2   0e0a     MOVLW     0xa                                                                                             
003cf4   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003cf6   ffdb                                                                                                               
003cf8   0e11     MOVLW     0x11                    outCp.data[0]   = decimal; //  Decimal value, 0-9                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003cfa   50db     MOVF      0xdb,0x0,0x0                                                                                    
003cfc   6ee7     MOVWF     0xe7,0x0                                                                                        
003cfe   0e09     MOVLW     0x9                                                                                             
003d00   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003d02   ffdb                                                                                                               
003d04   0e02     MOVLW     0x2                     while(!canSendMessage(outCp,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003d06   6ee6     MOVWF     0xe6,0x0                                                                                        
003d08   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
003d0a   ffe9                                                                                                               
003d0c   cfda     MOVFF     0xfda,0xfea                                                                                     
003d0e   ffea                                                                                                               
003d10   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d12   ffe6                                                                                                               
003d14   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d16   ffe6                                                                                                               
003d18   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d1a   ffe6                                                                                                               
003d1c   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d1e   ffe6                                                                                                               
003d20   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d22   ffe6                                                                                                               
003d24   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d26   ffe6                                                                                                               
003d28   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d2a   ffe6                                                                                                               
003d2c   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d2e   ffe6                                                                                                               
003d30   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d32   ffe6                                                                                                               
003d34   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d36   ffe6                                                                                                               
003d38   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d3a   ffe6                                                                                                               
003d3c   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d3e   ffe6                                                                                                               
003d40   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d42   ffe6                                                                                                               
003d44   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d46   ffe6                                                                                                               
003d48   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d4a   ffe6                                                                                                               
003d4c   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d4e   ffe6                                                                                                               
003d50   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d52   ffe6                                                                                                               
003d54   ec61     CALL      0x34c2,0x0                                                                                      
003d56   f01a                                                                                                               
003d58   6e00     MOVWF     0x0,0x0                                                                                         
003d5a   0e12     MOVLW     0x12                                                                                            
003d5c   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003d5e   5000     MOVF      0x0,0x0,0x0                                                                                     
003d60   0900     IORLW     0x0                                                                                             
003d62   e101     BNZ       0x3d66                                                                                          
003d64   d7cf     BRA       0x3d04                                                                                          
                                                }                                                                              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   0e17     MOVLW     0x17           }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003d6a   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
003d6c   e202     BC        0x3d72                                                                                          
003d6e   6ae1     CLRF      0xe1,0x0                                                                                        
003d70   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003d72   6ee1     MOVWF     0xe1,0x0                                                                                        
003d74   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003d76   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003d78   ffd9                                                                                                               
003d7a   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
003d7c   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003d7e   ffe4                                                                                                               
003d80   cfe2     MOVFF     0xfe2,0xfda                                                                                     
003d82   ffda                                                                                                               
003d84   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
003d86   ffe4                                                                                                               
003d88   cfea     MOVFF     0xfea,0xfe4                                                                                     
003d8a   ffe4                                                                                                               
003d8c   cff6     MOVFF     0xff6,0xfe4                                                                                     
003d8e   ffe4                                                                                                               
003d90   cff7     MOVFF     0xff7,0xfe4                                                                                     
003d92   ffe4                                                                                                               
003d94   cff5     MOVFF     0xff5,0xfe4                                                                                     
003d96   ffe4                                                                                                               
003d98   cff3     MOVFF     0xff3,0xfe4                                                                                     
003d9a   ffe4                                                                                                               
003d9c   cff4     MOVFF     0xff4,0xfe4                                                                                     
003d9e   ffe4                                                                                                               
003da0   cffa     MOVFF     0xffa,0xfe4                                                                                     
003da2   ffe4                                                                                                               
003da4   ee00     LFSR      0x0,0x23                                                                                        
003da6   f023                                                                                                               
003da8   0e14     MOVLW     0x14                                                                                            
003daa   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dac   e303     BNC       0x3db4                                                                                          
003dae   cfee     MOVFF     0xfee,0xfe4                                                                                     
003db0   ffe4                                                                                                               
003db2   d7fb     BRA       0x3daa                                                                                          
003db4   ee00     LFSR      0x0,0x0                                                                                         
003db6   f000                                                                                                               
003db8   0e23     MOVLW     0x23                                                                                            
003dba   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dbc   e303     BNC       0x3dc4                                                                                          
003dbe   cfee     MOVFF     0xfee,0xfe4                                                                                     
003dc0   ffe4                                                                                                               
003dc2   d7fb     BRA       0x3dba                                                                                          
003dc4   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003dc6   ec9e     CALL      0x313c,0x0      canISR();                                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
003dc8   f018                                                                                                               
003dca   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003dcc   ee00     LFSR      0x0,0x22                                                                                        
003dce   f022                                                                                                               
003dd0   0e23     MOVLW     0x23                                                                                            
003dd2   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dd4   e303     BNC       0x3ddc                                                                                          
003dd6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003dd8   ffed                                                                                                               
003dda   d7fb     BRA       0x3dd2                                                                                          
003ddc   ee00     LFSR      0x0,0x36                                                                                        
003dde   f036                                                                                                               
003de0   0e14     MOVLW     0x14                                                                                            
003de2   04e8     DECF      0xe8,0x0,0x0                                                                                    
003de4   e303     BNC       0x3dec                                                                                          
003de6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003de8   ffed                                                                                                               
003dea   d7fb     BRA       0x3de2                                                                                          
003dec   cfe5     MOVFF     0xfe5,0xffa                                                                                     
003dee   fffa                                                                                                               
003df0   cfe5     MOVFF     0xfe5,0xff4                                                                                     
003df2   fff4                                                                                                               
003df4   cfe5     MOVFF     0xfe5,0xff3                                                                                     
003df6   fff3                                                                                                               
003df8   cfe5     MOVFF     0xfe5,0xff5                                                                                     
003dfa   fff5                                                                                                               
003dfc   cfe5     MOVFF     0xfe5,0xff7                                                                                     
003dfe   fff7                                                                                                               
003e00   cfe5     MOVFF     0xfe5,0xff6                                                                                     
003e02   fff6                                                                                                               
003e04   cfe5     MOVFF     0xfe5,0xfea                                                                                     
003e06   ffea                                                                                                               
003e08   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
003e0a   ffe9                                                                                                               
003e0c   cfe5     MOVFF     0xfe5,0xfda                                                                                     
003e0e   ffda                                                                                                               
003e10   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
003e12   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003e14   ffe4                                                                                                               
003e16   cfe2     MOVFF     0xfe2,0xfda                                                                                     
003e18   ffda                                                                                                               
003e1a   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
003e1c   ffe4                                                                                                               
003e1e   cfea     MOVFF     0xfea,0xfe4                                                                                     
003e20   ffe4                                                                                                               
003e22   cff6     MOVFF     0xff6,0xfe4                                                                                     
003e24   ffe4                                                                                                               
003e26   cff7     MOVFF     0xff7,0xfe4                                                                                     
003e28   ffe4                                                                                                               
003e2a   cff5     MOVFF     0xff5,0xfe4                                                                                     
003e2c   ffe4                                                                                                               
003e2e   cff3     MOVFF     0xff3,0xfe4                                                                                     
003e30   ffe4                                                                                                               
003e32   cff4     MOVFF     0xff4,0xfe4                                                                                     
003e34   ffe4                                                                                                               
003e36   cffa     MOVFF     0xffa,0xfe4                                                                                     
003e38   ffe4                                                                                                               
003e3a   ee00     LFSR      0x0,0x23                                                                                        
003e3c   f023                                                                                                               
003e3e   0e14     MOVLW     0x14                                                                                            
003e40   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e42   e303     BNC       0x3e4a                                                                                          
003e44   cfee     MOVFF     0xfee,0xfe4                                                                                     
003e46   ffe4                                                                                                               
003e48   d7fb     BRA       0x3e40                                                                                          
003e4a   ee00     LFSR      0x0,0x0                                                                                         
003e4c   f000                                                                                                               
003e4e   0e23     MOVLW     0x23                                                                                            
003e50   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e52   e303     BNC       0x3e5a                                                                                          
003e54   cfee     MOVFF     0xfee,0xfe4                                                                                     
003e56   ffe4                                                                                                               
003e58   d7fb     BRA       0x3e50                                                                                          
003e5a   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003e5c   ec94     CALL      0x3f28,0x0          adcISR();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003e5e   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
003e60   eccc     CALL      0x4398,0x0          blindsISR();                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
003e62   f021                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003e64   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003e66   ee00     LFSR      0x0,0x22                                                                                        
003e68   f022                                                                                                               
003e6a   0e23     MOVLW     0x23                                                                                            
003e6c   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e6e   e303     BNC       0x3e76                                                                                          
003e70   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003e72   ffed                                                                                                               
003e74   d7fb     BRA       0x3e6c                                                                                          
003e76   ee00     LFSR      0x0,0x36                                                                                        
003e78   f036                                                                                                               
003e7a   0e14     MOVLW     0x14                                                                                            
003e7c   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e7e   e303     BNC       0x3e86                                                                                          
003e80   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003e82   ffed                                                                                                               
003e84   d7fb     BRA       0x3e7c                                                                                          
003e86   cfe5     MOVFF     0xfe5,0xffa                                                                                     
003e88   fffa                                                                                                               
003e8a   cfe5     MOVFF     0xfe5,0xff4                                                                                     
003e8c   fff4                                                                                                               
003e8e   cfe5     MOVFF     0xfe5,0xff3                                                                                     
003e90   fff3                                                                                                               
003e92   cfe5     MOVFF     0xfe5,0xff5                                                                                     
003e94   fff5                                                                                                               
003e96   cfe5     MOVFF     0xfe5,0xff7                                                                                     
003e98   fff7                                                                                                               
003e9a   cfe5     MOVFF     0xfe5,0xff6                                                                                     
003e9c   fff6                                                                                                               
003e9e   cfe5     MOVFF     0xfe5,0xfea                                                                                     
003ea0   ffea                                                                                                               
003ea2   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
003ea4   ffe9                                                                                                               
003ea6   cfe5     MOVFF     0xfe5,0xfda                                                                                     
003ea8   ffda                                                                                                               
003eaa   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
003eac   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
003eae   9894     BCF       0x94,0x4,0x0    BLINDS0_TRIS=0;                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
003eb0   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
003eb2   8cf2     BSF       0xf2,0x6,0x0    INTCONbits.GIEL = 1;                                                            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
                                                                                                                            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
003eb6   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003eb8   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
003eba   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_PACKET cp)                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003ebc   ffe6                                                                                                               
003ebe   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003ec0   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_BLINDS                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003ec2   0eef     MOVLW     0xef            if (cp.pgm.class==pcACTUATOR && cp.pgm.id==patBLIND_TR)                         F:\MCP\projects\CAN\canTemp\Source\Main.c
003ec4   50db     MOVF      0xdb,0x0,0x0                                                                                    
003ec6   0802     SUBLW     0x2                                                                                             
003ec8   e111     BNZ       0x3eec                                                                                          
003eca   50d9     MOVF      0xd9,0x0,0x0                                                                                    
003ecc   0ff0     ADDLW     0xf0                                                                                            
003ece   6ee9     MOVWF     0xe9,0x0                                                                                        
003ed0   0eff     MOVLW     0xff                                                                                            
003ed2   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003ed4   6eea     MOVWF     0xea,0x0                                                                                        
003ed6   0e07     MOVLW     0x7                                                                                             
003ed8   18ee     XORWF     0xee,0x0,0x0                                                                                    
003eda   e101     BNZ       0x3ede                                                                                          
003edc   50ed     MOVF      0xed,0x0,0x0                                                                                    
003ede   e106     BNZ       0x3eec                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003ee0   0ef7     MOVLW     0xf7                blindsTurn(cp.data[0]);                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
003ee2   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
003ee4   ffe6                                                                                                               
003ee6   ec15     CALL      0x422a,0x0                                                                                      
003ee8   f021                                                                                                               
003eea   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003eec   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003eee   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003ef0   ffd9                                                                                                               
003ef2   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   ef58     GOTO      0x46b0             _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   efbe     GOTO      0x3d7c          _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   ef09     GOTO      0x3e12             _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
00443e   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
004440   ffe6                                                                                                               
004442   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
004444   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004446   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
004448   cfdb     MOVFF     0xfdb,0x0                                                                                       
00444a   f000                                                                                                               
00444c   0efe     MOVLW     0xfe                                                                                            
00444e   cfdb     MOVFF     0xfdb,0x1                                                                                       
004450   f001                                                                                                               
004452   c001     MOVFF     0x1,0x0                                                                                         
004454   f000                                                                                                               
004456   6a01     CLRF      0x1,0x0                                                                                         
004458   5000     MOVF      0x0,0x0,0x0                                                                                     
00445a   6eaa     MOVWF     0xaa,0x0                                                                                        
00445c   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
00445e   6ee7     MOVWF     0xe7,0x0                                                                                        
004460   0efd     MOVLW     0xfd                                                                                            
004462   cfdb     MOVFF     0xfdb,0x0                                                                                       
004464   f000                                                                                                               
004466   0efe     MOVLW     0xfe                                                                                            
004468   cfdb     MOVFF     0xfdb,0x1                                                                                       
00446a   f001                                                                                                               
00446c   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00446e   1600     ANDWF     0x0,0x1,0x0                                                                                     
004470   6a01     CLRF      0x1,0x0                                                                                         
004472   5000     MOVF      0x0,0x0,0x0                                                                                     
004474   6ea9     MOVWF     0xa9,0x0                                                                                        
004476   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
004478   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
00447a   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
00447c   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
00447e   d000     BRA       0x4480                                                                                          
004480   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004482   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
004484   ffd9                                                                                                               
004486   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
004488   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
00448a   ffe6                                                                                                               
00448c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00448e   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004490   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004492   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
004494   cfdb     MOVFF     0xfdb,0x0                                                                                       
004496   f000                                                                                                               
004498   0efe     MOVLW     0xfe                                                                                            
00449a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00449c   f001                                                                                                               
00449e   c001     MOVFF     0x1,0x0                                                                                         
0044a0   f000                                                                                                               
0044a2   6a01     CLRF      0x1,0x0                                                                                         
0044a4   5000     MOVF      0x0,0x0,0x0                                                                                     
0044a6   6eaa     MOVWF     0xaa,0x0                                                                                        
0044a8   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
0044aa   6ee7     MOVWF     0xe7,0x0                                                                                        
0044ac   0efd     MOVLW     0xfd                                                                                            
0044ae   cfdb     MOVFF     0xfdb,0x0                                                                                       
0044b0   f000                                                                                                               
0044b2   0efe     MOVLW     0xfe                                                                                            
0044b4   cfdb     MOVFF     0xfdb,0x1                                                                                       
0044b6   f001                                                                                                               
0044b8   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0044ba   1600     ANDWF     0x0,0x1,0x0                                                                                     
0044bc   6a01     CLRF      0x1,0x0                                                                                         
0044be   5000     MOVF      0x0,0x0,0x0                                                                                     
0044c0   6ea9     MOVWF     0xa9,0x0                                                                                        
0044c2   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
0044c4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0044c6   6ea8     MOVWF     0xa8,0x0                                                                                        
0044c8   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
0044ca   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
0044cc   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
0044ce   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
0044d0   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
0044d2   6ea7     MOVWF     0xa7,0x0                                                                                        
0044d4   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
0044d6   6ea7     MOVWF     0xa7,0x0                                                                                        
0044d8   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
0044da   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
0044dc   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
0044de   d7fe     BRA       0x44dc                                                                                          
0044e0   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
0044e2   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
0044e4   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0044e6   ffd9                                                                                                               
0044e8   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
003ef4   cfd9     MOVFF     0xfd9,0xfe6    void adcInit(BOOL useExtRef,BYTE portCfg)                                        F:\MCP\projects\CAN\Include\adc.c
003ef6   ffe6                                                                                                               
003ef8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003efa   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
003efc   0efd     MOVLW     0xfd            ADCON1 = 0b00000000 | ((1 & useExtRef)<<4) | (0xF & portCfg);                   F:\MCP\projects\CAN\Include\adc.c
003efe   50db     MOVF      0xdb,0x0,0x0                                                                                    
003f00   0b0f     ANDLW     0xf                                                                                             
003f02   6e00     MOVWF     0x0,0x0                                                                                         
003f04   0efe     MOVLW     0xfe                                                                                            
003f06   50db     MOVF      0xdb,0x0,0x0                                                                                    
003f08   0b01     ANDLW     0x1                                                                                             
003f0a   0d10     MULLW     0x10                                                                                            
003f0c   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003f0e   1000     IORWF     0x0,0x0,0x0                                                                                     
003f10   6ec1     MOVWF     0xc1,0x0                                                                                        
003f12   6ac2     CLRF      0xc2,0x0        ADCON0 = 0b00000000;                                                            F:\MCP\projects\CAN\Include\adc.c
003f14   0eab     MOVLW     0xab            ADCON2 = 0b10101011;                                                            F:\MCP\projects\CAN\Include\adc.c
003f16   6ec0     MOVWF     0xc0,0x0                                                                                        
                                            //useExtRef                                                                     F:\MCP\projects\CAN\Include\adc.c
003f18   80c2     BSF       0xc2,0x0,0x0    ADCON0bits.ADON = 1;                                                            F:\MCP\projects\CAN\Include\adc.c
003f1a   9c9e     BCF       0x9e,0x6,0x0    PIR1bits.ADIF = 0;                                                              F:\MCP\projects\CAN\Include\adc.c
003f1c   8c9d     BSF       0x9d,0x6,0x0    PIE1bits.ADIE = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
003f1e   9c9f     BCF       0x9f,0x6,0x0    IPR1bits.ADIP = 0; // Low priority                                              F:\MCP\projects\CAN\Include\adc.c
003f20   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
003f22   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003f24   ffd9                                                                                                               
003f26   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
003f28   509d     MOVF      0x9d,0x0,0x0    if (PIE1bits.ADIE && PIR1bits.ADIF)                                             F:\MCP\projects\CAN\Include\adc.c
003f2a   0b40     ANDLW     0x40                                                                                            
003f2c   e050     BZ        0x3fce                                                                                          
003f2e   509e     MOVF      0x9e,0x0,0x0                                                                                    
003f30   0b40     ANDLW     0x40                                                                                            
003f32   e04d     BZ        0x3fce                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\Include\adc.c
003f34   9c9e     BCF       0x9e,0x6,0x0        PIR1bits.ADIF = 0;                                                             F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f36   50c4     MOVF      0xc4,0x0,0x0        TEMP_VALUE+=((int)ADRESH)<<8 | ADRESL;                                         F:\MCP\projects\CAN\Include\adc.c
003f38   6e04     MOVWF     0x4,0x0                                                                                         
003f3a   c004     MOVFF     0x4,0x5                                                                                         
003f3c   f005                                                                                                               
003f3e   6a04     CLRF      0x4,0x0                                                                                         
003f40   50c3     MOVF      0xc3,0x0,0x0                                                                                    
003f42   0100     MOVLB     0x0                                                                                             
003f44   1004     IORWF     0x4,0x0,0x0                                                                                     
003f46   6e00     MOVWF     0x0,0x0                                                                                         
003f48   c005     MOVFF     0x5,0x1                                                                                         
003f4a   f001                                                                                                               
003f4c   6a02     CLRF      0x2,0x0                                                                                         
003f4e   6a03     CLRF      0x3,0x0                                                                                         
003f50   ae01     BTFSS     0x1,0x7,0x0                                                                                     
003f52   d002     BRA       0x3f58                                                                                          
003f54   6802     SETF      0x2,0x0                                                                                         
003f56   6803     SETF      0x3,0x0                                                                                         
003f58   5000     MOVF      0x0,0x0,0x0                                                                                     
003f5a   0100     MOVLB     0x0                                                                                             
003f5c   2791     ADDWF     0x91,0x1,0x1                                                                                    
003f5e   5001     MOVF      0x1,0x0,0x0                                                                                     
003f60   2392     ADDWFC    0x92,0x1,0x1                                                                                    
003f62   5002     MOVF      0x2,0x0,0x0                                                                                     
003f64   2393     ADDWFC    0x93,0x1,0x1                                                                                    
003f66   5003     MOVF      0x3,0x0,0x0                                                                                     
003f68   2394     ADDWFC    0x94,0x1,0x1                                                                                    
003f6a   2b95     INCF      0x95,0x1,0x1        TEMP_COUNT++;                                                                  F:\MCP\projects\CAN\Include\adc.c
003f6c   0e00     MOVLW     0x0                                                                                             
003f6e   2396     ADDWFC    0x96,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f70   0e32     MOVLW     0x32                if (TEMP_COUNT>=TEMP_SAMPLES)                                                  F:\MCP\projects\CAN\Include\adc.c
003f72   5d95     SUBWF     0x95,0x0,0x1                                                                                    
003f74   0e00     MOVLW     0x0                                                                                             
003f76   5996     SUBWFB    0x96,0x0,0x1                                                                                    
003f78   e324     BNC       0x3fc2                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
003f7a   c095     MOVFF     0x95,0x0                TEMP_VALUE = TEMP_VALUE/TEMP_COUNT;                                           F:\MCP\projects\CAN\Include\adc.c
003f7c   f000                                                                                                               
003f7e   c096     MOVFF     0x96,0x1                                                                                        
003f80   f001                                                                                                               
003f82   6a02     CLRF      0x2,0x0                                                                                         
003f84   6a03     CLRF      0x3,0x0                                                                                         
003f86   c091     MOVFF     0x91,0x29                                                                                       
003f88   f029                                                                                                               
003f8a   c092     MOVFF     0x92,0x2a                                                                                       
003f8c   f02a                                                                                                               
003f8e   c093     MOVFF     0x93,0x2b                                                                                       
003f90   f02b                                                                                                               
003f92   c094     MOVFF     0x94,0x2c                                                                                       
003f94   f02c                                                                                                               
003f96   c000     MOVFF     0x0,0x2e                                                                                        
003f98   f02e                                                                                                               
003f9a   c001     MOVFF     0x1,0x2f                                                                                        
003f9c   f02f                                                                                                               
003f9e   c002     MOVFF     0x2,0x30                                                                                        
003fa0   f030                                                                                                               
003fa2   c003     MOVFF     0x3,0x31                                                                                        
003fa4   f031                                                                                                               
003fa6   ecfc     CALL      0x45f8,0x0                                                                                      
003fa8   f022                                                                                                               
003faa   c029     MOVFF     0x29,0x91                                                                                       
003fac   f091                                                                                                               
003fae   c02a     MOVFF     0x2a,0x92                                                                                       
003fb0   f092                                                                                                               
003fb2   c02b     MOVFF     0x2b,0x93                                                                                       
003fb4   f093                                                                                                               
003fb6   c02c     MOVFF     0x2c,0x94                                                                                       
003fb8   f094                                                                                                               
003fba   0100     MOVLB     0x0                     TEMP_DONE = TRUE;                                                             F:\MCP\projects\CAN\Include\adc.c
003fbc   0e01     MOVLW     0x1                                                                                             
003fbe   6fa3     MOVWF     0xa3,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\Include\adc.c
003fc0   d006     BRA       0x3fce              else                                                                           F:\MCP\projects\CAN\Include\adc.c
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
003fc2   0e64     MOVLW     0x64                    Delay10TCYx(100);                                                             F:\MCP\projects\CAN\Include\adc.c
003fc4   6ee6     MOVWF     0xe6,0x0                                                                                        
003fc6   ec66     CALL      0x46cc,0x0                                                                                      
003fc8   f023                                                                                                               
003fca   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003fcc   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
003fce   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
003fd0   cfd9     MOVFF     0xfd9,0xfe6    BOOL adcConvert(BYTE channel)                                                    F:\MCP\projects\CAN\Include\adc.c
003fd2   ffe6                                                                                                               
003fd4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003fd6   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
003fd8   0efe     MOVLW     0xfe            if (channel>15) return FALSE;                                                   F:\MCP\projects\CAN\Include\adc.c
003fda   50db     MOVF      0xdb,0x0,0x0                                                                                    
003fdc   080f     SUBLW     0xf                                                                                             
003fde   e202     BC        0x3fe4                                                                                          
003fe0   0e00     MOVLW     0x0                                                                                             
003fe2   d015     BRA       0x400e                                                                                          
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003fe4   0100     MOVLB     0x0             TEMP_VALUE = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
003fe6   6b91     CLRF      0x91,0x1                                                                                        
003fe8   6b92     CLRF      0x92,0x1                                                                                        
003fea   6b93     CLRF      0x93,0x1                                                                                        
003fec   6b94     CLRF      0x94,0x1                                                                                        
003fee   6b95     CLRF      0x95,0x1        TEMP_COUNT = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
003ff0   6b96     CLRF      0x96,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003ff2   0ec3     MOVLW     0xc3            ADCON0 = (channel << 2)  | (ADCON0 & 0b11000011);                               F:\MCP\projects\CAN\Include\adc.c
003ff4   14c2     ANDWF     0xc2,0x0,0x0                                                                                    
003ff6   6e00     MOVWF     0x0,0x0                                                                                         
003ff8   0efe     MOVLW     0xfe                                                                                            
003ffa   50db     MOVF      0xdb,0x0,0x0                                                                                    
003ffc   0d04     MULLW     0x4                                                                                             
003ffe   50f3     MOVF      0xf3,0x0,0x0                                                                                    
004000   1000     IORWF     0x0,0x0,0x0                                                                                     
004002   6ec2     MOVWF     0xc2,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004004   0100     MOVLB     0x0             TEMP_DONE = FALSE;                                                              F:\MCP\projects\CAN\Include\adc.c
004006   6ba3     CLRF      0xa3,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004008   82c2     BSF       0xc2,0x1,0x0    ADCON0bits.GO = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
00400a   0e01     MOVLW     0x1             return TRUE;                                                                    F:\MCP\projects\CAN\Include\adc.c
00400c   d000     BRA       0x400e                                                                                          
00400e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
004010   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
004012   ffd9                                                                                                               
004014   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
004016   0100     MOVLB     0x0             TEMP_DONE=FALSE;                                                                F:\MCP\projects\CAN\Include\adc.c
004018   6ba3     CLRF      0xa3,0x1                                                                                        
00401a   c091     MOVFF     0x91,0xff3      return TEMP_VALUE;                                                              F:\MCP\projects\CAN\Include\adc.c
00401c   fff3                                                                                                               
00401e   c092     MOVFF     0x92,0xff4                                                                                      
004020   fff4                                                                                                               
004022   d000     BRA       0x4024                                                                                          
004024   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
004026   cfd9     MOVFF     0xfd9,0xfe6    void temperatureRead(signed char *tenth, BYTE *decimal)                          F:\MCP\projects\CAN\Include\adc.c
004028   ffe6                                                                                                               
00402a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00402c   ffd9                                                                                                               
00402e   0e08     MOVLW     0x8                                                                                             
004030   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
004032   6ade     CLRF      0xde,0x0        signed int i = 0, v11,v01,tfloat;                                               F:\MCP\projects\CAN\Include\adc.c
004034   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004036   c091     MOVFF     0x91,0x4        tfloat =((TEMP_VALUE * 39)>>4) - 499;                                           F:\MCP\projects\CAN\Include\adc.c
004038   f004                                                                                                               
00403a   c092     MOVFF     0x92,0x5                                                                                        
00403c   f005                                                                                                               
00403e   c093     MOVFF     0x93,0x6                                                                                        
004040   f006                                                                                                               
004042   c094     MOVFF     0x94,0x7                                                                                        
004044   f007                                                                                                               
004046   0e27     MOVLW     0x27                                                                                            
004048   6e2e     MOVWF     0x2e,0x0                                                                                        
00404a   6a2f     CLRF      0x2f,0x0                                                                                        
00404c   6a30     CLRF      0x30,0x0                                                                                        
00404e   6a31     CLRF      0x31,0x0                                                                                        
004050   c004     MOVFF     0x4,0x29                                                                                        
004052   f029                                                                                                               
004054   c005     MOVFF     0x5,0x2a                                                                                        
004056   f02a                                                                                                               
004058   c006     MOVFF     0x6,0x2b                                                                                        
00405a   f02b                                                                                                               
00405c   c007     MOVFF     0x7,0x2c                                                                                        
00405e   f02c                                                                                                               
004060   ecc4     CALL      0x4588,0x0                                                                                      
004062   f022                                                                                                               
004064   c025     MOVFF     0x25,0x4                                                                                        
004066   f004                                                                                                               
004068   c026     MOVFF     0x26,0x5                                                                                        
00406a   f005                                                                                                               
00406c   c027     MOVFF     0x27,0x6                                                                                        
00406e   f006                                                                                                               
004070   c028     MOVFF     0x28,0x7                                                                                        
004072   f007                                                                                                               
004074   0e04     MOVLW     0x4                                                                                             
004076   90d8     BCF       0xd8,0x0,0x0                                                                                    
004078   3207     RRCF      0x7,0x1,0x0                                                                                     
00407a   3206     RRCF      0x6,0x1,0x0                                                                                     
00407c   3205     RRCF      0x5,0x1,0x0                                                                                     
00407e   3204     RRCF      0x4,0x1,0x0                                                                                     
004080   06e8     DECF      0xe8,0x1,0x0                                                                                    
004082   e1f9     BNZ       0x4076                                                                                          
004084   c004     MOVFF     0x4,0x0                                                                                         
004086   f000                                                                                                               
004088   c005     MOVFF     0x5,0x1                                                                                         
00408a   f001                                                                                                               
00408c   c006     MOVFF     0x6,0x2                                                                                         
00408e   f002                                                                                                               
004090   c007     MOVFF     0x7,0x3                                                                                         
004092   f003                                                                                                               
004094   0ef3     MOVLW     0xf3                                                                                            
004096   5e00     SUBWF     0x0,0x1,0x0                                                                                     
004098   0e01     MOVLW     0x1                                                                                             
00409a   5a01     SUBWFB    0x1,0x1,0x0                                                                                     
00409c   0e00     MOVLW     0x0                                                                                             
00409e   5a02     SUBWFB    0x2,0x1,0x0                                                                                     
0040a0   5a03     SUBWFB    0x3,0x1,0x0                                                                                     
0040a2   0e06     MOVLW     0x6                                                                                             
0040a4   c000     MOVFF     0x0,0xfdb                                                                                       
0040a6   ffdb                                                                                                               
0040a8   0e07     MOVLW     0x7                                                                                             
0040aa   c001     MOVFF     0x1,0xfdb                                                                                       
0040ac   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
0040ae   0e0a     MOVLW     0xa             v11 = tfloat/10;                                                                F:\MCP\projects\CAN\Include\adc.c
0040b0   6e00     MOVWF     0x0,0x0                                                                                         
0040b2   6a01     CLRF      0x1,0x0                                                                                         
0040b4   0e06     MOVLW     0x6                                                                                             
0040b6   cfdb     MOVFF     0xfdb,0x2b                                                                                      
0040b8   f02b                                                                                                               
0040ba   0e07     MOVLW     0x7                                                                                             
0040bc   cfdb     MOVFF     0xfdb,0x2c                                                                                      
0040be   f02c                                                                                                               
0040c0   c000     MOVFF     0x0,0x30                                                                                        
0040c2   f030                                                                                                               
0040c4   c001     MOVFF     0x1,0x31                                                                                        
0040c6   f031                                                                                                               
0040c8   ec57     CALL      0x38ae,0x0                                                                                      
0040ca   f01c                                                                                                               
0040cc   0e02     MOVLW     0x2                                                                                             
0040ce   c02b     MOVFF     0x2b,0xfdb                                                                                      
0040d0   ffdb                                                                                                               
0040d2   0e03     MOVLW     0x3                                                                                             
0040d4   c02c     MOVFF     0x2c,0xfdb                                                                                      
0040d6   ffdb                                                                                                               
0040d8   0e06     MOVLW     0x6             v01 = tfloat-v11*10;                                                            F:\MCP\projects\CAN\Include\adc.c
0040da   cfdb     MOVFF     0xfdb,0x2                                                                                       
0040dc   f002                                                                                                               
0040de   0e07     MOVLW     0x7                                                                                             
0040e0   cfdb     MOVFF     0xfdb,0x3                                                                                       
0040e2   f003                                                                                                               
0040e4   0e0a     MOVLW     0xa                                                                                             
0040e6   6e2b     MOVWF     0x2b,0x0                                                                                        
0040e8   6a2c     CLRF      0x2c,0x0                                                                                        
0040ea   0e02     MOVLW     0x2                                                                                             
0040ec   cfdb     MOVFF     0xfdb,0x30                                                                                      
0040ee   f030                                                                                                               
0040f0   0e03     MOVLW     0x3                                                                                             
0040f2   cfdb     MOVFF     0xfdb,0x31                                                                                      
0040f4   f031                                                                                                               
0040f6   ec7d     CALL      0x38fa,0x0                                                                                      
0040f8   f01c                                                                                                               
0040fa   5029     MOVF      0x29,0x0,0x0                                                                                    
0040fc   5c02     SUBWF     0x2,0x0,0x0                                                                                     
0040fe   6e00     MOVWF     0x0,0x0                                                                                         
004100   502a     MOVF      0x2a,0x0,0x0                                                                                    
004102   5803     SUBWFB    0x3,0x0,0x0                                                                                     
004104   6e01     MOVWF     0x1,0x0                                                                                         
004106   0e04     MOVLW     0x4                                                                                             
004108   c000     MOVFF     0x0,0xfdb                                                                                       
00410a   ffdb                                                                                                               
00410c   0e05     MOVLW     0x5                                                                                             
00410e   c001     MOVFF     0x1,0xfdb                                                                                       
004110   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004112   0e04     MOVLW     0x4                  if (v01>=0 && v01<=2) v01 = 0;                                             F:\MCP\projects\CAN\Include\adc.c
004114   cfdb     MOVFF     0xfdb,0x0                                                                                       
004116   f000                                                                                                               
004118   0e05     MOVLW     0x5                                                                                             
00411a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00411c   f001                                                                                                               
00411e   0100     MOVLB     0x0                                                                                             
004120   0e80     MOVLW     0x80                                                                                            
004122   1401     ANDWF     0x1,0x0,0x0                                                                                     
004124   e112     BNZ       0x414a                                                                                          
004126   0e04     MOVLW     0x4                                                                                             
004128   cfdb     MOVFF     0xfdb,0x2                                                                                       
00412a   f002                                                                                                               
00412c   0e05     MOVLW     0x5                                                                                             
00412e   cfdb     MOVFF     0xfdb,0x3                                                                                       
004130   f003                                                                                                               
004132   3403     RLCF      0x3,0x0,0x0                                                                                     
004134   e204     BC        0x413e                                                                                          
004136   5002     MOVF      0x2,0x0,0x0                                                                                     
004138   0802     SUBLW     0x2                                                                                             
00413a   0e00     MOVLW     0x0                                                                                             
00413c   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00413e   e305     BNC       0x414a                                                                                          
004140   0e04     MOVLW     0x4                                                                                             
004142   6adb     CLRF      0xdb,0x0                                                                                        
004144   0e05     MOVLW     0x5                                                                                             
004146   6adb     CLRF      0xdb,0x0                                                                                        
004148   d02c     BRA       0x41a2          else if (v01>=3 && v01<=7) v01 = 5;                                             F:\MCP\projects\CAN\Include\adc.c
00414a   0e04     MOVLW     0x4                                                                                             
00414c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00414e   f000                                                                                                               
004150   0e05     MOVLW     0x5                                                                                             
004152   cfdb     MOVFF     0xfdb,0x1                                                                                       
004154   f001                                                                                                               
004156   90d8     BCF       0xd8,0x0,0x0                                                                                    
004158   5001     MOVF      0x1,0x0,0x0                                                                                     
00415a   e604     BN        0x4164                                                                                          
00415c   0e03     MOVLW     0x3                                                                                             
00415e   5c00     SUBWF     0x0,0x0,0x0                                                                                     
004160   0e00     MOVLW     0x0                                                                                             
004162   5801     SUBWFB    0x1,0x0,0x0                                                                                     
004164   e315     BNC       0x4190                                                                                          
004166   0e04     MOVLW     0x4                                                                                             
004168   cfdb     MOVFF     0xfdb,0x2                                                                                       
00416a   f002                                                                                                               
00416c   0e05     MOVLW     0x5                                                                                             
00416e   cfdb     MOVFF     0xfdb,0x3                                                                                       
004170   f003                                                                                                               
004172   3403     RLCF      0x3,0x0,0x0                                                                                     
004174   e204     BC        0x417e                                                                                          
004176   5002     MOVF      0x2,0x0,0x0                                                                                     
004178   0807     SUBLW     0x7                                                                                             
00417a   0e00     MOVLW     0x0                                                                                             
00417c   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00417e   e308     BNC       0x4190                                                                                          
004180   0e05     MOVLW     0x5                                                                                             
004182   6ef3     MOVWF     0xf3,0x0                                                                                        
004184   0e04     MOVLW     0x4                                                                                             
004186   cff3     MOVFF     0xff3,0xfdb                                                                                     
004188   ffdb                                                                                                               
00418a   0e05     MOVLW     0x5                                                                                             
00418c   6adb     CLRF      0xdb,0x0                                                                                        
00418e   d009     BRA       0x41a2          else  { v01 = 0; v11++;}                                                        F:\MCP\projects\CAN\Include\adc.c
004190   0e04     MOVLW     0x4                                                                                             
004192   6adb     CLRF      0xdb,0x0                                                                                        
004194   0e05     MOVLW     0x5                                                                                             
004196   6adb     CLRF      0xdb,0x0                                                                                        
004198   0e02     MOVLW     0x2                                                                                             
00419a   2adb     INCF      0xdb,0x1,0x0                                                                                    
00419c   0e03     MOVLW     0x3                                                                                             
00419e   e301     BNC       0x41a2                                                                                          
0041a0   2adb     INCF      0xdb,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
0041a2   0efd     MOVLW     0xfd            *tenth = (signed char)v11;                                                      F:\MCP\projects\CAN\Include\adc.c
0041a4   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0041a6   ffe9                                                                                                               
0041a8   0efe     MOVLW     0xfe                                                                                            
0041aa   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0041ac   ffea                                                                                                               
0041ae   0e02     MOVLW     0x2                                                                                             
0041b0   cfdb     MOVFF     0xfdb,0xfef                                                                                     
0041b2   ffef                                                                                                               
0041b4   0efb     MOVLW     0xfb            *decimal = (BYTE)v01;                                                           F:\MCP\projects\CAN\Include\adc.c
0041b6   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0041b8   ffe9                                                                                                               
0041ba   0efc     MOVLW     0xfc                                                                                            
0041bc   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0041be   ffea                                                                                                               
0041c0   0e04     MOVLW     0x4                                                                                             
0041c2   cfdb     MOVFF     0xfdb,0xfef                                                                                     
0041c4   ffef                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
0041c6   0100     MOVLB     0x0                 TEMP_DONE=FALSE;                                                               F:\MCP\projects\CAN\Include\adc.c
0041c8   6ba3     CLRF      0xa3,0x1                                                                                        
0041ca   0e08     MOVLW     0x8            }                                                                                F:\MCP\projects\CAN\Include\adc.c
0041cc   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0041ce   e202     BC        0x41d4                                                                                          
0041d0   6ae1     CLRF      0xe1,0x0                                                                                        
0041d2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0041d4   6ee1     MOVWF     0xe1,0x0                                                                                        
0041d6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0041d8   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0041da   ffd9                                                                                                               
0041dc   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
0041de   c091     MOVFF     0x91,0x29       return TEMP_VALUE;                                                              F:\MCP\projects\CAN\Include\adc.c
0041e0   f029                                                                                                               
0041e2   c092     MOVFF     0x92,0x2a                                                                                       
0041e4   f02a                                                                                                               
0041e6   c093     MOVFF     0x93,0x2b                                                                                       
0041e8   f02b                                                                                                               
0041ea   c094     MOVFF     0x94,0x2c                                                                                       
0041ec   f02c                                                                                                               
0041ee   d000     BRA       0x41f0                                                                                          
0041f0   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
0041f2   0100     MOVLB     0x0             return TEMP_DONE;                                                               F:\MCP\projects\CAN\Include\adc.c
0041f4   51a3     MOVF      0xa3,0x0,0x1                                                                                    
0041f6   d000     BRA       0x41f8                                                                                          
0041f8   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 WORD timerVal = 50536;                                                    F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           static WORD turnOffIO = 0;                                                       F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           static signed char currentPrecent = 0;                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           static BYTE dutyOffCounter = 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
0041fa   0ec1     MOVLW     0xc1            T1CON = 0b11000001;                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041fc   6ecd     MOVWF     0xcd,0x0                                                                                        
0041fe   0e00     MOVLW     0x0             TMR1H=((timerVal&0xFF00)>>8);                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
004200   0100     MOVLB     0x0                                                                                             
004202   1597     ANDWF     0x97,0x0,0x1                                                                                    
004204   6e00     MOVWF     0x0,0x0                                                                                         
004206   0eff     MOVLW     0xff                                                                                            
004208   1598     ANDWF     0x98,0x0,0x1                                                                                    
00420a   6e01     MOVWF     0x1,0x0                                                                                         
00420c   c001     MOVFF     0x1,0x0                                                                                         
00420e   f000                                                                                                               
004210   6a01     CLRF      0x1,0x0                                                                                         
004212   5000     MOVF      0x0,0x0,0x0                                                                                     
004214   6ecf     MOVWF     0xcf,0x0                                                                                        
004216   5197     MOVF      0x97,0x0,0x1    TMR1L=(timerVal&0xFF);                                                          F:\MCP\projects\CAN\canTemp\Source\blinds.c
004218   6ece     MOVWF     0xce,0x0                                                                                        
00421a   909e     BCF       0x9e,0x0,0x0    PIR1bits.TMR1IF = 0;                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
00421c   809d     BSF       0x9d,0x0,0x0    PIE1bits.TMR1IE = 1;                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
00421e   909f     BCF       0x9f,0x0,0x0    IPR1bits.TMR1IP = 0; // Low prior                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
004220   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
004222   0100     MOVLB     0x0             return currentPrecent;                                                          F:\MCP\projects\CAN\canTemp\Source\blinds.c
004224   519b     MOVF      0x9b,0x0,0x1                                                                                    
004226   d000     BRA       0x4228                                                                                          
004228   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
00422a   cfd9     MOVFF     0xfd9,0xfe6    void blindsTurn(BYTE precent)                                                    F:\MCP\projects\CAN\canTemp\Source\blinds.c
00422c   ffe6                                                                                                               
00422e   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
004230   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
004232   8a82     BSF       0x82,0x5,0x0    BLINDS0P_IO=1;                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
004234   0100     MOVLB     0x0             turnOffIO = IO_TIMEOUT;                                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
004236   0ebc     MOVLW     0xbc                                                                                            
004238   6f99     MOVWF     0x99,0x1                                                                                        
00423a   0e02     MOVLW     0x2                                                                                             
00423c   6f9a     MOVWF     0x9a,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
00423e   0efe     MOVLW     0xfe            currentPrecent = precent;                                                       F:\MCP\projects\CAN\canTemp\Source\blinds.c
004240   cfdb     MOVFF     0xfdb,0x9b                                                                                      
004242   f09b                                                                                                               
004244   50db     MOVF      0xdb,0x0,0x0    if (precent>100) { currentPrecent = 100; }                                      F:\MCP\projects\CAN\canTemp\Source\blinds.c
004246   0864     SUBLW     0x64                                                                                            
004248   e202     BC        0x424e                                                                                          
00424a   0e64     MOVLW     0x64                                                                                            
00424c   6f9b     MOVWF     0x9b,0x1                                                                                        
00424e   0e00     MOVLW     0x0             if (precent<0)   { currentPrecent =   0; }                                      F:\MCP\projects\CAN\canTemp\Source\blinds.c
004250   6ef3     MOVWF     0xf3,0x0                                                                                        
004252   0efe     MOVLW     0xfe                                                                                            
004254   cfdb     MOVFF     0xfdb,0xff4                                                                                     
004256   fff4                                                                                                               
004258   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00425a   5cf4     SUBWF     0xf4,0x0,0x0                                                                                    
00425c   e201     BC        0x4260                                                                                          
00425e   6b9b     CLRF      0x9b,0x1                                                                                        
004260   6b9c     CLRF      0x9c,0x1        dutyOffCounter = 0;                                                             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   ec40     CALL      0x3680,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   ecea     CALL      0x37d4,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   ec54     CALL      0x36a8,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   ec54     CALL      0x36a8,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   ecea     CALL      0x37d4,0x0                                                                                      
004366   f01b                                                                                                               
004368   ecaa     CALL      0x3954,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
004398   cfd9     MOVFF     0xfd9,0xfe6    void blindsISR(void)                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
00439a   ffe6                                                                                                               
00439c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00439e   ffd9                                                                                                               
0043a0   0e02     MOVLW     0x2                                                                                             
0043a2   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043a4   509e     MOVF      0x9e,0x0,0x0    if (PIR1bits.TMR1IF == 1 && PIE1bits.TMR1IE == 1)                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043a6   0b01     ANDLW     0x1                                                                                             
0043a8   e040     BZ        0x442a                                                                                          
0043aa   509d     MOVF      0x9d,0x0,0x0                                                                                    
0043ac   0b01     ANDLW     0x1                                                                                             
0043ae   e03d     BZ        0x442a                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043b0   c097     MOVFF     0x97,0xfde          WORD timerValBuffer = timerVal;                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043b2   ffde                                                                                                               
0043b4   c098     MOVFF     0x98,0xfdd                                                                                      
0043b6   ffdd                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043b8   0100     MOVLB     0x0                 dutyOffCounter++;                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043ba   2b9c     INCF      0x9c,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043bc   5082     MOVF      0x82,0x0,0x0        if (BLINDS0_IO==0 && dutyOffCounter>4)                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043be   0b10     ANDLW     0x10                                                                                            
0043c0   e106     BNZ       0x43ce                                                                                          
0043c2   519c     MOVF      0x9c,0x0,0x1                                                                                    
0043c4   0804     SUBLW     0x4                                                                                             
0043c6   e203     BC        0x43ce                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043c8   8882     BSF       0x82,0x4,0x0            BLINDS0_IO=1;                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043ca   6b9c     CLRF      0x9c,0x1                dutyOffCounter=0;                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043cc   d00d     BRA       0x43e8              else if (BLINDS0_IO==0 && dutyOffCounter<=4)                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043ce   5082     MOVF      0x82,0x0,0x0                                                                                    
0043d0   0b10     ANDLW     0x10                                                                                            
0043d2   e108     BNZ       0x43e4                                                                                          
0043d4   519c     MOVF      0x9c,0x0,0x1                                                                                    
0043d6   0804     SUBLW     0x4                                                                                             
0043d8   e305     BNC       0x43e4                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043da   0eb0     MOVLW     0xb0                    timerValBuffer = DUTY_OFF_DELAY;                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043dc   6ede     MOVWF     0xde,0x0                                                                                        
0043de   0e3c     MOVLW     0x3c                                                                                            
0043e0   6edd     MOVWF     0xdd,0x0                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043e2   d002     BRA       0x43e8              else if (BLINDS0_IO==1)                                                        F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043e4   b882     BTFSC     0x82,0x4,0x0                                                                                    
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043e6   9882     BCF       0x82,0x4,0x0            BLINDS0_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
0043e8   cfde     MOVFF     0xfde,0x0           TMR1H=((timerValBuffer&0xFF00)>>8);                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0043ea   f000                                                                                                               
0043ec   cfdd     MOVFF     0xfdd,0x1                                                                                       
0043ee   f001                                                                                                               
0043f0   0e00     MOVLW     0x0                                                                                             
0043f2   1600     ANDWF     0x0,0x1,0x0                                                                                     
0043f4   0eff     MOVLW     0xff                                                                                            
0043f6   1601     ANDWF     0x1,0x1,0x0                                                                                     
0043f8   c001     MOVFF     0x1,0x0                                                                                         
0043fa   f000                                                                                                               
0043fc   6a01     CLRF      0x1,0x0                                                                                         
0043fe   5000     MOVF      0x0,0x0,0x0                                                                                     
004400   6ecf     MOVWF     0xcf,0x0                                                                                        
004402   cfde     MOVFF     0xfde,0x0           TMR1L=(timerValBuffer&0xFF);                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
004404   f000                                                                                                               
004406   cfdd     MOVFF     0xfdd,0x1                                                                                       
004408   f001                                                                                                               
00440a   5000     MOVF      0x0,0x0,0x0                                                                                     
00440c   6ece     MOVWF     0xce,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
00440e   c099     MOVFF     0x99,0x0            if (turnOffIO--<1)                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
004410   f000                                                                                                               
004412   c09a     MOVFF     0x9a,0x1                                                                                        
004414   f001                                                                                                               
004416   0799     DECF      0x99,0x1,0x1                                                                                    
004418   0e00     MOVLW     0x0                                                                                             
00441a   5b9a     SUBWFB    0x9a,0x1,0x1                                                                                    
00441c   0e01     MOVLW     0x1                                                                                             
00441e   5c00     SUBWF     0x0,0x0,0x0                                                                                     
004420   0e00     MOVLW     0x0                                                                                             
004422   5801     SUBWFB    0x1,0x0,0x0                                                                                     
004424   e201     BC        0x4428                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
004426   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
004428   909e     BCF       0x9e,0x0,0x0        PIR1bits.TMR1IF = 0;                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
00442a   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
00442c   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00442e   e202     BC        0x4434                                                                                          
004430   6ae1     CLRF      0xe1,0x0                                                                                        
004432   52e5     MOVF      0xe5,0x1,0x0                                                                                    
004434   6ee1     MOVWF     0xe1,0x0                                                                                        
004436   52e5     MOVF      0xe5,0x1,0x0                                                                                    
004438   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00443a   ffd9                                                                                                               
00443c   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c