Subversion Repositories HomeAutomation

Rev

Rev 260 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

MP2COD 4.02, COFF to COD File Converter
Copyright (c) 2006 Microchip Technology Inc.
Listing File Generated: Sun Jan 14 14:49:20 2007


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            *                  UART                                                         F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            *********************************************************************           F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canToSerial/Source/uart.c $ F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            * Last changed: $LastChangedDate: 2006-11-14 21:22:17 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            * Revision:     $Revision: 97 $                                                    F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           #include <uart.h>                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           static char uartBusy(void);                                                      F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Function: uartInit                                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           void uartInit()                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                // Configure USART                                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
00094e   8e94     BSF       0x94,0x7,0x0        TRISCbits.TRISC7=1;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
000950   9c94     BCF       0x94,0x6,0x0        TRISCbits.TRISC6=0;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
000952   0e20     MOVLW     0x20                TXSTA=0b00100000;                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
000954   6eac     MOVWF     0xac,0x0                                                                                        
                                                #ifdef HIGH_BRG                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000956   84ac     BSF       0xac,0x2,0x0            TXSTAbits.BRGH=1; // High BRG speed                                           F:\MCP\projects\CAN\canToSerial\Source\uart.c
000958   86b8     BSF       0xb8,0x3,0x0            BAUDCONbits.BRG16=1;                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
00095a   6ab0     CLRF      0xb0,0x0                SPBRGH = SPBRGH_VAL;                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
00095c   0e55     MOVLW     0x55                    SPBRG = SPBRG_VAL;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
00095e   6eaf     MOVWF     0xaf,0x0                                                                                        
                                                #else                                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                    TXSTAbits.BRGH=0;  // Low BRG speed                                           F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                    SPBRG = SPBRG_VAL;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                #endif                                                                         F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000960   0e90     MOVLW     0x90                RCSTA=0b10010000;                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
000962   6eab     MOVWF     0xab,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                // USART RX interrupt                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000964   9a9e     BCF       0x9e,0x5,0x0        PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000966   8a9d     BSF       0x9d,0x5,0x0        PIE1bits.RCIE=1;                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                // High interrupt                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
000968   8a9f     BSF       0x9f,0x5,0x0        IPR1bits.RCIP=1;                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
00096a   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Function: uartPutc                                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Input:  BYTE c to send on uart                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
00096c   cfd9     MOVFF     0xfd9,0xfe6    void uartPutc(BYTE c)                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
00096e   ffe6                                                                                                               
000970   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000972   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            // Write the data byte to the USART                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
000974   0efe     MOVLW     0xfe            TXREG = c;                                                                      F:\MCP\projects\CAN\canToSerial\Source\uart.c
000976   50db     MOVF      0xdb,0x0,0x0                                                                                    
000978   6ead     MOVWF     0xad,0x0                                                                                        
00097a   d84b     RCALL     0xa12           while(uartBusy());                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
00097c   0900     IORLW     0x0                                                                                             
00097e   e001     BZ        0x982                                                                                           
000980   d7fc     BRA       0x97a                                                                                           
000982   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000984   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000986   ffd9                                                                                                               
000988   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Function: uartPuts                                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Input:  Byte array to send on uart                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
00098a   cfd9     MOVFF     0xfd9,0xfe6    void uartPuts(BYTE c[])                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
00098c   ffe6                                                                                                               
00098e   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000990   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            do                                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                {  // Transmit a byte                                                         F:\MCP\projects\CAN\canToSerial\Source\uart.c
000992   d83f     RCALL     0xa12               while(uartBusy());                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000994   0900     IORLW     0x0                                                                                             
000996   e001     BZ        0x99a                                                                                           
000998   d7fc     BRA       0x992                                                                                           
00099a   0efd     MOVLW     0xfd                uartPutc(*c);                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
00099c   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
00099e   ffe9                                                                                                               
0009a0   0efe     MOVLW     0xfe                                                                                            
0009a2   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0009a4   ffea                                                                                                               
0009a6   50ef     MOVF      0xef,0x0,0x0                                                                                    
0009a8   6ee6     MOVWF     0xe6,0x0                                                                                        
0009aa   dfe0     RCALL     0x96c                                                                                           
0009ac   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0009ae   0efd     MOVLW     0xfd                } while( *c++ );                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009b0   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
0009b2   ffe9                                                                                                               
0009b4   2adb     INCF      0xdb,0x1,0x0                                                                                    
0009b6   0efe     MOVLW     0xfe                                                                                            
0009b8   cfdb     MOVFF     0xfdb,0xfea                                                                                     
0009ba   ffea                                                                                                               
0009bc   e301     BNC       0x9c0                                                                                           
0009be   2adb     INCF      0xdb,0x1,0x0                                                                                    
0009c0   50ef     MOVF      0xef,0x0,0x0                                                                                    
0009c2   e1e7     BNZ       0x992                                                                                           
0009c4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009c6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0009c8   ffd9                                                                                                               
0009ca   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Function: uartPutrs                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Input:  Byte array to send on uart (static)                                     F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009cc   cfd9     MOVFF     0xfd9,0xfe6    void uartPutrs(const rom char *c)                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009ce   ffe6                                                                                                               
0009d0   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0009d2   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            do                                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                {  // Transmit a byte                                                         F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009d4   d81e     RCALL     0xa12               while(uartBusy());                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009d6   0900     IORLW     0x0                                                                                             
0009d8   e001     BZ        0x9dc                                                                                           
0009da   d7fc     BRA       0x9d4                                                                                           
0009dc   0efd     MOVLW     0xfd                uartPutc(*c);                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009de   cfdb     MOVFF     0xfdb,0xff6                                                                                     
0009e0   fff6                                                                                                               
0009e2   0efe     MOVLW     0xfe                                                                                            
0009e4   cfdb     MOVFF     0xfdb,0xff7                                                                                     
0009e6   fff7                                                                                                               
0009e8   0008     TBLRD                                                                                                     
0009ea   50f5     MOVF      0xf5,0x0,0x0                                                                                    
0009ec   6ee6     MOVWF     0xe6,0x0                                                                                        
0009ee   dfbe     RCALL     0x96c                                                                                           
0009f0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0009f2   0efd     MOVLW     0xfd                } while( *c++ );                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009f4   cfdb     MOVFF     0xfdb,0xff6                                                                                     
0009f6   fff6                                                                                                               
0009f8   2adb     INCF      0xdb,0x1,0x0                                                                                    
0009fa   0efe     MOVLW     0xfe                                                                                            
0009fc   cfdb     MOVFF     0xfdb,0xff7                                                                                     
0009fe   fff7                                                                                                               
000a00   e301     BNC       0xa04                                                                                           
000a02   2adb     INCF      0xdb,0x1,0x0                                                                                    
000a04   0008     TBLRD                                                                                                     
000a06   50f5     MOVF      0xf5,0x0,0x0                                                                                    
000a08   e1e5     BNZ       0x9d4                                                                                           
000a0a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a0c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000a0e   ffd9                                                                                                               
000a10   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Function: uartBusy                                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Output: If usart busy or not.                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           char uartBusy(void)                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a12   50ac     MOVF      0xac,0x0,0x0    return !TXSTAbits.TRMT;                                                         F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a14   0b02     ANDLW     0x2                                                                                             
000a16   0a02     XORLW     0x2                                                                                             
000a18   e001     BZ        0xa1c                                                                                           
000a1a   0e01     MOVLW     0x1                                                                                             
000a1c   d000     BRA       0xa1e                                                                                           
000a1e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Function: uartGet                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Output: Byte read                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           BYTE uartGet(void)                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            // Return the received data                                                     F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a20   50ae     MOVF      0xae,0x0,0x0    return RCREG;                                                                     F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a22   d000     BRA       0xa24                                                                                           
000a24   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Function: uartISR                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Affects: call to uartParse                                                     F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           void uartISR(void)                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a26   509e     MOVF      0x9e,0x0,0x0    if (PIR1bits.RCIF==1 && PIE1bits.RCIE==1)                                       F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a28   0b20     ANDLW     0x20                                                                                            
000a2a   e00d     BZ        0xa46                                                                                           
000a2c   509d     MOVF      0x9d,0x0,0x0                                                                                    
000a2e   0b20     ANDLW     0x20                                                                                            
000a30   e00a     BZ        0xa46                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a32   a2ab     BTFSS     0xab,0x1,0x0        if (RCSTAbits.OERR) { RCSTAbits.CREN=0; RCSTAbits.CREN=1; }                    F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a34   d002     BRA       0xa3a                                                                                           
000a36   98ab     BCF       0xab,0x4,0x0                                                                                    
000a38   88ab     BSF       0xab,0x4,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a3a   dff2     RCALL     0xa20               uartParse(uartGet());                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a3c   6ee6     MOVWF     0xe6,0x0                                                                                        
000a3e   ecac     CALL      0x758,0x0                                                                                       
000a40   f003                                                                                                               
000a42   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000a44   9a9e     BCF       0x9e,0x5,0x0        PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a46   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Function: uartDataRedy                                                         F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Input:  none.                                                                   F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Output: If usart data are redy to be read.                                     F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           char uartDataRedy(void)                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a48   a2ab     BTFSS     0xab,0x1,0x0    if(RCSTAbits.OERR)                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a4a   d002     BRA       0xa50                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a4c   98ab     BCF       0xab,0x4,0x0        RCSTAbits.CREN = 0;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a4e   88ab     BSF       0xab,0x4,0x0        RCSTAbits.CREN = 1;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a50   509e     MOVF      0x9e,0x0,0x0     return PIR1bits.RCIF;                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a52   0b20     ANDLW     0x20                                                                                            
000a54   e001     BZ        0xa58                                                                                           
000a56   0e01     MOVLW     0x1                                                                                             
000a58   d000     BRA       0xa5a                                                                                           
000a5a   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           #endif                                                                           F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            *                  CAN driver                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            *********************************************************************           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canToSerial/Source/CAN.c $ F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            * Last changed: $LastChangedDate: 2006-11-14 21:22:17 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            * Revision:     $Revision: 97 $                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           #include <CANdefs.h>                                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Function: canInit                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Affects: Changes can registers.                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           void canInit()                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000044   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000046   6e6f     MOVWF     0x6f,0x0                                                                                        
000048   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00004a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00004c   0880     SUBLW     0x80                                                                                            
00004e   e001     BZ        0x52                                                                                            
000050   d7fb     BRA       0x48                                                                                            
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // BAUD AND TQS                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON1 = 0x03;    //500Kbit@40MHz 1TQ Sync, 2TQ Prop, 4TQ Phase1, 3TQ Phase2 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2 = 0x99;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3 = 0x02;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //75%, 250Kbps @40MHz                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON1 = 0x09;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2 = 0xDB;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3 = 0x01;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //75% ,1 , 500Kbps @40MHz                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON1 = 0x01;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2 = (0xB6 | 0x80);                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3 = 0x04;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //75% ,1 , 500Kbps @80MHz                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON1 = 0x03;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2 = (0xB6 | 0x80);                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3 = 0x04;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // 500Khz@40Mhz (new by the book)                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000052   0e04     MOVLW     0x4             BRGCON1 = 0x04;                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000054   6e70     MOVWF     0x70,0x0                                                                                        
000056   0ed1     MOVLW     0xd1            BRGCON2 = 0xD1;                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000058   6e71     MOVWF     0x71,0x0                                                                                        
00005a   0e81     MOVLW     0x81            BRGCON3 = 0x81;                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00005c   6e72     MOVWF     0x72,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON1=0;                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON1bits.SJW1=0;                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON1bits.SJW0=1;                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Setting BRP.                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON1=BRGCON1|CAN_BRP;                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2bits.SEG2PHTS = 1;                                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2bits.SEG1PH2 = 0;                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2bits.SEG1PH1 = 0;                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2bits.SEG1PH0 = 1;                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2bits.PRSEG2 = 0;                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2bits.PRSEG1 = 0;                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON2bits.PRSEG0 = 1;                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3bits.WAKDIS = 0;                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3bits.WAKFIL = 0;                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3bits.SEG2PH2 = 0;                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3bits.SEG2PH1 = 0;                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //BRGCON3bits.SEG2PH0 = 1;                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00005e   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000060   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1;                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000062   9c77     BCF       0x77,0x6,0x0    ECANCONbits.MDSEL0 = 0;                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000064   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000066   9a60     BCF       0x60,0x5,0x0    RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Set ressesive VDD                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000068   8a73     BSF       0x73,0x5,0x0    CIOCONbits.ENDRHI = 1;                                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // INTERRUPTS                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Diable transmit interrupt                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00006a   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00006c   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00006e   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000070   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000072   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000074   6ea5     MOVWF     0xa5,0x0        IPR3 =0b00000011;                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Programmable buffers interrupt                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000076   69fa     SETF      0xfa,0x1        BIE0  = 0xFF;                                                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //loopback mode or not                                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            #ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            #else                                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000078   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00007a   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00007c   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00007e   e001     BZ        0x82                                                                                            
000080   d7fc     BRA       0x7a                                                                                            
                                            #endif                                                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000082   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Function: canISR                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Pre-conditions: a call to canInit()                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Affects: interrupt registers and receive data buffers                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           void canISR()                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000084   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000086   0b02     ANDLW     0x2                                                                                             
