Subversion Repositories HomeAutomation

Rev

Rev 347 | 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: Sat Mar 03 18:40:13 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
                                           static 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   e1fc     BNZ       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
003074   0e04     MOVLW     0x4             BRGCON1 = 0x04;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
003076   6e70     MOVWF     0x70,0x0                                                                                        
003078   0ed1     MOVLW     0xd1            BRGCON2 = 0xD1;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00307a   6e71     MOVWF     0x71,0x0                                                                                        
00307c   0e81     MOVLW     0x81            BRGCON3 = 0x81;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00307e   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
003080   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
003082   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
003084   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
003086   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
003088   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
00308a   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00308c   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00308e   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
003090   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003092   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003094   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
003096   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
003098   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00309a   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00309c   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00309e   e1fd     BNZ       0x309a                                                                                          
                                            #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
0030a0   ec8a     CALL      0x4514,0x0      tickInit();                                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0030a2   f022                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
0030a4   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0030a6   6ee6     MOVWF     0xe6,0x0                                                                                        
0030a8   6ae6     CLRF      0xe6,0x0                                                                                        
0030aa   ec0d     CALL      0x441a,0x0                                                                                      
0030ac   f022                                                                                                               
0030ae   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030b0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030b2   082a     SUBLW     0x2a                                                                                            
0030b4   e10a     BNZ       0x30ca                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0030b6   0e01     MOVLW     0x1                 MY_ID=+EERead(NODE_ID_EE + 1);                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0030b8   6ee6     MOVWF     0xe6,0x0                                                                                        
0030ba   6ae6     CLRF      0xe6,0x0                                                                                        
0030bc   ec0d     CALL      0x441a,0x0                                                                                      
0030be   f022                                                                                                               
0030c0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030c2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0030c4   0100     MOVLB     0x0                                                                                             
0030c6   6f9d     MOVWF     0x9d,0x1                                                                                        
0030c8   6b9e     CLRF      0x9e,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Send user program startup heatbeat                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0030ca   0100     MOVLB     0x0             outCp.type=ptPGM;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0030cc   0e01     MOVLW     0x1                                                                                             
0030ce   6f64     MOVWF     0x64,0x1                                                                                        
0030d0   6b65     CLRF      0x65,0x1        outCp.pgm.class=pcCTRL;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0030d2   6f66     MOVWF     0x66,0x1        outCp.pgm.id=pctAPPBOOT;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0030d4   6b67     CLRF      0x67,0x1                                                                                        
0030d6   0e02     MOVLW     0x2             outCp.length=2;                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0030d8   6f6c     MOVWF     0x6c,0x1                                                                                        
0030da   6b6e     CLRF      0x6e,0x1        outCp.data[1]=(BYTE)((APP_VERSION & 0xFF00)>>8);                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0030dc   6f6d     MOVWF     0x6d,0x1        outCp.data[0]=(BYTE)(APP_VERSION & 0xFF);                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
0030de   0e02     MOVLW     0x2             while(!canSendMessage(outCp,PRIO_HIGH));                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0030e0   6ee6     MOVWF     0xe6,0x0                                                                                        
0030e2   c064     MOVFF     0x64,0xfe6                                                                                      
0030e4   ffe6                                                                                                               
0030e6   c065     MOVFF     0x65,0xfe6                                                                                      
0030e8   ffe6                                                                                                               
0030ea   c066     MOVFF     0x66,0xfe6                                                                                      
0030ec   ffe6                                                                                                               
0030ee   c067     MOVFF     0x67,0xfe6                                                                                      
0030f0   ffe6                                                                                                               
0030f2   c068     MOVFF     0x68,0xfe6                                                                                      
0030f4   ffe6                                                                                                               
0030f6   c069     MOVFF     0x69,0xfe6                                                                                      
0030f8   ffe6                                                                                                               
0030fa   c06a     MOVFF     0x6a,0xfe6                                                                                      
0030fc   ffe6                                                                                                               
0030fe   c06b     MOVFF     0x6b,0xfe6                                                                                      
003100   ffe6                                                                                                               
003102   c06c     MOVFF     0x6c,0xfe6                                                                                      
003104   ffe6                                                                                                               
003106   c06d     MOVFF     0x6d,0xfe6                                                                                      
003108   ffe6                                                                                                               
00310a   c06e     MOVFF     0x6e,0xfe6                                                                                      
00310c   ffe6                                                                                                               
00310e   c06f     MOVFF     0x6f,0xfe6                                                                                      
003110   ffe6                                                                                                               
003112   c070     MOVFF     0x70,0xfe6                                                                                      
003114   ffe6                                                                                                               
003116   c071     MOVFF     0x71,0xfe6                                                                                      
003118   ffe6                                                                                                               
00311a   c072     MOVFF     0x72,0xfe6                                                                                      
00311c   ffe6                                                                                                               
00311e   c073     MOVFF     0x73,0xfe6                                                                                      
003120   ffe6                                                                                                               
003122   c074     MOVFF     0x74,0xfe6                                                                                      
003124   ffe6                                                                                                               
003126   d9ca     RCALL     0x34bc                                                                                          
003128   6e00     MOVWF     0x0,0x0                                                                                         
00312a   0e12     MOVLW     0x12                                                                                            
00312c   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00312e   5000     MOVF      0x0,0x0,0x0                                                                                     
003130   0900     IORLW     0x0                                                                                             
003132   e0d5     BZ        0x30de                                                                                          
003134   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
003136   0004     CLRWDT                    ClrWdt();                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003138   eca2     CALL      0x4544,0x0      tickUpdate();                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
00313a   f022                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00313c   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
00313e   0b02     ANDLW     0x2                                                                                             
003140   e106     BNZ       0x314e                                                                                          
003142   50a4     MOVF      0xa4,0x0,0x0                                                                                    
003144   0b02     ANDLW     0x2                                                                                             
003146   e103     BNZ       0x314e                                                                                          
003148   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00314a   0b01     ANDLW     0x1                                                                                             
00314c   e016     BZ        0x317a                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00314e   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
003150   146f     ANDWF     0x6f,0x0,0x0                                                                                    
003152   0910     IORLW     0x10                                                                                            
003154   6e00     MOVWF     0x0,0x0                                                                                         
003156   0e00     MOVLW     0x0                                                                                             
003158   1477     ANDWF     0x77,0x0,0x0                                                                                    
00315a   1000     IORWF     0x0,0x0,0x0                                                                                     
00315c   6e77     MOVWF     0x77,0x0                                                                                        
00315e   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003160   d867     RCALL     0x3230                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003162   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003164   d002     BRA       0x316a                                                                                          
003166   92a4     BCF       0xa4,0x1,0x0                                                                                    
003168   d062     BRA       0x322e                                                                                          
00316a   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00316c   d002     BRA       0x3172                                                                                          
00316e   92a4     BCF       0xa4,0x1,0x0                                                                                    
003170   d05e     BRA       0x322e                                                                                          
003172   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003174   d002     BRA       0x317a                                                                                          
003176   90a4     BCF       0xa4,0x0,0x0                                                                                    
003178   d05a     BRA       0x322e                                                                                          
                                            }                                                                               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
00317a   ec99     CALL      0x4532,0x0      if ((tickGet()-heartbeat)>TICK_1S*5)                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
00317c   f022                                                                                                               
00317e   0100     MOVLB     0x0                                                                                             
003180   5160     MOVF      0x60,0x0,0x1                                                                                    
003182   5c29     SUBWF     0x29,0x0,0x0                                                                                    
003184   6e00     MOVWF     0x0,0x0                                                                                         
003186   0100     MOVLB     0x0                                                                                             
003188   5161     MOVF      0x61,0x0,0x1                                                                                    
00318a   582a     SUBWFB    0x2a,0x0,0x0                                                                                    
00318c   6e01     MOVWF     0x1,0x0                                                                                         
00318e   0100     MOVLB     0x0                                                                                             
003190   5162     MOVF      0x62,0x0,0x1                                                                                    
003192   582b     SUBWFB    0x2b,0x0,0x0                                                                                    
003194   6e02     MOVWF     0x2,0x0                                                                                         
003196   0100     MOVLB     0x0                                                                                             
003198   5163     MOVF      0x63,0x0,0x1                                                                                    
00319a   582c     SUBWFB    0x2c,0x0,0x0                                                                                    
00319c   6e03     MOVWF     0x3,0x0                                                                                         
00319e   80d8     BSF       0xd8,0x0,0x0                                                                                    
0031a0   0ef4     MOVLW     0xf4                                                                                            
0031a2   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0031a4   0e01     MOVLW     0x1                                                                                             
0031a6   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0031a8   0e00     MOVLW     0x0                                                                                             
0031aa   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0031ac   0e00     MOVLW     0x0                                                                                             
0031ae   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0031b0   e23e     BC        0x322e                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Send alive heartbeat                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0031b2   0100     MOVLB     0x0                 outCp.type=ptPGM;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0031b4   0e01     MOVLW     0x1                                                                                             
0031b6   6f64     MOVWF     0x64,0x1                                                                                        
0031b8   0100     MOVLB     0x0                 outCp.pgm.class=pcCTRL;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
0031ba   6b65     CLRF      0x65,0x1                                                                                        
0031bc   0e02     MOVLW     0x2                 outCp.pgm.id=pctHEARTBEAT;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0031be   0100     MOVLB     0x0                                                                                             
0031c0   6f66     MOVWF     0x66,0x1                                                                                        
0031c2   6b67     CLRF      0x67,0x1                                                                                        
0031c4   0100     MOVLB     0x0                 outCp.length=0;                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0031c6   6b6c     CLRF      0x6c,0x1                                                                                        
0031c8   0e02     MOVLW     0x2                 canSendMessage(outCp,PRIO_HIGH);                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
0031ca   6ee6     MOVWF     0xe6,0x0                                                                                        
0031cc   c064     MOVFF     0x64,0xfe6                                                                                      
0031ce   ffe6                                                                                                               
0031d0   c065     MOVFF     0x65,0xfe6                                                                                      
0031d2   ffe6                                                                                                               
0031d4   c066     MOVFF     0x66,0xfe6                                                                                      
0031d6   ffe6                                                                                                               
0031d8   c067     MOVFF     0x67,0xfe6                                                                                      
0031da   ffe6                                                                                                               
0031dc   c068     MOVFF     0x68,0xfe6                                                                                      
0031de   ffe6                                                                                                               
0031e0   c069     MOVFF     0x69,0xfe6                                                                                      
0031e2   ffe6                                                                                                               
0031e4   c06a     MOVFF     0x6a,0xfe6                                                                                      
0031e6   ffe6                                                                                                               
0031e8   c06b     MOVFF     0x6b,0xfe6                                                                                      
0031ea   ffe6                                                                                                               
0031ec   c06c     MOVFF     0x6c,0xfe6                                                                                      
0031ee   ffe6                                                                                                               
0031f0   c06d     MOVFF     0x6d,0xfe6                                                                                      
0031f2   ffe6                                                                                                               
0031f4   c06e     MOVFF     0x6e,0xfe6                                                                                      
0031f6   ffe6                                                                                                               
0031f8   c06f     MOVFF     0x6f,0xfe6                                                                                      
0031fa   ffe6                                                                                                               
0031fc   c070     MOVFF     0x70,0xfe6                                                                                      
0031fe   ffe6                                                                                                               
003200   c071     MOVFF     0x71,0xfe6                                                                                      
003202   ffe6                                                                                                               
003204   c072     MOVFF     0x72,0xfe6                                                                                      
003206   ffe6                                                                                                               
003208   c073     MOVFF     0x73,0xfe6                                                                                      
00320a   ffe6                                                                                                               
00320c   c074     MOVFF     0x74,0xfe6                                                                                      
00320e   ffe6                                                                                                               
003210   d955     RCALL     0x34bc                                                                                          
003212   6e00     MOVWF     0x0,0x0                                                                                         
003214   0e12     MOVLW     0x12                                                                                            
003216   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003218   5000     MOVF      0x0,0x0,0x0                                                                                     
                                                                                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
00321a   ec99     CALL      0x4532,0x0          heartbeat = tickGet();                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00321c   f022                                                                                                               
00321e   c029     MOVFF     0x29,0x60                                                                                       
003220   f060                                                                                                               
003222   c02a     MOVFF     0x2a,0x61                                                                                       
003224   f061                                                                                                               
003226   c02b     MOVFF     0x2b,0x62                                                                                       
003228   f062                                                                                                               
00322a   c02c     MOVFF     0x2c,0x63                                                                                       
00322c   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
00322e   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
003230   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003232   ffe6                                                                                                               
003234   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003236   ffd9                                                                                                               
003238   0e11     MOVLW     0x11                                                                                            
00323a   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
00323c   0e06     MOVLW     0x6                 cp.type = (BYTE)((RXB0SIDH&0xC0)>>6);                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
00323e   6e00     MOVWF     0x0,0x0                                                                                         
003240   0ec0     MOVLW     0xc0                                                                                            
003242   1461     ANDWF     0x61,0x0,0x0                                                                                    
003244   c000     MOVFF     0x0,0xfe7                                                                                       
003246   ffe7                                                                                                               
003248   52e7     MOVF      0xe7,0x1,0x0                                                                                    
00324a   e004     BZ        0x3254                                                                                          
00324c   42e8     RRNCF     0xe8,0x1,0x0                                                                                    
00324e   0b7f     ANDLW     0x7f                                                                                            
003250   06e7     DECF      0xe7,0x1,0x0                                                                                    
003252   e1fc     BNZ       0x324c                                                                                          
003254   6edf     MOVWF     0xdf,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003256   50df     MOVF      0xdf,0x0,0x0        if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
003258   e122     BNZ       0x329e                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00325a   0e38     MOVLW     0x38                    cp.boot.type  = ((RXB0SIDH&0x38)>>3);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00325c   1461     ANDWF     0x61,0x0,0x0                                                                                    
00325e   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003260   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003262   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003264   0b1f     ANDLW     0x1f                                                                                            
003266   6ee7     MOVWF     0xe7,0x0                                                                                        
003268   0e04     MOVLW     0x4                                                                                             
00326a   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00326c   ffdb                                                                                                               
00326e   0e03     MOVLW     0x3                     cp.boot.offset= ((RXB0SIDH&0x7)<<5)+((RXB0SIDL&0xE0)>>3)+(RXB0SIDL&0x3);      F:\MCP\projects\CAN\canBase\Source\CAN.c
003270   1462     ANDWF     0x62,0x0,0x0                                                                                    
003272   6e01     MOVWF     0x1,0x0                                                                                         
003274   0ee0     MOVLW     0xe0                                                                                            
003276   1462     ANDWF     0x62,0x0,0x0                                                                                    
003278   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00327a   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00327c   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00327e   0b1f     ANDLW     0x1f                                                                                            
003280   6e00     MOVWF     0x0,0x0                                                                                         
003282   0e07     MOVLW     0x7                                                                                             
003284   1461     ANDWF     0x61,0x0,0x0                                                                                    
003286   0d20     MULLW     0x20                                                                                            
003288   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00328a   2400     ADDWF     0x0,0x0,0x0                                                                                     
00328c   2401     ADDWF     0x1,0x0,0x0                                                                                     
00328e   6ee7     MOVWF     0xe7,0x0                                                                                        
003290   0e05     MOVLW     0x5                                                                                             
003292   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003294   ffdb                                                                                                               
003296   0e06     MOVLW     0x6                     cp.boot.rid   = RXB0EIDH;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
003298   cf63     MOVFF     0xf63,0xfdb                                                                                     
00329a   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00329c   d03c     BRA       0x3316              else                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00329e   0e3c     MOVLW     0x3c                    cp.pgm.class= ((RXB0SIDH&0x3C)>>2);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0032a0   1461     ANDWF     0x61,0x0,0x0                                                                                    
0032a2   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0032a4   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0032a6   0b3f     ANDLW     0x3f                                                                                            
0032a8   6ee7     MOVWF     0xe7,0x0                                                                                        
0032aa   0e01     MOVLW     0x1                                                                                             
0032ac   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0032ae   ffdb                                                                                                               
0032b0   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
0032b2   1461     ANDWF     0x61,0x0,0x0                                                                                    
0032b4   6e06     MOVWF     0x6,0x0                                                                                         
0032b6   6a07     CLRF      0x7,0x0                                                                                         
0032b8   3806     SWAPF     0x6,0x0,0x0                                                                                     
0032ba   6a06     CLRF      0x6,0x0                                                                                         
0032bc   34e8     RLCF      0xe8,0x0,0x0                                                                                    
0032be   0be0     ANDLW     0xe0                                                                                            
0032c0   6e07     MOVWF     0x7,0x0                                                                                         
0032c2   0ee0     MOVLW     0xe0                                                                                            
0032c4   1462     ANDWF     0x62,0x0,0x0                                                                                    
0032c6   6e08     MOVWF     0x8,0x0                                                                                         
0032c8   6a09     CLRF      0x9,0x0                                                                                         
0032ca   0e05     MOVLW     0x5                                                                                             
0032cc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0032ce   3608     RLCF      0x8,0x1,0x0                                                                                     
0032d0   3609     RLCF      0x9,0x1,0x0                                                                                     
0032d2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0032d4   e1fb     BNZ       0x32cc                                                                                          
0032d6   5006     MOVF      0x6,0x0,0x0                                                                                     
0032d8   2408     ADDWF     0x8,0x0,0x0                                                                                     
0032da   6e04     MOVWF     0x4,0x0                                                                                         
0032dc   5007     MOVF      0x7,0x0,0x0                                                                                     
0032de   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0032e0   6e05     MOVWF     0x5,0x0                                                                                         
0032e2   0e03     MOVLW     0x3                                                                                             
0032e4   1462     ANDWF     0x62,0x0,0x0                                                                                    
0032e6   6e0a     MOVWF     0xa,0x0                                                                                         
0032e8   6a0b     CLRF      0xb,0x0                                                                                         
0032ea   c00a     MOVFF     0xa,0xb                                                                                         
0032ec   f00b                                                                                                               
0032ee   6a0a     CLRF      0xa,0x0                                                                                         
0032f0   5004     MOVF      0x4,0x0,0x0                                                                                     
0032f2   240a     ADDWF     0xa,0x0,0x0                                                                                     
0032f4   6e02     MOVWF     0x2,0x0                                                                                         
0032f6   5005     MOVF      0x5,0x0,0x0                                                                                     
0032f8   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0032fa   6e03     MOVWF     0x3,0x0                                                                                         
0032fc   5063     MOVF      0x63,0x0,0x0                                                                                    
0032fe   0100     MOVLB     0x0                                                                                             
003300   2402     ADDWF     0x2,0x0,0x0                                                                                     
003302   6e00     MOVWF     0x0,0x0                                                                                         
003304   0e00     MOVLW     0x0                                                                                             
003306   2003     ADDWFC    0x3,0x0,0x0                                                                                     
003308   6e01     MOVWF     0x1,0x0                                                                                         
00330a   0e02     MOVLW     0x2                                                                                             
00330c   c000     MOVFF     0x0,0xfdb                                                                                       
00330e   ffdb                                                                                                               
003310   0e03     MOVLW     0x3                                                                                             
003312   c001     MOVFF     0x1,0xfdb                                                                                       
003314   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
003316   0e07     MOVLW     0x7                 cp.sid   = RXB0EIDL;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
003318   cf64     MOVFF     0xf64,0xfdb                                                                                     
00331a   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
00331c   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
00331e   0b01     ANDLW     0x1                                                                                             
003320   6e02     MOVWF     0x2,0x0                                                                                         
003322   5065     MOVF      0x65,0x0,0x0                                                                                    
003324   0b02     ANDLW     0x2                                                                                             
003326   e001     BZ        0x332a                                                                                          
003328   0e01     MOVLW     0x1                                                                                             
00332a   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
00332c   6e01     MOVWF     0x1,0x0                                                                                         
00332e   5065     MOVF      0x65,0x0,0x0                                                                                    
003330   0b04     ANDLW     0x4                                                                                             
003332   e001     BZ        0x3336                                                                                          
003334   0e01     MOVLW     0x1                                                                                             
003336   0d04     MULLW     0x4                                                                                             
003338   cff3     MOVFF     0xff3,0x0                                                                                       
00333a   f000                                                                                                               
00333c   5065     MOVF      0x65,0x0,0x0                                                                                    
00333e   0b08     ANDLW     0x8                                                                                             
003340   e001     BZ        0x3344                                                                                          
003342   0e01     MOVLW     0x1                                                                                             
003344   0d08     MULLW     0x8                                                                                             
003346   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003348   2400     ADDWF     0x0,0x0,0x0                                                                                     
00334a   2401     ADDWF     0x1,0x0,0x0                                                                                     
00334c   2402     ADDWF     0x2,0x0,0x0                                                                                     
00334e   6ee7     MOVWF     0xe7,0x0                                                                                        
003350   0e08     MOVLW     0x8                                                                                             
003352   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003354   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
003356   0e09     MOVLW     0x9                 cp.data[0]=RXB0D0;  cp.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003358   cf66     MOVFF     0xf66,0xfdb                                                                                     
00335a   ffdb                                                                                                               
00335c   0e0a     MOVLW     0xa                                                                                             
00335e   cf67     MOVFF     0xf67,0xfdb                                                                                     
003360   ffdb                                                                                                               
003362   0e0b     MOVLW     0xb                 cp.data[2]=RXB0D2;  cp.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003364   cf68     MOVFF     0xf68,0xfdb                                                                                     
003366   ffdb                                                                                                               
003368   0e0c     MOVLW     0xc                                                                                             
00336a   cf69     MOVFF     0xf69,0xfdb                                                                                     
00336c   ffdb                                                                                                               
00336e   0e0d     MOVLW     0xd                 cp.data[4]=RXB0D4;  cp.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
003370   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
003372   ffdb                                                                                                               
003374   0e0e     MOVLW     0xe                                                                                             
003376   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
003378   ffdb                                                                                                               
00337a   0e0f     MOVLW     0xf                 cp.data[6]=RXB0D6;  cp.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
00337c   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
00337e   ffdb                                                                                                               
003380   0e10     MOVLW     0x10                                                                                            
003382   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
003384   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003386   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
003388   50df     MOVF      0xdf,0x0,0x0        if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00338a   e160     BNZ       0x344c                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00338c   0e06     MOVLW     0x6                     if (cp.boot.rid==MY_ID)                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
00338e   50db     MOVF      0xdb,0x0,0x0                                                                                    
003390   6e00     MOVWF     0x0,0x0                                                                                         
003392   6a01     CLRF      0x1,0x0                                                                                         
003394   0100     MOVLB     0x0                                                                                             
003396   519d     MOVF      0x9d,0x0,0x1                                                                                    
003398   1800     XORWF     0x0,0x0,0x0                                                                                     
00339a   e102     BNZ       0x33a0                                                                                          
00339c   519e     MOVF      0x9e,0x0,0x1                                                                                    
00339e   1801     XORWF     0x1,0x0,0x0                                                                                     
0033a0   e155     BNZ       0x344c                                                                                          
                                                    {                                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
0033a2   0e04     MOVLW     0x4                         if (cp.boot.type==btADDR) Reset(); // Reset me.                              F:\MCP\projects\CAN\canBase\Source\CAN.c
0033a4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033a6   e101     BNZ       0x33aa                                                                                          
0033a8   00ff     RESET                                                                                                     
0033aa   0e04     MOVLW     0x4                         if (cp.boot.type==btCHANGEID)                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0033ac   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033ae   0807     SUBLW     0x7                                                                                             
0033b0   e14d     BNZ       0x344c                                                                                          
                                                        {                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                // Change my ID and NID                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
0033b2   0e09     MOVLW     0x9                                 MY_ID=cp.data[0];                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0033b4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0033b6   0100     MOVLB     0x0                                                                                             
0033b8   6f9d     MOVWF     0x9d,0x1                                                                                        
0033ba   6b9e     CLRF      0x9e,0x1                                                                                        
0033bc   0e09     MOVLW     0x9                                 EEWrite(NODE_ID_EE+1,cp.data[0]);                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
0033be   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0033c0   ffe6                                                                                                               
0033c2   0e01     MOVLW     0x1                                                                                             
0033c4   6ee6     MOVWF     0xe6,0x0                                                                                        
0033c6   6ae6     CLRF      0xe6,0x0                                                                                        
0033c8   ec29     CALL      0x4452,0x0                                                                                      
0033ca   f022                                                                                                               
0033cc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033ce   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033d0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033d2   0e2a     MOVLW     0x2a                                EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
0033d4   6ee6     MOVWF     0xe6,0x0                                                                                        
0033d6   0e00     MOVLW     0x0                                                                                             
0033d8   6ee6     MOVWF     0xe6,0x0                                                                                        
0033da   6ae6     CLRF      0xe6,0x0                                                                                        
0033dc   ec29     CALL      0x4452,0x0                                                                                      
0033de   f022                                                                                                               
0033e0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033e2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0033e4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                // Send ack with new id.                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0033e6   0100     MOVLB     0x0                                 outCp.type=ptBOOT;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
0033e8   6b64     CLRF      0x64,0x1                                                                                        
0033ea   0100     MOVLB     0x0                                 outCp.boot.type=btACK;                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0033ec   0e04     MOVLW     0x4                                                                                             
0033ee   6f68     MOVWF     0x68,0x1                                                                                        
0033f0   0100     MOVLB     0x0                                 outCp.length=0;                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0033f2   6b6c     CLRF      0x6c,0x1                                                                                        
0033f4   0e02     MOVLW     0x2                                 while(!canSendMessage(outCp,PRIO_HIGH));                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0033f6   6ee6     MOVWF     0xe6,0x0                                                                                        
0033f8   c064     MOVFF     0x64,0xfe6                                                                                      
0033fa   ffe6                                                                                                               
0033fc   c065     MOVFF     0x65,0xfe6                                                                                      
0033fe   ffe6                                                                                                               
003400   c066     MOVFF     0x66,0xfe6                                                                                      
003402   ffe6                                                                                                               
003404   c067     MOVFF     0x67,0xfe6                                                                                      
003406   ffe6                                                                                                               
003408   c068     MOVFF     0x68,0xfe6                                                                                      
00340a   ffe6                                                                                                               
00340c   c069     MOVFF     0x69,0xfe6                                                                                      
00340e   ffe6                                                                                                               
003410   c06a     MOVFF     0x6a,0xfe6                                                                                      
003412   ffe6                                                                                                               
003414   c06b     MOVFF     0x6b,0xfe6                                                                                      
003416   ffe6                                                                                                               
003418   c06c     MOVFF     0x6c,0xfe6                                                                                      
00341a   ffe6                                                                                                               
00341c   c06d     MOVFF     0x6d,0xfe6                                                                                      
00341e   ffe6                                                                                                               
003420   c06e     MOVFF     0x6e,0xfe6                                                                                      
003422   ffe6                                                                                                               
003424   c06f     MOVFF     0x6f,0xfe6                                                                                      
003426   ffe6                                                                                                               
003428   c070     MOVFF     0x70,0xfe6                                                                                      
00342a   ffe6                                                                                                               
00342c   c071     MOVFF     0x71,0xfe6                                                                                      
00342e   ffe6                                                                                                               
003430   c072     MOVFF     0x72,0xfe6                                                                                      
003432   ffe6                                                                                                               
003434   c073     MOVFF     0x73,0xfe6                                                                                      
003436   ffe6                                                                                                               
003438   c074     MOVFF     0x74,0xfe6                                                                                      
00343a   ffe6                                                                                                               
00343c   d83f     RCALL     0x34bc                                                                                          
00343e   6e00     MOVWF     0x0,0x0                                                                                         
003440   0e12     MOVLW     0x12                                                                                            
003442   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003444   5000     MOVF      0x0,0x0,0x0                                                                                     
003446   0900     IORLW     0x0                                                                                             
003448   e101     BNZ       0x344c                                                                                          
00344a   d7d4     BRA       0x33f4                                                                                          
                                                        }                                                                            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
00344c   04df     DECF      0xdf,0x0,0x0        if (cp.type==ptPGM) canParse(cp);                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
00344e   e12c     BNZ       0x34a8                                                                                          
003450   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
003452   ffe9                                                                                                               
003454   cfda     MOVFF     0xfda,0xfea                                                                                     
003456   ffea                                                                                                               
003458   cfee     MOVFF     0xfee,0xfe6                                                                                     
00345a   ffe6                                                                                                               
00345c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00345e   ffe6                                                                                                               
003460   cfee     MOVFF     0xfee,0xfe6                                                                                     
003462   ffe6                                                                                                               
003464   cfee     MOVFF     0xfee,0xfe6                                                                                     
003466   ffe6                                                                                                               
003468   cfee     MOVFF     0xfee,0xfe6                                                                                     
00346a   ffe6                                                                                                               
00346c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00346e   ffe6                                                                                                               
003470   cfee     MOVFF     0xfee,0xfe6                                                                                     
003472   ffe6                                                                                                               
003474   cfee     MOVFF     0xfee,0xfe6                                                                                     
003476   ffe6                                                                                                               
003478   cfee     MOVFF     0xfee,0xfe6                                                                                     
00347a   ffe6                                                                                                               
00347c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00347e   ffe6                                                                                                               
003480   cfee     MOVFF     0xfee,0xfe6                                                                                     
003482   ffe6                                                                                                               
003484   cfee     MOVFF     0xfee,0xfe6                                                                                     
003486   ffe6                                                                                                               
003488   cfee     MOVFF     0xfee,0xfe6                                                                                     
00348a   ffe6                                                                                                               
00348c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00348e   ffe6                                                                                                               
003490   cfee     MOVFF     0xfee,0xfe6                                                                                     
003492   ffe6                                                                                                               
003494   cfee     MOVFF     0xfee,0xfe6                                                                                     
003496   ffe6                                                                                                               
003498   cfee     MOVFF     0xfee,0xfe6                                                                                     
00349a   ffe6                                                                                                               
00349c   ec2c     CALL      0x3e58,0x0                                                                                      
00349e   f01f                                                                                                               
0034a0   6e00     MOVWF     0x0,0x0                                                                                         
0034a2   0e11     MOVLW     0x11                                                                                            
0034a4   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0034a6   5000     MOVF      0x0,0x0,0x0                                                                                     
0034a8   0e11     MOVLW     0x11           }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
0034aa   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0034ac   e202     BC        0x34b2                                                                                          
0034ae   6ae1     CLRF      0xe1,0x0                                                                                        
0034b0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0034b2   6ee1     MOVWF     0xe1,0x0                                                                                        
0034b4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0034b6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0034b8   ffd9                                                                                                               
0034ba   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
0034bc   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PACKET cp, CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034be   ffe6                                                                                                               
0034c0   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0034c2   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034c4   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
0034c6   b740     BTFSC     0x40,0x3,0x1                                                                                    
0034c8   d005     BRA       0x34d4                                                                                          
0034ca   0e00     MOVLW     0x0                                                                                             
0034cc   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034ce   0903     IORLW     0x3                                                                                             
0034d0   6e77     MOVWF     0x77,0x0                                                                                        
0034d2   d012     BRA       0x34f8          else if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }      F:\MCP\projects\CAN\canBase\Source\CAN.c
0034d4   010f     MOVLB     0xf                                                                                             
0034d6   b730     BTFSC     0x30,0x3,0x1                                                                                    
0034d8   d005     BRA       0x34e4                                                                                          
0034da   0e00     MOVLW     0x0                                                                                             
0034dc   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034de   0904     IORLW     0x4                                                                                             
0034e0   6e77     MOVWF     0x77,0x0                                                                                        
0034e2   d00a     BRA       0x34f8          else if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }      F:\MCP\projects\CAN\canBase\Source\CAN.c
0034e4   010f     MOVLB     0xf                                                                                             
0034e6   b720     BTFSC     0x20,0x3,0x1                                                                                    
0034e8   d005     BRA       0x34f4                                                                                          
0034ea   0e00     MOVLW     0x0                                                                                             
0034ec   1477     ANDWF     0x77,0x0,0x0                                                                                    
0034ee   0905     IORLW     0x5                                                                                             
0034f0   6e77     MOVWF     0x77,0x0                                                                                        
0034f2   d002     BRA       0x34f8          else { return FALSE;}  // None of the transmit buffers were empty.              F:\MCP\projects\CAN\canBase\Source\CAN.c
0034f4   0e00     MOVLW     0x0                                                                                             
0034f6   d0bd     BRA       0x3672                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
0034f8   0eed     MOVLW     0xed            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
0034fa   cfdb     MOVFF     0xfdb,0x0                                                                                       
0034fc   f000                                                                                                               
0034fe   3400     RLCF      0x0,0x0,0x0                                                                                     
003500   e20e     BC        0x351e                                                                                          
003502   0eed     MOVLW     0xed                                                                                            
003504   cfdb     MOVFF     0xfdb,0x1                                                                                       
003506   f001                                                                                                               
003508   0e03     MOVLW     0x3                                                                                             
00350a   6ee7     MOVWF     0xe7,0x0                                                                                        
00350c   1801     XORWF     0x1,0x0,0x0                                                                                     
00350e   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
003510   d002     BRA       0x3516                                                                                          
003512   3401     RLCF      0x1,0x0,0x0                                                                                     
003514   d003     BRA       0x351c                                                                                          
003516   50e7     MOVF      0xe7,0x0,0x0                                                                                    
003518   80d8     BSF       0xd8,0x0,0x0                                                                                    
00351a   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00351c   e202     BC        0x3522                                                                                          
00351e   0eed     MOVLW     0xed                                                                                            
003520   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
003522   0eee     MOVLW     0xee            if (cp.type==ptBOOT)                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003524   50db     MOVF      0xdb,0x0,0x0                                                                                    
003526   e124     BNZ       0x3570                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003528   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
00352a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00352c   0be0     ANDLW     0xe0                                                                                            
00352e   0be0     ANDLW     0xe0                                                                                            
003530   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
003532   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
003534   6e01     MOVWF     0x1,0x0                                                                                         
003536   0ef2     MOVLW     0xf2                                                                                            
003538   50db     MOVF      0xdb,0x0,0x0                                                                                    
00353a   0b07     ANDLW     0x7                                                                                             
00353c   0d08     MULLW     0x8                                                                                             
00353e   cff3     MOVFF     0xff3,0x0                                                                                       
003540   f000                                                                                                               
003542   0eee     MOVLW     0xee                                                                                            
003544   50db     MOVF      0xdb,0x0,0x0                                                                                    
003546   0b03     ANDLW     0x3                                                                                             
003548   0d40     MULLW     0x40                                                                                            
00354a   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00354c   2400     ADDWF     0x0,0x0,0x0                                                                                     
00354e   2401     ADDWF     0x1,0x0,0x0                                                                                     
003550   6e61     MOVWF     0x61,0x0                                                                                        
003552   0ef3     MOVLW     0xf3                RXB0SIDL = ((cp.boot.offset&0x1C)<<3)+(cp.boot.offset&0x3);                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003554   50db     MOVF      0xdb,0x0,0x0                                                                                    
003556   0b03     ANDLW     0x3                                                                                             
003558   6e00     MOVWF     0x0,0x0                                                                                         
00355a   0ef3     MOVLW     0xf3                                                                                            
00355c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00355e   0b1c     ANDLW     0x1c                                                                                            
003560   0d08     MULLW     0x8                                                                                             
003562   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003564   2400     ADDWF     0x0,0x0,0x0                                                                                     
003566   6e62     MOVWF     0x62,0x0                                                                                        
003568   0ef4     MOVLW     0xf4                RXB0EIDH = cp.boot.rid;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00356a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00356c   6e63     MOVWF     0x63,0x0                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00356e   d04f     BRA       0x360e          else                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            {                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003570   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
003572   50db     MOVF      0xdb,0x0,0x0                                                                                    
003574   0b0f     ANDLW     0xf                                                                                             
003576   0d04     MULLW     0x4                                                                                             
003578   cff3     MOVFF     0xff3,0x2                                                                                       
00357a   f002                                                                                                               
00357c   0eee     MOVLW     0xee                                                                                            
00357e   50db     MOVF      0xdb,0x0,0x0                                                                                    
003580   0b03     ANDLW     0x3                                                                                             
003582   0d40     MULLW     0x40                                                                                            
003584   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003586   2402     ADDWF     0x2,0x0,0x0                                                                                     
003588   6e00     MOVWF     0x0,0x0                                                                                         
00358a   6a01     CLRF      0x1,0x0                                                                                         
00358c   be00     BTFSC     0x0,0x7,0x0                                                                                     
00358e   6801     SETF      0x1,0x0                                                                                         
003590   0ef0     MOVLW     0xf0                                                                                            
003592   cfdb     MOVFF     0xfdb,0x3                                                                                       
003594   f003                                                                                                               
003596   0ef1     MOVLW     0xf1                                                                                            
003598   cfdb     MOVFF     0xfdb,0x4                                                                                       
00359a   f004                                                                                                               
00359c   0e00     MOVLW     0x0                                                                                             
00359e   1603     ANDWF     0x3,0x1,0x0                                                                                     
0035a0   0e60     MOVLW     0x60                                                                                            
0035a2   1604     ANDWF     0x4,0x1,0x0                                                                                     
0035a4   3804     SWAPF     0x4,0x0,0x0                                                                                     
0035a6   6a04     CLRF      0x4,0x0                                                                                         
0035a8   30e8     RRCF      0xe8,0x0,0x0                                                                                    
0035aa   0b07     ANDLW     0x7                                                                                             
0035ac   6e03     MOVWF     0x3,0x0                                                                                         
0035ae   5000     MOVF      0x0,0x0,0x0                                                                                     
0035b0   2403     ADDWF     0x3,0x0,0x0                                                                                     
0035b2   6e61     MOVWF     0x61,0x0                                                                                        
0035b4   0ef0     MOVLW     0xf0                RXB0SIDL = ((cp.pgm.id&0x1C00)>>5)+((cp.pgm.id&0x300)>>8);                     F:\MCP\projects\CAN\canBase\Source\CAN.c
0035b6   cfdb     MOVFF     0xfdb,0x0                                                                                       
0035b8   f000                                                                                                               
0035ba   0ef1     MOVLW     0xf1                                                                                            
0035bc   cfdb     MOVFF     0xfdb,0x1                                                                                       
0035be   f001                                                                                                               
0035c0   0e00     MOVLW     0x0                                                                                             
0035c2   1600     ANDWF     0x0,0x1,0x0                                                                                     
0035c4   0e1c     MOVLW     0x1c                                                                                            
0035c6   1601     ANDWF     0x1,0x1,0x0                                                                                     
0035c8   0e05     MOVLW     0x5                                                                                             
0035ca   90d8     BCF       0xd8,0x0,0x0                                                                                    
0035cc   3201     RRCF      0x1,0x1,0x0                                                                                     
0035ce   3200     RRCF      0x0,0x1,0x0                                                                                     
0035d0   04e8     DECF      0xe8,0x0,0x0                                                                                    
0035d2   e1fb     BNZ       0x35ca                                                                                          
0035d4   0ef0     MOVLW     0xf0                                                                                            
0035d6   cfdb     MOVFF     0xfdb,0x2                                                                                       
0035d8   f002                                                                                                               
0035da   0ef1     MOVLW     0xf1                                                                                            
0035dc   cfdb     MOVFF     0xfdb,0x3                                                                                       
0035de   f003                                                                                                               
0035e0   0e00     MOVLW     0x0                                                                                             
0035e2   1602     ANDWF     0x2,0x1,0x0                                                                                     
0035e4   0e03     MOVLW     0x3                                                                                             
0035e6   1603     ANDWF     0x3,0x1,0x0                                                                                     
0035e8   c003     MOVFF     0x3,0x2                                                                                         
0035ea   f002                                                                                                               
0035ec   6a03     CLRF      0x3,0x0                                                                                         
0035ee   5000     MOVF      0x0,0x0,0x0                                                                                     
0035f0   2402     ADDWF     0x2,0x0,0x0                                                                                     
0035f2   6e62     MOVWF     0x62,0x0                                                                                        
0035f4   0eff     MOVLW     0xff                RXB0EIDH = (cp.pgm.id&0xFF);                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
0035f6   6ee7     MOVWF     0xe7,0x0                                                                                        
0035f8   0ef0     MOVLW     0xf0                                                                                            
0035fa   cfdb     MOVFF     0xfdb,0x0                                                                                       
0035fc   f000                                                                                                               
0035fe   0ef1     MOVLW     0xf1                                                                                            
003600   cfdb     MOVFF     0xfdb,0x1                                                                                       
003602   f001                                                                                                               
003604   50e7     MOVF      0xe7,0x0,0x0                                                                                    
003606   1600     ANDWF     0x0,0x1,0x0                                                                                     
003608   6a01     CLRF      0x1,0x0                                                                                         
00360a   5000     MOVF      0x0,0x0,0x0                                                                                     
00360c   6e63     MOVWF     0x63,0x0                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
00360e   c09d     MOVFF     0x9d,0xf64      RXB0EIDL = MY_ID;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
003610   ff64                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
                                            // Data length                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
003612   6a65     CLRF      0x65,0x0        RXB0DLC = 0;                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003614   0ef6     MOVLW     0xf6            if (cp.length>8) RXB0DLC=8; else RXB0DLC=cp.length;                             F:\MCP\projects\CAN\canBase\Source\CAN.c
003616   50db     MOVF      0xdb,0x0,0x0                                                                                    
003618   0808     SUBLW     0x8                                                                                             
00361a   e203     BC        0x3622                                                                                          
00361c   0e08     MOVLW     0x8                                                                                             
00361e   6e65     MOVWF     0x65,0x0                                                                                        
003620   d003     BRA       0x3628                                                                                          
003622   0ef6     MOVLW     0xf6                                                                                            
003624   50db     MOVF      0xdb,0x0,0x0                                                                                    
003626   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
003628   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
00362a   0ef7     MOVLW     0xf7            RXB0D0=cp.data[0];  RXB0D1=cp.data[1];                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
00362c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00362e   6e66     MOVWF     0x66,0x0                                                                                        
003630   0ef8     MOVLW     0xf8                                                                                            
003632   50db     MOVF      0xdb,0x0,0x0                                                                                    
003634   6e67     MOVWF     0x67,0x0                                                                                        
003636   0ef9     MOVLW     0xf9            RXB0D2=cp.data[2];  RXB0D3=cp.data[3];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003638   50db     MOVF      0xdb,0x0,0x0                                                                                    
00363a   6e68     MOVWF     0x68,0x0                                                                                        
00363c   0efa     MOVLW     0xfa                                                                                            
00363e   50db     MOVF      0xdb,0x0,0x0                                                                                    
003640   6e69     MOVWF     0x69,0x0                                                                                        
003642   0efb     MOVLW     0xfb            RXB0D4=cp.data[4];  RXB0D5=cp.data[5];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003644   50db     MOVF      0xdb,0x0,0x0                                                                                    
003646   6e6a     MOVWF     0x6a,0x0                                                                                        
003648   0efc     MOVLW     0xfc                                                                                            
00364a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00364c   6e6b     MOVWF     0x6b,0x0                                                                                        
00364e   0efd     MOVLW     0xfd            RXB0D6=cp.data[6];  RXB0D7=cp.data[7];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
003650   50db     MOVF      0xdb,0x0,0x0                                                                                    
003652   6e6c     MOVWF     0x6c,0x0                                                                                        
003654   0efe     MOVLW     0xfe                                                                                            
003656   50db     MOVF      0xdb,0x0,0x0                                                                                    
003658   6e6d     MOVWF     0x6d,0x0                                                                                        
                                            // set extended                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
00365a   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
00365c   0eed     MOVLW     0xed            RXB0CON = (RXB0CON & 0b11111100) | prio;                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
00365e   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
003660   ffe6                                                                                                               
003662   0efc     MOVLW     0xfc                                                                                            
003664   1460     ANDWF     0x60,0x0,0x0                                                                                    
003666   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003668   10e7     IORWF     0xe7,0x0,0x0                                                                                    
00366a   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
00366c   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
00366e   0e01     MOVLW     0x1             return TRUE;                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
003670   d000     BRA       0x3672                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
003672   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
003674   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003676   ffd9                                                                                                               
003678   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
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
                                           static 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
                                           *    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
                                                                                                                            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
004514   0e84     MOVLW     0x84               T0CON = 0b10000000 | TICK_PRESCALE;                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
004516   6ed5     MOVWF     0xd5,0x0                                                                                        
004518   0ef3     MOVLW     0xf3               TMR0H = (BYTE)((TICK_COUNTER & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
00451a   6ed7     MOVWF     0xd7,0x0                                                                                        
00451c   0ecb     MOVLW     0xcb               TMR0L = (TICK_COUNTER & 0xFF);                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
00451e   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004520   94f2     BCF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 0;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
004522   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
004524   84f1     BSF       0xf1,0x2,0x0    INTCON2bits.TMR0IP = 1;                                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004526   0100     MOVLB     0x0             TickCount = 0;                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
004528   6b99     CLRF      0x99,0x1                                                                                        
00452a   6b9a     CLRF      0x9a,0x1                                                                                        
00452c   6b9b     CLRF      0x9b,0x1                                                                                        
00452e   6b9c     CLRF      0x9c,0x1                                                                                        
004530   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
004532   c099     MOVFF     0x99,0x29          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004534   f029                                                                                                               
004536   c09a     MOVFF     0x9a,0x2a                                                                                       
004538   f02a                                                                                                               
00453a   c09b     MOVFF     0x9b,0x2b                                                                                       
00453c   f02b                                                                                                               
00453e   c09c     MOVFF     0x9c,0x2c                                                                                       
004540   f02c                                                                                                               
004542   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
004544   50f2     MOVF      0xf2,0x0,0x0       if(INTCONbits.TMR0IF==1 && INTCONbits.TMR0IE==1)                             F:\MCP\projects\CAN\canBase\Source\Tick.c
004546   0b04     ANDLW     0x4                                                                                             
004548   e00e     BZ        0x4566                                                                                          
00454a   50f2     MOVF      0xf2,0x0,0x0                                                                                    
00454c   0b20     ANDLW     0x20                                                                                            
00454e   e00b     BZ        0x4566                                                                                          
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004550   0ef3     MOVLW     0xf3                TMR0H = (BYTE)((TICK_COUNTER & 0xFF00)>>8);                                 F:\MCP\projects\CAN\canBase\Source\Tick.c
004552   6ed7     MOVWF     0xd7,0x0                                                                                        
004554   0ecb     MOVLW     0xcb                TMR0L = (TICK_COUNTER & 0xFF);                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
004556   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004558   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
00455a   2b99     INCF      0x99,0x1,0x1                                                                                    
00455c   0e00     MOVLW     0x0                                                                                             
00455e   239a     ADDWFC    0x9a,0x1,0x1                                                                                    
004560   239b     ADDWFC    0x9b,0x1,0x1                                                                                    
004562   239c     ADDWFC    0x9c,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004564   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
004566   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-03-01 14:38:06 +0100 (to, 01 mar 2007) $ F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            * Revision:     $Revision: 347 $                                                   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
                                           #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
003abc   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003abe   ffe6                                                                                                               
003ac0   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003ac2   ffd9                                                                                                               
003ac4   0e28     MOVLW     0x28                                                                                            
003ac6   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
003ac8   d9c0     RCALL     0x3e4a          mainInit();                                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003aca   ec34     CALL      0x3068,0x0      canInit();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003acc   f018                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003ace   0e0b     MOVLW     0xb                 adcInit(TRUE,0b1011);                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003ad0   6ee6     MOVWF     0xe6,0x0                                                                                        
003ad2   0e01     MOVLW     0x1                                                                                             
003ad4   6ee6     MOVWF     0xe6,0x0                                                                                        
003ad6   ec49     CALL      0x3e92,0x0                                                                                      
003ad8   f01f                                                                                                               
003ada   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003adc   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
003ade   ecbb     CALL      0x4176,0x0          blindsInit();                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003ae0   f020                                                                                                               
003ae2   6ae6     CLRF      0xe6,0x0            blindsTurn(0);                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
003ae4   eccb     CALL      0x4196,0x0                                                                                      
003ae6   f020                                                                                                               
003ae8   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
003d9c   d6a6     BRA       0x3aea          while(1)                                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003aea   ec99     CALL      0x4532,0x0          TICK currentTick = tickGet();                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003aec   f022                                                                                                               
003aee   c029     MOVFF     0x29,0xfde                                                                                      
003af0   ffde                                                                                                               
003af2   c02a     MOVFF     0x2a,0xfde                                                                                      
003af4   ffde                                                                                                               
003af6   c02b     MOVFF     0x2b,0xfde                                                                                      
003af8   ffde                                                                                                               
003afa   c02c     MOVFF     0x2c,0xfdd                                                                                      
003afc   ffdd                                                                                                               
003afe   52dd     MOVF      0xdd,0x1,0x0                                                                                    
003b00   52dd     MOVF      0xdd,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK tick_led = 0;                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK tick_temperature = 0;                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                static TICK tick_blinds = 0;                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            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
                                                                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003b02   cfd9     MOVFF     0xfd9,0xfe9         if ((currentTick-tick_led)>(1*TICK_1S))                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
003b04   ffe9                                                                                                               
003b06   cfda     MOVFF     0xfda,0xfea                                                                                     
003b08   ffea                                                                                                               
003b0a   0100     MOVLB     0x0                                                                                             
003b0c   5175     MOVF      0x75,0x0,0x1                                                                                    
003b0e   5cee     SUBWF     0xee,0x0,0x0                                                                                    
003b10   6e00     MOVWF     0x0,0x0                                                                                         
003b12   5176     MOVF      0x76,0x0,0x1                                                                                    
003b14   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003b16   6e01     MOVWF     0x1,0x0                                                                                         
003b18   5177     MOVF      0x77,0x0,0x1                                                                                    
003b1a   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003b1c   6e02     MOVWF     0x2,0x0                                                                                         
003b1e   5178     MOVF      0x78,0x0,0x1                                                                                    
003b20   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003b22   6e03     MOVWF     0x3,0x0                                                                                         
003b24   80d8     BSF       0xd8,0x0,0x0                                                                                    
003b26   0e64     MOVLW     0x64                                                                                            
003b28   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003b2a   0e00     MOVLW     0x0                                                                                             
003b2c   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003b2e   0e00     MOVLW     0x0                                                                                             
003b30   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003b32   0e00     MOVLW     0x0                                                                                             
003b34   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003b36   e20c     BC        0x3b50                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003b38   7282     BTG       0x82,0x1,0x0            LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b3a   cfdf     MOVFF     0xfdf,0x75              tick_led = currentTick;                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
003b3c   f075                                                                                                               
003b3e   0e01     MOVLW     0x1                                                                                             
003b40   cfdb     MOVFF     0xfdb,0x76                                                                                      
003b42   f076                                                                                                               
003b44   0e02     MOVLW     0x2                                                                                             
003b46   cfdb     MOVFF     0xfdb,0x77                                                                                      
003b48   f077                                                                                                               
003b4a   0e03     MOVLW     0x3                                                                                             
003b4c   cfdb     MOVFF     0xfdb,0x78                                                                                      
003b4e   f078                                                                                                               
                                                }                                                                              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
003b50   cfd9     MOVFF     0xfd9,0xfe9         if ((currentTick-tick_blinds)>(3*TICK_1S))                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003b52   ffe9                                                                                                               
003b54   cfda     MOVFF     0xfda,0xfea                                                                                     
003b56   ffea                                                                                                               
003b58   517d     MOVF      0x7d,0x0,0x1                                                                                    
003b5a   5cee     SUBWF     0xee,0x0,0x0                                                                                    
003b5c   6e00     MOVWF     0x0,0x0                                                                                         
003b5e   517e     MOVF      0x7e,0x0,0x1                                                                                    
003b60   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003b62   6e01     MOVWF     0x1,0x0                                                                                         
003b64   517f     MOVF      0x7f,0x0,0x1                                                                                    
003b66   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003b68   6e02     MOVWF     0x2,0x0                                                                                         
003b6a   5180     MOVF      0x80,0x0,0x1                                                                                    
003b6c   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003b6e   6e03     MOVWF     0x3,0x0                                                                                         
003b70   80d8     BSF       0xd8,0x0,0x0                                                                                    
003b72   0e2c     MOVLW     0x2c                                                                                            
003b74   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003b76   0e01     MOVLW     0x1                                                                                             
003b78   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003b7a   0e00     MOVLW     0x0                                                                                             
003b7c   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003b7e   0e00     MOVLW     0x0                                                                                             
003b80   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003b82   e258     BC        0x3c34                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    CAN_PACKET outCp;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b84   0e01     MOVLW     0x1                     outCp.type=ptPGM;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003b86   6ef3     MOVWF     0xf3,0x0                                                                                        
003b88   0e04     MOVLW     0x4                                                                                             
003b8a   cff3     MOVFF     0xff3,0xfdb                                                                                     
003b8c   ffdb                                                                                                               
003b8e   0e01     MOVLW     0x1                     outCp.pgm.class=pcSENSOR;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003b90   6ef3     MOVWF     0xf3,0x0                                                                                        
003b92   0e05     MOVLW     0x5                                                                                             
003b94   cff3     MOVFF     0xff3,0xfdb                                                                                     
003b96   ffdb                                                                                                               
003b98   0e07     MOVLW     0x7                     outCp.pgm.id=pstBLIND_TR;                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003b9a   6ef3     MOVWF     0xf3,0x0                                                                                        
003b9c   0e06     MOVLW     0x6                                                                                             
003b9e   cff3     MOVFF     0xff3,0xfdb                                                                                     
003ba0   ffdb                                                                                                               
003ba2   0e07     MOVLW     0x7                                                                                             
003ba4   6adb     CLRF      0xdb,0x0                                                                                        
003ba6   0e01     MOVLW     0x1                     outCp.length=1;                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003ba8   6ef3     MOVWF     0xf3,0x0                                                                                        
003baa   0e0c     MOVLW     0xc                                                                                             
003bac   cff3     MOVFF     0xff3,0xfdb                                                                                     
003bae   ffdb                                                                                                               
003bb0   ecc8     CALL      0x4190,0x0              outCp.data[0]=blindsGetPrecent();                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003bb2   f020                                                                                                               
003bb4   6ee7     MOVWF     0xe7,0x0                                                                                        
003bb6   0e0d     MOVLW     0xd                                                                                             
003bb8   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003bba   ffdb                                                                                                               
003bbc   0e02     MOVLW     0x2                     while(!canSendMessage(outCp,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003bbe   6ee6     MOVWF     0xe6,0x0                                                                                        
003bc0   50d9     MOVF      0xd9,0x0,0x0                                                                                    
003bc2   0f04     ADDLW     0x4                                                                                             
003bc4   6ee9     MOVWF     0xe9,0x0                                                                                        
003bc6   cfda     MOVFF     0xfda,0xfea                                                                                     
003bc8   ffea                                                                                                               
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   cfee     MOVFF     0xfee,0xfe6                                                                                     
003be4   ffe6                                                                                                               
003be6   cfee     MOVFF     0xfee,0xfe6                                                                                     
003be8   ffe6                                                                                                               
003bea   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bec   ffe6                                                                                                               
003bee   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bf0   ffe6                                                                                                               
003bf2   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bf4   ffe6                                                                                                               
003bf6   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bf8   ffe6                                                                                                               
003bfa   cfee     MOVFF     0xfee,0xfe6                                                                                     
003bfc   ffe6                                                                                                               
003bfe   cfee     MOVFF     0xfee,0xfe6                                                                                     
003c00   ffe6                                                                                                               
003c02   cfee     MOVFF     0xfee,0xfe6                                                                                     
003c04   ffe6                                                                                                               
003c06   cfee     MOVFF     0xfee,0xfe6                                                                                     
003c08   ffe6                                                                                                               
003c0a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003c0c   ffe6                                                                                                               
003c0e   ec5e     CALL      0x34bc,0x0                                                                                      
003c10   f01a                                                                                                               
003c12   6e00     MOVWF     0x0,0x0                                                                                         
003c14   0e12     MOVLW     0x12                                                                                            
003c16   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003c18   5000     MOVF      0x0,0x0,0x0                                                                                     
003c1a   0900     IORLW     0x0                                                                                             
003c1c   e0cf     BZ        0x3bbc                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003c1e   cfdf     MOVFF     0xfdf,0x7d              tick_blinds = currentTick;                                                           F:\MCP\projects\CAN\canTemp\Source\Main.c
003c20   f07d                                                                                                               
003c22   0e01     MOVLW     0x1                                                                                             
003c24   cfdb     MOVFF     0xfdb,0x7e                                                                                      
003c26   f07e                                                                                                               
003c28   0e02     MOVLW     0x2                                                                                             
003c2a   cfdb     MOVFF     0xfdb,0x7f                                                                                      
003c2c   f07f                                                                                                               
003c2e   0e03     MOVLW     0x3                                                                                             
003c30   cfdb     MOVFF     0xfdb,0x80                                                                                      
003c32   f080                                                                                                               
                                                }                                                                              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
003c34   cfd9     MOVFF     0xfd9,0xfe9         if ((currentTick-tick_temperature)>(2*TICK_1S) && getNewTemperature==TRUE) // Each 2 second, read temperature. F:\MCP\projects\CAN\canTemp\Source\Main.c
003c36   ffe9                                                                                                               
003c38   cfda     MOVFF     0xfda,0xfea                                                                                     
003c3a   ffea                                                                                                               
003c3c   0100     MOVLB     0x0                                                                                             
003c3e   5179     MOVF      0x79,0x0,0x1                                                                                    
003c40   5cee     SUBWF     0xee,0x0,0x0                                                                                    
003c42   6e00     MOVWF     0x0,0x0                                                                                         
003c44   517a     MOVF      0x7a,0x0,0x1                                                                                    
003c46   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003c48   6e01     MOVWF     0x1,0x0                                                                                         
003c4a   517b     MOVF      0x7b,0x0,0x1                                                                                    
003c4c   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003c4e   6e02     MOVWF     0x2,0x0                                                                                         
003c50   517c     MOVF      0x7c,0x0,0x1                                                                                    
003c52   58ee     SUBWFB    0xee,0x0,0x0                                                                                    
003c54   6e03     MOVWF     0x3,0x0                                                                                         
003c56   80d8     BSF       0xd8,0x0,0x0                                                                                    
003c58   0ec8     MOVLW     0xc8                                                                                            
003c5a   5400     SUBFWB    0x0,0x0,0x0                                                                                     
003c5c   0e00     MOVLW     0x0                                                                                             
003c5e   5401     SUBFWB    0x1,0x0,0x0                                                                                     
003c60   0e00     MOVLW     0x0                                                                                             
003c62   5402     SUBFWB    0x2,0x0,0x0                                                                                     
003c64   0e00     MOVLW     0x0                                                                                             
003c66   5403     SUBFWB    0x3,0x0,0x0                                                                                     
003c68   e219     BC        0x3c9c                                                                                          
003c6a   0581     DECF      0x81,0x0,0x1                                                                                    
003c6c   e117     BNZ       0x3c9c                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003c6e   0582     DECF      0x82,0x0,0x1            if (lastTemperature==TEMPERATURE_INSIDE) lastTemperature=TEMPERATURE_OUTSIDE; else lastTemperature=TEMPERATURE_INSIDE; F:\MCP\projects\CAN\canTemp\Source\Main.c
003c70   e102     BNZ       0x3c76                                                                                          
003c72   0e02     MOVLW     0x2                                                                                             
003c74   d001     BRA       0x3c78                                                                                          
003c76   0e01     MOVLW     0x1                                                                                             
003c78   6f82     MOVWF     0x82,0x1                                                                                        
003c7a   6ee6     MOVWF     0xe6,0x0                adcConvert(lastTemperature);                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003c7c   ecac     CALL      0x3f58,0x0                                                                                      
003c7e   f01f                                                                                                               
003c80   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003c82   0100     MOVLB     0x0                     getNewTemperature=FALSE;                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003c84   6b81     CLRF      0x81,0x1                                                                                        
003c86   cfdf     MOVFF     0xfdf,0x79              tick_temperature = currentTick;                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003c88   f079                                                                                                               
003c8a   0e01     MOVLW     0x1                                                                                             
003c8c   cfdb     MOVFF     0xfdb,0x7a                                                                                      
003c8e   f07a                                                                                                               
003c90   0e02     MOVLW     0x2                                                                                             
003c92   cfdb     MOVFF     0xfdb,0x7b                                                                                      
003c94   f07b                                                                                                               
003c96   0e03     MOVLW     0x3                                                                                             
003c98   cfdb     MOVFF     0xfdb,0x7c                                                                                      
003c9a   f07c                                                                                                               
                                                }                                                                              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
003c9c   ecb8     CALL      0x4170,0x0          if (adcDone()) // Has temperature, send it to the bus                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003c9e   f020                                                                                                               
003ca0   0900     IORLW     0x0                                                                                             
003ca2   e101     BNZ       0x3ca6                                                                                          
003ca4   d722     BRA       0x3aea                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                    CAN_PACKET outCp;                                                             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
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003ca6   50d9     MOVF      0xd9,0x0,0x0            temperatureRead(&tenth,&decimal);                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003ca8   0f26     ADDLW     0x26                                                                                            
003caa   6ee6     MOVWF     0xe6,0x0                                                                                        
003cac   0e00     MOVLW     0x0                                                                                             
003cae   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003cb0   6ee6     MOVWF     0xe6,0x0                                                                                        
003cb2   50d9     MOVF      0xd9,0x0,0x0                                                                                    
003cb4   0f27     ADDLW     0x27                                                                                            
003cb6   6ee6     MOVWF     0xe6,0x0                                                                                        
003cb8   0e00     MOVLW     0x0                                                                                             
003cba   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003cbc   6ee6     MOVWF     0xe6,0x0                                                                                        
003cbe   ecd5     CALL      0x3faa,0x0                                                                                      
003cc0   f01f                                                                                                               
003cc2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003cc4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003cc6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003cc8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003cca   0e01     MOVLW     0x1                     outCp.type=ptPGM;                                                             F:\MCP\projects\CAN\canTemp\Source\Main.c
003ccc   6ef3     MOVWF     0xf3,0x0                                                                                        
003cce   0e15     MOVLW     0x15                                                                                            
003cd0   cff3     MOVFF     0xff3,0xfdb                                                                                     
003cd2   ffdb                                                                                                               
003cd4   0e01     MOVLW     0x1                     outCp.pgm.class =pcSENSOR;                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
003cd6   6ef3     MOVWF     0xf3,0x0                                                                                        
003cd8   0e16     MOVLW     0x16                                                                                            
003cda   cff3     MOVFF     0xff3,0xfdb                                                                                     
003cdc   ffdb                                                                                                               
003cde   0100     MOVLB     0x0                     outCp.pgm.id    =(lastTemperature==TEMPERATURE_INSIDE?pstTEMP_INSIDE:pstTEMP_OUTSIDE); F:\MCP\projects\CAN\canTemp\Source\Main.c
003ce0   0582     DECF      0x82,0x0,0x1                                                                                    
003ce2   e102     BNZ       0x3ce8                                                                                          
003ce4   0e01     MOVLW     0x1                                                                                             
003ce6   d001     BRA       0x3cea                                                                                          
003ce8   0e02     MOVLW     0x2                                                                                             
003cea   6e00     MOVWF     0x0,0x0                                                                                         
003cec   6a01     CLRF      0x1,0x0                                                                                         
003cee   be00     BTFSC     0x0,0x7,0x0                                                                                     
003cf0   6801     SETF      0x1,0x0                                                                                         
003cf2   0e17     MOVLW     0x17                                                                                            
003cf4   c000     MOVFF     0x0,0xfdb                                                                                       
003cf6   ffdb                                                                                                               
003cf8   0e18     MOVLW     0x18                                                                                            
003cfa   c001     MOVFF     0x1,0xfdb                                                                                       
003cfc   ffdb                                                                                                               
003cfe   0e02     MOVLW     0x2                     outCp.length    =2;                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003d00   6ef3     MOVWF     0xf3,0x0                                                                                        
003d02   0e1d     MOVLW     0x1d                                                                                            
003d04   cff3     MOVFF     0xff3,0xfdb                                                                                     
003d06   ffdb                                                                                                               
003d08   0e27     MOVLW     0x27                    outCp.data[1]   = tenth; //  signed 10 an 1 decimal.                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003d0a   50db     MOVF      0xdb,0x0,0x0                                                                                    
003d0c   6ee7     MOVWF     0xe7,0x0                                                                                        
003d0e   0e1f     MOVLW     0x1f                                                                                            
003d10   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003d12   ffdb                                                                                                               
003d14   0e26     MOVLW     0x26                    outCp.data[0]   = decimal; //  Decimal value, 0-9                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003d16   50db     MOVF      0xdb,0x0,0x0                                                                                    
003d18   6ee7     MOVWF     0xe7,0x0                                                                                        
003d1a   0e1e     MOVLW     0x1e                                                                                            
003d1c   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
003d1e   ffdb                                                                                                               
003d20   0e02     MOVLW     0x2                     while(!canSendMessage(outCp,PRIO_HIGH));                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003d22   6ee6     MOVWF     0xe6,0x0                                                                                        
003d24   50d9     MOVF      0xd9,0x0,0x0                                                                                    
003d26   0f15     ADDLW     0x15                                                                                            
003d28   6ee9     MOVWF     0xe9,0x0                                                                                        
003d2a   cfda     MOVFF     0xfda,0xfea                                                                                     
003d2c   ffea                                                                                                               
003d2e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d30   ffe6                                                                                                               
003d32   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d34   ffe6                                                                                                               
003d36   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d38   ffe6                                                                                                               
003d3a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d3c   ffe6                                                                                                               
003d3e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d40   ffe6                                                                                                               
003d42   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d44   ffe6                                                                                                               
003d46   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d48   ffe6                                                                                                               
003d4a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d4c   ffe6                                                                                                               
003d4e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d50   ffe6                                                                                                               
003d52   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d54   ffe6                                                                                                               
003d56   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d58   ffe6                                                                                                               
003d5a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d5c   ffe6                                                                                                               
003d5e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d60   ffe6                                                                                                               
003d62   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d64   ffe6                                                                                                               
003d66   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d68   ffe6                                                                                                               
003d6a   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d6c   ffe6                                                                                                               
003d6e   cfee     MOVFF     0xfee,0xfe6                                                                                     
003d70   ffe6                                                                                                               
003d72   ec5e     CALL      0x34bc,0x0                                                                                      
003d74   f01a                                                                                                               
003d76   6e00     MOVWF     0x0,0x0                                                                                         
003d78   0e12     MOVLW     0x12                                                                                            
003d7a   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
003d7c   5000     MOVF      0x0,0x0,0x0                                                                                     
003d7e   0900     IORLW     0x0                                                                                             
003d80   e0cf     BZ        0x3d20                                                                                          
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003d82   0100     MOVLB     0x0                     getNewTemperature=TRUE;                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
003d84   0e01     MOVLW     0x1                                                                                             
003d86   6f81     MOVWF     0x81,0x1                                                                                        
003d88   cfdf     MOVFF     0xfdf,0x79              tick_temperature = currentTick;                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003d8a   f079                                                                                                               
003d8c   cfdb     MOVFF     0xfdb,0x7a                                                                                      
003d8e   f07a                                                                                                               
003d90   0e02     MOVLW     0x2                                                                                             
003d92   cfdb     MOVFF     0xfdb,0x7b                                                                                      
003d94   f07b                                                                                                               
003d96   0e03     MOVLW     0x3                                                                                             
003d98   cfdb     MOVFF     0xfdb,0x7c                                                                                      
003d9a   f07c                                                                                                               
                                                }                                                                              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
                                            } // end while                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                           } // end main                                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            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