000088   e106     BNZ       0x96                                                                                            
00008a   50a4     MOVF      0xa4,0x0,0x0                                                                                    
00008c   0b02     ANDLW     0x2                                                                                             
00008e   e103     BNZ       0x96                                                                                            
000090   50a4     MOVF      0xa4,0x0,0x0                                                                                    
000092   0b01     ANDLW     0x1                                                                                             
000094   e016     BZ        0xc2                                                                                            
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000096   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000098   146f     ANDWF     0x6f,0x0,0x0                                                                                    
00009a   0910     IORLW     0x10                                                                                            
00009c   6e00     MOVWF     0x0,0x0                                                                                         
00009e   0e00     MOVLW     0x0                                                                                             
0000a0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000a2   1000     IORWF     0x0,0x0,0x0                                                                                     
0000a4   6e77     MOVWF     0x77,0x0                                                                                        
0000a6   be60     BTFSC     0x60,0x7,0x0        if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000a8   d80d     RCALL     0xc4                                                                                            
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000aa   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000ac   d002     BRA       0xb2                                                                                            
0000ae   92a4     BCF       0xa4,0x1,0x0                                                                                    
0000b0   d008     BRA       0xc2                                                                                            
0000b2   a2a4     BTFSS     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000b4   d002     BRA       0xba                                                                                            
0000b6   92a4     BCF       0xa4,0x1,0x0                                                                                    
0000b8   d004     BRA       0xc2                                                                                            
0000ba   a0a4     BTFSS     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000bc   d002     BRA       0xc2                                                                                            
0000be   90a4     BCF       0xa4,0x0,0x0                                                                                    
0000c0   d000     BRA       0xc2                                                                                            
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000c2   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Function: canGetPacket                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000c4   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000c6   ffe6                                                                                                               
0000c8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0000ca   ffd9                                                                                                               
0000cc   0e0f     MOVLW     0xf                                                                                             
0000ce   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Set extended mode or not.                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000d0   5062     MOVF      0x62,0x0,0x0        cm.extended=(RXB0SIDLbits.EXID==0?FALSE:TRUE);                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000d2   0b08     ANDLW     0x8                                                                                             
0000d4   e102     BNZ       0xda                                                                                            
0000d6   0e00     MOVLW     0x0                                                                                             
0000d8   d001     BRA       0xdc                                                                                            
0000da   0e01     MOVLW     0x1                                                                                             
0000dc   6ee7     MOVWF     0xe7,0x0                                                                                        
0000de   0e04     MOVLW     0x4                                                                                             
0000e0   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0000e2   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Clear                                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000e4   6ade     CLRF      0xde,0x0            cm.ident=0;                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000e6   6ade     CLRF      0xde,0x0                                                                                        
0000e8   6ade     CLRF      0xde,0x0                                                                                        
0000ea   6add     CLRF      0xdd,0x0                                                                                        
0000ec   52dd     MOVF      0xdd,0x1,0x0                                                                                    
0000ee   52dd     MOVF      0xdd,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000f0   04db     DECF      0xdb,0x0,0x0        if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000f2   e16f     BNZ       0x1d2                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //Read extended ident.                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //xx xx xx 28 27 26 25 24   23 22 21 20 19 18 17 16   15 14 13 12 11 10 09 08   07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000f4   5061     MOVF      0x61,0x0,0x0            cm.ident = (((DWORD)RXB0SIDH)<<21) + (((DWORD)(RXB0SIDL & 0xE0))<<13) + (((DWORD)(RXB0SIDL & 0x03))<<16) + (((DWORD)RXB0EIDH)<<8) + (BYTE)RXB0EIDL; F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000f6   6e00     MOVWF     0x0,0x0                                                                                         
0000f8   6a01     CLRF      0x1,0x0                                                                                         
0000fa   6a02     CLRF      0x2,0x0                                                                                         
0000fc   6a03     CLRF      0x3,0x0                                                                                         
0000fe   0e15     MOVLW     0x15                                                                                            
000100   0b1f     ANDLW     0x1f                                                                                            
000102   e007     BZ        0x112                                                                                           
000104   90d8     BCF       0xd8,0x0,0x0                                                                                    
000106   3600     RLCF      0x0,0x1,0x0                                                                                     
000108   3601     RLCF      0x1,0x1,0x0                                                                                     
00010a   3602     RLCF      0x2,0x1,0x0                                                                                     
00010c   3603     RLCF      0x3,0x1,0x0                                                                                     
00010e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000110   e1f9     BNZ       0x104                                                                                           
000112   0ee0     MOVLW     0xe0                                                                                            
000114   1462     ANDWF     0x62,0x0,0x0                                                                                    
000116   6e04     MOVWF     0x4,0x0                                                                                         
000118   6a05     CLRF      0x5,0x0                                                                                         
00011a   6a06     CLRF      0x6,0x0                                                                                         
00011c   6a07     CLRF      0x7,0x0                                                                                         
00011e   0e0d     MOVLW     0xd                                                                                             
000120   0b1f     ANDLW     0x1f                                                                                            
000122   e007     BZ        0x132                                                                                           
000124   90d8     BCF       0xd8,0x0,0x0                                                                                    
000126   3604     RLCF      0x4,0x1,0x0                                                                                     
000128   3605     RLCF      0x5,0x1,0x0                                                                                     
00012a   3606     RLCF      0x6,0x1,0x0                                                                                     
00012c   3607     RLCF      0x7,0x1,0x0                                                                                     
00012e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000130   e1f9     BNZ       0x124                                                                                           
000132   5004     MOVF      0x4,0x0,0x0                                                                                     
000134   2600     ADDWF     0x0,0x1,0x0                                                                                     
000136   5005     MOVF      0x5,0x0,0x0                                                                                     
000138   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00013a   5006     MOVF      0x6,0x0,0x0                                                                                     
00013c   2202     ADDWFC    0x2,0x1,0x0                                                                                     
00013e   5007     MOVF      0x7,0x0,0x0                                                                                     
000140   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000142   0e03     MOVLW     0x3                                                                                             
000144   1462     ANDWF     0x62,0x0,0x0                                                                                    
000146   6e08     MOVWF     0x8,0x0                                                                                         
000148   6a09     CLRF      0x9,0x0                                                                                         
00014a   6a0a     CLRF      0xa,0x0                                                                                         
00014c   6a0b     CLRF      0xb,0x0                                                                                         
00014e   0e10     MOVLW     0x10                                                                                            
000150   0b1f     ANDLW     0x1f                                                                                            
000152   e007     BZ        0x162                                                                                           
000154   90d8     BCF       0xd8,0x0,0x0                                                                                    
000156   3608     RLCF      0x8,0x1,0x0                                                                                     
000158   3609     RLCF      0x9,0x1,0x0                                                                                     
00015a   360a     RLCF      0xa,0x1,0x0                                                                                     
00015c   360b     RLCF      0xb,0x1,0x0                                                                                     
00015e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000160   e1f9     BNZ       0x154                                                                                           
000162   5008     MOVF      0x8,0x0,0x0                                                                                     
000164   2600     ADDWF     0x0,0x1,0x0                                                                                     
000166   5009     MOVF      0x9,0x0,0x0                                                                                     
000168   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00016a   500a     MOVF      0xa,0x0,0x0                                                                                     
00016c   2202     ADDWFC    0x2,0x1,0x0                                                                                     
00016e   500b     MOVF      0xb,0x0,0x0                                                                                     
000170   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000172   5063     MOVF      0x63,0x0,0x0                                                                                    
000174   6e0c     MOVWF     0xc,0x0                                                                                         
000176   6a0d     CLRF      0xd,0x0                                                                                         
000178   6a0e     CLRF      0xe,0x0                                                                                         
00017a   6a0f     CLRF      0xf,0x0                                                                                         
00017c   0e08     MOVLW     0x8                                                                                             
00017e   0b1f     ANDLW     0x1f                                                                                            
000180   e007     BZ        0x190                                                                                           
000182   90d8     BCF       0xd8,0x0,0x0                                                                                    
000184   360c     RLCF      0xc,0x1,0x0                                                                                     
000186   360d     RLCF      0xd,0x1,0x0                                                                                     
000188   360e     RLCF      0xe,0x1,0x0                                                                                     
00018a   360f     RLCF      0xf,0x1,0x0                                                                                     
00018c   06e8     DECF      0xe8,0x1,0x0                                                                                    
00018e   e1f9     BNZ       0x182                                                                                           
000190   500c     MOVF      0xc,0x0,0x0                                                                                     
000192   2600     ADDWF     0x0,0x1,0x0                                                                                     
000194   500d     MOVF      0xd,0x0,0x0                                                                                     
000196   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000198   500e     MOVF      0xe,0x0,0x0                                                                                     
00019a   2202     ADDWFC    0x2,0x1,0x0                                                                                     
00019c   500f     MOVF      0xf,0x0,0x0                                                                                     
00019e   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0001a0   5064     MOVF      0x64,0x0,0x0                                                                                    
0001a2   6e10     MOVWF     0x10,0x0                                                                                        
0001a4   6a11     CLRF      0x11,0x0                                                                                        
0001a6   6a12     CLRF      0x12,0x0                                                                                        
0001a8   6a13     CLRF      0x13,0x0                                                                                        
0001aa   5010     MOVF      0x10,0x0,0x0                                                                                    
0001ac   2600     ADDWF     0x0,0x1,0x0                                                                                     
0001ae   5011     MOVF      0x11,0x0,0x0                                                                                    
0001b0   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0001b2   5012     MOVF      0x12,0x0,0x0                                                                                    
0001b4   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0001b6   5013     MOVF      0x13,0x0,0x0                                                                                    
0001b8   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0001ba   c000     MOVFF     0x0,0xfdf                                                                                       
0001bc   ffdf                                                                                                               
0001be   0e01     MOVLW     0x1                                                                                             
0001c0   c001     MOVFF     0x1,0xfdb                                                                                       
0001c2   ffdb                                                                                                               
0001c4   0e02     MOVLW     0x2                                                                                             
0001c6   c002     MOVFF     0x2,0xfdb                                                                                       
0001c8   ffdb                                                                                                               
0001ca   0e03     MOVLW     0x3                                                                                             
0001cc   c003     MOVFF     0x3,0xfdb                                                                                       
0001ce   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0001d0   d02f     BRA       0x230               else                                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //Read standard ident.                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0001d2   5061     MOVF      0x61,0x0,0x0            cm.ident = (((DWORD)RXB0SIDH)<<3) + (((DWORD)RXB0SIDL)>>5);                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0001d4   6e00     MOVWF     0x0,0x0                                                                                         
0001d6   6a01     CLRF      0x1,0x0                                                                                         
0001d8   6a02     CLRF      0x2,0x0                                                                                         
0001da   6a03     CLRF      0x3,0x0                                                                                         
0001dc   0e03     MOVLW     0x3                                                                                             
0001de   0b1f     ANDLW     0x1f                                                                                            
0001e0   e007     BZ        0x1f0                                                                                           
0001e2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0001e4   3600     RLCF      0x0,0x1,0x0                                                                                     
0001e6   3601     RLCF      0x1,0x1,0x0                                                                                     
0001e8   3602     RLCF      0x2,0x1,0x0                                                                                     
0001ea   3603     RLCF      0x3,0x1,0x0                                                                                     
0001ec   06e8     DECF      0xe8,0x1,0x0                                                                                    
0001ee   e1f9     BNZ       0x1e2                                                                                           
0001f0   5062     MOVF      0x62,0x0,0x0                                                                                    
0001f2   6e04     MOVWF     0x4,0x0                                                                                         
0001f4   6a05     CLRF      0x5,0x0                                                                                         
0001f6   6a06     CLRF      0x6,0x0                                                                                         
0001f8   6a07     CLRF      0x7,0x0                                                                                         
0001fa   0e05     MOVLW     0x5                                                                                             
0001fc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0001fe   3207     RRCF      0x7,0x1,0x0                                                                                     
000200   3206     RRCF      0x6,0x1,0x0                                                                                     
000202   3205     RRCF      0x5,0x1,0x0                                                                                     
000204   3204     RRCF      0x4,0x1,0x0                                                                                     
000206   06e8     DECF      0xe8,0x1,0x0                                                                                    
000208   e1f9     BNZ       0x1fc                                                                                           
00020a   5004     MOVF      0x4,0x0,0x0                                                                                     
00020c   2600     ADDWF     0x0,0x1,0x0                                                                                     
00020e   5005     MOVF      0x5,0x0,0x0                                                                                     
000210   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000212   5006     MOVF      0x6,0x0,0x0                                                                                     
000214   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000216   5007     MOVF      0x7,0x0,0x0                                                                                     
000218   2203     ADDWFC    0x3,0x1,0x0                                                                                     
00021a   c000     MOVFF     0x0,0xfdf                                                                                       
00021c   ffdf                                                                                                               
00021e   0e01     MOVLW     0x1                                                                                             
000220   c001     MOVFF     0x1,0xfdb                                                                                       
000222   ffdb                                                                                                               
000224   0e02     MOVLW     0x2                                                                                             
000226   c002     MOVFF     0x2,0xfdb                                                                                       
000228   ffdb                                                                                                               
00022a   0e03     MOVLW     0x3                                                                                             
00022c   c003     MOVFF     0x3,0xfdb                                                                                       
00022e   ffdb                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000230   5065     MOVF      0x65,0x0,0x0        cm.data_length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000232   0b01     ANDLW     0x1                                                                                             
000234   6e02     MOVWF     0x2,0x0                                                                                         
000236   5065     MOVF      0x65,0x0,0x0                                                                                    
000238   0b02     ANDLW     0x2                                                                                             
00023a   e001     BZ        0x23e                                                                                           
00023c   0e01     MOVLW     0x1                                                                                             
00023e   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
000240   6e01     MOVWF     0x1,0x0                                                                                         
000242   5065     MOVF      0x65,0x0,0x0                                                                                    
000244   0b04     ANDLW     0x4                                                                                             
000246   e001     BZ        0x24a                                                                                           
000248   0e01     MOVLW     0x1                                                                                             
00024a   0d04     MULLW     0x4                                                                                             
00024c   cff3     MOVFF     0xff3,0x0                                                                                       
00024e   f000                                                                                                               
000250   5065     MOVF      0x65,0x0,0x0                                                                                    
000252   0b08     ANDLW     0x8                                                                                             
000254   e001     BZ        0x258                                                                                           
000256   0e01     MOVLW     0x1                                                                                             
000258   0d08     MULLW     0x8                                                                                             
00025a   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00025c   2400     ADDWF     0x0,0x0,0x0                                                                                     
00025e   2401     ADDWF     0x1,0x0,0x0                                                                                     
000260   2402     ADDWF     0x2,0x0,0x0                                                                                     
000262   6ee7     MOVWF     0xe7,0x0                                                                                        
000264   0e06     MOVLW     0x6                                                                                             
000266   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000268   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Remote request                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00026a   5065     MOVF      0x65,0x0,0x0        cm.remote_request=(RXB0DLCbits.RXRTR==0?FALSE:TRUE);                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00026c   0b40     ANDLW     0x40                                                                                            
00026e   e102     BNZ       0x274                                                                                           
000270   0e00     MOVLW     0x0                                                                                             
000272   d001     BRA       0x276                                                                                           
000274   0e01     MOVLW     0x1                                                                                             
000276   6ee7     MOVWF     0xe7,0x0                                                                                        
000278   0e05     MOVLW     0x5                                                                                             
00027a   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00027c   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00027e   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000280   cf66     MOVFF     0xf66,0xfdb                                                                                     
000282   ffdb                                                                                                               
000284   0e08     MOVLW     0x8                                                                                             
000286   cf67     MOVFF     0xf67,0xfdb                                                                                     
000288   ffdb                                                                                                               
00028a   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00028c   cf68     MOVFF     0xf68,0xfdb                                                                                     
00028e   ffdb                                                                                                               
000290   0e0a     MOVLW     0xa                                                                                             
000292   cf69     MOVFF     0xf69,0xfdb                                                                                     
000294   ffdb                                                                                                               
000296   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000298   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
00029a   ffdb                                                                                                               
00029c   0e0c     MOVLW     0xc                                                                                             
00029e   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
0002a0   ffdb                                                                                                               
0002a2   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0002a4   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
0002a6   ffdb                                                                                                               
0002a8   0e0e     MOVLW     0xe                                                                                             
0002aa   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
0002ac   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0002ae   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                //Call main parser                                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0002b0   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0002b2   ffe9                                                                                                               
0002b4   cfda     MOVFF     0xfda,0xfea                                                                                     
0002b6   ffea                                                                                                               
0002b8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002ba   ffe6                                                                                                               
0002bc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002be   ffe6                                                                                                               
0002c0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002c2   ffe6                                                                                                               
0002c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002c6   ffe6                                                                                                               
0002c8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002ca   ffe6                                                                                                               
0002cc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002ce   ffe6                                                                                                               
0002d0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002d2   ffe6                                                                                                               
0002d4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002d6   ffe6                                                                                                               
0002d8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002da   ffe6                                                                                                               
0002dc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002de   ffe6                                                                                                               
0002e0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002e2   ffe6                                                                                                               
0002e4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002e6   ffe6                                                                                                               
0002e8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002ea   ffe6                                                                                                               
0002ec   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002ee   ffe6                                                                                                               
0002f0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002f2   ffe6                                                                                                               
0002f4   ec09     CALL      0x612,0x0                                                                                       
0002f6   f003                                                                                                               
0002f8   6e00     MOVWF     0x0,0x0                                                                                         
0002fa   0e0f     MOVLW     0xf                                                                                             
0002fc   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0002fe   5000     MOVF      0x0,0x0,0x0                                                                                     
000300   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000302   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000304   e202     BC        0x30a                                                                                           
000306   6ae1     CLRF      0xe1,0x0                                                                                        
000308   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00030a   6ee1     MOVWF     0xe1,0x0                                                                                        
00030c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00030e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000310   ffd9                                                                                                               
000312   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Function: canSendMessage                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Input:  CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Affects: ..                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000314   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000316   ffe6                                                                                                               
000318   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00031a   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00031c   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00031e   b740     BTFSC     0x40,0x3,0x1                                                                                    
000320   d004     BRA       0x32a                                                                                           
000322   0e00     MOVLW     0x0                                                                                             
000324   1477     ANDWF     0x77,0x0,0x0                                                                                    
000326   0903     IORLW     0x3                                                                                             
000328   6e77     MOVWF     0x77,0x0                                                                                        
00032a   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00032c   b730     BTFSC     0x30,0x3,0x1                                                                                    
00032e   d004     BRA       0x338                                                                                           
000330   0e00     MOVLW     0x0                                                                                             
000332   1477     ANDWF     0x77,0x0,0x0                                                                                    
000334   0904     IORLW     0x4                                                                                             
000336   6e77     MOVWF     0x77,0x0                                                                                        
000338   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00033a   b720     BTFSC     0x20,0x3,0x1                                                                                    
00033c   d005     BRA       0x348                                                                                           
00033e   0e00     MOVLW     0x0                                                                                             
000340   1477     ANDWF     0x77,0x0,0x0                                                                                    
000342   0905     IORLW     0x5                                                                                             
000344   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000346   d002     BRA       0x34c           else { return FALSE;}                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000348   0e00     MOVLW     0x0                                                                                             
00034a   d0e4     BRA       0x514                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00034c   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00034e   cfdb     MOVFF     0xfdb,0x0                                                                                       
000350   f000                                                                                                               
000352   3400     RLCF      0x0,0x0,0x0                                                                                     
000354   e20e     BC        0x372                                                                                           
000356   0eef     MOVLW     0xef                                                                                            
000358   cfdb     MOVFF     0xfdb,0x1                                                                                       
00035a   f001                                                                                                               
00035c   0e03     MOVLW     0x3                                                                                             
00035e   6ee7     MOVWF     0xe7,0x0                                                                                        
000360   1801     XORWF     0x1,0x0,0x0                                                                                     
000362   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
000364   d002     BRA       0x36a                                                                                           
000366   3401     RLCF      0x1,0x0,0x0                                                                                     
000368   d003     BRA       0x370                                                                                           
00036a   50e7     MOVF      0xe7,0x0,0x0                                                                                    
00036c   80d8     BSF       0xd8,0x0,0x0                                                                                    
00036e   5401     SUBFWB    0x1,0x0,0x0                                                                                     
000370   e202     BC        0x376                                                                                           
000372   0eef     MOVLW     0xef                                                                                            
000374   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000376   0ef4     MOVLW     0xf4                if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000378   04db     DECF      0xdb,0x0,0x0                                                                                    
00037a   e15f     BNZ       0x43a                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //Write extended ident.                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //xx xx xx 28 27 26 25 24   23 22 21 20 19 18 17 16   15 14 13 12 11 10 09 08   07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00037c   0ef0     MOVLW     0xf0                    RXB0SIDH =  (BYTE)((cm.ident>>21));                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00037e   cfdb     MOVFF     0xfdb,0x0                                                                                       
000380   f000                                                                                                               
000382   0ef1     MOVLW     0xf1                                                                                            
000384   cfdb     MOVFF     0xfdb,0x1                                                                                       
000386   f001                                                                                                               
000388   0ef2     MOVLW     0xf2                                                                                            
00038a   cfdb     MOVFF     0xfdb,0x2                                                                                       
00038c   f002                                                                                                               
00038e   0ef3     MOVLW     0xf3                                                                                            
000390   cfdb     MOVFF     0xfdb,0x3                                                                                       
000392   f003                                                                                                               
000394   0e15     MOVLW     0x15                                                                                            
000396   90d8     BCF       0xd8,0x0,0x0                                                                                    
000398   3203     RRCF      0x3,0x1,0x0                                                                                     
00039a   3202     RRCF      0x2,0x1,0x0                                                                                     
00039c   3201     RRCF      0x1,0x1,0x0                                                                                     
00039e   3200     RRCF      0x0,0x1,0x0                                                                                     
0003a0   06e8     DECF      0xe8,0x1,0x0                                                                                    
0003a2   e1f9     BNZ       0x396                                                                                           
0003a4   5000     MOVF      0x0,0x0,0x0                                                                                     
0003a6   6e61     MOVWF     0x61,0x0                                                                                        
0003a8   0ef0     MOVLW     0xf0                    RXB0SIDL = ((BYTE)(cm.ident>>16) & 0x03) + ((BYTE)(cm.ident>>13) & 0xE0); F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003aa   cfdb     MOVFF     0xfdb,0x5                                                                                       
0003ac   f005                                                                                                               
0003ae   0ef1     MOVLW     0xf1                                                                                            
0003b0   cfdb     MOVFF     0xfdb,0x6                                                                                       
0003b2   f006                                                                                                               
0003b4   0ef2     MOVLW     0xf2                                                                                            
0003b6   cfdb     MOVFF     0xfdb,0x7                                                                                       
0003b8   f007                                                                                                               
0003ba   0ef3     MOVLW     0xf3                                                                                            
0003bc   cfdb     MOVFF     0xfdb,0x8                                                                                       
0003be   f008                                                                                                               
0003c0   0e0d     MOVLW     0xd                                                                                             
0003c2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0003c4   3208     RRCF      0x8,0x1,0x0                                                                                     
0003c6   3207     RRCF      0x7,0x1,0x0                                                                                     
0003c8   3206     RRCF      0x6,0x1,0x0                                                                                     
0003ca   3205     RRCF      0x5,0x1,0x0                                                                                     
0003cc   06e8     DECF      0xe8,0x1,0x0                                                                                    
0003ce   e1f9     BNZ       0x3c2                                                                                           
0003d0   0ee0     MOVLW     0xe0                                                                                            
0003d2   1405     ANDWF     0x5,0x0,0x0                                                                                     
0003d4   6e04     MOVWF     0x4,0x0                                                                                         
0003d6   0ef0     MOVLW     0xf0                                                                                            
0003d8   cfdb     MOVFF     0xfdb,0x0                                                                                       
0003da   f000                                                                                                               
0003dc   0ef1     MOVLW     0xf1                                                                                            
0003de   cfdb     MOVFF     0xfdb,0x1                                                                                       
0003e0   f001                                                                                                               
0003e2   0ef2     MOVLW     0xf2                                                                                            
0003e4   cfdb     MOVFF     0xfdb,0x2                                                                                       
0003e6   f002                                                                                                               
0003e8   0ef3     MOVLW     0xf3                                                                                            
0003ea   cfdb     MOVFF     0xfdb,0x3                                                                                       
0003ec   f003                                                                                                               
0003ee   0e10     MOVLW     0x10                                                                                            
0003f0   90d8     BCF       0xd8,0x0,0x0                                                                                    
0003f2   3203     RRCF      0x3,0x1,0x0                                                                                     
0003f4   3202     RRCF      0x2,0x1,0x0                                                                                     
0003f6   3201     RRCF      0x1,0x1,0x0                                                                                     
0003f8   3200     RRCF      0x0,0x1,0x0                                                                                     
0003fa   06e8     DECF      0xe8,0x1,0x0                                                                                    
0003fc   e1f9     BNZ       0x3f0                                                                                           
0003fe   0e03     MOVLW     0x3                                                                                             
000400   1400     ANDWF     0x0,0x0,0x0                                                                                     
000402   2404     ADDWF     0x4,0x0,0x0                                                                                     
000404   6e62     MOVWF     0x62,0x0                                                                                        
000406   0ef0     MOVLW     0xf0                    RXB0EIDH =  (BYTE)(cm.ident>>8);                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000408   cfdb     MOVFF     0xfdb,0x0                                                                                       
00040a   f000                                                                                                               
00040c   0ef1     MOVLW     0xf1                                                                                            
00040e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000410   f001                                                                                                               
000412   0ef2     MOVLW     0xf2                                                                                            
000414   cfdb     MOVFF     0xfdb,0x2                                                                                       
000416   f002                                                                                                               
000418   0ef3     MOVLW     0xf3                                                                                            
00041a   cfdb     MOVFF     0xfdb,0x3                                                                                       
00041c   f003                                                                                                               
00041e   0e08     MOVLW     0x8                                                                                             
000420   90d8     BCF       0xd8,0x0,0x0                                                                                    
000422   3203     RRCF      0x3,0x1,0x0                                                                                     
000424   3202     RRCF      0x2,0x1,0x0                                                                                     
000426   3201     RRCF      0x1,0x1,0x0                                                                                     
000428   3200     RRCF      0x0,0x1,0x0                                                                                     
00042a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00042c   e1f9     BNZ       0x420                                                                                           
00042e   5000     MOVF      0x0,0x0,0x0                                                                                     
000430   6e63     MOVWF     0x63,0x0                                                                                        
000432   0ef0     MOVLW     0xf0                    RXB0EIDL =  (BYTE)cm.ident;                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000434   50db     MOVF      0xdb,0x0,0x0                                                                                    
000436   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000438   d02f     BRA       0x498               else                                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //Write standard ident.                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    //RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00043a   0ef0     MOVLW     0xf0                        RXB0SIDH=  (BYTE)(cm.ident>>3);                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00043c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00043e   f000                                                                                                               
000440   0ef1     MOVLW     0xf1                                                                                            
000442   cfdb     MOVFF     0xfdb,0x1                                                                                       
000444   f001                                                                                                               
000446   0ef2     MOVLW     0xf2                                                                                            
000448   cfdb     MOVFF     0xfdb,0x2                                                                                       
00044a   f002                                                                                                               
00044c   0ef3     MOVLW     0xf3                                                                                            
00044e   cfdb     MOVFF     0xfdb,0x3                                                                                       
000450   f003                                                                                                               
000452   0e03     MOVLW     0x3                                                                                             
000454   90d8     BCF       0xd8,0x0,0x0                                                                                    
000456   3203     RRCF      0x3,0x1,0x0                                                                                     
000458   3202     RRCF      0x2,0x1,0x0                                                                                     
00045a   3201     RRCF      0x1,0x1,0x0                                                                                     
00045c   3200     RRCF      0x0,0x1,0x0                                                                                     
00045e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000460   e1f9     BNZ       0x454                                                                                           
000462   5000     MOVF      0x0,0x0,0x0                                                                                     
000464   6e61     MOVWF     0x61,0x0                                                                                        
000466   0ef0     MOVLW     0xf0                    RXB0SIDL= ((BYTE)(cm.ident<<5) & 0xE0);                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000468   cfdb     MOVFF     0xfdb,0x0                                                                                       
00046a   f000                                                                                                               
00046c   0ef1     MOVLW     0xf1                                                                                            
00046e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000470   f001                                                                                                               
000472   0ef2     MOVLW     0xf2                                                                                            
000474   cfdb     MOVFF     0xfdb,0x2                                                                                       
000476   f002                                                                                                               
000478   0ef3     MOVLW     0xf3                                                                                            
00047a   cfdb     MOVFF     0xfdb,0x3                                                                                       
00047c   f003                                                                                                               
00047e   0e05     MOVLW     0x5                                                                                             
000480   0b1f     ANDLW     0x1f                                                                                            
000482   e007     BZ        0x492                                                                                           
000484   90d8     BCF       0xd8,0x0,0x0                                                                                    
000486   3600     RLCF      0x0,0x1,0x0                                                                                     
000488   3601     RLCF      0x1,0x1,0x0                                                                                     
00048a   3602     RLCF      0x2,0x1,0x0                                                                                     
00048c   3603     RLCF      0x3,0x1,0x0                                                                                     
00048e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000490   e1f9     BNZ       0x484                                                                                           
000492   0ee0     MOVLW     0xe0                                                                                            
000494   1400     ANDWF     0x0,0x0,0x0                                                                                     
000496   6e62     MOVWF     0x62,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000498   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00049a   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00049c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00049e   0808     SUBLW     0x8                                                                                             
0004a0   e203     BC        0x4a8                                                                                           
0004a2   0e08     MOVLW     0x8                                                                                             
0004a4   6e65     MOVWF     0x65,0x0                                                                                        
0004a6   d003     BRA       0x4ae                                                                                           
0004a8   0ef6     MOVLW     0xf6                                                                                            
0004aa   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004ac   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Remote request                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004ae   0ef5     MOVLW     0xf5                if (cm.remote_request==TRUE)                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004b0   04db     DECF      0xdb,0x0,0x0                                                                                    
0004b2   e102     BNZ       0x4b8                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    _asm                                                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004b4   8c65     BSF       0x65,0x6,0x0                bsf RXB0DLC, 6, 0                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    _endasm                                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004b6   d001     BRA       0x4ba               else                                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    _asm                                                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004b8   9c65     BCF       0x65,0x6,0x0                bcf RXB0DLC, 6, 0                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    _endasm                                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004ba   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004bc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004be   6e66     MOVWF     0x66,0x0                                                                                        
0004c0   0ef8     MOVLW     0xf8                                                                                            
0004c2   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004c4   6e67     MOVWF     0x67,0x0                                                                                        
0004c6   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004c8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004ca   6e68     MOVWF     0x68,0x0                                                                                        
0004cc   0efa     MOVLW     0xfa                                                                                            
0004ce   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004d0   6e69     MOVWF     0x69,0x0                                                                                        
0004d2   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004d4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004d6   6e6a     MOVWF     0x6a,0x0                                                                                        
0004d8   0efc     MOVLW     0xfc                                                                                            
0004da   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004dc   6e6b     MOVWF     0x6b,0x0                                                                                        
0004de   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004e0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004e2   6e6c     MOVWF     0x6c,0x0                                                                                        
0004e4   0efe     MOVLW     0xfe                                                                                            
0004e6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004e8   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004ea   0ef4     MOVLW     0xf4                RXB0SIDLbits.EXID=(cm.extended==TRUE?1:0);                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004ec   04db     DECF      0xdb,0x0,0x0                                                                                    
0004ee   e102     BNZ       0x4f4                                                                                           
0004f0   0e01     MOVLW     0x1                                                                                             
0004f2   d001     BRA       0x4f6                                                                                           
0004f4   0e00     MOVLW     0x0                                                                                             
0004f6   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
0004f8   8662     BSF       0x62,0x3,0x0                                                                                    
0004fa   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
0004fc   9662     BCF       0x62,0x3,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Priority                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004fe   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000500   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000502   ffe6                                                                                                               
000504   0efc     MOVLW     0xfc                                                                                            
000506   1460     ANDWF     0x60,0x0,0x0                                                                                    
000508   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00050a   10e7     IORWF     0xe7,0x0,0x0                                                                                    
00050c   6e60     MOVWF     0x60,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // mark as redy to transmit                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                _asm                                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00050e   8660     BSF       0x60,0x3,0x0            bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000510   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000512   d000     BRA       0x514                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000514   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000516   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000518   ffd9                                                                                                               
00051a   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canToSerial/Source/Main.c $ F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            * Last changed: $LastChangedDate: 2006-11-14 21:22:17 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            * Revision:     $Revision: 97 $                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            #include <CAN.h>                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            #include <uart.h>                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           void main()                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            static TICK t = 0;                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00051c   d874     RCALL     0x606           mainInit();                                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
00051e   ec22     CALL      0x44,0x0            canInit();                                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
000520   f000                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            #ifdef USE_UART                                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
000522   eca7     CALL      0x94e,0x0           uartInit();                                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
000524   f004                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
000526   ec7d     CALL      0xafa,0x0       tickInit();                                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
000528   f005                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00052a   d7ff     BRA       0x52a           while(1)                                                                        F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            {                                                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00052c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #pragma interruptlow HighISR                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
00052e   cfd8     MOVFF     0xfd8,0xfe4    void HighISR(void)                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
000530   ffe4                                                                                                               
000532   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
000534   ffe4                                                                                                               
000536   6ee4     MOVWF     0xe4,0x0                                                                                        
000538   cfda     MOVFF     0xfda,0xfe4                                                                                     
00053a   ffe4                                                                                                               
00053c   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00053e   ffda                                                                                                               
000540   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
000542   ffe4                                                                                                               
000544   cfea     MOVFF     0xfea,0xfe4                                                                                     
000546   ffe4                                                                                                               
000548   cff6     MOVFF     0xff6,0xfe4                                                                                     
00054a   ffe4                                                                                                               
00054c   cff7     MOVFF     0xff7,0xfe4                                                                                     
00054e   ffe4                                                                                                               
000550   cff5     MOVFF     0xff5,0xfe4                                                                                     
000552   ffe4                                                                                                               
000554   cff3     MOVFF     0xff3,0xfe4                                                                                     
000556   ffe4                                                                                                               
000558   cff4     MOVFF     0xff4,0xfe4                                                                                     
00055a   ffe4                                                                                                               
00055c   cffa     MOVFF     0xffa,0xfe4                                                                                     
00055e   ffe4                                                                                                               
000560   ee00     LFSR      0x0,0x14                                                                                        
000562   f014                                                                                                               
000564   0e0b     MOVLW     0xb                                                                                             
000566   04e8     DECF      0xe8,0x0,0x0                                                                                    
000568   e303     BNC       0x570                                                                                           
00056a   cfee     MOVFF     0xfee,0xfe4                                                                                     
00056c   ffe4                                                                                                               
00056e   d7fb     BRA       0x566                                                                                           
000570   ee00     LFSR      0x0,0x0                                                                                         
000572   f000                                                                                                               
000574   0e14     MOVLW     0x14                                                                                            
000576   04e8     DECF      0xe8,0x0,0x0                                                                                    
000578   e303     BNC       0x580                                                                                           
00057a   cfee     MOVFF     0xfee,0xfe4                                                                                     
00057c   ffe4                                                                                                               
00057e   d7fb     BRA       0x576                                                                                           
000580   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            #ifdef USE_UART                                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
000582   ec13     CALL      0xa26,0x0           uartISR();                                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
000584   f005                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
000586   ec42     CALL      0x84,0x0            canISR();                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
000588   f000                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00058a   ec91     CALL      0xb22,0x0       tickUpdate();                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
00058c   f005                                                                                                               
00058e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000590   ee00     LFSR      0x0,0x13                                                                                        
000592   f013                                                                                                               
000594   0e14     MOVLW     0x14                                                                                            
000596   04e8     DECF      0xe8,0x0,0x0                                                                                    
000598   e303     BNC       0x5a0                                                                                           
00059a   cfe5     MOVFF     0xfe5,0xfed                                                                                     
00059c   ffed                                                                                                               
00059e   d7fb     BRA       0x596                                                                                           
0005a0   ee00     LFSR      0x0,0x1e                                                                                        
0005a2   f01e                                                                                                               
0005a4   0e0b     MOVLW     0xb                                                                                             
0005a6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0005a8   e303     BNC       0x5b0                                                                                           
0005aa   cfe5     MOVFF     0xfe5,0xfed                                                                                     
0005ac   ffed                                                                                                               
0005ae   d7fb     BRA       0x5a6                                                                                           
0005b0   cfe5     MOVFF     0xfe5,0xffa                                                                                     
0005b2   fffa                                                                                                               
0005b4   cfe5     MOVFF     0xfe5,0xff4                                                                                     
0005b6   fff4                                                                                                               
0005b8   cfe5     MOVFF     0xfe5,0xff3                                                                                     
0005ba   fff3                                                                                                               
0005bc   cfe5     MOVFF     0xfe5,0xff5                                                                                     
0005be   fff5                                                                                                               
0005c0   cfe5     MOVFF     0xfe5,0xff7                                                                                     
0005c2   fff7                                                                                                               
0005c4   cfe5     MOVFF     0xfe5,0xff6                                                                                     
0005c6   fff6                                                                                                               
0005c8   cfe5     MOVFF     0xfe5,0xfea                                                                                     
0005ca   ffea                                                                                                               
0005cc   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
0005ce   ffe9                                                                                                               
0005d0   cfe5     MOVFF     0xfe5,0xfda                                                                                     
0005d2   ffda                                                                                                               
0005d4   50e5     MOVF      0xe5,0x0,0x0                                                                                    
0005d6   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
0005d8   ffe0                                                                                                               
0005da   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
0005dc   ffd8                                                                                                               
0005de   0010     RETFIE    0x0                                                                                             
                                           #pragma code highVector=0x08                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           void HighVector (void)                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000008   ef97     GOTO      0x52e              _asm goto HighISR _endasm                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
00000a   f002                                                                                                               
00000c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #pragma code // Return to default code section                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #pragma interruptlow LowISR                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
0005e0   cfd8     MOVFF     0xfd8,0xfe4    void LowISR(void)                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
0005e2   ffe4                                                                                                               
0005e4   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
0005e6   ffe4                                                                                                               
0005e8   6ee4     MOVWF     0xe4,0x0                                                                                        
0005ea   cfda     MOVFF     0xfda,0xfe4                                                                                     
0005ec   ffe4                                                                                                               
0005ee   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0005f0   ffda                                                                                                               
0005f2   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
0005f4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
0005f6   cfe5     MOVFF     0xfe5,0xfda                                                                                     
0005f8   ffda                                                                                                               
0005fa   50e5     MOVF      0xe5,0x0,0x0                                                                                    
0005fc   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
0005fe   ffe0                                                                                                               
000600   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
000602   ffd8                                                                                                               
000604   0010     RETFIE    0x0                                                                                             
                                           #pragma code lowVector=0x18                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           void LowVector (void)                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000018   eff0     GOTO      0x5e0              _asm goto LowISR _endasm                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
00001a   f002                                                                                                               
00001c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #pragma code // Return to default code section                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000606   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                               // Enable internal PORTB pull-ups                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
000608   9ef1     BCF       0xf1,0x7,0x0       INTCON2bits.RBPU = 0;                                                        F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00060a   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
00060c   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
00060e   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
000610   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Function: canParse                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Input:  Received can message                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
000612   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
000614   ffe6                                                                                                               
000616   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000618   ffd9                                                                                                               
00061a   0e02     MOVLW     0x2                                                                                             
00061c   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
00061e   6ade     CLRF      0xde,0x0        int i=0;                                                                        F:\MCP\projects\CAN\canToSerial\Source\Main.c
000620   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
000622   0efd     MOVLW     0xfd            uartPutc(UART_START_BYTE);                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
000624   6ee6     MOVWF     0xe6,0x0                                                                                        
000626   ecb6     CALL      0x96c,0x0                                                                                       
000628   f004                                                                                                               
00062a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00062c   0ef0     MOVLW     0xf0            uartPutc((BYTE)(cm.ident));                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
00062e   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000630   ffe6                                                                                                               
000632   ecb6     CALL      0x96c,0x0                                                                                       
000634   f004                                                                                                               
000636   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000638   0ef0     MOVLW     0xf0            uartPutc((BYTE)(cm.ident>>8));                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
00063a   cfdb     MOVFF     0xfdb,0x0                                                                                       
00063c   f000                                                                                                               
00063e   0ef1     MOVLW     0xf1                                                                                            
000640   cfdb     MOVFF     0xfdb,0x1                                                                                       
000642   f001                                                                                                               
000644   0ef2     MOVLW     0xf2                                                                                            
000646   cfdb     MOVFF     0xfdb,0x2                                                                                       
000648   f002                                                                                                               
00064a   0ef3     MOVLW     0xf3                                                                                            
00064c   cfdb     MOVFF     0xfdb,0x3                                                                                       
00064e   f003                                                                                                               
000650   0e08     MOVLW     0x8                                                                                             
000652   90d8     BCF       0xd8,0x0,0x0                                                                                    
000654   3203     RRCF      0x3,0x1,0x0                                                                                     
000656   3202     RRCF      0x2,0x1,0x0                                                                                     
000658   3201     RRCF      0x1,0x1,0x0                                                                                     
00065a   3200     RRCF      0x0,0x1,0x0                                                                                     
00065c   06e8     DECF      0xe8,0x1,0x0                                                                                    
00065e   e1f9     BNZ       0x652                                                                                           
000660   5000     MOVF      0x0,0x0,0x0                                                                                     
000662   6ee6     MOVWF     0xe6,0x0                                                                                        
000664   ecb6     CALL      0x96c,0x0                                                                                       
000666   f004                                                                                                               
000668   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00066a   0ef0     MOVLW     0xf0            uartPutc((BYTE)(cm.ident>>16));                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
00066c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00066e   f000                                                                                                               
000670   0ef1     MOVLW     0xf1                                                                                            
000672   cfdb     MOVFF     0xfdb,0x1                                                                                       
000674   f001                                                                                                               
000676   0ef2     MOVLW     0xf2                                                                                            
000678   cfdb     MOVFF     0xfdb,0x2                                                                                       
00067a   f002                                                                                                               
00067c   0ef3     MOVLW     0xf3                                                                                            
00067e   cfdb     MOVFF     0xfdb,0x3                                                                                       
000680   f003                                                                                                               
000682   0e10     MOVLW     0x10                                                                                            
000684   90d8     BCF       0xd8,0x0,0x0                                                                                    
000686   3203     RRCF      0x3,0x1,0x0                                                                                     
000688   3202     RRCF      0x2,0x1,0x0                                                                                     
00068a   3201     RRCF      0x1,0x1,0x0                                                                                     
00068c   3200     RRCF      0x0,0x1,0x0                                                                                     
00068e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000690   e1f9     BNZ       0x684                                                                                           
000692   5000     MOVF      0x0,0x0,0x0                                                                                     
000694   6ee6     MOVWF     0xe6,0x0                                                                                        
000696   ecb6     CALL      0x96c,0x0                                                                                       
000698   f004                                                                                                               
00069a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00069c   0ef0     MOVLW     0xf0            uartPutc((BYTE)(cm.ident>>24));                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
00069e   cfdb     MOVFF     0xfdb,0x0                                                                                       
0006a0   f000                                                                                                               
0006a2   0ef1     MOVLW     0xf1                                                                                            
0006a4   cfdb     MOVFF     0xfdb,0x1                                                                                       
0006a6   f001                                                                                                               
0006a8   0ef2     MOVLW     0xf2                                                                                            
0006aa   cfdb     MOVFF     0xfdb,0x2                                                                                       
0006ac   f002                                                                                                               
0006ae   0ef3     MOVLW     0xf3                                                                                            
0006b0   cfdb     MOVFF     0xfdb,0x3                                                                                       
0006b2   f003                                                                                                               
0006b4   0e18     MOVLW     0x18                                                                                            
0006b6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006b8   3203     RRCF      0x3,0x1,0x0                                                                                     
0006ba   3202     RRCF      0x2,0x1,0x0                                                                                     
0006bc   3201     RRCF      0x1,0x1,0x0                                                                                     
0006be   3200     RRCF      0x0,0x1,0x0                                                                                     
0006c0   06e8     DECF      0xe8,0x1,0x0                                                                                    
0006c2   e1f9     BNZ       0x6b6                                                                                           
0006c4   5000     MOVF      0x0,0x0,0x0                                                                                     
0006c6   6ee6     MOVWF     0xe6,0x0                                                                                        
0006c8   ecb6     CALL      0x96c,0x0                                                                                       
0006ca   f004                                                                                                               
0006cc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0006ce   0ef4     MOVLW     0xf4            uartPutc(cm.extended);                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
0006d0   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0006d2   ffe6                                                                                                               
0006d4   ecb6     CALL      0x96c,0x0                                                                                       
0006d6   f004                                                                                                               
0006d8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0006da   0ef5     MOVLW     0xf5            uartPutc(cm.remote_request);                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
0006dc   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0006de   ffe6                                                                                                               
0006e0   ecb6     CALL      0x96c,0x0                                                                                       
0006e2   f004                                                                                                               
0006e4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0006e6   0ef6     MOVLW     0xf6            uartPutc(cm.data_length);                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
0006e8   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0006ea   ffe6                                                                                                               
0006ec   ecb6     CALL      0x96c,0x0                                                                                       
0006ee   f004                                                                                                               
0006f0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0006f2   6ade     CLRF      0xde,0x0        for(i=0;i<8;i++) uartPutc(cm.data[i]);                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
0006f4   6add     CLRF      0xdd,0x0                                                                                        
0006f6   cfde     MOVFF     0xfde,0x0                                                                                       
0006f8   f000                                                                                                               
0006fa   cfdd     MOVFF     0xfdd,0x1                                                                                       
0006fc   f001                                                                                                               
0006fe   90d8     BCF       0xd8,0x0,0x0                                                                                    
000700   5001     MOVF      0x1,0x0,0x0                                                                                     
000702   e604     BN        0x70c                                                                                           
000704   0e08     MOVLW     0x8                                                                                             
000706   5c00     SUBWF     0x0,0x0,0x0                                                                                     
000708   0e00     MOVLW     0x0                                                                                             
00070a   5801     SUBWFB    0x1,0x0,0x0                                                                                     
00070c   e216     BC        0x73a                                                                                           
00070e   50d9     MOVF      0xd9,0x0,0x0                                                                                    
000710   0ff7     ADDLW     0xf7                                                                                            
000712   6e00     MOVWF     0x0,0x0                                                                                         
000714   0eff     MOVLW     0xff                                                                                            
000716   20da     ADDWFC    0xda,0x0,0x0                                                                                    
000718   6e01     MOVWF     0x1,0x0                                                                                         
00071a   50de     MOVF      0xde,0x0,0x0                                                                                    
00071c   2400     ADDWF     0x0,0x0,0x0                                                                                     
00071e   6ee9     MOVWF     0xe9,0x0                                                                                        
000720   50dd     MOVF      0xdd,0x0,0x0                                                                                    
000722   2001     ADDWFC    0x1,0x0,0x0                                                                                     
000724   6eea     MOVWF     0xea,0x0                                                                                        
000726   50ef     MOVF      0xef,0x0,0x0                                                                                    
000728   6ee6     MOVWF     0xe6,0x0                                                                                        
00072a   ecb6     CALL      0x96c,0x0                                                                                       
00072c   f004                                                                                                               
00072e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000730   2adf     INCF      0xdf,0x1,0x0                                                                                    
000732   0e01     MOVLW     0x1                                                                                             
000734   e301     BNC       0x738                                                                                           
000736   2adb     INCF      0xdb,0x1,0x0                                                                                    
000738   d7de     BRA       0x6f6                                                                                           
00073a   0efa     MOVLW     0xfa            uartPutc(UART_END_BYTE);                                                        F:\MCP\projects\CAN\canToSerial\Source\Main.c
00073c   6ee6     MOVWF     0xe6,0x0                                                                                        
00073e   ecb6     CALL      0x96c,0x0                                                                                       
000740   f004                                                                                                               
000742   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
000744   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000746   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000748   e202     BC        0x74e                                                                                           
00074a   6ae1     CLRF      0xe1,0x0                                                                                        
00074c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00074e   6ee1     MOVWF     0xe1,0x0                                                                                        
000750   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000752   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000754   ffd9                                                                                                               
000756   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Function: uartParse                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Input:  Received uart message                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Pre-conditions: uartInit and received byte.                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
000758   cfd9     MOVFF     0xfd9,0xfe6    void uartParse(BYTE c)                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
00075a   ffe6                                                                                                               
00075c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00075e   ffd9                                                                                                               
000760   0e12     MOVLW     0x12                                                                                            
000762   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            BYTE i;                                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
000764   0e01     MOVLW     0x1             unsigned int wait = 0;                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
000766   6adb     CLRF      0xdb,0x0                                                                                        
000768   0e02     MOVLW     0x2                                                                                             
00076a   6adb     CLRF      0xdb,0x0                                                                                        
                                            CAN_MESSAGE cm;                                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            static BOOL waitingMessage = FALSE;                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            static TICK timeout=0;                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            static BYTE count=0;                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00076c   0100     MOVLB     0x0             if (waitingMessage==TRUE && (tickGet()-timeout)>TICK_SECOND/20)                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
00076e   056e     DECF      0x6e,0x0,0x1                                                                                    
000770   e11a     BNZ       0x7a6                                                                                           
000772   ec87     CALL      0xb0e,0x0                                                                                       
000774   f005                                                                                                               
000776   0100     MOVLB     0x0                                                                                             
000778   516f     MOVF      0x6f,0x0,0x1                                                                                    
00077a   5c18     SUBWF     0x18,0x0,0x0                                                                                    
00077c   6e00     MOVWF     0x0,0x0                                                                                         
00077e   5170     MOVF      0x70,0x0,0x1                                                                                    
000780   5819     SUBWFB    0x19,0x0,0x0                                                                                    
000782   6e01     MOVWF     0x1,0x0                                                                                         
000784   5171     MOVF      0x71,0x0,0x1                                                                                    
000786   581a     SUBWFB    0x1a,0x0,0x0                                                                                    
000788   6e02     MOVWF     0x2,0x0                                                                                         
00078a   5172     MOVF      0x72,0x0,0x1                                                                                    
00078c   581b     SUBWFB    0x1b,0x0,0x0                                                                                    
00078e   6e03     MOVWF     0x3,0x0                                                                                         
000790   80d8     BSF       0xd8,0x0,0x0                                                                                    
000792   0e05     MOVLW     0x5                                                                                             
000794   5400     SUBFWB    0x0,0x0,0x0                                                                                     
000796   0e00     MOVLW     0x0                                                                                             
000798   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00079a   0e00     MOVLW     0x0                                                                                             
00079c   5402     SUBFWB    0x2,0x0,0x0                                                                                     
00079e   0e00     MOVLW     0x0                                                                                             
0007a0   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0007a2   e201     BC        0x7a6                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007a4   6b6e     CLRF      0x6e,0x1            waitingMessage=FALSE;                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007a6   056e     DECF      0x6e,0x0,0x1    if (waitingMessage==TRUE)                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007a8   e001     BZ        0x7ac                                                                                           
0007aa   d0a5     BRA       0x8f6                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007ac   ec87     CALL      0xb0e,0x0           timeout=tickGet();                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007ae   f005                                                                                                               
0007b0   c018     MOVFF     0x18,0x6f                                                                                       
0007b2   f06f                                                                                                               
0007b4   c019     MOVFF     0x19,0x70                                                                                       
0007b6   f070                                                                                                               
0007b8   c01a     MOVFF     0x1a,0x71                                                                                       
0007ba   f071                                                                                                               
0007bc   c01b     MOVFF     0x1b,0x72                                                                                       
0007be   f072                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                // UART END                                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007c0   0e0f     MOVLW     0xf                 if(count>=15)                                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007c2   0100     MOVLB     0x0                                                                                             
0007c4   5d73     SUBWF     0x73,0x0,0x1                                                                                    
0007c6   e33b     BNC       0x83e                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007c8   0efe     MOVLW     0xfe                    if (c==UART_END_BYTE)                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007ca   50db     MOVF      0xdb,0x0,0x0                                                                                    
0007cc   6e00     MOVWF     0x0,0x0                                                                                         
0007ce   6a01     CLRF      0x1,0x0                                                                                         
0007d0   0efa     MOVLW     0xfa                                                                                            
0007d2   1800     XORWF     0x0,0x0,0x0                                                                                     
0007d4   e101     BNZ       0x7d8                                                                                           
0007d6   5001     MOVF      0x1,0x0,0x0                                                                                     
0007d8   e12f     BNZ       0x838                                                                                           
                                                    {                                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007da   7282     BTG       0x82,0x1,0x0                LED0_IO=~LED0_IO;                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                        //canParse(cm);                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007dc   0e03     MOVLW     0x3                         while(!canSendMessage(cm,PRIO_HIGEST));                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007de   6ee6     MOVWF     0xe6,0x0                                                                                        
0007e0   50d9     MOVF      0xd9,0x0,0x0                                                                                    
0007e2   0f03     ADDLW     0x3                                                                                             
0007e4   6ee9     MOVWF     0xe9,0x0                                                                                        
0007e6   cfda     MOVFF     0xfda,0xfea                                                                                     
0007e8   ffea                                                                                                               
0007ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
0007ec   ffe6                                                                                                               
0007ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
0007f0   ffe6                                                                                                               
0007f2   cfee     MOVFF     0xfee,0xfe6                                                                                     
0007f4   ffe6                                                                                                               
0007f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
0007f8   ffe6                                                                                                               
0007fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0007fc   ffe6                                                                                                               
0007fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
000800   ffe6                                                                                                               
000802   cfee     MOVFF     0xfee,0xfe6                                                                                     
000804   ffe6                                                                                                               
000806   cfee     MOVFF     0xfee,0xfe6                                                                                     
000808   ffe6                                                                                                               
00080a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00080c   ffe6                                                                                                               
00080e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000810   ffe6                                                                                                               
000812   cfee     MOVFF     0xfee,0xfe6                                                                                     
000814   ffe6                                                                                                               
000816   cfee     MOVFF     0xfee,0xfe6                                                                                     
000818   ffe6                                                                                                               
00081a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00081c   ffe6                                                                                                               
00081e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000820   ffe6                                                                                                               
000822   cfee     MOVFF     0xfee,0xfe6                                                                                     
000824   ffe6                                                                                                               
000826   ec8a     CALL      0x314,0x0                                                                                       
000828   f001                                                                                                               
00082a   6e00     MOVWF     0x0,0x0                                                                                         
00082c   0e10     MOVLW     0x10                                                                                            
00082e   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000830   5000     MOVF      0x0,0x0,0x0                                                                                     
000832   0900     IORLW     0x0                                                                                             
000834   e101     BNZ       0x838                                                                                           
000836   d7d2     BRA       0x7dc                                                                                           
                                                    }                                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
000838   0100     MOVLB     0x0                     waitingMessage=FALSE;                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
00083a   6b6e     CLRF      0x6e,0x1                                                                                        
00083c   d07e     BRA       0x93a                   return;                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                // data                                                                        F:\MCP\projects\CAN\canToSerial\Source\Main.c
00083e   0e07     MOVLW     0x7                 if(count>=7)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
000840   5d73     SUBWF     0x73,0x0,0x1                                                                                    
000842   e313     BNC       0x86a                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
000844   50d9     MOVF      0xd9,0x0,0x0            cm.data[count-7]=c;                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
000846   0f0a     ADDLW     0xa                                                                                             
000848   6e00     MOVWF     0x0,0x0                                                                                         
00084a   cfda     MOVFF     0xfda,0x1                                                                                       
00084c   f001                                                                                                               
00084e   0e07     MOVLW     0x7                                                                                             
000850   5d73     SUBWF     0x73,0x0,0x1                                                                                    
000852   010f     MOVLB     0xf                                                                                             
000854   2400     ADDWF     0x0,0x0,0x0                                                                                     
000856   6ee9     MOVWF     0xe9,0x0                                                                                        
000858   0e00     MOVLW     0x0                                                                                             
00085a   2001     ADDWFC    0x1,0x0,0x0                                                                                     
00085c   6eea     MOVWF     0xea,0x0                                                                                        
00085e   0efe     MOVLW     0xfe                                                                                            
000860   cfdb     MOVFF     0xfdb,0xfef                                                                                     
000862   ffef                                                                                                               
000864   0100     MOVLB     0x0                     count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
000866   2b73     INCF      0x73,0x1,0x1                                                                                    
000868   d068     BRA       0x93a                   return;                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                // data length                                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
00086a   0e06     MOVLW     0x6                 if(count>=6)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
00086c   5d73     SUBWF     0x73,0x0,0x1                                                                                    
00086e   e308     BNC       0x880                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
000870   0efe     MOVLW     0xfe                    cm.data_length=c;                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
000872   50db     MOVF      0xdb,0x0,0x0                                                                                    
000874   6ee7     MOVWF     0xe7,0x0                                                                                        
000876   0e09     MOVLW     0x9                                                                                             
000878   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00087a   ffdb                                                                                                               
00087c   2b73     INCF      0x73,0x1,0x1            count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
00087e   d05d     BRA       0x93a                   return;                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                // remote request                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
000880   0e05     MOVLW     0x5                 if(count>=5)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
000882   5d73     SUBWF     0x73,0x0,0x1                                                                                    
000884   e308     BNC       0x896                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
000886   0efe     MOVLW     0xfe                    cm.remote_request=c;                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
000888   50db     MOVF      0xdb,0x0,0x0                                                                                    
00088a   6ee7     MOVWF     0xe7,0x0                                                                                        
00088c   0e08     MOVLW     0x8                                                                                             
00088e   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000890   ffdb                                                                                                               
000892   2b73     INCF      0x73,0x1,0x1            count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
000894   d052     BRA       0x93a                   return;                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                // extended                                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
000896   0e04     MOVLW     0x4                 if(count>=4)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
000898   5d73     SUBWF     0x73,0x0,0x1                                                                                    
00089a   e308     BNC       0x8ac                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
00089c   0efe     MOVLW     0xfe                    cm.extended=c;                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
00089e   50db     MOVF      0xdb,0x0,0x0                                                                                    
0008a0   6ee7     MOVWF     0xe7,0x0                                                                                        
0008a2   0e07     MOVLW     0x7                                                                                             
0008a4   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0008a6   ffdb                                                                                                               
0008a8   2b73     INCF      0x73,0x1,0x1            count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008aa   d047     BRA       0x93a                   return;                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                // ident                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008ac   0e00     MOVLW     0x0                 if(count>=0)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008ae   5d73     SUBWF     0x73,0x0,0x1                                                                                    
0008b0   e322     BNC       0x8f6                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008b2   0efe     MOVLW     0xfe                    cm.ident+=((DWORD)c<<(count*8));                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008b4   cfdb     MOVFF     0xfdb,0x0                                                                                       
0008b6   f000                                                                                                               
0008b8   6a01     CLRF      0x1,0x0                                                                                         
0008ba   6a02     CLRF      0x2,0x0                                                                                         
0008bc   6a03     CLRF      0x3,0x0                                                                                         
0008be   0e08     MOVLW     0x8                                                                                             
0008c0   0373     MULWF     0x73,0x1                                                                                        
0008c2   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0008c4   0b1f     ANDLW     0x1f                                                                                            
0008c6   e007     BZ        0x8d6                                                                                           
0008c8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008ca   3600     RLCF      0x0,0x1,0x0                                                                                     
0008cc   3601     RLCF      0x1,0x1,0x0                                                                                     
0008ce   3602     RLCF      0x2,0x1,0x0                                                                                     
0008d0   3603     RLCF      0x3,0x1,0x0                                                                                     
0008d2   06e8     DECF      0xe8,0x1,0x0                                                                                    
0008d4   e1f9     BNZ       0x8c8                                                                                           
0008d6   50d9     MOVF      0xd9,0x0,0x0                                                                                    
0008d8   0f03     ADDLW     0x3                                                                                             
0008da   6ee9     MOVWF     0xe9,0x0                                                                                        
0008dc   cfda     MOVFF     0xfda,0xfea                                                                                     
0008de   ffea                                                                                                               
0008e0   5000     MOVF      0x0,0x0,0x0                                                                                     
0008e2   26ee     ADDWF     0xee,0x1,0x0                                                                                    
0008e4   5001     MOVF      0x1,0x0,0x0                                                                                     
0008e6   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
0008e8   5002     MOVF      0x2,0x0,0x0                                                                                     
0008ea   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
0008ec   5003     MOVF      0x3,0x0,0x0                                                                                     
0008ee   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
0008f0   0100     MOVLB     0x0                     count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008f2   2b73     INCF      0x73,0x1,0x1                                                                                    
0008f4   d022     BRA       0x93a                   return;                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008f6   0efe     MOVLW     0xfe            if (c==UART_START_BYTE && waitingMessage==FALSE)                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008f8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0008fa   6e00     MOVWF     0x0,0x0                                                                                         
0008fc   6a01     CLRF      0x1,0x0                                                                                         
0008fe   0efd     MOVLW     0xfd                                                                                            
000900   1800     XORWF     0x0,0x0,0x0                                                                                     
000902   e101     BNZ       0x906                                                                                           
000904   5001     MOVF      0x1,0x0,0x0                                                                                     
000906   e119     BNZ       0x93a                                                                                           
000908   516e     MOVF      0x6e,0x0,0x1                                                                                    
00090a   e117     BNZ       0x93a                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
00090c   0e01     MOVLW     0x1                     waitingMessage=TRUE;                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
00090e   6f6e     MOVWF     0x6e,0x1                                                                                        
000910   ec87     CALL      0xb0e,0x0               timeout=tickGet();                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
000912   f005                                                                                                               
000914   c018     MOVFF     0x18,0x6f                                                                                       
000916   f06f                                                                                                               
000918   c019     MOVFF     0x19,0x70                                                                                       
00091a   f070                                                                                                               
00091c   c01a     MOVFF     0x1a,0x71                                                                                       
00091e   f071                                                                                                               
000920   c01b     MOVFF     0x1b,0x72                                                                                       
000922   f072                                                                                                               
000924   0100     MOVLB     0x0                     count=0;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
000926   6b73     CLRF      0x73,0x1                                                                                        
000928   0e03     MOVLW     0x3                     cm.ident=0;                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
00092a   6adb     CLRF      0xdb,0x0                                                                                        
00092c   0e04     MOVLW     0x4                                                                                             
00092e   6adb     CLRF      0xdb,0x0                                                                                        
000930   0e05     MOVLW     0x5                                                                                             
000932   6adb     CLRF      0xdb,0x0                                                                                        
000934   0e06     MOVLW     0x6                                                                                             
000936   6adb     CLRF      0xdb,0x0                                                                                        
000938   d000     BRA       0x93a                   return;                                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00093a   0e12     MOVLW     0x12           }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
00093c   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00093e   e202     BC        0x944                                                                                           
000940   6ae1     CLRF      0xe1,0x0                                                                                        
000942   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000944   6ee1     MOVWF     0xe1,0x0                                                                                        
000946   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000948   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00094a   ffd9                                                                                                               
00094c   0012     RETURN    0x0                                                                                             
                                           #endif                                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            *                  Ticker service                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            *********************************************************************           F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canToSerial/Source/Tick.c $ F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            * Last changed: $LastChangedDate: 2006-11-14 21:22:17 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            * Revision:     $Revision: 97 $                                                    F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #include <Compiler.h>                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #else                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #endif                                                                           F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           TICK TickCount = 0;  // 10ms/unit                                                 F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Function: TickInit                                                             F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000afa   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000afc   6ed6     MOVWF     0xd6,0x0                                                                                        