003d9e   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canTemp\Source\Main.c
003da0   ffe4                                                                                                               
003da2   cfe2     MOVFF     0xfe2,0xfda                                                                                     
003da4   ffda                                                                                                               
003da6   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
003da8   ffe4                                                                                                               
003daa   cfea     MOVFF     0xfea,0xfe4                                                                                     
003dac   ffe4                                                                                                               
003dae   cff6     MOVFF     0xff6,0xfe4                                                                                     
003db0   ffe4                                                                                                               
003db2   cff7     MOVFF     0xff7,0xfe4                                                                                     
003db4   ffe4                                                                                                               
003db6   cff5     MOVFF     0xff5,0xfe4                                                                                     
003db8   ffe4                                                                                                               
003dba   cff3     MOVFF     0xff3,0xfe4                                                                                     
003dbc   ffe4                                                                                                               
003dbe   cff4     MOVFF     0xff4,0xfe4                                                                                     
003dc0   ffe4                                                                                                               
003dc2   cffa     MOVFF     0xffa,0xfe4                                                                                     
003dc4   ffe4                                                                                                               
003dc6   ee00     LFSR      0x0,0x23                                                                                        
003dc8   f023                                                                                                               
003dca   0e14     MOVLW     0x14                                                                                            
003dcc   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dce   e303     BNC       0x3dd6                                                                                          
003dd0   cfee     MOVFF     0xfee,0xfe4                                                                                     
003dd2   ffe4                                                                                                               
003dd4   d7fb     BRA       0x3dcc                                                                                          
003dd6   ee00     LFSR      0x0,0x0                                                                                         
003dd8   f000                                                                                                               
003dda   0e23     MOVLW     0x23                                                                                            
003ddc   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dde   e303     BNC       0x3de6                                                                                          
003de0   cfee     MOVFF     0xfee,0xfe4                                                                                     
003de2   ffe4                                                                                                               
003de4   d7fb     BRA       0x3ddc                                                                                          
003de6   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003de8   ec9b     CALL      0x3136,0x0      canISR();                                                                       F:\MCP\projects\CAN\canTemp\Source\Main.c
003dea   f018                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_BLINDS                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003dec   ec6b     CALL      0x42d6,0x0          blindsISR();                                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
003dee   f021                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_ADC                                                                  F:\MCP\projects\CAN\canTemp\Source\Main.c
003df0   ec63     CALL      0x3ec6,0x0          adcISR();                                                                      F:\MCP\projects\CAN\canTemp\Source\Main.c
003df2   f01f                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003df4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003df6   ee00     LFSR      0x0,0x22                                                                                        
003df8   f022                                                                                                               
003dfa   0e23     MOVLW     0x23                                                                                            
003dfc   04e8     DECF      0xe8,0x0,0x0                                                                                    
003dfe   e303     BNC       0x3e06                                                                                          
003e00   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003e02   ffed                                                                                                               
003e04   d7fb     BRA       0x3dfc                                                                                          
003e06   ee00     LFSR      0x0,0x36                                                                                        
003e08   f036                                                                                                               
003e0a   0e14     MOVLW     0x14                                                                                            
003e0c   04e8     DECF      0xe8,0x0,0x0                                                                                    
003e0e   e303     BNC       0x3e16                                                                                          
003e10   cfe5     MOVFF     0xfe5,0xfed                                                                                     
003e12   ffed                                                                                                               
003e14   d7fb     BRA       0x3e0c                                                                                          
003e16   cfe5     MOVFF     0xfe5,0xffa                                                                                     
003e18   fffa                                                                                                               
003e1a   cfe5     MOVFF     0xfe5,0xff4                                                                                     
003e1c   fff4                                                                                                               
003e1e   cfe5     MOVFF     0xfe5,0xff3                                                                                     
003e20   fff3                                                                                                               
003e22   cfe5     MOVFF     0xfe5,0xff5                                                                                     
003e24   fff5                                                                                                               
003e26   cfe5     MOVFF     0xfe5,0xff7                                                                                     
003e28   fff7                                                                                                               
003e2a   cfe5     MOVFF     0xfe5,0xff6                                                                                     
003e2c   fff6                                                                                                               
003e2e   cfe5     MOVFF     0xfe5,0xfea                                                                                     
003e30   ffea                                                                                                               
003e32   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
003e34   ffe9                                                                                                               
003e36   cfe5     MOVFF     0xfe5,0xfda                                                                                     
003e38   ffda                                                                                                               
003e3a   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
003e3c   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003e3e   ffe4                                                                                                               
003e40   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003e42   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003e44   cfe5     MOVFF     0xfe5,0xfda                                                                                     
003e46   ffda                                                                                                               
003e48   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
003e4a   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                    F:\MCP\projects\CAN\canTemp\Source\Main.c
003e4c   9894     BCF       0x94,0x4,0x0    BLINDS0_TRIS=0;                                                                 F:\MCP\projects\CAN\canTemp\Source\Main.c
003e4e   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 interrupt prirority                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
003e50   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                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
003e52   8cf2     BSF       0xf2,0x6,0x0    INTCONbits.GIEL = 1;                                                            F:\MCP\projects\CAN\canTemp\Source\Main.c
003e54   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canTemp\Source\Main.c
003e56   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
003e58   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_PACKET cp)                                                     F:\MCP\projects\CAN\canTemp\Source\Main.c
003e5a   ffe6                                                                                                               
003e5c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003e5e   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #ifdef USE_BLINDS                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003e60   0eef     MOVLW     0xef            if (cp.pgm.class==pcACTUATOR && cp.pgm.id==patBLIND_TR)                         F:\MCP\projects\CAN\canTemp\Source\Main.c
003e62   50db     MOVF      0xdb,0x0,0x0                                                                                    
003e64   0802     SUBLW     0x2                                                                                             
003e66   e111     BNZ       0x3e8a                                                                                          
003e68   50d9     MOVF      0xd9,0x0,0x0                                                                                    
003e6a   0ff0     ADDLW     0xf0                                                                                            
003e6c   6ee9     MOVWF     0xe9,0x0                                                                                        
003e6e   0eff     MOVLW     0xff                                                                                            
003e70   20da     ADDWFC    0xda,0x0,0x0                                                                                    
003e72   6eea     MOVWF     0xea,0x0                                                                                        
003e74   0e07     MOVLW     0x7                                                                                             
003e76   18ee     XORWF     0xee,0x0,0x0                                                                                    
003e78   e108     BNZ       0x3e8a                                                                                          
003e7a   50ed     MOVF      0xed,0x0,0x0                                                                                    
003e7c   e106     BNZ       0x3e8a                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
003e7e   0ef7     MOVLW     0xf7                blindsTurn(cp.data[0]);                                                        F:\MCP\projects\CAN\canTemp\Source\Main.c
003e80   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
003e82   ffe6                                                                                                               
003e84   eccb     CALL      0x4196,0x0                                                                                      
003e86   f020                                                                                                               
003e88   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\Main.c
                                            #endif                                                                          F:\MCP\projects\CAN\canTemp\Source\Main.c
003e8a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\Main.c
003e8c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003e8e   ffd9                                                                                                               
003e90   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
                                                                                                                            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   efee     GOTO      0x45dc             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canTemp\Source\Main.c
003002   f022                                                                                                               
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   efcf     GOTO      0x3d9e          _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   ef1e     GOTO      0x3e3c             _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
00441a   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
00441c   ffe6                                                                                                               
00441e   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
004420   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004422   0efe     MOVLW     0xfe            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
004424   cfdb     MOVFF     0xfdb,0x1                                                                                       
004426   f001                                                                                                               
004428   c001     MOVFF     0x1,0x0                                                                                         
00442a   f000                                                                                                               
00442c   5001     MOVF      0x1,0x0,0x0                                                                                     
00442e   6eaa     MOVWF     0xaa,0x0                                                                                        
004430   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
004432   6ee7     MOVWF     0xe7,0x0                                                                                        
004434   0efd     MOVLW     0xfd                                                                                            
004436   cfdb     MOVFF     0xfdb,0x0                                                                                       
004438   f000                                                                                                               
00443a   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00443c   1600     ANDWF     0x0,0x1,0x0                                                                                     
00443e   5000     MOVF      0x0,0x0,0x0                                                                                     
004440   6ea9     MOVWF     0xa9,0x0                                                                                        
004442   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
004444   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
004446   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004448   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
00444a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
00444c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00444e   ffd9                                                                                                               
004450   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
004452   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
004454   ffe6                                                                                                               
004456   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
004458   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
00445a   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
00445c   0efe     MOVLW     0xfe            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
00445e   cfdb     MOVFF     0xfdb,0x1                                                                                       
004460   f001                                                                                                               
004462   c001     MOVFF     0x1,0x0                                                                                         
004464   f000                                                                                                               
004466   5001     MOVF      0x1,0x0,0x0                                                                                     
004468   6eaa     MOVWF     0xaa,0x0                                                                                        
00446a   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
00446c   6ee7     MOVWF     0xe7,0x0                                                                                        
00446e   0efd     MOVLW     0xfd                                                                                            
004470   cfdb     MOVFF     0xfdb,0x0                                                                                       
004472   f000                                                                                                               
004474   50e7     MOVF      0xe7,0x0,0x0                                                                                    
004476   1600     ANDWF     0x0,0x1,0x0                                                                                     
004478   5000     MOVF      0x0,0x0,0x0                                                                                     
00447a   6ea9     MOVWF     0xa9,0x0                                                                                        
00447c   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
00447e   50db     MOVF      0xdb,0x0,0x0                                                                                    
004480   6ea8     MOVWF     0xa8,0x0                                                                                        
004482   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
004484   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
004486   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
004488   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
00448a   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
00448c   6ea7     MOVWF     0xa7,0x0                                                                                        
00448e   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
004490   6ea7     MOVWF     0xa7,0x0                                                                                        
004492   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
004494   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
004496   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
004498   d7fe     BRA       0x4496                                                                                          
00449a   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
00449c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
00449e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0044a0   ffd9                                                                                                               
0044a2   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
                                           unsigned long TEMP_VALUE;                                                        F:\MCP\projects\CAN\Include\adc.c
                                           WORD 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