000afe   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b00   6ed7     MOVWF     0xd7,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               // 16-BIT, internal timer, PSA set to 1:256                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b02   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b04   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b06   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b08   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b0a   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b0c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Function: TickGet                                                              F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Output: Current tick value is given, 1 tick represents approximately 10ms      F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           TICK tickGet(void)                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b0e   c074     MOVFF     0x74,0x18          return TickCount;                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b10   f018                                                                                                               
000b12   c075     MOVFF     0x75,0x19                                                                                       
000b14   f019                                                                                                               
000b16   c076     MOVFF     0x76,0x1a                                                                                       
000b18   f01a                                                                                                               
000b1a   c077     MOVFF     0x77,0x1b                                                                                       
000b1c   f01b                                                                                                               
000b1e   d000     BRA       0xb20                                                                                           
000b20   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           /*                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Function: tickUpdate                                                           F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Affects: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           *    Depends: none                                                                  F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           */                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           void tickUpdate(void)                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b22   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b24   d00b     BRA       0xb3c                                                                                           
                                               {                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b26   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b28   6ed7     MOVWF     0xd7,0x0                                                                                        
000b2a   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b2c   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b2e   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b30   2b74     INCF      0x74,0x1,0x1                                                                                    
000b32   0e00     MOVLW     0x0                                                                                             
000b34   2375     ADDWFC    0x75,0x1,0x1                                                                                    
000b36   2376     ADDWFC    0x76,0x1,0x1                                                                                    
000b38   2377     ADDWFC    0x77,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b3a   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b3c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c