003e92   cfd9     MOVFF     0xfd9,0xfe6    void adcInit(BOOL useExtRef,BYTE portCfg)                                        F:\MCP\projects\CAN\Include\adc.c
003e94   ffe6                                                                                                               
003e96   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003e98   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
003e9a   0efd     MOVLW     0xfd            ADCON1 = 0b00000000 | ((1 & useExtRef)<<4) | (0xF & portCfg);                   F:\MCP\projects\CAN\Include\adc.c
003e9c   50db     MOVF      0xdb,0x0,0x0                                                                                    
003e9e   0b0f     ANDLW     0xf                                                                                             
003ea0   6e00     MOVWF     0x0,0x0                                                                                         
003ea2   0efe     MOVLW     0xfe                                                                                            
003ea4   50db     MOVF      0xdb,0x0,0x0                                                                                    
003ea6   0b01     ANDLW     0x1                                                                                             
003ea8   0d10     MULLW     0x10                                                                                            
003eaa   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003eac   1000     IORWF     0x0,0x0,0x0                                                                                     
003eae   6ec1     MOVWF     0xc1,0x0                                                                                        
003eb0   6ac2     CLRF      0xc2,0x0        ADCON0 = 0b00000000;                                                            F:\MCP\projects\CAN\Include\adc.c
003eb2   0eab     MOVLW     0xab            ADCON2 = 0b10101011;                                                            F:\MCP\projects\CAN\Include\adc.c
003eb4   6ec0     MOVWF     0xc0,0x0                                                                                        
                                            //useExtRef                                                                     F:\MCP\projects\CAN\Include\adc.c
003eb6   80c2     BSF       0xc2,0x0,0x0    ADCON0bits.ADON = 1;                                                            F:\MCP\projects\CAN\Include\adc.c
003eb8   9c9e     BCF       0x9e,0x6,0x0    PIR1bits.ADIF = 0;                                                              F:\MCP\projects\CAN\Include\adc.c
003eba   8c9d     BSF       0x9d,0x6,0x0    PIE1bits.ADIE = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
003ebc   8c9f     BSF       0x9f,0x6,0x0    IPR1bits.ADIP = 1; // high priority                                             F:\MCP\projects\CAN\Include\adc.c
003ebe   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
003ec0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003ec2   ffd9                                                                                                               
003ec4   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
003ec6   509d     MOVF      0x9d,0x0,0x0    if (PIE1bits.ADIE==1 && PIR1bits.ADIF==1)                                       F:\MCP\projects\CAN\Include\adc.c
003ec8   0b40     ANDLW     0x40                                                                                            
003eca   e045     BZ        0x3f56                                                                                          
003ecc   509e     MOVF      0x9e,0x0,0x0                                                                                    
003ece   0b40     ANDLW     0x40                                                                                            
003ed0   e042     BZ        0x3f56                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\Include\adc.c
003ed2   9c9e     BCF       0x9e,0x6,0x0        PIR1bits.ADIF = 0;                                                             F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003ed4   50c4     MOVF      0xc4,0x0,0x0        TEMP_VALUE+=((WORD)ADRESH<<8) | ADRESL;                                        F:\MCP\projects\CAN\Include\adc.c
003ed6   6e03     MOVWF     0x3,0x0                                                                                         
003ed8   6a02     CLRF      0x2,0x0                                                                                         
003eda   50c3     MOVF      0xc3,0x0,0x0                                                                                    
003edc   1002     IORWF     0x2,0x0,0x0                                                                                     
003ede   6e00     MOVWF     0x0,0x0                                                                                         
003ee0   c003     MOVFF     0x3,0x1                                                                                         
003ee2   f001                                                                                                               
003ee4   50e8     MOVF      0xe8,0x0,0x0                                                                                    
003ee6   0100     MOVLB     0x0                                                                                             
003ee8   278d     ADDWF     0x8d,0x1,0x1                                                                                    
003eea   5003     MOVF      0x3,0x0,0x0                                                                                     
003eec   238e     ADDWFC    0x8e,0x1,0x1                                                                                    
003eee   0e00     MOVLW     0x0                                                                                             
003ef0   238f     ADDWFC    0x8f,0x1,0x1                                                                                    
003ef2   2390     ADDWFC    0x90,0x1,0x1                                                                                    
003ef4   2b91     INCF      0x91,0x1,0x1        TEMP_COUNT++;                                                                  F:\MCP\projects\CAN\Include\adc.c
003ef6   2392     ADDWFC    0x92,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003ef8   0e32     MOVLW     0x32                if (TEMP_COUNT>=TEMP_SAMPLES)                                                  F:\MCP\projects\CAN\Include\adc.c
003efa   5d91     SUBWF     0x91,0x0,0x1                                                                                    
003efc   0e00     MOVLW     0x0                                                                                             
003efe   5992     SUBWFB    0x92,0x0,0x1                                                                                    
003f00   e324     BNC       0x3f4a                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
003f02   c091     MOVFF     0x91,0x0                TEMP_VALUE = TEMP_VALUE/TEMP_COUNT;                                           F:\MCP\projects\CAN\Include\adc.c
003f04   f000                                                                                                               
003f06   c092     MOVFF     0x92,0x1                                                                                        
003f08   f001                                                                                                               
003f0a   6a02     CLRF      0x2,0x0                                                                                         
003f0c   6a03     CLRF      0x3,0x0                                                                                         
003f0e   c08d     MOVFF     0x8d,0x29                                                                                       
003f10   f029                                                                                                               
003f12   c08e     MOVFF     0x8e,0x2a                                                                                       
003f14   f02a                                                                                                               
003f16   c08f     MOVFF     0x8f,0x2b                                                                                       
003f18   f02b                                                                                                               
003f1a   c090     MOVFF     0x90,0x2c                                                                                       
003f1c   f02c                                                                                                               
003f1e   c091     MOVFF     0x91,0x2e                                                                                       
003f20   f02e                                                                                                               
003f22   c092     MOVFF     0x92,0x2f                                                                                       
003f24   f02f                                                                                                               
003f26   c002     MOVFF     0x2,0x30                                                                                        
003f28   f030                                                                                                               
003f2a   c003     MOVFF     0x3,0x31                                                                                        
003f2c   f031                                                                                                               
003f2e   ecb4     CALL      0x4568,0x0                                                                                      
003f30   f022                                                                                                               
003f32   c029     MOVFF     0x29,0x8d                                                                                       
003f34   f08d                                                                                                               
003f36   c02a     MOVFF     0x2a,0x8e                                                                                       
003f38   f08e                                                                                                               
003f3a   c02b     MOVFF     0x2b,0x8f                                                                                       
003f3c   f08f                                                                                                               
003f3e   c02c     MOVFF     0x2c,0x90                                                                                       
003f40   f090                                                                                                               
003f42   0100     MOVLB     0x0                     TEMP_DONE = TRUE;                                                             F:\MCP\projects\CAN\Include\adc.c
003f44   0e01     MOVLW     0x1                                                                                             
003f46   6f9f     MOVWF     0x9f,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\Include\adc.c
003f48   0012     RETURN    0x0                 else                                                                           F:\MCP\projects\CAN\Include\adc.c
                                                {                                                                              F:\MCP\projects\CAN\Include\adc.c
003f4a   0e64     MOVLW     0x64                    Delay10TCYx(100);                                                             F:\MCP\projects\CAN\Include\adc.c
003f4c   6ee6     MOVWF     0xe6,0x0                                                                                        
003f4e   ecfc     CALL      0x45f8,0x0                                                                                      
003f50   f022                                                                                                               
003f52   52e5     MOVF      0xe5,0x1,0x0                                                                                    
003f54   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
003f56   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
003f58   cfd9     MOVFF     0xfd9,0xfe6    BOOL adcConvert(BYTE channel)                                                    F:\MCP\projects\CAN\Include\adc.c
003f5a   ffe6                                                                                                               
003f5c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003f5e   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\adc.c
003f60   0efe     MOVLW     0xfe            if (channel>15) return FALSE;                                                   F:\MCP\projects\CAN\Include\adc.c
003f62   50db     MOVF      0xdb,0x0,0x0                                                                                    
003f64   080f     SUBLW     0xf                                                                                             
003f66   e202     BC        0x3f6c                                                                                          
003f68   0e00     MOVLW     0x0                                                                                             
003f6a   d014     BRA       0x3f94                                                                                          
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f6c   0100     MOVLB     0x0             TEMP_VALUE = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
003f6e   6b8d     CLRF      0x8d,0x1                                                                                        
003f70   6b8e     CLRF      0x8e,0x1                                                                                        
003f72   6b8f     CLRF      0x8f,0x1                                                                                        
003f74   6b90     CLRF      0x90,0x1                                                                                        
003f76   6b91     CLRF      0x91,0x1        TEMP_COUNT = 0;                                                                 F:\MCP\projects\CAN\Include\adc.c
003f78   6b92     CLRF      0x92,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f7a   0ec3     MOVLW     0xc3            ADCON0 = (channel << 2)  | (ADCON0 & 0b11000011);                               F:\MCP\projects\CAN\Include\adc.c
003f7c   14c2     ANDWF     0xc2,0x0,0x0                                                                                    
003f7e   6e00     MOVWF     0x0,0x0                                                                                         
003f80   0efe     MOVLW     0xfe                                                                                            
003f82   50db     MOVF      0xdb,0x0,0x0                                                                                    
003f84   0d04     MULLW     0x4                                                                                             
003f86   50f3     MOVF      0xf3,0x0,0x0                                                                                    
003f88   1000     IORWF     0x0,0x0,0x0                                                                                     
003f8a   6ec2     MOVWF     0xc2,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f8c   0100     MOVLB     0x0             TEMP_DONE = FALSE;                                                              F:\MCP\projects\CAN\Include\adc.c
003f8e   6b9f     CLRF      0x9f,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f90   82c2     BSF       0xc2,0x1,0x0    ADCON0bits.GO = 1;                                                              F:\MCP\projects\CAN\Include\adc.c
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003f92   0e01     MOVLW     0x1             return TRUE;                                                                    F:\MCP\projects\CAN\Include\adc.c
003f94   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\adc.c
003f96   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
003f98   ffd9                                                                                                               
003f9a   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
003f9c   0100     MOVLB     0x0             TEMP_DONE=FALSE;                                                                F:\MCP\projects\CAN\Include\adc.c
003f9e   6b9f     CLRF      0x9f,0x1                                                                                        
003fa0   c08d     MOVFF     0x8d,0xff3      return TEMP_VALUE;                                                              F:\MCP\projects\CAN\Include\adc.c
003fa2   fff3                                                                                                               
003fa4   c08e     MOVFF     0x8e,0xff4                                                                                      
003fa6   fff4                                                                                                               
003fa8   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
003faa   cfd9     MOVFF     0xfd9,0xfe6    void temperatureRead(signed char *tenth, BYTE *decimal)                          F:\MCP\projects\CAN\Include\adc.c
003fac   ffe6                                                                                                               
003fae   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
003fb0   ffd9                                                                                                               
003fb2   0e08     MOVLW     0x8                                                                                             
003fb4   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
003fb6   6ade     CLRF      0xde,0x0        signed int i = 0, v11,v01,tfloat;                                               F:\MCP\projects\CAN\Include\adc.c
003fb8   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
003fba   c08d     MOVFF     0x8d,0x4        tfloat =((TEMP_VALUE * 39)>>4) - 499;                                           F:\MCP\projects\CAN\Include\adc.c
003fbc   f004                                                                                                               
003fbe   c08e     MOVFF     0x8e,0x5                                                                                        
003fc0   f005                                                                                                               
003fc2   c08f     MOVFF     0x8f,0x6                                                                                        
003fc4   f006                                                                                                               
003fc6   c090     MOVFF     0x90,0x7                                                                                        
003fc8   f007                                                                                                               
003fca   0e27     MOVLW     0x27                                                                                            
003fcc   6e2e     MOVWF     0x2e,0x0                                                                                        
003fce   6a2f     CLRF      0x2f,0x0                                                                                        
003fd0   6a30     CLRF      0x30,0x0                                                                                        
003fd2   6a31     CLRF      0x31,0x0                                                                                        
003fd4   c08d     MOVFF     0x8d,0x29                                                                                       
003fd6   f029                                                                                                               
003fd8   c08e     MOVFF     0x8e,0x2a                                                                                       
003fda   f02a                                                                                                               
003fdc   c08f     MOVFF     0x8f,0x2b                                                                                       
003fde   f02b                                                                                                               
003fe0   c090     MOVFF     0x90,0x2c                                                                                       
003fe2   f02c                                                                                                               
003fe4   ec52     CALL      0x44a4,0x0                                                                                      
003fe6   f022                                                                                                               
003fe8   c025     MOVFF     0x25,0x4                                                                                        
003fea   f004                                                                                                               
003fec   c026     MOVFF     0x26,0x5                                                                                        
003fee   f005                                                                                                               
003ff0   c027     MOVFF     0x27,0x6                                                                                        
003ff2   f006                                                                                                               
003ff4   c028     MOVFF     0x28,0x7                                                                                        
003ff6   f007                                                                                                               
003ff8   0e04     MOVLW     0x4                                                                                             
003ffa   90d8     BCF       0xd8,0x0,0x0                                                                                    
003ffc   3207     RRCF      0x7,0x1,0x0                                                                                     
003ffe   3206     RRCF      0x6,0x1,0x0                                                                                     
004000   3205     RRCF      0x5,0x1,0x0                                                                                     
004002   3204     RRCF      0x4,0x1,0x0                                                                                     
004004   06e8     DECF      0xe8,0x1,0x0                                                                                    
004006   e1f9     BNZ       0x3ffa                                                                                          
004008   c004     MOVFF     0x4,0x0                                                                                         
00400a   f000                                                                                                               
00400c   c005     MOVFF     0x5,0x1                                                                                         
00400e   f001                                                                                                               
004010   c006     MOVFF     0x6,0x2                                                                                         
004012   f002                                                                                                               
004014   c007     MOVFF     0x7,0x3                                                                                         
004016   f003                                                                                                               
004018   0ef3     MOVLW     0xf3                                                                                            
00401a   5e00     SUBWF     0x0,0x1,0x0                                                                                     
00401c   0e01     MOVLW     0x1                                                                                             
00401e   5a01     SUBWFB    0x1,0x1,0x0                                                                                     
004020   0e00     MOVLW     0x0                                                                                             
004022   5a02     SUBWFB    0x2,0x1,0x0                                                                                     
004024   5a03     SUBWFB    0x3,0x1,0x0                                                                                     
004026   0e06     MOVLW     0x6                                                                                             
004028   c000     MOVFF     0x0,0xfdb                                                                                       
00402a   ffdb                                                                                                               
00402c   0e07     MOVLW     0x7                                                                                             
00402e   c001     MOVFF     0x1,0xfdb                                                                                       
004030   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004032   0e0a     MOVLW     0xa             v11 = tfloat/10;                                                                F:\MCP\projects\CAN\Include\adc.c
004034   6e00     MOVWF     0x0,0x0                                                                                         
004036   6a01     CLRF      0x1,0x0                                                                                         
004038   0e06     MOVLW     0x6                                                                                             
00403a   cfdb     MOVFF     0xfdb,0x2b                                                                                      
00403c   f02b                                                                                                               
00403e   0e07     MOVLW     0x7                                                                                             
004040   cfdb     MOVFF     0xfdb,0x2c                                                                                      
004042   f02c                                                                                                               
004044   c000     MOVFF     0x0,0x30                                                                                        
004046   f030                                                                                                               
004048   c001     MOVFF     0x1,0x31                                                                                        
00404a   f031                                                                                                               
00404c   ec56     CALL      0x38ac,0x0                                                                                      
00404e   f01c                                                                                                               
004050   0e02     MOVLW     0x2                                                                                             
004052   c02b     MOVFF     0x2b,0xfdb                                                                                      
004054   ffdb                                                                                                               
004056   0e03     MOVLW     0x3                                                                                             
004058   c02c     MOVFF     0x2c,0xfdb                                                                                      
00405a   ffdb                                                                                                               
00405c   0e06     MOVLW     0x6             v01 = tfloat-v11*10;                                                            F:\MCP\projects\CAN\Include\adc.c
00405e   cfdb     MOVFF     0xfdb,0x2                                                                                       
004060   f002                                                                                                               
004062   0e07     MOVLW     0x7                                                                                             
004064   cfdb     MOVFF     0xfdb,0x3                                                                                       
004066   f003                                                                                                               
004068   0e0a     MOVLW     0xa                                                                                             
00406a   6e2b     MOVWF     0x2b,0x0                                                                                        
00406c   6a2c     CLRF      0x2c,0x0                                                                                        
00406e   0e02     MOVLW     0x2                                                                                             
004070   cfdb     MOVFF     0xfdb,0x30                                                                                      
004072   f030                                                                                                               
004074   0e03     MOVLW     0x3                                                                                             
004076   cfdb     MOVFF     0xfdb,0x31                                                                                      
004078   f031                                                                                                               
00407a   ec7c     CALL      0x38f8,0x0                                                                                      
00407c   f01c                                                                                                               
00407e   5029     MOVF      0x29,0x0,0x0                                                                                    
004080   5c02     SUBWF     0x2,0x0,0x0                                                                                     
004082   6e00     MOVWF     0x0,0x0                                                                                         
004084   502a     MOVF      0x2a,0x0,0x0                                                                                    
004086   5803     SUBWFB    0x3,0x0,0x0                                                                                     
004088   6e01     MOVWF     0x1,0x0                                                                                         
00408a   0e04     MOVLW     0x4                                                                                             
00408c   c000     MOVFF     0x0,0xfdb                                                                                       
00408e   ffdb                                                                                                               
004090   0e05     MOVLW     0x5                                                                                             
004092   c001     MOVFF     0x1,0xfdb                                                                                       
004094   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004096   0e04     MOVLW     0x4                  if (v01>=0 && v01<=2) v01 = 0;                                             F:\MCP\projects\CAN\Include\adc.c
004098   cfdb     MOVFF     0xfdb,0x0                                                                                       
00409a   f000                                                                                                               
00409c   0e05     MOVLW     0x5                                                                                             
00409e   cfdb     MOVFF     0xfdb,0x1                                                                                       
0040a0   f001                                                                                                               
0040a2   0100     MOVLB     0x0                                                                                             
0040a4   0e80     MOVLW     0x80                                                                                            
0040a6   1401     ANDWF     0x1,0x0,0x0                                                                                     
0040a8   e110     BNZ       0x40ca                                                                                          
0040aa   0e04     MOVLW     0x4                                                                                             
0040ac   cfdb     MOVFF     0xfdb,0x2                                                                                       
0040ae   f002                                                                                                               
0040b0   0e05     MOVLW     0x5                                                                                             
0040b2   cfdb     MOVFF     0xfdb,0x3                                                                                       
0040b4   f003                                                                                                               
0040b6   3403     RLCF      0x3,0x0,0x0                                                                                     
0040b8   e204     BC        0x40c2                                                                                          
0040ba   5002     MOVF      0x2,0x0,0x0                                                                                     
0040bc   0802     SUBLW     0x2                                                                                             
0040be   0e00     MOVLW     0x0                                                                                             
0040c0   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0040c2   e303     BNC       0x40ca                                                                                          
0040c4   0e04     MOVLW     0x4                                                                                             
0040c6   6adb     CLRF      0xdb,0x0                                                                                        
0040c8   d020     BRA       0x410a          else if (v01>=3 && v01<=7) v01 = 5;                                             F:\MCP\projects\CAN\Include\adc.c
0040ca   0e04     MOVLW     0x4                                                                                             
0040cc   cfdb     MOVFF     0xfdb,0x0                                                                                       
0040ce   f000                                                                                                               
0040d0   0e05     MOVLW     0x5                                                                                             
0040d2   cfdb     MOVFF     0xfdb,0x1                                                                                       
0040d4   f001                                                                                                               
0040d6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0040d8   5001     MOVF      0x1,0x0,0x0                                                                                     
0040da   e604     BN        0x40e4                                                                                          
0040dc   0e03     MOVLW     0x3                                                                                             
0040de   5c00     SUBWF     0x0,0x0,0x0                                                                                     
0040e0   0e00     MOVLW     0x0                                                                                             
0040e2   5801     SUBWFB    0x1,0x0,0x0                                                                                     
0040e4   e315     BNC       0x4110                                                                                          
0040e6   0e04     MOVLW     0x4                                                                                             
0040e8   cfdb     MOVFF     0xfdb,0x2                                                                                       
0040ea   f002                                                                                                               
0040ec   0e05     MOVLW     0x5                                                                                             
0040ee   cfdb     MOVFF     0xfdb,0x3                                                                                       
0040f0   f003                                                                                                               
0040f2   3403     RLCF      0x3,0x0,0x0                                                                                     
0040f4   e204     BC        0x40fe                                                                                          
0040f6   5002     MOVF      0x2,0x0,0x0                                                                                     
0040f8   0807     SUBLW     0x7                                                                                             
0040fa   0e00     MOVLW     0x0                                                                                             
0040fc   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0040fe   e308     BNC       0x4110                                                                                          
004100   0e05     MOVLW     0x5                                                                                             
004102   6ef3     MOVWF     0xf3,0x0                                                                                        
004104   0e04     MOVLW     0x4                                                                                             
004106   cff3     MOVFF     0xff3,0xfdb                                                                                     
004108   ffdb                                                                                                               
00410a   0e05     MOVLW     0x5                                                                                             
00410c   6adb     CLRF      0xdb,0x0                                                                                        
00410e   d009     BRA       0x4122          else  { v01 = 0; v11++;}                                                        F:\MCP\projects\CAN\Include\adc.c
004110   0e04     MOVLW     0x4                                                                                             
004112   6adb     CLRF      0xdb,0x0                                                                                        
004114   0e05     MOVLW     0x5                                                                                             
004116   6adb     CLRF      0xdb,0x0                                                                                        
004118   0e02     MOVLW     0x2                                                                                             
00411a   2adb     INCF      0xdb,0x1,0x0                                                                                    
00411c   0e03     MOVLW     0x3                                                                                             
00411e   e301     BNC       0x4122                                                                                          
004120   2adb     INCF      0xdb,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004122   0efd     MOVLW     0xfd            *tenth = (signed char)v11;                                                      F:\MCP\projects\CAN\Include\adc.c
004124   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
004126   ffe9                                                                                                               
004128   0efe     MOVLW     0xfe                                                                                            
00412a   cfdb     MOVFF     0xfdb,0xfea                                                                                     
00412c   ffea                                                                                                               
00412e   0e02     MOVLW     0x2                                                                                             
004130   cfdb     MOVFF     0xfdb,0xfef                                                                                     
004132   ffef                                                                                                               
004134   0efb     MOVLW     0xfb            *decimal = (BYTE)v01;                                                           F:\MCP\projects\CAN\Include\adc.c
004136   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
004138   ffe9                                                                                                               
00413a   0efc     MOVLW     0xfc                                                                                            
00413c   cfdb     MOVFF     0xfdb,0xfea                                                                                     
00413e   ffea                                                                                                               
004140   0e04     MOVLW     0x4                                                                                             
004142   cfdb     MOVFF     0xfdb,0xfef                                                                                     
004144   ffef                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\Include\adc.c
004146   0100     MOVLB     0x0                 TEMP_DONE=FALSE;                                                               F:\MCP\projects\CAN\Include\adc.c
004148   6b9f     CLRF      0x9f,0x1                                                                                        
00414a   0e08     MOVLW     0x8            }                                                                                F:\MCP\projects\CAN\Include\adc.c
00414c   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00414e   e202     BC        0x4154                                                                                          
004150   6ae1     CLRF      0xe1,0x0                                                                                        
004152   52e5     MOVF      0xe5,0x1,0x0                                                                                    
004154   6ee1     MOVWF     0xe1,0x0                                                                                        
004156   52e5     MOVF      0xe5,0x1,0x0                                                                                    
004158   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00415a   ffd9                                                                                                               
00415c   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
00415e   c08d     MOVFF     0x8d,0x29       return TEMP_VALUE;                                                              F:\MCP\projects\CAN\Include\adc.c
004160   f029                                                                                                               
004162   c08e     MOVFF     0x8e,0x2a                                                                                       
004164   f02a                                                                                                               
004166   c08f     MOVFF     0x8f,0x2b                                                                                       
004168   f02b                                                                                                               
00416a   c090     MOVFF     0x90,0x2c                                                                                       
00416c   f02c                                                                                                               
00416e   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
004170   0100     MOVLB     0x0             return TEMP_DONE;                                                               F:\MCP\projects\CAN\Include\adc.c
004172   519f     MOVF      0x9f,0x0,0x1                                                                                    
004174   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-03-01 14:38:06 +0100 (to, 01 mar 2007) $ F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            * Revision:     $Revision: 347 $                                                   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 BYTE 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
004176   0ec1     MOVLW     0xc1            T1CON = 0b11000001;                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
004178   6ecd     MOVWF     0xcd,0x0                                                                                        
00417a   0100     MOVLB     0x0             TMR1H=(BYTE)((timerVal&0xFF00)>>8);                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
00417c   0eff     MOVLW     0xff                                                                                            
00417e   1594     ANDWF     0x94,0x0,0x1                                                                                    
004180   50e8     MOVF      0xe8,0x0,0x0                                                                                    
004182   6ecf     MOVWF     0xcf,0x0                                                                                        
004184   5193     MOVF      0x93,0x0,0x1    TMR1L=(timerVal&0xFF);                                                          F:\MCP\projects\CAN\canTemp\Source\blinds.c
004186   6ece     MOVWF     0xce,0x0                                                                                        
004188   909e     BCF       0x9e,0x0,0x0    PIR1bits.TMR1IF = 0;                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
00418a   809d     BSF       0x9d,0x0,0x0    PIE1bits.TMR1IE = 1;                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
00418c   809f     BSF       0x9f,0x0,0x0    IPR1bits.TMR1IP = 1; // high prior                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
00418e   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
004190   0100     MOVLB     0x0             return currentPrecent;                                                          F:\MCP\projects\CAN\canTemp\Source\blinds.c
004192   5197     MOVF      0x97,0x0,0x1                                                                                    
004194   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
004196   cfd9     MOVFF     0xfd9,0xfe6    void blindsTurn(BYTE precent)                                                    F:\MCP\projects\CAN\canTemp\Source\blinds.c
004198   ffe6                                                                                                               
00419a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00419c   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            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
00419e   8a82     BSF       0x82,0x5,0x0    BLINDS0P_IO=1;                                                                  F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041a0   0100     MOVLB     0x0             turnOffIO = IO_TIMEOUT;                                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041a2   0ebc     MOVLW     0xbc                                                                                            
0041a4   6f95     MOVWF     0x95,0x1                                                                                        
0041a6   0e02     MOVLW     0x2                                                                                             
0041a8   6f96     MOVWF     0x96,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041aa   0efe     MOVLW     0xfe            currentPrecent = precent;                                                       F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041ac   cfdb     MOVFF     0xfdb,0x97                                                                                      
0041ae   f097                                                                                                               
0041b0   50db     MOVF      0xdb,0x0,0x0    if (precent>100) { currentPrecent = 100; }                                      F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041b2   0864     SUBLW     0x64                                                                                            
0041b4   e202     BC        0x41ba                                                                                          
0041b6   0e64     MOVLW     0x64                                                                                            
0041b8   6f97     MOVWF     0x97,0x1                                                                                        
0041ba   0e00     MOVLW     0x0             if (precent<0)   { currentPrecent =   0; }                                      F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041bc   6ef3     MOVWF     0xf3,0x0                                                                                        
0041be   0efe     MOVLW     0xfe                                                                                            
0041c0   cfdb     MOVFF     0xfdb,0xff4                                                                                     
0041c2   fff4                                                                                                               
0041c4   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0041c6   5cf4     SUBWF     0xf4,0x0,0x0                                                                                    
0041c8   e201     BC        0x41cc                                                                                          
0041ca   6b97     CLRF      0x97,0x1                                                                                        
0041cc   6b98     CLRF      0x98,0x1        dutyOffCounter = 0;                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041ce   0e78     MOVLW     0x78            timerVal=60536-(unsigned int)((90+(-1.05*(unsigned int)currentPrecent+60))*111.111); F:\MCP\projects\CAN\canTemp\Source\blinds.c
0041d0   6e03     MOVWF     0x3,0x0                                                                                         
0041d2   0eec     MOVLW     0xec                                                                                            
0041d4   6e04     MOVWF     0x4,0x0                                                                                         
0041d6   6a05     CLRF      0x5,0x0                                                                                         
0041d8   6a0d     CLRF      0xd,0x0                                                                                         
0041da   6a0e     CLRF      0xe,0x0                                                                                         
0041dc   0eb4     MOVLW     0xb4                                                                                            
0041de   6e0f     MOVWF     0xf,0x0                                                                                         
0041e0   0e42     MOVLW     0x42                                                                                            
0041e2   6e10     MOVWF     0x10,0x0                                                                                        
0041e4   0e66     MOVLW     0x66                                                                                            
0041e6   6e19     MOVWF     0x19,0x0                                                                                        
0041e8   6e1a     MOVWF     0x1a,0x0                                                                                        
0041ea   0e86     MOVLW     0x86                                                                                            
0041ec   6e1b     MOVWF     0x1b,0x0                                                                                        
0041ee   0ebf     MOVLW     0xbf                                                                                            
0041f0   6e1c     MOVWF     0x1c,0x0                                                                                        
0041f2   5197     MOVF      0x97,0x0,0x1                                                                                    
0041f4   6e21     MOVWF     0x21,0x0                                                                                        
0041f6   6a22     CLRF      0x22,0x0                                                                                        
0041f8   c097     MOVFF     0x97,0x2b                                                                                       
0041fa   f02b                                                                                                               
0041fc   c022     MOVFF     0x22,0x2c                                                                                       
0041fe   f02c                                                                                                               
004200   ec3d     CALL      0x367a,0x0                                                                                      
004202   f01b                                                                                                               
004204   c02a     MOVFF     0x2a,0x1d                                                                                       
004206   f01d                                                                                                               
004208   c02b     MOVFF     0x2b,0x1e                                                                                       
00420a   f01e                                                                                                               
00420c   c02c     MOVFF     0x2c,0x1f                                                                                       
00420e   f01f                                                                                                               
004210   c02d     MOVFF     0x2d,0x20                                                                                       
004212   f020                                                                                                               
004214   c02a     MOVFF     0x2a,0x2f                                                                                       
004216   f02f                                                                                                               
004218   c02b     MOVFF     0x2b,0x30                                                                                       
00421a   f030                                                                                                               
00421c   c02c     MOVFF     0x2c,0x31                                                                                       
00421e   f031                                                                                                               
004220   c02d     MOVFF     0x2d,0x32                                                                                       
004222   f032                                                                                                               
004224   c019     MOVFF     0x19,0x2a                                                                                       
004226   f02a                                                                                                               
004228   c01a     MOVFF     0x1a,0x2b                                                                                       
00422a   f02b                                                                                                               
00422c   c01b     MOVFF     0x1b,0x2c                                                                                       
00422e   f02c                                                                                                               
004230   c01c     MOVFF     0x1c,0x2d                                                                                       
004232   f02d                                                                                                               
004234   ece9     CALL      0x37d2,0x0                                                                                      
004236   f01b                                                                                                               
004238   c02a     MOVFF     0x2a,0x15                                                                                       
00423a   f015                                                                                                               
00423c   c02b     MOVFF     0x2b,0x16                                                                                       
00423e   f016                                                                                                               
004240   c02c     MOVFF     0x2c,0x17                                                                                       
004242   f017                                                                                                               
004244   c02d     MOVFF     0x2d,0x18                                                                                       
004246   f018                                                                                                               
004248   6a2f     CLRF      0x2f,0x0                                                                                        
00424a   6a30     CLRF      0x30,0x0                                                                                        
00424c   0e70     MOVLW     0x70                                                                                            
00424e   6e31     MOVWF     0x31,0x0                                                                                        
004250   0e42     MOVLW     0x42                                                                                            
004252   6e32     MOVWF     0x32,0x0                                                                                        
004254   ec53     CALL      0x36a6,0x0                                                                                      
004256   f01b                                                                                                               
004258   c02a     MOVFF     0x2a,0x11                                                                                       
00425a   f011                                                                                                               
00425c   c02b     MOVFF     0x2b,0x12                                                                                       
00425e   f012                                                                                                               
004260   c02c     MOVFF     0x2c,0x13                                                                                       
004262   f013                                                                                                               
004264   c02d     MOVFF     0x2d,0x14                                                                                       
004266   f014                                                                                                               
004268   c02a     MOVFF     0x2a,0x2f                                                                                       
00426a   f02f                                                                                                               
00426c   c02b     MOVFF     0x2b,0x30                                                                                       
00426e   f030                                                                                                               
004270   c02c     MOVFF     0x2c,0x31                                                                                       
004272   f031                                                                                                               
004274   c02d     MOVFF     0x2d,0x32                                                                                       
004276   f032                                                                                                               
004278   c00d     MOVFF     0xd,0x2a                                                                                        
00427a   f02a                                                                                                               
00427c   c00e     MOVFF     0xe,0x2b                                                                                        
00427e   f02b                                                                                                               
004280   c00f     MOVFF     0xf,0x2c                                                                                        
004282   f02c                                                                                                               
004284   c010     MOVFF     0x10,0x2d                                                                                       
004286   f02d                                                                                                               
004288   ec53     CALL      0x36a6,0x0                                                                                      
00428a   f01b                                                                                                               
00428c   c02a     MOVFF     0x2a,0x9                                                                                        
00428e   f009                                                                                                               
004290   c02b     MOVFF     0x2b,0xa                                                                                        
004292   f00a                                                                                                               
004294   c02c     MOVFF     0x2c,0xb                                                                                        
004296   f00b                                                                                                               
004298   c02d     MOVFF     0x2d,0xc                                                                                        
00429a   f00c                                                                                                               
00429c   0ed5     MOVLW     0xd5                                                                                            
00429e   6e2f     MOVWF     0x2f,0x0                                                                                        
0042a0   0e38     MOVLW     0x38                                                                                            
0042a2   6e30     MOVWF     0x30,0x0                                                                                        
0042a4   0ede     MOVLW     0xde                                                                                            
0042a6   6e31     MOVWF     0x31,0x0                                                                                        
0042a8   0e42     MOVLW     0x42                                                                                            
0042aa   6e32     MOVWF     0x32,0x0                                                                                        
0042ac   ece9     CALL      0x37d2,0x0                                                                                      
0042ae   f01b                                                                                                               
0042b0   eca9     CALL      0x3952,0x0                                                                                      
0042b2   f01c                                                                                                               
0042b4   6a08     CLRF      0x8,0x0                                                                                         
0042b6   502b     MOVF      0x2b,0x0,0x0                                                                                    
0042b8   5c03     SUBWF     0x3,0x0,0x0                                                                                     
0042ba   6e00     MOVWF     0x0,0x0                                                                                         
0042bc   502c     MOVF      0x2c,0x0,0x0                                                                                    
0042be   5804     SUBWFB    0x4,0x0,0x0                                                                                     
0042c0   6e01     MOVWF     0x1,0x0                                                                                         
0042c2   5008     MOVF      0x8,0x0,0x0                                                                                     
0042c4   5805     SUBWFB    0x5,0x0,0x0                                                                                     
0042c6   c000     MOVFF     0x0,0x93                                                                                        
0042c8   f093                                                                                                               
0042ca   c001     MOVFF     0x1,0x94                                                                                        
0042cc   f094                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042ce   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042d0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0042d2   ffd9                                                                                                               
0042d4   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
0042d6   cfd9     MOVFF     0xfd9,0xfe6    void blindsISR(void)                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042d8   ffe6                                                                                                               
0042da   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0042dc   ffd9                                                                                                               
0042de   0e02     MOVLW     0x2                                                                                             
0042e0   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042e2   509e     MOVF      0x9e,0x0,0x0    if (PIR1bits.TMR1IF == 1 && PIE1bits.TMR1IE == 1)                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042e4   0b01     ANDLW     0x1                                                                                             
0042e6   e040     BZ        0x4368                                                                                          
0042e8   509d     MOVF      0x9d,0x0,0x0                                                                                    
0042ea   0b01     ANDLW     0x1                                                                                             
0042ec   e03d     BZ        0x4368                                                                                          
                                            {                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042ee   c093     MOVFF     0x93,0xfde          WORD timerValBuffer = timerVal;                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042f0   ffde                                                                                                               
0042f2   c094     MOVFF     0x94,0xfdd                                                                                      
0042f4   ffdd                                                                                                               
                                                                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042f6   0100     MOVLB     0x0                 dutyOffCounter++;                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042f8   2b98     INCF      0x98,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042fa   5082     MOVF      0x82,0x0,0x0        if (BLINDS0_IO==0 && dutyOffCounter>4)                                         F:\MCP\projects\CAN\canTemp\Source\blinds.c
0042fc   0b10     ANDLW     0x10                                                                                            
0042fe   e106     BNZ       0x430c                                                                                          
004300   5198     MOVF      0x98,0x0,0x1                                                                                    
004302   0804     SUBLW     0x4                                                                                             
004304   e203     BC        0x430c                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
004306   8882     BSF       0x82,0x4,0x0            BLINDS0_IO=1;                                                                 F:\MCP\projects\CAN\canTemp\Source\blinds.c
004308   6b98     CLRF      0x98,0x1                dutyOffCounter=0;                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
00430a   d00d     BRA       0x4326              else if (BLINDS0_IO==0 && dutyOffCounter<=4)                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
00430c   5082     MOVF      0x82,0x0,0x0                                                                                    
00430e   0b10     ANDLW     0x10                                                                                            
004310   e108     BNZ       0x4322                                                                                          
004312   5198     MOVF      0x98,0x0,0x1                                                                                    
004314   0804     SUBLW     0x4                                                                                             
004316   e305     BNC       0x4322                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
004318   0eb0     MOVLW     0xb0                    timerValBuffer = DUTY_OFF_DELAY;                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
00431a   6ede     MOVWF     0xde,0x0                                                                                        
00431c   0e3c     MOVLW     0x3c                                                                                            
00431e   6edd     MOVWF     0xdd,0x0                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
004320   d002     BRA       0x4326              else if (BLINDS0_IO==1)                                                        F:\MCP\projects\CAN\canTemp\Source\blinds.c
004322   b882     BTFSC     0x82,0x4,0x0                                                                                    
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
004324   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
004326   cfde     MOVFF     0xfde,0x0           TMR1H=(BYTE)((timerValBuffer&0xFF00)>>8);                                      F:\MCP\projects\CAN\canTemp\Source\blinds.c
004328   f000                                                                                                               
00432a   cfdd     MOVFF     0xfdd,0x1                                                                                       
00432c   f001                                                                                                               
00432e   0e00     MOVLW     0x0                                                                                             
004330   1600     ANDWF     0x0,0x1,0x0                                                                                     
004332   0eff     MOVLW     0xff                                                                                            
004334   1601     ANDWF     0x1,0x1,0x0                                                                                     
004336   c001     MOVFF     0x1,0x0                                                                                         
004338   f000                                                                                                               
00433a   6a01     CLRF      0x1,0x0                                                                                         
00433c   5000     MOVF      0x0,0x0,0x0                                                                                     
00433e   6ecf     MOVWF     0xcf,0x0                                                                                        
004340   cfde     MOVFF     0xfde,0x0           TMR1L=(timerValBuffer&0xFF);                                                   F:\MCP\projects\CAN\canTemp\Source\blinds.c
004342   f000                                                                                                               
004344   cfdd     MOVFF     0xfdd,0x1                                                                                       
004346   f001                                                                                                               
004348   5000     MOVF      0x0,0x0,0x0                                                                                     
00434a   6ece     MOVWF     0xce,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                                                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
00434c   c095     MOVFF     0x95,0x0            if (turnOffIO--<1)                                                             F:\MCP\projects\CAN\canTemp\Source\blinds.c
00434e   f000                                                                                                               
004350   c096     MOVFF     0x96,0x1                                                                                        
004352   f001                                                                                                               
004354   0795     DECF      0x95,0x1,0x1                                                                                    
004356   0e00     MOVLW     0x0                                                                                             
004358   5b96     SUBWFB    0x96,0x1,0x1                                                                                    
00435a   0e01     MOVLW     0x1                                                                                             
00435c   5c00     SUBWF     0x0,0x0,0x0                                                                                     
00435e   0e00     MOVLW     0x0                                                                                             
004360   5801     SUBWFB    0x1,0x0,0x0                                                                                     
004362   e201     BC        0x4366                                                                                          
                                                {                                                                              F:\MCP\projects\CAN\canTemp\Source\blinds.c
004364   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
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
004366   909e     BCF       0x9e,0x0,0x0        PIR1bits.TMR1IF = 0;                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                            }                                                                               F:\MCP\projects\CAN\canTemp\Source\blinds.c
004368   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canTemp\Source\blinds.c
00436a   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00436c   e202     BC        0x4372                                                                                          
00436e   6ae1     CLRF      0xe1,0x0                                                                                        
004370   52e5     MOVF      0xe5,0x1,0x0                                                                                    
004372   6ee1     MOVWF     0xe1,0x0                                                                                        
004374   52e5     MOVF      0xe5,0x1,0x0                                                                                    
004376   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
004378   ffd9                                                                                                               
00437a   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canTemp\Source\blinds.c
                                           #endif                                                                           F:\MCP\projects\CAN\canTemp\Source\blinds.c